From 12071c97169c64b25e515ebae60b5969bc78dcf6 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Wed, 18 May 2022 17:10:24 +0000 Subject: [PATCH] feat: Add SavedQuery CURD support (#1211) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - [ ] Regenerate this pull request now. feat: Add tags support feat!:*Add RelatedAsset and deprecate RelatedAssets for relationship GA *The previous representation of the relationship feature is deprecated and unimplemented. The RelatedAsset message represents the new stable format. PiperOrigin-RevId: 449306805 Source-Link: https://github.com/googleapis/googleapis/commit/3d7bd9d4a8772e0c7e1d39a2763e1914bfb5963d Source-Link: https://github.com/googleapis/googleapis-gen/commit/71a93d05d6076271d04b7592f7fad0d3f0c7a040 Copy-Tag: eyJwIjoiLmdpdGh1Yi8uT3dsQm90LnlhbWwiLCJoIjoiNzFhOTNkMDVkNjA3NjI3MWQwNGI3NTkyZjdmYWQwZDNmMGM3YTA0MCJ9 --- .../cloud/asset/v1/AssetServiceClient.java | 916 +++- .../cloud/asset/v1/AssetServiceSettings.java | 71 + .../google/cloud/asset/v1/gapic_metadata.json | 18 + .../cloud/asset/v1/stub/AssetServiceStub.java | 42 + .../v1/stub/AssetServiceStubSettings.java | 227 +- .../asset/v1/stub/GrpcAssetServiceStub.java | 211 + .../asset/v1/AssetServiceClientTest.java | 652 +++ .../cloud/asset/v1/MockAssetServiceImpl.java | 127 + .../cloud/asset/v1/AssetServiceGrpc.java | 801 +++- .../AnalyzeIamPolicyLongrunningRequest.java | 308 +- ...eIamPolicyLongrunningRequestOrBuilder.java | 58 +- .../AnalyzeIamPolicyLongrunningResponse.java | 6 +- .../asset/v1/AnalyzeIamPolicyRequest.java | 308 +- .../v1/AnalyzeIamPolicyRequestOrBuilder.java | 58 +- .../asset/v1/AnalyzeIamPolicyResponse.java | 203 +- .../v1/AnalyzeIamPolicyResponseOrBuilder.java | 8 +- .../java/com/google/cloud/asset/v1/Asset.java | 404 +- .../google/cloud/asset/v1/AssetOrBuilder.java | 69 +- .../com/google/cloud/asset/v1/AssetProto.java | 283 +- .../cloud/asset/v1/AssetServiceProto.java | 747 ++- .../BatchGetEffectiveIamPoliciesRequest.java | 1068 +++++ ...tEffectiveIamPoliciesRequestOrBuilder.java | 143 + .../BatchGetEffectiveIamPoliciesResponse.java | 4152 +++++++++++++++++ ...EffectiveIamPoliciesResponseOrBuilder.java | 118 + .../cloud/asset/v1/BigQueryDestination.java | 42 +- .../v1/BigQueryDestinationOrBuilder.java | 12 +- .../cloud/asset/v1/CreateFeedRequest.java | 60 +- .../asset/v1/CreateFeedRequestOrBuilder.java | 15 +- .../asset/v1/CreateSavedQueryRequest.java | 1214 +++++ .../v1/CreateSavedQueryRequestOrBuilder.java | 143 + .../asset/v1/DeleteSavedQueryRequest.java | 680 +++ .../v1/DeleteSavedQueryRequestOrBuilder.java | 62 + .../cloud/asset/v1/ExportAssetsRequest.java | 36 +- .../v1/ExportAssetsRequestOrBuilder.java | 9 +- .../cloud/asset/v1/ExportAssetsResponse.java | 12 +- .../java/com/google/cloud/asset/v1/Feed.java | 130 +- .../google/cloud/asset/v1/FeedOrBuilder.java | 40 +- .../com/google/cloud/asset/v1/FolderName.java | 168 + .../cloud/asset/v1/GetSavedQueryRequest.java | 671 +++ .../v1/GetSavedQueryRequestOrBuilder.java | 60 + .../v1/IamPolicyAnalysisOutputConfig.java | 180 +- .../asset/v1/IamPolicyAnalysisQuery.java | 390 +- .../v1/IamPolicyAnalysisQueryOrBuilder.java | 8 +- .../asset/v1/IamPolicyAnalysisResult.java | 778 +-- .../v1/IamPolicyAnalysisResultOrBuilder.java | 58 +- .../cloud/asset/v1/ListAssetsRequest.java | 63 +- .../asset/v1/ListAssetsRequestOrBuilder.java | 18 +- .../asset/v1/ListSavedQueriesRequest.java | 1182 +++++ .../v1/ListSavedQueriesRequestOrBuilder.java | 140 + .../asset/v1/ListSavedQueriesResponse.java | 1138 +++++ .../v1/ListSavedQueriesResponseOrBuilder.java | 104 + .../cloud/asset/v1/OrganizationName.java | 168 + .../google/cloud/asset/v1/OutputConfig.java | 24 +- .../cloud/asset/v1/OutputConfigOrBuilder.java | 6 +- .../google/cloud/asset/v1/ProjectName.java | 90 +- .../google/cloud/asset/v1/RelatedAsset.java | 190 +- .../cloud/asset/v1/RelatedAssetOrBuilder.java | 27 + .../google/cloud/asset/v1/RelatedAssets.java | 7 + .../asset/v1/RelatedAssetsOrBuilder.java | 1 + .../asset/v1/RelationshipAttributes.java | 7 + .../v1/RelationshipAttributesOrBuilder.java | 1 + .../cloud/asset/v1/ResourceSearchResult.java | 1322 +++++- .../v1/ResourceSearchResultOrBuilder.java | 303 +- .../com/google/cloud/asset/v1/SavedQuery.java | 3375 ++++++++++++++ .../google/cloud/asset/v1/SavedQueryName.java | 378 ++ .../cloud/asset/v1/SavedQueryOrBuilder.java | 318 ++ .../asset/v1/SearchAllIamPoliciesRequest.java | 283 +- .../SearchAllIamPoliciesRequestOrBuilder.java | 81 +- .../asset/v1/SearchAllResourcesRequest.java | 353 +- .../SearchAllResourcesRequestOrBuilder.java | 96 +- .../cloud/asset/v1/UpdateFeedRequest.java | 48 +- .../asset/v1/UpdateFeedRequestOrBuilder.java | 12 +- .../asset/v1/UpdateSavedQueryRequest.java | 1103 +++++ .../v1/UpdateSavedQueryRequestOrBuilder.java | 119 + .../google/cloud/asset/v1/asset_service.proto | 715 ++- .../proto/google/cloud/asset/v1/assets.proto | 142 +- 76 files changed, 25438 insertions(+), 2142 deletions(-) create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequest.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequestOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponse.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponseOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequest.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequestOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequest.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequestOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FolderName.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequest.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequestOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequest.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequestOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponse.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponseOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OrganizationName.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQuery.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryName.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryOrBuilder.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequest.java create mode 100644 java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequestOrBuilder.java diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceClient.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceClient.java index 501a2c124db..dd589868aaa 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceClient.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceClient.java @@ -34,6 +34,7 @@ import com.google.longrunning.Operation; import com.google.longrunning.OperationsClient; import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; import java.io.IOException; import java.util.List; import java.util.concurrent.TimeUnit; @@ -180,8 +181,8 @@ public final OperationsClient getOperationsClient() { * Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. * For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line * represents a [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for - * BigQuery table destinations, the output table stores the fields in asset proto as columns. This - * API implements the [google.longrunning.Operation][google.longrunning.Operation] API , which + * BigQuery table destinations, the output table stores the fields in asset Protobuf as columns. + * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API, which * allows you to keep track of the export. We recommend intervals of at least 2 seconds with * exponential retry to poll the export operation result. For regular-size resource parent, the * export operation usually finishes within 5 minutes. @@ -218,8 +219,8 @@ public final OperationFuture exportAs * Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. * For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line * represents a [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for - * BigQuery table destinations, the output table stores the fields in asset proto as columns. This - * API implements the [google.longrunning.Operation][google.longrunning.Operation] API , which + * BigQuery table destinations, the output table stores the fields in asset Protobuf as columns. + * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API, which * allows you to keep track of the export. We recommend intervals of at least 2 seconds with * exponential retry to poll the export operation result. For regular-size resource parent, the * export operation usually finishes within 5 minutes. @@ -256,8 +257,8 @@ public final OperationFuture exportAs * Exports assets with time and resource types to a given Cloud Storage location/BigQuery table. * For Cloud Storage location destinations, the output format is newline-delimited JSON. Each line * represents a [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for - * BigQuery table destinations, the output table stores the fields in asset proto as columns. This - * API implements the [google.longrunning.Operation][google.longrunning.Operation] API , which + * BigQuery table destinations, the output table stores the fields in asset Protobuf as columns. + * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API, which * allows you to keep track of the export. We recommend intervals of at least 2 seconds with * exponential retry to poll the export operation result. For regular-size resource parent, the * export operation usually finishes within 5 minutes. @@ -304,10 +305,10 @@ public final UnaryCallable exportAssetsCallable( * } * } * - * @param parent Required. Name of the organization or project the assets belong to. Format: - * "organizations/[organization-number]" (such as "organizations/123"), - * "projects/[project-id]" (such as "projects/my-project-id"), or "projects/[project-number]" - * (such as "projects/12345"). + * @param parent Required. Name of the organization, folder, or project the assets belong to. + * Format: "organizations/[organization-number]" (such as "organizations/123"), + * "projects/[project-id]" (such as "projects/my-project-id"), "projects/[project-number]" + * (such as "projects/12345"), or "folders/[folder-number]" (such as "folders/12345"). * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListAssetsPagedResponse listAssets(ResourceName parent) { @@ -333,10 +334,10 @@ public final ListAssetsPagedResponse listAssets(ResourceName parent) { * } * } * - * @param parent Required. Name of the organization or project the assets belong to. Format: - * "organizations/[organization-number]" (such as "organizations/123"), - * "projects/[project-id]" (such as "projects/my-project-id"), or "projects/[project-number]" - * (such as "projects/12345"). + * @param parent Required. Name of the organization, folder, or project the assets belong to. + * Format: "organizations/[organization-number]" (such as "organizations/123"), + * "projects/[project-id]" (such as "projects/my-project-id"), "projects/[project-number]" + * (such as "projects/12345"), or "folders/[folder-number]" (such as "folders/12345"). * @throws com.google.api.gax.rpc.ApiException if the remote call fails */ public final ListAssetsPagedResponse listAssets(String parent) { @@ -1191,7 +1192,7 @@ public final SearchAllResourcesPagedResponse searchAllResources( * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the IAM policies within * the specified `scope`. Note that the query string is compared against each Cloud IAM policy - * binding, including its members, roles, and Cloud IAM conditions. The returned Cloud IAM + * binding, including its principals, roles, and Cloud IAM conditions. The returned Cloud IAM * policies will only contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy * doc](https://cloud.google.com/iam/docs/policies#structure). @@ -1221,7 +1222,8 @@ public final SearchAllResourcesPagedResponse searchAllResources( * set on resources "instance1" or "instance2" and also specify user "amy". *
  • `roles:roles/compute.admin` to find IAM policy bindings that specify the Compute * Admin role. - *
  • `memberTypes:user` to find IAM policy bindings that contain the "user" member type. + *
  • `memberTypes:user` to find IAM policy bindings that contain the principal type + * "user". * * * @throws com.google.api.gax.rpc.ApiException if the remote call fails @@ -1358,6 +1360,7 @@ public final SearchAllIamPoliciesPagedResponse searchAllIamPolicies( * AnalyzeIamPolicyRequest request = * AnalyzeIamPolicyRequest.newBuilder() * .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + * .setSavedAnalysisQuery("savedAnalysisQuery376058885") * .setExecutionTimeout(Duration.newBuilder().build()) * .build(); * AnalyzeIamPolicyResponse response = assetServiceClient.analyzeIamPolicy(request); @@ -1384,6 +1387,7 @@ public final AnalyzeIamPolicyResponse analyzeIamPolicy(AnalyzeIamPolicyRequest r * AnalyzeIamPolicyRequest request = * AnalyzeIamPolicyRequest.newBuilder() * .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + * .setSavedAnalysisQuery("savedAnalysisQuery376058885") * .setExecutionTimeout(Duration.newBuilder().build()) * .build(); * ApiFuture future = @@ -1418,6 +1422,7 @@ public final AnalyzeIamPolicyResponse analyzeIamPolicy(AnalyzeIamPolicyRequest r * AnalyzeIamPolicyLongrunningRequest request = * AnalyzeIamPolicyLongrunningRequest.newBuilder() * .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + * .setSavedAnalysisQuery("savedAnalysisQuery376058885") * .setOutputConfig(IamPolicyAnalysisOutputConfig.newBuilder().build()) * .build(); * AnalyzeIamPolicyLongrunningResponse response = @@ -1454,6 +1459,7 @@ public final AnalyzeIamPolicyResponse analyzeIamPolicy(AnalyzeIamPolicyRequest r * AnalyzeIamPolicyLongrunningRequest request = * AnalyzeIamPolicyLongrunningRequest.newBuilder() * .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + * .setSavedAnalysisQuery("savedAnalysisQuery376058885") * .setOutputConfig(IamPolicyAnalysisOutputConfig.newBuilder().build()) * .build(); * OperationFuture @@ -1492,6 +1498,7 @@ public final AnalyzeIamPolicyResponse analyzeIamPolicy(AnalyzeIamPolicyRequest r * AnalyzeIamPolicyLongrunningRequest request = * AnalyzeIamPolicyLongrunningRequest.newBuilder() * .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + * .setSavedAnalysisQuery("savedAnalysisQuery376058885") * .setOutputConfig(IamPolicyAnalysisOutputConfig.newBuilder().build()) * .build(); * ApiFuture future = @@ -1564,6 +1571,806 @@ public final UnaryCallable analyzeMoveC return stub.analyzeMoveCallable(); } + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a saved query in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   FolderName parent = FolderName.of("[FOLDER]");
    +   *   SavedQuery savedQuery = SavedQuery.newBuilder().build();
    +   *   String savedQueryId = "savedQueryId378086268";
    +   *   SavedQuery response = assetServiceClient.createSavedQuery(parent, savedQuery, savedQueryId);
    +   * }
    +   * }
    + * + * @param parent Required. The name of the project/folder/organization where this saved_query + * should be created in. It can only be an organization number (such as "organizations/123"), + * a folder number (such as "folders/123"), a project ID (such as "projects/my-project-id")", + * or a project number (such as "projects/12345"). + * @param savedQuery Required. The saved_query details. The `name` field must be empty as it will + * be generated based on the parent and saved_query_id. + * @param savedQueryId Required. The ID to use for the saved query, which must be unique in the + * specified parent. It will become the final component of the saved query's resource name. + *

    This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. + *

    Notice that this field is required in the saved query creation, and the `name` field of + * the `saved_query` will be ignored. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery createSavedQuery( + FolderName parent, SavedQuery savedQuery, String savedQueryId) { + CreateSavedQueryRequest request = + CreateSavedQueryRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setSavedQuery(savedQuery) + .setSavedQueryId(savedQueryId) + .build(); + return createSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a saved query in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
    +   *   SavedQuery savedQuery = SavedQuery.newBuilder().build();
    +   *   String savedQueryId = "savedQueryId378086268";
    +   *   SavedQuery response = assetServiceClient.createSavedQuery(parent, savedQuery, savedQueryId);
    +   * }
    +   * }
    + * + * @param parent Required. The name of the project/folder/organization where this saved_query + * should be created in. It can only be an organization number (such as "organizations/123"), + * a folder number (such as "folders/123"), a project ID (such as "projects/my-project-id")", + * or a project number (such as "projects/12345"). + * @param savedQuery Required. The saved_query details. The `name` field must be empty as it will + * be generated based on the parent and saved_query_id. + * @param savedQueryId Required. The ID to use for the saved query, which must be unique in the + * specified parent. It will become the final component of the saved query's resource name. + *

    This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. + *

    Notice that this field is required in the saved query creation, and the `name` field of + * the `saved_query` will be ignored. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery createSavedQuery( + OrganizationName parent, SavedQuery savedQuery, String savedQueryId) { + CreateSavedQueryRequest request = + CreateSavedQueryRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setSavedQuery(savedQuery) + .setSavedQueryId(savedQueryId) + .build(); + return createSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a saved query in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   ProjectName parent = ProjectName.of("[PROJECT]");
    +   *   SavedQuery savedQuery = SavedQuery.newBuilder().build();
    +   *   String savedQueryId = "savedQueryId378086268";
    +   *   SavedQuery response = assetServiceClient.createSavedQuery(parent, savedQuery, savedQueryId);
    +   * }
    +   * }
    + * + * @param parent Required. The name of the project/folder/organization where this saved_query + * should be created in. It can only be an organization number (such as "organizations/123"), + * a folder number (such as "folders/123"), a project ID (such as "projects/my-project-id")", + * or a project number (such as "projects/12345"). + * @param savedQuery Required. The saved_query details. The `name` field must be empty as it will + * be generated based on the parent and saved_query_id. + * @param savedQueryId Required. The ID to use for the saved query, which must be unique in the + * specified parent. It will become the final component of the saved query's resource name. + *

    This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. + *

    Notice that this field is required in the saved query creation, and the `name` field of + * the `saved_query` will be ignored. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery createSavedQuery( + ProjectName parent, SavedQuery savedQuery, String savedQueryId) { + CreateSavedQueryRequest request = + CreateSavedQueryRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .setSavedQuery(savedQuery) + .setSavedQueryId(savedQueryId) + .build(); + return createSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a saved query in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   String parent = ProjectName.of("[PROJECT]").toString();
    +   *   SavedQuery savedQuery = SavedQuery.newBuilder().build();
    +   *   String savedQueryId = "savedQueryId378086268";
    +   *   SavedQuery response = assetServiceClient.createSavedQuery(parent, savedQuery, savedQueryId);
    +   * }
    +   * }
    + * + * @param parent Required. The name of the project/folder/organization where this saved_query + * should be created in. It can only be an organization number (such as "organizations/123"), + * a folder number (such as "folders/123"), a project ID (such as "projects/my-project-id")", + * or a project number (such as "projects/12345"). + * @param savedQuery Required. The saved_query details. The `name` field must be empty as it will + * be generated based on the parent and saved_query_id. + * @param savedQueryId Required. The ID to use for the saved query, which must be unique in the + * specified parent. It will become the final component of the saved query's resource name. + *

    This value should be 4-63 characters, and valid characters are /[a-z][0-9]-/. + *

    Notice that this field is required in the saved query creation, and the `name` field of + * the `saved_query` will be ignored. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery createSavedQuery( + String parent, SavedQuery savedQuery, String savedQueryId) { + CreateSavedQueryRequest request = + CreateSavedQueryRequest.newBuilder() + .setParent(parent) + .setSavedQuery(savedQuery) + .setSavedQueryId(savedQueryId) + .build(); + return createSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a saved query in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   CreateSavedQueryRequest request =
    +   *       CreateSavedQueryRequest.newBuilder()
    +   *           .setParent(ProjectName.of("[PROJECT]").toString())
    +   *           .setSavedQuery(SavedQuery.newBuilder().build())
    +   *           .setSavedQueryId("savedQueryId378086268")
    +   *           .build();
    +   *   SavedQuery response = assetServiceClient.createSavedQuery(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 SavedQuery createSavedQuery(CreateSavedQueryRequest request) { + return createSavedQueryCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Creates a saved query in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   CreateSavedQueryRequest request =
    +   *       CreateSavedQueryRequest.newBuilder()
    +   *           .setParent(ProjectName.of("[PROJECT]").toString())
    +   *           .setSavedQuery(SavedQuery.newBuilder().build())
    +   *           .setSavedQueryId("savedQueryId378086268")
    +   *           .build();
    +   *   ApiFuture future =
    +   *       assetServiceClient.createSavedQueryCallable().futureCall(request);
    +   *   // Do something.
    +   *   SavedQuery response = future.get();
    +   * }
    +   * }
    + */ + public final UnaryCallable createSavedQueryCallable() { + return stub.createSavedQueryCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details about a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   SavedQueryName name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]");
    +   *   SavedQuery response = assetServiceClient.getSavedQuery(name);
    +   * }
    +   * }
    + * + * @param name Required. The name of the saved query and it must be in the format of: + *
      + *
    • projects/project_number/savedQueries/saved_query_id + *
    • folders/folder_number/savedQueries/saved_query_id + *
    • organizations/organization_number/savedQueries/saved_query_id + *
    + * + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery getSavedQuery(SavedQueryName name) { + GetSavedQueryRequest request = + GetSavedQueryRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + return getSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details about a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   String name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString();
    +   *   SavedQuery response = assetServiceClient.getSavedQuery(name);
    +   * }
    +   * }
    + * + * @param name Required. The name of the saved query and it must be in the format of: + *
      + *
    • projects/project_number/savedQueries/saved_query_id + *
    • folders/folder_number/savedQueries/saved_query_id + *
    • organizations/organization_number/savedQueries/saved_query_id + *
    + * + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery getSavedQuery(String name) { + GetSavedQueryRequest request = GetSavedQueryRequest.newBuilder().setName(name).build(); + return getSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details about a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   GetSavedQueryRequest request =
    +   *       GetSavedQueryRequest.newBuilder()
    +   *           .setName(
    +   *               SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString())
    +   *           .build();
    +   *   SavedQuery response = assetServiceClient.getSavedQuery(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 SavedQuery getSavedQuery(GetSavedQueryRequest request) { + return getSavedQueryCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets details about a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   GetSavedQueryRequest request =
    +   *       GetSavedQueryRequest.newBuilder()
    +   *           .setName(
    +   *               SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString())
    +   *           .build();
    +   *   ApiFuture future = assetServiceClient.getSavedQueryCallable().futureCall(request);
    +   *   // Do something.
    +   *   SavedQuery response = future.get();
    +   * }
    +   * }
    + */ + public final UnaryCallable getSavedQueryCallable() { + return stub.getSavedQueryCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   FolderName parent = FolderName.of("[FOLDER]");
    +   *   for (SavedQuery element : assetServiceClient.listSavedQueries(parent).iterateAll()) {
    +   *     // doThingsWith(element);
    +   *   }
    +   * }
    +   * }
    + * + * @param parent Required. The parent project/folder/organization whose savedQueries are to be + * listed. It can only be using project/folder/organization number (such as "folders/12345")", + * or a project ID (such as "projects/my-project-id"). + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSavedQueriesPagedResponse listSavedQueries(FolderName parent) { + ListSavedQueriesRequest request = + ListSavedQueriesRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listSavedQueries(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   OrganizationName parent = OrganizationName.of("[ORGANIZATION]");
    +   *   for (SavedQuery element : assetServiceClient.listSavedQueries(parent).iterateAll()) {
    +   *     // doThingsWith(element);
    +   *   }
    +   * }
    +   * }
    + * + * @param parent Required. The parent project/folder/organization whose savedQueries are to be + * listed. It can only be using project/folder/organization number (such as "folders/12345")", + * or a project ID (such as "projects/my-project-id"). + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSavedQueriesPagedResponse listSavedQueries(OrganizationName parent) { + ListSavedQueriesRequest request = + ListSavedQueriesRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listSavedQueries(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   ProjectName parent = ProjectName.of("[PROJECT]");
    +   *   for (SavedQuery element : assetServiceClient.listSavedQueries(parent).iterateAll()) {
    +   *     // doThingsWith(element);
    +   *   }
    +   * }
    +   * }
    + * + * @param parent Required. The parent project/folder/organization whose savedQueries are to be + * listed. It can only be using project/folder/organization number (such as "folders/12345")", + * or a project ID (such as "projects/my-project-id"). + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSavedQueriesPagedResponse listSavedQueries(ProjectName parent) { + ListSavedQueriesRequest request = + ListSavedQueriesRequest.newBuilder() + .setParent(parent == null ? null : parent.toString()) + .build(); + return listSavedQueries(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   String parent = ProjectName.of("[PROJECT]").toString();
    +   *   for (SavedQuery element : assetServiceClient.listSavedQueries(parent).iterateAll()) {
    +   *     // doThingsWith(element);
    +   *   }
    +   * }
    +   * }
    + * + * @param parent Required. The parent project/folder/organization whose savedQueries are to be + * listed. It can only be using project/folder/organization number (such as "folders/12345")", + * or a project ID (such as "projects/my-project-id"). + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSavedQueriesPagedResponse listSavedQueries(String parent) { + ListSavedQueriesRequest request = + ListSavedQueriesRequest.newBuilder().setParent(parent).build(); + return listSavedQueries(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   ListSavedQueriesRequest request =
    +   *       ListSavedQueriesRequest.newBuilder()
    +   *           .setParent(ProjectName.of("[PROJECT]").toString())
    +   *           .setFilter("filter-1274492040")
    +   *           .setPageSize(883849137)
    +   *           .setPageToken("pageToken873572522")
    +   *           .build();
    +   *   for (SavedQuery element : assetServiceClient.listSavedQueries(request).iterateAll()) {
    +   *     // doThingsWith(element);
    +   *   }
    +   * }
    +   * }
    + * + * @param request The request object containing all of the parameters for the API call. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final ListSavedQueriesPagedResponse listSavedQueries(ListSavedQueriesRequest request) { + return listSavedQueriesPagedCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   ListSavedQueriesRequest request =
    +   *       ListSavedQueriesRequest.newBuilder()
    +   *           .setParent(ProjectName.of("[PROJECT]").toString())
    +   *           .setFilter("filter-1274492040")
    +   *           .setPageSize(883849137)
    +   *           .setPageToken("pageToken873572522")
    +   *           .build();
    +   *   ApiFuture future =
    +   *       assetServiceClient.listSavedQueriesPagedCallable().futureCall(request);
    +   *   // Do something.
    +   *   for (SavedQuery element : future.get().iterateAll()) {
    +   *     // doThingsWith(element);
    +   *   }
    +   * }
    +   * }
    + */ + public final UnaryCallable + listSavedQueriesPagedCallable() { + return stub.listSavedQueriesPagedCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Lists all saved queries in a parent project/folder/organization. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   ListSavedQueriesRequest request =
    +   *       ListSavedQueriesRequest.newBuilder()
    +   *           .setParent(ProjectName.of("[PROJECT]").toString())
    +   *           .setFilter("filter-1274492040")
    +   *           .setPageSize(883849137)
    +   *           .setPageToken("pageToken873572522")
    +   *           .build();
    +   *   while (true) {
    +   *     ListSavedQueriesResponse response =
    +   *         assetServiceClient.listSavedQueriesCallable().call(request);
    +   *     for (SavedQuery element : response.getResponsesList()) {
    +   *       // doThingsWith(element);
    +   *     }
    +   *     String nextPageToken = response.getNextPageToken();
    +   *     if (!Strings.isNullOrEmpty(nextPageToken)) {
    +   *       request = request.toBuilder().setPageToken(nextPageToken).build();
    +   *     } else {
    +   *       break;
    +   *     }
    +   *   }
    +   * }
    +   * }
    + */ + public final UnaryCallable + listSavedQueriesCallable() { + return stub.listSavedQueriesCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   SavedQuery savedQuery = SavedQuery.newBuilder().build();
    +   *   FieldMask updateMask = FieldMask.newBuilder().build();
    +   *   SavedQuery response = assetServiceClient.updateSavedQuery(savedQuery, updateMask);
    +   * }
    +   * }
    + * + * @param savedQuery Required. The saved query to update. + *

    The saved query's `name` field is used to identify the one to update, which has format + * as below: + *

      + *
    • projects/project_number/savedQueries/saved_query_id + *
    • folders/folder_number/savedQueries/saved_query_id + *
    • organizations/organization_number/savedQueries/saved_query_id + *
    + * + * @param updateMask Required. The list of fields to update. + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final SavedQuery updateSavedQuery(SavedQuery savedQuery, FieldMask updateMask) { + UpdateSavedQueryRequest request = + UpdateSavedQueryRequest.newBuilder() + .setSavedQuery(savedQuery) + .setUpdateMask(updateMask) + .build(); + return updateSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   UpdateSavedQueryRequest request =
    +   *       UpdateSavedQueryRequest.newBuilder()
    +   *           .setSavedQuery(SavedQuery.newBuilder().build())
    +   *           .setUpdateMask(FieldMask.newBuilder().build())
    +   *           .build();
    +   *   SavedQuery response = assetServiceClient.updateSavedQuery(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 SavedQuery updateSavedQuery(UpdateSavedQueryRequest request) { + return updateSavedQueryCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Updates a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   UpdateSavedQueryRequest request =
    +   *       UpdateSavedQueryRequest.newBuilder()
    +   *           .setSavedQuery(SavedQuery.newBuilder().build())
    +   *           .setUpdateMask(FieldMask.newBuilder().build())
    +   *           .build();
    +   *   ApiFuture future =
    +   *       assetServiceClient.updateSavedQueryCallable().futureCall(request);
    +   *   // Do something.
    +   *   SavedQuery response = future.get();
    +   * }
    +   * }
    + */ + public final UnaryCallable updateSavedQueryCallable() { + return stub.updateSavedQueryCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   SavedQueryName name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]");
    +   *   assetServiceClient.deleteSavedQuery(name);
    +   * }
    +   * }
    + * + * @param name Required. The name of the saved query to delete. It must be in the format of: + *
      + *
    • projects/project_number/savedQueries/saved_query_id + *
    • folders/folder_number/savedQueries/saved_query_id + *
    • organizations/organization_number/savedQueries/saved_query_id + *
    + * + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteSavedQuery(SavedQueryName name) { + DeleteSavedQueryRequest request = + DeleteSavedQueryRequest.newBuilder().setName(name == null ? null : name.toString()).build(); + deleteSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   String name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString();
    +   *   assetServiceClient.deleteSavedQuery(name);
    +   * }
    +   * }
    + * + * @param name Required. The name of the saved query to delete. It must be in the format of: + *
      + *
    • projects/project_number/savedQueries/saved_query_id + *
    • folders/folder_number/savedQueries/saved_query_id + *
    • organizations/organization_number/savedQueries/saved_query_id + *
    + * + * @throws com.google.api.gax.rpc.ApiException if the remote call fails + */ + public final void deleteSavedQuery(String name) { + DeleteSavedQueryRequest request = DeleteSavedQueryRequest.newBuilder().setName(name).build(); + deleteSavedQuery(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   DeleteSavedQueryRequest request =
    +   *       DeleteSavedQueryRequest.newBuilder()
    +   *           .setName(
    +   *               SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString())
    +   *           .build();
    +   *   assetServiceClient.deleteSavedQuery(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 void deleteSavedQuery(DeleteSavedQueryRequest request) { + deleteSavedQueryCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Deletes a saved query. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   DeleteSavedQueryRequest request =
    +   *       DeleteSavedQueryRequest.newBuilder()
    +   *           .setName(
    +   *               SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString())
    +   *           .build();
    +   *   ApiFuture future = assetServiceClient.deleteSavedQueryCallable().futureCall(request);
    +   *   // Do something.
    +   *   future.get();
    +   * }
    +   * }
    + */ + public final UnaryCallable deleteSavedQueryCallable() { + return stub.deleteSavedQueryCallable(); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets effective IAM policies for a batch of resources. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   BatchGetEffectiveIamPoliciesRequest request =
    +   *       BatchGetEffectiveIamPoliciesRequest.newBuilder()
    +   *           .setScope(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString())
    +   *           .addAllNames(new ArrayList())
    +   *           .build();
    +   *   BatchGetEffectiveIamPoliciesResponse response =
    +   *       assetServiceClient.batchGetEffectiveIamPolicies(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 BatchGetEffectiveIamPoliciesResponse batchGetEffectiveIamPolicies( + BatchGetEffectiveIamPoliciesRequest request) { + return batchGetEffectiveIamPoliciesCallable().call(request); + } + + // AUTO-GENERATED DOCUMENTATION AND METHOD. + /** + * Gets effective IAM policies for a batch of resources. + * + *

    Sample code: + * + *

    {@code
    +   * // This snippet has been automatically generated for illustrative purposes only.
    +   * // It may require modifications to work in your environment.
    +   * try (AssetServiceClient assetServiceClient = AssetServiceClient.create()) {
    +   *   BatchGetEffectiveIamPoliciesRequest request =
    +   *       BatchGetEffectiveIamPoliciesRequest.newBuilder()
    +   *           .setScope(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString())
    +   *           .addAllNames(new ArrayList())
    +   *           .build();
    +   *   ApiFuture future =
    +   *       assetServiceClient.batchGetEffectiveIamPoliciesCallable().futureCall(request);
    +   *   // Do something.
    +   *   BatchGetEffectiveIamPoliciesResponse response = future.get();
    +   * }
    +   * }
    + */ + public final UnaryCallable< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesCallable() { + return stub.batchGetEffectiveIamPoliciesCallable(); + } + @Override public final void close() { stub.close(); @@ -1838,4 +2645,81 @@ protected SearchAllIamPoliciesFixedSizeCollection createCollection( return new SearchAllIamPoliciesFixedSizeCollection(pages, collectionSize); } } + + public static class ListSavedQueriesPagedResponse + extends AbstractPagedListResponse< + ListSavedQueriesRequest, + ListSavedQueriesResponse, + SavedQuery, + ListSavedQueriesPage, + ListSavedQueriesFixedSizeCollection> { + + public static ApiFuture createAsync( + PageContext context, + ApiFuture futureResponse) { + ApiFuture futurePage = + ListSavedQueriesPage.createEmptyPage().createPageAsync(context, futureResponse); + return ApiFutures.transform( + futurePage, + input -> new ListSavedQueriesPagedResponse(input), + MoreExecutors.directExecutor()); + } + + private ListSavedQueriesPagedResponse(ListSavedQueriesPage page) { + super(page, ListSavedQueriesFixedSizeCollection.createEmptyCollection()); + } + } + + public static class ListSavedQueriesPage + extends AbstractPage< + ListSavedQueriesRequest, ListSavedQueriesResponse, SavedQuery, ListSavedQueriesPage> { + + private ListSavedQueriesPage( + PageContext context, + ListSavedQueriesResponse response) { + super(context, response); + } + + private static ListSavedQueriesPage createEmptyPage() { + return new ListSavedQueriesPage(null, null); + } + + @Override + protected ListSavedQueriesPage createPage( + PageContext context, + ListSavedQueriesResponse response) { + return new ListSavedQueriesPage(context, response); + } + + @Override + public ApiFuture createPageAsync( + PageContext context, + ApiFuture futureResponse) { + return super.createPageAsync(context, futureResponse); + } + } + + public static class ListSavedQueriesFixedSizeCollection + extends AbstractFixedSizeCollection< + ListSavedQueriesRequest, + ListSavedQueriesResponse, + SavedQuery, + ListSavedQueriesPage, + ListSavedQueriesFixedSizeCollection> { + + private ListSavedQueriesFixedSizeCollection( + List pages, int collectionSize) { + super(pages, collectionSize); + } + + private static ListSavedQueriesFixedSizeCollection createEmptyCollection() { + return new ListSavedQueriesFixedSizeCollection(null, 0); + } + + @Override + protected ListSavedQueriesFixedSizeCollection createCollection( + List pages, int collectionSize) { + return new ListSavedQueriesFixedSizeCollection(pages, collectionSize); + } + } } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceSettings.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceSettings.java index 01928ff08f3..7e1e9518e67 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceSettings.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/AssetServiceSettings.java @@ -17,6 +17,7 @@ package com.google.cloud.asset.v1; import static com.google.cloud.asset.v1.AssetServiceClient.ListAssetsPagedResponse; +import static com.google.cloud.asset.v1.AssetServiceClient.ListSavedQueriesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllIamPoliciesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllResourcesPagedResponse; @@ -166,6 +167,40 @@ public UnaryCallSettings analyzeMoveSet return ((AssetServiceStubSettings) getStubSettings()).analyzeMoveSettings(); } + /** Returns the object with the settings used for calls to createSavedQuery. */ + public UnaryCallSettings createSavedQuerySettings() { + return ((AssetServiceStubSettings) getStubSettings()).createSavedQuerySettings(); + } + + /** Returns the object with the settings used for calls to getSavedQuery. */ + public UnaryCallSettings getSavedQuerySettings() { + return ((AssetServiceStubSettings) getStubSettings()).getSavedQuerySettings(); + } + + /** Returns the object with the settings used for calls to listSavedQueries. */ + public PagedCallSettings< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + listSavedQueriesSettings() { + return ((AssetServiceStubSettings) getStubSettings()).listSavedQueriesSettings(); + } + + /** Returns the object with the settings used for calls to updateSavedQuery. */ + public UnaryCallSettings updateSavedQuerySettings() { + return ((AssetServiceStubSettings) getStubSettings()).updateSavedQuerySettings(); + } + + /** Returns the object with the settings used for calls to deleteSavedQuery. */ + public UnaryCallSettings deleteSavedQuerySettings() { + return ((AssetServiceStubSettings) getStubSettings()).deleteSavedQuerySettings(); + } + + /** Returns the object with the settings used for calls to batchGetEffectiveIamPolicies. */ + public UnaryCallSettings< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesSettings() { + return ((AssetServiceStubSettings) getStubSettings()).batchGetEffectiveIamPoliciesSettings(); + } + public static final AssetServiceSettings create(AssetServiceStubSettings stub) throws IOException { return new AssetServiceSettings.Builder(stub.toBuilder()).build(); @@ -355,6 +390,42 @@ public UnaryCallSettings.Builder deleteFeedSettings() return getStubSettingsBuilder().analyzeMoveSettings(); } + /** Returns the builder for the settings used for calls to createSavedQuery. */ + public UnaryCallSettings.Builder + createSavedQuerySettings() { + return getStubSettingsBuilder().createSavedQuerySettings(); + } + + /** Returns the builder for the settings used for calls to getSavedQuery. */ + public UnaryCallSettings.Builder getSavedQuerySettings() { + return getStubSettingsBuilder().getSavedQuerySettings(); + } + + /** Returns the builder for the settings used for calls to listSavedQueries. */ + public PagedCallSettings.Builder< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + listSavedQueriesSettings() { + return getStubSettingsBuilder().listSavedQueriesSettings(); + } + + /** Returns the builder for the settings used for calls to updateSavedQuery. */ + public UnaryCallSettings.Builder + updateSavedQuerySettings() { + return getStubSettingsBuilder().updateSavedQuerySettings(); + } + + /** Returns the builder for the settings used for calls to deleteSavedQuery. */ + public UnaryCallSettings.Builder deleteSavedQuerySettings() { + return getStubSettingsBuilder().deleteSavedQuerySettings(); + } + + /** Returns the builder for the settings used for calls to batchGetEffectiveIamPolicies. */ + public UnaryCallSettings.Builder< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesSettings() { + return getStubSettingsBuilder().batchGetEffectiveIamPoliciesSettings(); + } + @Override public AssetServiceSettings build() throws IOException { return new AssetServiceSettings(this); diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/gapic_metadata.json b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/gapic_metadata.json index 05ba5ae5eaf..257cf800ebc 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/gapic_metadata.json +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/gapic_metadata.json @@ -22,24 +22,39 @@ "BatchGetAssetsHistory": { "methods": ["batchGetAssetsHistory", "batchGetAssetsHistoryCallable"] }, + "BatchGetEffectiveIamPolicies": { + "methods": ["batchGetEffectiveIamPolicies", "batchGetEffectiveIamPoliciesCallable"] + }, "CreateFeed": { "methods": ["createFeed", "createFeed", "createFeedCallable"] }, + "CreateSavedQuery": { + "methods": ["createSavedQuery", "createSavedQuery", "createSavedQuery", "createSavedQuery", "createSavedQuery", "createSavedQueryCallable"] + }, "DeleteFeed": { "methods": ["deleteFeed", "deleteFeed", "deleteFeed", "deleteFeedCallable"] }, + "DeleteSavedQuery": { + "methods": ["deleteSavedQuery", "deleteSavedQuery", "deleteSavedQuery", "deleteSavedQueryCallable"] + }, "ExportAssets": { "methods": ["exportAssetsAsync", "exportAssetsOperationCallable", "exportAssetsCallable"] }, "GetFeed": { "methods": ["getFeed", "getFeed", "getFeed", "getFeedCallable"] }, + "GetSavedQuery": { + "methods": ["getSavedQuery", "getSavedQuery", "getSavedQuery", "getSavedQueryCallable"] + }, "ListAssets": { "methods": ["listAssets", "listAssets", "listAssets", "listAssetsPagedCallable", "listAssetsCallable"] }, "ListFeeds": { "methods": ["listFeeds", "listFeeds", "listFeedsCallable"] }, + "ListSavedQueries": { + "methods": ["listSavedQueries", "listSavedQueries", "listSavedQueries", "listSavedQueries", "listSavedQueries", "listSavedQueriesPagedCallable", "listSavedQueriesCallable"] + }, "SearchAllIamPolicies": { "methods": ["searchAllIamPolicies", "searchAllIamPolicies", "searchAllIamPoliciesPagedCallable", "searchAllIamPoliciesCallable"] }, @@ -48,6 +63,9 @@ }, "UpdateFeed": { "methods": ["updateFeed", "updateFeed", "updateFeedCallable"] + }, + "UpdateSavedQuery": { + "methods": ["updateSavedQuery", "updateSavedQuery", "updateSavedQueryCallable"] } } } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStub.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStub.java index 73cb2554731..4e17bcbc3a6 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStub.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStub.java @@ -17,6 +17,7 @@ package com.google.cloud.asset.v1.stub; import static com.google.cloud.asset.v1.AssetServiceClient.ListAssetsPagedResponse; +import static com.google.cloud.asset.v1.AssetServiceClient.ListSavedQueriesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllIamPoliciesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllResourcesPagedResponse; @@ -32,21 +33,30 @@ import com.google.cloud.asset.v1.AnalyzeMoveResponse; import com.google.cloud.asset.v1.BatchGetAssetsHistoryRequest; import com.google.cloud.asset.v1.BatchGetAssetsHistoryResponse; +import com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest; +import com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse; import com.google.cloud.asset.v1.CreateFeedRequest; +import com.google.cloud.asset.v1.CreateSavedQueryRequest; import com.google.cloud.asset.v1.DeleteFeedRequest; +import com.google.cloud.asset.v1.DeleteSavedQueryRequest; import com.google.cloud.asset.v1.ExportAssetsRequest; import com.google.cloud.asset.v1.ExportAssetsResponse; import com.google.cloud.asset.v1.Feed; import com.google.cloud.asset.v1.GetFeedRequest; +import com.google.cloud.asset.v1.GetSavedQueryRequest; import com.google.cloud.asset.v1.ListAssetsRequest; import com.google.cloud.asset.v1.ListAssetsResponse; import com.google.cloud.asset.v1.ListFeedsRequest; import com.google.cloud.asset.v1.ListFeedsResponse; +import com.google.cloud.asset.v1.ListSavedQueriesRequest; +import com.google.cloud.asset.v1.ListSavedQueriesResponse; +import com.google.cloud.asset.v1.SavedQuery; import com.google.cloud.asset.v1.SearchAllIamPoliciesRequest; import com.google.cloud.asset.v1.SearchAllIamPoliciesResponse; import com.google.cloud.asset.v1.SearchAllResourcesRequest; import com.google.cloud.asset.v1.SearchAllResourcesResponse; import com.google.cloud.asset.v1.UpdateFeedRequest; +import com.google.cloud.asset.v1.UpdateSavedQueryRequest; import com.google.longrunning.Operation; import com.google.longrunning.stub.OperationsStub; import com.google.protobuf.Empty; @@ -151,6 +161,38 @@ public UnaryCallable analyzeMoveCallabl throw new UnsupportedOperationException("Not implemented: analyzeMoveCallable()"); } + public UnaryCallable createSavedQueryCallable() { + throw new UnsupportedOperationException("Not implemented: createSavedQueryCallable()"); + } + + public UnaryCallable getSavedQueryCallable() { + throw new UnsupportedOperationException("Not implemented: getSavedQueryCallable()"); + } + + public UnaryCallable + listSavedQueriesPagedCallable() { + throw new UnsupportedOperationException("Not implemented: listSavedQueriesPagedCallable()"); + } + + public UnaryCallable + listSavedQueriesCallable() { + throw new UnsupportedOperationException("Not implemented: listSavedQueriesCallable()"); + } + + public UnaryCallable updateSavedQueryCallable() { + throw new UnsupportedOperationException("Not implemented: updateSavedQueryCallable()"); + } + + public UnaryCallable deleteSavedQueryCallable() { + throw new UnsupportedOperationException("Not implemented: deleteSavedQueryCallable()"); + } + + public UnaryCallable + batchGetEffectiveIamPoliciesCallable() { + throw new UnsupportedOperationException( + "Not implemented: batchGetEffectiveIamPoliciesCallable()"); + } + @Override public abstract void close(); } diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java index 842073522f5..6893dcf4dc5 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/AssetServiceStubSettings.java @@ -17,6 +17,7 @@ package com.google.cloud.asset.v1.stub; import static com.google.cloud.asset.v1.AssetServiceClient.ListAssetsPagedResponse; +import static com.google.cloud.asset.v1.AssetServiceClient.ListSavedQueriesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllIamPoliciesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllResourcesPagedResponse; @@ -56,23 +57,32 @@ import com.google.cloud.asset.v1.Asset; import com.google.cloud.asset.v1.BatchGetAssetsHistoryRequest; import com.google.cloud.asset.v1.BatchGetAssetsHistoryResponse; +import com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest; +import com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse; import com.google.cloud.asset.v1.CreateFeedRequest; +import com.google.cloud.asset.v1.CreateSavedQueryRequest; import com.google.cloud.asset.v1.DeleteFeedRequest; +import com.google.cloud.asset.v1.DeleteSavedQueryRequest; import com.google.cloud.asset.v1.ExportAssetsRequest; import com.google.cloud.asset.v1.ExportAssetsResponse; import com.google.cloud.asset.v1.Feed; import com.google.cloud.asset.v1.GetFeedRequest; +import com.google.cloud.asset.v1.GetSavedQueryRequest; import com.google.cloud.asset.v1.IamPolicySearchResult; import com.google.cloud.asset.v1.ListAssetsRequest; import com.google.cloud.asset.v1.ListAssetsResponse; import com.google.cloud.asset.v1.ListFeedsRequest; import com.google.cloud.asset.v1.ListFeedsResponse; +import com.google.cloud.asset.v1.ListSavedQueriesRequest; +import com.google.cloud.asset.v1.ListSavedQueriesResponse; import com.google.cloud.asset.v1.ResourceSearchResult; +import com.google.cloud.asset.v1.SavedQuery; import com.google.cloud.asset.v1.SearchAllIamPoliciesRequest; import com.google.cloud.asset.v1.SearchAllIamPoliciesResponse; import com.google.cloud.asset.v1.SearchAllResourcesRequest; import com.google.cloud.asset.v1.SearchAllResourcesResponse; import com.google.cloud.asset.v1.UpdateFeedRequest; +import com.google.cloud.asset.v1.UpdateSavedQueryRequest; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableMap; import com.google.common.collect.ImmutableSet; @@ -155,6 +165,16 @@ public class AssetServiceStubSettings extends StubSettings analyzeIamPolicyLongrunningOperationSettings; private final UnaryCallSettings analyzeMoveSettings; + private final UnaryCallSettings createSavedQuerySettings; + private final UnaryCallSettings getSavedQuerySettings; + private final PagedCallSettings< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + listSavedQueriesSettings; + private final UnaryCallSettings updateSavedQuerySettings; + private final UnaryCallSettings deleteSavedQuerySettings; + private final UnaryCallSettings< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesSettings; private static final PagedListDescriptor LIST_ASSETS_PAGE_STR_DESC = @@ -274,6 +294,45 @@ public Iterable extractResources( } }; + private static final PagedListDescriptor< + ListSavedQueriesRequest, ListSavedQueriesResponse, SavedQuery> + LIST_SAVED_QUERIES_PAGE_STR_DESC = + new PagedListDescriptor() { + @Override + public String emptyToken() { + return ""; + } + + @Override + public ListSavedQueriesRequest injectToken( + ListSavedQueriesRequest payload, String token) { + return ListSavedQueriesRequest.newBuilder(payload).setPageToken(token).build(); + } + + @Override + public ListSavedQueriesRequest injectPageSize( + ListSavedQueriesRequest payload, int pageSize) { + return ListSavedQueriesRequest.newBuilder(payload).setPageSize(pageSize).build(); + } + + @Override + public Integer extractPageSize(ListSavedQueriesRequest payload) { + return payload.getPageSize(); + } + + @Override + public String extractNextToken(ListSavedQueriesResponse payload) { + return payload.getNextPageToken(); + } + + @Override + public Iterable extractResources(ListSavedQueriesResponse payload) { + return payload.getSavedQueriesList() == null + ? ImmutableList.of() + : payload.getSavedQueriesList(); + } + }; + private static final PagedListResponseFactory< ListAssetsRequest, ListAssetsResponse, ListAssetsPagedResponse> LIST_ASSETS_PAGE_STR_FACT = @@ -339,6 +398,25 @@ public ApiFuture getFuturePagedResponse( } }; + private static final PagedListResponseFactory< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + LIST_SAVED_QUERIES_PAGE_STR_FACT = + new PagedListResponseFactory< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse>() { + @Override + public ApiFuture getFuturePagedResponse( + UnaryCallable callable, + ListSavedQueriesRequest request, + ApiCallContext context, + ApiFuture futureResponse) { + PageContext + pageContext = + PageContext.create( + callable, LIST_SAVED_QUERIES_PAGE_STR_DESC, request, context); + return ListSavedQueriesPagedResponse.createAsync(pageContext, futureResponse); + } + }; + /** Returns the object with the settings used for calls to exportAssets. */ public UnaryCallSettings exportAssetsSettings() { return exportAssetsSettings; @@ -429,6 +507,40 @@ public UnaryCallSettings analyzeMoveSet return analyzeMoveSettings; } + /** Returns the object with the settings used for calls to createSavedQuery. */ + public UnaryCallSettings createSavedQuerySettings() { + return createSavedQuerySettings; + } + + /** Returns the object with the settings used for calls to getSavedQuery. */ + public UnaryCallSettings getSavedQuerySettings() { + return getSavedQuerySettings; + } + + /** Returns the object with the settings used for calls to listSavedQueries. */ + public PagedCallSettings< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + listSavedQueriesSettings() { + return listSavedQueriesSettings; + } + + /** Returns the object with the settings used for calls to updateSavedQuery. */ + public UnaryCallSettings updateSavedQuerySettings() { + return updateSavedQuerySettings; + } + + /** Returns the object with the settings used for calls to deleteSavedQuery. */ + public UnaryCallSettings deleteSavedQuerySettings() { + return deleteSavedQuerySettings; + } + + /** Returns the object with the settings used for calls to batchGetEffectiveIamPolicies. */ + public UnaryCallSettings< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesSettings() { + return batchGetEffectiveIamPoliciesSettings; + } + @BetaApi("A restructuring of stub classes is planned, so this may break in the future") public AssetServiceStub createStub() throws IOException { if (getTransportChannelProvider() @@ -522,6 +634,13 @@ protected AssetServiceStubSettings(Builder settingsBuilder) throws IOException { analyzeIamPolicyLongrunningOperationSettings = settingsBuilder.analyzeIamPolicyLongrunningOperationSettings().build(); analyzeMoveSettings = settingsBuilder.analyzeMoveSettings().build(); + createSavedQuerySettings = settingsBuilder.createSavedQuerySettings().build(); + getSavedQuerySettings = settingsBuilder.getSavedQuerySettings().build(); + listSavedQueriesSettings = settingsBuilder.listSavedQueriesSettings().build(); + updateSavedQuerySettings = settingsBuilder.updateSavedQuerySettings().build(); + deleteSavedQuerySettings = settingsBuilder.deleteSavedQuerySettings().build(); + batchGetEffectiveIamPoliciesSettings = + settingsBuilder.batchGetEffectiveIamPoliciesSettings().build(); } /** Builder for AssetServiceStubSettings. */ @@ -561,6 +680,19 @@ public static class Builder extends StubSettings.Builder analyzeMoveSettings; + private final UnaryCallSettings.Builder + createSavedQuerySettings; + private final UnaryCallSettings.Builder getSavedQuerySettings; + private final PagedCallSettings.Builder< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + listSavedQueriesSettings; + private final UnaryCallSettings.Builder + updateSavedQuerySettings; + private final UnaryCallSettings.Builder + deleteSavedQuerySettings; + private final UnaryCallSettings.Builder< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesSettings; private static final ImmutableMap> RETRYABLE_CODE_DEFINITIONS; @@ -658,6 +790,12 @@ protected Builder(ClientContext clientContext) { analyzeIamPolicyLongrunningSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); analyzeIamPolicyLongrunningOperationSettings = OperationCallSettings.newBuilder(); analyzeMoveSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + createSavedQuerySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + getSavedQuerySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + listSavedQueriesSettings = PagedCallSettings.newBuilder(LIST_SAVED_QUERIES_PAGE_STR_FACT); + updateSavedQuerySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + deleteSavedQuerySettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); + batchGetEffectiveIamPoliciesSettings = UnaryCallSettings.newUnaryCallSettingsBuilder(); unaryMethodSettingsBuilders = ImmutableList.>of( @@ -673,7 +811,13 @@ protected Builder(ClientContext clientContext) { searchAllIamPoliciesSettings, analyzeIamPolicySettings, analyzeIamPolicyLongrunningSettings, - analyzeMoveSettings); + analyzeMoveSettings, + createSavedQuerySettings, + getSavedQuerySettings, + listSavedQueriesSettings, + updateSavedQuerySettings, + deleteSavedQuerySettings, + batchGetEffectiveIamPoliciesSettings); initDefaults(this); } @@ -697,6 +841,13 @@ protected Builder(AssetServiceStubSettings settings) { analyzeIamPolicyLongrunningOperationSettings = settings.analyzeIamPolicyLongrunningOperationSettings.toBuilder(); analyzeMoveSettings = settings.analyzeMoveSettings.toBuilder(); + createSavedQuerySettings = settings.createSavedQuerySettings.toBuilder(); + getSavedQuerySettings = settings.getSavedQuerySettings.toBuilder(); + listSavedQueriesSettings = settings.listSavedQueriesSettings.toBuilder(); + updateSavedQuerySettings = settings.updateSavedQuerySettings.toBuilder(); + deleteSavedQuerySettings = settings.deleteSavedQuerySettings.toBuilder(); + batchGetEffectiveIamPoliciesSettings = + settings.batchGetEffectiveIamPoliciesSettings.toBuilder(); unaryMethodSettingsBuilders = ImmutableList.>of( @@ -712,7 +863,13 @@ protected Builder(AssetServiceStubSettings settings) { searchAllIamPoliciesSettings, analyzeIamPolicySettings, analyzeIamPolicyLongrunningSettings, - analyzeMoveSettings); + analyzeMoveSettings, + createSavedQuerySettings, + getSavedQuerySettings, + listSavedQueriesSettings, + updateSavedQuerySettings, + deleteSavedQuerySettings, + batchGetEffectiveIamPoliciesSettings); } private static Builder createDefault() { @@ -794,6 +951,36 @@ private static Builder initDefaults(Builder builder) { .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + builder + .createSavedQuerySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .getSavedQuerySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .listSavedQueriesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .updateSavedQuerySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .deleteSavedQuerySettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + + builder + .batchGetEffectiveIamPoliciesSettings() + .setRetryableCodes(RETRYABLE_CODE_DEFINITIONS.get("no_retry_codes")) + .setRetrySettings(RETRY_PARAM_DEFINITIONS.get("no_retry_params")); + builder .exportAssetsOperationSettings() .setInitialCallSettings( @@ -959,6 +1146,42 @@ public UnaryCallSettings.Builder deleteFeedSettings() return analyzeMoveSettings; } + /** Returns the builder for the settings used for calls to createSavedQuery. */ + public UnaryCallSettings.Builder + createSavedQuerySettings() { + return createSavedQuerySettings; + } + + /** Returns the builder for the settings used for calls to getSavedQuery. */ + public UnaryCallSettings.Builder getSavedQuerySettings() { + return getSavedQuerySettings; + } + + /** Returns the builder for the settings used for calls to listSavedQueries. */ + public PagedCallSettings.Builder< + ListSavedQueriesRequest, ListSavedQueriesResponse, ListSavedQueriesPagedResponse> + listSavedQueriesSettings() { + return listSavedQueriesSettings; + } + + /** Returns the builder for the settings used for calls to updateSavedQuery. */ + public UnaryCallSettings.Builder + updateSavedQuerySettings() { + return updateSavedQuerySettings; + } + + /** Returns the builder for the settings used for calls to deleteSavedQuery. */ + public UnaryCallSettings.Builder deleteSavedQuerySettings() { + return deleteSavedQuerySettings; + } + + /** Returns the builder for the settings used for calls to batchGetEffectiveIamPolicies. */ + public UnaryCallSettings.Builder< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesSettings() { + return batchGetEffectiveIamPoliciesSettings; + } + @Override public AssetServiceStubSettings build() throws IOException { return new AssetServiceStubSettings(this); diff --git a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/GrpcAssetServiceStub.java b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/GrpcAssetServiceStub.java index ddef04437c4..c75923ad8bc 100644 --- a/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/GrpcAssetServiceStub.java +++ b/java-asset/google-cloud-asset/src/main/java/com/google/cloud/asset/v1/stub/GrpcAssetServiceStub.java @@ -17,6 +17,7 @@ package com.google.cloud.asset.v1.stub; import static com.google.cloud.asset.v1.AssetServiceClient.ListAssetsPagedResponse; +import static com.google.cloud.asset.v1.AssetServiceClient.ListSavedQueriesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllIamPoliciesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllResourcesPagedResponse; @@ -36,21 +37,30 @@ import com.google.cloud.asset.v1.AnalyzeMoveResponse; import com.google.cloud.asset.v1.BatchGetAssetsHistoryRequest; import com.google.cloud.asset.v1.BatchGetAssetsHistoryResponse; +import com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest; +import com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse; import com.google.cloud.asset.v1.CreateFeedRequest; +import com.google.cloud.asset.v1.CreateSavedQueryRequest; import com.google.cloud.asset.v1.DeleteFeedRequest; +import com.google.cloud.asset.v1.DeleteSavedQueryRequest; import com.google.cloud.asset.v1.ExportAssetsRequest; import com.google.cloud.asset.v1.ExportAssetsResponse; import com.google.cloud.asset.v1.Feed; import com.google.cloud.asset.v1.GetFeedRequest; +import com.google.cloud.asset.v1.GetSavedQueryRequest; import com.google.cloud.asset.v1.ListAssetsRequest; import com.google.cloud.asset.v1.ListAssetsResponse; import com.google.cloud.asset.v1.ListFeedsRequest; import com.google.cloud.asset.v1.ListFeedsResponse; +import com.google.cloud.asset.v1.ListSavedQueriesRequest; +import com.google.cloud.asset.v1.ListSavedQueriesResponse; +import com.google.cloud.asset.v1.SavedQuery; import com.google.cloud.asset.v1.SearchAllIamPoliciesRequest; import com.google.cloud.asset.v1.SearchAllIamPoliciesResponse; import com.google.cloud.asset.v1.SearchAllResourcesRequest; import com.google.cloud.asset.v1.SearchAllResourcesResponse; import com.google.cloud.asset.v1.UpdateFeedRequest; +import com.google.cloud.asset.v1.UpdateSavedQueryRequest; import com.google.common.collect.ImmutableMap; import com.google.longrunning.Operation; import com.google.longrunning.stub.GrpcOperationsStub; @@ -192,6 +202,71 @@ public class GrpcAssetServiceStub extends AssetServiceStub { ProtoUtils.marshaller(AnalyzeMoveResponse.getDefaultInstance())) .build(); + private static final MethodDescriptor + createSavedQueryMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.asset.v1.AssetService/CreateSavedQuery") + .setRequestMarshaller( + ProtoUtils.marshaller(CreateSavedQueryRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(SavedQuery.getDefaultInstance())) + .build(); + + private static final MethodDescriptor + getSavedQueryMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.asset.v1.AssetService/GetSavedQuery") + .setRequestMarshaller( + ProtoUtils.marshaller(GetSavedQueryRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(SavedQuery.getDefaultInstance())) + .build(); + + private static final MethodDescriptor + listSavedQueriesMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.asset.v1.AssetService/ListSavedQueries") + .setRequestMarshaller( + ProtoUtils.marshaller(ListSavedQueriesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(ListSavedQueriesResponse.getDefaultInstance())) + .build(); + + private static final MethodDescriptor + updateSavedQueryMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.asset.v1.AssetService/UpdateSavedQuery") + .setRequestMarshaller( + ProtoUtils.marshaller(UpdateSavedQueryRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(SavedQuery.getDefaultInstance())) + .build(); + + private static final MethodDescriptor + deleteSavedQueryMethodDescriptor = + MethodDescriptor.newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.asset.v1.AssetService/DeleteSavedQuery") + .setRequestMarshaller( + ProtoUtils.marshaller(DeleteSavedQueryRequest.getDefaultInstance())) + .setResponseMarshaller(ProtoUtils.marshaller(Empty.getDefaultInstance())) + .build(); + + private static final MethodDescriptor< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesMethodDescriptor = + MethodDescriptor + . + newBuilder() + .setType(MethodDescriptor.MethodType.UNARY) + .setFullMethodName("google.cloud.asset.v1.AssetService/BatchGetEffectiveIamPolicies") + .setRequestMarshaller( + ProtoUtils.marshaller(BatchGetEffectiveIamPoliciesRequest.getDefaultInstance())) + .setResponseMarshaller( + ProtoUtils.marshaller(BatchGetEffectiveIamPoliciesResponse.getDefaultInstance())) + .build(); + private final UnaryCallable exportAssetsCallable; private final OperationCallable exportAssetsOperationCallable; @@ -222,6 +297,17 @@ public class GrpcAssetServiceStub extends AssetServiceStub { AnalyzeIamPolicyLongrunningMetadata> analyzeIamPolicyLongrunningOperationCallable; private final UnaryCallable analyzeMoveCallable; + private final UnaryCallable createSavedQueryCallable; + private final UnaryCallable getSavedQueryCallable; + private final UnaryCallable + listSavedQueriesCallable; + private final UnaryCallable + listSavedQueriesPagedCallable; + private final UnaryCallable updateSavedQueryCallable; + private final UnaryCallable deleteSavedQueryCallable; + private final UnaryCallable< + BatchGetEffectiveIamPoliciesRequest, BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPoliciesCallable; private final BackgroundResource backgroundResources; private final GrpcOperationsStub operationsStub; @@ -405,6 +491,70 @@ protected GrpcAssetServiceStub( return params.build(); }) .build(); + GrpcCallSettings createSavedQueryTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(createSavedQueryMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("parent", String.valueOf(request.getParent())); + return params.build(); + }) + .build(); + GrpcCallSettings getSavedQueryTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(getSavedQueryMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("name", String.valueOf(request.getName())); + return params.build(); + }) + .build(); + GrpcCallSettings + listSavedQueriesTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(listSavedQueriesMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("parent", String.valueOf(request.getParent())); + return params.build(); + }) + .build(); + GrpcCallSettings updateSavedQueryTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(updateSavedQueryMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("saved_query.name", String.valueOf(request.getSavedQuery().getName())); + return params.build(); + }) + .build(); + GrpcCallSettings deleteSavedQueryTransportSettings = + GrpcCallSettings.newBuilder() + .setMethodDescriptor(deleteSavedQueryMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("name", String.valueOf(request.getName())); + return params.build(); + }) + .build(); + GrpcCallSettings + batchGetEffectiveIamPoliciesTransportSettings = + GrpcCallSettings + . + newBuilder() + .setMethodDescriptor(batchGetEffectiveIamPoliciesMethodDescriptor) + .setParamsExtractor( + request -> { + ImmutableMap.Builder params = ImmutableMap.builder(); + params.put("scope", String.valueOf(request.getScope())); + return params.build(); + }) + .build(); this.exportAssetsCallable = callableFactory.createUnaryCallable( @@ -478,6 +628,29 @@ protected GrpcAssetServiceStub( this.analyzeMoveCallable = callableFactory.createUnaryCallable( analyzeMoveTransportSettings, settings.analyzeMoveSettings(), clientContext); + this.createSavedQueryCallable = + callableFactory.createUnaryCallable( + createSavedQueryTransportSettings, settings.createSavedQuerySettings(), clientContext); + this.getSavedQueryCallable = + callableFactory.createUnaryCallable( + getSavedQueryTransportSettings, settings.getSavedQuerySettings(), clientContext); + this.listSavedQueriesCallable = + callableFactory.createUnaryCallable( + listSavedQueriesTransportSettings, settings.listSavedQueriesSettings(), clientContext); + this.listSavedQueriesPagedCallable = + callableFactory.createPagedCallable( + listSavedQueriesTransportSettings, settings.listSavedQueriesSettings(), clientContext); + this.updateSavedQueryCallable = + callableFactory.createUnaryCallable( + updateSavedQueryTransportSettings, settings.updateSavedQuerySettings(), clientContext); + this.deleteSavedQueryCallable = + callableFactory.createUnaryCallable( + deleteSavedQueryTransportSettings, settings.deleteSavedQuerySettings(), clientContext); + this.batchGetEffectiveIamPoliciesCallable = + callableFactory.createUnaryCallable( + batchGetEffectiveIamPoliciesTransportSettings, + settings.batchGetEffectiveIamPoliciesSettings(), + clientContext); this.backgroundResources = new BackgroundResourceAggregation(clientContext.getBackgroundResources()); @@ -589,6 +762,44 @@ public UnaryCallable analyzeMoveCallabl return analyzeMoveCallable; } + @Override + public UnaryCallable createSavedQueryCallable() { + return createSavedQueryCallable; + } + + @Override + public UnaryCallable getSavedQueryCallable() { + return getSavedQueryCallable; + } + + @Override + public UnaryCallable + listSavedQueriesCallable() { + return listSavedQueriesCallable; + } + + @Override + public UnaryCallable + listSavedQueriesPagedCallable() { + return listSavedQueriesPagedCallable; + } + + @Override + public UnaryCallable updateSavedQueryCallable() { + return updateSavedQueryCallable; + } + + @Override + public UnaryCallable deleteSavedQueryCallable() { + return deleteSavedQueryCallable; + } + + @Override + public UnaryCallable + batchGetEffectiveIamPoliciesCallable() { + return batchGetEffectiveIamPoliciesCallable; + } + @Override public final void close() { try { diff --git a/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/AssetServiceClientTest.java b/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/AssetServiceClientTest.java index 337c7947610..e3cffc07537 100644 --- a/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/AssetServiceClientTest.java +++ b/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/AssetServiceClientTest.java @@ -17,6 +17,7 @@ package com.google.cloud.asset.v1; import static com.google.cloud.asset.v1.AssetServiceClient.ListAssetsPagedResponse; +import static com.google.cloud.asset.v1.AssetServiceClient.ListSavedQueriesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllIamPoliciesPagedResponse; import static com.google.cloud.asset.v1.AssetServiceClient.SearchAllResourcesPagedResponse; @@ -35,12 +36,14 @@ import com.google.protobuf.Any; import com.google.protobuf.Duration; import com.google.protobuf.Empty; +import com.google.protobuf.FieldMask; import com.google.protobuf.Timestamp; import com.google.type.Expr; import io.grpc.StatusRuntimeException; import java.io.IOException; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; import java.util.UUID; import java.util.concurrent.ExecutionException; @@ -699,6 +702,7 @@ public void analyzeIamPolicyTest() throws Exception { AnalyzeIamPolicyRequest request = AnalyzeIamPolicyRequest.newBuilder() .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + .setSavedAnalysisQuery("savedAnalysisQuery376058885") .setExecutionTimeout(Duration.newBuilder().build()) .build(); @@ -710,6 +714,7 @@ public void analyzeIamPolicyTest() throws Exception { AnalyzeIamPolicyRequest actualRequest = ((AnalyzeIamPolicyRequest) actualRequests.get(0)); Assert.assertEquals(request.getAnalysisQuery(), actualRequest.getAnalysisQuery()); + Assert.assertEquals(request.getSavedAnalysisQuery(), actualRequest.getSavedAnalysisQuery()); Assert.assertEquals(request.getExecutionTimeout(), actualRequest.getExecutionTimeout()); Assert.assertTrue( channelProvider.isHeaderSent( @@ -726,6 +731,7 @@ public void analyzeIamPolicyExceptionTest() throws Exception { AnalyzeIamPolicyRequest request = AnalyzeIamPolicyRequest.newBuilder() .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + .setSavedAnalysisQuery("savedAnalysisQuery376058885") .setExecutionTimeout(Duration.newBuilder().build()) .build(); client.analyzeIamPolicy(request); @@ -750,6 +756,7 @@ public void analyzeIamPolicyLongrunningTest() throws Exception { AnalyzeIamPolicyLongrunningRequest request = AnalyzeIamPolicyLongrunningRequest.newBuilder() .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + .setSavedAnalysisQuery("savedAnalysisQuery376058885") .setOutputConfig(IamPolicyAnalysisOutputConfig.newBuilder().build()) .build(); @@ -763,6 +770,7 @@ public void analyzeIamPolicyLongrunningTest() throws Exception { ((AnalyzeIamPolicyLongrunningRequest) actualRequests.get(0)); Assert.assertEquals(request.getAnalysisQuery(), actualRequest.getAnalysisQuery()); + Assert.assertEquals(request.getSavedAnalysisQuery(), actualRequest.getSavedAnalysisQuery()); Assert.assertEquals(request.getOutputConfig(), actualRequest.getOutputConfig()); Assert.assertTrue( channelProvider.isHeaderSent( @@ -779,6 +787,7 @@ public void analyzeIamPolicyLongrunningExceptionTest() throws Exception { AnalyzeIamPolicyLongrunningRequest request = AnalyzeIamPolicyLongrunningRequest.newBuilder() .setAnalysisQuery(IamPolicyAnalysisQuery.newBuilder().build()) + .setSavedAnalysisQuery("savedAnalysisQuery376058885") .setOutputConfig(IamPolicyAnalysisOutputConfig.newBuilder().build()) .build(); client.analyzeIamPolicyLongrunningAsync(request).get(); @@ -835,4 +844,647 @@ public void analyzeMoveExceptionTest() throws Exception { // Expected exception. } } + + @Test + public void createSavedQueryTest() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + FolderName parent = FolderName.of("[FOLDER]"); + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + + SavedQuery actualResponse = client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateSavedQueryRequest actualRequest = ((CreateSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(savedQuery, actualRequest.getSavedQuery()); + Assert.assertEquals(savedQueryId, actualRequest.getSavedQueryId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createSavedQueryExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + FolderName parent = FolderName.of("[FOLDER]"); + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createSavedQueryTest2() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + + SavedQuery actualResponse = client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateSavedQueryRequest actualRequest = ((CreateSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(savedQuery, actualRequest.getSavedQuery()); + Assert.assertEquals(savedQueryId, actualRequest.getSavedQueryId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createSavedQueryExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createSavedQueryTest3() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + ProjectName parent = ProjectName.of("[PROJECT]"); + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + + SavedQuery actualResponse = client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateSavedQueryRequest actualRequest = ((CreateSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertEquals(savedQuery, actualRequest.getSavedQuery()); + Assert.assertEquals(savedQueryId, actualRequest.getSavedQueryId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createSavedQueryExceptionTest3() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + ProjectName parent = ProjectName.of("[PROJECT]"); + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void createSavedQueryTest4() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + String parent = "parent-995424086"; + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + + SavedQuery actualResponse = client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + CreateSavedQueryRequest actualRequest = ((CreateSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertEquals(savedQuery, actualRequest.getSavedQuery()); + Assert.assertEquals(savedQueryId, actualRequest.getSavedQueryId()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void createSavedQueryExceptionTest4() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + String parent = "parent-995424086"; + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + String savedQueryId = "savedQueryId378086268"; + client.createSavedQuery(parent, savedQuery, savedQueryId); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSavedQueryTest() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + SavedQueryName name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]"); + + SavedQuery actualResponse = client.getSavedQuery(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetSavedQueryRequest actualRequest = ((GetSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getSavedQueryExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + SavedQueryName name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]"); + client.getSavedQuery(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void getSavedQueryTest2() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + String name = "name3373707"; + + SavedQuery actualResponse = client.getSavedQuery(name); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + GetSavedQueryRequest actualRequest = ((GetSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void getSavedQueryExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + String name = "name3373707"; + client.getSavedQuery(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSavedQueriesTest() throws Exception { + SavedQuery responsesElement = SavedQuery.newBuilder().build(); + ListSavedQueriesResponse expectedResponse = + ListSavedQueriesResponse.newBuilder() + .setNextPageToken("") + .addAllSavedQueries(Arrays.asList(responsesElement)) + .build(); + mockAssetService.addResponse(expectedResponse); + + FolderName parent = FolderName.of("[FOLDER]"); + + ListSavedQueriesPagedResponse pagedListResponse = client.listSavedQueries(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSavedQueriesList().get(0), resources.get(0)); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSavedQueriesRequest actualRequest = ((ListSavedQueriesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSavedQueriesExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + FolderName parent = FolderName.of("[FOLDER]"); + client.listSavedQueries(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSavedQueriesTest2() throws Exception { + SavedQuery responsesElement = SavedQuery.newBuilder().build(); + ListSavedQueriesResponse expectedResponse = + ListSavedQueriesResponse.newBuilder() + .setNextPageToken("") + .addAllSavedQueries(Arrays.asList(responsesElement)) + .build(); + mockAssetService.addResponse(expectedResponse); + + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + + ListSavedQueriesPagedResponse pagedListResponse = client.listSavedQueries(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSavedQueriesList().get(0), resources.get(0)); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSavedQueriesRequest actualRequest = ((ListSavedQueriesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSavedQueriesExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + OrganizationName parent = OrganizationName.of("[ORGANIZATION]"); + client.listSavedQueries(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSavedQueriesTest3() throws Exception { + SavedQuery responsesElement = SavedQuery.newBuilder().build(); + ListSavedQueriesResponse expectedResponse = + ListSavedQueriesResponse.newBuilder() + .setNextPageToken("") + .addAllSavedQueries(Arrays.asList(responsesElement)) + .build(); + mockAssetService.addResponse(expectedResponse); + + ProjectName parent = ProjectName.of("[PROJECT]"); + + ListSavedQueriesPagedResponse pagedListResponse = client.listSavedQueries(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSavedQueriesList().get(0), resources.get(0)); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSavedQueriesRequest actualRequest = ((ListSavedQueriesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent.toString(), actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSavedQueriesExceptionTest3() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + ProjectName parent = ProjectName.of("[PROJECT]"); + client.listSavedQueries(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void listSavedQueriesTest4() throws Exception { + SavedQuery responsesElement = SavedQuery.newBuilder().build(); + ListSavedQueriesResponse expectedResponse = + ListSavedQueriesResponse.newBuilder() + .setNextPageToken("") + .addAllSavedQueries(Arrays.asList(responsesElement)) + .build(); + mockAssetService.addResponse(expectedResponse); + + String parent = "parent-995424086"; + + ListSavedQueriesPagedResponse pagedListResponse = client.listSavedQueries(parent); + + List resources = Lists.newArrayList(pagedListResponse.iterateAll()); + + Assert.assertEquals(1, resources.size()); + Assert.assertEquals(expectedResponse.getSavedQueriesList().get(0), resources.get(0)); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + ListSavedQueriesRequest actualRequest = ((ListSavedQueriesRequest) actualRequests.get(0)); + + Assert.assertEquals(parent, actualRequest.getParent()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void listSavedQueriesExceptionTest4() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + String parent = "parent-995424086"; + client.listSavedQueries(parent); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void updateSavedQueryTest() throws Exception { + SavedQuery expectedResponse = + SavedQuery.newBuilder() + .setName( + SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]").toString()) + .setDescription("description-1724546052") + .setCreateTime(Timestamp.newBuilder().build()) + .setCreator("creator1028554796") + .setLastUpdateTime(Timestamp.newBuilder().build()) + .setLastUpdater("lastUpdater1649733971") + .putAllLabels(new HashMap()) + .setContent(SavedQuery.QueryContent.newBuilder().build()) + .build(); + mockAssetService.addResponse(expectedResponse); + + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + + SavedQuery actualResponse = client.updateSavedQuery(savedQuery, updateMask); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + UpdateSavedQueryRequest actualRequest = ((UpdateSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(savedQuery, actualRequest.getSavedQuery()); + Assert.assertEquals(updateMask, actualRequest.getUpdateMask()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void updateSavedQueryExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + SavedQuery savedQuery = SavedQuery.newBuilder().build(); + FieldMask updateMask = FieldMask.newBuilder().build(); + client.updateSavedQuery(savedQuery, updateMask); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deleteSavedQueryTest() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockAssetService.addResponse(expectedResponse); + + SavedQueryName name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]"); + + client.deleteSavedQuery(name); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteSavedQueryRequest actualRequest = ((DeleteSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(name.toString(), actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteSavedQueryExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + SavedQueryName name = SavedQueryName.ofProjectSavedQueryName("[PROJECT]", "[SAVED_QUERY]"); + client.deleteSavedQuery(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void deleteSavedQueryTest2() throws Exception { + Empty expectedResponse = Empty.newBuilder().build(); + mockAssetService.addResponse(expectedResponse); + + String name = "name3373707"; + + client.deleteSavedQuery(name); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + DeleteSavedQueryRequest actualRequest = ((DeleteSavedQueryRequest) actualRequests.get(0)); + + Assert.assertEquals(name, actualRequest.getName()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void deleteSavedQueryExceptionTest2() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + String name = "name3373707"; + client.deleteSavedQuery(name); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } + + @Test + public void batchGetEffectiveIamPoliciesTest() throws Exception { + BatchGetEffectiveIamPoliciesResponse expectedResponse = + BatchGetEffectiveIamPoliciesResponse.newBuilder() + .addAllPolicyResults( + new ArrayList()) + .build(); + mockAssetService.addResponse(expectedResponse); + + BatchGetEffectiveIamPoliciesRequest request = + BatchGetEffectiveIamPoliciesRequest.newBuilder() + .setScope(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .addAllNames(new ArrayList()) + .build(); + + BatchGetEffectiveIamPoliciesResponse actualResponse = + client.batchGetEffectiveIamPolicies(request); + Assert.assertEquals(expectedResponse, actualResponse); + + List actualRequests = mockAssetService.getRequests(); + Assert.assertEquals(1, actualRequests.size()); + BatchGetEffectiveIamPoliciesRequest actualRequest = + ((BatchGetEffectiveIamPoliciesRequest) actualRequests.get(0)); + + Assert.assertEquals(request.getScope(), actualRequest.getScope()); + Assert.assertEquals(request.getNamesList(), actualRequest.getNamesList()); + Assert.assertTrue( + channelProvider.isHeaderSent( + ApiClientHeaderProvider.getDefaultApiClientHeaderKey(), + GaxGrpcProperties.getDefaultApiClientHeaderPattern())); + } + + @Test + public void batchGetEffectiveIamPoliciesExceptionTest() throws Exception { + StatusRuntimeException exception = new StatusRuntimeException(io.grpc.Status.INVALID_ARGUMENT); + mockAssetService.addException(exception); + + try { + BatchGetEffectiveIamPoliciesRequest request = + BatchGetEffectiveIamPoliciesRequest.newBuilder() + .setScope(FeedName.ofProjectFeedName("[PROJECT]", "[FEED]").toString()) + .addAllNames(new ArrayList()) + .build(); + client.batchGetEffectiveIamPolicies(request); + Assert.fail("No exception raised"); + } catch (InvalidArgumentException e) { + // Expected exception. + } + } } diff --git a/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/MockAssetServiceImpl.java b/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/MockAssetServiceImpl.java index e48002f7846..39ec5e232d8 100644 --- a/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/MockAssetServiceImpl.java +++ b/java-asset/google-cloud-asset/src/test/java/com/google/cloud/asset/v1/MockAssetServiceImpl.java @@ -331,4 +331,131 @@ public void analyzeMove( Exception.class.getName()))); } } + + @Override + public void createSavedQuery( + CreateSavedQueryRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof SavedQuery) { + requests.add(request); + responseObserver.onNext(((SavedQuery) 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 CreateSavedQuery, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + SavedQuery.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void getSavedQuery( + GetSavedQueryRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof SavedQuery) { + requests.add(request); + responseObserver.onNext(((SavedQuery) 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 GetSavedQuery, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + SavedQuery.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void listSavedQueries( + ListSavedQueriesRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof ListSavedQueriesResponse) { + requests.add(request); + responseObserver.onNext(((ListSavedQueriesResponse) 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 ListSavedQueries, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + ListSavedQueriesResponse.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void updateSavedQuery( + UpdateSavedQueryRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof SavedQuery) { + requests.add(request); + responseObserver.onNext(((SavedQuery) 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 UpdateSavedQuery, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + SavedQuery.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void deleteSavedQuery( + DeleteSavedQueryRequest request, StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof Empty) { + requests.add(request); + responseObserver.onNext(((Empty) 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 DeleteSavedQuery, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + Empty.class.getName(), + Exception.class.getName()))); + } + } + + @Override + public void batchGetEffectiveIamPolicies( + BatchGetEffectiveIamPoliciesRequest request, + StreamObserver responseObserver) { + Object response = responses.poll(); + if (response instanceof BatchGetEffectiveIamPoliciesResponse) { + requests.add(request); + responseObserver.onNext(((BatchGetEffectiveIamPoliciesResponse) 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 BatchGetEffectiveIamPolicies, expected %s or %s", + response == null ? "null" : response.getClass().getName(), + BatchGetEffectiveIamPoliciesResponse.class.getName(), + Exception.class.getName()))); + } + } } diff --git a/java-asset/grpc-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceGrpc.java b/java-asset/grpc-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceGrpc.java index 532a50c2a7f..46413f6d090 100644 --- a/java-asset/grpc-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceGrpc.java +++ b/java-asset/grpc-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceGrpc.java @@ -606,6 +606,276 @@ private AssetServiceGrpc() {} return getAnalyzeMoveMethod; } + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.CreateSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getCreateSavedQueryMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "CreateSavedQuery", + requestType = com.google.cloud.asset.v1.CreateSavedQueryRequest.class, + responseType = com.google.cloud.asset.v1.SavedQuery.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.CreateSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getCreateSavedQueryMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.CreateSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getCreateSavedQueryMethod; + if ((getCreateSavedQueryMethod = AssetServiceGrpc.getCreateSavedQueryMethod) == null) { + synchronized (AssetServiceGrpc.class) { + if ((getCreateSavedQueryMethod = AssetServiceGrpc.getCreateSavedQueryMethod) == null) { + AssetServiceGrpc.getCreateSavedQueryMethod = + getCreateSavedQueryMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "CreateSavedQuery")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.CreateSavedQueryRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.SavedQuery.getDefaultInstance())) + .setSchemaDescriptor( + new AssetServiceMethodDescriptorSupplier("CreateSavedQuery")) + .build(); + } + } + } + return getCreateSavedQueryMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.GetSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getGetSavedQueryMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "GetSavedQuery", + requestType = com.google.cloud.asset.v1.GetSavedQueryRequest.class, + responseType = com.google.cloud.asset.v1.SavedQuery.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.GetSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getGetSavedQueryMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.GetSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getGetSavedQueryMethod; + if ((getGetSavedQueryMethod = AssetServiceGrpc.getGetSavedQueryMethod) == null) { + synchronized (AssetServiceGrpc.class) { + if ((getGetSavedQueryMethod = AssetServiceGrpc.getGetSavedQueryMethod) == null) { + AssetServiceGrpc.getGetSavedQueryMethod = + getGetSavedQueryMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "GetSavedQuery")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.GetSavedQueryRequest.getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.SavedQuery.getDefaultInstance())) + .setSchemaDescriptor( + new AssetServiceMethodDescriptorSupplier("GetSavedQuery")) + .build(); + } + } + } + return getGetSavedQueryMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.ListSavedQueriesRequest, + com.google.cloud.asset.v1.ListSavedQueriesResponse> + getListSavedQueriesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "ListSavedQueries", + requestType = com.google.cloud.asset.v1.ListSavedQueriesRequest.class, + responseType = com.google.cloud.asset.v1.ListSavedQueriesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.ListSavedQueriesRequest, + com.google.cloud.asset.v1.ListSavedQueriesResponse> + getListSavedQueriesMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.ListSavedQueriesRequest, + com.google.cloud.asset.v1.ListSavedQueriesResponse> + getListSavedQueriesMethod; + if ((getListSavedQueriesMethod = AssetServiceGrpc.getListSavedQueriesMethod) == null) { + synchronized (AssetServiceGrpc.class) { + if ((getListSavedQueriesMethod = AssetServiceGrpc.getListSavedQueriesMethod) == null) { + AssetServiceGrpc.getListSavedQueriesMethod = + getListSavedQueriesMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "ListSavedQueries")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.ListSavedQueriesRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.ListSavedQueriesResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AssetServiceMethodDescriptorSupplier("ListSavedQueries")) + .build(); + } + } + } + return getListSavedQueriesMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.UpdateSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getUpdateSavedQueryMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "UpdateSavedQuery", + requestType = com.google.cloud.asset.v1.UpdateSavedQueryRequest.class, + responseType = com.google.cloud.asset.v1.SavedQuery.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.UpdateSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getUpdateSavedQueryMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.UpdateSavedQueryRequest, com.google.cloud.asset.v1.SavedQuery> + getUpdateSavedQueryMethod; + if ((getUpdateSavedQueryMethod = AssetServiceGrpc.getUpdateSavedQueryMethod) == null) { + synchronized (AssetServiceGrpc.class) { + if ((getUpdateSavedQueryMethod = AssetServiceGrpc.getUpdateSavedQueryMethod) == null) { + AssetServiceGrpc.getUpdateSavedQueryMethod = + getUpdateSavedQueryMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "UpdateSavedQuery")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.UpdateSavedQueryRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.SavedQuery.getDefaultInstance())) + .setSchemaDescriptor( + new AssetServiceMethodDescriptorSupplier("UpdateSavedQuery")) + .build(); + } + } + } + return getUpdateSavedQueryMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.DeleteSavedQueryRequest, com.google.protobuf.Empty> + getDeleteSavedQueryMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "DeleteSavedQuery", + requestType = com.google.cloud.asset.v1.DeleteSavedQueryRequest.class, + responseType = com.google.protobuf.Empty.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.DeleteSavedQueryRequest, com.google.protobuf.Empty> + getDeleteSavedQueryMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.DeleteSavedQueryRequest, com.google.protobuf.Empty> + getDeleteSavedQueryMethod; + if ((getDeleteSavedQueryMethod = AssetServiceGrpc.getDeleteSavedQueryMethod) == null) { + synchronized (AssetServiceGrpc.class) { + if ((getDeleteSavedQueryMethod = AssetServiceGrpc.getDeleteSavedQueryMethod) == null) { + AssetServiceGrpc.getDeleteSavedQueryMethod = + getDeleteSavedQueryMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName(generateFullMethodName(SERVICE_NAME, "DeleteSavedQuery")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.DeleteSavedQueryRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.protobuf.Empty.getDefaultInstance())) + .setSchemaDescriptor( + new AssetServiceMethodDescriptorSupplier("DeleteSavedQuery")) + .build(); + } + } + } + return getDeleteSavedQueryMethod; + } + + private static volatile io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse> + getBatchGetEffectiveIamPoliciesMethod; + + @io.grpc.stub.annotations.RpcMethod( + fullMethodName = SERVICE_NAME + '/' + "BatchGetEffectiveIamPolicies", + requestType = com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.class, + responseType = com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.class, + methodType = io.grpc.MethodDescriptor.MethodType.UNARY) + public static io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse> + getBatchGetEffectiveIamPoliciesMethod() { + io.grpc.MethodDescriptor< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse> + getBatchGetEffectiveIamPoliciesMethod; + if ((getBatchGetEffectiveIamPoliciesMethod = + AssetServiceGrpc.getBatchGetEffectiveIamPoliciesMethod) + == null) { + synchronized (AssetServiceGrpc.class) { + if ((getBatchGetEffectiveIamPoliciesMethod = + AssetServiceGrpc.getBatchGetEffectiveIamPoliciesMethod) + == null) { + AssetServiceGrpc.getBatchGetEffectiveIamPoliciesMethod = + getBatchGetEffectiveIamPoliciesMethod = + io.grpc.MethodDescriptor + . + newBuilder() + .setType(io.grpc.MethodDescriptor.MethodType.UNARY) + .setFullMethodName( + generateFullMethodName(SERVICE_NAME, "BatchGetEffectiveIamPolicies")) + .setSampledToLocalTracing(true) + .setRequestMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest + .getDefaultInstance())) + .setResponseMarshaller( + io.grpc.protobuf.ProtoUtils.marshaller( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .getDefaultInstance())) + .setSchemaDescriptor( + new AssetServiceMethodDescriptorSupplier("BatchGetEffectiveIamPolicies")) + .build(); + } + } + } + return getBatchGetEffectiveIamPoliciesMethod; + } + /** Creates a new async stub that supports all call types for the service */ public static AssetServiceStub newStub(io.grpc.Channel channel) { io.grpc.stub.AbstractStub.StubFactory factory = @@ -663,13 +933,14 @@ public abstract static class AssetServiceImplBase implements io.grpc.BindableSer * Exports assets with time and resource types to a given Cloud Storage * location/BigQuery table. For Cloud Storage location destinations, the * output format is newline-delimited JSON. Each line represents a - * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table - * destinations, the output table stores the fields in asset proto as columns. - * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API - * , which allows you to keep track of the export. We recommend intervals of - * at least 2 seconds with exponential retry to poll the export operation - * result. For regular-size resource parent, the export operation usually - * finishes within 5 minutes. + * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON + * format; for BigQuery table destinations, the output table stores the fields + * in asset Protobuf as columns. This API implements the + * [google.longrunning.Operation][google.longrunning.Operation] API, which + * allows you to keep track of the export. We recommend intervals of at least + * 2 seconds with exponential retry to poll the export operation result. For + * regular-size resource parent, the export operation usually finishes within + * 5 minutes. * */ public void exportAssets( @@ -841,11 +1112,12 @@ public void analyzeIamPolicy( * accesses on which resources, and writes the analysis results to a Google * Cloud Storage or a BigQuery destination. For Cloud Storage destination, the * output format is the JSON format that represents a - * [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the - * [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation - * status. We recommend intervals of at least 2 seconds with exponential - * backoff retry to poll the operation result. The metadata contains the - * metadata for the long-running operation. + * [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. + * This method implements the + * [google.longrunning.Operation][google.longrunning.Operation], which allows + * you to track the operation status. We recommend intervals of at least 2 + * seconds with exponential backoff retry to poll the operation result. The + * metadata contains the metadata for the long-running operation. * */ public void analyzeIamPolicyLongrunning( @@ -874,6 +1146,92 @@ public void analyzeMove( getAnalyzeMoveMethod(), responseObserver); } + /** + * + * + *
    +     * Creates a saved query in a parent project/folder/organization.
    +     * 
    + */ + public void createSavedQuery( + com.google.cloud.asset.v1.CreateSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getCreateSavedQueryMethod(), responseObserver); + } + + /** + * + * + *
    +     * Gets details about a saved query.
    +     * 
    + */ + public void getSavedQuery( + com.google.cloud.asset.v1.GetSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getGetSavedQueryMethod(), responseObserver); + } + + /** + * + * + *
    +     * Lists all saved queries in a parent project/folder/organization.
    +     * 
    + */ + public void listSavedQueries( + com.google.cloud.asset.v1.ListSavedQueriesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getListSavedQueriesMethod(), responseObserver); + } + + /** + * + * + *
    +     * Updates a saved query.
    +     * 
    + */ + public void updateSavedQuery( + com.google.cloud.asset.v1.UpdateSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getUpdateSavedQueryMethod(), responseObserver); + } + + /** + * + * + *
    +     * Deletes a saved query.
    +     * 
    + */ + public void deleteSavedQuery( + com.google.cloud.asset.v1.DeleteSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getDeleteSavedQueryMethod(), responseObserver); + } + + /** + * + * + *
    +     * Gets effective IAM policies for a batch of resources.
    +     * 
    + */ + public void batchGetEffectiveIamPolicies( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ServerCalls.asyncUnimplementedUnaryCall( + getBatchGetEffectiveIamPoliciesMethod(), responseObserver); + } + @java.lang.Override public final io.grpc.ServerServiceDefinition bindService() { return io.grpc.ServerServiceDefinition.builder(getServiceDescriptor()) @@ -960,6 +1318,44 @@ public final io.grpc.ServerServiceDefinition bindService() { new MethodHandlers< com.google.cloud.asset.v1.AnalyzeMoveRequest, com.google.cloud.asset.v1.AnalyzeMoveResponse>(this, METHODID_ANALYZE_MOVE))) + .addMethod( + getCreateSavedQueryMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.asset.v1.CreateSavedQueryRequest, + com.google.cloud.asset.v1.SavedQuery>(this, METHODID_CREATE_SAVED_QUERY))) + .addMethod( + getGetSavedQueryMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.asset.v1.GetSavedQueryRequest, + com.google.cloud.asset.v1.SavedQuery>(this, METHODID_GET_SAVED_QUERY))) + .addMethod( + getListSavedQueriesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.asset.v1.ListSavedQueriesRequest, + com.google.cloud.asset.v1.ListSavedQueriesResponse>( + this, METHODID_LIST_SAVED_QUERIES))) + .addMethod( + getUpdateSavedQueryMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.asset.v1.UpdateSavedQueryRequest, + com.google.cloud.asset.v1.SavedQuery>(this, METHODID_UPDATE_SAVED_QUERY))) + .addMethod( + getDeleteSavedQueryMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.asset.v1.DeleteSavedQueryRequest, com.google.protobuf.Empty>( + this, METHODID_DELETE_SAVED_QUERY))) + .addMethod( + getBatchGetEffectiveIamPoliciesMethod(), + io.grpc.stub.ServerCalls.asyncUnaryCall( + new MethodHandlers< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse>( + this, METHODID_BATCH_GET_EFFECTIVE_IAM_POLICIES))) .build(); } } @@ -989,13 +1385,14 @@ protected AssetServiceStub build(io.grpc.Channel channel, io.grpc.CallOptions ca * Exports assets with time and resource types to a given Cloud Storage * location/BigQuery table. For Cloud Storage location destinations, the * output format is newline-delimited JSON. Each line represents a - * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table - * destinations, the output table stores the fields in asset proto as columns. - * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API - * , which allows you to keep track of the export. We recommend intervals of - * at least 2 seconds with exponential retry to poll the export operation - * result. For regular-size resource parent, the export operation usually - * finishes within 5 minutes. + * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON + * format; for BigQuery table destinations, the output table stores the fields + * in asset Protobuf as columns. This API implements the + * [google.longrunning.Operation][google.longrunning.Operation] API, which + * allows you to keep track of the export. We recommend intervals of at least + * 2 seconds with exponential retry to poll the export operation result. For + * regular-size resource parent, the export operation usually finishes within + * 5 minutes. * */ public void exportAssets( @@ -1183,11 +1580,12 @@ public void analyzeIamPolicy( * accesses on which resources, and writes the analysis results to a Google * Cloud Storage or a BigQuery destination. For Cloud Storage destination, the * output format is the JSON format that represents a - * [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the - * [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation - * status. We recommend intervals of at least 2 seconds with exponential - * backoff retry to poll the operation result. The metadata contains the - * metadata for the long-running operation. + * [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. + * This method implements the + * [google.longrunning.Operation][google.longrunning.Operation], which allows + * you to track the operation status. We recommend intervals of at least 2 + * seconds with exponential backoff retry to poll the operation result. The + * metadata contains the metadata for the long-running operation. * */ public void analyzeIamPolicyLongrunning( @@ -1219,6 +1617,104 @@ public void analyzeMove( request, responseObserver); } + + /** + * + * + *
    +     * Creates a saved query in a parent project/folder/organization.
    +     * 
    + */ + public void createSavedQuery( + com.google.cloud.asset.v1.CreateSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getCreateSavedQueryMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
    +     * Gets details about a saved query.
    +     * 
    + */ + public void getSavedQuery( + com.google.cloud.asset.v1.GetSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getGetSavedQueryMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
    +     * Lists all saved queries in a parent project/folder/organization.
    +     * 
    + */ + public void listSavedQueries( + com.google.cloud.asset.v1.ListSavedQueriesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getListSavedQueriesMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
    +     * Updates a saved query.
    +     * 
    + */ + public void updateSavedQuery( + com.google.cloud.asset.v1.UpdateSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getUpdateSavedQueryMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
    +     * Deletes a saved query.
    +     * 
    + */ + public void deleteSavedQuery( + com.google.cloud.asset.v1.DeleteSavedQueryRequest request, + io.grpc.stub.StreamObserver responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getDeleteSavedQueryMethod(), getCallOptions()), + request, + responseObserver); + } + + /** + * + * + *
    +     * Gets effective IAM policies for a batch of resources.
    +     * 
    + */ + public void batchGetEffectiveIamPolicies( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest request, + io.grpc.stub.StreamObserver + responseObserver) { + io.grpc.stub.ClientCalls.asyncUnaryCall( + getChannel().newCall(getBatchGetEffectiveIamPoliciesMethod(), getCallOptions()), + request, + responseObserver); + } } /** @@ -1247,13 +1743,14 @@ protected AssetServiceBlockingStub build( * Exports assets with time and resource types to a given Cloud Storage * location/BigQuery table. For Cloud Storage location destinations, the * output format is newline-delimited JSON. Each line represents a - * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table - * destinations, the output table stores the fields in asset proto as columns. - * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API - * , which allows you to keep track of the export. We recommend intervals of - * at least 2 seconds with exponential retry to poll the export operation - * result. For regular-size resource parent, the export operation usually - * finishes within 5 minutes. + * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON + * format; for BigQuery table destinations, the output table stores the fields + * in asset Protobuf as columns. This API implements the + * [google.longrunning.Operation][google.longrunning.Operation] API, which + * allows you to keep track of the export. We recommend intervals of at least + * 2 seconds with exponential retry to poll the export operation result. For + * regular-size resource parent, the export operation usually finishes within + * 5 minutes. * */ public com.google.longrunning.Operation exportAssets( @@ -1415,11 +1912,12 @@ public com.google.cloud.asset.v1.AnalyzeIamPolicyResponse analyzeIamPolicy( * accesses on which resources, and writes the analysis results to a Google * Cloud Storage or a BigQuery destination. For Cloud Storage destination, the * output format is the JSON format that represents a - * [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the - * [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation - * status. We recommend intervals of at least 2 seconds with exponential - * backoff retry to poll the operation result. The metadata contains the - * metadata for the long-running operation. + * [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. + * This method implements the + * [google.longrunning.Operation][google.longrunning.Operation], which allows + * you to track the operation status. We recommend intervals of at least 2 + * seconds with exponential backoff retry to poll the operation result. The + * metadata contains the metadata for the long-running operation. * */ public com.google.longrunning.Operation analyzeIamPolicyLongrunning( @@ -1444,6 +1942,85 @@ public com.google.cloud.asset.v1.AnalyzeMoveResponse analyzeMove( return io.grpc.stub.ClientCalls.blockingUnaryCall( getChannel(), getAnalyzeMoveMethod(), getCallOptions(), request); } + + /** + * + * + *
    +     * Creates a saved query in a parent project/folder/organization.
    +     * 
    + */ + public com.google.cloud.asset.v1.SavedQuery createSavedQuery( + com.google.cloud.asset.v1.CreateSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getCreateSavedQueryMethod(), getCallOptions(), request); + } + + /** + * + * + *
    +     * Gets details about a saved query.
    +     * 
    + */ + public com.google.cloud.asset.v1.SavedQuery getSavedQuery( + com.google.cloud.asset.v1.GetSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getGetSavedQueryMethod(), getCallOptions(), request); + } + + /** + * + * + *
    +     * Lists all saved queries in a parent project/folder/organization.
    +     * 
    + */ + public com.google.cloud.asset.v1.ListSavedQueriesResponse listSavedQueries( + com.google.cloud.asset.v1.ListSavedQueriesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getListSavedQueriesMethod(), getCallOptions(), request); + } + + /** + * + * + *
    +     * Updates a saved query.
    +     * 
    + */ + public com.google.cloud.asset.v1.SavedQuery updateSavedQuery( + com.google.cloud.asset.v1.UpdateSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getUpdateSavedQueryMethod(), getCallOptions(), request); + } + + /** + * + * + *
    +     * Deletes a saved query.
    +     * 
    + */ + public com.google.protobuf.Empty deleteSavedQuery( + com.google.cloud.asset.v1.DeleteSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getDeleteSavedQueryMethod(), getCallOptions(), request); + } + + /** + * + * + *
    +     * Gets effective IAM policies for a batch of resources.
    +     * 
    + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + batchGetEffectiveIamPolicies( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest request) { + return io.grpc.stub.ClientCalls.blockingUnaryCall( + getChannel(), getBatchGetEffectiveIamPoliciesMethod(), getCallOptions(), request); + } } /** @@ -1472,13 +2049,14 @@ protected AssetServiceFutureStub build( * Exports assets with time and resource types to a given Cloud Storage * location/BigQuery table. For Cloud Storage location destinations, the * output format is newline-delimited JSON. Each line represents a - * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table - * destinations, the output table stores the fields in asset proto as columns. - * This API implements the [google.longrunning.Operation][google.longrunning.Operation] API - * , which allows you to keep track of the export. We recommend intervals of - * at least 2 seconds with exponential retry to poll the export operation - * result. For regular-size resource parent, the export operation usually - * finishes within 5 minutes. + * [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON + * format; for BigQuery table destinations, the output table stores the fields + * in asset Protobuf as columns. This API implements the + * [google.longrunning.Operation][google.longrunning.Operation] API, which + * allows you to keep track of the export. We recommend intervals of at least + * 2 seconds with exponential retry to poll the export operation result. For + * regular-size resource parent, the export operation usually finishes within + * 5 minutes. * */ public com.google.common.util.concurrent.ListenableFuture @@ -1646,11 +2224,12 @@ public com.google.common.util.concurrent.ListenableFuture */ public com.google.common.util.concurrent.ListenableFuture @@ -1677,6 +2256,87 @@ public com.google.common.util.concurrent.ListenableFuture + * Creates a saved query in a parent project/folder/organization. + * + */ + public com.google.common.util.concurrent.ListenableFuture + createSavedQuery(com.google.cloud.asset.v1.CreateSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getCreateSavedQueryMethod(), getCallOptions()), request); + } + + /** + * + * + *
    +     * Gets details about a saved query.
    +     * 
    + */ + public com.google.common.util.concurrent.ListenableFuture + getSavedQuery(com.google.cloud.asset.v1.GetSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getGetSavedQueryMethod(), getCallOptions()), request); + } + + /** + * + * + *
    +     * Lists all saved queries in a parent project/folder/organization.
    +     * 
    + */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.asset.v1.ListSavedQueriesResponse> + listSavedQueries(com.google.cloud.asset.v1.ListSavedQueriesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getListSavedQueriesMethod(), getCallOptions()), request); + } + + /** + * + * + *
    +     * Updates a saved query.
    +     * 
    + */ + public com.google.common.util.concurrent.ListenableFuture + updateSavedQuery(com.google.cloud.asset.v1.UpdateSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getUpdateSavedQueryMethod(), getCallOptions()), request); + } + + /** + * + * + *
    +     * Deletes a saved query.
    +     * 
    + */ + public com.google.common.util.concurrent.ListenableFuture + deleteSavedQuery(com.google.cloud.asset.v1.DeleteSavedQueryRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getDeleteSavedQueryMethod(), getCallOptions()), request); + } + + /** + * + * + *
    +     * Gets effective IAM policies for a batch of resources.
    +     * 
    + */ + public com.google.common.util.concurrent.ListenableFuture< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse> + batchGetEffectiveIamPolicies( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest request) { + return io.grpc.stub.ClientCalls.futureUnaryCall( + getChannel().newCall(getBatchGetEffectiveIamPoliciesMethod(), getCallOptions()), request); + } } private static final int METHODID_EXPORT_ASSETS = 0; @@ -1692,6 +2352,12 @@ public com.google.common.util.concurrent.ListenableFuture implements io.grpc.stub.ServerCalls.UnaryMethod, @@ -1782,6 +2448,39 @@ public void invoke(Req request, io.grpc.stub.StreamObserver responseObserv (io.grpc.stub.StreamObserver) responseObserver); break; + case METHODID_CREATE_SAVED_QUERY: + serviceImpl.createSavedQuery( + (com.google.cloud.asset.v1.CreateSavedQueryRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_GET_SAVED_QUERY: + serviceImpl.getSavedQuery( + (com.google.cloud.asset.v1.GetSavedQueryRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_LIST_SAVED_QUERIES: + serviceImpl.listSavedQueries( + (com.google.cloud.asset.v1.ListSavedQueriesRequest) request, + (io.grpc.stub.StreamObserver) + responseObserver); + break; + case METHODID_UPDATE_SAVED_QUERY: + serviceImpl.updateSavedQuery( + (com.google.cloud.asset.v1.UpdateSavedQueryRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_DELETE_SAVED_QUERY: + serviceImpl.deleteSavedQuery( + (com.google.cloud.asset.v1.DeleteSavedQueryRequest) request, + (io.grpc.stub.StreamObserver) responseObserver); + break; + case METHODID_BATCH_GET_EFFECTIVE_IAM_POLICIES: + serviceImpl.batchGetEffectiveIamPolicies( + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) request, + (io.grpc.stub.StreamObserver< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse>) + responseObserver); + break; default: throw new AssertionError(); } @@ -1859,6 +2558,12 @@ public static io.grpc.ServiceDescriptor getServiceDescriptor() { .addMethod(getAnalyzeIamPolicyMethod()) .addMethod(getAnalyzeIamPolicyLongrunningMethod()) .addMethod(getAnalyzeMoveMethod()) + .addMethod(getCreateSavedQueryMethod()) + .addMethod(getGetSavedQueryMethod()) + .addMethod(getListSavedQueriesMethod()) + .addMethod(getUpdateSavedQueryMethod()) + .addMethod(getDeleteSavedQueryMethod()) + .addMethod(getBatchGetEffectiveIamPoliciesMethod()) .build(); } } diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequest.java index 1cb65d6a242..2cd68a884ad 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequest.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequest.java @@ -22,7 +22,8 @@ * * *
    - * A request message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
    + * A request message for
    + * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
      * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest} @@ -38,7 +39,9 @@ private AnalyzeIamPolicyLongrunningRequest( super(builder); } - private AnalyzeIamPolicyLongrunningRequest() {} + private AnalyzeIamPolicyLongrunningRequest() { + savedAnalysisQuery_ = ""; + } @java.lang.Override @SuppressWarnings({"unused"}) @@ -100,6 +103,13 @@ private AnalyzeIamPolicyLongrunningRequest( outputConfig_ = subBuilder.buildPartial(); } + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + + savedAnalysisQuery_ = s; break; } default: @@ -192,13 +202,87 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer return getAnalysisQuery(); } + public static final int SAVED_ANALYSIS_QUERY_FIELD_NUMBER = 3; + private volatile java.lang.Object savedAnalysisQuery_; + /** + * + * + *
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * doc.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The savedAnalysisQuery. + */ + @java.lang.Override + public java.lang.String getSavedAnalysisQuery() { + java.lang.Object ref = savedAnalysisQuery_; + 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(); + savedAnalysisQuery_ = s; + return s; + } + } + /** + * + * + *
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * doc.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for savedAnalysisQuery. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSavedAnalysisQueryBytes() { + java.lang.Object ref = savedAnalysisQuery_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + savedAnalysisQuery_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + public static final int OUTPUT_CONFIG_FIELD_NUMBER = 2; private com.google.cloud.asset.v1.IamPolicyAnalysisOutputConfig outputConfig_; /** * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -215,7 +299,8 @@ public boolean hasOutputConfig() { * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -234,7 +319,8 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisOutputConfig getOutputConfig() * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -267,6 +353,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (outputConfig_ != null) { output.writeMessage(2, getOutputConfig()); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(savedAnalysisQuery_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, savedAnalysisQuery_); + } unknownFields.writeTo(output); } @@ -282,6 +371,9 @@ public int getSerializedSize() { if (outputConfig_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getOutputConfig()); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(savedAnalysisQuery_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, savedAnalysisQuery_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -302,6 +394,7 @@ public boolean equals(final java.lang.Object obj) { if (hasAnalysisQuery()) { if (!getAnalysisQuery().equals(other.getAnalysisQuery())) return false; } + if (!getSavedAnalysisQuery().equals(other.getSavedAnalysisQuery())) return false; if (hasOutputConfig() != other.hasOutputConfig()) return false; if (hasOutputConfig()) { if (!getOutputConfig().equals(other.getOutputConfig())) return false; @@ -321,6 +414,8 @@ public int hashCode() { hash = (37 * hash) + ANALYSIS_QUERY_FIELD_NUMBER; hash = (53 * hash) + getAnalysisQuery().hashCode(); } + hash = (37 * hash) + SAVED_ANALYSIS_QUERY_FIELD_NUMBER; + hash = (53 * hash) + getSavedAnalysisQuery().hashCode(); if (hasOutputConfig()) { hash = (37 * hash) + OUTPUT_CONFIG_FIELD_NUMBER; hash = (53 * hash) + getOutputConfig().hashCode(); @@ -430,7 +525,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
    -   * A request message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
    +   * A request message for
    +   * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
        * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest} @@ -477,6 +573,8 @@ public Builder clear() { analysisQuery_ = null; analysisQueryBuilder_ = null; } + savedAnalysisQuery_ = ""; + if (outputConfigBuilder_ == null) { outputConfig_ = null; } else { @@ -516,6 +614,7 @@ public com.google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRequest buildPartial } else { result.analysisQuery_ = analysisQueryBuilder_.build(); } + result.savedAnalysisQuery_ = savedAnalysisQuery_; if (outputConfigBuilder_ == null) { result.outputConfig_ = outputConfig_; } else { @@ -575,6 +674,10 @@ public Builder mergeFrom(com.google.cloud.asset.v1.AnalyzeIamPolicyLongrunningRe if (other.hasAnalysisQuery()) { mergeAnalysisQuery(other.getAnalysisQuery()); } + if (!other.getSavedAnalysisQuery().isEmpty()) { + savedAnalysisQuery_ = other.savedAnalysisQuery_; + onChanged(); + } if (other.hasOutputConfig()) { mergeOutputConfig(other.getOutputConfig()); } @@ -812,6 +915,172 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer return analysisQueryBuilder_; } + private java.lang.Object savedAnalysisQuery_ = ""; + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * doc.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The savedAnalysisQuery. + */ + public java.lang.String getSavedAnalysisQuery() { + java.lang.Object ref = savedAnalysisQuery_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + savedAnalysisQuery_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * doc.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for savedAnalysisQuery. + */ + public com.google.protobuf.ByteString getSavedAnalysisQueryBytes() { + java.lang.Object ref = savedAnalysisQuery_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + savedAnalysisQuery_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * doc.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The savedAnalysisQuery to set. + * @return This builder for chaining. + */ + public Builder setSavedAnalysisQuery(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + savedAnalysisQuery_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * doc.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearSavedAnalysisQuery() { + + savedAnalysisQuery_ = getDefaultInstance().getSavedAnalysisQuery(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * doc.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for savedAnalysisQuery to set. + * @return This builder for chaining. + */ + public Builder setSavedAnalysisQueryBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + savedAnalysisQuery_ = value; + onChanged(); + return this; + } + private com.google.cloud.asset.v1.IamPolicyAnalysisOutputConfig outputConfig_; private com.google.protobuf.SingleFieldBuilderV3< com.google.cloud.asset.v1.IamPolicyAnalysisOutputConfig, @@ -822,7 +1091,8 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -838,7 +1108,8 @@ public boolean hasOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -860,7 +1131,8 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisOutputConfig getOutputConfig() * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -884,7 +1156,8 @@ public Builder setOutputConfig(com.google.cloud.asset.v1.IamPolicyAnalysisOutput * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -906,7 +1179,8 @@ public Builder setOutputConfig( * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -935,7 +1209,8 @@ public Builder mergeOutputConfig( * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -957,7 +1232,8 @@ public Builder clearOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -974,7 +1250,8 @@ public Builder clearOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -995,7 +1272,8 @@ public Builder clearOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequestOrBuilder.java index de124f6c998..37d5b61146f 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequestOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningRequestOrBuilder.java @@ -68,7 +68,57 @@ public interface AnalyzeIamPolicyLongrunningRequestOrBuilder * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * doc.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The savedAnalysisQuery. + */ + java.lang.String getSavedAnalysisQuery(); + /** + * + * + *
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * doc.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for savedAnalysisQuery. + */ + com.google.protobuf.ByteString getSavedAnalysisQueryBytes(); + + /** + * + * + *
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -82,7 +132,8 @@ public interface AnalyzeIamPolicyLongrunningRequestOrBuilder * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -96,7 +147,8 @@ public interface AnalyzeIamPolicyLongrunningRequestOrBuilder * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningResponse.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningResponse.java index a90f1590ff1..808bc307bc0 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningResponse.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyLongrunningResponse.java @@ -22,7 +22,8 @@ * * *
    - * A response message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
    + * A response message for
    + * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
      * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse} @@ -261,7 +262,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
    -   * A response message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
    +   * A response message for
    +   * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning].
        * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyLongrunningResponse} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequest.java index 9c750a0feed..e0090b98f09 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequest.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequest.java @@ -22,7 +22,8 @@ * * *
    - * A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
    + * A request message for
    + * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
      * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyRequest} @@ -37,7 +38,9 @@ private AnalyzeIamPolicyRequest(com.google.protobuf.GeneratedMessageV3.Builder + * Optional. The name of a saved query, which must be in the format of: + * * projects/project_number/savedQueries/saved_query_id + * * folders/folder_number/savedQueries/saved_query_id + * * organizations/organization_number/savedQueries/saved_query_id + * If both `analysis_query` and `saved_analysis_query` are provided, they + * will be merged together with the `saved_analysis_query` as base and + * the `analysis_query` as overrides. For more details of the merge behavior, + * please refer to the + * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details) + * page. + * Note that you cannot override primitive fields with default value, such as + * 0 or empty string, etc., because we use proto3, which doesn't support field + * presence yet. + * + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The savedAnalysisQuery. + */ + @java.lang.Override + public java.lang.String getSavedAnalysisQuery() { + java.lang.Object ref = savedAnalysisQuery_; + 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(); + savedAnalysisQuery_ = s; + return s; + } + } + /** + * + * + *
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * page.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for savedAnalysisQuery. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSavedAnalysisQueryBytes() { + java.lang.Object ref = savedAnalysisQuery_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + savedAnalysisQuery_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + public static final int EXECUTION_TIMEOUT_FIELD_NUMBER = 2; private com.google.protobuf.Duration executionTimeout_; /** * * *
    -   * Optional. Amount of time executable has to complete.  See JSON representation of
    +   * Optional. Amount of time executable has to complete.  See JSON
    +   * representation of
        * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
        * If this field is set with a value less than the RPC deadline, and the
        * execution of your query hasn't finished in the specified
    @@ -219,7 +303,8 @@ public boolean hasExecutionTimeout() {
        *
        *
        * 
    -   * Optional. Amount of time executable has to complete.  See JSON representation of
    +   * Optional. Amount of time executable has to complete.  See JSON
    +   * representation of
        * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
        * If this field is set with a value less than the RPC deadline, and the
        * execution of your query hasn't finished in the specified
    @@ -245,7 +330,8 @@ public com.google.protobuf.Duration getExecutionTimeout() {
        *
        *
        * 
    -   * Optional. Amount of time executable has to complete.  See JSON representation of
    +   * Optional. Amount of time executable has to complete.  See JSON
    +   * representation of
        * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
        * If this field is set with a value less than the RPC deadline, and the
        * execution of your query hasn't finished in the specified
    @@ -284,6 +370,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
         if (executionTimeout_ != null) {
           output.writeMessage(2, getExecutionTimeout());
         }
    +    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(savedAnalysisQuery_)) {
    +      com.google.protobuf.GeneratedMessageV3.writeString(output, 3, savedAnalysisQuery_);
    +    }
         unknownFields.writeTo(output);
       }
     
    @@ -299,6 +388,9 @@ public int getSerializedSize() {
         if (executionTimeout_ != null) {
           size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getExecutionTimeout());
         }
    +    if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(savedAnalysisQuery_)) {
    +      size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, savedAnalysisQuery_);
    +    }
         size += unknownFields.getSerializedSize();
         memoizedSize = size;
         return size;
    @@ -319,6 +411,7 @@ public boolean equals(final java.lang.Object obj) {
         if (hasAnalysisQuery()) {
           if (!getAnalysisQuery().equals(other.getAnalysisQuery())) return false;
         }
    +    if (!getSavedAnalysisQuery().equals(other.getSavedAnalysisQuery())) return false;
         if (hasExecutionTimeout() != other.hasExecutionTimeout()) return false;
         if (hasExecutionTimeout()) {
           if (!getExecutionTimeout().equals(other.getExecutionTimeout())) return false;
    @@ -338,6 +431,8 @@ public int hashCode() {
           hash = (37 * hash) + ANALYSIS_QUERY_FIELD_NUMBER;
           hash = (53 * hash) + getAnalysisQuery().hashCode();
         }
    +    hash = (37 * hash) + SAVED_ANALYSIS_QUERY_FIELD_NUMBER;
    +    hash = (53 * hash) + getSavedAnalysisQuery().hashCode();
         if (hasExecutionTimeout()) {
           hash = (37 * hash) + EXECUTION_TIMEOUT_FIELD_NUMBER;
           hash = (53 * hash) + getExecutionTimeout().hashCode();
    @@ -446,7 +541,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
        *
        *
        * 
    -   * A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
    +   * A request message for
    +   * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
        * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyRequest} @@ -493,6 +589,8 @@ public Builder clear() { analysisQuery_ = null; analysisQueryBuilder_ = null; } + savedAnalysisQuery_ = ""; + if (executionTimeoutBuilder_ == null) { executionTimeout_ = null; } else { @@ -531,6 +629,7 @@ public com.google.cloud.asset.v1.AnalyzeIamPolicyRequest buildPartial() { } else { result.analysisQuery_ = analysisQueryBuilder_.build(); } + result.savedAnalysisQuery_ = savedAnalysisQuery_; if (executionTimeoutBuilder_ == null) { result.executionTimeout_ = executionTimeout_; } else { @@ -589,6 +688,10 @@ public Builder mergeFrom(com.google.cloud.asset.v1.AnalyzeIamPolicyRequest other if (other.hasAnalysisQuery()) { mergeAnalysisQuery(other.getAnalysisQuery()); } + if (!other.getSavedAnalysisQuery().isEmpty()) { + savedAnalysisQuery_ = other.savedAnalysisQuery_; + onChanged(); + } if (other.hasExecutionTimeout()) { mergeExecutionTimeout(other.getExecutionTimeout()); } @@ -826,6 +929,172 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer return analysisQueryBuilder_; } + private java.lang.Object savedAnalysisQuery_ = ""; + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * page.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The savedAnalysisQuery. + */ + public java.lang.String getSavedAnalysisQuery() { + java.lang.Object ref = savedAnalysisQuery_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + savedAnalysisQuery_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * page.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for savedAnalysisQuery. + */ + public com.google.protobuf.ByteString getSavedAnalysisQueryBytes() { + java.lang.Object ref = savedAnalysisQuery_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + savedAnalysisQuery_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * page.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The savedAnalysisQuery to set. + * @return This builder for chaining. + */ + public Builder setSavedAnalysisQuery(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + savedAnalysisQuery_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * page.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearSavedAnalysisQuery() { + + savedAnalysisQuery_ = getDefaultInstance().getSavedAnalysisQuery(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The name of a saved query, which must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * If both `analysis_query` and `saved_analysis_query` are provided, they
    +     * will be merged together with the `saved_analysis_query` as base and
    +     * the `analysis_query` as overrides. For more details of the merge behavior,
    +     * please refer to the
    +     * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +     * page.
    +     * Note that you cannot override primitive fields with default value, such as
    +     * 0 or empty string, etc., because we use proto3, which doesn't support field
    +     * presence yet.
    +     * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for savedAnalysisQuery to set. + * @return This builder for chaining. + */ + public Builder setSavedAnalysisQueryBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + savedAnalysisQuery_ = value; + onChanged(); + return this; + } + private com.google.protobuf.Duration executionTimeout_; private com.google.protobuf.SingleFieldBuilderV3< com.google.protobuf.Duration, @@ -836,7 +1105,8 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer * * *
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -859,7 +1129,8 @@ public boolean hasExecutionTimeout() {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -888,7 +1159,8 @@ public com.google.protobuf.Duration getExecutionTimeout() {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -919,7 +1191,8 @@ public Builder setExecutionTimeout(com.google.protobuf.Duration value) {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -947,7 +1220,8 @@ public Builder setExecutionTimeout(com.google.protobuf.Duration.Builder builderF
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -982,7 +1256,8 @@ public Builder mergeExecutionTimeout(com.google.protobuf.Duration value) {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -1011,7 +1286,8 @@ public Builder clearExecutionTimeout() {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -1034,7 +1310,8 @@ public com.google.protobuf.Duration.Builder getExecutionTimeoutBuilder() {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    @@ -1061,7 +1338,8 @@ public com.google.protobuf.DurationOrBuilder getExecutionTimeoutOrBuilder() {
          *
          *
          * 
    -     * Optional. Amount of time executable has to complete.  See JSON representation of
    +     * Optional. Amount of time executable has to complete.  See JSON
    +     * representation of
          * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
          * If this field is set with a value less than the RPC deadline, and the
          * execution of your query hasn't finished in the specified
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequestOrBuilder.java
    index 6d479d433ae..6c1c7d4abc8 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequestOrBuilder.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyRequestOrBuilder.java
    @@ -68,7 +68,57 @@ public interface AnalyzeIamPolicyRequestOrBuilder
        *
        *
        * 
    -   * Optional. Amount of time executable has to complete.  See JSON representation of
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * page.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The savedAnalysisQuery. + */ + java.lang.String getSavedAnalysisQuery(); + /** + * + * + *
    +   * Optional. The name of a saved query, which must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * If both `analysis_query` and `saved_analysis_query` are provided, they
    +   * will be merged together with the `saved_analysis_query` as base and
    +   * the `analysis_query` as overrides. For more details of the merge behavior,
    +   * please refer to the
    +   * [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details)
    +   * page.
    +   * Note that you cannot override primitive fields with default value, such as
    +   * 0 or empty string, etc., because we use proto3, which doesn't support field
    +   * presence yet.
    +   * 
    + * + * string saved_analysis_query = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for savedAnalysisQuery. + */ + com.google.protobuf.ByteString getSavedAnalysisQueryBytes(); + + /** + * + * + *
    +   * Optional. Amount of time executable has to complete.  See JSON
    +   * representation of
        * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
        * If this field is set with a value less than the RPC deadline, and the
        * execution of your query hasn't finished in the specified
    @@ -89,7 +139,8 @@ public interface AnalyzeIamPolicyRequestOrBuilder
        *
        *
        * 
    -   * Optional. Amount of time executable has to complete.  See JSON representation of
    +   * Optional. Amount of time executable has to complete.  See JSON
    +   * representation of
        * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
        * If this field is set with a value less than the RPC deadline, and the
        * execution of your query hasn't finished in the specified
    @@ -110,7 +161,8 @@ public interface AnalyzeIamPolicyRequestOrBuilder
        *
        *
        * 
    -   * Optional. Amount of time executable has to complete.  See JSON representation of
    +   * Optional. Amount of time executable has to complete.  See JSON
    +   * representation of
        * [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json).
        * If this field is set with a value less than the RPC deadline, and the
        * execution of your query hasn't finished in the specified
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponse.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponse.java
    index e4080717014..ded28a1b402 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponse.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponse.java
    @@ -22,7 +22,8 @@
      *
      *
      * 
    - * A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
    + * A response message for
    + * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
      * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyResponse} @@ -192,8 +193,9 @@ public interface IamPolicyAnalysisOrBuilder * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -203,8 +205,9 @@ public interface IamPolicyAnalysisOrBuilder * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -214,8 +217,9 @@ public interface IamPolicyAnalysisOrBuilder * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -225,8 +229,9 @@ public interface IamPolicyAnalysisOrBuilder * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -237,8 +242,9 @@ public interface IamPolicyAnalysisOrBuilder * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -250,8 +256,9 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResultOrBuilder getAnalysisResultsOrB * * *
    -     * Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
    -     * fully explored to answer the query.
    +     * Represents whether all entries in the
    +     * [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results]
    +     * have been fully explored to answer the query.
          * 
    * * bool fully_explored = 3; @@ -511,8 +518,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -526,8 +534,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -541,8 +550,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getAnalysisQuer * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -555,8 +565,9 @@ public int getAnalysisResultsCount() { * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -569,8 +580,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult getAnalysisResults(int * * *
    -     * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -     * empty if no result is found.
    +     * A list of
    +     * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +     * that matches the analysis query, or empty if no result is found.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -587,8 +599,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResultOrBuilder getAnalysisRes * * *
    -     * Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
    -     * fully explored to answer the query.
    +     * Represents whether all entries in the
    +     * [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results]
    +     * have been fully explored to answer the query.
          * 
    * * bool fully_explored = 3; @@ -1352,8 +1365,9 @@ private void ensureAnalysisResultsIsMutable() { * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1370,8 +1384,9 @@ private void ensureAnalysisResultsIsMutable() { * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1387,8 +1402,9 @@ public int getAnalysisResultsCount() { * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1404,8 +1420,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult getAnalysisResults(int * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1428,8 +1445,9 @@ public Builder setAnalysisResults( * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1449,8 +1467,9 @@ public Builder setAnalysisResults( * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1472,8 +1491,9 @@ public Builder addAnalysisResults(com.google.cloud.asset.v1.IamPolicyAnalysisRes * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1496,8 +1516,9 @@ public Builder addAnalysisResults( * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1517,8 +1538,9 @@ public Builder addAnalysisResults( * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1538,8 +1560,9 @@ public Builder addAnalysisResults( * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1559,8 +1582,9 @@ public Builder addAllAnalysisResults( * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1579,8 +1603,9 @@ public Builder clearAnalysisResults() { * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1599,8 +1624,9 @@ public Builder removeAnalysisResults(int index) { * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1613,8 +1639,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Builder getAnalysisResu * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1631,8 +1658,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResultOrBuilder getAnalysisRes * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1649,8 +1677,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResultOrBuilder getAnalysisRes * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1663,8 +1692,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Builder addAnalysisResu * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1679,8 +1709,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Builder addAnalysisResu * * *
    -       * A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or
    -       * empty if no result is found.
    +       * A list of
    +       * [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]
    +       * that matches the analysis query, or empty if no result is found.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult analysis_results = 2; @@ -1715,8 +1746,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Builder addAnalysisResu * * *
    -       * Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
    -       * fully explored to answer the query.
    +       * Represents whether all entries in the
    +       * [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results]
    +       * have been fully explored to answer the query.
            * 
    * * bool fully_explored = 3; @@ -1731,8 +1763,9 @@ public boolean getFullyExplored() { * * *
    -       * Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
    -       * fully explored to answer the query.
    +       * Represents whether all entries in the
    +       * [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results]
    +       * have been fully explored to answer the query.
            * 
    * * bool fully_explored = 3; @@ -1750,8 +1783,9 @@ public Builder setFullyExplored(boolean value) { * * *
    -       * Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been
    -       * fully explored to answer the query.
    +       * Represents whether all entries in the
    +       * [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results]
    +       * have been fully explored to answer the query.
            * 
    * * bool fully_explored = 3; @@ -2353,9 +2387,11 @@ public int getServiceAccountImpersonationAnalysisCount() { * * *
    -   * Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
    -   * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
    -   * answer the query in the request.
    +   * Represents whether all entries in the
    +   * [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis]
    +   * and
    +   * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis]
    +   * have been fully explored to answer the query in the request.
        * 
    * * bool fully_explored = 3; @@ -2558,7 +2594,8 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
    -   * A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
    +   * A response message for
    +   * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy].
        * 
    * * Protobuf type {@code google.cloud.asset.v1.AnalyzeIamPolicyResponse} @@ -3436,9 +3473,11 @@ public Builder removeServiceAccountImpersonationAnalysis(int index) { * * *
    -     * Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
    -     * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
    -     * answer the query in the request.
    +     * Represents whether all entries in the
    +     * [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis]
    +     * and
    +     * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis]
    +     * have been fully explored to answer the query in the request.
          * 
    * * bool fully_explored = 3; @@ -3453,9 +3492,11 @@ public boolean getFullyExplored() { * * *
    -     * Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
    -     * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
    -     * answer the query in the request.
    +     * Represents whether all entries in the
    +     * [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis]
    +     * and
    +     * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis]
    +     * have been fully explored to answer the query in the request.
          * 
    * * bool fully_explored = 3; @@ -3473,9 +3514,11 @@ public Builder setFullyExplored(boolean value) { * * *
    -     * Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
    -     * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
    -     * answer the query in the request.
    +     * Represents whether all entries in the
    +     * [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis]
    +     * and
    +     * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis]
    +     * have been fully explored to answer the query in the request.
          * 
    * * bool fully_explored = 3; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponseOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponseOrBuilder.java index d55dcdf9ccf..6b26559c67e 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponseOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AnalyzeIamPolicyResponseOrBuilder.java @@ -142,9 +142,11 @@ public interface AnalyzeIamPolicyResponseOrBuilder * * *
    -   * Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and
    -   * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to
    -   * answer the query in the request.
    +   * Represents whether all entries in the
    +   * [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis]
    +   * and
    +   * [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis]
    +   * have been fully explored to answer the query in the request.
        * 
    * * bool fully_explored = 3; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Asset.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Asset.java index b2d41af5426..33e2a30923f 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Asset.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Asset.java @@ -256,6 +256,22 @@ private Asset( relatedAssets_ = subBuilder.buildPartial(); } + break; + } + case 122: + { + com.google.cloud.asset.v1.RelatedAsset.Builder subBuilder = null; + if (relatedAsset_ != null) { + subBuilder = relatedAsset_.toBuilder(); + } + relatedAsset_ = + input.readMessage( + com.google.cloud.asset.v1.RelatedAsset.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(relatedAsset_); + relatedAsset_ = subBuilder.buildPartial(); + } + break; } default: @@ -935,15 +951,21 @@ public com.google.cloud.osconfig.v1.InventoryOrBuilder getOsInventoryOrBuilder() * * *
    -   * The related assets of the asset of one relationship type.
    -   * One asset only represents one type of relationship.
    +   * DEPRECATED. This field only presents for the purpose of
    +   * backward-compatibility. The server will never generate responses with this
    +   * field.
    +   * The related assets of the asset of one relationship type. One asset
    +   * only represents one type of relationship.
        * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; * + * @deprecated google.cloud.asset.v1.Asset.related_assets is deprecated. See + * google/cloud/asset/v1/assets.proto;l=167 * @return Whether the relatedAssets field is set. */ @java.lang.Override + @java.lang.Deprecated public boolean hasRelatedAssets() { return relatedAssets_ != null; } @@ -951,15 +973,21 @@ public boolean hasRelatedAssets() { * * *
    -   * The related assets of the asset of one relationship type.
    -   * One asset only represents one type of relationship.
    +   * DEPRECATED. This field only presents for the purpose of
    +   * backward-compatibility. The server will never generate responses with this
    +   * field.
    +   * The related assets of the asset of one relationship type. One asset
    +   * only represents one type of relationship.
        * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; * + * @deprecated google.cloud.asset.v1.Asset.related_assets is deprecated. See + * google/cloud/asset/v1/assets.proto;l=167 * @return The relatedAssets. */ @java.lang.Override + @java.lang.Deprecated public com.google.cloud.asset.v1.RelatedAssets getRelatedAssets() { return relatedAssets_ == null ? com.google.cloud.asset.v1.RelatedAssets.getDefaultInstance() @@ -969,17 +997,69 @@ public com.google.cloud.asset.v1.RelatedAssets getRelatedAssets() { * * *
    -   * The related assets of the asset of one relationship type.
    -   * One asset only represents one type of relationship.
    +   * DEPRECATED. This field only presents for the purpose of
    +   * backward-compatibility. The server will never generate responses with this
    +   * field.
    +   * The related assets of the asset of one relationship type. One asset
    +   * only represents one type of relationship.
        * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ @java.lang.Override + @java.lang.Deprecated public com.google.cloud.asset.v1.RelatedAssetsOrBuilder getRelatedAssetsOrBuilder() { return getRelatedAssets(); } + public static final int RELATED_ASSET_FIELD_NUMBER = 15; + private com.google.cloud.asset.v1.RelatedAsset relatedAsset_; + /** + * + * + *
    +   * One related asset of the current asset.
    +   * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + * + * @return Whether the relatedAsset field is set. + */ + @java.lang.Override + public boolean hasRelatedAsset() { + return relatedAsset_ != null; + } + /** + * + * + *
    +   * One related asset of the current asset.
    +   * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + * + * @return The relatedAsset. + */ + @java.lang.Override + public com.google.cloud.asset.v1.RelatedAsset getRelatedAsset() { + return relatedAsset_ == null + ? com.google.cloud.asset.v1.RelatedAsset.getDefaultInstance() + : relatedAsset_; + } + /** + * + * + *
    +   * One related asset of the current asset.
    +   * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + @java.lang.Override + public com.google.cloud.asset.v1.RelatedAssetOrBuilder getRelatedAssetOrBuilder() { + return getRelatedAsset(); + } + public static final int ANCESTORS_FIELD_NUMBER = 10; private com.google.protobuf.LazyStringList ancestors_; /** @@ -1118,6 +1198,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (relatedAssets_ != null) { output.writeMessage(13, getRelatedAssets()); } + if (relatedAsset_ != null) { + output.writeMessage(15, getRelatedAsset()); + } unknownFields.writeTo(output); } @@ -1175,6 +1258,9 @@ public int getSerializedSize() { if (relatedAssets_ != null) { size += com.google.protobuf.CodedOutputStream.computeMessageSize(13, getRelatedAssets()); } + if (relatedAsset_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(15, getRelatedAsset()); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -1213,6 +1299,10 @@ public boolean equals(final java.lang.Object obj) { if (hasRelatedAssets()) { if (!getRelatedAssets().equals(other.getRelatedAssets())) return false; } + if (hasRelatedAsset() != other.hasRelatedAsset()) return false; + if (hasRelatedAsset()) { + if (!getRelatedAsset().equals(other.getRelatedAsset())) return false; + } if (!getAncestorsList().equals(other.getAncestorsList())) return false; if (!getAccessContextPolicyCase().equals(other.getAccessContextPolicyCase())) return false; switch (accessContextPolicyCase_) { @@ -1267,6 +1357,10 @@ public int hashCode() { hash = (37 * hash) + RELATED_ASSETS_FIELD_NUMBER; hash = (53 * hash) + getRelatedAssets().hashCode(); } + if (hasRelatedAsset()) { + hash = (37 * hash) + RELATED_ASSET_FIELD_NUMBER; + hash = (53 * hash) + getRelatedAsset().hashCode(); + } if (getAncestorsCount() > 0) { hash = (37 * hash) + ANCESTORS_FIELD_NUMBER; hash = (53 * hash) + getAncestorsList().hashCode(); @@ -1480,6 +1574,12 @@ public Builder clear() { relatedAssets_ = null; relatedAssetsBuilder_ = null; } + if (relatedAssetBuilder_ == null) { + relatedAsset_ = null; + } else { + relatedAsset_ = null; + relatedAssetBuilder_ = null; + } ancestors_ = com.google.protobuf.LazyStringArrayList.EMPTY; bitField0_ = (bitField0_ & ~0x00000002); accessContextPolicyCase_ = 0; @@ -1568,6 +1668,11 @@ public com.google.cloud.asset.v1.Asset buildPartial() { } else { result.relatedAssets_ = relatedAssetsBuilder_.build(); } + if (relatedAssetBuilder_ == null) { + result.relatedAsset_ = relatedAsset_; + } else { + result.relatedAsset_ = relatedAssetBuilder_.build(); + } if (((bitField0_ & 0x00000002) != 0)) { ancestors_ = ancestors_.getUnmodifiableView(); bitField0_ = (bitField0_ & ~0x00000002); @@ -1673,6 +1778,9 @@ public Builder mergeFrom(com.google.cloud.asset.v1.Asset other) { if (other.hasRelatedAssets()) { mergeRelatedAssets(other.getRelatedAssets()); } + if (other.hasRelatedAsset()) { + mergeRelatedAsset(other.getRelatedAsset()); + } if (!other.ancestors_.isEmpty()) { if (ancestors_.isEmpty()) { ancestors_ = other.ancestors_; @@ -3916,14 +4024,20 @@ public com.google.cloud.osconfig.v1.InventoryOrBuilder getOsInventoryOrBuilder() * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; * + * @deprecated google.cloud.asset.v1.Asset.related_assets is deprecated. See + * google/cloud/asset/v1/assets.proto;l=167 * @return Whether the relatedAssets field is set. */ + @java.lang.Deprecated public boolean hasRelatedAssets() { return relatedAssetsBuilder_ != null || relatedAssets_ != null; } @@ -3931,14 +4045,20 @@ public boolean hasRelatedAssets() { * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; * + * @deprecated google.cloud.asset.v1.Asset.related_assets is deprecated. See + * google/cloud/asset/v1/assets.proto;l=167 * @return The relatedAssets. */ + @java.lang.Deprecated public com.google.cloud.asset.v1.RelatedAssets getRelatedAssets() { if (relatedAssetsBuilder_ == null) { return relatedAssets_ == null @@ -3952,12 +4072,16 @@ public com.google.cloud.asset.v1.RelatedAssets getRelatedAssets() { * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated public Builder setRelatedAssets(com.google.cloud.asset.v1.RelatedAssets value) { if (relatedAssetsBuilder_ == null) { if (value == null) { @@ -3975,12 +4099,16 @@ public Builder setRelatedAssets(com.google.cloud.asset.v1.RelatedAssets value) { * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated public Builder setRelatedAssets( com.google.cloud.asset.v1.RelatedAssets.Builder builderForValue) { if (relatedAssetsBuilder_ == null) { @@ -3996,12 +4124,16 @@ public Builder setRelatedAssets( * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated public Builder mergeRelatedAssets(com.google.cloud.asset.v1.RelatedAssets value) { if (relatedAssetsBuilder_ == null) { if (relatedAssets_ != null) { @@ -4023,12 +4155,16 @@ public Builder mergeRelatedAssets(com.google.cloud.asset.v1.RelatedAssets value) * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated public Builder clearRelatedAssets() { if (relatedAssetsBuilder_ == null) { relatedAssets_ = null; @@ -4044,12 +4180,16 @@ public Builder clearRelatedAssets() { * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated public com.google.cloud.asset.v1.RelatedAssets.Builder getRelatedAssetsBuilder() { onChanged(); @@ -4059,12 +4199,16 @@ public com.google.cloud.asset.v1.RelatedAssets.Builder getRelatedAssetsBuilder() * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated public com.google.cloud.asset.v1.RelatedAssetsOrBuilder getRelatedAssetsOrBuilder() { if (relatedAssetsBuilder_ != null) { return relatedAssetsBuilder_.getMessageOrBuilder(); @@ -4078,11 +4222,14 @@ public com.google.cloud.asset.v1.RelatedAssetsOrBuilder getRelatedAssetsOrBuilde * * *
    -     * The related assets of the asset of one relationship type.
    -     * One asset only represents one type of relationship.
    +     * DEPRECATED. This field only presents for the purpose of
    +     * backward-compatibility. The server will never generate responses with this
    +     * field.
    +     * The related assets of the asset of one relationship type. One asset
    +     * only represents one type of relationship.
          * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.cloud.asset.v1.RelatedAssets, @@ -4101,6 +4248,191 @@ public com.google.cloud.asset.v1.RelatedAssetsOrBuilder getRelatedAssetsOrBuilde return relatedAssetsBuilder_; } + private com.google.cloud.asset.v1.RelatedAsset relatedAsset_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.RelatedAsset, + com.google.cloud.asset.v1.RelatedAsset.Builder, + com.google.cloud.asset.v1.RelatedAssetOrBuilder> + relatedAssetBuilder_; + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + * + * @return Whether the relatedAsset field is set. + */ + public boolean hasRelatedAsset() { + return relatedAssetBuilder_ != null || relatedAsset_ != null; + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + * + * @return The relatedAsset. + */ + public com.google.cloud.asset.v1.RelatedAsset getRelatedAsset() { + if (relatedAssetBuilder_ == null) { + return relatedAsset_ == null + ? com.google.cloud.asset.v1.RelatedAsset.getDefaultInstance() + : relatedAsset_; + } else { + return relatedAssetBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + public Builder setRelatedAsset(com.google.cloud.asset.v1.RelatedAsset value) { + if (relatedAssetBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + relatedAsset_ = value; + onChanged(); + } else { + relatedAssetBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + public Builder setRelatedAsset(com.google.cloud.asset.v1.RelatedAsset.Builder builderForValue) { + if (relatedAssetBuilder_ == null) { + relatedAsset_ = builderForValue.build(); + onChanged(); + } else { + relatedAssetBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + public Builder mergeRelatedAsset(com.google.cloud.asset.v1.RelatedAsset value) { + if (relatedAssetBuilder_ == null) { + if (relatedAsset_ != null) { + relatedAsset_ = + com.google.cloud.asset.v1.RelatedAsset.newBuilder(relatedAsset_) + .mergeFrom(value) + .buildPartial(); + } else { + relatedAsset_ = value; + } + onChanged(); + } else { + relatedAssetBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + public Builder clearRelatedAsset() { + if (relatedAssetBuilder_ == null) { + relatedAsset_ = null; + onChanged(); + } else { + relatedAsset_ = null; + relatedAssetBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + public com.google.cloud.asset.v1.RelatedAsset.Builder getRelatedAssetBuilder() { + + onChanged(); + return getRelatedAssetFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + public com.google.cloud.asset.v1.RelatedAssetOrBuilder getRelatedAssetOrBuilder() { + if (relatedAssetBuilder_ != null) { + return relatedAssetBuilder_.getMessageOrBuilder(); + } else { + return relatedAsset_ == null + ? com.google.cloud.asset.v1.RelatedAsset.getDefaultInstance() + : relatedAsset_; + } + } + /** + * + * + *
    +     * One related asset of the current asset.
    +     * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.RelatedAsset, + com.google.cloud.asset.v1.RelatedAsset.Builder, + com.google.cloud.asset.v1.RelatedAssetOrBuilder> + getRelatedAssetFieldBuilder() { + if (relatedAssetBuilder_ == null) { + relatedAssetBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.RelatedAsset, + com.google.cloud.asset.v1.RelatedAsset.Builder, + com.google.cloud.asset.v1.RelatedAssetOrBuilder>( + getRelatedAsset(), getParentForChildren(), isClean()); + relatedAsset_ = null; + } + return relatedAssetBuilder_; + } + private com.google.protobuf.LazyStringList ancestors_ = com.google.protobuf.LazyStringArrayList.EMPTY; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetOrBuilder.java index 3eed5585649..5ec771a28d8 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetOrBuilder.java @@ -446,40 +446,91 @@ public interface AssetOrBuilder * * *
    -   * The related assets of the asset of one relationship type.
    -   * One asset only represents one type of relationship.
    +   * DEPRECATED. This field only presents for the purpose of
    +   * backward-compatibility. The server will never generate responses with this
    +   * field.
    +   * The related assets of the asset of one relationship type. One asset
    +   * only represents one type of relationship.
        * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; * + * @deprecated google.cloud.asset.v1.Asset.related_assets is deprecated. See + * google/cloud/asset/v1/assets.proto;l=167 * @return Whether the relatedAssets field is set. */ + @java.lang.Deprecated boolean hasRelatedAssets(); /** * * *
    -   * The related assets of the asset of one relationship type.
    -   * One asset only represents one type of relationship.
    +   * DEPRECATED. This field only presents for the purpose of
    +   * backward-compatibility. The server will never generate responses with this
    +   * field.
    +   * The related assets of the asset of one relationship type. One asset
    +   * only represents one type of relationship.
        * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; * + * @deprecated google.cloud.asset.v1.Asset.related_assets is deprecated. See + * google/cloud/asset/v1/assets.proto;l=167 * @return The relatedAssets. */ + @java.lang.Deprecated com.google.cloud.asset.v1.RelatedAssets getRelatedAssets(); /** * * *
    -   * The related assets of the asset of one relationship type.
    -   * One asset only represents one type of relationship.
    +   * DEPRECATED. This field only presents for the purpose of
    +   * backward-compatibility. The server will never generate responses with this
    +   * field.
    +   * The related assets of the asset of one relationship type. One asset
    +   * only represents one type of relationship.
        * 
    * - * .google.cloud.asset.v1.RelatedAssets related_assets = 13; + * .google.cloud.asset.v1.RelatedAssets related_assets = 13 [deprecated = true]; */ + @java.lang.Deprecated com.google.cloud.asset.v1.RelatedAssetsOrBuilder getRelatedAssetsOrBuilder(); + /** + * + * + *
    +   * One related asset of the current asset.
    +   * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + * + * @return Whether the relatedAsset field is set. + */ + boolean hasRelatedAsset(); + /** + * + * + *
    +   * One related asset of the current asset.
    +   * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + * + * @return The relatedAsset. + */ + com.google.cloud.asset.v1.RelatedAsset getRelatedAsset(); + /** + * + * + *
    +   * One related asset of the current asset.
    +   * 
    + * + * .google.cloud.asset.v1.RelatedAsset related_asset = 15; + */ + com.google.cloud.asset.v1.RelatedAssetOrBuilder getRelatedAssetOrBuilder(); + /** * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetProto.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetProto.java index 4131879ca66..575d30ee04a 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetProto.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetProto.java @@ -145,164 +145,166 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { "\n\"google/cloud/asset/v1/assets.proto\022\025go" - + "ogle.cloud.asset.v1\032\031google/api/resource" - + ".proto\032)google/cloud/orgpolicy/v1/orgpol" - + "icy.proto\032\032google/iam/v1/policy.proto\032:g" - + "oogle/identity/accesscontextmanager/v1/a" - + "ccess_level.proto\032;google/identity/acces" - + "scontextmanager/v1/access_policy.proto\032(" - + "google/cloud/osconfig/v1/inventory.proto" - + "\032?google/identity/accesscontextmanager/v" - + "1/service_perimeter.proto\032\031google/protob" - + "uf/any.proto\032\034google/protobuf/struct.pro" - + "to\032\037google/protobuf/timestamp.proto\032\025goo" - + "gle/rpc/code.proto\032\034google/api/annotatio" - + "ns.proto\"\365\002\n\rTemporalAsset\0221\n\006window\030\001 \001" - + "(\0132!.google.cloud.asset.v1.TimeWindow\022\017\n" - + "\007deleted\030\002 \001(\010\022+\n\005asset\030\003 \001(\0132\034.google.c" - + "loud.asset.v1.Asset\022O\n\021prior_asset_state" - + "\030\004 \001(\01624.google.cloud.asset.v1.TemporalA" - + "sset.PriorAssetState\0221\n\013prior_asset\030\005 \001(" - + "\0132\034.google.cloud.asset.v1.Asset\"o\n\017Prior" - + "AssetState\022!\n\035PRIOR_ASSET_STATE_UNSPECIF" - + "IED\020\000\022\013\n\007PRESENT\020\001\022\013\n\007INVALID\020\002\022\022\n\016DOES_" - + "NOT_EXIST\020\003\022\013\n\007DELETED\020\004\"j\n\nTimeWindow\022." - + "\n\nstart_time\030\001 \001(\0132\032.google.protobuf.Tim" - + "estamp\022,\n\010end_time\030\002 \001(\0132\032.google.protob" - + "uf.Timestamp\"\263\005\n\005Asset\022/\n\013update_time\030\013 " - + "\001(\0132\032.google.protobuf.Timestamp\022\014\n\004name\030" - + "\001 \001(\t\022\022\n\nasset_type\030\002 \001(\t\0221\n\010resource\030\003 " - + "\001(\0132\037.google.cloud.asset.v1.Resource\022)\n\n" - + "iam_policy\030\004 \001(\0132\025.google.iam.v1.Policy\022" - + "5\n\norg_policy\030\006 \003(\0132!.google.cloud.orgpo" - + "licy.v1.Policy\022N\n\raccess_policy\030\007 \001(\01325." - + "google.identity.accesscontextmanager.v1." - + "AccessPolicyH\000\022L\n\014access_level\030\010 \001(\01324.g" - + "oogle.identity.accesscontextmanager.v1.A" - + "ccessLevelH\000\022V\n\021service_perimeter\030\t \001(\0132" - + "9.google.identity.accesscontextmanager.v" - + "1.ServicePerimeterH\000\0229\n\014os_inventory\030\014 \001" - + "(\0132#.google.cloud.osconfig.v1.Inventory\022" - + "<\n\016related_assets\030\r \001(\0132$.google.cloud.a" - + "sset.v1.RelatedAssets\022\021\n\tancestors\030\n \003(\t" + + "ogle.cloud.asset.v1\032\037google/api/field_be" + + "havior.proto\032\031google/api/resource.proto\032" + + ")google/cloud/orgpolicy/v1/orgpolicy.pro" + + "to\032(google/cloud/osconfig/v1/inventory.p" + + "roto\032\032google/iam/v1/policy.proto\032:google" + + "/identity/accesscontextmanager/v1/access" + + "_level.proto\032;google/identity/accesscont" + + "extmanager/v1/access_policy.proto\032?googl" + + "e/identity/accesscontextmanager/v1/servi" + + "ce_perimeter.proto\032\034google/protobuf/stru" + + "ct.proto\032\037google/protobuf/timestamp.prot" + + "o\032\025google/rpc/code.proto\"\365\002\n\rTemporalAss" + + "et\0221\n\006window\030\001 \001(\0132!.google.cloud.asset." + + "v1.TimeWindow\022\017\n\007deleted\030\002 \001(\010\022+\n\005asset\030" + + "\003 \001(\0132\034.google.cloud.asset.v1.Asset\022O\n\021p" + + "rior_asset_state\030\004 \001(\01624.google.cloud.as" + + "set.v1.TemporalAsset.PriorAssetState\0221\n\013" + + "prior_asset\030\005 \001(\0132\034.google.cloud.asset.v" + + "1.Asset\"o\n\017PriorAssetState\022!\n\035PRIOR_ASSE" + + "T_STATE_UNSPECIFIED\020\000\022\013\n\007PRESENT\020\001\022\013\n\007IN" + + "VALID\020\002\022\022\n\016DOES_NOT_EXIST\020\003\022\013\n\007DELETED\020\004" + + "\"j\n\nTimeWindow\022.\n\nstart_time\030\001 \001(\0132\032.goo" + + "gle.protobuf.Timestamp\022,\n\010end_time\030\002 \001(\013" + + "2\032.google.protobuf.Timestamp\"\363\005\n\005Asset\022/" + + "\n\013update_time\030\013 \001(\0132\032.google.protobuf.Ti" + + "mestamp\022\014\n\004name\030\001 \001(\t\022\022\n\nasset_type\030\002 \001(" + + "\t\0221\n\010resource\030\003 \001(\0132\037.google.cloud.asset" + + ".v1.Resource\022)\n\niam_policy\030\004 \001(\0132\025.googl" + + "e.iam.v1.Policy\0225\n\norg_policy\030\006 \003(\0132!.go" + + "ogle.cloud.orgpolicy.v1.Policy\022N\n\raccess" + + "_policy\030\007 \001(\01325.google.identity.accessco" + + "ntextmanager.v1.AccessPolicyH\000\022L\n\014access" + + "_level\030\010 \001(\01324.google.identity.accesscon" + + "textmanager.v1.AccessLevelH\000\022V\n\021service_" + + "perimeter\030\t \001(\01329.google.identity.access" + + "contextmanager.v1.ServicePerimeterH\000\0229\n\014" + + "os_inventory\030\014 \001(\0132#.google.cloud.osconf" + + "ig.v1.Inventory\022@\n\016related_assets\030\r \001(\0132" + + "$.google.cloud.asset.v1.RelatedAssetsB\002\030" + + "\001\022:\n\rrelated_asset\030\017 \001(\0132#.google.cloud." + + "asset.v1.RelatedAsset\022\021\n\tancestors\030\n \003(\t" + ":\'\352A$\n\037cloudasset.googleapis.com/Asset\022\001" + "*B\027\n\025access_context_policy\"\262\001\n\010Resource\022" + "\017\n\007version\030\001 \001(\t\022\036\n\026discovery_document_u" + "ri\030\002 \001(\t\022\026\n\016discovery_name\030\003 \001(\t\022\024\n\014reso" + "urce_url\030\004 \001(\t\022\016\n\006parent\030\005 \001(\t\022%\n\004data\030\006" + " \001(\0132\027.google.protobuf.Struct\022\020\n\010locatio" - + "n\030\010 \001(\t\"\224\001\n\rRelatedAssets\022N\n\027relationshi" + + "n\030\010 \001(\t\"\230\001\n\rRelatedAssets\022N\n\027relationshi" + "p_attributes\030\001 \001(\0132-.google.cloud.asset." + "v1.RelationshipAttributes\0223\n\006assets\030\002 \003(" - + "\0132#.google.cloud.asset.v1.RelatedAsset\"r" - + "\n\026RelationshipAttributes\022\014\n\004type\030\004 \001(\t\022\034" - + "\n\024source_resource_type\030\001 \001(\t\022\034\n\024target_r" - + "esource_type\030\002 \001(\t\022\016\n\006action\030\003 \001(\t\"j\n\014Re" - + "latedAsset\0223\n\005asset\030\001 \001(\tB$\372A!\n\037cloudass" - + "et.googleapis.com/Asset\022\022\n\nasset_type\030\002 " - + "\001(\t\022\021\n\tancestors\030\003 \003(\t\"\365\006\n\024ResourceSearc" - + "hResult\022\014\n\004name\030\001 \001(\t\022\022\n\nasset_type\030\002 \001(" - + "\t\022\017\n\007project\030\003 \001(\t\022\017\n\007folders\030\021 \003(\t\022\024\n\014o" - + "rganization\030\022 \001(\t\022\024\n\014display_name\030\004 \001(\t\022" - + "\023\n\013description\030\005 \001(\t\022\020\n\010location\030\006 \001(\t\022G" - + "\n\006labels\030\007 \003(\01327.google.cloud.asset.v1.R" - + "esourceSearchResult.LabelsEntry\022\024\n\014netwo" - + "rk_tags\030\010 \003(\t\022\017\n\007kms_key\030\n \001(\t\022/\n\013create" - + "_time\030\013 \001(\0132\032.google.protobuf.Timestamp\022" - + "/\n\013update_time\030\014 \001(\0132\032.google.protobuf.T" - + "imestamp\022\r\n\005state\030\r \001(\t\0226\n\025additional_at" - + "tributes\030\t \001(\0132\027.google.protobuf.Struct\022" - + "!\n\031parent_full_resource_name\030\023 \001(\t\022E\n\023ve" - + "rsioned_resources\030\020 \003(\0132(.google.cloud.a" - + "sset.v1.VersionedResource\022C\n\022attached_re" - + "sources\030\024 \003(\0132\'.google.cloud.asset.v1.At" - + "tachedResource\022U\n\rrelationships\030\025 \003(\0132>." - + "google.cloud.asset.v1.ResourceSearchResu" - + "lt.RelationshipsEntry\022\031\n\021parent_asset_ty" - + "pe\030g \001(\t\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005" - + "value\030\002 \001(\t:\0028\001\032]\n\022RelationshipsEntry\022\013\n" - + "\003key\030\001 \001(\t\0226\n\005value\030\002 \001(\0132\'.google.cloud" - + ".asset.v1.RelatedResources:\0028\001\"O\n\021Versio" - + "nedResource\022\017\n\007version\030\001 \001(\t\022)\n\010resource" - + "\030\002 \001(\0132\027.google.protobuf.Struct\"m\n\020Attac" - + "hedResource\022\022\n\nasset_type\030\001 \001(\t\022E\n\023versi" - + "oned_resources\030\003 \003(\0132(.google.cloud.asse" - + "t.v1.VersionedResource\"U\n\020RelatedResourc" - + "es\022A\n\021related_resources\030\001 \003(\0132&.google.c" - + "loud.asset.v1.RelatedResource\"A\n\017Related" - + "Resource\022\022\n\nasset_type\030\001 \001(\t\022\032\n\022full_res" - + "ource_name\030\002 \001(\t\"\217\004\n\025IamPolicySearchResu" - + "lt\022\020\n\010resource\030\001 \001(\t\022\022\n\nasset_type\030\005 \001(\t" - + "\022\017\n\007project\030\002 \001(\t\022\017\n\007folders\030\006 \003(\t\022\024\n\014or" - + "ganization\030\007 \001(\t\022%\n\006policy\030\003 \001(\0132\025.googl" - + "e.iam.v1.Policy\022M\n\013explanation\030\004 \001(\01328.g" + + "\0132#.google.cloud.asset.v1.RelatedAsset:\002" + + "\030\001\"v\n\026RelationshipAttributes\022\014\n\004type\030\004 \001" + + "(\t\022\034\n\024source_resource_type\030\001 \001(\t\022\034\n\024targ" + + "et_resource_type\030\002 \001(\t\022\016\n\006action\030\003 \001(\t:\002" + + "\030\001\"\205\001\n\014RelatedAsset\0223\n\005asset\030\001 \001(\tB$\372A!\n" + + "\037cloudasset.googleapis.com/Asset\022\022\n\nasse" + + "t_type\030\002 \001(\t\022\021\n\tancestors\030\003 \003(\t\022\031\n\021relat" + + "ionship_type\030\004 \001(\t\"\262\007\n\024ResourceSearchRes" + + "ult\022\014\n\004name\030\001 \001(\t\022\022\n\nasset_type\030\002 \001(\t\022\017\n" + + "\007project\030\003 \001(\t\022\017\n\007folders\030\021 \003(\t\022\024\n\014organ" + + "ization\030\022 \001(\t\022\024\n\014display_name\030\004 \001(\t\022\023\n\013d" + + "escription\030\005 \001(\t\022\020\n\010location\030\006 \001(\t\022G\n\006la" + + "bels\030\007 \003(\01327.google.cloud.asset.v1.Resou" + + "rceSearchResult.LabelsEntry\022\024\n\014network_t" + + "ags\030\010 \003(\t\022\017\n\007kms_key\030\n \001(\t\022/\n\013create_tim" + + "e\030\013 \001(\0132\032.google.protobuf.Timestamp\022/\n\013u" + + "pdate_time\030\014 \001(\0132\032.google.protobuf.Times" + + "tamp\022\r\n\005state\030\r \001(\t\0226\n\025additional_attrib" + + "utes\030\t \001(\0132\027.google.protobuf.Struct\022!\n\031p" + + "arent_full_resource_name\030\023 \001(\t\022E\n\023versio" + + "ned_resources\030\020 \003(\0132(.google.cloud.asset" + + ".v1.VersionedResource\022C\n\022attached_resour" + + "ces\030\024 \003(\0132\'.google.cloud.asset.v1.Attach" + + "edResource\022U\n\rrelationships\030\025 \003(\0132>.goog" + + "le.cloud.asset.v1.ResourceSearchResult.R" + + "elationshipsEntry\022\020\n\010tag_keys\030\027 \003(\t\022\022\n\nt" + + "ag_values\030\031 \003(\t\022\025\n\rtag_value_ids\030\032 \003(\t\022\031" + + "\n\021parent_asset_type\030g \001(\t\032-\n\013LabelsEntry" + + "\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001\032]\n\022Rela" + + "tionshipsEntry\022\013\n\003key\030\001 \001(\t\0226\n\005value\030\002 \001" + + "(\0132\'.google.cloud.asset.v1.RelatedResour" + + "ces:\0028\001\"O\n\021VersionedResource\022\017\n\007version\030" + + "\001 \001(\t\022)\n\010resource\030\002 \001(\0132\027.google.protobu" + + "f.Struct\"m\n\020AttachedResource\022\022\n\nasset_ty" + + "pe\030\001 \001(\t\022E\n\023versioned_resources\030\003 \003(\0132(." + + "google.cloud.asset.v1.VersionedResource\"" + + "U\n\020RelatedResources\022A\n\021related_resources" + + "\030\001 \003(\0132&.google.cloud.asset.v1.RelatedRe" + + "source\"A\n\017RelatedResource\022\022\n\nasset_type\030" + + "\001 \001(\t\022\032\n\022full_resource_name\030\002 \001(\t\"\217\004\n\025Ia" + + "mPolicySearchResult\022\020\n\010resource\030\001 \001(\t\022\022\n" + + "\nasset_type\030\005 \001(\t\022\017\n\007project\030\002 \001(\t\022\017\n\007fo" + + "lders\030\006 \003(\t\022\024\n\014organization\030\007 \001(\t\022%\n\006pol" + + "icy\030\003 \001(\0132\025.google.iam.v1.Policy\022M\n\013expl" + + "anation\030\004 \001(\01328.google.cloud.asset.v1.Ia" + + "mPolicySearchResult.Explanation\032\241\002\n\013Expl" + + "anation\022m\n\023matched_permissions\030\001 \003(\0132P.g" + "oogle.cloud.asset.v1.IamPolicySearchResu" - + "lt.Explanation\032\241\002\n\013Explanation\022m\n\023matche" - + "d_permissions\030\001 \003(\0132P.google.cloud.asset" - + ".v1.IamPolicySearchResult.Explanation.Ma" - + "tchedPermissionsEntry\032\"\n\013Permissions\022\023\n\013" - + "permissions\030\001 \003(\t\032\177\n\027MatchedPermissionsE" - + "ntry\022\013\n\003key\030\001 \001(\t\022S\n\005value\030\002 \001(\0132D.googl" - + "e.cloud.asset.v1.IamPolicySearchResult.E" - + "xplanation.Permissions:\0028\001\"G\n\026IamPolicyA" - + "nalysisState\022\036\n\004code\030\001 \001(\0162\020.google.rpc." - + "Code\022\r\n\005cause\030\002 \001(\t\"\306\001\n\023ConditionEvaluat" - + "ion\022T\n\020evaluation_value\030\001 \001(\0162:.google.c" - + "loud.asset.v1.ConditionEvaluation.Evalua" - + "tionValue\"Y\n\017EvaluationValue\022 \n\034EVALUATI" - + "ON_VALUE_UNSPECIFIED\020\000\022\010\n\004TRUE\020\001\022\t\n\005FALS" - + "E\020\002\022\017\n\013CONDITIONAL\020\003\"\253\t\n\027IamPolicyAnalys" - + "isResult\022#\n\033attached_resource_full_name\030" - + "\001 \001(\t\022+\n\013iam_binding\030\002 \001(\0132\026.google.iam." - + "v1.Binding\022^\n\024access_control_lists\030\003 \003(\013" - + "2@.google.cloud.asset.v1.IamPolicyAnalys" - + "isResult.AccessControlList\022R\n\ridentity_l" - + "ist\030\004 \001(\0132;.google.cloud.asset.v1.IamPol" - + "icyAnalysisResult.IdentityList\022\026\n\016fully_" - + "explored\030\005 \001(\010\032m\n\010Resource\022\032\n\022full_resou" - + "rce_name\030\001 \001(\t\022E\n\016analysis_state\030\002 \001(\0132-" - + ".google.cloud.asset.v1.IamPolicyAnalysis" - + "State\032\205\001\n\006Access\022\016\n\004role\030\001 \001(\tH\000\022\024\n\nperm" - + "ission\030\002 \001(\tH\000\022E\n\016analysis_state\030\003 \001(\0132-" - + ".google.cloud.asset.v1.IamPolicyAnalysis" - + "StateB\016\n\014oneof_access\032_\n\010Identity\022\014\n\004nam" - + "e\030\001 \001(\t\022E\n\016analysis_state\030\002 \001(\0132-.google" - + ".cloud.asset.v1.IamPolicyAnalysisState\0320" - + "\n\004Edge\022\023\n\013source_node\030\001 \001(\t\022\023\n\013target_no" - + "de\030\002 \001(\t\032\277\002\n\021AccessControlList\022J\n\tresour" - + "ces\030\001 \003(\01327.google.cloud.asset.v1.IamPol" - + "icyAnalysisResult.Resource\022G\n\010accesses\030\002" - + " \003(\01325.google.cloud.asset.v1.IamPolicyAn" - + "alysisResult.Access\022K\n\016resource_edges\030\003 " - + "\003(\01323.google.cloud.asset.v1.IamPolicyAna" - + "lysisResult.Edge\022H\n\024condition_evaluation" - + "\030\004 \001(\0132*.google.cloud.asset.v1.Condition" - + "Evaluation\032\245\001\n\014IdentityList\022K\n\nidentitie" - + "s\030\001 \003(\01327.google.cloud.asset.v1.IamPolic" - + "yAnalysisResult.Identity\022H\n\013group_edges\030" - + "\002 \003(\01323.google.cloud.asset.v1.IamPolicyA" - + "nalysisResult.EdgeB\230\001\n\031com.google.cloud." - + "asset.v1B\nAssetProtoP\001Z:google.golang.or" - + "g/genproto/googleapis/cloud/asset/v1;ass" - + "et\370\001\001\252\002\025Google.Cloud.Asset.V1\312\002\025Google\\C" - + "loud\\Asset\\V1b\006proto3" + + "lt.Explanation.MatchedPermissionsEntry\032\"" + + "\n\013Permissions\022\023\n\013permissions\030\001 \003(\t\032\177\n\027Ma" + + "tchedPermissionsEntry\022\013\n\003key\030\001 \001(\t\022S\n\005va" + + "lue\030\002 \001(\0132D.google.cloud.asset.v1.IamPol" + + "icySearchResult.Explanation.Permissions:" + + "\0028\001\"G\n\026IamPolicyAnalysisState\022\036\n\004code\030\001 " + + "\001(\0162\020.google.rpc.Code\022\r\n\005cause\030\002 \001(\t\"\306\001\n" + + "\023ConditionEvaluation\022T\n\020evaluation_value" + + "\030\001 \001(\0162:.google.cloud.asset.v1.Condition" + + "Evaluation.EvaluationValue\"Y\n\017Evaluation" + + "Value\022 \n\034EVALUATION_VALUE_UNSPECIFIED\020\000\022" + + "\010\n\004TRUE\020\001\022\t\n\005FALSE\020\002\022\017\n\013CONDITIONAL\020\003\"\253\t" + + "\n\027IamPolicyAnalysisResult\022#\n\033attached_re" + + "source_full_name\030\001 \001(\t\022+\n\013iam_binding\030\002 " + + "\001(\0132\026.google.iam.v1.Binding\022^\n\024access_co" + + "ntrol_lists\030\003 \003(\0132@.google.cloud.asset.v" + + "1.IamPolicyAnalysisResult.AccessControlL" + + "ist\022R\n\ridentity_list\030\004 \001(\0132;.google.clou" + + "d.asset.v1.IamPolicyAnalysisResult.Ident" + + "ityList\022\026\n\016fully_explored\030\005 \001(\010\032m\n\010Resou" + + "rce\022\032\n\022full_resource_name\030\001 \001(\t\022E\n\016analy" + + "sis_state\030\002 \001(\0132-.google.cloud.asset.v1." + + "IamPolicyAnalysisState\032\205\001\n\006Access\022\016\n\004rol" + + "e\030\001 \001(\tH\000\022\024\n\npermission\030\002 \001(\tH\000\022E\n\016analy" + + "sis_state\030\003 \001(\0132-.google.cloud.asset.v1." + + "IamPolicyAnalysisStateB\016\n\014oneof_access\032_" + + "\n\010Identity\022\014\n\004name\030\001 \001(\t\022E\n\016analysis_sta" + + "te\030\002 \001(\0132-.google.cloud.asset.v1.IamPoli" + + "cyAnalysisState\0320\n\004Edge\022\023\n\013source_node\030\001" + + " \001(\t\022\023\n\013target_node\030\002 \001(\t\032\277\002\n\021AccessCont" + + "rolList\022J\n\tresources\030\001 \003(\01327.google.clou" + + "d.asset.v1.IamPolicyAnalysisResult.Resou" + + "rce\022G\n\010accesses\030\002 \003(\01325.google.cloud.ass" + + "et.v1.IamPolicyAnalysisResult.Access\022K\n\016" + + "resource_edges\030\003 \003(\01323.google.cloud.asse" + + "t.v1.IamPolicyAnalysisResult.Edge\022H\n\024con" + + "dition_evaluation\030\004 \001(\0132*.google.cloud.a" + + "sset.v1.ConditionEvaluation\032\245\001\n\014Identity" + + "List\022K\n\nidentities\030\001 \003(\01327.google.cloud." + + "asset.v1.IamPolicyAnalysisResult.Identit" + + "y\022H\n\013group_edges\030\002 \003(\01323.google.cloud.as" + + "set.v1.IamPolicyAnalysisResult.EdgeB\230\001\n\031" + + "com.google.cloud.asset.v1B\nAssetProtoP\001Z" + + ":google.golang.org/genproto/googleapis/c" + + "loud/asset/v1;asset\370\001\001\252\002\025Google.Cloud.As" + + "set.V1\312\002\025Google\\Cloud\\Asset\\V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), com.google.cloud.orgpolicy.v1.OrgPolicyProto.getDescriptor(), + com.google.cloud.osconfig.v1.Inventories.getDescriptor(), com.google.iam.v1.PolicyProto.getDescriptor(), com.google.identity.accesscontextmanager.v1.AccessLevelProto.getDescriptor(), com.google.identity.accesscontextmanager.v1.PolicyProto.getDescriptor(), - com.google.cloud.osconfig.v1.Inventories.getDescriptor(), com.google.identity.accesscontextmanager.v1.ServicePerimeterProto.getDescriptor(), - com.google.protobuf.AnyProto.getDescriptor(), com.google.protobuf.StructProto.getDescriptor(), com.google.protobuf.TimestampProto.getDescriptor(), com.google.rpc.CodeProto.getDescriptor(), - com.google.api.AnnotationsProto.getDescriptor(), }); internal_static_google_cloud_asset_v1_TemporalAsset_descriptor = getDescriptor().getMessageTypes().get(0); @@ -337,6 +339,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "ServicePerimeter", "OsInventory", "RelatedAssets", + "RelatedAsset", "Ancestors", "AccessContextPolicy", }); @@ -376,7 +379,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_RelatedAsset_descriptor, new java.lang.String[] { - "Asset", "AssetType", "Ancestors", + "Asset", "AssetType", "Ancestors", "RelationshipType", }); internal_static_google_cloud_asset_v1_ResourceSearchResult_descriptor = getDescriptor().getMessageTypes().get(7); @@ -403,6 +406,9 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "VersionedResources", "AttachedResources", "Relationships", + "TagKeys", + "TagValues", + "TagValueIds", "ParentAssetType", }); internal_static_google_cloud_asset_v1_ResourceSearchResult_LabelsEntry_descriptor = @@ -595,18 +601,17 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { registry.add(com.google.api.ResourceProto.resourceReference); com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( descriptor, registry); + com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); com.google.cloud.orgpolicy.v1.OrgPolicyProto.getDescriptor(); + com.google.cloud.osconfig.v1.Inventories.getDescriptor(); com.google.iam.v1.PolicyProto.getDescriptor(); com.google.identity.accesscontextmanager.v1.AccessLevelProto.getDescriptor(); com.google.identity.accesscontextmanager.v1.PolicyProto.getDescriptor(); - com.google.cloud.osconfig.v1.Inventories.getDescriptor(); com.google.identity.accesscontextmanager.v1.ServicePerimeterProto.getDescriptor(); - com.google.protobuf.AnyProto.getDescriptor(); com.google.protobuf.StructProto.getDescriptor(); com.google.protobuf.TimestampProto.getDescriptor(); com.google.rpc.CodeProto.getDescriptor(); - com.google.api.AnnotationsProto.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceProto.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceProto.java index 46520dceb2f..3513ae20592 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceProto.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/AssetServiceProto.java @@ -187,6 +187,42 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_cloud_asset_v1_AnalyzeIamPolicyLongrunningResponse_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_cloud_asset_v1_AnalyzeIamPolicyLongrunningResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_SavedQuery_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_SavedQuery_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_SavedQuery_LabelsEntry_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_SavedQuery_LabelsEntry_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_GetSavedQueryRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_GetSavedQueryRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_fieldAccessorTable; static final com.google.protobuf.Descriptors.Descriptor internal_static_google_cloud_asset_v1_AnalyzeMoveRequest_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable @@ -207,6 +243,22 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_cloud_asset_v1_MoveImpact_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_cloud_asset_v1_MoveImpact_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; @@ -221,249 +273,325 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "nnotations.proto\032\027google/api/client.prot" + "o\032\037google/api/field_behavior.proto\032\031goog" + "le/api/resource.proto\032\"google/cloud/asse" - + "t/v1/assets.proto\032#google/longrunning/op" - + "erations.proto\032\036google/protobuf/duration" - + ".proto\032\033google/protobuf/empty.proto\032 goo" - + "gle/protobuf/field_mask.proto\032\034google/pr" - + "otobuf/struct.proto\032\037google/protobuf/tim" - + "estamp.proto\032\027google/rpc/status.proto\032\026g" - + "oogle/type/expr.proto\"[\n#AnalyzeIamPolic" - + "yLongrunningMetadata\0224\n\013create_time\030\001 \001(" - + "\0132\032.google.protobuf.TimestampB\003\340A\003\"\251\002\n\023E" - + "xportAssetsRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372" - + "A!\022\037cloudasset.googleapis.com/Asset\022-\n\tr" - + "ead_time\030\002 \001(\0132\032.google.protobuf.Timesta" - + "mp\022\023\n\013asset_types\030\003 \003(\t\0228\n\014content_type\030" - + "\004 \001(\0162\".google.cloud.asset.v1.ContentTyp" - + "e\022?\n\routput_config\030\005 \001(\0132#.google.cloud." - + "asset.v1.OutputConfigB\003\340A\002\022\032\n\022relationsh" - + "ip_types\030\006 \003(\t\"\275\001\n\024ExportAssetsResponse\022" - + "-\n\tread_time\030\001 \001(\0132\032.google.protobuf.Tim" - + "estamp\022:\n\routput_config\030\002 \001(\0132#.google.c" - + "loud.asset.v1.OutputConfig\022:\n\routput_res" - + "ult\030\003 \001(\0132#.google.cloud.asset.v1.Output" - + "Result\"\215\002\n\021ListAssetsRequest\0227\n\006parent\030\001" - + " \001(\tB\'\340A\002\372A!\022\037cloudasset.googleapis.com/" - + "Asset\022-\n\tread_time\030\002 \001(\0132\032.google.protob" - + "uf.Timestamp\022\023\n\013asset_types\030\003 \003(\t\0228\n\014con" - + "tent_type\030\004 \001(\0162\".google.cloud.asset.v1." - + "ContentType\022\021\n\tpage_size\030\005 \001(\005\022\022\n\npage_t" - + "oken\030\006 \001(\t\022\032\n\022relationship_types\030\007 \003(\t\"\212" - + "\001\n\022ListAssetsResponse\022-\n\tread_time\030\001 \001(\013" - + "2\032.google.protobuf.Timestamp\022,\n\006assets\030\002" - + " \003(\0132\034.google.cloud.asset.v1.Asset\022\027\n\017ne" - + "xt_page_token\030\003 \001(\t\"\216\002\n\034BatchGetAssetsHi" - + "storyRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!\022\037cl" - + "oudasset.googleapis.com/Asset\022\023\n\013asset_n" - + "ames\030\002 \003(\t\022=\n\014content_type\030\003 \001(\0162\".googl" - + "e.cloud.asset.v1.ContentTypeB\003\340A\001\022@\n\020rea" - + "d_time_window\030\004 \001(\0132!.google.cloud.asset" - + ".v1.TimeWindowB\003\340A\001\022\037\n\022relationship_type" - + "s\030\005 \003(\tB\003\340A\001\"U\n\035BatchGetAssetsHistoryRes" - + "ponse\0224\n\006assets\030\001 \003(\0132$.google.cloud.ass" - + "et.v1.TemporalAsset\"n\n\021CreateFeedRequest" - + "\022\023\n\006parent\030\001 \001(\tB\003\340A\002\022\024\n\007feed_id\030\002 \001(\tB\003" - + "\340A\002\022.\n\004feed\030\003 \001(\0132\033.google.cloud.asset.v" - + "1.FeedB\003\340A\002\"F\n\016GetFeedRequest\0224\n\004name\030\001 " - + "\001(\tB&\340A\002\372A \n\036cloudasset.googleapis.com/F" - + "eed\"\'\n\020ListFeedsRequest\022\023\n\006parent\030\001 \001(\tB" - + "\003\340A\002\"?\n\021ListFeedsResponse\022*\n\005feeds\030\001 \003(\013" - + "2\033.google.cloud.asset.v1.Feed\"y\n\021UpdateF" - + "eedRequest\022.\n\004feed\030\001 \001(\0132\033.google.cloud." - + "asset.v1.FeedB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132" - + "\032.google.protobuf.FieldMaskB\003\340A\002\"I\n\021Dele" - + "teFeedRequest\0224\n\004name\030\001 \001(\tB&\340A\002\372A \n\036clo" - + "udasset.googleapis.com/Feed\"\253\001\n\014OutputCo" - + "nfig\022@\n\017gcs_destination\030\001 \001(\0132%.google.c" - + "loud.asset.v1.GcsDestinationH\000\022J\n\024bigque" - + "ry_destination\030\002 \001(\0132*.google.cloud.asse" - + "t.v1.BigQueryDestinationH\000B\r\n\013destinatio" - + "n\"V\n\014OutputResult\022<\n\ngcs_result\030\001 \001(\0132&." - + "google.cloud.asset.v1.GcsOutputResultH\000B" - + "\010\n\006result\"\037\n\017GcsOutputResult\022\014\n\004uris\030\001 \003" - + "(\t\"C\n\016GcsDestination\022\r\n\003uri\030\001 \001(\tH\000\022\024\n\nu" - + "ri_prefix\030\002 \001(\tH\000B\014\n\nobject_uri\"\264\001\n\023BigQ" - + "ueryDestination\022\024\n\007dataset\030\001 \001(\tB\003\340A\002\022\022\n" - + "\005table\030\002 \001(\tB\003\340A\002\022\r\n\005force\030\003 \001(\010\022<\n\016part" - + "ition_spec\030\004 \001(\0132$.google.cloud.asset.v1" - + ".PartitionSpec\022&\n\036separate_tables_per_as" - + "set_type\030\005 \001(\010\"\251\001\n\rPartitionSpec\022H\n\rpart" - + "ition_key\030\001 \001(\01621.google.cloud.asset.v1." - + "PartitionSpec.PartitionKey\"N\n\014PartitionK" - + "ey\022\035\n\031PARTITION_KEY_UNSPECIFIED\020\000\022\r\n\tREA" - + "D_TIME\020\001\022\020\n\014REQUEST_TIME\020\002\"\"\n\021PubsubDest" - + "ination\022\r\n\005topic\030\001 \001(\t\"i\n\020FeedOutputConf" - + "ig\022F\n\022pubsub_destination\030\001 \001(\0132(.google." - + "cloud.asset.v1.PubsubDestinationH\000B\r\n\013de" - + "stination\"\235\003\n\004Feed\022\021\n\004name\030\001 \001(\tB\003\340A\002\022\023\n" - + "\013asset_names\030\002 \003(\t\022\023\n\013asset_types\030\003 \003(\t\022" - + "8\n\014content_type\030\004 \001(\0162\".google.cloud.ass" - + "et.v1.ContentType\022H\n\022feed_output_config\030" - + "\005 \001(\0132\'.google.cloud.asset.v1.FeedOutput" - + "ConfigB\003\340A\002\022$\n\tcondition\030\006 \001(\0132\021.google." - + "type.Expr\022\032\n\022relationship_types\030\007 \003(\t:\221\001" - + "\352A\215\001\n\036cloudasset.googleapis.com/Feed\022\037pr" - + "ojects/{project}/feeds/{feed}\022\035folders/{" - + "folder}/feeds/{feed}\022)organizations/{org" - + "anization}/feeds/{feed} \001\"\331\001\n\031SearchAllR" - + "esourcesRequest\022\022\n\005scope\030\001 \001(\tB\003\340A\002\022\022\n\005q" - + "uery\030\002 \001(\tB\003\340A\001\022\030\n\013asset_types\030\003 \003(\tB\003\340A" - + "\001\022\026\n\tpage_size\030\004 \001(\005B\003\340A\001\022\027\n\npage_token\030" - + "\005 \001(\tB\003\340A\001\022\025\n\010order_by\030\006 \001(\tB\003\340A\001\0222\n\trea" - + "d_mask\030\010 \001(\0132\032.google.protobuf.FieldMask" - + "B\003\340A\001\"s\n\032SearchAllResourcesResponse\022<\n\007r" - + "esults\030\001 \003(\0132+.google.cloud.asset.v1.Res" - + "ourceSearchResult\022\027\n\017next_page_token\030\002 \001" - + "(\t\"\247\001\n\033SearchAllIamPoliciesRequest\022\022\n\005sc" - + "ope\030\001 \001(\tB\003\340A\002\022\022\n\005query\030\002 \001(\tB\003\340A\001\022\026\n\tpa" - + "ge_size\030\003 \001(\005B\003\340A\001\022\027\n\npage_token\030\004 \001(\tB\003" - + "\340A\001\022\030\n\013asset_types\030\005 \003(\tB\003\340A\001\022\025\n\010order_b" - + "y\030\007 \001(\tB\003\340A\001\"v\n\034SearchAllIamPoliciesResp" - + "onse\022=\n\007results\030\001 \003(\0132,.google.cloud.ass" - + "et.v1.IamPolicySearchResult\022\027\n\017next_page" - + "_token\030\002 \001(\t\"\306\007\n\026IamPolicyAnalysisQuery\022" - + "\022\n\005scope\030\001 \001(\tB\003\340A\002\022^\n\021resource_selector" - + "\030\002 \001(\0132>.google.cloud.asset.v1.IamPolicy" - + "AnalysisQuery.ResourceSelectorB\003\340A\001\022^\n\021i" - + "dentity_selector\030\003 \001(\0132>.google.cloud.as" - + "set.v1.IamPolicyAnalysisQuery.IdentitySe" - + "lectorB\003\340A\001\022Z\n\017access_selector\030\004 \001(\0132<.g" - + "oogle.cloud.asset.v1.IamPolicyAnalysisQu" - + "ery.AccessSelectorB\003\340A\001\022K\n\007options\030\005 \001(\013" - + "25.google.cloud.asset.v1.IamPolicyAnalys" - + "isQuery.OptionsB\003\340A\001\022^\n\021condition_contex" - + "t\030\006 \001(\0132>.google.cloud.asset.v1.IamPolic" - + "yAnalysisQuery.ConditionContextB\003\340A\001\0323\n\020" - + "ResourceSelector\022\037\n\022full_resource_name\030\001" - + " \001(\tB\003\340A\002\032)\n\020IdentitySelector\022\025\n\010identit" - + "y\030\001 \001(\tB\003\340A\002\032>\n\016AccessSelector\022\022\n\005roles\030" - + "\001 \003(\tB\003\340A\001\022\030\n\013permissions\030\002 \003(\tB\003\340A\001\032\330\001\n" - + "\007Options\022\032\n\rexpand_groups\030\001 \001(\010B\003\340A\001\022\031\n\014" - + "expand_roles\030\002 \001(\010B\003\340A\001\022\035\n\020expand_resour" - + "ces\030\003 \001(\010B\003\340A\001\022\"\n\025output_resource_edges\030" - + "\004 \001(\010B\003\340A\001\022\037\n\022output_group_edges\030\005 \001(\010B\003" - + "\340A\001\0222\n%analyze_service_account_impersona" - + "tion\030\006 \001(\010B\003\340A\001\032T\n\020ConditionContext\0221\n\013a" - + "ccess_time\030\001 \001(\0132\032.google.protobuf.Times" - + "tampH\000B\r\n\013TimeContext\"\240\001\n\027AnalyzeIamPoli" - + "cyRequest\022J\n\016analysis_query\030\001 \001(\0132-.goog" - + "le.cloud.asset.v1.IamPolicyAnalysisQuery" - + "B\003\340A\002\0229\n\021execution_timeout\030\002 \001(\0132\031.googl" - + "e.protobuf.DurationB\003\340A\001\"\212\004\n\030AnalyzeIamP" - + "olicyResponse\022X\n\rmain_analysis\030\001 \001(\0132A.g" - + "oogle.cloud.asset.v1.AnalyzeIamPolicyRes" - + "ponse.IamPolicyAnalysis\022q\n&service_accou" - + "nt_impersonation_analysis\030\002 \003(\0132A.google" - + ".cloud.asset.v1.AnalyzeIamPolicyResponse" - + ".IamPolicyAnalysis\022\026\n\016fully_explored\030\003 \001" - + "(\010\032\210\002\n\021IamPolicyAnalysis\022E\n\016analysis_que" - + "ry\030\001 \001(\0132-.google.cloud.asset.v1.IamPoli" - + "cyAnalysisQuery\022H\n\020analysis_results\030\002 \003(" - + "\0132..google.cloud.asset.v1.IamPolicyAnaly" - + "sisResult\022\026\n\016fully_explored\030\003 \001(\010\022J\n\023non" - + "_critical_errors\030\005 \003(\0132-.google.cloud.as" - + "set.v1.IamPolicyAnalysisState\"\264\004\n\035IamPol" - + "icyAnalysisOutputConfig\022^\n\017gcs_destinati" - + "on\030\001 \001(\0132C.google.cloud.asset.v1.IamPoli" - + "cyAnalysisOutputConfig.GcsDestinationH\000\022" - + "h\n\024bigquery_destination\030\002 \001(\0132H.google.c" - + "loud.asset.v1.IamPolicyAnalysisOutputCon" - + "fig.BigQueryDestinationH\000\032\"\n\016GcsDestinat" - + "ion\022\020\n\003uri\030\001 \001(\tB\003\340A\002\032\225\002\n\023BigQueryDestin" - + "ation\022\024\n\007dataset\030\001 \001(\tB\003\340A\002\022\031\n\014table_pre" - + "fix\030\002 \001(\tB\003\340A\002\022l\n\rpartition_key\030\003 \001(\0162U." - + "google.cloud.asset.v1.IamPolicyAnalysisO" - + "utputConfig.BigQueryDestination.Partitio" - + "nKey\022\036\n\021write_disposition\030\004 \001(\tB\003\340A\001\"?\n\014" - + "PartitionKey\022\035\n\031PARTITION_KEY_UNSPECIFIE" - + "D\020\000\022\020\n\014REQUEST_TIME\020\001B\r\n\013destination\"\302\001\n" - + "\"AnalyzeIamPolicyLongrunningRequest\022J\n\016a" - + "nalysis_query\030\001 \001(\0132-.google.cloud.asset" - + ".v1.IamPolicyAnalysisQueryB\003\340A\002\022P\n\routpu" - + "t_config\030\002 \001(\01324.google.cloud.asset.v1.I" - + "amPolicyAnalysisOutputConfigB\003\340A\002\"%\n#Ana" - + "lyzeIamPolicyLongrunningResponse\"\326\001\n\022Ana" - + "lyzeMoveRequest\022\025\n\010resource\030\001 \001(\tB\003\340A\002\022\037" - + "\n\022destination_parent\030\002 \001(\tB\003\340A\002\022D\n\004view\030" - + "\003 \001(\01626.google.cloud.asset.v1.AnalyzeMov" - + "eRequest.AnalysisView\"B\n\014AnalysisView\022\035\n" - + "\031ANALYSIS_VIEW_UNSPECIFIED\020\000\022\010\n\004FULL\020\001\022\t" - + "\n\005BASIC\020\002\"Q\n\023AnalyzeMoveResponse\022:\n\rmove" - + "_analysis\030\001 \003(\0132#.google.cloud.asset.v1." - + "MoveAnalysis\"\222\001\n\014MoveAnalysis\022\024\n\014display" - + "_name\030\001 \001(\t\022=\n\010analysis\030\002 \001(\0132).google.c" - + "loud.asset.v1.MoveAnalysisResultH\000\022#\n\005er" - + "ror\030\003 \001(\0132\022.google.rpc.StatusH\000B\010\n\006resul" - + "t\"~\n\022MoveAnalysisResult\0223\n\010blockers\030\001 \003(" - + "\0132!.google.cloud.asset.v1.MoveImpact\0223\n\010" - + "warnings\030\002 \003(\0132!.google.cloud.asset.v1.M" - + "oveImpact\"\034\n\nMoveImpact\022\016\n\006detail\030\001 \001(\t*" - + "\220\001\n\013ContentType\022\034\n\030CONTENT_TYPE_UNSPECIF" - + "IED\020\000\022\014\n\010RESOURCE\020\001\022\016\n\nIAM_POLICY\020\002\022\016\n\nO" - + "RG_POLICY\020\004\022\021\n\rACCESS_POLICY\020\005\022\020\n\014OS_INV" - + "ENTORY\020\006\022\020\n\014RELATIONSHIP\020\0072\367\021\n\014AssetServ" - + "ice\022\336\001\n\014ExportAssets\022*.google.cloud.asse" - + "t.v1.ExportAssetsRequest\032\035.google.longru" - + "nning.Operation\"\202\001\202\323\344\223\002\"\"\035/v1/{parent=*/" - + "*}:exportAssets:\001*\312AW\n*google.cloud.asse" - + "t.v1.ExportAssetsResponse\022)google.cloud." - + "asset.v1.ExportAssetsRequest\022\213\001\n\nListAss" - + "ets\022(.google.cloud.asset.v1.ListAssetsRe" - + "quest\032).google.cloud.asset.v1.ListAssets" - + "Response\"(\202\323\344\223\002\031\022\027/v1/{parent=*/*}/asset" - + "s\332A\006parent\022\262\001\n\025BatchGetAssetsHistory\0223.g" - + "oogle.cloud.asset.v1.BatchGetAssetsHisto" - + "ryRequest\0324.google.cloud.asset.v1.BatchG" - + "etAssetsHistoryResponse\".\202\323\344\223\002(\022&/v1/{pa" - + "rent=*/*}:batchGetAssetsHistory\022\177\n\nCreat" - + "eFeed\022(.google.cloud.asset.v1.CreateFeed" - + "Request\032\033.google.cloud.asset.v1.Feed\"*\202\323" - + "\344\223\002\033\"\026/v1/{parent=*/*}/feeds:\001*\332A\006parent" - + "\022t\n\007GetFeed\022%.google.cloud.asset.v1.GetF" - + "eedRequest\032\033.google.cloud.asset.v1.Feed\"" - + "%\202\323\344\223\002\030\022\026/v1/{name=*/*/feeds/*}\332A\004name\022\207" - + "\001\n\tListFeeds\022\'.google.cloud.asset.v1.Lis" - + "tFeedsRequest\032(.google.cloud.asset.v1.Li" - + "stFeedsResponse\"\'\202\323\344\223\002\030\022\026/v1/{parent=*/*" - + "}/feeds\332A\006parent\022\202\001\n\nUpdateFeed\022(.google" - + ".cloud.asset.v1.UpdateFeedRequest\032\033.goog" - + "le.cloud.asset.v1.Feed\"-\202\323\344\223\002 2\033/v1/{fee" - + "d.name=*/*/feeds/*}:\001*\332A\004feed\022u\n\nDeleteF" - + "eed\022(.google.cloud.asset.v1.DeleteFeedRe" - + "quest\032\026.google.protobuf.Empty\"%\202\323\344\223\002\030*\026/" - + "v1/{name=*/*/feeds/*}\332A\004name\022\277\001\n\022SearchA" - + "llResources\0220.google.cloud.asset.v1.Sear" - + "chAllResourcesRequest\0321.google.cloud.ass" - + "et.v1.SearchAllResourcesResponse\"D\202\323\344\223\002$" - + "\022\"/v1/{scope=*/*}:searchAllResources\332A\027s" - + "cope,query,asset_types\022\273\001\n\024SearchAllIamP" - + "olicies\0222.google.cloud.asset.v1.SearchAl" - + "lIamPoliciesRequest\0323.google.cloud.asset" - + ".v1.SearchAllIamPoliciesResponse\":\202\323\344\223\002&" - + "\022$/v1/{scope=*/*}:searchAllIamPolicies\332A" - + "\013scope,query\022\254\001\n\020AnalyzeIamPolicy\022..goog" - + "le.cloud.asset.v1.AnalyzeIamPolicyReques" - + "t\032/.google.cloud.asset.v1.AnalyzeIamPoli" - + "cyResponse\"7\202\323\344\223\0021\022//v1/{analysis_query." - + "scope=*/*}:analyzeIamPolicy\022\270\002\n\033AnalyzeI" - + "amPolicyLongrunning\0229.google.cloud.asset" - + ".v1.AnalyzeIamPolicyLongrunningRequest\032\035" - + ".google.longrunning.Operation\"\276\001\202\323\344\223\002?\":" - + "/v1/{analysis_query.scope=*/*}:analyzeIa" - + "mPolicyLongrunning:\001*\312Av\n9google.cloud.a" - + "sset.v1.AnalyzeIamPolicyLongrunningRespo" - + "nse\0229google.cloud.asset.v1.AnalyzeIamPol" - + "icyLongrunningMetadata\022\214\001\n\013AnalyzeMove\022)" - + ".google.cloud.asset.v1.AnalyzeMoveReques" - + "t\032*.google.cloud.asset.v1.AnalyzeMoveRes" - + "ponse\"&\202\323\344\223\002 \022\036/v1/{resource=*/*}:analyz" - + "eMove\032M\312A\031cloudasset.googleapis.com\322A.ht" - + "tps://www.googleapis.com/auth/cloud-plat" - + "formB\234\001\n\031com.google.cloud.asset.v1B\021Asse" - + "tServiceProtoP\001Z:google.golang.org/genpr" - + "oto/googleapis/cloud/asset/v1;asset\252\002\025Go" - + "ogle.Cloud.Asset.V1\312\002\025Google\\Cloud\\Asset" - + "\\V1b\006proto3" + + "t/v1/assets.proto\032\032google/iam/v1/policy." + + "proto\032#google/longrunning/operations.pro" + + "to\032\036google/protobuf/duration.proto\032\033goog" + + "le/protobuf/empty.proto\032 google/protobuf" + + "/field_mask.proto\032\037google/protobuf/times" + + "tamp.proto\032\027google/rpc/status.proto\032\026goo" + + "gle/type/expr.proto\"[\n#AnalyzeIamPolicyL" + + "ongrunningMetadata\0224\n\013create_time\030\001 \001(\0132" + + "\032.google.protobuf.TimestampB\003\340A\003\"\251\002\n\023Exp" + + "ortAssetsRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!" + + "\022\037cloudasset.googleapis.com/Asset\022-\n\trea" + + "d_time\030\002 \001(\0132\032.google.protobuf.Timestamp" + + "\022\023\n\013asset_types\030\003 \003(\t\0228\n\014content_type\030\004 " + + "\001(\0162\".google.cloud.asset.v1.ContentType\022" + + "?\n\routput_config\030\005 \001(\0132#.google.cloud.as" + + "set.v1.OutputConfigB\003\340A\002\022\032\n\022relationship" + + "_types\030\006 \003(\t\"\275\001\n\024ExportAssetsResponse\022-\n" + + "\tread_time\030\001 \001(\0132\032.google.protobuf.Times" + + "tamp\022:\n\routput_config\030\002 \001(\0132#.google.clo" + + "ud.asset.v1.OutputConfig\022:\n\routput_resul" + + "t\030\003 \001(\0132#.google.cloud.asset.v1.OutputRe" + + "sult\"\215\002\n\021ListAssetsRequest\0227\n\006parent\030\001 \001" + + "(\tB\'\340A\002\372A!\022\037cloudasset.googleapis.com/As" + + "set\022-\n\tread_time\030\002 \001(\0132\032.google.protobuf" + + ".Timestamp\022\023\n\013asset_types\030\003 \003(\t\0228\n\014conte" + + "nt_type\030\004 \001(\0162\".google.cloud.asset.v1.Co" + + "ntentType\022\021\n\tpage_size\030\005 \001(\005\022\022\n\npage_tok" + + "en\030\006 \001(\t\022\032\n\022relationship_types\030\007 \003(\t\"\212\001\n" + + "\022ListAssetsResponse\022-\n\tread_time\030\001 \001(\0132\032" + + ".google.protobuf.Timestamp\022,\n\006assets\030\002 \003" + + "(\0132\034.google.cloud.asset.v1.Asset\022\027\n\017next" + + "_page_token\030\003 \001(\t\"\216\002\n\034BatchGetAssetsHist" + + "oryRequest\0227\n\006parent\030\001 \001(\tB\'\340A\002\372A!\022\037clou" + + "dasset.googleapis.com/Asset\022\023\n\013asset_nam" + + "es\030\002 \003(\t\022=\n\014content_type\030\003 \001(\0162\".google." + + "cloud.asset.v1.ContentTypeB\003\340A\001\022@\n\020read_" + + "time_window\030\004 \001(\0132!.google.cloud.asset.v" + + "1.TimeWindowB\003\340A\001\022\037\n\022relationship_types\030" + + "\005 \003(\tB\003\340A\001\"U\n\035BatchGetAssetsHistoryRespo" + + "nse\0224\n\006assets\030\001 \003(\0132$.google.cloud.asset" + + ".v1.TemporalAsset\"n\n\021CreateFeedRequest\022\023" + + "\n\006parent\030\001 \001(\tB\003\340A\002\022\024\n\007feed_id\030\002 \001(\tB\003\340A" + + "\002\022.\n\004feed\030\003 \001(\0132\033.google.cloud.asset.v1." + + "FeedB\003\340A\002\"F\n\016GetFeedRequest\0224\n\004name\030\001 \001(" + + "\tB&\340A\002\372A \n\036cloudasset.googleapis.com/Fee" + + "d\"\'\n\020ListFeedsRequest\022\023\n\006parent\030\001 \001(\tB\003\340" + + "A\002\"?\n\021ListFeedsResponse\022*\n\005feeds\030\001 \003(\0132\033" + + ".google.cloud.asset.v1.Feed\"y\n\021UpdateFee" + + "dRequest\022.\n\004feed\030\001 \001(\0132\033.google.cloud.as" + + "set.v1.FeedB\003\340A\002\0224\n\013update_mask\030\002 \001(\0132\032." + + "google.protobuf.FieldMaskB\003\340A\002\"I\n\021Delete" + + "FeedRequest\0224\n\004name\030\001 \001(\tB&\340A\002\372A \n\036cloud" + + "asset.googleapis.com/Feed\"\253\001\n\014OutputConf" + + "ig\022@\n\017gcs_destination\030\001 \001(\0132%.google.clo" + + "ud.asset.v1.GcsDestinationH\000\022J\n\024bigquery" + + "_destination\030\002 \001(\0132*.google.cloud.asset." + + "v1.BigQueryDestinationH\000B\r\n\013destination\"" + + "V\n\014OutputResult\022<\n\ngcs_result\030\001 \001(\0132&.go" + + "ogle.cloud.asset.v1.GcsOutputResultH\000B\010\n" + + "\006result\"\037\n\017GcsOutputResult\022\014\n\004uris\030\001 \003(\t" + + "\"C\n\016GcsDestination\022\r\n\003uri\030\001 \001(\tH\000\022\024\n\nuri" + + "_prefix\030\002 \001(\tH\000B\014\n\nobject_uri\"\264\001\n\023BigQue" + + "ryDestination\022\024\n\007dataset\030\001 \001(\tB\003\340A\002\022\022\n\005t" + + "able\030\002 \001(\tB\003\340A\002\022\r\n\005force\030\003 \001(\010\022<\n\016partit" + + "ion_spec\030\004 \001(\0132$.google.cloud.asset.v1.P" + + "artitionSpec\022&\n\036separate_tables_per_asse" + + "t_type\030\005 \001(\010\"\251\001\n\rPartitionSpec\022H\n\rpartit" + + "ion_key\030\001 \001(\01621.google.cloud.asset.v1.Pa" + + "rtitionSpec.PartitionKey\"N\n\014PartitionKey" + + "\022\035\n\031PARTITION_KEY_UNSPECIFIED\020\000\022\r\n\tREAD_" + + "TIME\020\001\022\020\n\014REQUEST_TIME\020\002\"\"\n\021PubsubDestin" + + "ation\022\r\n\005topic\030\001 \001(\t\"i\n\020FeedOutputConfig" + + "\022F\n\022pubsub_destination\030\001 \001(\0132(.google.cl" + + "oud.asset.v1.PubsubDestinationH\000B\r\n\013dest" + + "ination\"\235\003\n\004Feed\022\021\n\004name\030\001 \001(\tB\003\340A\002\022\023\n\013a" + + "sset_names\030\002 \003(\t\022\023\n\013asset_types\030\003 \003(\t\0228\n" + + "\014content_type\030\004 \001(\0162\".google.cloud.asset" + + ".v1.ContentType\022H\n\022feed_output_config\030\005 " + + "\001(\0132\'.google.cloud.asset.v1.FeedOutputCo" + + "nfigB\003\340A\002\022$\n\tcondition\030\006 \001(\0132\021.google.ty" + + "pe.Expr\022\032\n\022relationship_types\030\007 \003(\t:\221\001\352A" + + "\215\001\n\036cloudasset.googleapis.com/Feed\022\037proj" + + "ects/{project}/feeds/{feed}\022\035folders/{fo" + + "lder}/feeds/{feed}\022)organizations/{organ" + + "ization}/feeds/{feed} \001\"\331\001\n\031SearchAllRes" + + "ourcesRequest\022\022\n\005scope\030\001 \001(\tB\003\340A\002\022\022\n\005que" + + "ry\030\002 \001(\tB\003\340A\001\022\030\n\013asset_types\030\003 \003(\tB\003\340A\001\022" + + "\026\n\tpage_size\030\004 \001(\005B\003\340A\001\022\027\n\npage_token\030\005 " + + "\001(\tB\003\340A\001\022\025\n\010order_by\030\006 \001(\tB\003\340A\001\0222\n\tread_" + + "mask\030\010 \001(\0132\032.google.protobuf.FieldMaskB\003" + + "\340A\001\"s\n\032SearchAllResourcesResponse\022<\n\007res" + + "ults\030\001 \003(\0132+.google.cloud.asset.v1.Resou" + + "rceSearchResult\022\027\n\017next_page_token\030\002 \001(\t" + + "\"\247\001\n\033SearchAllIamPoliciesRequest\022\022\n\005scop" + + "e\030\001 \001(\tB\003\340A\002\022\022\n\005query\030\002 \001(\tB\003\340A\001\022\026\n\tpage" + + "_size\030\003 \001(\005B\003\340A\001\022\027\n\npage_token\030\004 \001(\tB\003\340A" + + "\001\022\030\n\013asset_types\030\005 \003(\tB\003\340A\001\022\025\n\010order_by\030" + + "\007 \001(\tB\003\340A\001\"v\n\034SearchAllIamPoliciesRespon" + + "se\022=\n\007results\030\001 \003(\0132,.google.cloud.asset" + + ".v1.IamPolicySearchResult\022\027\n\017next_page_t" + + "oken\030\002 \001(\t\"\306\007\n\026IamPolicyAnalysisQuery\022\022\n" + + "\005scope\030\001 \001(\tB\003\340A\002\022^\n\021resource_selector\030\002" + + " \001(\0132>.google.cloud.asset.v1.IamPolicyAn" + + "alysisQuery.ResourceSelectorB\003\340A\001\022^\n\021ide" + + "ntity_selector\030\003 \001(\0132>.google.cloud.asse" + + "t.v1.IamPolicyAnalysisQuery.IdentitySele" + + "ctorB\003\340A\001\022Z\n\017access_selector\030\004 \001(\0132<.goo" + + "gle.cloud.asset.v1.IamPolicyAnalysisQuer" + + "y.AccessSelectorB\003\340A\001\022K\n\007options\030\005 \001(\01325" + + ".google.cloud.asset.v1.IamPolicyAnalysis" + + "Query.OptionsB\003\340A\001\022^\n\021condition_context\030" + + "\006 \001(\0132>.google.cloud.asset.v1.IamPolicyA" + + "nalysisQuery.ConditionContextB\003\340A\001\0323\n\020Re" + + "sourceSelector\022\037\n\022full_resource_name\030\001 \001" + + "(\tB\003\340A\002\032)\n\020IdentitySelector\022\025\n\010identity\030" + + "\001 \001(\tB\003\340A\002\032>\n\016AccessSelector\022\022\n\005roles\030\001 " + + "\003(\tB\003\340A\001\022\030\n\013permissions\030\002 \003(\tB\003\340A\001\032\330\001\n\007O" + + "ptions\022\032\n\rexpand_groups\030\001 \001(\010B\003\340A\001\022\031\n\014ex" + + "pand_roles\030\002 \001(\010B\003\340A\001\022\035\n\020expand_resource" + + "s\030\003 \001(\010B\003\340A\001\022\"\n\025output_resource_edges\030\004 " + + "\001(\010B\003\340A\001\022\037\n\022output_group_edges\030\005 \001(\010B\003\340A" + + "\001\0222\n%analyze_service_account_impersonati" + + "on\030\006 \001(\010B\003\340A\001\032T\n\020ConditionContext\0221\n\013acc" + + "ess_time\030\001 \001(\0132\032.google.protobuf.Timesta" + + "mpH\000B\r\n\013TimeContext\"\303\001\n\027AnalyzeIamPolicy" + + "Request\022J\n\016analysis_query\030\001 \001(\0132-.google" + + ".cloud.asset.v1.IamPolicyAnalysisQueryB\003" + + "\340A\002\022!\n\024saved_analysis_query\030\003 \001(\tB\003\340A\001\0229" + + "\n\021execution_timeout\030\002 \001(\0132\031.google.proto" + + "buf.DurationB\003\340A\001\"\212\004\n\030AnalyzeIamPolicyRe" + + "sponse\022X\n\rmain_analysis\030\001 \001(\0132A.google.c" + + "loud.asset.v1.AnalyzeIamPolicyResponse.I" + + "amPolicyAnalysis\022q\n&service_account_impe" + + "rsonation_analysis\030\002 \003(\0132A.google.cloud." + + "asset.v1.AnalyzeIamPolicyResponse.IamPol" + + "icyAnalysis\022\026\n\016fully_explored\030\003 \001(\010\032\210\002\n\021" + + "IamPolicyAnalysis\022E\n\016analysis_query\030\001 \001(" + + "\0132-.google.cloud.asset.v1.IamPolicyAnaly" + + "sisQuery\022H\n\020analysis_results\030\002 \003(\0132..goo" + + "gle.cloud.asset.v1.IamPolicyAnalysisResu" + + "lt\022\026\n\016fully_explored\030\003 \001(\010\022J\n\023non_critic" + + "al_errors\030\005 \003(\0132-.google.cloud.asset.v1." + + "IamPolicyAnalysisState\"\264\004\n\035IamPolicyAnal" + + "ysisOutputConfig\022^\n\017gcs_destination\030\001 \001(" + + "\0132C.google.cloud.asset.v1.IamPolicyAnaly" + + "sisOutputConfig.GcsDestinationH\000\022h\n\024bigq" + + "uery_destination\030\002 \001(\0132H.google.cloud.as" + + "set.v1.IamPolicyAnalysisOutputConfig.Big" + + "QueryDestinationH\000\032\"\n\016GcsDestination\022\020\n\003" + + "uri\030\001 \001(\tB\003\340A\002\032\225\002\n\023BigQueryDestination\022\024" + + "\n\007dataset\030\001 \001(\tB\003\340A\002\022\031\n\014table_prefix\030\002 \001" + + "(\tB\003\340A\002\022l\n\rpartition_key\030\003 \001(\0162U.google." + + "cloud.asset.v1.IamPolicyAnalysisOutputCo" + + "nfig.BigQueryDestination.PartitionKey\022\036\n" + + "\021write_disposition\030\004 \001(\tB\003\340A\001\"?\n\014Partiti" + + "onKey\022\035\n\031PARTITION_KEY_UNSPECIFIED\020\000\022\020\n\014" + + "REQUEST_TIME\020\001B\r\n\013destination\"\345\001\n\"Analyz" + + "eIamPolicyLongrunningRequest\022J\n\016analysis" + + "_query\030\001 \001(\0132-.google.cloud.asset.v1.Iam" + + "PolicyAnalysisQueryB\003\340A\002\022!\n\024saved_analys" + + "is_query\030\003 \001(\tB\003\340A\001\022P\n\routput_config\030\002 \001" + + "(\01324.google.cloud.asset.v1.IamPolicyAnal" + + "ysisOutputConfigB\003\340A\002\"%\n#AnalyzeIamPolic" + + "yLongrunningResponse\"\267\005\n\nSavedQuery\022\014\n\004n" + + "ame\030\001 \001(\t\022\023\n\013description\030\002 \001(\t\0224\n\013create" + + "_time\030\003 \001(\0132\032.google.protobuf.TimestampB" + + "\003\340A\003\022\024\n\007creator\030\004 \001(\tB\003\340A\003\0229\n\020last_updat" + + "e_time\030\005 \001(\0132\032.google.protobuf.Timestamp" + + "B\003\340A\003\022\031\n\014last_updater\030\006 \001(\tB\003\340A\003\022=\n\006labe" + + "ls\030\007 \003(\0132-.google.cloud.asset.v1.SavedQu" + + "ery.LabelsEntry\022?\n\007content\030\010 \001(\0132..googl" + + "e.cloud.asset.v1.SavedQuery.QueryContent" + + "\032s\n\014QueryContent\022R\n\031iam_policy_analysis_" + + "query\030\001 \001(\0132-.google.cloud.asset.v1.IamP" + + "olicyAnalysisQueryH\000B\017\n\rquery_content\032-\n" + + "\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t" + + ":\0028\001:\277\001\352A\273\001\n$cloudasset.googleapis.com/S" + + "avedQuery\022-projects/{project}/savedQueri" + + "es/{saved_query}\022+folders/{folder}/saved" + + "Queries/{saved_query}\0227organizations/{or" + + "ganization}/savedQueries/{saved_query}\"\261" + + "\001\n\027CreateSavedQueryRequest\022<\n\006parent\030\001 \001" + + "(\tB,\340A\002\372A&\022$cloudasset.googleapis.com/Sa" + + "vedQuery\022;\n\013saved_query\030\002 \001(\0132!.google.c" + + "loud.asset.v1.SavedQueryB\003\340A\002\022\033\n\016saved_q" + + "uery_id\030\003 \001(\tB\003\340A\002\"R\n\024GetSavedQueryReque" + + "st\022:\n\004name\030\001 \001(\tB,\340A\002\372A&\n$cloudasset.goo" + + "gleapis.com/SavedQuery\"\235\001\n\027ListSavedQuer" + + "iesRequest\022<\n\006parent\030\001 \001(\tB,\340A\002\372A&\022$clou" + + "dasset.googleapis.com/SavedQuery\022\023\n\006filt" + + "er\030\004 \001(\tB\003\340A\001\022\026\n\tpage_size\030\002 \001(\005B\003\340A\001\022\027\n" + + "\npage_token\030\003 \001(\tB\003\340A\001\"m\n\030ListSavedQueri" + + "esResponse\0228\n\rsaved_queries\030\001 \003(\0132!.goog" + + "le.cloud.asset.v1.SavedQuery\022\027\n\017next_pag" + + "e_token\030\002 \001(\t\"\214\001\n\027UpdateSavedQueryReques" + + "t\022;\n\013saved_query\030\001 \001(\0132!.google.cloud.as" + + "set.v1.SavedQueryB\003\340A\002\0224\n\013update_mask\030\002 " + + "\001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"U\n\027" + + "DeleteSavedQueryRequest\022:\n\004name\030\001 \001(\tB,\340" + + "A\002\372A&\n$cloudasset.googleapis.com/SavedQu" + + "ery\"\326\001\n\022AnalyzeMoveRequest\022\025\n\010resource\030\001" + + " \001(\tB\003\340A\002\022\037\n\022destination_parent\030\002 \001(\tB\003\340" + + "A\002\022D\n\004view\030\003 \001(\01626.google.cloud.asset.v1" + + ".AnalyzeMoveRequest.AnalysisView\"B\n\014Anal" + + "ysisView\022\035\n\031ANALYSIS_VIEW_UNSPECIFIED\020\000\022" + + "\010\n\004FULL\020\001\022\t\n\005BASIC\020\002\"Q\n\023AnalyzeMoveRespo" + + "nse\022:\n\rmove_analysis\030\001 \003(\0132#.google.clou" + + "d.asset.v1.MoveAnalysis\"\222\001\n\014MoveAnalysis" + + "\022\024\n\014display_name\030\001 \001(\t\022=\n\010analysis\030\002 \001(\013" + + "2).google.cloud.asset.v1.MoveAnalysisRes" + + "ultH\000\022#\n\005error\030\003 \001(\0132\022.google.rpc.Status" + + "H\000B\010\n\006result\"~\n\022MoveAnalysisResult\0223\n\010bl" + + "ockers\030\001 \003(\0132!.google.cloud.asset.v1.Mov" + + "eImpact\0223\n\010warnings\030\002 \003(\0132!.google.cloud" + + ".asset.v1.MoveImpact\"\034\n\nMoveImpact\022\016\n\006de" + + "tail\030\001 \001(\t\"Y\n#BatchGetEffectiveIamPolici" + + "esRequest\022\030\n\005scope\030\001 \001(\tB\t\340A\002\372A\003\022\001*\022\030\n\005n" + + "ames\030\003 \003(\tB\t\340A\002\372A\003\n\001*\"\376\002\n$BatchGetEffect" + + "iveIamPoliciesResponse\022f\n\016policy_results" + + "\030\002 \003(\0132N.google.cloud.asset.v1.BatchGetE" + + "ffectiveIamPoliciesResponse.EffectiveIam" + + "Policy\032\355\001\n\022EffectiveIamPolicy\022\032\n\022full_re" + + "source_name\030\001 \001(\t\022k\n\010policies\030\002 \003(\0132Y.go" + + "ogle.cloud.asset.v1.BatchGetEffectiveIam" + + "PoliciesResponse.EffectiveIamPolicy.Poli" + + "cyInfo\032N\n\nPolicyInfo\022\031\n\021attached_resourc" + + "e\030\001 \001(\t\022%\n\006policy\030\002 \001(\0132\025.google.iam.v1." + + "Policy*\220\001\n\013ContentType\022\034\n\030CONTENT_TYPE_U" + + "NSPECIFIED\020\000\022\014\n\010RESOURCE\020\001\022\016\n\nIAM_POLICY" + + "\020\002\022\016\n\nORG_POLICY\020\004\022\021\n\rACCESS_POLICY\020\005\022\020\n" + + "\014OS_INVENTORY\020\006\022\020\n\014RELATIONSHIP\020\0072\213\032\n\014As" + + "setService\022\336\001\n\014ExportAssets\022*.google.clo" + + "ud.asset.v1.ExportAssetsRequest\032\035.google" + + ".longrunning.Operation\"\202\001\202\323\344\223\002\"\"\035/v1/{pa" + + "rent=*/*}:exportAssets:\001*\312AW\n*google.clo" + + "ud.asset.v1.ExportAssetsResponse\022)google" + + ".cloud.asset.v1.ExportAssetsRequest\022\213\001\n\n" + + "ListAssets\022(.google.cloud.asset.v1.ListA" + + "ssetsRequest\032).google.cloud.asset.v1.Lis" + + "tAssetsResponse\"(\202\323\344\223\002\031\022\027/v1/{parent=*/*" + + "}/assets\332A\006parent\022\262\001\n\025BatchGetAssetsHist" + + "ory\0223.google.cloud.asset.v1.BatchGetAsse" + + "tsHistoryRequest\0324.google.cloud.asset.v1" + + ".BatchGetAssetsHistoryResponse\".\202\323\344\223\002(\022&" + + "/v1/{parent=*/*}:batchGetAssetsHistory\022\177" + + "\n\nCreateFeed\022(.google.cloud.asset.v1.Cre" + + "ateFeedRequest\032\033.google.cloud.asset.v1.F" + + "eed\"*\202\323\344\223\002\033\"\026/v1/{parent=*/*}/feeds:\001*\332A" + + "\006parent\022t\n\007GetFeed\022%.google.cloud.asset." + + "v1.GetFeedRequest\032\033.google.cloud.asset.v" + + "1.Feed\"%\202\323\344\223\002\030\022\026/v1/{name=*/*/feeds/*}\332A" + + "\004name\022\207\001\n\tListFeeds\022\'.google.cloud.asset" + + ".v1.ListFeedsRequest\032(.google.cloud.asse" + + "t.v1.ListFeedsResponse\"\'\202\323\344\223\002\030\022\026/v1/{par" + + "ent=*/*}/feeds\332A\006parent\022\202\001\n\nUpdateFeed\022(" + + ".google.cloud.asset.v1.UpdateFeedRequest" + + "\032\033.google.cloud.asset.v1.Feed\"-\202\323\344\223\002 2\033/" + + "v1/{feed.name=*/*/feeds/*}:\001*\332A\004feed\022u\n\n" + + "DeleteFeed\022(.google.cloud.asset.v1.Delet" + + "eFeedRequest\032\026.google.protobuf.Empty\"%\202\323" + + "\344\223\002\030*\026/v1/{name=*/*/feeds/*}\332A\004name\022\277\001\n\022" + + "SearchAllResources\0220.google.cloud.asset." + + "v1.SearchAllResourcesRequest\0321.google.cl" + + "oud.asset.v1.SearchAllResourcesResponse\"" + + "D\202\323\344\223\002$\022\"/v1/{scope=*/*}:searchAllResour" + + "ces\332A\027scope,query,asset_types\022\273\001\n\024Search" + + "AllIamPolicies\0222.google.cloud.asset.v1.S" + + "earchAllIamPoliciesRequest\0323.google.clou" + + "d.asset.v1.SearchAllIamPoliciesResponse\"" + + ":\202\323\344\223\002&\022$/v1/{scope=*/*}:searchAllIamPol" + + "icies\332A\013scope,query\022\254\001\n\020AnalyzeIamPolicy" + + "\022..google.cloud.asset.v1.AnalyzeIamPolic" + + "yRequest\032/.google.cloud.asset.v1.Analyze" + + "IamPolicyResponse\"7\202\323\344\223\0021\022//v1/{analysis" + + "_query.scope=*/*}:analyzeIamPolicy\022\270\002\n\033A" + + "nalyzeIamPolicyLongrunning\0229.google.clou" + + "d.asset.v1.AnalyzeIamPolicyLongrunningRe" + + "quest\032\035.google.longrunning.Operation\"\276\001\202" + + "\323\344\223\002?\":/v1/{analysis_query.scope=*/*}:an" + + "alyzeIamPolicyLongrunning:\001*\312Av\n9google." + + "cloud.asset.v1.AnalyzeIamPolicyLongrunni" + + "ngResponse\0229google.cloud.asset.v1.Analyz" + + "eIamPolicyLongrunningMetadata\022\214\001\n\013Analyz" + + "eMove\022).google.cloud.asset.v1.AnalyzeMov" + + "eRequest\032*.google.cloud.asset.v1.Analyze" + + "MoveResponse\"&\202\323\344\223\002 \022\036/v1/{resource=*/*}" + + ":analyzeMove\022\275\001\n\020CreateSavedQuery\022..goog" + + "le.cloud.asset.v1.CreateSavedQueryReques" + + "t\032!.google.cloud.asset.v1.SavedQuery\"V\202\323" + + "\344\223\002,\"\035/v1/{parent=*/*}/savedQueries:\013sav" + + "ed_query\332A!parent,saved_query,saved_quer" + + "y_id\022\215\001\n\rGetSavedQuery\022+.google.cloud.as" + + "set.v1.GetSavedQueryRequest\032!.google.clo" + + "ud.asset.v1.SavedQuery\",\202\323\344\223\002\037\022\035/v1/{nam" + + "e=*/*/savedQueries/*}\332A\004name\022\243\001\n\020ListSav" + + "edQueries\022..google.cloud.asset.v1.ListSa" + + "vedQueriesRequest\032/.google.cloud.asset.v" + + "1.ListSavedQueriesResponse\".\202\323\344\223\002\037\022\035/v1/" + + "{parent=*/*}/savedQueries\332A\006parent\022\277\001\n\020U" + + "pdateSavedQuery\022..google.cloud.asset.v1." + + "UpdateSavedQueryRequest\032!.google.cloud.a" + + "sset.v1.SavedQuery\"X\202\323\344\223\00282)/v1/{saved_q" + + "uery.name=*/*/savedQueries/*}:\013saved_que" + + "ry\332A\027saved_query,update_mask\022\210\001\n\020DeleteS" + + "avedQuery\022..google.cloud.asset.v1.Delete" + + "SavedQueryRequest\032\026.google.protobuf.Empt" + + "y\",\202\323\344\223\002\037*\035/v1/{name=*/*/savedQueries/*}" + + "\332A\004name\022\316\001\n\034BatchGetEffectiveIamPolicies" + + "\022:.google.cloud.asset.v1.BatchGetEffecti" + + "veIamPoliciesRequest\032;.google.cloud.asse" + + "t.v1.BatchGetEffectiveIamPoliciesRespons" + + "e\"5\202\323\344\223\002/\022-/v1/{scope=*/*}/effectiveIamP" + + "olicies:batchGet\032M\312A\031cloudasset.googleap" + + "is.com\322A.https://www.googleapis.com/auth" + + "/cloud-platformB\234\001\n\031com.google.cloud.ass" + + "et.v1B\021AssetServiceProtoP\001Z:google.golan" + + "g.org/genproto/googleapis/cloud/asset/v1" + + ";asset\252\002\025Google.Cloud.Asset.V1\312\002\025Google\\" + + "Cloud\\Asset\\V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -474,11 +602,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), com.google.cloud.asset.v1.AssetProto.getDescriptor(), + com.google.iam.v1.PolicyProto.getDescriptor(), com.google.longrunning.OperationsProto.getDescriptor(), com.google.protobuf.DurationProto.getDescriptor(), com.google.protobuf.EmptyProto.getDescriptor(), com.google.protobuf.FieldMaskProto.getDescriptor(), - com.google.protobuf.StructProto.getDescriptor(), com.google.protobuf.TimestampProto.getDescriptor(), com.google.rpc.StatusProto.getDescriptor(), com.google.type.ExprProto.getDescriptor(), @@ -782,7 +910,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_AnalyzeIamPolicyRequest_descriptor, new java.lang.String[] { - "AnalysisQuery", "ExecutionTimeout", + "AnalysisQuery", "SavedAnalysisQuery", "ExecutionTimeout", }); internal_static_google_cloud_asset_v1_AnalyzeIamPolicyResponse_descriptor = getDescriptor().getMessageTypes().get(28); @@ -836,7 +964,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_AnalyzeIamPolicyLongrunningRequest_descriptor, new java.lang.String[] { - "AnalysisQuery", "OutputConfig", + "AnalysisQuery", "SavedAnalysisQuery", "OutputConfig", }); internal_static_google_cloud_asset_v1_AnalyzeIamPolicyLongrunningResponse_descriptor = getDescriptor().getMessageTypes().get(31); @@ -844,8 +972,87 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_AnalyzeIamPolicyLongrunningResponse_descriptor, new java.lang.String[] {}); - internal_static_google_cloud_asset_v1_AnalyzeMoveRequest_descriptor = + internal_static_google_cloud_asset_v1_SavedQuery_descriptor = getDescriptor().getMessageTypes().get(32); + internal_static_google_cloud_asset_v1_SavedQuery_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_SavedQuery_descriptor, + new java.lang.String[] { + "Name", + "Description", + "CreateTime", + "Creator", + "LastUpdateTime", + "LastUpdater", + "Labels", + "Content", + }); + internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_descriptor = + internal_static_google_cloud_asset_v1_SavedQuery_descriptor.getNestedTypes().get(0); + internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_descriptor, + new java.lang.String[] { + "IamPolicyAnalysisQuery", "QueryContent", + }); + internal_static_google_cloud_asset_v1_SavedQuery_LabelsEntry_descriptor = + internal_static_google_cloud_asset_v1_SavedQuery_descriptor.getNestedTypes().get(1); + internal_static_google_cloud_asset_v1_SavedQuery_LabelsEntry_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_SavedQuery_LabelsEntry_descriptor, + new java.lang.String[] { + "Key", "Value", + }); + internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_descriptor = + getDescriptor().getMessageTypes().get(33); + internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_descriptor, + new java.lang.String[] { + "Parent", "SavedQuery", "SavedQueryId", + }); + internal_static_google_cloud_asset_v1_GetSavedQueryRequest_descriptor = + getDescriptor().getMessageTypes().get(34); + internal_static_google_cloud_asset_v1_GetSavedQueryRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_GetSavedQueryRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_descriptor = + getDescriptor().getMessageTypes().get(35); + internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_descriptor, + new java.lang.String[] { + "Parent", "Filter", "PageSize", "PageToken", + }); + internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_descriptor = + getDescriptor().getMessageTypes().get(36); + internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_descriptor, + new java.lang.String[] { + "SavedQueries", "NextPageToken", + }); + internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_descriptor = + getDescriptor().getMessageTypes().get(37); + internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_descriptor, + new java.lang.String[] { + "SavedQuery", "UpdateMask", + }); + internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_descriptor = + getDescriptor().getMessageTypes().get(38); + internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_descriptor, + new java.lang.String[] { + "Name", + }); + internal_static_google_cloud_asset_v1_AnalyzeMoveRequest_descriptor = + getDescriptor().getMessageTypes().get(39); internal_static_google_cloud_asset_v1_AnalyzeMoveRequest_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_AnalyzeMoveRequest_descriptor, @@ -853,7 +1060,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Resource", "DestinationParent", "View", }); internal_static_google_cloud_asset_v1_AnalyzeMoveResponse_descriptor = - getDescriptor().getMessageTypes().get(33); + getDescriptor().getMessageTypes().get(40); internal_static_google_cloud_asset_v1_AnalyzeMoveResponse_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_AnalyzeMoveResponse_descriptor, @@ -861,7 +1068,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "MoveAnalysis", }); internal_static_google_cloud_asset_v1_MoveAnalysis_descriptor = - getDescriptor().getMessageTypes().get(34); + getDescriptor().getMessageTypes().get(41); internal_static_google_cloud_asset_v1_MoveAnalysis_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_MoveAnalysis_descriptor, @@ -869,7 +1076,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "DisplayName", "Analysis", "Error", "Result", }); internal_static_google_cloud_asset_v1_MoveAnalysisResult_descriptor = - getDescriptor().getMessageTypes().get(35); + getDescriptor().getMessageTypes().get(42); internal_static_google_cloud_asset_v1_MoveAnalysisResult_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_MoveAnalysisResult_descriptor, @@ -877,13 +1084,49 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "Blockers", "Warnings", }); internal_static_google_cloud_asset_v1_MoveImpact_descriptor = - getDescriptor().getMessageTypes().get(36); + getDescriptor().getMessageTypes().get(43); internal_static_google_cloud_asset_v1_MoveImpact_fieldAccessorTable = new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_asset_v1_MoveImpact_descriptor, new java.lang.String[] { "Detail", }); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_descriptor = + getDescriptor().getMessageTypes().get(44); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_descriptor, + new java.lang.String[] { + "Scope", "Names", + }); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor = + getDescriptor().getMessageTypes().get(45); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor, + new java.lang.String[] { + "PolicyResults", + }); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor = + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor + .getNestedTypes() + .get(0); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor, + new java.lang.String[] { + "FullResourceName", "Policies", + }); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_descriptor = + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor + .getNestedTypes() + .get(0); + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_descriptor, + new java.lang.String[] { + "AttachedResource", "Policy", + }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.ClientProto.defaultHost); @@ -901,11 +1144,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); com.google.cloud.asset.v1.AssetProto.getDescriptor(); + com.google.iam.v1.PolicyProto.getDescriptor(); com.google.longrunning.OperationsProto.getDescriptor(); com.google.protobuf.DurationProto.getDescriptor(); com.google.protobuf.EmptyProto.getDescriptor(); com.google.protobuf.FieldMaskProto.getDescriptor(); - com.google.protobuf.StructProto.getDescriptor(); com.google.protobuf.TimestampProto.getDescriptor(); com.google.rpc.StatusProto.getDescriptor(); com.google.type.ExprProto.getDescriptor(); diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequest.java new file mode 100644 index 00000000000..13901f54353 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequest.java @@ -0,0 +1,1068 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * A request message for
    + * [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest} + */ +public final class BatchGetEffectiveIamPoliciesRequest + extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) + BatchGetEffectiveIamPoliciesRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use BatchGetEffectiveIamPoliciesRequest.newBuilder() to construct. + private BatchGetEffectiveIamPoliciesRequest( + com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private BatchGetEffectiveIamPoliciesRequest() { + scope_ = ""; + names_ = com.google.protobuf.LazyStringArrayList.EMPTY; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new BatchGetEffectiveIamPoliciesRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private BatchGetEffectiveIamPoliciesRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + scope_ = s; + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + names_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000001; + } + names_.add(s); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + names_ = names_.getUnmodifiableView(); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.Builder.class); + } + + public static final int SCOPE_FIELD_NUMBER = 1; + private volatile java.lang.Object scope_; + /** + * + * + *
    +   * Required. Only IAM policies on or below the scope will be returned.
    +   * This can only be an organization number (such as "organizations/123"), a
    +   * folder number (such as "folders/123"), a project ID (such as
    +   * "projects/my-project-id"), or a project number (such as "projects/12345").
    +   * To know how to get organization id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +   * To know how to get folder or project id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +   * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The scope. + */ + @java.lang.Override + public java.lang.String getScope() { + java.lang.Object ref = scope_; + 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(); + scope_ = s; + return s; + } + } + /** + * + * + *
    +   * Required. Only IAM policies on or below the scope will be returned.
    +   * This can only be an organization number (such as "organizations/123"), a
    +   * folder number (such as "folders/123"), a project ID (such as
    +   * "projects/my-project-id"), or a project number (such as "projects/12345").
    +   * To know how to get organization id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +   * To know how to get folder or project id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +   * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for scope. + */ + @java.lang.Override + public com.google.protobuf.ByteString getScopeBytes() { + java.lang.Object ref = scope_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + scope_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int NAMES_FIELD_NUMBER = 3; + private com.google.protobuf.LazyStringList names_; + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the names. + */ + public com.google.protobuf.ProtocolStringList getNamesList() { + return names_; + } + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The count of names. + */ + public int getNamesCount() { + return names_.size(); + } + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The names at the given index. + */ + public java.lang.String getNames(int index) { + return names_.get(index); + } + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the names at the given index. + */ + public com.google.protobuf.ByteString getNamesBytes(int index) { + return names_.getByteString(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 { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(scope_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, scope_); + } + for (int i = 0; i < names_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, names_.getRaw(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(scope_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, scope_); + } + { + int dataSize = 0; + for (int i = 0; i < names_.size(); i++) { + dataSize += computeStringSizeNoTag(names_.getRaw(i)); + } + size += dataSize; + size += 1 * getNamesList().size(); + } + size += unknownFields.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.asset.v1.BatchGetEffectiveIamPoliciesRequest)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest other = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) obj; + + if (!getScope().equals(other.getScope())) return false; + if (!getNamesList().equals(other.getNamesList())) return false; + if (!unknownFields.equals(other.unknownFields)) 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) + SCOPE_FIELD_NUMBER; + hash = (53 * hash) + getScope().hashCode(); + if (getNamesCount() > 0) { + hash = (37 * hash) + NAMES_FIELD_NUMBER; + hash = (53 * hash) + getNamesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest 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.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest 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.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.BatchGetEffectiveIamPoliciesRequest 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * A request message for
    +   * [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + scope_ = ""; + + names_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest + getDefaultInstanceForType() { + return com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest build() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest buildPartial() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest result = + new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest(this); + int from_bitField0_ = bitField0_; + result.scope_ = scope_; + if (((bitField0_ & 0x00000001) != 0)) { + names_ = names_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.names_ = names_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) { + return mergeFrom((com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest other) { + if (other + == com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.getDefaultInstance()) + return this; + if (!other.getScope().isEmpty()) { + scope_ = other.scope_; + onChanged(); + } + if (!other.names_.isEmpty()) { + if (names_.isEmpty()) { + names_ = other.names_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureNamesIsMutable(); + names_.addAll(other.names_); + } + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int bitField0_; + + private java.lang.Object scope_ = ""; + /** + * + * + *
    +     * Required. Only IAM policies on or below the scope will be returned.
    +     * This can only be an organization number (such as "organizations/123"), a
    +     * folder number (such as "folders/123"), a project ID (such as
    +     * "projects/my-project-id"), or a project number (such as "projects/12345").
    +     * To know how to get organization id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +     * To know how to get folder or project id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +     * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The scope. + */ + public java.lang.String getScope() { + java.lang.Object ref = scope_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + scope_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Required. Only IAM policies on or below the scope will be returned.
    +     * This can only be an organization number (such as "organizations/123"), a
    +     * folder number (such as "folders/123"), a project ID (such as
    +     * "projects/my-project-id"), or a project number (such as "projects/12345").
    +     * To know how to get organization id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +     * To know how to get folder or project id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +     * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for scope. + */ + public com.google.protobuf.ByteString getScopeBytes() { + java.lang.Object ref = scope_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + scope_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Required. Only IAM policies on or below the scope will be returned.
    +     * This can only be an organization number (such as "organizations/123"), a
    +     * folder number (such as "folders/123"), a project ID (such as
    +     * "projects/my-project-id"), or a project number (such as "projects/12345").
    +     * To know how to get organization id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +     * To know how to get folder or project id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +     * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The scope to set. + * @return This builder for chaining. + */ + public Builder setScope(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + scope_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. Only IAM policies on or below the scope will be returned.
    +     * This can only be an organization number (such as "organizations/123"), a
    +     * folder number (such as "folders/123"), a project ID (such as
    +     * "projects/my-project-id"), or a project number (such as "projects/12345").
    +     * To know how to get organization id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +     * To know how to get folder or project id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +     * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearScope() { + + scope_ = getDefaultInstance().getScope(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. Only IAM policies on or below the scope will be returned.
    +     * This can only be an organization number (such as "organizations/123"), a
    +     * folder number (such as "folders/123"), a project ID (such as
    +     * "projects/my-project-id"), or a project number (such as "projects/12345").
    +     * To know how to get organization id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +     * To know how to get folder or project id, visit [here
    +     * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +     * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for scope to set. + * @return This builder for chaining. + */ + public Builder setScopeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + scope_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList names_ = + com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureNamesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + names_ = new com.google.protobuf.LazyStringArrayList(names_); + bitField0_ |= 0x00000001; + } + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the names. + */ + public com.google.protobuf.ProtocolStringList getNamesList() { + return names_.getUnmodifiableView(); + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The count of names. + */ + public int getNamesCount() { + return names_.size(); + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The names at the given index. + */ + public java.lang.String getNames(int index) { + return names_.get(index); + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the names at the given index. + */ + public com.google.protobuf.ByteString getNamesBytes(int index) { + return names_.getByteString(index); + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index to set the value at. + * @param value The names to set. + * @return This builder for chaining. + */ + public Builder setNames(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureNamesIsMutable(); + names_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The names to add. + * @return This builder for chaining. + */ + public Builder addNames(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureNamesIsMutable(); + names_.add(value); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param values The names to add. + * @return This builder for chaining. + */ + public Builder addAllNames(java.lang.Iterable values) { + ensureNamesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, names_); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearNames() { + names_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The names refer to the [full_resource_names]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * of [searchable asset
    +     * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +     * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +     * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes of the names to add. + * @return This builder for chaining. + */ + public Builder addNamesBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureNamesIsMutable(); + names_.add(value); + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) + private static final com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest(); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BatchGetEffectiveIamPoliciesRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new BatchGetEffectiveIamPoliciesRequest(input, extensionRegistry); + } + }; + + 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.asset.v1.BatchGetEffectiveIamPoliciesRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequestOrBuilder.java new file mode 100644 index 00000000000..90bbc28f3af --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesRequestOrBuilder.java @@ -0,0 +1,143 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface BatchGetEffectiveIamPoliciesRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * Required. Only IAM policies on or below the scope will be returned.
    +   * This can only be an organization number (such as "organizations/123"), a
    +   * folder number (such as "folders/123"), a project ID (such as
    +   * "projects/my-project-id"), or a project number (such as "projects/12345").
    +   * To know how to get organization id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +   * To know how to get folder or project id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +   * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The scope. + */ + java.lang.String getScope(); + /** + * + * + *
    +   * Required. Only IAM policies on or below the scope will be returned.
    +   * This can only be an organization number (such as "organizations/123"), a
    +   * folder number (such as "folders/123"), a project ID (such as
    +   * "projects/my-project-id"), or a project number (such as "projects/12345").
    +   * To know how to get organization id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id).
    +   * To know how to get folder or project id, visit [here
    +   * ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects).
    +   * 
    + * + * + * string scope = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for scope. + */ + com.google.protobuf.ByteString getScopeBytes(); + + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return A list containing the names. + */ + java.util.List getNamesList(); + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The count of names. + */ + int getNamesCount(); + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the element to return. + * @return The names at the given index. + */ + java.lang.String getNames(int index); + /** + * + * + *
    +   * Required. The names refer to the [full_resource_names]
    +   * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +   * of [searchable asset
    +   * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
    +   * A maximum of 20 resources' effective policies can be retrieved in a batch.
    +   * 
    + * + * + * repeated string names = 3 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param index The index of the value to return. + * @return The bytes of the names at the given index. + */ + com.google.protobuf.ByteString getNamesBytes(int index); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponse.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponse.java new file mode 100644 index 00000000000..a0e086b23c3 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponse.java @@ -0,0 +1,4152 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * A response message for
    + * [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse} + */ +public final class BatchGetEffectiveIamPoliciesResponse + extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) + BatchGetEffectiveIamPoliciesResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use BatchGetEffectiveIamPoliciesResponse.newBuilder() to construct. + private BatchGetEffectiveIamPoliciesResponse( + com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private BatchGetEffectiveIamPoliciesResponse() { + policyResults_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new BatchGetEffectiveIamPoliciesResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private BatchGetEffectiveIamPoliciesResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + policyResults_ = + new java.util.ArrayList< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy>(); + mutable_bitField0_ |= 0x00000001; + } + policyResults_.add( + input.readMessage( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.parser(), + extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + policyResults_ = java.util.Collections.unmodifiableList(policyResults_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.Builder.class); + } + + public interface EffectiveIamPolicyOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +     * The [full_resource_name]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * for which the
    +     * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +     * are computed. This is one of the
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +     * the caller provides in the request.
    +     * 
    + * + * string full_resource_name = 1; + * + * @return The fullResourceName. + */ + java.lang.String getFullResourceName(); + /** + * + * + *
    +     * The [full_resource_name]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * for which the
    +     * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +     * are computed. This is one of the
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +     * the caller provides in the request.
    +     * 
    + * + * string full_resource_name = 1; + * + * @return The bytes for fullResourceName. + */ + com.google.protobuf.ByteString getFullResourceNameBytes(); + + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo> + getPoliciesList(); + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo + getPolicies(int index); + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + int getPoliciesCount(); + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + java.util.List< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder> + getPoliciesOrBuilderList(); + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder + getPoliciesOrBuilder(int index); + } + /** + * + * + *
    +   * The effective IAM policies on one resource.
    +   * 
    + * + * Protobuf type {@code + * google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy} + */ + public static final class EffectiveIamPolicy extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + EffectiveIamPolicyOrBuilder { + private static final long serialVersionUID = 0L; + // Use EffectiveIamPolicy.newBuilder() to construct. + private EffectiveIamPolicy(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private EffectiveIamPolicy() { + fullResourceName_ = ""; + policies_ = java.util.Collections.emptyList(); + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new EffectiveIamPolicy(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private EffectiveIamPolicy( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + fullResourceName_ = s; + break; + } + case 18: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + policies_ = + new java.util.ArrayList< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo>(); + mutable_bitField0_ |= 0x00000001; + } + policies_.add( + input.readMessage( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo.parser(), + extensionRegistry)); + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + policies_ = java.util.Collections.unmodifiableList(policies_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .Builder.class); + } + + public interface PolicyInfoOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +       * The full resource name the
    +       * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +       * is directly attached to.
    +       * 
    + * + * string attached_resource = 1; + * + * @return The attachedResource. + */ + java.lang.String getAttachedResource(); + /** + * + * + *
    +       * The full resource name the
    +       * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +       * is directly attached to.
    +       * 
    + * + * string attached_resource = 1; + * + * @return The bytes for attachedResource. + */ + com.google.protobuf.ByteString getAttachedResourceBytes(); + + /** + * + * + *
    +       * The IAM policy that's directly attached to the
    +       * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +       * 
    + * + * .google.iam.v1.Policy policy = 2; + * + * @return Whether the policy field is set. + */ + boolean hasPolicy(); + /** + * + * + *
    +       * The IAM policy that's directly attached to the
    +       * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +       * 
    + * + * .google.iam.v1.Policy policy = 2; + * + * @return The policy. + */ + com.google.iam.v1.Policy getPolicy(); + /** + * + * + *
    +       * The IAM policy that's directly attached to the
    +       * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +       * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + com.google.iam.v1.PolicyOrBuilder getPolicyOrBuilder(); + } + /** + * + * + *
    +     * The IAM policy and its attached resource.
    +     * 
    + * + * Protobuf type {@code + * google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo} + */ + public static final class PolicyInfo extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo) + PolicyInfoOrBuilder { + private static final long serialVersionUID = 0L; + // Use PolicyInfo.newBuilder() to construct. + private PolicyInfo(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private PolicyInfo() { + attachedResource_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new PolicyInfo(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private PolicyInfo( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + attachedResource_ = s; + break; + } + case 18: + { + com.google.iam.v1.Policy.Builder subBuilder = null; + if (policy_ != null) { + subBuilder = policy_.toBuilder(); + } + policy_ = input.readMessage(com.google.iam.v1.Policy.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(policy_); + policy_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder.class); + } + + public static final int ATTACHED_RESOURCE_FIELD_NUMBER = 1; + private volatile java.lang.Object attachedResource_; + /** + * + * + *
    +       * The full resource name the
    +       * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +       * is directly attached to.
    +       * 
    + * + * string attached_resource = 1; + * + * @return The attachedResource. + */ + @java.lang.Override + public java.lang.String getAttachedResource() { + java.lang.Object ref = attachedResource_; + 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(); + attachedResource_ = s; + return s; + } + } + /** + * + * + *
    +       * The full resource name the
    +       * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +       * is directly attached to.
    +       * 
    + * + * string attached_resource = 1; + * + * @return The bytes for attachedResource. + */ + @java.lang.Override + public com.google.protobuf.ByteString getAttachedResourceBytes() { + java.lang.Object ref = attachedResource_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + attachedResource_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int POLICY_FIELD_NUMBER = 2; + private com.google.iam.v1.Policy policy_; + /** + * + * + *
    +       * The IAM policy that's directly attached to the
    +       * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +       * 
    + * + * .google.iam.v1.Policy policy = 2; + * + * @return Whether the policy field is set. + */ + @java.lang.Override + public boolean hasPolicy() { + return policy_ != null; + } + /** + * + * + *
    +       * The IAM policy that's directly attached to the
    +       * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +       * 
    + * + * .google.iam.v1.Policy policy = 2; + * + * @return The policy. + */ + @java.lang.Override + public com.google.iam.v1.Policy getPolicy() { + return policy_ == null ? com.google.iam.v1.Policy.getDefaultInstance() : policy_; + } + /** + * + * + *
    +       * The IAM policy that's directly attached to the
    +       * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +       * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + @java.lang.Override + public com.google.iam.v1.PolicyOrBuilder getPolicyOrBuilder() { + return getPolicy(); + } + + 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.GeneratedMessageV3.isStringEmpty(attachedResource_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, attachedResource_); + } + if (policy_ != null) { + output.writeMessage(2, getPolicy()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(attachedResource_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, attachedResource_); + } + if (policy_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getPolicy()); + } + size += unknownFields.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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo + other = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo) + obj; + + if (!getAttachedResource().equals(other.getAttachedResource())) return false; + if (hasPolicy() != other.hasPolicy()) return false; + if (hasPolicy()) { + if (!getPolicy().equals(other.getPolicy())) return false; + } + if (!unknownFields.equals(other.unknownFields)) 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) + ATTACHED_RESOURCE_FIELD_NUMBER; + hash = (53 * hash) + getAttachedResource().hashCode(); + if (hasPolicy()) { + hash = (37 * hash) + POLICY_FIELD_NUMBER; + hash = (53 * hash) + getPolicy().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseDelimitedFrom( + java.io.InputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +       * The IAM policy and its attached resource.
    +       * 
    + * + * Protobuf type {@code + * google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo) + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder.class); + } + + // Construct using + // com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + attachedResource_ = ""; + + if (policyBuilder_ == null) { + policy_ = null; + } else { + policy_ = null; + policyBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_PolicyInfo_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + getDefaultInstanceForType() { + return com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + build() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + buildPartial() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + result = + new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo(this); + result.attachedResource_ = attachedResource_; + if (policyBuilder_ == null) { + result.policy_ = policy_; + } else { + result.policy_ = policyBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, + java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo) { + return mergeFrom( + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + other) { + if (other + == com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.getDefaultInstance()) return this; + if (!other.getAttachedResource().isEmpty()) { + attachedResource_ = other.attachedResource_; + onChanged(); + } + if (other.hasPolicy()) { + mergePolicy(other.getPolicy()); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object attachedResource_ = ""; + /** + * + * + *
    +         * The full resource name the
    +         * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +         * is directly attached to.
    +         * 
    + * + * string attached_resource = 1; + * + * @return The attachedResource. + */ + public java.lang.String getAttachedResource() { + java.lang.Object ref = attachedResource_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + attachedResource_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +         * The full resource name the
    +         * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +         * is directly attached to.
    +         * 
    + * + * string attached_resource = 1; + * + * @return The bytes for attachedResource. + */ + public com.google.protobuf.ByteString getAttachedResourceBytes() { + java.lang.Object ref = attachedResource_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + attachedResource_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +         * The full resource name the
    +         * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +         * is directly attached to.
    +         * 
    + * + * string attached_resource = 1; + * + * @param value The attachedResource to set. + * @return This builder for chaining. + */ + public Builder setAttachedResource(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + attachedResource_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +         * The full resource name the
    +         * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +         * is directly attached to.
    +         * 
    + * + * string attached_resource = 1; + * + * @return This builder for chaining. + */ + public Builder clearAttachedResource() { + + attachedResource_ = getDefaultInstance().getAttachedResource(); + onChanged(); + return this; + } + /** + * + * + *
    +         * The full resource name the
    +         * [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy]
    +         * is directly attached to.
    +         * 
    + * + * string attached_resource = 1; + * + * @param value The bytes for attachedResource to set. + * @return This builder for chaining. + */ + public Builder setAttachedResourceBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + attachedResource_ = value; + onChanged(); + return this; + } + + private com.google.iam.v1.Policy policy_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.iam.v1.Policy, + com.google.iam.v1.Policy.Builder, + com.google.iam.v1.PolicyOrBuilder> + policyBuilder_; + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + * + * @return Whether the policy field is set. + */ + public boolean hasPolicy() { + return policyBuilder_ != null || policy_ != null; + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + * + * @return The policy. + */ + public com.google.iam.v1.Policy getPolicy() { + if (policyBuilder_ == null) { + return policy_ == null ? com.google.iam.v1.Policy.getDefaultInstance() : policy_; + } else { + return policyBuilder_.getMessage(); + } + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + public Builder setPolicy(com.google.iam.v1.Policy value) { + if (policyBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + policy_ = value; + onChanged(); + } else { + policyBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + public Builder setPolicy(com.google.iam.v1.Policy.Builder builderForValue) { + if (policyBuilder_ == null) { + policy_ = builderForValue.build(); + onChanged(); + } else { + policyBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + public Builder mergePolicy(com.google.iam.v1.Policy value) { + if (policyBuilder_ == null) { + if (policy_ != null) { + policy_ = + com.google.iam.v1.Policy.newBuilder(policy_).mergeFrom(value).buildPartial(); + } else { + policy_ = value; + } + onChanged(); + } else { + policyBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + public Builder clearPolicy() { + if (policyBuilder_ == null) { + policy_ = null; + onChanged(); + } else { + policy_ = null; + policyBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + public com.google.iam.v1.Policy.Builder getPolicyBuilder() { + + onChanged(); + return getPolicyFieldBuilder().getBuilder(); + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + public com.google.iam.v1.PolicyOrBuilder getPolicyOrBuilder() { + if (policyBuilder_ != null) { + return policyBuilder_.getMessageOrBuilder(); + } else { + return policy_ == null ? com.google.iam.v1.Policy.getDefaultInstance() : policy_; + } + } + /** + * + * + *
    +         * The IAM policy that's directly attached to the
    +         * [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource].
    +         * 
    + * + * .google.iam.v1.Policy policy = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.iam.v1.Policy, + com.google.iam.v1.Policy.Builder, + com.google.iam.v1.PolicyOrBuilder> + getPolicyFieldBuilder() { + if (policyBuilder_ == null) { + policyBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.iam.v1.Policy, + com.google.iam.v1.Policy.Builder, + com.google.iam.v1.PolicyOrBuilder>( + getPolicy(), getParentForChildren(), isClean()); + policy_ = null; + } + return policyBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo) + private static final com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo(); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public PolicyInfo parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new PolicyInfo(input, extensionRegistry); + } + }; + + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public static final int FULL_RESOURCE_NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object fullResourceName_; + /** + * + * + *
    +     * The [full_resource_name]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * for which the
    +     * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +     * are computed. This is one of the
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +     * the caller provides in the request.
    +     * 
    + * + * string full_resource_name = 1; + * + * @return The fullResourceName. + */ + @java.lang.Override + public java.lang.String getFullResourceName() { + java.lang.Object ref = fullResourceName_; + 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(); + fullResourceName_ = s; + return s; + } + } + /** + * + * + *
    +     * The [full_resource_name]
    +     * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +     * for which the
    +     * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +     * are computed. This is one of the
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +     * the caller provides in the request.
    +     * 
    + * + * string full_resource_name = 1; + * + * @return The bytes for fullResourceName. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFullResourceNameBytes() { + java.lang.Object ref = fullResourceName_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + fullResourceName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int POLICIES_FIELD_NUMBER = 2; + private java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo> + policies_; + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo> + getPoliciesList() { + return policies_; + } + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder> + getPoliciesOrBuilderList() { + return policies_; + } + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + @java.lang.Override + public int getPoliciesCount() { + return policies_.size(); + } + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + getPolicies(int index) { + return policies_.get(index); + } + /** + * + * + *
    +     * The effective policies for the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies include the policy set on the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * and those set on its parents and ancestors up to the
    +     * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +     * Note that these policies are not filtered according to the resource type
    +     * of the
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +     * These policies are hierarchically ordered by
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * starting from
    +     * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +     * itself to its parents and ancestors, such that policies[i]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +     * is the child of policies[i+1]'s
    +     * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +     * if policies[i+1] exists.
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder + getPoliciesOrBuilder(int index) { + return policies_.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 { + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(fullResourceName_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, fullResourceName_); + } + for (int i = 0; i < policies_.size(); i++) { + output.writeMessage(2, policies_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(fullResourceName_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, fullResourceName_); + } + for (int i = 0; i < policies_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, policies_.get(i)); + } + size += unknownFields.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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy other = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) obj; + + if (!getFullResourceName().equals(other.getFullResourceName())) return false; + if (!getPoliciesList().equals(other.getPoliciesList())) return false; + if (!unknownFields.equals(other.unknownFields)) 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) + FULL_RESOURCE_NAME_FIELD_NUMBER; + hash = (53 * hash) + getFullResourceName().hashCode(); + if (getPoliciesCount() > 0) { + hash = (37 * hash) + POLICIES_FIELD_NUMBER; + hash = (53 * hash) + getPoliciesList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +     * The effective IAM policies on one resource.
    +     * 
    + * + * Protobuf type {@code + * google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicyOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .Builder.class); + } + + // Construct using + // com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getPoliciesFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + fullResourceName_ = ""; + + if (policiesBuilder_ == null) { + policies_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + policiesBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_EffectiveIamPolicy_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + getDefaultInstanceForType() { + return com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + build() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy result = + buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + buildPartial() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy result = + new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy( + this); + int from_bitField0_ = bitField0_; + result.fullResourceName_ = fullResourceName_; + if (policiesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + policies_ = java.util.Collections.unmodifiableList(policies_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.policies_ = policies_; + } else { + result.policies_ = policiesBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, + java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other + instanceof + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) { + return mergeFrom( + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy other) { + if (other + == com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .getDefaultInstance()) return this; + if (!other.getFullResourceName().isEmpty()) { + fullResourceName_ = other.fullResourceName_; + onChanged(); + } + if (policiesBuilder_ == null) { + if (!other.policies_.isEmpty()) { + if (policies_.isEmpty()) { + policies_ = other.policies_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePoliciesIsMutable(); + policies_.addAll(other.policies_); + } + onChanged(); + } + } else { + if (!other.policies_.isEmpty()) { + if (policiesBuilder_.isEmpty()) { + policiesBuilder_.dispose(); + policiesBuilder_ = null; + policies_ = other.policies_; + bitField0_ = (bitField0_ & ~0x00000001); + policiesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getPoliciesFieldBuilder() + : null; + } else { + policiesBuilder_.addAllMessages(other.policies_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int bitField0_; + + private java.lang.Object fullResourceName_ = ""; + /** + * + * + *
    +       * The [full_resource_name]
    +       * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +       * for which the
    +       * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +       * are computed. This is one of the
    +       * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +       * the caller provides in the request.
    +       * 
    + * + * string full_resource_name = 1; + * + * @return The fullResourceName. + */ + public java.lang.String getFullResourceName() { + java.lang.Object ref = fullResourceName_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + fullResourceName_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +       * The [full_resource_name]
    +       * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +       * for which the
    +       * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +       * are computed. This is one of the
    +       * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +       * the caller provides in the request.
    +       * 
    + * + * string full_resource_name = 1; + * + * @return The bytes for fullResourceName. + */ + public com.google.protobuf.ByteString getFullResourceNameBytes() { + java.lang.Object ref = fullResourceName_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + fullResourceName_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +       * The [full_resource_name]
    +       * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +       * for which the
    +       * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +       * are computed. This is one of the
    +       * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +       * the caller provides in the request.
    +       * 
    + * + * string full_resource_name = 1; + * + * @param value The fullResourceName to set. + * @return This builder for chaining. + */ + public Builder setFullResourceName(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + fullResourceName_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +       * The [full_resource_name]
    +       * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +       * for which the
    +       * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +       * are computed. This is one of the
    +       * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +       * the caller provides in the request.
    +       * 
    + * + * string full_resource_name = 1; + * + * @return This builder for chaining. + */ + public Builder clearFullResourceName() { + + fullResourceName_ = getDefaultInstance().getFullResourceName(); + onChanged(); + return this; + } + /** + * + * + *
    +       * The [full_resource_name]
    +       * (https://cloud.google.com/asset-inventory/docs/resource-name-format)
    +       * for which the
    +       * [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]
    +       * are computed. This is one of the
    +       * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]
    +       * the caller provides in the request.
    +       * 
    + * + * string full_resource_name = 1; + * + * @param value The bytes for fullResourceName to set. + * @return This builder for chaining. + */ + public Builder setFullResourceNameBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + fullResourceName_ = value; + onChanged(); + return this; + } + + private java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo> + policies_ = java.util.Collections.emptyList(); + + private void ensurePoliciesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + policies_ = + new java.util.ArrayList< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo>(policies_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder> + policiesBuilder_; + + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo> + getPoliciesList() { + if (policiesBuilder_ == null) { + return java.util.Collections.unmodifiableList(policies_); + } else { + return policiesBuilder_.getMessageList(); + } + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public int getPoliciesCount() { + if (policiesBuilder_ == null) { + return policies_.size(); + } else { + return policiesBuilder_.getCount(); + } + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + getPolicies(int index) { + if (policiesBuilder_ == null) { + return policies_.get(index); + } else { + return policiesBuilder_.getMessage(index); + } + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder setPolicies( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + value) { + if (policiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePoliciesIsMutable(); + policies_.set(index, value); + onChanged(); + } else { + policiesBuilder_.setMessage(index, value); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder setPolicies( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder + builderForValue) { + if (policiesBuilder_ == null) { + ensurePoliciesIsMutable(); + policies_.set(index, builderForValue.build()); + onChanged(); + } else { + policiesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder addPolicies( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + value) { + if (policiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePoliciesIsMutable(); + policies_.add(value); + onChanged(); + } else { + policiesBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder addPolicies( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo + value) { + if (policiesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePoliciesIsMutable(); + policies_.add(index, value); + onChanged(); + } else { + policiesBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder addPolicies( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder + builderForValue) { + if (policiesBuilder_ == null) { + ensurePoliciesIsMutable(); + policies_.add(builderForValue.build()); + onChanged(); + } else { + policiesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder addPolicies( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder + builderForValue) { + if (policiesBuilder_ == null) { + ensurePoliciesIsMutable(); + policies_.add(index, builderForValue.build()); + onChanged(); + } else { + policiesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder addAllPolicies( + java.lang.Iterable< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy.PolicyInfo> + values) { + if (policiesBuilder_ == null) { + ensurePoliciesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, policies_); + onChanged(); + } else { + policiesBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder clearPolicies() { + if (policiesBuilder_ == null) { + policies_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + policiesBuilder_.clear(); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public Builder removePolicies(int index) { + if (policiesBuilder_ == null) { + ensurePoliciesIsMutable(); + policies_.remove(index); + onChanged(); + } else { + policiesBuilder_.remove(index); + } + return this; + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder + getPoliciesBuilder(int index) { + return getPoliciesFieldBuilder().getBuilder(index); + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder + getPoliciesOrBuilder(int index) { + if (policiesBuilder_ == null) { + return policies_.get(index); + } else { + return policiesBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public java.util.List< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder> + getPoliciesOrBuilderList() { + if (policiesBuilder_ != null) { + return policiesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(policies_); + } + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder + addPoliciesBuilder() { + return getPoliciesFieldBuilder() + .addBuilder( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.getDefaultInstance()); + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder + addPoliciesBuilder(int index) { + return getPoliciesFieldBuilder() + .addBuilder( + index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.getDefaultInstance()); + } + /** + * + * + *
    +       * The effective policies for the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies include the policy set on the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * and those set on its parents and ancestors up to the
    +       * [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope].
    +       * Note that these policies are not filtered according to the resource type
    +       * of the
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name].
    +       * These policies are hierarchically ordered by
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * starting from
    +       * [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]
    +       * itself to its parents and ancestors, such that policies[i]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]
    +       * is the child of policies[i+1]'s
    +       * [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource],
    +       * if policies[i+1] exists.
    +       * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo policies = 2; + * + */ + public java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder> + getPoliciesBuilderList() { + return getPoliciesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder> + getPoliciesFieldBuilder() { + if (policiesBuilder_ == null) { + policiesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfo.Builder, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .PolicyInfoOrBuilder>( + policies_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + policies_ = null; + } + return policiesBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy) + private static final com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = + new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy(); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public EffectiveIamPolicy parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new EffectiveIamPolicy(input, extensionRegistry); + } + }; + + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public static final int POLICY_RESULTS_FIELD_NUMBER = 2; + private java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy> + policyResults_; + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + @java.lang.Override + public java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy> + getPolicyResultsList() { + return policyResults_; + } + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + @java.lang.Override + public java.util.List< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder> + getPolicyResultsOrBuilderList() { + return policyResults_; + } + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + @java.lang.Override + public int getPolicyResultsCount() { + return policyResults_.size(); + } + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + getPolicyResults(int index) { + return policyResults_.get(index); + } + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicyOrBuilder + getPolicyResultsOrBuilder(int index) { + return policyResults_.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 < policyResults_.size(); i++) { + output.writeMessage(2, policyResults_.get(i)); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < policyResults_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, policyResults_.get(i)); + } + size += unknownFields.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.asset.v1.BatchGetEffectiveIamPoliciesResponse)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse other = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) obj; + + if (!getPolicyResultsList().equals(other.getPolicyResultsList())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getPolicyResultsCount() > 0) { + hash = (37 * hash) + POLICY_RESULTS_FIELD_NUMBER; + hash = (53 * hash) + getPolicyResultsList().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse 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.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse 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.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.BatchGetEffectiveIamPoliciesResponse 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * A response message for
    +   * [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies].
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.class, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getPolicyResultsFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (policyResultsBuilder_ == null) { + policyResults_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + policyResultsBuilder_.clear(); + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_BatchGetEffectiveIamPoliciesResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + getDefaultInstanceForType() { + return com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse build() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse buildPartial() { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse result = + new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse(this); + int from_bitField0_ = bitField0_; + if (policyResultsBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + policyResults_ = java.util.Collections.unmodifiableList(policyResults_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.policyResults_ = policyResults_; + } else { + result.policyResults_ = policyResultsBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) { + return mergeFrom((com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse other) { + if (other + == com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.getDefaultInstance()) + return this; + if (policyResultsBuilder_ == null) { + if (!other.policyResults_.isEmpty()) { + if (policyResults_.isEmpty()) { + policyResults_ = other.policyResults_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensurePolicyResultsIsMutable(); + policyResults_.addAll(other.policyResults_); + } + onChanged(); + } + } else { + if (!other.policyResults_.isEmpty()) { + if (policyResultsBuilder_.isEmpty()) { + policyResultsBuilder_.dispose(); + policyResultsBuilder_ = null; + policyResults_ = other.policyResults_; + bitField0_ = (bitField0_ & ~0x00000001); + policyResultsBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getPolicyResultsFieldBuilder() + : null; + } else { + policyResultsBuilder_.addAllMessages(other.policyResults_); + } + } + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) + e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int bitField0_; + + private java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy> + policyResults_ = java.util.Collections.emptyList(); + + private void ensurePolicyResultsIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + policyResults_ = + new java.util.ArrayList< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy>( + policyResults_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .Builder, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder> + policyResultsBuilder_; + + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy> + getPolicyResultsList() { + if (policyResultsBuilder_ == null) { + return java.util.Collections.unmodifiableList(policyResults_); + } else { + return policyResultsBuilder_.getMessageList(); + } + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public int getPolicyResultsCount() { + if (policyResultsBuilder_ == null) { + return policyResults_.size(); + } else { + return policyResultsBuilder_.getCount(); + } + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + getPolicyResults(int index) { + if (policyResultsBuilder_ == null) { + return policyResults_.get(index); + } else { + return policyResultsBuilder_.getMessage(index); + } + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder setPolicyResults( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy value) { + if (policyResultsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePolicyResultsIsMutable(); + policyResults_.set(index, value); + onChanged(); + } else { + policyResultsBuilder_.setMessage(index, value); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder setPolicyResults( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.Builder + builderForValue) { + if (policyResultsBuilder_ == null) { + ensurePolicyResultsIsMutable(); + policyResults_.set(index, builderForValue.build()); + onChanged(); + } else { + policyResultsBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder addPolicyResults( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy value) { + if (policyResultsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePolicyResultsIsMutable(); + policyResults_.add(value); + onChanged(); + } else { + policyResultsBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder addPolicyResults( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy value) { + if (policyResultsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensurePolicyResultsIsMutable(); + policyResults_.add(index, value); + onChanged(); + } else { + policyResultsBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder addPolicyResults( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.Builder + builderForValue) { + if (policyResultsBuilder_ == null) { + ensurePolicyResultsIsMutable(); + policyResults_.add(builderForValue.build()); + onChanged(); + } else { + policyResultsBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder addPolicyResults( + int index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.Builder + builderForValue) { + if (policyResultsBuilder_ == null) { + ensurePolicyResultsIsMutable(); + policyResults_.add(index, builderForValue.build()); + onChanged(); + } else { + policyResultsBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder addAllPolicyResults( + java.lang.Iterable< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicy> + values) { + if (policyResultsBuilder_ == null) { + ensurePolicyResultsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, policyResults_); + onChanged(); + } else { + policyResultsBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder clearPolicyResults() { + if (policyResultsBuilder_ == null) { + policyResults_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + policyResultsBuilder_.clear(); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public Builder removePolicyResults(int index) { + if (policyResultsBuilder_ == null) { + ensurePolicyResultsIsMutable(); + policyResults_.remove(index); + onChanged(); + } else { + policyResultsBuilder_.remove(index); + } + return this; + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.Builder + getPolicyResultsBuilder(int index) { + return getPolicyResultsFieldBuilder().getBuilder(index); + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder + getPolicyResultsOrBuilder(int index) { + if (policyResultsBuilder_ == null) { + return policyResults_.get(index); + } else { + return policyResultsBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public java.util.List< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder> + getPolicyResultsOrBuilderList() { + if (policyResultsBuilder_ != null) { + return policyResultsBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(policyResults_); + } + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.Builder + addPolicyResultsBuilder() { + return getPolicyResultsFieldBuilder() + .addBuilder( + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .getDefaultInstance()); + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.Builder + addPolicyResultsBuilder(int index) { + return getPolicyResultsFieldBuilder() + .addBuilder( + index, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .getDefaultInstance()); + } + /** + * + * + *
    +     * The effective policies for a batch of resources. Note that the results
    +     * order is the same as the order of
    +     * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +     * When a resource does not have any effective IAM policies, its corresponding
    +     * policy_result will contain empty
    +     * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +     * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + public java.util.List< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .Builder> + getPolicyResultsBuilderList() { + return getPolicyResultsFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .Builder, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder> + getPolicyResultsFieldBuilder() { + if (policyResultsBuilder_ == null) { + policyResultsBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + .Builder, + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder>( + policyResults_, + ((bitField0_ & 0x00000001) != 0), + getParentForChildren(), + isClean()); + policyResults_ = null; + } + return policyResultsBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) + private static final com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse(); + } + + public static com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public BatchGetEffectiveIamPoliciesResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new BatchGetEffectiveIamPoliciesResponse(input, extensionRegistry); + } + }; + + 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.asset.v1.BatchGetEffectiveIamPoliciesResponse + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponseOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponseOrBuilder.java new file mode 100644 index 00000000000..8a5e5c2540f --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BatchGetEffectiveIamPoliciesResponseOrBuilder.java @@ -0,0 +1,118 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface BatchGetEffectiveIamPoliciesResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + java.util.List + getPolicyResultsList(); + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy + getPolicyResults(int index); + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + int getPolicyResultsCount(); + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + java.util.List< + ? extends + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse + .EffectiveIamPolicyOrBuilder> + getPolicyResultsOrBuilderList(); + /** + * + * + *
    +   * The effective policies for a batch of resources. Note that the results
    +   * order is the same as the order of
    +   * [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names].
    +   * When a resource does not have any effective IAM policies, its corresponding
    +   * policy_result will contain empty
    +   * [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies].
    +   * 
    + * + * + * repeated .google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy policy_results = 2; + * + */ + com.google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicyOrBuilder + getPolicyResultsOrBuilder(int index); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestination.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestination.java index 4d1336c121b..d3db2835dee 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestination.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestination.java @@ -156,7 +156,11 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -182,7 +186,11 @@ public java.lang.String getDataset() { * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -805,7 +813,11 @@ public Builder mergeFrom( * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -830,7 +842,11 @@ public java.lang.String getDataset() { * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -855,7 +871,11 @@ public com.google.protobuf.ByteString getDatasetBytes() { * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -879,7 +899,11 @@ public Builder setDataset(java.lang.String value) { * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -899,7 +923,11 @@ public Builder clearDataset() { * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestinationOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestinationOrBuilder.java index c94b5fbaf7c..b5571d295fb 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestinationOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/BigQueryDestinationOrBuilder.java @@ -30,7 +30,11 @@ public interface BigQueryDestinationOrBuilder * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -45,7 +49,11 @@ public interface BigQueryDestinationOrBuilder * Required. The BigQuery dataset in format * "projects/projectId/datasets/datasetId", to which the snapshot result * should be exported. If this dataset does not exist, the export call returns - * an INVALID_ARGUMENT error. + * an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + * determines the + * [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + * of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + * influences the schema. *
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequest.java index 0e4a009dd55..f05fab727f4 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequest.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequest.java @@ -249,9 +249,8 @@ public com.google.protobuf.ByteString getFeedIdBytes() { * * *
    -   * Required. The feed details. The field `name` must be empty and it will be generated
    -   * in the format of:
    -   * projects/project_number/feeds/feed_id
    +   * Required. The feed details. The field `name` must be empty and it will be
    +   * generated in the format of: projects/project_number/feeds/feed_id
        * folders/folder_number/feeds/feed_id
        * organizations/organization_number/feeds/feed_id
        * 
    @@ -268,9 +267,8 @@ public boolean hasFeed() { * * *
    -   * Required. The feed details. The field `name` must be empty and it will be generated
    -   * in the format of:
    -   * projects/project_number/feeds/feed_id
    +   * Required. The feed details. The field `name` must be empty and it will be
    +   * generated in the format of: projects/project_number/feeds/feed_id
        * folders/folder_number/feeds/feed_id
        * organizations/organization_number/feeds/feed_id
        * 
    @@ -287,9 +285,8 @@ public com.google.cloud.asset.v1.Feed getFeed() { * * *
    -   * Required. The feed details. The field `name` must be empty and it will be generated
    -   * in the format of:
    -   * projects/project_number/feeds/feed_id
    +   * Required. The feed details. The field `name` must be empty and it will be
    +   * generated in the format of: projects/project_number/feeds/feed_id
        * folders/folder_number/feeds/feed_id
        * organizations/organization_number/feeds/feed_id
        * 
    @@ -908,9 +905,8 @@ public Builder setFeedIdBytes(com.google.protobuf.ByteString value) { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -926,9 +922,8 @@ public boolean hasFeed() { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -948,9 +943,8 @@ public com.google.cloud.asset.v1.Feed getFeed() { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -974,9 +968,8 @@ public Builder setFeed(com.google.cloud.asset.v1.Feed value) { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -997,9 +990,8 @@ public Builder setFeed(com.google.cloud.asset.v1.Feed.Builder builderForValue) { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -1024,9 +1016,8 @@ public Builder mergeFeed(com.google.cloud.asset.v1.Feed value) { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -1048,9 +1039,8 @@ public Builder clearFeed() { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -1066,9 +1056,8 @@ public com.google.cloud.asset.v1.Feed.Builder getFeedBuilder() { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    @@ -1086,9 +1075,8 @@ public com.google.cloud.asset.v1.FeedOrBuilder getFeedOrBuilder() { * * *
    -     * Required. The feed details. The field `name` must be empty and it will be generated
    -     * in the format of:
    -     * projects/project_number/feeds/feed_id
    +     * Required. The feed details. The field `name` must be empty and it will be
    +     * generated in the format of: projects/project_number/feeds/feed_id
          * folders/folder_number/feeds/feed_id
          * organizations/organization_number/feeds/feed_id
          * 
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequestOrBuilder.java index 50a62037baa..8b873ad91af 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequestOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateFeedRequestOrBuilder.java @@ -87,9 +87,8 @@ public interface CreateFeedRequestOrBuilder * * *
    -   * Required. The feed details. The field `name` must be empty and it will be generated
    -   * in the format of:
    -   * projects/project_number/feeds/feed_id
    +   * Required. The feed details. The field `name` must be empty and it will be
    +   * generated in the format of: projects/project_number/feeds/feed_id
        * folders/folder_number/feeds/feed_id
        * organizations/organization_number/feeds/feed_id
        * 
    @@ -103,9 +102,8 @@ public interface CreateFeedRequestOrBuilder * * *
    -   * Required. The feed details. The field `name` must be empty and it will be generated
    -   * in the format of:
    -   * projects/project_number/feeds/feed_id
    +   * Required. The feed details. The field `name` must be empty and it will be
    +   * generated in the format of: projects/project_number/feeds/feed_id
        * folders/folder_number/feeds/feed_id
        * organizations/organization_number/feeds/feed_id
        * 
    @@ -119,9 +117,8 @@ public interface CreateFeedRequestOrBuilder * * *
    -   * Required. The feed details. The field `name` must be empty and it will be generated
    -   * in the format of:
    -   * projects/project_number/feeds/feed_id
    +   * Required. The feed details. The field `name` must be empty and it will be
    +   * generated in the format of: projects/project_number/feeds/feed_id
        * folders/folder_number/feeds/feed_id
        * organizations/organization_number/feeds/feed_id
        * 
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequest.java new file mode 100644 index 00000000000..7bb028864cc --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequest.java @@ -0,0 +1,1214 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * Request to create a saved query.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.CreateSavedQueryRequest} + */ +public final class CreateSavedQueryRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.CreateSavedQueryRequest) + CreateSavedQueryRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use CreateSavedQueryRequest.newBuilder() to construct. + private CreateSavedQueryRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private CreateSavedQueryRequest() { + parent_ = ""; + savedQueryId_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new CreateSavedQueryRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private CreateSavedQueryRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + parent_ = s; + break; + } + case 18: + { + com.google.cloud.asset.v1.SavedQuery.Builder subBuilder = null; + if (savedQuery_ != null) { + subBuilder = savedQuery_.toBuilder(); + } + savedQuery_ = + input.readMessage( + com.google.cloud.asset.v1.SavedQuery.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(savedQuery_); + savedQuery_ = subBuilder.buildPartial(); + } + + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + + savedQueryId_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.CreateSavedQueryRequest.class, + com.google.cloud.asset.v1.CreateSavedQueryRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + private volatile java.lang.Object parent_; + /** + * + * + *
    +   * Required. The name of the project/folder/organization where this
    +   * saved_query should be created in. It can only be an organization number
    +   * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +   * project ID (such as "projects/my-project-id")", or a project number (such
    +   * as "projects/12345").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + /** + * + * + *
    +   * Required. The name of the project/folder/organization where this
    +   * saved_query should be created in. It can only be an organization number
    +   * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +   * project ID (such as "projects/my-project-id")", or a project number (such
    +   * as "projects/12345").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int SAVED_QUERY_FIELD_NUMBER = 2; + private com.google.cloud.asset.v1.SavedQuery savedQuery_; + /** + * + * + *
    +   * Required. The saved_query details. The `name` field must be empty as it
    +   * will be generated based on the parent and saved_query_id.
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the savedQuery field is set. + */ + @java.lang.Override + public boolean hasSavedQuery() { + return savedQuery_ != null; + } + /** + * + * + *
    +   * Required. The saved_query details. The `name` field must be empty as it
    +   * will be generated based on the parent and saved_query_id.
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The savedQuery. + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery getSavedQuery() { + return savedQuery_ == null + ? com.google.cloud.asset.v1.SavedQuery.getDefaultInstance() + : savedQuery_; + } + /** + * + * + *
    +   * Required. The saved_query details. The `name` field must be empty as it
    +   * will be generated based on the parent and saved_query_id.
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueryOrBuilder() { + return getSavedQuery(); + } + + public static final int SAVED_QUERY_ID_FIELD_NUMBER = 3; + private volatile java.lang.Object savedQueryId_; + /** + * + * + *
    +   * Required. The ID to use for the saved query, which must be unique in the
    +   * specified parent. It will become the final component of the saved query's
    +   * resource name.
    +   * This value should be 4-63 characters, and valid characters
    +   * are /[a-z][0-9]-/.
    +   * Notice that this field is required in the saved query creation, and the
    +   * `name` field of the `saved_query` will be ignored.
    +   * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The savedQueryId. + */ + @java.lang.Override + public java.lang.String getSavedQueryId() { + java.lang.Object ref = savedQueryId_; + 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(); + savedQueryId_ = s; + return s; + } + } + /** + * + * + *
    +   * Required. The ID to use for the saved query, which must be unique in the
    +   * specified parent. It will become the final component of the saved query's
    +   * resource name.
    +   * This value should be 4-63 characters, and valid characters
    +   * are /[a-z][0-9]-/.
    +   * Notice that this field is required in the saved query creation, and the
    +   * `name` field of the `saved_query` will be ignored.
    +   * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for savedQueryId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getSavedQueryIdBytes() { + java.lang.Object ref = savedQueryId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + savedQueryId_ = 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.GeneratedMessageV3.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, parent_); + } + if (savedQuery_ != null) { + output.writeMessage(2, getSavedQuery()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(savedQueryId_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, savedQueryId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, parent_); + } + if (savedQuery_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getSavedQuery()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(savedQueryId_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, savedQueryId_); + } + size += unknownFields.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.asset.v1.CreateSavedQueryRequest)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.CreateSavedQueryRequest other = + (com.google.cloud.asset.v1.CreateSavedQueryRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (hasSavedQuery() != other.hasSavedQuery()) return false; + if (hasSavedQuery()) { + if (!getSavedQuery().equals(other.getSavedQuery())) return false; + } + if (!getSavedQueryId().equals(other.getSavedQueryId())) return false; + if (!unknownFields.equals(other.unknownFields)) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + if (hasSavedQuery()) { + hash = (37 * hash) + SAVED_QUERY_FIELD_NUMBER; + hash = (53 * hash) + getSavedQuery().hashCode(); + } + hash = (37 * hash) + SAVED_QUERY_ID_FIELD_NUMBER; + hash = (53 * hash) + getSavedQueryId().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest 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.asset.v1.CreateSavedQueryRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest 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.asset.v1.CreateSavedQueryRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.CreateSavedQueryRequest 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * Request to create a saved query.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.CreateSavedQueryRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.CreateSavedQueryRequest) + com.google.cloud.asset.v1.CreateSavedQueryRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.CreateSavedQueryRequest.class, + com.google.cloud.asset.v1.CreateSavedQueryRequest.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.CreateSavedQueryRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + parent_ = ""; + + if (savedQueryBuilder_ == null) { + savedQuery_ = null; + } else { + savedQuery_ = null; + savedQueryBuilder_ = null; + } + savedQueryId_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_CreateSavedQueryRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.CreateSavedQueryRequest getDefaultInstanceForType() { + return com.google.cloud.asset.v1.CreateSavedQueryRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.CreateSavedQueryRequest build() { + com.google.cloud.asset.v1.CreateSavedQueryRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.CreateSavedQueryRequest buildPartial() { + com.google.cloud.asset.v1.CreateSavedQueryRequest result = + new com.google.cloud.asset.v1.CreateSavedQueryRequest(this); + result.parent_ = parent_; + if (savedQueryBuilder_ == null) { + result.savedQuery_ = savedQuery_; + } else { + result.savedQuery_ = savedQueryBuilder_.build(); + } + result.savedQueryId_ = savedQueryId_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.CreateSavedQueryRequest) { + return mergeFrom((com.google.cloud.asset.v1.CreateSavedQueryRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.CreateSavedQueryRequest other) { + if (other == com.google.cloud.asset.v1.CreateSavedQueryRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + onChanged(); + } + if (other.hasSavedQuery()) { + mergeSavedQuery(other.getSavedQuery()); + } + if (!other.getSavedQueryId().isEmpty()) { + savedQueryId_ = other.savedQueryId_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.CreateSavedQueryRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.CreateSavedQueryRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object parent_ = ""; + /** + * + * + *
    +     * Required. The name of the project/folder/organization where this
    +     * saved_query should be created in. It can only be an organization number
    +     * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +     * project ID (such as "projects/my-project-id")", or a project number (such
    +     * as "projects/12345").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Required. The name of the project/folder/organization where this
    +     * saved_query should be created in. It can only be an organization number
    +     * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +     * project ID (such as "projects/my-project-id")", or a project number (such
    +     * as "projects/12345").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Required. The name of the project/folder/organization where this
    +     * saved_query should be created in. It can only be an organization number
    +     * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +     * project ID (such as "projects/my-project-id")", or a project number (such
    +     * as "projects/12345").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + parent_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The name of the project/folder/organization where this
    +     * saved_query should be created in. It can only be an organization number
    +     * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +     * project ID (such as "projects/my-project-id")", or a project number (such
    +     * as "projects/12345").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + + parent_ = getDefaultInstance().getParent(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The name of the project/folder/organization where this
    +     * saved_query should be created in. It can only be an organization number
    +     * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +     * project ID (such as "projects/my-project-id")", or a project number (such
    +     * as "projects/12345").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + parent_ = value; + onChanged(); + return this; + } + + private com.google.cloud.asset.v1.SavedQuery savedQuery_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder> + savedQueryBuilder_; + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the savedQuery field is set. + */ + public boolean hasSavedQuery() { + return savedQueryBuilder_ != null || savedQuery_ != null; + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The savedQuery. + */ + public com.google.cloud.asset.v1.SavedQuery getSavedQuery() { + if (savedQueryBuilder_ == null) { + return savedQuery_ == null + ? com.google.cloud.asset.v1.SavedQuery.getDefaultInstance() + : savedQuery_; + } else { + return savedQueryBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setSavedQuery(com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueryBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + savedQuery_ = value; + onChanged(); + } else { + savedQueryBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setSavedQuery(com.google.cloud.asset.v1.SavedQuery.Builder builderForValue) { + if (savedQueryBuilder_ == null) { + savedQuery_ = builderForValue.build(); + onChanged(); + } else { + savedQueryBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeSavedQuery(com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueryBuilder_ == null) { + if (savedQuery_ != null) { + savedQuery_ = + com.google.cloud.asset.v1.SavedQuery.newBuilder(savedQuery_) + .mergeFrom(value) + .buildPartial(); + } else { + savedQuery_ = value; + } + onChanged(); + } else { + savedQueryBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearSavedQuery() { + if (savedQueryBuilder_ == null) { + savedQuery_ = null; + onChanged(); + } else { + savedQuery_ = null; + savedQueryBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.asset.v1.SavedQuery.Builder getSavedQueryBuilder() { + + onChanged(); + return getSavedQueryFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueryOrBuilder() { + if (savedQueryBuilder_ != null) { + return savedQueryBuilder_.getMessageOrBuilder(); + } else { + return savedQuery_ == null + ? com.google.cloud.asset.v1.SavedQuery.getDefaultInstance() + : savedQuery_; + } + } + /** + * + * + *
    +     * Required. The saved_query details. The `name` field must be empty as it
    +     * will be generated based on the parent and saved_query_id.
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder> + getSavedQueryFieldBuilder() { + if (savedQueryBuilder_ == null) { + savedQueryBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder>( + getSavedQuery(), getParentForChildren(), isClean()); + savedQuery_ = null; + } + return savedQueryBuilder_; + } + + private java.lang.Object savedQueryId_ = ""; + /** + * + * + *
    +     * Required. The ID to use for the saved query, which must be unique in the
    +     * specified parent. It will become the final component of the saved query's
    +     * resource name.
    +     * This value should be 4-63 characters, and valid characters
    +     * are /[a-z][0-9]-/.
    +     * Notice that this field is required in the saved query creation, and the
    +     * `name` field of the `saved_query` will be ignored.
    +     * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The savedQueryId. + */ + public java.lang.String getSavedQueryId() { + java.lang.Object ref = savedQueryId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + savedQueryId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Required. The ID to use for the saved query, which must be unique in the
    +     * specified parent. It will become the final component of the saved query's
    +     * resource name.
    +     * This value should be 4-63 characters, and valid characters
    +     * are /[a-z][0-9]-/.
    +     * Notice that this field is required in the saved query creation, and the
    +     * `name` field of the `saved_query` will be ignored.
    +     * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for savedQueryId. + */ + public com.google.protobuf.ByteString getSavedQueryIdBytes() { + java.lang.Object ref = savedQueryId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + savedQueryId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Required. The ID to use for the saved query, which must be unique in the
    +     * specified parent. It will become the final component of the saved query's
    +     * resource name.
    +     * This value should be 4-63 characters, and valid characters
    +     * are /[a-z][0-9]-/.
    +     * Notice that this field is required in the saved query creation, and the
    +     * `name` field of the `saved_query` will be ignored.
    +     * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The savedQueryId to set. + * @return This builder for chaining. + */ + public Builder setSavedQueryId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + savedQueryId_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The ID to use for the saved query, which must be unique in the
    +     * specified parent. It will become the final component of the saved query's
    +     * resource name.
    +     * This value should be 4-63 characters, and valid characters
    +     * are /[a-z][0-9]-/.
    +     * Notice that this field is required in the saved query creation, and the
    +     * `name` field of the `saved_query` will be ignored.
    +     * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return This builder for chaining. + */ + public Builder clearSavedQueryId() { + + savedQueryId_ = getDefaultInstance().getSavedQueryId(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The ID to use for the saved query, which must be unique in the
    +     * specified parent. It will become the final component of the saved query's
    +     * resource name.
    +     * This value should be 4-63 characters, and valid characters
    +     * are /[a-z][0-9]-/.
    +     * Notice that this field is required in the saved query creation, and the
    +     * `name` field of the `saved_query` will be ignored.
    +     * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @param value The bytes for savedQueryId to set. + * @return This builder for chaining. + */ + public Builder setSavedQueryIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + savedQueryId_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.CreateSavedQueryRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.CreateSavedQueryRequest) + private static final com.google.cloud.asset.v1.CreateSavedQueryRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.CreateSavedQueryRequest(); + } + + public static com.google.cloud.asset.v1.CreateSavedQueryRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public CreateSavedQueryRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new CreateSavedQueryRequest(input, extensionRegistry); + } + }; + + 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.asset.v1.CreateSavedQueryRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequestOrBuilder.java new file mode 100644 index 00000000000..651097a1493 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/CreateSavedQueryRequestOrBuilder.java @@ -0,0 +1,143 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface CreateSavedQueryRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.CreateSavedQueryRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * Required. The name of the project/folder/organization where this
    +   * saved_query should be created in. It can only be an organization number
    +   * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +   * project ID (such as "projects/my-project-id")", or a project number (such
    +   * as "projects/12345").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + /** + * + * + *
    +   * Required. The name of the project/folder/organization where this
    +   * saved_query should be created in. It can only be an organization number
    +   * (such as "organizations/123"), a folder number (such as "folders/123"), a
    +   * project ID (such as "projects/my-project-id")", or a project number (such
    +   * as "projects/12345").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
    +   * Required. The saved_query details. The `name` field must be empty as it
    +   * will be generated based on the parent and saved_query_id.
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the savedQuery field is set. + */ + boolean hasSavedQuery(); + /** + * + * + *
    +   * Required. The saved_query details. The `name` field must be empty as it
    +   * will be generated based on the parent and saved_query_id.
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The savedQuery. + */ + com.google.cloud.asset.v1.SavedQuery getSavedQuery(); + /** + * + * + *
    +   * Required. The saved_query details. The `name` field must be empty as it
    +   * will be generated based on the parent and saved_query_id.
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueryOrBuilder(); + + /** + * + * + *
    +   * Required. The ID to use for the saved query, which must be unique in the
    +   * specified parent. It will become the final component of the saved query's
    +   * resource name.
    +   * This value should be 4-63 characters, and valid characters
    +   * are /[a-z][0-9]-/.
    +   * Notice that this field is required in the saved query creation, and the
    +   * `name` field of the `saved_query` will be ignored.
    +   * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The savedQueryId. + */ + java.lang.String getSavedQueryId(); + /** + * + * + *
    +   * Required. The ID to use for the saved query, which must be unique in the
    +   * specified parent. It will become the final component of the saved query's
    +   * resource name.
    +   * This value should be 4-63 characters, and valid characters
    +   * are /[a-z][0-9]-/.
    +   * Notice that this field is required in the saved query creation, and the
    +   * `name` field of the `saved_query` will be ignored.
    +   * 
    + * + * string saved_query_id = 3 [(.google.api.field_behavior) = REQUIRED]; + * + * @return The bytes for savedQueryId. + */ + com.google.protobuf.ByteString getSavedQueryIdBytes(); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequest.java new file mode 100644 index 00000000000..87acf06bf1a --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequest.java @@ -0,0 +1,680 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * Request to delete a saved query.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.DeleteSavedQueryRequest} + */ +public final class DeleteSavedQueryRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.DeleteSavedQueryRequest) + DeleteSavedQueryRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use DeleteSavedQueryRequest.newBuilder() to construct. + private DeleteSavedQueryRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private DeleteSavedQueryRequest() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new DeleteSavedQueryRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private DeleteSavedQueryRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.DeleteSavedQueryRequest.class, + com.google.cloud.asset.v1.DeleteSavedQueryRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
    +   * Required. The name of the saved query to delete. It must be in the format
    +   * of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * 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. The name of the saved query to delete. It must be in the format
    +   * of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * 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.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + size += unknownFields.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.asset.v1.DeleteSavedQueryRequest)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.DeleteSavedQueryRequest other = + (com.google.cloud.asset.v1.DeleteSavedQueryRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!unknownFields.equals(other.unknownFields)) 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) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest 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.asset.v1.DeleteSavedQueryRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest 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.asset.v1.DeleteSavedQueryRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.DeleteSavedQueryRequest 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * Request to delete a saved query.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.DeleteSavedQueryRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.DeleteSavedQueryRequest) + com.google.cloud.asset.v1.DeleteSavedQueryRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.DeleteSavedQueryRequest.class, + com.google.cloud.asset.v1.DeleteSavedQueryRequest.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.DeleteSavedQueryRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_DeleteSavedQueryRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.DeleteSavedQueryRequest getDefaultInstanceForType() { + return com.google.cloud.asset.v1.DeleteSavedQueryRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.DeleteSavedQueryRequest build() { + com.google.cloud.asset.v1.DeleteSavedQueryRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.DeleteSavedQueryRequest buildPartial() { + com.google.cloud.asset.v1.DeleteSavedQueryRequest result = + new com.google.cloud.asset.v1.DeleteSavedQueryRequest(this); + result.name_ = name_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.DeleteSavedQueryRequest) { + return mergeFrom((com.google.cloud.asset.v1.DeleteSavedQueryRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.DeleteSavedQueryRequest other) { + if (other == com.google.cloud.asset.v1.DeleteSavedQueryRequest.getDefaultInstance()) + return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.DeleteSavedQueryRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.DeleteSavedQueryRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + * + * + *
    +     * Required. The name of the saved query to delete. It must be in the format
    +     * of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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. The name of the saved query to delete. It must be in the format
    +     * of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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. The name of the saved query to delete. It must be in the format
    +     * of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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; + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The name of the saved query to delete. It must be in the format
    +     * of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The name of the saved query to delete. It must be in the format
    +     * of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.DeleteSavedQueryRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.DeleteSavedQueryRequest) + private static final com.google.cloud.asset.v1.DeleteSavedQueryRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.DeleteSavedQueryRequest(); + } + + public static com.google.cloud.asset.v1.DeleteSavedQueryRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public DeleteSavedQueryRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new DeleteSavedQueryRequest(input, extensionRegistry); + } + }; + + 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.asset.v1.DeleteSavedQueryRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequestOrBuilder.java new file mode 100644 index 00000000000..eba137a41a0 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/DeleteSavedQueryRequestOrBuilder.java @@ -0,0 +1,62 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface DeleteSavedQueryRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.DeleteSavedQueryRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * Required. The name of the saved query to delete. It must be in the format
    +   * of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + /** + * + * + *
    +   * Required. The name of the saved query to delete. It must be in the format
    +   * of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * 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-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequest.java index edbe2b4959c..5d34a1eb060 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequest.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequest.java @@ -455,7 +455,8 @@ public com.google.cloud.asset.v1.ContentType getContentType() { * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -472,7 +473,8 @@ public boolean hasOutputConfig() { * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -491,7 +493,8 @@ public com.google.cloud.asset.v1.OutputConfig getOutputConfig() { * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -1815,7 +1818,8 @@ public Builder clearContentType() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1831,7 +1835,8 @@ public boolean hasOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1853,7 +1858,8 @@ public com.google.cloud.asset.v1.OutputConfig getOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1877,7 +1883,8 @@ public Builder setOutputConfig(com.google.cloud.asset.v1.OutputConfig value) { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1898,7 +1905,8 @@ public Builder setOutputConfig(com.google.cloud.asset.v1.OutputConfig.Builder bu * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1926,7 +1934,8 @@ public Builder mergeOutputConfig(com.google.cloud.asset.v1.OutputConfig value) { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1948,7 +1957,8 @@ public Builder clearOutputConfig() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1964,7 +1974,8 @@ public com.google.cloud.asset.v1.OutputConfig.Builder getOutputConfigBuilder() { * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * @@ -1984,7 +1995,8 @@ public com.google.cloud.asset.v1.OutputConfigOrBuilder getOutputConfigOrBuilder( * * *
    -     * Required. Output configuration indicating where the results will be output to.
    +     * Required. Output configuration indicating where the results will be output
    +     * to.
          * 
    * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequestOrBuilder.java index 870a0fdc933..01284605acd 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequestOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsRequestOrBuilder.java @@ -239,7 +239,8 @@ public interface ExportAssetsRequestOrBuilder * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -253,7 +254,8 @@ public interface ExportAssetsRequestOrBuilder * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * @@ -267,7 +269,8 @@ public interface ExportAssetsRequestOrBuilder * * *
    -   * Required. Output configuration indicating where the results will be output to.
    +   * Required. Output configuration indicating where the results will be output
    +   * to.
        * 
    * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsResponse.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsResponse.java index fb16376ccc2..87132911160 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsResponse.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ExportAssetsResponse.java @@ -23,8 +23,10 @@ * *
      * The export asset response. This message is returned by the
    - * [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned
    - * [google.longrunning.Operation.response][google.longrunning.Operation.response] field.
    + * [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation]
    + * method in the returned
    + * [google.longrunning.Operation.response][google.longrunning.Operation.response]
    + * field.
      * 
    * * Protobuf type {@code google.cloud.asset.v1.ExportAssetsResponse} @@ -504,8 +506,10 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * *
        * The export asset response. This message is returned by the
    -   * [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned
    -   * [google.longrunning.Operation.response][google.longrunning.Operation.response] field.
    +   * [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation]
    +   * method in the returned
    +   * [google.longrunning.Operation.response][google.longrunning.Operation.response]
    +   * field.
        * 
    * * Protobuf type {@code google.cloud.asset.v1.ExportAssetsResponse} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Feed.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Feed.java index 751f05a31cd..54f0957682a 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Feed.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/Feed.java @@ -267,9 +267,8 @@ public com.google.protobuf.ByteString getNameBytes() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). *
    * * repeated string asset_names = 2; @@ -288,9 +287,8 @@ public com.google.protobuf.ProtocolStringList getAssetNamesList() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). *
    * * repeated string asset_names = 2; @@ -309,9 +307,8 @@ public int getAssetNamesCount() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). *
    * * repeated string asset_names = 2; @@ -331,9 +328,8 @@ public java.lang.String getAssetNames(int index) { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). *
    * * repeated string asset_names = 2; @@ -355,9 +351,8 @@ public com.google.protobuf.ByteString getAssetNamesBytes(int index) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). *
    * * repeated string asset_types = 3; @@ -375,9 +370,8 @@ public com.google.protobuf.ProtocolStringList getAssetTypesList() { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). *
    * * repeated string asset_types = 3; @@ -395,9 +389,8 @@ public int getAssetTypesCount() { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -416,9 +409,8 @@ public java.lang.String getAssetTypes(int index) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1362,9 +1354,8 @@ private void ensureAssetNamesIsMutable() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1383,9 +1374,8 @@ public com.google.protobuf.ProtocolStringList getAssetNamesList() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1404,9 +1394,8 @@ public int getAssetNamesCount() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1426,9 +1415,8 @@ public java.lang.String getAssetNames(int index) { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1448,9 +1436,8 @@ public com.google.protobuf.ByteString getAssetNamesBytes(int index) { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1477,9 +1464,8 @@ public Builder setAssetNames(int index, java.lang.String value) { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1505,9 +1491,8 @@ public Builder addAssetNames(java.lang.String value) { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1530,9 +1515,8 @@ public Builder addAllAssetNames(java.lang.Iterable values) { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1554,9 +1538,8 @@ public Builder clearAssetNames() { * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -1592,9 +1575,8 @@ private void ensureAssetTypesIsMutable() { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1612,9 +1594,8 @@ public com.google.protobuf.ProtocolStringList getAssetTypesList() { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1632,9 +1613,8 @@ public int getAssetTypesCount() { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1653,9 +1633,8 @@ public java.lang.String getAssetTypes(int index) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1674,9 +1653,8 @@ public com.google.protobuf.ByteString getAssetTypesBytes(int index) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1702,9 +1680,8 @@ public Builder setAssetTypes(int index, java.lang.String value) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1729,9 +1706,8 @@ public Builder addAssetTypes(java.lang.String value) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1753,9 +1729,8 @@ public Builder addAllAssetTypes(java.lang.Iterable values) { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -1776,9 +1751,8 @@ public Builder clearAssetTypes() { * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FeedOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FeedOrBuilder.java index 08a47f655ed..3a9a8f7e263 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FeedOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FeedOrBuilder.java @@ -67,9 +67,8 @@ public interface FeedOrBuilder * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -86,9 +85,8 @@ public interface FeedOrBuilder * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -105,9 +103,8 @@ public interface FeedOrBuilder * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -125,9 +122,8 @@ public interface FeedOrBuilder * specified asset_names or asset_types are exported to the feed. * Example: * `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - * See [Resource - * Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - * for more info. + * For a list of the full names for supported asset types, see [Resource + * name format](/asset-inventory/docs/resource-name-format). * * * repeated string asset_names = 2; @@ -145,9 +141,8 @@ public interface FeedOrBuilder * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -163,9 +158,8 @@ public interface FeedOrBuilder * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -181,9 +175,8 @@ public interface FeedOrBuilder * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; @@ -200,9 +193,8 @@ public interface FeedOrBuilder * or both of asset_names and asset_types. Only asset updates matching * specified asset_names or asset_types are exported to the feed. * Example: `"compute.googleapis.com/Disk"` - * See [this - * topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - * for a list of all supported asset types. + * For a list of all supported asset types, see + * [Supported asset types](/asset-inventory/docs/supported-asset-types). * * * repeated string asset_types = 3; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FolderName.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FolderName.java new file mode 100644 index 00000000000..e4f3b3981b8 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/FolderName.java @@ -0,0 +1,168 @@ +/* + * Copyright 2022 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.asset.v1; + +import com.google.api.pathtemplate.PathTemplate; +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 FolderName implements ResourceName { + private static final PathTemplate FOLDER = + PathTemplate.createWithoutUrlEncoding("folders/{folder}"); + private volatile Map fieldValuesMap; + private final String folder; + + @Deprecated + protected FolderName() { + folder = null; + } + + private FolderName(Builder builder) { + folder = Preconditions.checkNotNull(builder.getFolder()); + } + + public String getFolder() { + return folder; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static FolderName of(String folder) { + return newBuilder().setFolder(folder).build(); + } + + public static String format(String folder) { + return newBuilder().setFolder(folder).build().toString(); + } + + public static FolderName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + FOLDER.validatedMatch( + formattedString, "FolderName.parse: formattedString not in valid format"); + return of(matchMap.get("folder")); + } + + 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 (FolderName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return FOLDER.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + if (folder != null) { + fieldMapBuilder.put("folder", folder); + } + fieldValuesMap = fieldMapBuilder.build(); + } + } + } + return fieldValuesMap; + } + + public String getFieldValue(String fieldName) { + return getFieldValuesMap().get(fieldName); + } + + @Override + public String toString() { + return FOLDER.instantiate("folder", folder); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + FolderName that = ((FolderName) o); + return Objects.equals(this.folder, that.folder); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(folder); + return h; + } + + /** Builder for folders/{folder}. */ + public static class Builder { + private String folder; + + protected Builder() {} + + public String getFolder() { + return folder; + } + + public Builder setFolder(String folder) { + this.folder = folder; + return this; + } + + private Builder(FolderName folderName) { + this.folder = folderName.folder; + } + + public FolderName build() { + return new FolderName(this); + } + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequest.java new file mode 100644 index 00000000000..98ae2dbb9a0 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequest.java @@ -0,0 +1,671 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * Request to get a saved query.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.GetSavedQueryRequest} + */ +public final class GetSavedQueryRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.GetSavedQueryRequest) + GetSavedQueryRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use GetSavedQueryRequest.newBuilder() to construct. + private GetSavedQueryRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private GetSavedQueryRequest() { + name_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new GetSavedQueryRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private GetSavedQueryRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_GetSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_GetSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.GetSavedQueryRequest.class, + com.google.cloud.asset.v1.GetSavedQueryRequest.Builder.class); + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
    +   * Required. The name of the saved query and it must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * 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. The name of the saved query and it must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * 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.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + size += unknownFields.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.asset.v1.GetSavedQueryRequest)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.GetSavedQueryRequest other = + (com.google.cloud.asset.v1.GetSavedQueryRequest) obj; + + if (!getName().equals(other.getName())) return false; + if (!unknownFields.equals(other.unknownFields)) 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) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest 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.asset.v1.GetSavedQueryRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest 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.asset.v1.GetSavedQueryRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.GetSavedQueryRequest 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * Request to get a saved query.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.GetSavedQueryRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.GetSavedQueryRequest) + com.google.cloud.asset.v1.GetSavedQueryRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_GetSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_GetSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.GetSavedQueryRequest.class, + com.google.cloud.asset.v1.GetSavedQueryRequest.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.GetSavedQueryRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_GetSavedQueryRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.GetSavedQueryRequest getDefaultInstanceForType() { + return com.google.cloud.asset.v1.GetSavedQueryRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.GetSavedQueryRequest build() { + com.google.cloud.asset.v1.GetSavedQueryRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.GetSavedQueryRequest buildPartial() { + com.google.cloud.asset.v1.GetSavedQueryRequest result = + new com.google.cloud.asset.v1.GetSavedQueryRequest(this); + result.name_ = name_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.GetSavedQueryRequest) { + return mergeFrom((com.google.cloud.asset.v1.GetSavedQueryRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.GetSavedQueryRequest other) { + if (other == com.google.cloud.asset.v1.GetSavedQueryRequest.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.GetSavedQueryRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloud.asset.v1.GetSavedQueryRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object name_ = ""; + /** + * + * + *
    +     * Required. The name of the saved query and it must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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. The name of the saved query and it must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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. The name of the saved query and it must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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; + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The name of the saved query and it must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The name of the saved query and it must be in the format of:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * 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; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.GetSavedQueryRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.GetSavedQueryRequest) + private static final com.google.cloud.asset.v1.GetSavedQueryRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.GetSavedQueryRequest(); + } + + public static com.google.cloud.asset.v1.GetSavedQueryRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public GetSavedQueryRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new GetSavedQueryRequest(input, extensionRegistry); + } + }; + + 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.asset.v1.GetSavedQueryRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequestOrBuilder.java new file mode 100644 index 00000000000..d22338aace0 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/GetSavedQueryRequestOrBuilder.java @@ -0,0 +1,60 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface GetSavedQueryRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.GetSavedQueryRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * Required. The name of the saved query and it must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * string name = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The name. + */ + java.lang.String getName(); + /** + * + * + *
    +   * Required. The name of the saved query and it must be in the format of:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * 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-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisOutputConfig.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisOutputConfig.java index 639b740aed0..a222d55a920 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisOutputConfig.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisOutputConfig.java @@ -161,8 +161,8 @@ public interface GcsDestinationOrBuilder * * *
    -     * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -     * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +     * Required. The uri of the Cloud Storage object. It's the same uri that is
    +     * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
          * Editing Object
          * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
          * for more information.
    @@ -180,8 +180,8 @@ public interface GcsDestinationOrBuilder
          *
          *
          * 
    -     * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -     * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +     * Required. The uri of the Cloud Storage object. It's the same uri that is
    +     * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
          * Editing Object
          * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
          * for more information.
    @@ -297,8 +297,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
          *
          *
          * 
    -     * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -     * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +     * Required. The uri of the Cloud Storage object. It's the same uri that is
    +     * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
          * Editing Object
          * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
          * for more information.
    @@ -327,8 +327,8 @@ public java.lang.String getUri() {
          *
          *
          * 
    -     * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -     * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +     * Required. The uri of the Cloud Storage object. It's the same uri that is
    +     * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
          * Editing Object
          * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
          * for more information.
    @@ -694,8 +694,8 @@ public Builder mergeFrom(
            *
            *
            * 
    -       * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -       * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +       * Required. The uri of the Cloud Storage object. It's the same uri that is
    +       * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
            * Editing Object
            * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
            * for more information.
    @@ -723,8 +723,8 @@ public java.lang.String getUri() {
            *
            *
            * 
    -       * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -       * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +       * Required. The uri of the Cloud Storage object. It's the same uri that is
    +       * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
            * Editing Object
            * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
            * for more information.
    @@ -752,8 +752,8 @@ public com.google.protobuf.ByteString getUriBytes() {
            *
            *
            * 
    -       * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -       * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +       * Required. The uri of the Cloud Storage object. It's the same uri that is
    +       * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
            * Editing Object
            * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
            * for more information.
    @@ -780,8 +780,8 @@ public Builder setUri(java.lang.String value) {
            *
            *
            * 
    -       * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -       * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +       * Required. The uri of the Cloud Storage object. It's the same uri that is
    +       * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
            * Editing Object
            * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
            * for more information.
    @@ -804,8 +804,8 @@ public Builder clearUri() {
            *
            *
            * 
    -       * Required. The uri of the Cloud Storage object. It's the same uri that is used by
    -       * gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
    +       * Required. The uri of the Cloud Storage object. It's the same uri that is
    +       * used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and
            * Editing Object
            * Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata)
            * for more information.
    @@ -895,9 +895,10 @@ public interface BigQueryDestinationOrBuilder
          *
          *
          * 
    -     * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -     * to which the analysis results should be exported. If this dataset does
    -     * not exist, the export call will return an INVALID_ARGUMENT error.
    +     * Required. The BigQuery dataset in format
    +     * "projects/projectId/datasets/datasetId", to which the analysis results
    +     * should be exported. If this dataset does not exist, the export call will
    +     * return an INVALID_ARGUMENT error.
          * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -909,9 +910,10 @@ public interface BigQueryDestinationOrBuilder * * *
    -     * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -     * to which the analysis results should be exported. If this dataset does
    -     * not exist, the export call will return an INVALID_ARGUMENT error.
    +     * Required. The BigQuery dataset in format
    +     * "projects/projectId/datasets/datasetId", to which the analysis results
    +     * should be exported. If this dataset does not exist, the export call will
    +     * return an INVALID_ARGUMENT error.
          * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -924,8 +926,9 @@ public interface BigQueryDestinationOrBuilder * * *
    -     * Required. The prefix of the BigQuery tables to which the analysis results will be
    -     * written. Tables will be created based on this table_prefix if not exist:
    +     * Required. The prefix of the BigQuery tables to which the analysis results
    +     * will be written. Tables will be created based on this table_prefix if not
    +     * exist:
          * * <table_prefix>_analysis table will contain export operation's metadata.
          * * <table_prefix>_analysis_result will contain all the
          *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -942,8 +945,9 @@ public interface BigQueryDestinationOrBuilder
          *
          *
          * 
    -     * Required. The prefix of the BigQuery tables to which the analysis results will be
    -     * written. Tables will be created based on this table_prefix if not exist:
    +     * Required. The prefix of the BigQuery tables to which the analysis results
    +     * will be written. Tables will be created based on this table_prefix if not
    +     * exist:
          * * <table_prefix>_analysis table will contain export operation's metadata.
          * * <table_prefix>_analysis_result will contain all the
          *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -991,8 +995,8 @@ public interface BigQueryDestinationOrBuilder
          *
          *
          * 
    -     * Optional. Specifies the action that occurs if the destination table or partition
    -     * already exists. The following values are supported:
    +     * Optional. Specifies the action that occurs if the destination table or
    +     * partition already exists. The following values are supported:
          * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
          * overwrites the entire table or all the partitions data.
          * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -1013,8 +1017,8 @@ public interface BigQueryDestinationOrBuilder
          *
          *
          * 
    -     * Optional. Specifies the action that occurs if the destination table or partition
    -     * already exists. The following values are supported:
    +     * Optional. Specifies the action that occurs if the destination table or
    +     * partition already exists. The following values are supported:
          * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
          * overwrites the entire table or all the partitions data.
          * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -1306,9 +1310,10 @@ private PartitionKey(int value) {
          *
          *
          * 
    -     * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -     * to which the analysis results should be exported. If this dataset does
    -     * not exist, the export call will return an INVALID_ARGUMENT error.
    +     * Required. The BigQuery dataset in format
    +     * "projects/projectId/datasets/datasetId", to which the analysis results
    +     * should be exported. If this dataset does not exist, the export call will
    +     * return an INVALID_ARGUMENT error.
          * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -1331,9 +1336,10 @@ public java.lang.String getDataset() { * * *
    -     * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -     * to which the analysis results should be exported. If this dataset does
    -     * not exist, the export call will return an INVALID_ARGUMENT error.
    +     * Required. The BigQuery dataset in format
    +     * "projects/projectId/datasets/datasetId", to which the analysis results
    +     * should be exported. If this dataset does not exist, the export call will
    +     * return an INVALID_ARGUMENT error.
          * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -1359,8 +1365,9 @@ public com.google.protobuf.ByteString getDatasetBytes() { * * *
    -     * Required. The prefix of the BigQuery tables to which the analysis results will be
    -     * written. Tables will be created based on this table_prefix if not exist:
    +     * Required. The prefix of the BigQuery tables to which the analysis results
    +     * will be written. Tables will be created based on this table_prefix if not
    +     * exist:
          * * <table_prefix>_analysis table will contain export operation's metadata.
          * * <table_prefix>_analysis_result will contain all the
          *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -1388,8 +1395,9 @@ public java.lang.String getTablePrefix() {
          *
          *
          * 
    -     * Required. The prefix of the BigQuery tables to which the analysis results will be
    -     * written. Tables will be created based on this table_prefix if not exist:
    +     * Required. The prefix of the BigQuery tables to which the analysis results
    +     * will be written. Tables will be created based on this table_prefix if not
    +     * exist:
          * * <table_prefix>_analysis table will contain export operation's metadata.
          * * <table_prefix>_analysis_result will contain all the
          *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -1466,8 +1474,8 @@ public int getPartitionKeyValue() {
          *
          *
          * 
    -     * Optional. Specifies the action that occurs if the destination table or partition
    -     * already exists. The following values are supported:
    +     * Optional. Specifies the action that occurs if the destination table or
    +     * partition already exists. The following values are supported:
          * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
          * overwrites the entire table or all the partitions data.
          * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -1499,8 +1507,8 @@ public java.lang.String getWriteDisposition() {
          *
          *
          * 
    -     * Optional. Specifies the action that occurs if the destination table or partition
    -     * already exists. The following values are supported:
    +     * Optional. Specifies the action that occurs if the destination table or
    +     * partition already exists. The following values are supported:
          * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
          * overwrites the entire table or all the partitions data.
          * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -1930,9 +1938,10 @@ public Builder mergeFrom(
            *
            *
            * 
    -       * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -       * to which the analysis results should be exported. If this dataset does
    -       * not exist, the export call will return an INVALID_ARGUMENT error.
    +       * Required. The BigQuery dataset in format
    +       * "projects/projectId/datasets/datasetId", to which the analysis results
    +       * should be exported. If this dataset does not exist, the export call will
    +       * return an INVALID_ARGUMENT error.
            * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -1954,9 +1963,10 @@ public java.lang.String getDataset() { * * *
    -       * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -       * to which the analysis results should be exported. If this dataset does
    -       * not exist, the export call will return an INVALID_ARGUMENT error.
    +       * Required. The BigQuery dataset in format
    +       * "projects/projectId/datasets/datasetId", to which the analysis results
    +       * should be exported. If this dataset does not exist, the export call will
    +       * return an INVALID_ARGUMENT error.
            * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -1978,9 +1988,10 @@ public com.google.protobuf.ByteString getDatasetBytes() { * * *
    -       * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -       * to which the analysis results should be exported. If this dataset does
    -       * not exist, the export call will return an INVALID_ARGUMENT error.
    +       * Required. The BigQuery dataset in format
    +       * "projects/projectId/datasets/datasetId", to which the analysis results
    +       * should be exported. If this dataset does not exist, the export call will
    +       * return an INVALID_ARGUMENT error.
            * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -2001,9 +2012,10 @@ public Builder setDataset(java.lang.String value) { * * *
    -       * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -       * to which the analysis results should be exported. If this dataset does
    -       * not exist, the export call will return an INVALID_ARGUMENT error.
    +       * Required. The BigQuery dataset in format
    +       * "projects/projectId/datasets/datasetId", to which the analysis results
    +       * should be exported. If this dataset does not exist, the export call will
    +       * return an INVALID_ARGUMENT error.
            * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -2020,9 +2032,10 @@ public Builder clearDataset() { * * *
    -       * Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId",
    -       * to which the analysis results should be exported. If this dataset does
    -       * not exist, the export call will return an INVALID_ARGUMENT error.
    +       * Required. The BigQuery dataset in format
    +       * "projects/projectId/datasets/datasetId", to which the analysis results
    +       * should be exported. If this dataset does not exist, the export call will
    +       * return an INVALID_ARGUMENT error.
            * 
    * * string dataset = 1 [(.google.api.field_behavior) = REQUIRED]; @@ -2046,8 +2059,9 @@ public Builder setDatasetBytes(com.google.protobuf.ByteString value) { * * *
    -       * Required. The prefix of the BigQuery tables to which the analysis results will be
    -       * written. Tables will be created based on this table_prefix if not exist:
    +       * Required. The prefix of the BigQuery tables to which the analysis results
    +       * will be written. Tables will be created based on this table_prefix if not
    +       * exist:
            * * <table_prefix>_analysis table will contain export operation's metadata.
            * * <table_prefix>_analysis_result will contain all the
            *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -2074,8 +2088,9 @@ public java.lang.String getTablePrefix() {
            *
            *
            * 
    -       * Required. The prefix of the BigQuery tables to which the analysis results will be
    -       * written. Tables will be created based on this table_prefix if not exist:
    +       * Required. The prefix of the BigQuery tables to which the analysis results
    +       * will be written. Tables will be created based on this table_prefix if not
    +       * exist:
            * * <table_prefix>_analysis table will contain export operation's metadata.
            * * <table_prefix>_analysis_result will contain all the
            *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -2102,8 +2117,9 @@ public com.google.protobuf.ByteString getTablePrefixBytes() {
            *
            *
            * 
    -       * Required. The prefix of the BigQuery tables to which the analysis results will be
    -       * written. Tables will be created based on this table_prefix if not exist:
    +       * Required. The prefix of the BigQuery tables to which the analysis results
    +       * will be written. Tables will be created based on this table_prefix if not
    +       * exist:
            * * <table_prefix>_analysis table will contain export operation's metadata.
            * * <table_prefix>_analysis_result will contain all the
            *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -2129,8 +2145,9 @@ public Builder setTablePrefix(java.lang.String value) {
            *
            *
            * 
    -       * Required. The prefix of the BigQuery tables to which the analysis results will be
    -       * written. Tables will be created based on this table_prefix if not exist:
    +       * Required. The prefix of the BigQuery tables to which the analysis results
    +       * will be written. Tables will be created based on this table_prefix if not
    +       * exist:
            * * <table_prefix>_analysis table will contain export operation's metadata.
            * * <table_prefix>_analysis_result will contain all the
            *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -2152,8 +2169,9 @@ public Builder clearTablePrefix() {
            *
            *
            * 
    -       * Required. The prefix of the BigQuery tables to which the analysis results will be
    -       * written. Tables will be created based on this table_prefix if not exist:
    +       * Required. The prefix of the BigQuery tables to which the analysis results
    +       * will be written. Tables will be created based on this table_prefix if not
    +       * exist:
            * * <table_prefix>_analysis table will contain export operation's metadata.
            * * <table_prefix>_analysis_result will contain all the
            *   [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult].
    @@ -2292,8 +2310,8 @@ public Builder clearPartitionKey() {
            *
            *
            * 
    -       * Optional. Specifies the action that occurs if the destination table or partition
    -       * already exists. The following values are supported:
    +       * Optional. Specifies the action that occurs if the destination table or
    +       * partition already exists. The following values are supported:
            * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
            * overwrites the entire table or all the partitions data.
            * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -2324,8 +2342,8 @@ public java.lang.String getWriteDisposition() {
            *
            *
            * 
    -       * Optional. Specifies the action that occurs if the destination table or partition
    -       * already exists. The following values are supported:
    +       * Optional. Specifies the action that occurs if the destination table or
    +       * partition already exists. The following values are supported:
            * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
            * overwrites the entire table or all the partitions data.
            * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -2356,8 +2374,8 @@ public com.google.protobuf.ByteString getWriteDispositionBytes() {
            *
            *
            * 
    -       * Optional. Specifies the action that occurs if the destination table or partition
    -       * already exists. The following values are supported:
    +       * Optional. Specifies the action that occurs if the destination table or
    +       * partition already exists. The following values are supported:
            * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
            * overwrites the entire table or all the partitions data.
            * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -2387,8 +2405,8 @@ public Builder setWriteDisposition(java.lang.String value) {
            *
            *
            * 
    -       * Optional. Specifies the action that occurs if the destination table or partition
    -       * already exists. The following values are supported:
    +       * Optional. Specifies the action that occurs if the destination table or
    +       * partition already exists. The following values are supported:
            * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
            * overwrites the entire table or all the partitions data.
            * * WRITE_APPEND: If the table or partition already exists, BigQuery
    @@ -2414,8 +2432,8 @@ public Builder clearWriteDisposition() {
            *
            *
            * 
    -       * Optional. Specifies the action that occurs if the destination table or partition
    -       * already exists. The following values are supported:
    +       * Optional. Specifies the action that occurs if the destination table or
    +       * partition already exists. The following values are supported:
            * * WRITE_TRUNCATE: If the table or partition already exists, BigQuery
            * overwrites the entire table or all the partitions data.
            * * WRITE_APPEND: If the table or partition already exists, BigQuery
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQuery.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQuery.java
    index 03f38248831..4e7987d6f47 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQuery.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQuery.java
    @@ -22,7 +22,7 @@
      *
      *
      * 
    - * ## IAM policy analysis query message.
    + * IAM policy analysis query message.
      * 
    * * Protobuf type {@code google.cloud.asset.v1.IamPolicyAnalysisQuery} @@ -908,7 +908,7 @@ public interface IdentitySelectorOrBuilder * * *
    -     * Required. The identity appear in the form of members in
    +     * Required. The identity appear in the form of principals in
          * [IAM policy
          * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
          * The examples of supported forms are:
    @@ -929,7 +929,7 @@ public interface IdentitySelectorOrBuilder
          *
          *
          * 
    -     * Required. The identity appear in the form of members in
    +     * Required. The identity appear in the form of principals in
          * [IAM policy
          * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
          * The examples of supported forms are:
    @@ -1050,7 +1050,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
          *
          *
          * 
    -     * Required. The identity appear in the form of members in
    +     * Required. The identity appear in the form of principals in
          * [IAM policy
          * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
          * The examples of supported forms are:
    @@ -1082,7 +1082,7 @@ public java.lang.String getIdentity() {
          *
          *
          * 
    -     * Required. The identity appear in the form of members in
    +     * Required. The identity appear in the form of principals in
          * [IAM policy
          * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
          * The examples of supported forms are:
    @@ -1449,7 +1449,7 @@ public Builder mergeFrom(
            *
            *
            * 
    -       * Required. The identity appear in the form of members in
    +       * Required. The identity appear in the form of principals in
            * [IAM policy
            * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
            * The examples of supported forms are:
    @@ -1480,7 +1480,7 @@ public java.lang.String getIdentity() {
            *
            *
            * 
    -       * Required. The identity appear in the form of members in
    +       * Required. The identity appear in the form of principals in
            * [IAM policy
            * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
            * The examples of supported forms are:
    @@ -1511,7 +1511,7 @@ public com.google.protobuf.ByteString getIdentityBytes() {
            *
            *
            * 
    -       * Required. The identity appear in the form of members in
    +       * Required. The identity appear in the form of principals in
            * [IAM policy
            * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
            * The examples of supported forms are:
    @@ -1541,7 +1541,7 @@ public Builder setIdentity(java.lang.String value) {
            *
            *
            * 
    -       * Required. The identity appear in the form of members in
    +       * Required. The identity appear in the form of principals in
            * [IAM policy
            * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
            * The examples of supported forms are:
    @@ -1567,7 +1567,7 @@ public Builder clearIdentity() {
            *
            *
            * 
    -       * Required. The identity appear in the form of members in
    +       * Required. The identity appear in the form of principals in
            * [IAM policy
            * binding](https://cloud.google.com/iam/reference/rest/v1/Binding).
            * The examples of supported forms are:
    @@ -2787,9 +2787,12 @@ public interface OptionsOrBuilder
          * 
          * Optional. If true, the identities section of the result will expand any
          * Google groups appearing in an IAM policy binding.
    -     * If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
    -     * identity in the result will be determined by the selector, and this flag
    -     * is not allowed to set.
    +     * If
    +     * [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector]
    +     * is specified, the identity in the result will be determined by the
    +     * selector, and this flag is not allowed to set.
    +     * If true, the default max expansion per group is 1000 for
    +     * AssetService.AnalyzeIamPolicy][].
          * Default is false.
          * 
    * @@ -2805,9 +2808,10 @@ public interface OptionsOrBuilder *
          * Optional. If true, the access section of result will expand any roles
          * appearing in IAM policy bindings to include their permissions.
    -     * If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
    -     * section of the result will be determined by the selector, and this flag
    -     * is not allowed to set.
    +     * If
    +     * [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector]
    +     * is specified, the access section of the result will be determined by the
    +     * selector, and this flag is not allowed to set.
          * Default is false.
          * 
    * @@ -2821,22 +2825,27 @@ public interface OptionsOrBuilder * * *
    -     * Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
    -     * specified, the resource section of the result will expand any resource
    -     * attached to an IAM policy to include resources lower in the resource
    -     * hierarchy.
    +     * Optional. If true and
    +     * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +     * is not specified, the resource section of the result will expand any
    +     * resource attached to an IAM policy to include resources lower in the
    +     * resource hierarchy.
          * For example, if the request analyzes for which resources user A has
          * permission P, and the results include an IAM policy with P on a GCP
          * folder, the results will also include resources in that folder with
          * permission P.
    -     * If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
    -     * the resource section of the result will expand the specified resource to
    -     * include resources lower in the resource hierarchy. Only project or
    -     * lower resources are supported. Folder and organization resource cannot be
    -     * used together with this option.
    +     * If true and
    +     * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +     * is specified, the resource section of the result will expand the
    +     * specified resource to include resources lower in the resource hierarchy.
    +     * Only project or lower resources are supported. Folder and organization
    +     * resource cannot be used together with this option.
          * For example, if the request analyzes for which users have permission P on
          * a GCP project with this option enabled, the results will include all
          * users who have permission P on that project or any lower resource.
    +     * If true, the default max expansion per resource is 1000 for
    +     * AssetService.AnalyzeIamPolicy][] and 100000 for
    +     * AssetService.AnalyzeIamPolicyLongrunning][].
          * Default is false.
          * 
    * @@ -2850,9 +2859,8 @@ public interface OptionsOrBuilder * * *
    -     * Optional. If true, the result will output resource edges, starting
    -     * from the policy attached resource, to any expanded resources.
    -     * Default is false.
    +     * Optional. If true, the result will output the relevant parent/child
    +     * relationships between resources. Default is false.
          * 
    * * bool output_resource_edges = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -2865,9 +2873,9 @@ public interface OptionsOrBuilder * * *
    -     * Optional. If true, the result will output group identity edges, starting
    -     * from the binding's group members, to any expanded identities.
    -     * Default is false.
    +     * Optional. If true, the result will output the relevant membership
    +     * relationships between groups and other groups, and between groups and
    +     * principals. Default is false.
          * 
    * * bool output_group_edges = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -2880,11 +2888,12 @@ public interface OptionsOrBuilder * * *
    -     * Optional. If true, the response will include access analysis from identities to
    -     * resources via service account impersonation. This is a very expensive
    -     * operation, because many derived queries will be executed. We highly
    -     * recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
    -     * instead.
    +     * Optional. If true, the response will include access analysis from
    +     * identities to resources via service account impersonation. This is a very
    +     * expensive operation, because many derived queries will be executed. We
    +     * highly recommend you use
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc instead.
          * For example, if the request analyzes for which resources user A has
          * permission P, and there's an IAM policy states user A has
          * iam.serviceAccounts.getAccessToken permission to a service account SA,
    @@ -2899,6 +2908,13 @@ public interface OptionsOrBuilder
          * the GCP folder F, then user A potentially has access to the GCP folder
          * F. And those advanced analysis results will be included in
          * [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
    +     * Only the following permissions are considered in this analysis:
    +     * * `iam.serviceAccounts.actAs`
    +     * * `iam.serviceAccounts.signBlob`
    +     * * `iam.serviceAccounts.signJwt`
    +     * * `iam.serviceAccounts.getAccessToken`
    +     * * `iam.serviceAccounts.getOpenIdToken`
    +     * * `iam.serviceAccounts.implicitDelegation`
          * Default is false.
          * 
    * @@ -3034,9 +3050,12 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { *
          * Optional. If true, the identities section of the result will expand any
          * Google groups appearing in an IAM policy binding.
    -     * If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
    -     * identity in the result will be determined by the selector, and this flag
    -     * is not allowed to set.
    +     * If
    +     * [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector]
    +     * is specified, the identity in the result will be determined by the
    +     * selector, and this flag is not allowed to set.
    +     * If true, the default max expansion per group is 1000 for
    +     * AssetService.AnalyzeIamPolicy][].
          * Default is false.
          * 
    * @@ -3057,9 +3076,10 @@ public boolean getExpandGroups() { *
          * Optional. If true, the access section of result will expand any roles
          * appearing in IAM policy bindings to include their permissions.
    -     * If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
    -     * section of the result will be determined by the selector, and this flag
    -     * is not allowed to set.
    +     * If
    +     * [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector]
    +     * is specified, the access section of the result will be determined by the
    +     * selector, and this flag is not allowed to set.
          * Default is false.
          * 
    * @@ -3078,22 +3098,27 @@ public boolean getExpandRoles() { * * *
    -     * Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
    -     * specified, the resource section of the result will expand any resource
    -     * attached to an IAM policy to include resources lower in the resource
    -     * hierarchy.
    +     * Optional. If true and
    +     * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +     * is not specified, the resource section of the result will expand any
    +     * resource attached to an IAM policy to include resources lower in the
    +     * resource hierarchy.
          * For example, if the request analyzes for which resources user A has
          * permission P, and the results include an IAM policy with P on a GCP
          * folder, the results will also include resources in that folder with
          * permission P.
    -     * If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
    -     * the resource section of the result will expand the specified resource to
    -     * include resources lower in the resource hierarchy. Only project or
    -     * lower resources are supported. Folder and organization resource cannot be
    -     * used together with this option.
    +     * If true and
    +     * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +     * is specified, the resource section of the result will expand the
    +     * specified resource to include resources lower in the resource hierarchy.
    +     * Only project or lower resources are supported. Folder and organization
    +     * resource cannot be used together with this option.
          * For example, if the request analyzes for which users have permission P on
          * a GCP project with this option enabled, the results will include all
          * users who have permission P on that project or any lower resource.
    +     * If true, the default max expansion per resource is 1000 for
    +     * AssetService.AnalyzeIamPolicy][] and 100000 for
    +     * AssetService.AnalyzeIamPolicyLongrunning][].
          * Default is false.
          * 
    * @@ -3112,9 +3137,8 @@ public boolean getExpandResources() { * * *
    -     * Optional. If true, the result will output resource edges, starting
    -     * from the policy attached resource, to any expanded resources.
    -     * Default is false.
    +     * Optional. If true, the result will output the relevant parent/child
    +     * relationships between resources. Default is false.
          * 
    * * bool output_resource_edges = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -3132,9 +3156,9 @@ public boolean getOutputResourceEdges() { * * *
    -     * Optional. If true, the result will output group identity edges, starting
    -     * from the binding's group members, to any expanded identities.
    -     * Default is false.
    +     * Optional. If true, the result will output the relevant membership
    +     * relationships between groups and other groups, and between groups and
    +     * principals. Default is false.
          * 
    * * bool output_group_edges = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -3152,11 +3176,12 @@ public boolean getOutputGroupEdges() { * * *
    -     * Optional. If true, the response will include access analysis from identities to
    -     * resources via service account impersonation. This is a very expensive
    -     * operation, because many derived queries will be executed. We highly
    -     * recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
    -     * instead.
    +     * Optional. If true, the response will include access analysis from
    +     * identities to resources via service account impersonation. This is a very
    +     * expensive operation, because many derived queries will be executed. We
    +     * highly recommend you use
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc instead.
          * For example, if the request analyzes for which resources user A has
          * permission P, and there's an IAM policy states user A has
          * iam.serviceAccounts.getAccessToken permission to a service account SA,
    @@ -3171,6 +3196,13 @@ public boolean getOutputGroupEdges() {
          * the GCP folder F, then user A potentially has access to the GCP folder
          * F. And those advanced analysis results will be included in
          * [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
    +     * Only the following permissions are considered in this analysis:
    +     * * `iam.serviceAccounts.actAs`
    +     * * `iam.serviceAccounts.signBlob`
    +     * * `iam.serviceAccounts.signJwt`
    +     * * `iam.serviceAccounts.getAccessToken`
    +     * * `iam.serviceAccounts.getOpenIdToken`
    +     * * `iam.serviceAccounts.implicitDelegation`
          * Default is false.
          * 
    * @@ -3594,9 +3626,12 @@ public Builder mergeFrom( *
            * Optional. If true, the identities section of the result will expand any
            * Google groups appearing in an IAM policy binding.
    -       * If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
    -       * identity in the result will be determined by the selector, and this flag
    -       * is not allowed to set.
    +       * If
    +       * [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector]
    +       * is specified, the identity in the result will be determined by the
    +       * selector, and this flag is not allowed to set.
    +       * If true, the default max expansion per group is 1000 for
    +       * AssetService.AnalyzeIamPolicy][].
            * Default is false.
            * 
    * @@ -3614,9 +3649,12 @@ public boolean getExpandGroups() { *
            * Optional. If true, the identities section of the result will expand any
            * Google groups appearing in an IAM policy binding.
    -       * If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
    -       * identity in the result will be determined by the selector, and this flag
    -       * is not allowed to set.
    +       * If
    +       * [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector]
    +       * is specified, the identity in the result will be determined by the
    +       * selector, and this flag is not allowed to set.
    +       * If true, the default max expansion per group is 1000 for
    +       * AssetService.AnalyzeIamPolicy][].
            * Default is false.
            * 
    * @@ -3637,9 +3675,12 @@ public Builder setExpandGroups(boolean value) { *
            * Optional. If true, the identities section of the result will expand any
            * Google groups appearing in an IAM policy binding.
    -       * If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the
    -       * identity in the result will be determined by the selector, and this flag
    -       * is not allowed to set.
    +       * If
    +       * [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector]
    +       * is specified, the identity in the result will be determined by the
    +       * selector, and this flag is not allowed to set.
    +       * If true, the default max expansion per group is 1000 for
    +       * AssetService.AnalyzeIamPolicy][].
            * Default is false.
            * 
    * @@ -3661,9 +3702,10 @@ public Builder clearExpandGroups() { *
            * Optional. If true, the access section of result will expand any roles
            * appearing in IAM policy bindings to include their permissions.
    -       * If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
    -       * section of the result will be determined by the selector, and this flag
    -       * is not allowed to set.
    +       * If
    +       * [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector]
    +       * is specified, the access section of the result will be determined by the
    +       * selector, and this flag is not allowed to set.
            * Default is false.
            * 
    * @@ -3681,9 +3723,10 @@ public boolean getExpandRoles() { *
            * Optional. If true, the access section of result will expand any roles
            * appearing in IAM policy bindings to include their permissions.
    -       * If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
    -       * section of the result will be determined by the selector, and this flag
    -       * is not allowed to set.
    +       * If
    +       * [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector]
    +       * is specified, the access section of the result will be determined by the
    +       * selector, and this flag is not allowed to set.
            * Default is false.
            * 
    * @@ -3704,9 +3747,10 @@ public Builder setExpandRoles(boolean value) { *
            * Optional. If true, the access section of result will expand any roles
            * appearing in IAM policy bindings to include their permissions.
    -       * If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access
    -       * section of the result will be determined by the selector, and this flag
    -       * is not allowed to set.
    +       * If
    +       * [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector]
    +       * is specified, the access section of the result will be determined by the
    +       * selector, and this flag is not allowed to set.
            * Default is false.
            * 
    * @@ -3726,22 +3770,27 @@ public Builder clearExpandRoles() { * * *
    -       * Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
    -       * specified, the resource section of the result will expand any resource
    -       * attached to an IAM policy to include resources lower in the resource
    -       * hierarchy.
    +       * Optional. If true and
    +       * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +       * is not specified, the resource section of the result will expand any
    +       * resource attached to an IAM policy to include resources lower in the
    +       * resource hierarchy.
            * For example, if the request analyzes for which resources user A has
            * permission P, and the results include an IAM policy with P on a GCP
            * folder, the results will also include resources in that folder with
            * permission P.
    -       * If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
    -       * the resource section of the result will expand the specified resource to
    -       * include resources lower in the resource hierarchy. Only project or
    -       * lower resources are supported. Folder and organization resource cannot be
    -       * used together with this option.
    +       * If true and
    +       * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +       * is specified, the resource section of the result will expand the
    +       * specified resource to include resources lower in the resource hierarchy.
    +       * Only project or lower resources are supported. Folder and organization
    +       * resource cannot be used together with this option.
            * For example, if the request analyzes for which users have permission P on
            * a GCP project with this option enabled, the results will include all
            * users who have permission P on that project or any lower resource.
    +       * If true, the default max expansion per resource is 1000 for
    +       * AssetService.AnalyzeIamPolicy][] and 100000 for
    +       * AssetService.AnalyzeIamPolicyLongrunning][].
            * Default is false.
            * 
    * @@ -3757,22 +3806,27 @@ public boolean getExpandResources() { * * *
    -       * Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
    -       * specified, the resource section of the result will expand any resource
    -       * attached to an IAM policy to include resources lower in the resource
    -       * hierarchy.
    +       * Optional. If true and
    +       * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +       * is not specified, the resource section of the result will expand any
    +       * resource attached to an IAM policy to include resources lower in the
    +       * resource hierarchy.
            * For example, if the request analyzes for which resources user A has
            * permission P, and the results include an IAM policy with P on a GCP
            * folder, the results will also include resources in that folder with
            * permission P.
    -       * If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
    -       * the resource section of the result will expand the specified resource to
    -       * include resources lower in the resource hierarchy. Only project or
    -       * lower resources are supported. Folder and organization resource cannot be
    -       * used together with this option.
    +       * If true and
    +       * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +       * is specified, the resource section of the result will expand the
    +       * specified resource to include resources lower in the resource hierarchy.
    +       * Only project or lower resources are supported. Folder and organization
    +       * resource cannot be used together with this option.
            * For example, if the request analyzes for which users have permission P on
            * a GCP project with this option enabled, the results will include all
            * users who have permission P on that project or any lower resource.
    +       * If true, the default max expansion per resource is 1000 for
    +       * AssetService.AnalyzeIamPolicy][] and 100000 for
    +       * AssetService.AnalyzeIamPolicyLongrunning][].
            * Default is false.
            * 
    * @@ -3791,22 +3845,27 @@ public Builder setExpandResources(boolean value) { * * *
    -       * Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not
    -       * specified, the resource section of the result will expand any resource
    -       * attached to an IAM policy to include resources lower in the resource
    -       * hierarchy.
    +       * Optional. If true and
    +       * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +       * is not specified, the resource section of the result will expand any
    +       * resource attached to an IAM policy to include resources lower in the
    +       * resource hierarchy.
            * For example, if the request analyzes for which resources user A has
            * permission P, and the results include an IAM policy with P on a GCP
            * folder, the results will also include resources in that folder with
            * permission P.
    -       * If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified,
    -       * the resource section of the result will expand the specified resource to
    -       * include resources lower in the resource hierarchy. Only project or
    -       * lower resources are supported. Folder and organization resource cannot be
    -       * used together with this option.
    +       * If true and
    +       * [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector]
    +       * is specified, the resource section of the result will expand the
    +       * specified resource to include resources lower in the resource hierarchy.
    +       * Only project or lower resources are supported. Folder and organization
    +       * resource cannot be used together with this option.
            * For example, if the request analyzes for which users have permission P on
            * a GCP project with this option enabled, the results will include all
            * users who have permission P on that project or any lower resource.
    +       * If true, the default max expansion per resource is 1000 for
    +       * AssetService.AnalyzeIamPolicy][] and 100000 for
    +       * AssetService.AnalyzeIamPolicyLongrunning][].
            * Default is false.
            * 
    * @@ -3826,9 +3885,8 @@ public Builder clearExpandResources() { * * *
    -       * Optional. If true, the result will output resource edges, starting
    -       * from the policy attached resource, to any expanded resources.
    -       * Default is false.
    +       * Optional. If true, the result will output the relevant parent/child
    +       * relationships between resources. Default is false.
            * 
    * * bool output_resource_edges = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -3843,9 +3901,8 @@ public boolean getOutputResourceEdges() { * * *
    -       * Optional. If true, the result will output resource edges, starting
    -       * from the policy attached resource, to any expanded resources.
    -       * Default is false.
    +       * Optional. If true, the result will output the relevant parent/child
    +       * relationships between resources. Default is false.
            * 
    * * bool output_resource_edges = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -3863,9 +3920,8 @@ public Builder setOutputResourceEdges(boolean value) { * * *
    -       * Optional. If true, the result will output resource edges, starting
    -       * from the policy attached resource, to any expanded resources.
    -       * Default is false.
    +       * Optional. If true, the result will output the relevant parent/child
    +       * relationships between resources. Default is false.
            * 
    * * bool output_resource_edges = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -3884,9 +3940,9 @@ public Builder clearOutputResourceEdges() { * * *
    -       * Optional. If true, the result will output group identity edges, starting
    -       * from the binding's group members, to any expanded identities.
    -       * Default is false.
    +       * Optional. If true, the result will output the relevant membership
    +       * relationships between groups and other groups, and between groups and
    +       * principals. Default is false.
            * 
    * * bool output_group_edges = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -3901,9 +3957,9 @@ public boolean getOutputGroupEdges() { * * *
    -       * Optional. If true, the result will output group identity edges, starting
    -       * from the binding's group members, to any expanded identities.
    -       * Default is false.
    +       * Optional. If true, the result will output the relevant membership
    +       * relationships between groups and other groups, and between groups and
    +       * principals. Default is false.
            * 
    * * bool output_group_edges = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -3921,9 +3977,9 @@ public Builder setOutputGroupEdges(boolean value) { * * *
    -       * Optional. If true, the result will output group identity edges, starting
    -       * from the binding's group members, to any expanded identities.
    -       * Default is false.
    +       * Optional. If true, the result will output the relevant membership
    +       * relationships between groups and other groups, and between groups and
    +       * principals. Default is false.
            * 
    * * bool output_group_edges = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -3942,11 +3998,12 @@ public Builder clearOutputGroupEdges() { * * *
    -       * Optional. If true, the response will include access analysis from identities to
    -       * resources via service account impersonation. This is a very expensive
    -       * operation, because many derived queries will be executed. We highly
    -       * recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
    -       * instead.
    +       * Optional. If true, the response will include access analysis from
    +       * identities to resources via service account impersonation. This is a very
    +       * expensive operation, because many derived queries will be executed. We
    +       * highly recommend you use
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc instead.
            * For example, if the request analyzes for which resources user A has
            * permission P, and there's an IAM policy states user A has
            * iam.serviceAccounts.getAccessToken permission to a service account SA,
    @@ -3961,6 +4018,13 @@ public Builder clearOutputGroupEdges() {
            * the GCP folder F, then user A potentially has access to the GCP folder
            * F. And those advanced analysis results will be included in
            * [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
    +       * Only the following permissions are considered in this analysis:
    +       * * `iam.serviceAccounts.actAs`
    +       * * `iam.serviceAccounts.signBlob`
    +       * * `iam.serviceAccounts.signJwt`
    +       * * `iam.serviceAccounts.getAccessToken`
    +       * * `iam.serviceAccounts.getOpenIdToken`
    +       * * `iam.serviceAccounts.implicitDelegation`
            * Default is false.
            * 
    * @@ -3978,11 +4042,12 @@ public boolean getAnalyzeServiceAccountImpersonation() { * * *
    -       * Optional. If true, the response will include access analysis from identities to
    -       * resources via service account impersonation. This is a very expensive
    -       * operation, because many derived queries will be executed. We highly
    -       * recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
    -       * instead.
    +       * Optional. If true, the response will include access analysis from
    +       * identities to resources via service account impersonation. This is a very
    +       * expensive operation, because many derived queries will be executed. We
    +       * highly recommend you use
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc instead.
            * For example, if the request analyzes for which resources user A has
            * permission P, and there's an IAM policy states user A has
            * iam.serviceAccounts.getAccessToken permission to a service account SA,
    @@ -3997,6 +4062,13 @@ public boolean getAnalyzeServiceAccountImpersonation() {
            * the GCP folder F, then user A potentially has access to the GCP folder
            * F. And those advanced analysis results will be included in
            * [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
    +       * Only the following permissions are considered in this analysis:
    +       * * `iam.serviceAccounts.actAs`
    +       * * `iam.serviceAccounts.signBlob`
    +       * * `iam.serviceAccounts.signJwt`
    +       * * `iam.serviceAccounts.getAccessToken`
    +       * * `iam.serviceAccounts.getOpenIdToken`
    +       * * `iam.serviceAccounts.implicitDelegation`
            * Default is false.
            * 
    * @@ -4017,11 +4089,12 @@ public Builder setAnalyzeServiceAccountImpersonation(boolean value) { * * *
    -       * Optional. If true, the response will include access analysis from identities to
    -       * resources via service account impersonation. This is a very expensive
    -       * operation, because many derived queries will be executed. We highly
    -       * recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc
    -       * instead.
    +       * Optional. If true, the response will include access analysis from
    +       * identities to resources via service account impersonation. This is a very
    +       * expensive operation, because many derived queries will be executed. We
    +       * highly recommend you use
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc instead.
            * For example, if the request analyzes for which resources user A has
            * permission P, and there's an IAM policy states user A has
            * iam.serviceAccounts.getAccessToken permission to a service account SA,
    @@ -4036,6 +4109,13 @@ public Builder setAnalyzeServiceAccountImpersonation(boolean value) {
            * the GCP folder F, then user A potentially has access to the GCP folder
            * F. And those advanced analysis results will be included in
            * [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis].
    +       * Only the following permissions are considered in this analysis:
    +       * * `iam.serviceAccounts.actAs`
    +       * * `iam.serviceAccounts.signBlob`
    +       * * `iam.serviceAccounts.signJwt`
    +       * * `iam.serviceAccounts.getAccessToken`
    +       * * `iam.serviceAccounts.getOpenIdToken`
    +       * * `iam.serviceAccounts.implicitDelegation`
            * Default is false.
            * 
    * @@ -5015,8 +5095,8 @@ public com.google.protobuf.Parser getParserForType() { * * *
    -   * Required. The relative name of the root asset. Only resources and IAM policies within
    -   * the scope will be analyzed.
    +   * Required. The relative name of the root asset. Only resources and IAM
    +   * policies within the scope will be analyzed.
        * This can only be an organization number (such as "organizations/123"), a
        * folder number (such as "folders/123"), a project ID (such as
        * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -5046,8 +5126,8 @@ public java.lang.String getScope() {
        *
        *
        * 
    -   * Required. The relative name of the root asset. Only resources and IAM policies within
    -   * the scope will be analyzed.
    +   * Required. The relative name of the root asset. Only resources and IAM
    +   * policies within the scope will be analyzed.
        * This can only be an organization number (such as "organizations/123"), a
        * folder number (such as "folders/123"), a project ID (such as
        * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -5581,7 +5661,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build
        *
        *
        * 
    -   * ## IAM policy analysis query message.
    +   * IAM policy analysis query message.
        * 
    * * Protobuf type {@code google.cloud.asset.v1.IamPolicyAnalysisQuery} @@ -5810,8 +5890,8 @@ public Builder mergeFrom( * * *
    -     * Required. The relative name of the root asset. Only resources and IAM policies within
    -     * the scope will be analyzed.
    +     * Required. The relative name of the root asset. Only resources and IAM
    +     * policies within the scope will be analyzed.
          * This can only be an organization number (such as "organizations/123"), a
          * folder number (such as "folders/123"), a project ID (such as
          * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -5840,8 +5920,8 @@ public java.lang.String getScope() {
          *
          *
          * 
    -     * Required. The relative name of the root asset. Only resources and IAM policies within
    -     * the scope will be analyzed.
    +     * Required. The relative name of the root asset. Only resources and IAM
    +     * policies within the scope will be analyzed.
          * This can only be an organization number (such as "organizations/123"), a
          * folder number (such as "folders/123"), a project ID (such as
          * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -5870,8 +5950,8 @@ public com.google.protobuf.ByteString getScopeBytes() {
          *
          *
          * 
    -     * Required. The relative name of the root asset. Only resources and IAM policies within
    -     * the scope will be analyzed.
    +     * Required. The relative name of the root asset. Only resources and IAM
    +     * policies within the scope will be analyzed.
          * This can only be an organization number (such as "organizations/123"), a
          * folder number (such as "folders/123"), a project ID (such as
          * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -5899,8 +5979,8 @@ public Builder setScope(java.lang.String value) {
          *
          *
          * 
    -     * Required. The relative name of the root asset. Only resources and IAM policies within
    -     * the scope will be analyzed.
    +     * Required. The relative name of the root asset. Only resources and IAM
    +     * policies within the scope will be analyzed.
          * This can only be an organization number (such as "organizations/123"), a
          * folder number (such as "folders/123"), a project ID (such as
          * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -5924,8 +6004,8 @@ public Builder clearScope() {
          *
          *
          * 
    -     * Required. The relative name of the root asset. Only resources and IAM policies within
    -     * the scope will be analyzed.
    +     * Required. The relative name of the root asset. Only resources and IAM
    +     * policies within the scope will be analyzed.
          * This can only be an organization number (such as "organizations/123"), a
          * folder number (such as "folders/123"), a project ID (such as
          * "projects/my-project-id"), or a project number (such as "projects/12345").
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQueryOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQueryOrBuilder.java
    index 265ffc01344..9d5e56d5946 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQueryOrBuilder.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisQueryOrBuilder.java
    @@ -27,8 +27,8 @@ public interface IamPolicyAnalysisQueryOrBuilder
        *
        *
        * 
    -   * Required. The relative name of the root asset. Only resources and IAM policies within
    -   * the scope will be analyzed.
    +   * Required. The relative name of the root asset. Only resources and IAM
    +   * policies within the scope will be analyzed.
        * This can only be an organization number (such as "organizations/123"), a
        * folder number (such as "folders/123"), a project ID (such as
        * "projects/my-project-id"), or a project number (such as "projects/12345").
    @@ -47,8 +47,8 @@ public interface IamPolicyAnalysisQueryOrBuilder
        *
        *
        * 
    -   * Required. The relative name of the root asset. Only resources and IAM policies within
    -   * the scope will be analyzed.
    +   * Required. The relative name of the root asset. Only resources and IAM
    +   * policies within the scope will be analyzed.
        * This can only be an organization number (such as "organizations/123"), a
        * folder number (such as "folders/123"), a project ID (such as
        * "projects/my-project-id"), or a project number (such as "projects/12345").
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResult.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResult.java
    index 51c71ba4544..49581224e75 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResult.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResult.java
    @@ -4615,8 +4615,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAccessesOrB
          *
          * 
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -4629,8 +4631,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAccessesOrB * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -4643,8 +4647,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAccessesOrB * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -4657,8 +4663,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAccessesOrB * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -4672,8 +4680,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAccessesOrB * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -5061,8 +5071,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAcce * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -5079,8 +5091,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAcce * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -5097,8 +5111,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessOrBuilder getAcce * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -5114,8 +5130,10 @@ public int getResourceEdgesCount() { * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -5131,8 +5149,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge getResourceEdges(i * *
          * Resource edges of the graph starting from the policy attached
    -     * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -     * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * resource to any descendant resources. The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * contains the full resource name of a parent resource and
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
          * contains the full resource name of a child resource. This field is
          * present only if the output_resource_edges option is enabled in request.
          * 
    @@ -6563,8 +6583,10 @@ private void ensureResourceEdgesIsMutable() { * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6585,8 +6607,10 @@ private void ensureResourceEdgesIsMutable() { * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6606,8 +6630,10 @@ public int getResourceEdgesCount() { * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6627,8 +6653,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge getResourceEdges(i * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6655,8 +6683,10 @@ public Builder setResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6681,8 +6711,10 @@ public Builder setResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6709,8 +6741,10 @@ public Builder addResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6737,8 +6771,10 @@ public Builder addResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6762,8 +6798,10 @@ public Builder addResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6788,8 +6826,10 @@ public Builder addResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6814,8 +6854,10 @@ public Builder addAllResourceEdges( * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6838,8 +6880,10 @@ public Builder clearResourceEdges() { * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6862,8 +6906,10 @@ public Builder removeResourceEdges(int index) { * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6880,8 +6926,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder getResourc * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6902,8 +6950,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder getResourc * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6925,8 +6975,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder getResourc * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6945,8 +6997,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder getResourc * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -6965,8 +7019,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder addResourc * *
            * Resource edges of the graph starting from the policy attached
    -       * resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains
    -       * the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * resource to any descendant resources. The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * contains the full resource name of a parent resource and
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
            * contains the full resource name of a child resource. This field is
            * present only if the output_resource_edges option is enabled in request.
            * 
    @@ -7328,12 +7384,15 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityOrBuilder getIdentitie * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7344,12 +7403,15 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityOrBuilder getIdentitie * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7360,12 +7422,15 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityOrBuilder getIdentitie * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7376,12 +7441,15 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityOrBuilder getIdentitie * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7393,12 +7461,15 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityOrBuilder getIdentitie * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7624,12 +7695,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Identity getIdentities( * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7644,12 +7718,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Identity getIdentities( * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7664,12 +7741,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Identity getIdentities( * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7683,12 +7763,15 @@ public int getGroupEdgesCount() { * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -7702,12 +7785,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge getGroupEdges(int * *
          * Group identity edges of the graph starting from the binding's
    -     * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +     * group members to any node of the
    +     * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +     * The
    +     * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
          * contains a group, such as `group:parent@google.com`. The
    -     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -     * such as `group:child@google.com` or `user:foo@google.com`.
    -     * This field is present only if the output_group_edges option is enabled in
    -     * request.
    +     * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +     * contains a member of the group, such as `group:child@google.com` or
    +     * `user:foo@google.com`. This field is present only if the
    +     * output_group_edges option is enabled in request.
          * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8603,12 +8689,15 @@ private void ensureGroupEdgesIsMutable() { * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8626,12 +8715,15 @@ private void ensureGroupEdgesIsMutable() { * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8648,12 +8740,15 @@ public int getGroupEdgesCount() { * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8670,12 +8765,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge getGroupEdges(int * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8699,12 +8797,15 @@ public Builder setGroupEdges( * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8726,12 +8827,15 @@ public Builder setGroupEdges( * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8754,12 +8858,15 @@ public Builder addGroupEdges(com.google.cloud.asset.v1.IamPolicyAnalysisResult.E * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8783,12 +8890,15 @@ public Builder addGroupEdges( * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8809,12 +8919,15 @@ public Builder addGroupEdges( * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8836,12 +8949,15 @@ public Builder addGroupEdges( * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8863,12 +8979,15 @@ public Builder addAllGroupEdges( * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8888,12 +9007,15 @@ public Builder clearGroupEdges() { * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8913,12 +9035,15 @@ public Builder removeGroupEdges(int index) { * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8932,12 +9057,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder getGroupEd * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8955,12 +9083,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.EdgeOrBuilder getGroupE * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8979,12 +9110,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.EdgeOrBuilder getGroupE * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -8999,12 +9133,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder addGroupEd * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -9020,12 +9157,15 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.Builder addGroupEd * *
            * Group identity edges of the graph starting from the binding's
    -       * group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
    +       * group members to any node of the
    +       * [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities].
    +       * The
    +       * [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node]
            * contains a group, such as `group:parent@google.com`. The
    -       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group,
    -       * such as `group:child@google.com` or `user:foo@google.com`.
    -       * This field is present only if the output_group_edges option is enabled in
    -       * request.
    +       * [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node]
    +       * contains a member of the group, such as `group:child@google.com` or
    +       * `user:foo@google.com`. This field is present only if the
    +       * output_group_edges option is enabled in request.
            * 
    * * repeated .google.cloud.asset.v1.IamPolicyAnalysisResult.Edge group_edges = 2; @@ -9115,7 +9255,9 @@ public com.google.protobuf.Parser getParserForType() { *
        * The [full resource
        * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -   * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +   * of the resource to which the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * policy attaches.
        * 
    * * string attached_resource_full_name = 1; @@ -9140,7 +9282,9 @@ public java.lang.String getAttachedResourceFullName() { *
        * The [full resource
        * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -   * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +   * of the resource to which the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * policy attaches.
        * 
    * * string attached_resource_full_name = 1; @@ -9213,8 +9357,10 @@ public com.google.iam.v1.BindingOrBuilder getIamBindingOrBuilder() { * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -9230,8 +9376,10 @@ public com.google.iam.v1.BindingOrBuilder getIamBindingOrBuilder() { * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -9248,8 +9396,10 @@ public com.google.iam.v1.BindingOrBuilder getIamBindingOrBuilder() { * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -9264,8 +9414,10 @@ public int getAccessControlListsCount() { * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -9281,8 +9433,10 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAc * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -9301,8 +9455,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAc * * *
    -   * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match identity selector specified in the request.
    +   * The identity list derived from members of the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match identity selector specified in the request.
        * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -9317,8 +9472,9 @@ public boolean hasIdentityList() { * * *
    -   * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match identity selector specified in the request.
    +   * The identity list derived from members of the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match identity selector specified in the request.
        * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -9335,8 +9491,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList getIdentit * * *
    -   * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match identity selector specified in the request.
    +   * The identity list derived from members of the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match identity selector specified in the request.
        * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -9353,8 +9510,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList getIdentit * * *
    -   * Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully
    -   * finished.
    +   * Represents whether all analyses on the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * have successfully finished.
        * 
    * * bool fully_explored = 5; @@ -9823,7 +9981,9 @@ public Builder mergeFrom( *
          * The [full resource
          * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -     * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +     * of the resource to which the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * policy attaches.
          * 
    * * string attached_resource_full_name = 1; @@ -9847,7 +10007,9 @@ public java.lang.String getAttachedResourceFullName() { *
          * The [full resource
          * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -     * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +     * of the resource to which the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * policy attaches.
          * 
    * * string attached_resource_full_name = 1; @@ -9871,7 +10033,9 @@ public com.google.protobuf.ByteString getAttachedResourceFullNameBytes() { *
          * The [full resource
          * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -     * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +     * of the resource to which the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * policy attaches.
          * 
    * * string attached_resource_full_name = 1; @@ -9894,7 +10058,9 @@ public Builder setAttachedResourceFullName(java.lang.String value) { *
          * The [full resource
          * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -     * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +     * of the resource to which the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * policy attaches.
          * 
    * * string attached_resource_full_name = 1; @@ -9913,7 +10079,9 @@ public Builder clearAttachedResourceFullName() { *
          * The [full resource
          * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -     * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +     * of the resource to which the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * policy attaches.
          * 
    * * string attached_resource_full_name = 1; @@ -10134,8 +10302,10 @@ private void ensureAccessControlListsIsMutable() { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10154,8 +10324,10 @@ private void ensureAccessControlListsIsMutable() { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10173,8 +10345,10 @@ public int getAccessControlListsCount() { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10193,8 +10367,10 @@ public int getAccessControlListsCount() { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10219,8 +10395,10 @@ public Builder setAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10244,8 +10422,10 @@ public Builder setAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10270,8 +10450,10 @@ public Builder addAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10296,8 +10478,10 @@ public Builder addAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10320,8 +10504,10 @@ public Builder addAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10345,8 +10531,10 @@ public Builder addAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10370,8 +10558,10 @@ public Builder addAllAccessControlLists( * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10392,8 +10582,10 @@ public Builder clearAccessControlLists() { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10414,8 +10606,10 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10430,8 +10624,10 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10450,8 +10646,10 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10471,8 +10669,10 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10490,8 +10690,10 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10510,8 +10712,10 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match resource and access selectors specified in the request.
    +     * The access control lists derived from the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match resource and access selectors specified in
    +     * the request.
          * 
    * * @@ -10554,8 +10758,9 @@ public Builder removeAccessControlLists(int index) { * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10569,8 +10774,9 @@ public boolean hasIdentityList() { * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10590,8 +10796,9 @@ public com.google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList getIdentit * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10614,8 +10821,9 @@ public Builder setIdentityList( * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10635,8 +10843,9 @@ public Builder setIdentityList( * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10664,8 +10873,9 @@ public Builder mergeIdentityList( * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10685,8 +10895,9 @@ public Builder clearIdentityList() { * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10701,8 +10912,9 @@ public Builder clearIdentityList() { * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10721,8 +10933,9 @@ public Builder clearIdentityList() { * * *
    -     * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -     * potentially match identity selector specified in the request.
    +     * The identity list derived from members of the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * that match or potentially match identity selector specified in the request.
          * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -10749,8 +10962,9 @@ public Builder clearIdentityList() { * * *
    -     * Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully
    -     * finished.
    +     * Represents whether all analyses on the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * have successfully finished.
          * 
    * * bool fully_explored = 5; @@ -10765,8 +10979,9 @@ public boolean getFullyExplored() { * * *
    -     * Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully
    -     * finished.
    +     * Represents whether all analyses on the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * have successfully finished.
          * 
    * * bool fully_explored = 5; @@ -10784,8 +10999,9 @@ public Builder setFullyExplored(boolean value) { * * *
    -     * Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully
    -     * finished.
    +     * Represents whether all analyses on the
    +     * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +     * have successfully finished.
          * 
    * * bool fully_explored = 5; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResultOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResultOrBuilder.java index 4b95e3bb15b..30601f1bfe1 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResultOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/IamPolicyAnalysisResultOrBuilder.java @@ -29,7 +29,9 @@ public interface IamPolicyAnalysisResultOrBuilder *
        * The [full resource
        * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -   * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +   * of the resource to which the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * policy attaches.
        * 
    * * string attached_resource_full_name = 1; @@ -43,7 +45,9 @@ public interface IamPolicyAnalysisResultOrBuilder *
        * The [full resource
        * name](https://cloud.google.com/asset-inventory/docs/resource-name-format)
    -   * of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches.
    +   * of the resource to which the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * policy attaches.
        * 
    * * string attached_resource_full_name = 1; @@ -91,8 +95,10 @@ public interface IamPolicyAnalysisResultOrBuilder * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -105,8 +111,10 @@ public interface IamPolicyAnalysisResultOrBuilder * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -119,8 +127,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -132,8 +142,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -147,8 +159,10 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match resource and access selectors specified in the request.
    +   * The access control lists derived from the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match resource and access selectors specified in
    +   * the request.
        * 
    * * @@ -162,8 +176,9 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match identity selector specified in the request.
    +   * The identity list derived from members of the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match identity selector specified in the request.
        * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -175,8 +190,9 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match identity selector specified in the request.
    +   * The identity list derived from members of the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match identity selector specified in the request.
        * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -188,8 +204,9 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or
    -   * potentially match identity selector specified in the request.
    +   * The identity list derived from members of the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * that match or potentially match identity selector specified in the request.
        * 
    * * .google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList identity_list = 4; @@ -201,8 +218,9 @@ com.google.cloud.asset.v1.IamPolicyAnalysisResult.AccessControlList getAccessCon * * *
    -   * Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully
    -   * finished.
    +   * Represents whether all analyses on the
    +   * [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding]
    +   * have successfully finished.
        * 
    * * bool fully_explored = 5; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequest.java index ad384a6eec5..26658678dcc 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequest.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequest.java @@ -184,10 +184,11 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
    -   * Required. Name of the organization or project the assets belong to. Format:
    -   * "organizations/[organization-number]" (such as "organizations/123"),
    -   * "projects/[project-id]" (such as "projects/my-project-id"), or
    -   * "projects/[project-number]" (such as "projects/12345").
    +   * Required. Name of the organization, folder, or project the assets belong
    +   * to. Format: "organizations/[organization-number]" (such as
    +   * "organizations/123"), "projects/[project-id]" (such as
    +   * "projects/my-project-id"), "projects/[project-number]" (such as
    +   * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
        * 
    * * @@ -212,10 +213,11 @@ public java.lang.String getParent() { * * *
    -   * Required. Name of the organization or project the assets belong to. Format:
    -   * "organizations/[organization-number]" (such as "organizations/123"),
    -   * "projects/[project-id]" (such as "projects/my-project-id"), or
    -   * "projects/[project-number]" (such as "projects/12345").
    +   * Required. Name of the organization, folder, or project the assets belong
    +   * to. Format: "organizations/[organization-number]" (such as
    +   * "organizations/123"), "projects/[project-id]" (such as
    +   * "projects/my-project-id"), "projects/[project-number]" (such as
    +   * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
        * 
    * * @@ -1101,10 +1103,11 @@ public Builder mergeFrom( * * *
    -     * Required. Name of the organization or project the assets belong to. Format:
    -     * "organizations/[organization-number]" (such as "organizations/123"),
    -     * "projects/[project-id]" (such as "projects/my-project-id"), or
    -     * "projects/[project-number]" (such as "projects/12345").
    +     * Required. Name of the organization, folder, or project the assets belong
    +     * to. Format: "organizations/[organization-number]" (such as
    +     * "organizations/123"), "projects/[project-id]" (such as
    +     * "projects/my-project-id"), "projects/[project-number]" (such as
    +     * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
          * 
    * * @@ -1128,10 +1131,11 @@ public java.lang.String getParent() { * * *
    -     * Required. Name of the organization or project the assets belong to. Format:
    -     * "organizations/[organization-number]" (such as "organizations/123"),
    -     * "projects/[project-id]" (such as "projects/my-project-id"), or
    -     * "projects/[project-number]" (such as "projects/12345").
    +     * Required. Name of the organization, folder, or project the assets belong
    +     * to. Format: "organizations/[organization-number]" (such as
    +     * "organizations/123"), "projects/[project-id]" (such as
    +     * "projects/my-project-id"), "projects/[project-number]" (such as
    +     * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
          * 
    * * @@ -1155,10 +1159,11 @@ public com.google.protobuf.ByteString getParentBytes() { * * *
    -     * Required. Name of the organization or project the assets belong to. Format:
    -     * "organizations/[organization-number]" (such as "organizations/123"),
    -     * "projects/[project-id]" (such as "projects/my-project-id"), or
    -     * "projects/[project-number]" (such as "projects/12345").
    +     * Required. Name of the organization, folder, or project the assets belong
    +     * to. Format: "organizations/[organization-number]" (such as
    +     * "organizations/123"), "projects/[project-id]" (such as
    +     * "projects/my-project-id"), "projects/[project-number]" (such as
    +     * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
          * 
    * * @@ -1181,10 +1186,11 @@ public Builder setParent(java.lang.String value) { * * *
    -     * Required. Name of the organization or project the assets belong to. Format:
    -     * "organizations/[organization-number]" (such as "organizations/123"),
    -     * "projects/[project-id]" (such as "projects/my-project-id"), or
    -     * "projects/[project-number]" (such as "projects/12345").
    +     * Required. Name of the organization, folder, or project the assets belong
    +     * to. Format: "organizations/[organization-number]" (such as
    +     * "organizations/123"), "projects/[project-id]" (such as
    +     * "projects/my-project-id"), "projects/[project-number]" (such as
    +     * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
          * 
    * * @@ -1203,10 +1209,11 @@ public Builder clearParent() { * * *
    -     * Required. Name of the organization or project the assets belong to. Format:
    -     * "organizations/[organization-number]" (such as "organizations/123"),
    -     * "projects/[project-id]" (such as "projects/my-project-id"), or
    -     * "projects/[project-number]" (such as "projects/12345").
    +     * Required. Name of the organization, folder, or project the assets belong
    +     * to. Format: "organizations/[organization-number]" (such as
    +     * "organizations/123"), "projects/[project-id]" (such as
    +     * "projects/my-project-id"), "projects/[project-number]" (such as
    +     * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
          * 
    * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequestOrBuilder.java index a7932287afa..d54ad45a57c 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequestOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListAssetsRequestOrBuilder.java @@ -27,10 +27,11 @@ public interface ListAssetsRequestOrBuilder * * *
    -   * Required. Name of the organization or project the assets belong to. Format:
    -   * "organizations/[organization-number]" (such as "organizations/123"),
    -   * "projects/[project-id]" (such as "projects/my-project-id"), or
    -   * "projects/[project-number]" (such as "projects/12345").
    +   * Required. Name of the organization, folder, or project the assets belong
    +   * to. Format: "organizations/[organization-number]" (such as
    +   * "organizations/123"), "projects/[project-id]" (such as
    +   * "projects/my-project-id"), "projects/[project-number]" (such as
    +   * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
        * 
    * * @@ -44,10 +45,11 @@ public interface ListAssetsRequestOrBuilder * * *
    -   * Required. Name of the organization or project the assets belong to. Format:
    -   * "organizations/[organization-number]" (such as "organizations/123"),
    -   * "projects/[project-id]" (such as "projects/my-project-id"), or
    -   * "projects/[project-number]" (such as "projects/12345").
    +   * Required. Name of the organization, folder, or project the assets belong
    +   * to. Format: "organizations/[organization-number]" (such as
    +   * "organizations/123"), "projects/[project-id]" (such as
    +   * "projects/my-project-id"), "projects/[project-number]" (such as
    +   * "projects/12345"), or "folders/[folder-number]" (such as "folders/12345").
        * 
    * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequest.java new file mode 100644 index 00000000000..2a293c9cdb1 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequest.java @@ -0,0 +1,1182 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * Request to list saved queries.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.ListSavedQueriesRequest} + */ +public final class ListSavedQueriesRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.ListSavedQueriesRequest) + ListSavedQueriesRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use ListSavedQueriesRequest.newBuilder() to construct. + private ListSavedQueriesRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ListSavedQueriesRequest() { + parent_ = ""; + filter_ = ""; + pageToken_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ListSavedQueriesRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ListSavedQueriesRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + parent_ = s; + break; + } + case 16: + { + pageSize_ = input.readInt32(); + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + + pageToken_ = s; + break; + } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + + filter_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.ListSavedQueriesRequest.class, + com.google.cloud.asset.v1.ListSavedQueriesRequest.Builder.class); + } + + public static final int PARENT_FIELD_NUMBER = 1; + private volatile java.lang.Object parent_; + /** + * + * + *
    +   * Required. The parent project/folder/organization whose savedQueries are to
    +   * be listed. It can only be using project/folder/organization number (such as
    +   * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + @java.lang.Override + public java.lang.String getParent() { + java.lang.Object ref = parent_; + 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(); + parent_ = s; + return s; + } + } + /** + * + * + *
    +   * Required. The parent project/folder/organization whose savedQueries are to
    +   * be listed. It can only be using project/folder/organization number (such as
    +   * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + @java.lang.Override + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int FILTER_FIELD_NUMBER = 4; + private volatile java.lang.Object filter_; + /** + * + * + *
    +   * Optional. The expression to filter resources.
    +   * The expression is a list of zero or more restrictions combined via logical
    +   * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +   * expression, parentheses must be appropriately used to group the
    +   * combinations. The expression may also contain regular expressions.
    +   * See https://google.aip.dev/160 for more information on the grammar.
    +   * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + @java.lang.Override + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + 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(); + filter_ = s; + return s; + } + } + /** + * + * + *
    +   * Optional. The expression to filter resources.
    +   * The expression is a list of zero or more restrictions combined via logical
    +   * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +   * expression, parentheses must be appropriately used to group the
    +   * combinations. The expression may also contain regular expressions.
    +   * See https://google.aip.dev/160 for more information on the grammar.
    +   * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + @java.lang.Override + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int PAGE_SIZE_FIELD_NUMBER = 2; + private int pageSize_; + /** + * + * + *
    +   * Optional. The maximum number of saved queries to return per page. The
    +   * service may return fewer than this value. If unspecified, at most 50 will
    +   * be returned.
    +   *  The maximum value is 1000; values above 1000 will be coerced to 1000.
    +   * 
    + * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + + public static final int PAGE_TOKEN_FIELD_NUMBER = 3; + private volatile java.lang.Object pageToken_; + /** + * + * + *
    +   * Optional. A page token, received from a previous `ListSavedQueries` call.
    +   * Provide this to retrieve the subsequent page.
    +   * When paginating, all other parameters provided to `ListSavedQueries` must
    +   * match the call that provided the page token.
    +   * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + @java.lang.Override + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + 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(); + pageToken_ = s; + return s; + } + } + /** + * + * + *
    +   * Optional. A page token, received from a previous `ListSavedQueries` call.
    +   * Provide this to retrieve the subsequent page.
    +   * When paginating, all other parameters provided to `ListSavedQueries` must
    +   * match the call that provided the page token.
    +   * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = 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.GeneratedMessageV3.isStringEmpty(parent_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, parent_); + } + if (pageSize_ != 0) { + output.writeInt32(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, filter_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parent_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, parent_); + } + if (pageSize_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(2, pageSize_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(pageToken_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, pageToken_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(filter_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, filter_); + } + size += unknownFields.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.asset.v1.ListSavedQueriesRequest)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.ListSavedQueriesRequest other = + (com.google.cloud.asset.v1.ListSavedQueriesRequest) obj; + + if (!getParent().equals(other.getParent())) return false; + if (!getFilter().equals(other.getFilter())) return false; + if (getPageSize() != other.getPageSize()) return false; + if (!getPageToken().equals(other.getPageToken())) return false; + if (!unknownFields.equals(other.unknownFields)) 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) + PARENT_FIELD_NUMBER; + hash = (53 * hash) + getParent().hashCode(); + hash = (37 * hash) + FILTER_FIELD_NUMBER; + hash = (53 * hash) + getFilter().hashCode(); + hash = (37 * hash) + PAGE_SIZE_FIELD_NUMBER; + hash = (53 * hash) + getPageSize(); + hash = (37 * hash) + PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getPageToken().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest 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.asset.v1.ListSavedQueriesRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest 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.asset.v1.ListSavedQueriesRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.ListSavedQueriesRequest 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * Request to list saved queries.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.ListSavedQueriesRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.ListSavedQueriesRequest) + com.google.cloud.asset.v1.ListSavedQueriesRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.ListSavedQueriesRequest.class, + com.google.cloud.asset.v1.ListSavedQueriesRequest.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.ListSavedQueriesRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + parent_ = ""; + + filter_ = ""; + + pageSize_ = 0; + + pageToken_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.ListSavedQueriesRequest getDefaultInstanceForType() { + return com.google.cloud.asset.v1.ListSavedQueriesRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.ListSavedQueriesRequest build() { + com.google.cloud.asset.v1.ListSavedQueriesRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.ListSavedQueriesRequest buildPartial() { + com.google.cloud.asset.v1.ListSavedQueriesRequest result = + new com.google.cloud.asset.v1.ListSavedQueriesRequest(this); + result.parent_ = parent_; + result.filter_ = filter_; + result.pageSize_ = pageSize_; + result.pageToken_ = pageToken_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.ListSavedQueriesRequest) { + return mergeFrom((com.google.cloud.asset.v1.ListSavedQueriesRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.ListSavedQueriesRequest other) { + if (other == com.google.cloud.asset.v1.ListSavedQueriesRequest.getDefaultInstance()) + return this; + if (!other.getParent().isEmpty()) { + parent_ = other.parent_; + onChanged(); + } + if (!other.getFilter().isEmpty()) { + filter_ = other.filter_; + onChanged(); + } + if (other.getPageSize() != 0) { + setPageSize(other.getPageSize()); + } + if (!other.getPageToken().isEmpty()) { + pageToken_ = other.pageToken_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.ListSavedQueriesRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.ListSavedQueriesRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object parent_ = ""; + /** + * + * + *
    +     * Required. The parent project/folder/organization whose savedQueries are to
    +     * be listed. It can only be using project/folder/organization number (such as
    +     * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + public java.lang.String getParent() { + java.lang.Object ref = parent_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + parent_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Required. The parent project/folder/organization whose savedQueries are to
    +     * be listed. It can only be using project/folder/organization number (such as
    +     * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + public com.google.protobuf.ByteString getParentBytes() { + java.lang.Object ref = parent_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + parent_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Required. The parent project/folder/organization whose savedQueries are to
    +     * be listed. It can only be using project/folder/organization number (such as
    +     * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The parent to set. + * @return This builder for chaining. + */ + public Builder setParent(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + parent_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The parent project/folder/organization whose savedQueries are to
    +     * be listed. It can only be using project/folder/organization number (such as
    +     * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return This builder for chaining. + */ + public Builder clearParent() { + + parent_ = getDefaultInstance().getParent(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Required. The parent project/folder/organization whose savedQueries are to
    +     * be listed. It can only be using project/folder/organization number (such as
    +     * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +     * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @param value The bytes for parent to set. + * @return This builder for chaining. + */ + public Builder setParentBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + parent_ = value; + onChanged(); + return this; + } + + private java.lang.Object filter_ = ""; + /** + * + * + *
    +     * Optional. The expression to filter resources.
    +     * The expression is a list of zero or more restrictions combined via logical
    +     * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +     * expression, parentheses must be appropriately used to group the
    +     * combinations. The expression may also contain regular expressions.
    +     * See https://google.aip.dev/160 for more information on the grammar.
    +     * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + public java.lang.String getFilter() { + java.lang.Object ref = filter_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + filter_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Optional. The expression to filter resources.
    +     * The expression is a list of zero or more restrictions combined via logical
    +     * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +     * expression, parentheses must be appropriately used to group the
    +     * combinations. The expression may also contain regular expressions.
    +     * See https://google.aip.dev/160 for more information on the grammar.
    +     * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + public com.google.protobuf.ByteString getFilterBytes() { + java.lang.Object ref = filter_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + filter_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Optional. The expression to filter resources.
    +     * The expression is a list of zero or more restrictions combined via logical
    +     * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +     * expression, parentheses must be appropriately used to group the
    +     * combinations. The expression may also contain regular expressions.
    +     * See https://google.aip.dev/160 for more information on the grammar.
    +     * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The filter to set. + * @return This builder for chaining. + */ + public Builder setFilter(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + filter_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The expression to filter resources.
    +     * The expression is a list of zero or more restrictions combined via logical
    +     * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +     * expression, parentheses must be appropriately used to group the
    +     * combinations. The expression may also contain regular expressions.
    +     * See https://google.aip.dev/160 for more information on the grammar.
    +     * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearFilter() { + + filter_ = getDefaultInstance().getFilter(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The expression to filter resources.
    +     * The expression is a list of zero or more restrictions combined via logical
    +     * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +     * expression, parentheses must be appropriately used to group the
    +     * combinations. The expression may also contain regular expressions.
    +     * See https://google.aip.dev/160 for more information on the grammar.
    +     * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for filter to set. + * @return This builder for chaining. + */ + public Builder setFilterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + filter_ = value; + onChanged(); + return this; + } + + private int pageSize_; + /** + * + * + *
    +     * Optional. The maximum number of saved queries to return per page. The
    +     * service may return fewer than this value. If unspecified, at most 50 will
    +     * be returned.
    +     *  The maximum value is 1000; values above 1000 will be coerced to 1000.
    +     * 
    + * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + @java.lang.Override + public int getPageSize() { + return pageSize_; + } + /** + * + * + *
    +     * Optional. The maximum number of saved queries to return per page. The
    +     * service may return fewer than this value. If unspecified, at most 50 will
    +     * be returned.
    +     *  The maximum value is 1000; values above 1000 will be coerced to 1000.
    +     * 
    + * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageSize to set. + * @return This builder for chaining. + */ + public Builder setPageSize(int value) { + + pageSize_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. The maximum number of saved queries to return per page. The
    +     * service may return fewer than this value. If unspecified, at most 50 will
    +     * be returned.
    +     *  The maximum value is 1000; values above 1000 will be coerced to 1000.
    +     * 
    + * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageSize() { + + pageSize_ = 0; + onChanged(); + return this; + } + + private java.lang.Object pageToken_ = ""; + /** + * + * + *
    +     * Optional. A page token, received from a previous `ListSavedQueries` call.
    +     * Provide this to retrieve the subsequent page.
    +     * When paginating, all other parameters provided to `ListSavedQueries` must
    +     * match the call that provided the page token.
    +     * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + public java.lang.String getPageToken() { + java.lang.Object ref = pageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + pageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Optional. A page token, received from a previous `ListSavedQueries` call.
    +     * Provide this to retrieve the subsequent page.
    +     * When paginating, all other parameters provided to `ListSavedQueries` must
    +     * match the call that provided the page token.
    +     * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + public com.google.protobuf.ByteString getPageTokenBytes() { + java.lang.Object ref = pageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + pageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Optional. A page token, received from a previous `ListSavedQueries` call.
    +     * Provide this to retrieve the subsequent page.
    +     * When paginating, all other parameters provided to `ListSavedQueries` must
    +     * match the call that provided the page token.
    +     * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + pageToken_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. A page token, received from a previous `ListSavedQueries` call.
    +     * Provide this to retrieve the subsequent page.
    +     * When paginating, all other parameters provided to `ListSavedQueries` must
    +     * match the call that provided the page token.
    +     * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return This builder for chaining. + */ + public Builder clearPageToken() { + + pageToken_ = getDefaultInstance().getPageToken(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Optional. A page token, received from a previous `ListSavedQueries` call.
    +     * Provide this to retrieve the subsequent page.
    +     * When paginating, all other parameters provided to `ListSavedQueries` must
    +     * match the call that provided the page token.
    +     * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @param value The bytes for pageToken to set. + * @return This builder for chaining. + */ + public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + pageToken_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.ListSavedQueriesRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.ListSavedQueriesRequest) + private static final com.google.cloud.asset.v1.ListSavedQueriesRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.ListSavedQueriesRequest(); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListSavedQueriesRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ListSavedQueriesRequest(input, extensionRegistry); + } + }; + + 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.asset.v1.ListSavedQueriesRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequestOrBuilder.java new file mode 100644 index 00000000000..39f29e97937 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesRequestOrBuilder.java @@ -0,0 +1,140 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface ListSavedQueriesRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.ListSavedQueriesRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * Required. The parent project/folder/organization whose savedQueries are to
    +   * be listed. It can only be using project/folder/organization number (such as
    +   * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The parent. + */ + java.lang.String getParent(); + /** + * + * + *
    +   * Required. The parent project/folder/organization whose savedQueries are to
    +   * be listed. It can only be using project/folder/organization number (such as
    +   * "folders/12345")", or a project ID (such as "projects/my-project-id").
    +   * 
    + * + * + * string parent = 1 [(.google.api.field_behavior) = REQUIRED, (.google.api.resource_reference) = { ... } + * + * + * @return The bytes for parent. + */ + com.google.protobuf.ByteString getParentBytes(); + + /** + * + * + *
    +   * Optional. The expression to filter resources.
    +   * The expression is a list of zero or more restrictions combined via logical
    +   * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +   * expression, parentheses must be appropriately used to group the
    +   * combinations. The expression may also contain regular expressions.
    +   * See https://google.aip.dev/160 for more information on the grammar.
    +   * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The filter. + */ + java.lang.String getFilter(); + /** + * + * + *
    +   * Optional. The expression to filter resources.
    +   * The expression is a list of zero or more restrictions combined via logical
    +   * operators `AND` and `OR`. When `AND` and `OR` are both used in the
    +   * expression, parentheses must be appropriately used to group the
    +   * combinations. The expression may also contain regular expressions.
    +   * See https://google.aip.dev/160 for more information on the grammar.
    +   * 
    + * + * string filter = 4 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for filter. + */ + com.google.protobuf.ByteString getFilterBytes(); + + /** + * + * + *
    +   * Optional. The maximum number of saved queries to return per page. The
    +   * service may return fewer than this value. If unspecified, at most 50 will
    +   * be returned.
    +   *  The maximum value is 1000; values above 1000 will be coerced to 1000.
    +   * 
    + * + * int32 page_size = 2 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageSize. + */ + int getPageSize(); + + /** + * + * + *
    +   * Optional. A page token, received from a previous `ListSavedQueries` call.
    +   * Provide this to retrieve the subsequent page.
    +   * When paginating, all other parameters provided to `ListSavedQueries` must
    +   * match the call that provided the page token.
    +   * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The pageToken. + */ + java.lang.String getPageToken(); + /** + * + * + *
    +   * Optional. A page token, received from a previous `ListSavedQueries` call.
    +   * Provide this to retrieve the subsequent page.
    +   * When paginating, all other parameters provided to `ListSavedQueries` must
    +   * match the call that provided the page token.
    +   * 
    + * + * string page_token = 3 [(.google.api.field_behavior) = OPTIONAL]; + * + * @return The bytes for pageToken. + */ + com.google.protobuf.ByteString getPageTokenBytes(); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponse.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponse.java new file mode 100644 index 00000000000..cb51c0b8080 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponse.java @@ -0,0 +1,1138 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * Response of listing saved queries.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.ListSavedQueriesResponse} + */ +public final class ListSavedQueriesResponse extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.ListSavedQueriesResponse) + ListSavedQueriesResponseOrBuilder { + private static final long serialVersionUID = 0L; + // Use ListSavedQueriesResponse.newBuilder() to construct. + private ListSavedQueriesResponse(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private ListSavedQueriesResponse() { + savedQueries_ = java.util.Collections.emptyList(); + nextPageToken_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new ListSavedQueriesResponse(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private ListSavedQueriesResponse( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + savedQueries_ = new java.util.ArrayList(); + mutable_bitField0_ |= 0x00000001; + } + savedQueries_.add( + input.readMessage( + com.google.cloud.asset.v1.SavedQuery.parser(), extensionRegistry)); + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + nextPageToken_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + if (((mutable_bitField0_ & 0x00000001) != 0)) { + savedQueries_ = java.util.Collections.unmodifiableList(savedQueries_); + } + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.ListSavedQueriesResponse.class, + com.google.cloud.asset.v1.ListSavedQueriesResponse.Builder.class); + } + + public static final int SAVED_QUERIES_FIELD_NUMBER = 1; + private java.util.List savedQueries_; + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + @java.lang.Override + public java.util.List getSavedQueriesList() { + return savedQueries_; + } + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + @java.lang.Override + public java.util.List + getSavedQueriesOrBuilderList() { + return savedQueries_; + } + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + @java.lang.Override + public int getSavedQueriesCount() { + return savedQueries_.size(); + } + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery getSavedQueries(int index) { + return savedQueries_.get(index); + } + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueriesOrBuilder(int index) { + return savedQueries_.get(index); + } + + public static final int NEXT_PAGE_TOKEN_FIELD_NUMBER = 2; + private volatile java.lang.Object nextPageToken_; + /** + * + * + *
    +   * A token, which can be sent as `page_token` to retrieve the next page.
    +   * If this field is omitted, there are no subsequent pages.
    +   * 
    + * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + @java.lang.Override + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + 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(); + nextPageToken_ = s; + return s; + } + } + /** + * + * + *
    +   * A token, which can be sent as `page_token` to retrieve the next page.
    +   * If this field is omitted, there are no subsequent pages.
    +   * 
    + * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + @java.lang.Override + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = 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 { + for (int i = 0; i < savedQueries_.size(); i++) { + output.writeMessage(1, savedQueries_.get(i)); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, nextPageToken_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + for (int i = 0; i < savedQueries_.size(); i++) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, savedQueries_.get(i)); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(nextPageToken_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, nextPageToken_); + } + size += unknownFields.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.asset.v1.ListSavedQueriesResponse)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.ListSavedQueriesResponse other = + (com.google.cloud.asset.v1.ListSavedQueriesResponse) obj; + + if (!getSavedQueriesList().equals(other.getSavedQueriesList())) return false; + if (!getNextPageToken().equals(other.getNextPageToken())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (getSavedQueriesCount() > 0) { + hash = (37 * hash) + SAVED_QUERIES_FIELD_NUMBER; + hash = (53 * hash) + getSavedQueriesList().hashCode(); + } + hash = (37 * hash) + NEXT_PAGE_TOKEN_FIELD_NUMBER; + hash = (53 * hash) + getNextPageToken().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse 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.asset.v1.ListSavedQueriesResponse parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse 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.asset.v1.ListSavedQueriesResponse parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.ListSavedQueriesResponse 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * Response of listing saved queries.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.ListSavedQueriesResponse} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.ListSavedQueriesResponse) + com.google.cloud.asset.v1.ListSavedQueriesResponseOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.ListSavedQueriesResponse.class, + com.google.cloud.asset.v1.ListSavedQueriesResponse.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.ListSavedQueriesResponse.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getSavedQueriesFieldBuilder(); + } + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (savedQueriesBuilder_ == null) { + savedQueries_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + } else { + savedQueriesBuilder_.clear(); + } + nextPageToken_ = ""; + + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_ListSavedQueriesResponse_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.ListSavedQueriesResponse getDefaultInstanceForType() { + return com.google.cloud.asset.v1.ListSavedQueriesResponse.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.ListSavedQueriesResponse build() { + com.google.cloud.asset.v1.ListSavedQueriesResponse result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.ListSavedQueriesResponse buildPartial() { + com.google.cloud.asset.v1.ListSavedQueriesResponse result = + new com.google.cloud.asset.v1.ListSavedQueriesResponse(this); + int from_bitField0_ = bitField0_; + if (savedQueriesBuilder_ == null) { + if (((bitField0_ & 0x00000001) != 0)) { + savedQueries_ = java.util.Collections.unmodifiableList(savedQueries_); + bitField0_ = (bitField0_ & ~0x00000001); + } + result.savedQueries_ = savedQueries_; + } else { + result.savedQueries_ = savedQueriesBuilder_.build(); + } + result.nextPageToken_ = nextPageToken_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.ListSavedQueriesResponse) { + return mergeFrom((com.google.cloud.asset.v1.ListSavedQueriesResponse) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.ListSavedQueriesResponse other) { + if (other == com.google.cloud.asset.v1.ListSavedQueriesResponse.getDefaultInstance()) + return this; + if (savedQueriesBuilder_ == null) { + if (!other.savedQueries_.isEmpty()) { + if (savedQueries_.isEmpty()) { + savedQueries_ = other.savedQueries_; + bitField0_ = (bitField0_ & ~0x00000001); + } else { + ensureSavedQueriesIsMutable(); + savedQueries_.addAll(other.savedQueries_); + } + onChanged(); + } + } else { + if (!other.savedQueries_.isEmpty()) { + if (savedQueriesBuilder_.isEmpty()) { + savedQueriesBuilder_.dispose(); + savedQueriesBuilder_ = null; + savedQueries_ = other.savedQueries_; + bitField0_ = (bitField0_ & ~0x00000001); + savedQueriesBuilder_ = + com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders + ? getSavedQueriesFieldBuilder() + : null; + } else { + savedQueriesBuilder_.addAllMessages(other.savedQueries_); + } + } + } + if (!other.getNextPageToken().isEmpty()) { + nextPageToken_ = other.nextPageToken_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.ListSavedQueriesResponse parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.ListSavedQueriesResponse) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int bitField0_; + + private java.util.List savedQueries_ = + java.util.Collections.emptyList(); + + private void ensureSavedQueriesIsMutable() { + if (!((bitField0_ & 0x00000001) != 0)) { + savedQueries_ = + new java.util.ArrayList(savedQueries_); + bitField0_ |= 0x00000001; + } + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder> + savedQueriesBuilder_; + + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public java.util.List getSavedQueriesList() { + if (savedQueriesBuilder_ == null) { + return java.util.Collections.unmodifiableList(savedQueries_); + } else { + return savedQueriesBuilder_.getMessageList(); + } + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public int getSavedQueriesCount() { + if (savedQueriesBuilder_ == null) { + return savedQueries_.size(); + } else { + return savedQueriesBuilder_.getCount(); + } + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public com.google.cloud.asset.v1.SavedQuery getSavedQueries(int index) { + if (savedQueriesBuilder_ == null) { + return savedQueries_.get(index); + } else { + return savedQueriesBuilder_.getMessage(index); + } + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder setSavedQueries(int index, com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueriesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSavedQueriesIsMutable(); + savedQueries_.set(index, value); + onChanged(); + } else { + savedQueriesBuilder_.setMessage(index, value); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder setSavedQueries( + int index, com.google.cloud.asset.v1.SavedQuery.Builder builderForValue) { + if (savedQueriesBuilder_ == null) { + ensureSavedQueriesIsMutable(); + savedQueries_.set(index, builderForValue.build()); + onChanged(); + } else { + savedQueriesBuilder_.setMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder addSavedQueries(com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueriesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSavedQueriesIsMutable(); + savedQueries_.add(value); + onChanged(); + } else { + savedQueriesBuilder_.addMessage(value); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder addSavedQueries(int index, com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueriesBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + ensureSavedQueriesIsMutable(); + savedQueries_.add(index, value); + onChanged(); + } else { + savedQueriesBuilder_.addMessage(index, value); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder addSavedQueries(com.google.cloud.asset.v1.SavedQuery.Builder builderForValue) { + if (savedQueriesBuilder_ == null) { + ensureSavedQueriesIsMutable(); + savedQueries_.add(builderForValue.build()); + onChanged(); + } else { + savedQueriesBuilder_.addMessage(builderForValue.build()); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder addSavedQueries( + int index, com.google.cloud.asset.v1.SavedQuery.Builder builderForValue) { + if (savedQueriesBuilder_ == null) { + ensureSavedQueriesIsMutable(); + savedQueries_.add(index, builderForValue.build()); + onChanged(); + } else { + savedQueriesBuilder_.addMessage(index, builderForValue.build()); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder addAllSavedQueries( + java.lang.Iterable values) { + if (savedQueriesBuilder_ == null) { + ensureSavedQueriesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, savedQueries_); + onChanged(); + } else { + savedQueriesBuilder_.addAllMessages(values); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder clearSavedQueries() { + if (savedQueriesBuilder_ == null) { + savedQueries_ = java.util.Collections.emptyList(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + } else { + savedQueriesBuilder_.clear(); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public Builder removeSavedQueries(int index) { + if (savedQueriesBuilder_ == null) { + ensureSavedQueriesIsMutable(); + savedQueries_.remove(index); + onChanged(); + } else { + savedQueriesBuilder_.remove(index); + } + return this; + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public com.google.cloud.asset.v1.SavedQuery.Builder getSavedQueriesBuilder(int index) { + return getSavedQueriesFieldBuilder().getBuilder(index); + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueriesOrBuilder(int index) { + if (savedQueriesBuilder_ == null) { + return savedQueries_.get(index); + } else { + return savedQueriesBuilder_.getMessageOrBuilder(index); + } + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public java.util.List + getSavedQueriesOrBuilderList() { + if (savedQueriesBuilder_ != null) { + return savedQueriesBuilder_.getMessageOrBuilderList(); + } else { + return java.util.Collections.unmodifiableList(savedQueries_); + } + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public com.google.cloud.asset.v1.SavedQuery.Builder addSavedQueriesBuilder() { + return getSavedQueriesFieldBuilder() + .addBuilder(com.google.cloud.asset.v1.SavedQuery.getDefaultInstance()); + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public com.google.cloud.asset.v1.SavedQuery.Builder addSavedQueriesBuilder(int index) { + return getSavedQueriesFieldBuilder() + .addBuilder(index, com.google.cloud.asset.v1.SavedQuery.getDefaultInstance()); + } + /** + * + * + *
    +     * A list of savedQueries.
    +     * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + public java.util.List + getSavedQueriesBuilderList() { + return getSavedQueriesFieldBuilder().getBuilderList(); + } + + private com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder> + getSavedQueriesFieldBuilder() { + if (savedQueriesBuilder_ == null) { + savedQueriesBuilder_ = + new com.google.protobuf.RepeatedFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder>( + savedQueries_, ((bitField0_ & 0x00000001) != 0), getParentForChildren(), isClean()); + savedQueries_ = null; + } + return savedQueriesBuilder_; + } + + private java.lang.Object nextPageToken_ = ""; + /** + * + * + *
    +     * A token, which can be sent as `page_token` to retrieve the next page.
    +     * If this field is omitted, there are no subsequent pages.
    +     * 
    + * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + public java.lang.String getNextPageToken() { + java.lang.Object ref = nextPageToken_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + nextPageToken_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * A token, which can be sent as `page_token` to retrieve the next page.
    +     * If this field is omitted, there are no subsequent pages.
    +     * 
    + * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + public com.google.protobuf.ByteString getNextPageTokenBytes() { + java.lang.Object ref = nextPageToken_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + nextPageToken_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * A token, which can be sent as `page_token` to retrieve the next page.
    +     * If this field is omitted, there are no subsequent pages.
    +     * 
    + * + * string next_page_token = 2; + * + * @param value The nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageToken(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + nextPageToken_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * A token, which can be sent as `page_token` to retrieve the next page.
    +     * If this field is omitted, there are no subsequent pages.
    +     * 
    + * + * string next_page_token = 2; + * + * @return This builder for chaining. + */ + public Builder clearNextPageToken() { + + nextPageToken_ = getDefaultInstance().getNextPageToken(); + onChanged(); + return this; + } + /** + * + * + *
    +     * A token, which can be sent as `page_token` to retrieve the next page.
    +     * If this field is omitted, there are no subsequent pages.
    +     * 
    + * + * string next_page_token = 2; + * + * @param value The bytes for nextPageToken to set. + * @return This builder for chaining. + */ + public Builder setNextPageTokenBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + nextPageToken_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.ListSavedQueriesResponse) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.ListSavedQueriesResponse) + private static final com.google.cloud.asset.v1.ListSavedQueriesResponse DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.ListSavedQueriesResponse(); + } + + public static com.google.cloud.asset.v1.ListSavedQueriesResponse getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public ListSavedQueriesResponse parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new ListSavedQueriesResponse(input, extensionRegistry); + } + }; + + 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.asset.v1.ListSavedQueriesResponse getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponseOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponseOrBuilder.java new file mode 100644 index 00000000000..4bd03e463e9 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ListSavedQueriesResponseOrBuilder.java @@ -0,0 +1,104 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface ListSavedQueriesResponseOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.ListSavedQueriesResponse) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + java.util.List getSavedQueriesList(); + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + com.google.cloud.asset.v1.SavedQuery getSavedQueries(int index); + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + int getSavedQueriesCount(); + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + java.util.List + getSavedQueriesOrBuilderList(); + /** + * + * + *
    +   * A list of savedQueries.
    +   * 
    + * + * repeated .google.cloud.asset.v1.SavedQuery saved_queries = 1; + */ + com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueriesOrBuilder(int index); + + /** + * + * + *
    +   * A token, which can be sent as `page_token` to retrieve the next page.
    +   * If this field is omitted, there are no subsequent pages.
    +   * 
    + * + * string next_page_token = 2; + * + * @return The nextPageToken. + */ + java.lang.String getNextPageToken(); + /** + * + * + *
    +   * A token, which can be sent as `page_token` to retrieve the next page.
    +   * If this field is omitted, there are no subsequent pages.
    +   * 
    + * + * string next_page_token = 2; + * + * @return The bytes for nextPageToken. + */ + com.google.protobuf.ByteString getNextPageTokenBytes(); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OrganizationName.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OrganizationName.java new file mode 100644 index 00000000000..cf6b7ed90be --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OrganizationName.java @@ -0,0 +1,168 @@ +/* + * Copyright 2022 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.asset.v1; + +import com.google.api.pathtemplate.PathTemplate; +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 OrganizationName implements ResourceName { + private static final PathTemplate ORGANIZATION = + PathTemplate.createWithoutUrlEncoding("organizations/{organization}"); + private volatile Map fieldValuesMap; + private final String organization; + + @Deprecated + protected OrganizationName() { + organization = null; + } + + private OrganizationName(Builder builder) { + organization = Preconditions.checkNotNull(builder.getOrganization()); + } + + public String getOrganization() { + return organization; + } + + public static Builder newBuilder() { + return new Builder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static OrganizationName of(String organization) { + return newBuilder().setOrganization(organization).build(); + } + + public static String format(String organization) { + return newBuilder().setOrganization(organization).build().toString(); + } + + public static OrganizationName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + Map matchMap = + ORGANIZATION.validatedMatch( + formattedString, "OrganizationName.parse: formattedString not in valid format"); + return of(matchMap.get("organization")); + } + + 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 (OrganizationName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return ORGANIZATION.matches(formattedString); + } + + @Override + public Map getFieldValuesMap() { + if (fieldValuesMap == null) { + synchronized (this) { + if (fieldValuesMap == null) { + ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); + 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 ORGANIZATION.instantiate("organization", organization); + } + + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + OrganizationName that = ((OrganizationName) o); + return Objects.equals(this.organization, that.organization); + } + return false; + } + + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(organization); + return h; + } + + /** Builder for organizations/{organization}. */ + public static class Builder { + private String organization; + + protected Builder() {} + + public String getOrganization() { + return organization; + } + + public Builder setOrganization(String organization) { + this.organization = organization; + return this; + } + + private Builder(OrganizationName organizationName) { + this.organization = organizationName.organization; + } + + public OrganizationName build() { + return new OrganizationName(this); + } + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfig.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfig.java index 3eb015caf12..6e02e0f21a0 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfig.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfig.java @@ -241,7 +241,7 @@ public com.google.cloud.asset.v1.GcsDestinationOrBuilder getGcsDestinationOrBuil * *
        * Destination on BigQuery. The output table stores the fields in asset
    -   * proto as columns in BigQuery.
    +   * Protobuf as columns in BigQuery.
        * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -257,7 +257,7 @@ public boolean hasBigqueryDestination() { * *
        * Destination on BigQuery. The output table stores the fields in asset
    -   * proto as columns in BigQuery.
    +   * Protobuf as columns in BigQuery.
        * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -276,7 +276,7 @@ public com.google.cloud.asset.v1.BigQueryDestination getBigqueryDestination() { * *
        * Destination on BigQuery. The output table stores the fields in asset
    -   * proto as columns in BigQuery.
    +   * Protobuf as columns in BigQuery.
        * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -894,7 +894,7 @@ public com.google.cloud.asset.v1.GcsDestinationOrBuilder getGcsDestinationOrBuil * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -910,7 +910,7 @@ public boolean hasBigqueryDestination() { * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -936,7 +936,7 @@ public com.google.cloud.asset.v1.BigQueryDestination getBigqueryDestination() { * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -959,7 +959,7 @@ public Builder setBigqueryDestination(com.google.cloud.asset.v1.BigQueryDestinat * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -980,7 +980,7 @@ public Builder setBigqueryDestination( * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -1013,7 +1013,7 @@ public Builder mergeBigqueryDestination(com.google.cloud.asset.v1.BigQueryDestin * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -1039,7 +1039,7 @@ public Builder clearBigqueryDestination() { * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -1052,7 +1052,7 @@ public com.google.cloud.asset.v1.BigQueryDestination.Builder getBigqueryDestinat * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -1074,7 +1074,7 @@ public com.google.cloud.asset.v1.BigQueryDestination.Builder getBigqueryDestinat * *
          * Destination on BigQuery. The output table stores the fields in asset
    -     * proto as columns in BigQuery.
    +     * Protobuf as columns in BigQuery.
          * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfigOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfigOrBuilder.java index d324d6b00b6..ce0fc0dedae 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfigOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/OutputConfigOrBuilder.java @@ -63,7 +63,7 @@ public interface OutputConfigOrBuilder * *
        * Destination on BigQuery. The output table stores the fields in asset
    -   * proto as columns in BigQuery.
    +   * Protobuf as columns in BigQuery.
        * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -76,7 +76,7 @@ public interface OutputConfigOrBuilder * *
        * Destination on BigQuery. The output table stores the fields in asset
    -   * proto as columns in BigQuery.
    +   * Protobuf as columns in BigQuery.
        * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; @@ -89,7 +89,7 @@ public interface OutputConfigOrBuilder * *
        * Destination on BigQuery. The output table stores the fields in asset
    -   * proto as columns in BigQuery.
    +   * Protobuf as columns in BigQuery.
        * 
    * * .google.cloud.asset.v1.BigQueryDestination bigquery_destination = 2; diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ProjectName.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ProjectName.java index bdabd54dd1d..032e6dc27a0 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ProjectName.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ProjectName.java @@ -1,11 +1,11 @@ /* - * Copyright 2020 Google LLC + * Copyright 2022 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 + * 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, @@ -23,18 +23,26 @@ 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 */ -@javax.annotation.Generated("by GAPIC protoc plugin") +// AUTO-GENERATED DOCUMENTATION AND CLASS. +@Generated("by gapic-generator-java") public class ProjectName implements ResourceName { - - private static final PathTemplate PATH_TEMPLATE = + private static final PathTemplate PROJECT = PathTemplate.createWithoutUrlEncoding("projects/{project}"); - private volatile Map fieldValuesMap; - private final String project; + @Deprecated + protected ProjectName() { + project = null; + } + + private ProjectName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + } + public String getProject() { return project; } @@ -47,10 +55,6 @@ public Builder toBuilder() { return new Builder(this); } - private ProjectName(Builder builder) { - project = Preconditions.checkNotNull(builder.getProject()); - } - public static ProjectName of(String project) { return newBuilder().setProject(project).build(); } @@ -64,7 +68,7 @@ public static ProjectName parse(String formattedString) { return null; } Map matchMap = - PATH_TEMPLATE.validatedMatch( + PROJECT.validatedMatch( formattedString, "ProjectName.parse: formattedString not in valid format"); return of(matchMap.get("project")); } @@ -78,7 +82,7 @@ public static List parseList(List formattedStrings) { } public static List toStringList(List values) { - List list = new ArrayList(values.size()); + List list = new ArrayList<>(values.size()); for (ProjectName value : values) { if (value == null) { list.add(""); @@ -90,15 +94,18 @@ public static List toStringList(List values) { } public static boolean isParsableFrom(String formattedString) { - return PATH_TEMPLATE.matches(formattedString); + return PROJECT.matches(formattedString); } + @Override public Map getFieldValuesMap() { if (fieldValuesMap == null) { synchronized (this) { if (fieldValuesMap == null) { ImmutableMap.Builder fieldMapBuilder = ImmutableMap.builder(); - fieldMapBuilder.put("project", project); + if (project != null) { + fieldMapBuilder.put("project", project); + } fieldValuesMap = fieldMapBuilder.build(); } } @@ -112,14 +119,35 @@ public String getFieldValue(String fieldName) { @Override public String toString() { - return PATH_TEMPLATE.instantiate("project", project); + return PROJECT.instantiate("project", project); } - /** Builder for ProjectName. */ - public static class Builder { + @Override + public boolean equals(Object o) { + if (o == this) { + return true; + } + if (o != null || getClass() == o.getClass()) { + ProjectName that = ((ProjectName) o); + return Objects.equals(this.project, that.project); + } + return false; + } + @Override + public int hashCode() { + int h = 1; + h *= 1000003; + h ^= Objects.hashCode(project); + return h; + } + + /** Builder for projects/{project}. */ + public static class Builder { private String project; + protected Builder() {} + public String getProject() { return project; } @@ -129,34 +157,12 @@ public Builder setProject(String project) { return this; } - private Builder() {} - private Builder(ProjectName projectName) { - project = projectName.project; + this.project = projectName.project; } public ProjectName build() { return new ProjectName(this); } } - - @Override - public boolean equals(Object o) { - if (o == this) { - return true; - } - if (o instanceof ProjectName) { - ProjectName that = (ProjectName) o; - return (this.project.equals(that.project)); - } - return false; - } - - @Override - public int hashCode() { - int h = 1; - h *= 1000003; - h ^= project.hashCode(); - return h; - } } diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAsset.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAsset.java index f5e02f2f4ed..845b44c83ba 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAsset.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAsset.java @@ -22,7 +22,7 @@ * * *
    - * An asset identify in Google Cloud which contains its name, type and
    + * An asset identifier in Google Cloud which contains its name, type and
      * ancestors. An asset can be any resource in the Google Cloud [resource
      * hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
      * a resource outside the Google Cloud resource hierarchy (such as Google
    @@ -48,6 +48,7 @@ private RelatedAsset() {
         asset_ = "";
         assetType_ = "";
         ancestors_ = com.google.protobuf.LazyStringArrayList.EMPTY;
    +    relationshipType_ = "";
       }
     
       @java.lang.Override
    @@ -104,6 +105,13 @@ private RelatedAsset(
                   ancestors_.add(s);
                   break;
                 }
    +          case 34:
    +            {
    +              java.lang.String s = input.readStringRequireUtf8();
    +
    +              relationshipType_ = s;
    +              break;
    +            }
               default:
                 {
                   if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
    @@ -332,6 +340,57 @@ public com.google.protobuf.ByteString getAncestorsBytes(int index) {
         return ancestors_.getByteString(index);
       }
     
    +  public static final int RELATIONSHIP_TYPE_FIELD_NUMBER = 4;
    +  private volatile java.lang.Object relationshipType_;
    +  /**
    +   *
    +   *
    +   * 
    +   * The unique identifier of the relationship type. Example:
    +   * `INSTANCE_TO_INSTANCEGROUP`
    +   * 
    + * + * string relationship_type = 4; + * + * @return The relationshipType. + */ + @java.lang.Override + public java.lang.String getRelationshipType() { + java.lang.Object ref = relationshipType_; + 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(); + relationshipType_ = s; + return s; + } + } + /** + * + * + *
    +   * The unique identifier of the relationship type. Example:
    +   * `INSTANCE_TO_INSTANCEGROUP`
    +   * 
    + * + * string relationship_type = 4; + * + * @return The bytes for relationshipType. + */ + @java.lang.Override + public com.google.protobuf.ByteString getRelationshipTypeBytes() { + java.lang.Object ref = relationshipType_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + relationshipType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -355,6 +414,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io for (int i = 0; i < ancestors_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 3, ancestors_.getRaw(i)); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(relationshipType_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, relationshipType_); + } unknownFields.writeTo(output); } @@ -378,6 +440,9 @@ public int getSerializedSize() { size += dataSize; size += 1 * getAncestorsList().size(); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(relationshipType_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, relationshipType_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -396,6 +461,7 @@ public boolean equals(final java.lang.Object obj) { if (!getAsset().equals(other.getAsset())) return false; if (!getAssetType().equals(other.getAssetType())) return false; if (!getAncestorsList().equals(other.getAncestorsList())) return false; + if (!getRelationshipType().equals(other.getRelationshipType())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; } @@ -415,6 +481,8 @@ public int hashCode() { hash = (37 * hash) + ANCESTORS_FIELD_NUMBER; hash = (53 * hash) + getAncestorsList().hashCode(); } + hash = (37 * hash) + RELATIONSHIP_TYPE_FIELD_NUMBER; + hash = (53 * hash) + getRelationshipType().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); memoizedHashCode = hash; return hash; @@ -519,7 +587,7 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
    -   * An asset identify in Google Cloud which contains its name, type and
    +   * An asset identifier in Google Cloud which contains its name, type and
        * ancestors. An asset can be any resource in the Google Cloud [resource
        * hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy),
        * a resource outside the Google Cloud resource hierarchy (such as Google
    @@ -573,6 +641,8 @@ public Builder clear() {
     
           ancestors_ = com.google.protobuf.LazyStringArrayList.EMPTY;
           bitField0_ = (bitField0_ & ~0x00000001);
    +      relationshipType_ = "";
    +
           return this;
         }
     
    @@ -608,6 +678,7 @@ public com.google.cloud.asset.v1.RelatedAsset buildPartial() {
             bitField0_ = (bitField0_ & ~0x00000001);
           }
           result.ancestors_ = ancestors_;
    +      result.relationshipType_ = relationshipType_;
           onBuilt();
           return result;
         }
    @@ -675,6 +746,10 @@ public Builder mergeFrom(com.google.cloud.asset.v1.RelatedAsset other) {
             }
             onChanged();
           }
    +      if (!other.getRelationshipType().isEmpty()) {
    +        relationshipType_ = other.relationshipType_;
    +        onChanged();
    +      }
           this.mergeUnknownFields(other.unknownFields);
           onChanged();
           return this;
    @@ -1157,6 +1232,117 @@ public Builder addAncestorsBytes(com.google.protobuf.ByteString value) {
           return this;
         }
     
    +    private java.lang.Object relationshipType_ = "";
    +    /**
    +     *
    +     *
    +     * 
    +     * The unique identifier of the relationship type. Example:
    +     * `INSTANCE_TO_INSTANCEGROUP`
    +     * 
    + * + * string relationship_type = 4; + * + * @return The relationshipType. + */ + public java.lang.String getRelationshipType() { + java.lang.Object ref = relationshipType_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + relationshipType_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * The unique identifier of the relationship type. Example:
    +     * `INSTANCE_TO_INSTANCEGROUP`
    +     * 
    + * + * string relationship_type = 4; + * + * @return The bytes for relationshipType. + */ + public com.google.protobuf.ByteString getRelationshipTypeBytes() { + java.lang.Object ref = relationshipType_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + relationshipType_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * The unique identifier of the relationship type. Example:
    +     * `INSTANCE_TO_INSTANCEGROUP`
    +     * 
    + * + * string relationship_type = 4; + * + * @param value The relationshipType to set. + * @return This builder for chaining. + */ + public Builder setRelationshipType(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + relationshipType_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * The unique identifier of the relationship type. Example:
    +     * `INSTANCE_TO_INSTANCEGROUP`
    +     * 
    + * + * string relationship_type = 4; + * + * @return This builder for chaining. + */ + public Builder clearRelationshipType() { + + relationshipType_ = getDefaultInstance().getRelationshipType(); + onChanged(); + return this; + } + /** + * + * + *
    +     * The unique identifier of the relationship type. Example:
    +     * `INSTANCE_TO_INSTANCEGROUP`
    +     * 
    + * + * string relationship_type = 4; + * + * @param value The bytes for relationshipType to set. + * @return This builder for chaining. + */ + public Builder setRelationshipTypeBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + relationshipType_ = value; + onChanged(); + return this; + } + @java.lang.Override public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetOrBuilder.java index 0d01700c882..dc568a1f840 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetOrBuilder.java @@ -153,4 +153,31 @@ public interface RelatedAssetOrBuilder * @return The bytes of the ancestors at the given index. */ com.google.protobuf.ByteString getAncestorsBytes(int index); + + /** + * + * + *
    +   * The unique identifier of the relationship type. Example:
    +   * `INSTANCE_TO_INSTANCEGROUP`
    +   * 
    + * + * string relationship_type = 4; + * + * @return The relationshipType. + */ + java.lang.String getRelationshipType(); + /** + * + * + *
    +   * The unique identifier of the relationship type. Example:
    +   * `INSTANCE_TO_INSTANCEGROUP`
    +   * 
    + * + * string relationship_type = 4; + * + * @return The bytes for relationshipType. + */ + com.google.protobuf.ByteString getRelationshipTypeBytes(); } diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssets.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssets.java index 966b6557f53..ed2646fbd2e 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssets.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssets.java @@ -22,11 +22,15 @@ * * *
    + * DEPRECATED. This message only presents for the purpose of
    + * backward-compatibility. The server will never populate this message in
    + * responses.
      * The detailed related assets with the `relationship_type`.
      * 
    * * Protobuf type {@code google.cloud.asset.v1.RelatedAssets} */ +@java.lang.Deprecated public final class RelatedAssets extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.RelatedAssets) @@ -434,6 +438,9 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
    +   * DEPRECATED. This message only presents for the purpose of
    +   * backward-compatibility. The server will never populate this message in
    +   * responses.
        * The detailed related assets with the `relationship_type`.
        * 
    * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetsOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetsOrBuilder.java index a610c3da6e1..00b60868d08 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetsOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelatedAssetsOrBuilder.java @@ -18,6 +18,7 @@ package com.google.cloud.asset.v1; +@java.lang.Deprecated public interface RelatedAssetsOrBuilder extends // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.RelatedAssets) diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributes.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributes.java index c959337c4fc..cb95c5f3a9c 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributes.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributes.java @@ -22,12 +22,16 @@ * * *
    + * DEPRECATED. This message only presents for the purpose of
    + * backward-compatibility. The server will never populate this message in
    + * responses.
      * The relationship attributes which include  `type`, `source_resource_type`,
      * `target_resource_type` and `action`.
      * 
    * * Protobuf type {@code google.cloud.asset.v1.RelationshipAttributes} */ +@java.lang.Deprecated public final class RelationshipAttributes extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.RelationshipAttributes) @@ -526,6 +530,9 @@ protected Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.Build * * *
    +   * DEPRECATED. This message only presents for the purpose of
    +   * backward-compatibility. The server will never populate this message in
    +   * responses.
        * The relationship attributes which include  `type`, `source_resource_type`,
        * `target_resource_type` and `action`.
        * 
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributesOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributesOrBuilder.java index 1aaf3e542d0..254c4fbbba6 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributesOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/RelationshipAttributesOrBuilder.java @@ -18,6 +18,7 @@ package com.google.cloud.asset.v1; +@java.lang.Deprecated public interface RelationshipAttributesOrBuilder extends // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.RelationshipAttributes) diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResult.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResult.java index c22d5ffda76..8231fb4498e 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResult.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResult.java @@ -52,6 +52,9 @@ private ResourceSearchResult() { parentFullResourceName_ = ""; versionedResources_ = java.util.Collections.emptyList(); attachedResources_ = java.util.Collections.emptyList(); + tagKeys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + tagValues_ = com.google.protobuf.LazyStringArrayList.EMPTY; + tagValueIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; parentAssetType_ = ""; } @@ -276,6 +279,36 @@ private ResourceSearchResult( .put(relationships__.getKey(), relationships__.getValue()); break; } + case 186: + { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000040) != 0)) { + tagKeys_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000040; + } + tagKeys_.add(s); + break; + } + case 202: + { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000080) != 0)) { + tagValues_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000080; + } + tagValues_.add(s); + break; + } + case 210: + { + java.lang.String s = input.readStringRequireUtf8(); + if (!((mutable_bitField0_ & 0x00000100) != 0)) { + tagValueIds_ = new com.google.protobuf.LazyStringArrayList(); + mutable_bitField0_ |= 0x00000100; + } + tagValueIds_.add(s); + break; + } case 826: { java.lang.String s = input.readStringRequireUtf8(); @@ -311,6 +344,15 @@ private ResourceSearchResult( if (((mutable_bitField0_ & 0x00000010) != 0)) { attachedResources_ = java.util.Collections.unmodifiableList(attachedResources_); } + if (((mutable_bitField0_ & 0x00000040) != 0)) { + tagKeys_ = tagKeys_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000080) != 0)) { + tagValues_ = tagValues_.getUnmodifiableView(); + } + if (((mutable_bitField0_ & 0x00000100) != 0)) { + tagValueIds_ = tagValueIds_.getUnmodifiableView(); + } this.unknownFields = unknownFields.build(); makeExtensionsImmutable(); } @@ -674,7 +716,7 @@ public com.google.protobuf.ByteString getOrganizationBytes() { * *
        * The display name of this resource. This field is available only when the
    -   * resource's proto contains it.
    +   * resource's Protobuf contains it.
        * To search against the `display_name`:
        * * use a field query. Example: `displayName:"My Instance"`
        * * use a free text query. Example: `"My Instance"`
    @@ -701,7 +743,7 @@ public java.lang.String getDisplayName() {
        *
        * 
        * The display name of this resource. This field is available only when the
    -   * resource's proto contains it.
    +   * resource's Protobuf contains it.
        * To search against the `display_name`:
        * * use a field query. Example: `displayName:"My Instance"`
        * * use a free text query. Example: `"My Instance"`
    @@ -732,7 +774,7 @@ public com.google.protobuf.ByteString getDisplayNameBytes() {
        * 
        * One or more paragraphs of text description of this resource. Maximum length
        * could be up to 1M bytes. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `description`:
        * * use a field query. Example: `description:"important instance"`
        * * use a free text query. Example: `"important instance"`
    @@ -760,7 +802,7 @@ public java.lang.String getDescription() {
        * 
        * One or more paragraphs of text description of this resource. Maximum length
        * could be up to 1M bytes. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `description`:
        * * use a field query. Example: `description:"important instance"`
        * * use a free text query. Example: `"important instance"`
    @@ -790,7 +832,7 @@ public com.google.protobuf.ByteString getDescriptionBytes() {
        *
        * 
        * Location can be `global`, regional like `us-east1`, or zonal like
    -   * `us-west1-b`. This field is available only when the resource's proto
    +   * `us-west1-b`. This field is available only when the resource's Protobuf
        * contains it.
        * To search against the `location`:
        * * use a field query. Example: `location:us-west*`
    @@ -818,7 +860,7 @@ public java.lang.String getLocation() {
        *
        * 
        * Location can be `global`, regional like `us-east1`, or zonal like
    -   * `us-west1-b`. This field is available only when the resource's proto
    +   * `us-west1-b`. This field is available only when the resource's Protobuf
        * contains it.
        * To search against the `location`:
        * * use a field query. Example: `location:us-west*`
    @@ -874,7 +916,7 @@ public int getLabelsCount() {
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -905,7 +947,7 @@ public java.util.Map getLabels() {
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -927,7 +969,7 @@ public java.util.Map getLabelsMap() {
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -953,7 +995,7 @@ public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.Strin
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -986,7 +1028,7 @@ public java.lang.String getLabelsOrThrow(java.lang.String key) {
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -1007,7 +1049,7 @@ public com.google.protobuf.ProtocolStringList getNetworkTagsList() {
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -1028,7 +1070,7 @@ public int getNetworkTagsCount() {
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -1050,7 +1092,7 @@ public java.lang.String getNetworkTags(int index) {
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -1072,10 +1114,11 @@ public com.google.protobuf.ByteString getNetworkTagsBytes(int index) {
        *
        * 
        * The Cloud KMS
    -   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
        * name or
    -   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -   * name. This field is available only when the resource's proto contains it.
    +   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +   * name. This field is available only when the resource's Protobuf contains
    +   * it.
        * To search against the `kms_key`:
        * * use a field query. Example: `kmsKey:key`
        * * use a free text query. Example: `key`
    @@ -1102,10 +1145,11 @@ public java.lang.String getKmsKey() {
        *
        * 
        * The Cloud KMS
    -   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
        * name or
    -   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -   * name. This field is available only when the resource's proto contains it.
    +   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +   * name. This field is available only when the resource's Protobuf contains
    +   * it.
        * To search against the `kms_key`:
        * * use a field query. Example: `kmsKey:key`
        * * use a free text query. Example: `key`
    @@ -1136,7 +1180,7 @@ public com.google.protobuf.ByteString getKmsKeyBytes() {
        * 
        * The create timestamp of this resource, at which the resource was created.
        * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -   * is available only when the resource's proto contains it.
    +   * is available only when the resource's Protobuf contains it.
        * To search against `create_time`:
        * * use a field query.
        *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -1159,7 +1203,7 @@ public boolean hasCreateTime() {
        * 
        * The create timestamp of this resource, at which the resource was created.
        * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -   * is available only when the resource's proto contains it.
    +   * is available only when the resource's Protobuf contains it.
        * To search against `create_time`:
        * * use a field query.
        *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -1182,7 +1226,7 @@ public com.google.protobuf.Timestamp getCreateTime() {
        * 
        * The create timestamp of this resource, at which the resource was created.
        * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -   * is available only when the resource's proto contains it.
    +   * is available only when the resource's Protobuf contains it.
        * To search against `create_time`:
        * * use a field query.
        *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -1206,7 +1250,7 @@ public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
        * 
        * The last update timestamp of this resource, at which the resource was last
        * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -   * always be 0. This field is available only when the resource's proto
    +   * always be 0. This field is available only when the resource's Protobuf
        * contains it.
        * To search against `update_time`:
        * * use a field query.
    @@ -1230,7 +1274,7 @@ public boolean hasUpdateTime() {
        * 
        * The last update timestamp of this resource, at which the resource was last
        * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -   * always be 0. This field is available only when the resource's proto
    +   * always be 0. This field is available only when the resource's Protobuf
        * contains it.
        * To search against `update_time`:
        * * use a field query.
    @@ -1254,7 +1298,7 @@ public com.google.protobuf.Timestamp getUpdateTime() {
        * 
        * The last update timestamp of this resource, at which the resource was last
        * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -   * always be 0. This field is available only when the resource's proto
    +   * always be 0. This field is available only when the resource's Protobuf
        * contains it.
        * To search against `update_time`:
        * * use a field query.
    @@ -1279,7 +1323,8 @@ public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
        * 
        * The state of this resource. Different resources types have different state
        * definitions that are mapped from various fields of different resource
    -   * types. This field is available only when the resource's proto contains it.
    +   * types. This field is available only when the resource's Protobuf contains
    +   * it.
        * Example:
        * If the resource is an instance provided by Compute Engine,
        * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -1317,7 +1362,8 @@ public java.lang.String getState() {
        * 
        * The state of this resource. Different resources types have different state
        * definitions that are mapped from various fields of different resource
    -   * types. This field is available only when the resource's proto contains it.
    +   * types. This field is available only when the resource's Protobuf contains
    +   * it.
        * Example:
        * If the resource is an instance provided by Compute Engine,
        * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -1821,6 +1867,277 @@ public com.google.cloud.asset.v1.RelatedResources getRelationshipsOrThrow(java.l
         return map.get(key);
       }
     
    +  public static final int TAG_KEYS_FIELD_NUMBER = 23;
    +  private com.google.protobuf.LazyStringList tagKeys_;
    +  /**
    +   *
    +   *
    +   * 
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @return A list containing the tagKeys. + */ + public com.google.protobuf.ProtocolStringList getTagKeysList() { + return tagKeys_; + } + /** + * + * + *
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @return The count of tagKeys. + */ + public int getTagKeysCount() { + return tagKeys_.size(); + } + /** + * + * + *
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index of the element to return. + * @return The tagKeys at the given index. + */ + public java.lang.String getTagKeys(int index) { + return tagKeys_.get(index); + } + /** + * + * + *
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index of the value to return. + * @return The bytes of the tagKeys at the given index. + */ + public com.google.protobuf.ByteString getTagKeysBytes(int index) { + return tagKeys_.getByteString(index); + } + + public static final int TAG_VALUES_FIELD_NUMBER = 25; + private com.google.protobuf.LazyStringList tagValues_; + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @return A list containing the tagValues. + */ + public com.google.protobuf.ProtocolStringList getTagValuesList() { + return tagValues_; + } + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @return The count of tagValues. + */ + public int getTagValuesCount() { + return tagValues_.size(); + } + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @param index The index of the element to return. + * @return The tagValues at the given index. + */ + public java.lang.String getTagValues(int index) { + return tagValues_.get(index); + } + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @param index The index of the value to return. + * @return The bytes of the tagValues at the given index. + */ + public com.google.protobuf.ByteString getTagValuesBytes(int index) { + return tagValues_.getByteString(index); + } + + public static final int TAG_VALUE_IDS_FIELD_NUMBER = 26; + private com.google.protobuf.LazyStringList tagValueIds_; + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @return A list containing the tagValueIds. + */ + public com.google.protobuf.ProtocolStringList getTagValueIdsList() { + return tagValueIds_; + } + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @return The count of tagValueIds. + */ + public int getTagValueIdsCount() { + return tagValueIds_.size(); + } + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index of the element to return. + * @return The tagValueIds at the given index. + */ + public java.lang.String getTagValueIds(int index) { + return tagValueIds_.get(index); + } + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index of the value to return. + * @return The bytes of the tagValueIds at the given index. + */ + public com.google.protobuf.ByteString getTagValueIdsBytes(int index) { + return tagValueIds_.getByteString(index); + } + public static final int PARENT_ASSET_TYPE_FIELD_NUMBER = 103; private volatile java.lang.Object parentAssetType_; /** @@ -1949,6 +2266,15 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io } com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( output, internalGetRelationships(), RelationshipsDefaultEntryHolder.defaultEntry, 21); + for (int i = 0; i < tagKeys_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 23, tagKeys_.getRaw(i)); + } + for (int i = 0; i < tagValues_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 25, tagValues_.getRaw(i)); + } + for (int i = 0; i < tagValueIds_.size(); i++) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 26, tagValueIds_.getRaw(i)); + } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentAssetType_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 103, parentAssetType_); } @@ -2046,6 +2372,30 @@ public int getSerializedSize() { .build(); size += com.google.protobuf.CodedOutputStream.computeMessageSize(21, relationships__); } + { + int dataSize = 0; + for (int i = 0; i < tagKeys_.size(); i++) { + dataSize += computeStringSizeNoTag(tagKeys_.getRaw(i)); + } + size += dataSize; + size += 2 * getTagKeysList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < tagValues_.size(); i++) { + dataSize += computeStringSizeNoTag(tagValues_.getRaw(i)); + } + size += dataSize; + size += 2 * getTagValuesList().size(); + } + { + int dataSize = 0; + for (int i = 0; i < tagValueIds_.size(); i++) { + dataSize += computeStringSizeNoTag(tagValueIds_.getRaw(i)); + } + size += dataSize; + size += 2 * getTagValueIdsList().size(); + } if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(parentAssetType_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(103, parentAssetType_); } @@ -2093,6 +2443,9 @@ public boolean equals(final java.lang.Object obj) { if (!getVersionedResourcesList().equals(other.getVersionedResourcesList())) return false; if (!getAttachedResourcesList().equals(other.getAttachedResourcesList())) return false; if (!internalGetRelationships().equals(other.internalGetRelationships())) return false; + if (!getTagKeysList().equals(other.getTagKeysList())) return false; + if (!getTagValuesList().equals(other.getTagValuesList())) return false; + if (!getTagValueIdsList().equals(other.getTagValueIdsList())) return false; if (!getParentAssetType().equals(other.getParentAssetType())) return false; if (!unknownFields.equals(other.unknownFields)) return false; return true; @@ -2161,6 +2514,18 @@ public int hashCode() { hash = (37 * hash) + RELATIONSHIPS_FIELD_NUMBER; hash = (53 * hash) + internalGetRelationships().hashCode(); } + if (getTagKeysCount() > 0) { + hash = (37 * hash) + TAG_KEYS_FIELD_NUMBER; + hash = (53 * hash) + getTagKeysList().hashCode(); + } + if (getTagValuesCount() > 0) { + hash = (37 * hash) + TAG_VALUES_FIELD_NUMBER; + hash = (53 * hash) + getTagValuesList().hashCode(); + } + if (getTagValueIdsCount() > 0) { + hash = (37 * hash) + TAG_VALUE_IDS_FIELD_NUMBER; + hash = (53 * hash) + getTagValueIdsList().hashCode(); + } hash = (37 * hash) + PARENT_ASSET_TYPE_FIELD_NUMBER; hash = (53 * hash) + getParentAssetType().hashCode(); hash = (29 * hash) + unknownFields.hashCode(); @@ -2391,6 +2756,12 @@ public Builder clear() { attachedResourcesBuilder_.clear(); } internalGetMutableRelationships().clear(); + tagKeys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + tagValues_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000080); + tagValueIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000100); parentAssetType_ = ""; return this; @@ -2478,6 +2849,21 @@ public com.google.cloud.asset.v1.ResourceSearchResult buildPartial() { } result.relationships_ = internalGetRelationships(); result.relationships_.makeImmutable(); + if (((bitField0_ & 0x00000040) != 0)) { + tagKeys_ = tagKeys_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000040); + } + result.tagKeys_ = tagKeys_; + if (((bitField0_ & 0x00000080) != 0)) { + tagValues_ = tagValues_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000080); + } + result.tagValues_ = tagValues_; + if (((bitField0_ & 0x00000100) != 0)) { + tagValueIds_ = tagValueIds_.getUnmodifiableView(); + bitField0_ = (bitField0_ & ~0x00000100); + } + result.tagValueIds_ = tagValueIds_; result.parentAssetType_ = parentAssetType_; onBuilt(); return result; @@ -2653,6 +3039,36 @@ public Builder mergeFrom(com.google.cloud.asset.v1.ResourceSearchResult other) { } } internalGetMutableRelationships().mergeFrom(other.internalGetRelationships()); + if (!other.tagKeys_.isEmpty()) { + if (tagKeys_.isEmpty()) { + tagKeys_ = other.tagKeys_; + bitField0_ = (bitField0_ & ~0x00000040); + } else { + ensureTagKeysIsMutable(); + tagKeys_.addAll(other.tagKeys_); + } + onChanged(); + } + if (!other.tagValues_.isEmpty()) { + if (tagValues_.isEmpty()) { + tagValues_ = other.tagValues_; + bitField0_ = (bitField0_ & ~0x00000080); + } else { + ensureTagValuesIsMutable(); + tagValues_.addAll(other.tagValues_); + } + onChanged(); + } + if (!other.tagValueIds_.isEmpty()) { + if (tagValueIds_.isEmpty()) { + tagValueIds_ = other.tagValueIds_; + bitField0_ = (bitField0_ & ~0x00000100); + } else { + ensureTagValueIdsIsMutable(); + tagValueIds_.addAll(other.tagValueIds_); + } + onChanged(); + } if (!other.getParentAssetType().isEmpty()) { parentAssetType_ = other.parentAssetType_; onChanged(); @@ -3445,7 +3861,7 @@ public Builder setOrganizationBytes(com.google.protobuf.ByteString value) { * *
          * The display name of this resource. This field is available only when the
    -     * resource's proto contains it.
    +     * resource's Protobuf contains it.
          * To search against the `display_name`:
          * * use a field query. Example: `displayName:"My Instance"`
          * * use a free text query. Example: `"My Instance"`
    @@ -3471,7 +3887,7 @@ public java.lang.String getDisplayName() {
          *
          * 
          * The display name of this resource. This field is available only when the
    -     * resource's proto contains it.
    +     * resource's Protobuf contains it.
          * To search against the `display_name`:
          * * use a field query. Example: `displayName:"My Instance"`
          * * use a free text query. Example: `"My Instance"`
    @@ -3497,7 +3913,7 @@ public com.google.protobuf.ByteString getDisplayNameBytes() {
          *
          * 
          * The display name of this resource. This field is available only when the
    -     * resource's proto contains it.
    +     * resource's Protobuf contains it.
          * To search against the `display_name`:
          * * use a field query. Example: `displayName:"My Instance"`
          * * use a free text query. Example: `"My Instance"`
    @@ -3522,7 +3938,7 @@ public Builder setDisplayName(java.lang.String value) {
          *
          * 
          * The display name of this resource. This field is available only when the
    -     * resource's proto contains it.
    +     * resource's Protobuf contains it.
          * To search against the `display_name`:
          * * use a field query. Example: `displayName:"My Instance"`
          * * use a free text query. Example: `"My Instance"`
    @@ -3543,7 +3959,7 @@ public Builder clearDisplayName() {
          *
          * 
          * The display name of this resource. This field is available only when the
    -     * resource's proto contains it.
    +     * resource's Protobuf contains it.
          * To search against the `display_name`:
          * * use a field query. Example: `displayName:"My Instance"`
          * * use a free text query. Example: `"My Instance"`
    @@ -3572,7 +3988,7 @@ public Builder setDisplayNameBytes(com.google.protobuf.ByteString value) {
          * 
          * One or more paragraphs of text description of this resource. Maximum length
          * could be up to 1M bytes. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `description`:
          * * use a field query. Example: `description:"important instance"`
          * * use a free text query. Example: `"important instance"`
    @@ -3599,7 +4015,7 @@ public java.lang.String getDescription() {
          * 
          * One or more paragraphs of text description of this resource. Maximum length
          * could be up to 1M bytes. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `description`:
          * * use a field query. Example: `description:"important instance"`
          * * use a free text query. Example: `"important instance"`
    @@ -3626,7 +4042,7 @@ public com.google.protobuf.ByteString getDescriptionBytes() {
          * 
          * One or more paragraphs of text description of this resource. Maximum length
          * could be up to 1M bytes. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `description`:
          * * use a field query. Example: `description:"important instance"`
          * * use a free text query. Example: `"important instance"`
    @@ -3652,7 +4068,7 @@ public Builder setDescription(java.lang.String value) {
          * 
          * One or more paragraphs of text description of this resource. Maximum length
          * could be up to 1M bytes. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `description`:
          * * use a field query. Example: `description:"important instance"`
          * * use a free text query. Example: `"important instance"`
    @@ -3674,7 +4090,7 @@ public Builder clearDescription() {
          * 
          * One or more paragraphs of text description of this resource. Maximum length
          * could be up to 1M bytes. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `description`:
          * * use a field query. Example: `description:"important instance"`
          * * use a free text query. Example: `"important instance"`
    @@ -3702,7 +4118,7 @@ public Builder setDescriptionBytes(com.google.protobuf.ByteString value) {
          *
          * 
          * Location can be `global`, regional like `us-east1`, or zonal like
    -     * `us-west1-b`. This field is available only when the resource's proto
    +     * `us-west1-b`. This field is available only when the resource's Protobuf
          * contains it.
          * To search against the `location`:
          * * use a field query. Example: `location:us-west*`
    @@ -3729,7 +4145,7 @@ public java.lang.String getLocation() {
          *
          * 
          * Location can be `global`, regional like `us-east1`, or zonal like
    -     * `us-west1-b`. This field is available only when the resource's proto
    +     * `us-west1-b`. This field is available only when the resource's Protobuf
          * contains it.
          * To search against the `location`:
          * * use a field query. Example: `location:us-west*`
    @@ -3756,7 +4172,7 @@ public com.google.protobuf.ByteString getLocationBytes() {
          *
          * 
          * Location can be `global`, regional like `us-east1`, or zonal like
    -     * `us-west1-b`. This field is available only when the resource's proto
    +     * `us-west1-b`. This field is available only when the resource's Protobuf
          * contains it.
          * To search against the `location`:
          * * use a field query. Example: `location:us-west*`
    @@ -3782,7 +4198,7 @@ public Builder setLocation(java.lang.String value) {
          *
          * 
          * Location can be `global`, regional like `us-east1`, or zonal like
    -     * `us-west1-b`. This field is available only when the resource's proto
    +     * `us-west1-b`. This field is available only when the resource's Protobuf
          * contains it.
          * To search against the `location`:
          * * use a field query. Example: `location:us-west*`
    @@ -3804,7 +4220,7 @@ public Builder clearLocation() {
          *
          * 
          * Location can be `global`, regional like `us-east1`, or zonal like
    -     * `us-west1-b`. This field is available only when the resource's proto
    +     * `us-west1-b`. This field is available only when the resource's Protobuf
          * contains it.
          * To search against the `location`:
          * * use a field query. Example: `location:us-west*`
    @@ -3859,7 +4275,7 @@ public int getLabelsCount() {
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -3890,7 +4306,7 @@ public java.util.Map getLabels() {
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -3912,7 +4328,7 @@ public java.util.Map getLabelsMap() {
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -3939,7 +4355,7 @@ public java.lang.String getLabelsOrDefault(
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -3973,7 +4389,7 @@ public Builder clearLabels() {
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -4003,7 +4419,7 @@ public java.util.Map getMutableLabels() {
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -4032,7 +4448,7 @@ public Builder putLabels(java.lang.String key, java.lang.String value) {
          * Labels associated with this resource. See [Labelling and grouping GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `labels`:
          * * use a field query:
          *     - query on any label's key or value. Example: `labels:prod`
    @@ -4065,7 +4481,7 @@ private void ensureNetworkTagsIsMutable() {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4086,7 +4502,7 @@ public com.google.protobuf.ProtocolStringList getNetworkTagsList() {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4107,7 +4523,7 @@ public int getNetworkTagsCount() {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4129,7 +4545,7 @@ public java.lang.String getNetworkTags(int index) {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4151,7 +4567,7 @@ public com.google.protobuf.ByteString getNetworkTagsBytes(int index) {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4180,7 +4596,7 @@ public Builder setNetworkTags(int index, java.lang.String value) {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4208,7 +4624,7 @@ public Builder addNetworkTags(java.lang.String value) {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4233,7 +4649,7 @@ public Builder addAllNetworkTags(java.lang.Iterable values) {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4257,7 +4673,7 @@ public Builder clearNetworkTags() {
          * type of annotations used to group GCP resources. See [Labelling GCP
          * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
          * for more information. This field is available only when the resource's
    -     * proto contains it.
    +     * Protobuf contains it.
          * To search against the `network_tags`:
          * * use a field query. Example: `networkTags:internal`
          * * use a free text query. Example: `internal`
    @@ -4285,10 +4701,11 @@ public Builder addNetworkTagsBytes(com.google.protobuf.ByteString value) {
          *
          * 
          * The Cloud KMS
    -     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
          * name or
    -     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -     * name. This field is available only when the resource's proto contains it.
    +     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +     * name. This field is available only when the resource's Protobuf contains
    +     * it.
          * To search against the `kms_key`:
          * * use a field query. Example: `kmsKey:key`
          * * use a free text query. Example: `key`
    @@ -4314,10 +4731,11 @@ public java.lang.String getKmsKey() {
          *
          * 
          * The Cloud KMS
    -     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
          * name or
    -     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -     * name. This field is available only when the resource's proto contains it.
    +     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +     * name. This field is available only when the resource's Protobuf contains
    +     * it.
          * To search against the `kms_key`:
          * * use a field query. Example: `kmsKey:key`
          * * use a free text query. Example: `key`
    @@ -4343,10 +4761,11 @@ public com.google.protobuf.ByteString getKmsKeyBytes() {
          *
          * 
          * The Cloud KMS
    -     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
          * name or
    -     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -     * name. This field is available only when the resource's proto contains it.
    +     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +     * name. This field is available only when the resource's Protobuf contains
    +     * it.
          * To search against the `kms_key`:
          * * use a field query. Example: `kmsKey:key`
          * * use a free text query. Example: `key`
    @@ -4371,10 +4790,11 @@ public Builder setKmsKey(java.lang.String value) {
          *
          * 
          * The Cloud KMS
    -     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
          * name or
    -     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -     * name. This field is available only when the resource's proto contains it.
    +     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +     * name. This field is available only when the resource's Protobuf contains
    +     * it.
          * To search against the `kms_key`:
          * * use a field query. Example: `kmsKey:key`
          * * use a free text query. Example: `key`
    @@ -4395,10 +4815,11 @@ public Builder clearKmsKey() {
          *
          * 
          * The Cloud KMS
    -     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +     * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
          * name or
    -     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -     * name. This field is available only when the resource's proto contains it.
    +     * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +     * name. This field is available only when the resource's Protobuf contains
    +     * it.
          * To search against the `kms_key`:
          * * use a field query. Example: `kmsKey:key`
          * * use a free text query. Example: `key`
    @@ -4432,7 +4853,7 @@ public Builder setKmsKeyBytes(com.google.protobuf.ByteString value) {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4454,7 +4875,7 @@ public boolean hasCreateTime() {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4482,7 +4903,7 @@ public com.google.protobuf.Timestamp getCreateTime() {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4512,7 +4933,7 @@ public Builder setCreateTime(com.google.protobuf.Timestamp value) {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4539,7 +4960,7 @@ public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForVal
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4571,7 +4992,7 @@ public Builder mergeCreateTime(com.google.protobuf.Timestamp value) {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4599,7 +5020,7 @@ public Builder clearCreateTime() {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4621,7 +5042,7 @@ public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4647,7 +5068,7 @@ public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
          * 
          * The create timestamp of this resource, at which the resource was created.
          * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -     * is available only when the resource's proto contains it.
    +     * is available only when the resource's Protobuf contains it.
          * To search against `create_time`:
          * * use a field query.
          *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -4687,7 +5108,7 @@ public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4710,7 +5131,7 @@ public boolean hasUpdateTime() {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4739,7 +5160,7 @@ public com.google.protobuf.Timestamp getUpdateTime() {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4770,7 +5191,7 @@ public Builder setUpdateTime(com.google.protobuf.Timestamp value) {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4798,7 +5219,7 @@ public Builder setUpdateTime(com.google.protobuf.Timestamp.Builder builderForVal
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4831,7 +5252,7 @@ public Builder mergeUpdateTime(com.google.protobuf.Timestamp value) {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4860,7 +5281,7 @@ public Builder clearUpdateTime() {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4883,7 +5304,7 @@ public com.google.protobuf.Timestamp.Builder getUpdateTimeBuilder() {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4910,7 +5331,7 @@ public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
          * 
          * The last update timestamp of this resource, at which the resource was last
          * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -     * always be 0. This field is available only when the resource's proto
    +     * always be 0. This field is available only when the resource's Protobuf
          * contains it.
          * To search against `update_time`:
          * * use a field query.
    @@ -4946,7 +5367,8 @@ public com.google.protobuf.TimestampOrBuilder getUpdateTimeOrBuilder() {
          * 
          * The state of this resource. Different resources types have different state
          * definitions that are mapped from various fields of different resource
    -     * types. This field is available only when the resource's proto contains it.
    +     * types. This field is available only when the resource's Protobuf contains
    +     * it.
          * Example:
          * If the resource is an instance provided by Compute Engine,
          * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -4983,7 +5405,8 @@ public java.lang.String getState() {
          * 
          * The state of this resource. Different resources types have different state
          * definitions that are mapped from various fields of different resource
    -     * types. This field is available only when the resource's proto contains it.
    +     * types. This field is available only when the resource's Protobuf contains
    +     * it.
          * Example:
          * If the resource is an instance provided by Compute Engine,
          * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -5020,7 +5443,8 @@ public com.google.protobuf.ByteString getStateBytes() {
          * 
          * The state of this resource. Different resources types have different state
          * definitions that are mapped from various fields of different resource
    -     * types. This field is available only when the resource's proto contains it.
    +     * types. This field is available only when the resource's Protobuf contains
    +     * it.
          * Example:
          * If the resource is an instance provided by Compute Engine,
          * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -5056,7 +5480,8 @@ public Builder setState(java.lang.String value) {
          * 
          * The state of this resource. Different resources types have different state
          * definitions that are mapped from various fields of different resource
    -     * types. This field is available only when the resource's proto contains it.
    +     * types. This field is available only when the resource's Protobuf contains
    +     * it.
          * Example:
          * If the resource is an instance provided by Compute Engine,
          * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -5088,7 +5513,8 @@ public Builder clearState() {
          * 
          * The state of this resource. Different resources types have different state
          * definitions that are mapped from various fields of different resource
    -     * types. This field is available only when the resource's proto contains it.
    +     * types. This field is available only when the resource's Protobuf contains
    +     * it.
          * Example:
          * If the resource is an instance provided by Compute Engine,
          * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -6678,6 +7104,708 @@ public Builder putAllRelationships(
           return this;
         }
     
    +    private com.google.protobuf.LazyStringList tagKeys_ =
    +        com.google.protobuf.LazyStringArrayList.EMPTY;
    +
    +    private void ensureTagKeysIsMutable() {
    +      if (!((bitField0_ & 0x00000040) != 0)) {
    +        tagKeys_ = new com.google.protobuf.LazyStringArrayList(tagKeys_);
    +        bitField0_ |= 0x00000040;
    +      }
    +    }
    +    /**
    +     *
    +     *
    +     * 
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @return A list containing the tagKeys. + */ + public com.google.protobuf.ProtocolStringList getTagKeysList() { + return tagKeys_.getUnmodifiableView(); + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @return The count of tagKeys. + */ + public int getTagKeysCount() { + return tagKeys_.size(); + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index of the element to return. + * @return The tagKeys at the given index. + */ + public java.lang.String getTagKeys(int index) { + return tagKeys_.get(index); + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index of the value to return. + * @return The bytes of the tagKeys at the given index. + */ + public com.google.protobuf.ByteString getTagKeysBytes(int index) { + return tagKeys_.getByteString(index); + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index to set the value at. + * @param value The tagKeys to set. + * @return This builder for chaining. + */ + public Builder setTagKeys(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagKeysIsMutable(); + tagKeys_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @param value The tagKeys to add. + * @return This builder for chaining. + */ + public Builder addTagKeys(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagKeysIsMutable(); + tagKeys_.add(value); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @param values The tagKeys to add. + * @return This builder for chaining. + */ + public Builder addAllTagKeys(java.lang.Iterable values) { + ensureTagKeysIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tagKeys_); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @return This builder for chaining. + */ + public Builder clearTagKeys() { + tagKeys_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000040); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +     * To search against the `tagKeys`:
    +     * * use a field query. Example:
    +     *     - `tagKeys:"123456789/env*"`
    +     *     - `tagKeys="123456789/env"`
    +     *     - `tagKeys:"env"`
    +     * * use a free text query. Example:
    +     *     - `env`
    +     * 
    + * + * repeated string tag_keys = 23; + * + * @param value The bytes of the tagKeys to add. + * @return This builder for chaining. + */ + public Builder addTagKeysBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureTagKeysIsMutable(); + tagKeys_.add(value); + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList tagValues_ = + com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureTagValuesIsMutable() { + if (!((bitField0_ & 0x00000080) != 0)) { + tagValues_ = new com.google.protobuf.LazyStringArrayList(tagValues_); + bitField0_ |= 0x00000080; + } + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @return A list containing the tagValues. + */ + public com.google.protobuf.ProtocolStringList getTagValuesList() { + return tagValues_.getUnmodifiableView(); + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @return The count of tagValues. + */ + public int getTagValuesCount() { + return tagValues_.size(); + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @param index The index of the element to return. + * @return The tagValues at the given index. + */ + public java.lang.String getTagValues(int index) { + return tagValues_.get(index); + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @param index The index of the value to return. + * @return The bytes of the tagValues at the given index. + */ + public com.google.protobuf.ByteString getTagValuesBytes(int index) { + return tagValues_.getByteString(index); + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @param index The index to set the value at. + * @param value The tagValues to set. + * @return This builder for chaining. + */ + public Builder setTagValues(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagValuesIsMutable(); + tagValues_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @param value The tagValues to add. + * @return This builder for chaining. + */ + public Builder addTagValues(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagValuesIsMutable(); + tagValues_.add(value); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @param values The tagValues to add. + * @return This builder for chaining. + */ + public Builder addAllTagValues(java.lang.Iterable values) { + ensureTagValuesIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tagValues_); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @return This builder for chaining. + */ + public Builder clearTagValues() { + tagValues_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000080); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue namespaced names, in the format of
    +     * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +     * To search against the `tagValues`:
    +     * * use a field query. Example:
    +     *     - `tagValues:"env"`
    +     *     - `tagValues:"env/prod"`
    +     *     - `tagValues:"123456789/env/prod*"`
    +     *     - `tagValues="123456789/env/prod"`
    +     * * use a free text query. Example:
    +     *     - `prod`
    +     * 
    + * + * repeated string tag_values = 25; + * + * @param value The bytes of the tagValues to add. + * @return This builder for chaining. + */ + public Builder addTagValuesBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureTagValuesIsMutable(); + tagValues_.add(value); + onChanged(); + return this; + } + + private com.google.protobuf.LazyStringList tagValueIds_ = + com.google.protobuf.LazyStringArrayList.EMPTY; + + private void ensureTagValueIdsIsMutable() { + if (!((bitField0_ & 0x00000100) != 0)) { + tagValueIds_ = new com.google.protobuf.LazyStringArrayList(tagValueIds_); + bitField0_ |= 0x00000100; + } + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @return A list containing the tagValueIds. + */ + public com.google.protobuf.ProtocolStringList getTagValueIdsList() { + return tagValueIds_.getUnmodifiableView(); + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @return The count of tagValueIds. + */ + public int getTagValueIdsCount() { + return tagValueIds_.size(); + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index of the element to return. + * @return The tagValueIds at the given index. + */ + public java.lang.String getTagValueIds(int index) { + return tagValueIds_.get(index); + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index of the value to return. + * @return The bytes of the tagValueIds at the given index. + */ + public com.google.protobuf.ByteString getTagValueIdsBytes(int index) { + return tagValueIds_.getByteString(index); + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index to set the value at. + * @param value The tagValueIds to set. + * @return This builder for chaining. + */ + public Builder setTagValueIds(int index, java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagValueIdsIsMutable(); + tagValueIds_.set(index, value); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @param value The tagValueIds to add. + * @return This builder for chaining. + */ + public Builder addTagValueIds(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + ensureTagValueIdsIsMutable(); + tagValueIds_.add(value); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @param values The tagValueIds to add. + * @return This builder for chaining. + */ + public Builder addAllTagValueIds(java.lang.Iterable values) { + ensureTagValueIdsIsMutable(); + com.google.protobuf.AbstractMessageLite.Builder.addAll(values, tagValueIds_); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @return This builder for chaining. + */ + public Builder clearTagValueIds() { + tagValueIds_ = com.google.protobuf.LazyStringArrayList.EMPTY; + bitField0_ = (bitField0_ & ~0x00000100); + onChanged(); + return this; + } + /** + * + * + *
    +     * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +     * To search against the `tagValueIds`:
    +     * * use a field query. Example:
    +     *     - `tagValueIds:"456"`
    +     *     - `tagValueIds="tagValues/456"`
    +     * * use a free text query. Example:
    +     *     - `456`
    +     * 
    + * + * repeated string tag_value_ids = 26; + * + * @param value The bytes of the tagValueIds to add. + * @return This builder for chaining. + */ + public Builder addTagValueIdsBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + ensureTagValueIdsIsMutable(); + tagValueIds_.add(value); + onChanged(); + return this; + } + private java.lang.Object parentAssetType_ = ""; /** * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResultOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResultOrBuilder.java index d2ca2167e73..5ab43ef5d8b 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResultOrBuilder.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/ResourceSearchResultOrBuilder.java @@ -245,7 +245,7 @@ public interface ResourceSearchResultOrBuilder * *
        * The display name of this resource. This field is available only when the
    -   * resource's proto contains it.
    +   * resource's Protobuf contains it.
        * To search against the `display_name`:
        * * use a field query. Example: `displayName:"My Instance"`
        * * use a free text query. Example: `"My Instance"`
    @@ -261,7 +261,7 @@ public interface ResourceSearchResultOrBuilder
        *
        * 
        * The display name of this resource. This field is available only when the
    -   * resource's proto contains it.
    +   * resource's Protobuf contains it.
        * To search against the `display_name`:
        * * use a field query. Example: `displayName:"My Instance"`
        * * use a free text query. Example: `"My Instance"`
    @@ -279,7 +279,7 @@ public interface ResourceSearchResultOrBuilder
        * 
        * One or more paragraphs of text description of this resource. Maximum length
        * could be up to 1M bytes. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `description`:
        * * use a field query. Example: `description:"important instance"`
        * * use a free text query. Example: `"important instance"`
    @@ -296,7 +296,7 @@ public interface ResourceSearchResultOrBuilder
        * 
        * One or more paragraphs of text description of this resource. Maximum length
        * could be up to 1M bytes. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `description`:
        * * use a field query. Example: `description:"important instance"`
        * * use a free text query. Example: `"important instance"`
    @@ -313,7 +313,7 @@ public interface ResourceSearchResultOrBuilder
        *
        * 
        * Location can be `global`, regional like `us-east1`, or zonal like
    -   * `us-west1-b`. This field is available only when the resource's proto
    +   * `us-west1-b`. This field is available only when the resource's Protobuf
        * contains it.
        * To search against the `location`:
        * * use a field query. Example: `location:us-west*`
    @@ -330,7 +330,7 @@ public interface ResourceSearchResultOrBuilder
        *
        * 
        * Location can be `global`, regional like `us-east1`, or zonal like
    -   * `us-west1-b`. This field is available only when the resource's proto
    +   * `us-west1-b`. This field is available only when the resource's Protobuf
        * contains it.
        * To search against the `location`:
        * * use a field query. Example: `location:us-west*`
    @@ -350,7 +350,7 @@ public interface ResourceSearchResultOrBuilder
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -369,7 +369,7 @@ public interface ResourceSearchResultOrBuilder
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -391,7 +391,7 @@ public interface ResourceSearchResultOrBuilder
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -410,7 +410,7 @@ public interface ResourceSearchResultOrBuilder
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -434,7 +434,7 @@ java.lang.String getLabelsOrDefault(
        * Labels associated with this resource. See [Labelling and grouping GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `labels`:
        * * use a field query:
        *     - query on any label's key or value. Example: `labels:prod`
    @@ -455,7 +455,7 @@ java.lang.String getLabelsOrDefault(
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -474,7 +474,7 @@ java.lang.String getLabelsOrDefault(
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -493,7 +493,7 @@ java.lang.String getLabelsOrDefault(
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -513,7 +513,7 @@ java.lang.String getLabelsOrDefault(
        * type of annotations used to group GCP resources. See [Labelling GCP
        * resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources)
        * for more information. This field is available only when the resource's
    -   * proto contains it.
    +   * Protobuf contains it.
        * To search against the `network_tags`:
        * * use a field query. Example: `networkTags:internal`
        * * use a free text query. Example: `internal`
    @@ -531,10 +531,11 @@ java.lang.String getLabelsOrDefault(
        *
        * 
        * The Cloud KMS
    -   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
        * name or
    -   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -   * name. This field is available only when the resource's proto contains it.
    +   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +   * name. This field is available only when the resource's Protobuf contains
    +   * it.
        * To search against the `kms_key`:
        * * use a field query. Example: `kmsKey:key`
        * * use a free text query. Example: `key`
    @@ -550,10 +551,11 @@ java.lang.String getLabelsOrDefault(
        *
        * 
        * The Cloud KMS
    -   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en)
    +   * [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys)
        * name or
    -   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en)
    -   * name. This field is available only when the resource's proto contains it.
    +   * [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions)
    +   * name. This field is available only when the resource's Protobuf contains
    +   * it.
        * To search against the `kms_key`:
        * * use a field query. Example: `kmsKey:key`
        * * use a free text query. Example: `key`
    @@ -571,7 +573,7 @@ java.lang.String getLabelsOrDefault(
        * 
        * The create timestamp of this resource, at which the resource was created.
        * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -   * is available only when the resource's proto contains it.
    +   * is available only when the resource's Protobuf contains it.
        * To search against `create_time`:
        * * use a field query.
        *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -591,7 +593,7 @@ java.lang.String getLabelsOrDefault(
        * 
        * The create timestamp of this resource, at which the resource was created.
        * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -   * is available only when the resource's proto contains it.
    +   * is available only when the resource's Protobuf contains it.
        * To search against `create_time`:
        * * use a field query.
        *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -611,7 +613,7 @@ java.lang.String getLabelsOrDefault(
        * 
        * The create timestamp of this resource, at which the resource was created.
        * The granularity is in seconds. Timestamp.nanos will always be 0. This field
    -   * is available only when the resource's proto contains it.
    +   * is available only when the resource's Protobuf contains it.
        * To search against `create_time`:
        * * use a field query.
        *     - value in seconds since unix epoch. Example: `createTime > 1609459200`
    @@ -630,7 +632,7 @@ java.lang.String getLabelsOrDefault(
        * 
        * The last update timestamp of this resource, at which the resource was last
        * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -   * always be 0. This field is available only when the resource's proto
    +   * always be 0. This field is available only when the resource's Protobuf
        * contains it.
        * To search against `update_time`:
        * * use a field query.
    @@ -651,7 +653,7 @@ java.lang.String getLabelsOrDefault(
        * 
        * The last update timestamp of this resource, at which the resource was last
        * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -   * always be 0. This field is available only when the resource's proto
    +   * always be 0. This field is available only when the resource's Protobuf
        * contains it.
        * To search against `update_time`:
        * * use a field query.
    @@ -672,7 +674,7 @@ java.lang.String getLabelsOrDefault(
        * 
        * The last update timestamp of this resource, at which the resource was last
        * modified or deleted. The granularity is in seconds. Timestamp.nanos will
    -   * always be 0. This field is available only when the resource's proto
    +   * always be 0. This field is available only when the resource's Protobuf
        * contains it.
        * To search against `update_time`:
        * * use a field query.
    @@ -692,7 +694,8 @@ java.lang.String getLabelsOrDefault(
        * 
        * The state of this resource. Different resources types have different state
        * definitions that are mapped from various fields of different resource
    -   * types. This field is available only when the resource's proto contains it.
    +   * types. This field is available only when the resource's Protobuf contains
    +   * it.
        * Example:
        * If the resource is an instance provided by Compute Engine,
        * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -719,7 +722,8 @@ java.lang.String getLabelsOrDefault(
        * 
        * The state of this resource. Different resources types have different state
        * definitions that are mapped from various fields of different resource
    -   * types. This field is available only when the resource's proto contains it.
    +   * types. This field is available only when the resource's Protobuf contains
    +   * it.
        * Example:
        * If the resource is an instance provided by Compute Engine,
        * its state will include PROVISIONING, STAGING, RUNNING, STOPPING,
    @@ -1094,6 +1098,247 @@ com.google.cloud.asset.v1.RelatedResources getRelationshipsOrDefault(
        */
       com.google.cloud.asset.v1.RelatedResources getRelationshipsOrThrow(java.lang.String key);
     
    +  /**
    +   *
    +   *
    +   * 
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @return A list containing the tagKeys. + */ + java.util.List getTagKeysList(); + /** + * + * + *
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @return The count of tagKeys. + */ + int getTagKeysCount(); + /** + * + * + *
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index of the element to return. + * @return The tagKeys at the given index. + */ + java.lang.String getTagKeys(int index); + /** + * + * + *
    +   * TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}.
    +   * To search against the `tagKeys`:
    +   * * use a field query. Example:
    +   *     - `tagKeys:"123456789/env*"`
    +   *     - `tagKeys="123456789/env"`
    +   *     - `tagKeys:"env"`
    +   * * use a free text query. Example:
    +   *     - `env`
    +   * 
    + * + * repeated string tag_keys = 23; + * + * @param index The index of the value to return. + * @return The bytes of the tagKeys at the given index. + */ + com.google.protobuf.ByteString getTagKeysBytes(int index); + + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @return A list containing the tagValues. + */ + java.util.List getTagValuesList(); + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @return The count of tagValues. + */ + int getTagValuesCount(); + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @param index The index of the element to return. + * @return The tagValues at the given index. + */ + java.lang.String getTagValues(int index); + /** + * + * + *
    +   * TagValue namespaced names, in the format of
    +   * {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}.
    +   * To search against the `tagValues`:
    +   * * use a field query. Example:
    +   *     - `tagValues:"env"`
    +   *     - `tagValues:"env/prod"`
    +   *     - `tagValues:"123456789/env/prod*"`
    +   *     - `tagValues="123456789/env/prod"`
    +   * * use a free text query. Example:
    +   *     - `prod`
    +   * 
    + * + * repeated string tag_values = 25; + * + * @param index The index of the value to return. + * @return The bytes of the tagValues at the given index. + */ + com.google.protobuf.ByteString getTagValuesBytes(int index); + + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @return A list containing the tagValueIds. + */ + java.util.List getTagValueIdsList(); + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @return The count of tagValueIds. + */ + int getTagValueIdsCount(); + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index of the element to return. + * @return The tagValueIds at the given index. + */ + java.lang.String getTagValueIds(int index); + /** + * + * + *
    +   * TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}.
    +   * To search against the `tagValueIds`:
    +   * * use a field query. Example:
    +   *     - `tagValueIds:"456"`
    +   *     - `tagValueIds="tagValues/456"`
    +   * * use a free text query. Example:
    +   *     - `456`
    +   * 
    + * + * repeated string tag_value_ids = 26; + * + * @param index The index of the value to return. + * @return The bytes of the tagValueIds at the given index. + */ + com.google.protobuf.ByteString getTagValueIdsBytes(int index); + /** * * diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQuery.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQuery.java new file mode 100644 index 00000000000..68a2b9c59ab --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQuery.java @@ -0,0 +1,3375 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +/** + * + * + *
    + * A saved query which can be shared with others or used later.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.SavedQuery} + */ +public final class SavedQuery extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.SavedQuery) + SavedQueryOrBuilder { + private static final long serialVersionUID = 0L; + // Use SavedQuery.newBuilder() to construct. + private SavedQuery(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private SavedQuery() { + name_ = ""; + description_ = ""; + creator_ = ""; + lastUpdater_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new SavedQuery(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private SavedQuery( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + int mutable_bitField0_ = 0; + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + name_ = s; + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + description_ = s; + break; + } + case 26: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (createTime_ != null) { + subBuilder = createTime_.toBuilder(); + } + createTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(createTime_); + createTime_ = subBuilder.buildPartial(); + } + + break; + } + case 34: + { + java.lang.String s = input.readStringRequireUtf8(); + + creator_ = s; + break; + } + case 42: + { + com.google.protobuf.Timestamp.Builder subBuilder = null; + if (lastUpdateTime_ != null) { + subBuilder = lastUpdateTime_.toBuilder(); + } + lastUpdateTime_ = + input.readMessage(com.google.protobuf.Timestamp.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(lastUpdateTime_); + lastUpdateTime_ = subBuilder.buildPartial(); + } + + break; + } + case 50: + { + java.lang.String s = input.readStringRequireUtf8(); + + lastUpdater_ = s; + break; + } + case 58: + { + if (!((mutable_bitField0_ & 0x00000001) != 0)) { + labels_ = + com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry); + mutable_bitField0_ |= 0x00000001; + } + com.google.protobuf.MapEntry labels__ = + input.readMessage( + LabelsDefaultEntryHolder.defaultEntry.getParserForType(), extensionRegistry); + labels_.getMutableMap().put(labels__.getKey(), labels__.getValue()); + break; + } + case 66: + { + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder subBuilder = null; + if (content_ != null) { + subBuilder = content_.toBuilder(); + } + content_ = + input.readMessage( + com.google.cloud.asset.v1.SavedQuery.QueryContent.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(content_); + content_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + @java.lang.Override + protected com.google.protobuf.MapField internalGetMapField(int number) { + switch (number) { + case 7: + return internalGetLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.SavedQuery.class, + com.google.cloud.asset.v1.SavedQuery.Builder.class); + } + + public interface QueryContentOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.SavedQuery.QueryContent) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +     * An IAM Policy Analysis query, which could be used in
    +     * the
    +     * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +     * rpc or the
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc.
    +     * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + * + * @return Whether the iamPolicyAnalysisQuery field is set. + */ + boolean hasIamPolicyAnalysisQuery(); + /** + * + * + *
    +     * An IAM Policy Analysis query, which could be used in
    +     * the
    +     * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +     * rpc or the
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc.
    +     * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + * + * @return The iamPolicyAnalysisQuery. + */ + com.google.cloud.asset.v1.IamPolicyAnalysisQuery getIamPolicyAnalysisQuery(); + /** + * + * + *
    +     * An IAM Policy Analysis query, which could be used in
    +     * the
    +     * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +     * rpc or the
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc.
    +     * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder getIamPolicyAnalysisQueryOrBuilder(); + + public com.google.cloud.asset.v1.SavedQuery.QueryContent.QueryContentCase getQueryContentCase(); + } + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.SavedQuery.QueryContent} + */ + public static final class QueryContent extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.SavedQuery.QueryContent) + QueryContentOrBuilder { + private static final long serialVersionUID = 0L; + // Use QueryContent.newBuilder() to construct. + private QueryContent(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private QueryContent() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new QueryContent(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private QueryContent( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.Builder subBuilder = null; + if (queryContentCase_ == 1) { + subBuilder = + ((com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_) + .toBuilder(); + } + queryContent_ = + input.readMessage( + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom( + (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_); + queryContent_ = subBuilder.buildPartial(); + } + queryContentCase_ = 1; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.SavedQuery.QueryContent.class, + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder.class); + } + + private int queryContentCase_ = 0; + private java.lang.Object queryContent_; + + public enum QueryContentCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + IAM_POLICY_ANALYSIS_QUERY(1), + QUERYCONTENT_NOT_SET(0); + private final int value; + + private QueryContentCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static QueryContentCase valueOf(int value) { + return forNumber(value); + } + + public static QueryContentCase forNumber(int value) { + switch (value) { + case 1: + return IAM_POLICY_ANALYSIS_QUERY; + case 0: + return QUERYCONTENT_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public QueryContentCase getQueryContentCase() { + return QueryContentCase.forNumber(queryContentCase_); + } + + public static final int IAM_POLICY_ANALYSIS_QUERY_FIELD_NUMBER = 1; + /** + * + * + *
    +     * An IAM Policy Analysis query, which could be used in
    +     * the
    +     * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +     * rpc or the
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc.
    +     * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + * + * @return Whether the iamPolicyAnalysisQuery field is set. + */ + @java.lang.Override + public boolean hasIamPolicyAnalysisQuery() { + return queryContentCase_ == 1; + } + /** + * + * + *
    +     * An IAM Policy Analysis query, which could be used in
    +     * the
    +     * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +     * rpc or the
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc.
    +     * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + * + * @return The iamPolicyAnalysisQuery. + */ + @java.lang.Override + public com.google.cloud.asset.v1.IamPolicyAnalysisQuery getIamPolicyAnalysisQuery() { + if (queryContentCase_ == 1) { + return (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_; + } + return com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance(); + } + /** + * + * + *
    +     * An IAM Policy Analysis query, which could be used in
    +     * the
    +     * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +     * rpc or the
    +     * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +     * rpc.
    +     * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + @java.lang.Override + public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder + getIamPolicyAnalysisQueryOrBuilder() { + if (queryContentCase_ == 1) { + return (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_; + } + return com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance(); + } + + 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 (queryContentCase_ == 1) { + output.writeMessage(1, (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (queryContentCase_ == 1) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 1, (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_); + } + size += unknownFields.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.asset.v1.SavedQuery.QueryContent)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.SavedQuery.QueryContent other = + (com.google.cloud.asset.v1.SavedQuery.QueryContent) obj; + + if (!getQueryContentCase().equals(other.getQueryContentCase())) return false; + switch (queryContentCase_) { + case 1: + if (!getIamPolicyAnalysisQuery().equals(other.getIamPolicyAnalysisQuery())) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (queryContentCase_) { + case 1: + hash = (37 * hash) + IAM_POLICY_ANALYSIS_QUERY_FIELD_NUMBER; + hash = (53 * hash) + getIamPolicyAnalysisQuery().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent 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.asset.v1.SavedQuery.QueryContent parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent 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.asset.v1.SavedQuery.QueryContent parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.SavedQuery.QueryContent 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * Protobuf type {@code google.cloud.asset.v1.SavedQuery.QueryContent} + */ + public static final class Builder + extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.SavedQuery.QueryContent) + com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.SavedQuery.QueryContent.class, + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.SavedQuery.QueryContent.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + queryContentCase_ = 0; + queryContent_ = null; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_QueryContent_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery.QueryContent getDefaultInstanceForType() { + return com.google.cloud.asset.v1.SavedQuery.QueryContent.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery.QueryContent build() { + com.google.cloud.asset.v1.SavedQuery.QueryContent result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery.QueryContent buildPartial() { + com.google.cloud.asset.v1.SavedQuery.QueryContent result = + new com.google.cloud.asset.v1.SavedQuery.QueryContent(this); + if (queryContentCase_ == 1) { + if (iamPolicyAnalysisQueryBuilder_ == null) { + result.queryContent_ = queryContent_; + } else { + result.queryContent_ = iamPolicyAnalysisQueryBuilder_.build(); + } + } + result.queryContentCase_ = queryContentCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, + int index, + java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.SavedQuery.QueryContent) { + return mergeFrom((com.google.cloud.asset.v1.SavedQuery.QueryContent) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.SavedQuery.QueryContent other) { + if (other == com.google.cloud.asset.v1.SavedQuery.QueryContent.getDefaultInstance()) + return this; + switch (other.getQueryContentCase()) { + case IAM_POLICY_ANALYSIS_QUERY: + { + mergeIamPolicyAnalysisQuery(other.getIamPolicyAnalysisQuery()); + break; + } + case QUERYCONTENT_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.SavedQuery.QueryContent parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.SavedQuery.QueryContent) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int queryContentCase_ = 0; + private java.lang.Object queryContent_; + + public QueryContentCase getQueryContentCase() { + return QueryContentCase.forNumber(queryContentCase_); + } + + public Builder clearQueryContent() { + queryContentCase_ = 0; + queryContent_ = null; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.IamPolicyAnalysisQuery, + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.Builder, + com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder> + iamPolicyAnalysisQueryBuilder_; + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + * + * @return Whether the iamPolicyAnalysisQuery field is set. + */ + @java.lang.Override + public boolean hasIamPolicyAnalysisQuery() { + return queryContentCase_ == 1; + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + * + * @return The iamPolicyAnalysisQuery. + */ + @java.lang.Override + public com.google.cloud.asset.v1.IamPolicyAnalysisQuery getIamPolicyAnalysisQuery() { + if (iamPolicyAnalysisQueryBuilder_ == null) { + if (queryContentCase_ == 1) { + return (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_; + } + return com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance(); + } else { + if (queryContentCase_ == 1) { + return iamPolicyAnalysisQueryBuilder_.getMessage(); + } + return com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance(); + } + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + public Builder setIamPolicyAnalysisQuery( + com.google.cloud.asset.v1.IamPolicyAnalysisQuery value) { + if (iamPolicyAnalysisQueryBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + queryContent_ = value; + onChanged(); + } else { + iamPolicyAnalysisQueryBuilder_.setMessage(value); + } + queryContentCase_ = 1; + return this; + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + public Builder setIamPolicyAnalysisQuery( + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.Builder builderForValue) { + if (iamPolicyAnalysisQueryBuilder_ == null) { + queryContent_ = builderForValue.build(); + onChanged(); + } else { + iamPolicyAnalysisQueryBuilder_.setMessage(builderForValue.build()); + } + queryContentCase_ = 1; + return this; + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + public Builder mergeIamPolicyAnalysisQuery( + com.google.cloud.asset.v1.IamPolicyAnalysisQuery value) { + if (iamPolicyAnalysisQueryBuilder_ == null) { + if (queryContentCase_ == 1 + && queryContent_ + != com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance()) { + queryContent_ = + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.newBuilder( + (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_) + .mergeFrom(value) + .buildPartial(); + } else { + queryContent_ = value; + } + onChanged(); + } else { + if (queryContentCase_ == 1) { + iamPolicyAnalysisQueryBuilder_.mergeFrom(value); + } else { + iamPolicyAnalysisQueryBuilder_.setMessage(value); + } + } + queryContentCase_ = 1; + return this; + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + public Builder clearIamPolicyAnalysisQuery() { + if (iamPolicyAnalysisQueryBuilder_ == null) { + if (queryContentCase_ == 1) { + queryContentCase_ = 0; + queryContent_ = null; + onChanged(); + } + } else { + if (queryContentCase_ == 1) { + queryContentCase_ = 0; + queryContent_ = null; + } + iamPolicyAnalysisQueryBuilder_.clear(); + } + return this; + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + public com.google.cloud.asset.v1.IamPolicyAnalysisQuery.Builder + getIamPolicyAnalysisQueryBuilder() { + return getIamPolicyAnalysisQueryFieldBuilder().getBuilder(); + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + @java.lang.Override + public com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder + getIamPolicyAnalysisQueryOrBuilder() { + if ((queryContentCase_ == 1) && (iamPolicyAnalysisQueryBuilder_ != null)) { + return iamPolicyAnalysisQueryBuilder_.getMessageOrBuilder(); + } else { + if (queryContentCase_ == 1) { + return (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_; + } + return com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance(); + } + } + /** + * + * + *
    +       * An IAM Policy Analysis query, which could be used in
    +       * the
    +       * [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]
    +       * rpc or the
    +       * [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]
    +       * rpc.
    +       * 
    + * + * .google.cloud.asset.v1.IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.IamPolicyAnalysisQuery, + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.Builder, + com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder> + getIamPolicyAnalysisQueryFieldBuilder() { + if (iamPolicyAnalysisQueryBuilder_ == null) { + if (!(queryContentCase_ == 1)) { + queryContent_ = com.google.cloud.asset.v1.IamPolicyAnalysisQuery.getDefaultInstance(); + } + iamPolicyAnalysisQueryBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.IamPolicyAnalysisQuery, + com.google.cloud.asset.v1.IamPolicyAnalysisQuery.Builder, + com.google.cloud.asset.v1.IamPolicyAnalysisQueryOrBuilder>( + (com.google.cloud.asset.v1.IamPolicyAnalysisQuery) queryContent_, + getParentForChildren(), + isClean()); + queryContent_ = null; + } + queryContentCase_ = 1; + onChanged(); + ; + return iamPolicyAnalysisQueryBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.SavedQuery.QueryContent) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.SavedQuery.QueryContent) + private static final com.google.cloud.asset.v1.SavedQuery.QueryContent DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.SavedQuery.QueryContent(); + } + + public static com.google.cloud.asset.v1.SavedQuery.QueryContent getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public QueryContent parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new QueryContent(input, extensionRegistry); + } + }; + + 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.asset.v1.SavedQuery.QueryContent getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } + } + + public static final int NAME_FIELD_NUMBER = 1; + private volatile java.lang.Object name_; + /** + * + * + *
    +   * The resource name of the saved query. The format must be:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * string name = 1; + * + * @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; + } + } + /** + * + * + *
    +   * The resource name of the saved query. The format must be:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * string name = 1; + * + * @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 DESCRIPTION_FIELD_NUMBER = 2; + private volatile java.lang.Object description_; + /** + * + * + *
    +   * The description of this saved query. This value should be fewer than 255
    +   * characters.
    +   * 
    + * + * string description = 2; + * + * @return The description. + */ + @java.lang.Override + public java.lang.String getDescription() { + java.lang.Object ref = description_; + 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(); + description_ = s; + return s; + } + } + /** + * + * + *
    +   * The description of this saved query. This value should be fewer than 255
    +   * characters.
    +   * 
    + * + * string description = 2; + * + * @return The bytes for description. + */ + @java.lang.Override + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int CREATE_TIME_FIELD_NUMBER = 3; + private com.google.protobuf.Timestamp createTime_; + /** + * + * + *
    +   * Output only. The create time of this saved query.
    +   * 
    + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + @java.lang.Override + public boolean hasCreateTime() { + return createTime_ != null; + } + /** + * + * + *
    +   * Output only. The create time of this saved query.
    +   * 
    + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getCreateTime() { + return createTime_ == null ? com.google.protobuf.Timestamp.getDefaultInstance() : createTime_; + } + /** + * + * + *
    +   * Output only. The create time of this saved query.
    +   * 
    + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + return getCreateTime(); + } + + public static final int CREATOR_FIELD_NUMBER = 4; + private volatile java.lang.Object creator_; + /** + * + * + *
    +   * Output only. The account's email address who has created this saved query.
    +   * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The creator. + */ + @java.lang.Override + public java.lang.String getCreator() { + java.lang.Object ref = creator_; + 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(); + creator_ = s; + return s; + } + } + /** + * + * + *
    +   * Output only. The account's email address who has created this saved query.
    +   * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for creator. + */ + @java.lang.Override + public com.google.protobuf.ByteString getCreatorBytes() { + java.lang.Object ref = creator_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + creator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LAST_UPDATE_TIME_FIELD_NUMBER = 5; + private com.google.protobuf.Timestamp lastUpdateTime_; + /** + * + * + *
    +   * Output only. The last update time of this saved query.
    +   * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the lastUpdateTime field is set. + */ + @java.lang.Override + public boolean hasLastUpdateTime() { + return lastUpdateTime_ != null; + } + /** + * + * + *
    +   * Output only. The last update time of this saved query.
    +   * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The lastUpdateTime. + */ + @java.lang.Override + public com.google.protobuf.Timestamp getLastUpdateTime() { + return lastUpdateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : lastUpdateTime_; + } + /** + * + * + *
    +   * Output only. The last update time of this saved query.
    +   * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + @java.lang.Override + public com.google.protobuf.TimestampOrBuilder getLastUpdateTimeOrBuilder() { + return getLastUpdateTime(); + } + + public static final int LAST_UPDATER_FIELD_NUMBER = 6; + private volatile java.lang.Object lastUpdater_; + /** + * + * + *
    +   * Output only. The account's email address who has updated this saved query
    +   * most recently.
    +   * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The lastUpdater. + */ + @java.lang.Override + public java.lang.String getLastUpdater() { + java.lang.Object ref = lastUpdater_; + 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(); + lastUpdater_ = s; + return s; + } + } + /** + * + * + *
    +   * Output only. The account's email address who has updated this saved query
    +   * most recently.
    +   * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for lastUpdater. + */ + @java.lang.Override + public com.google.protobuf.ByteString getLastUpdaterBytes() { + java.lang.Object ref = lastUpdater_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + lastUpdater_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LABELS_FIELD_NUMBER = 7; + + private static final class LabelsDefaultEntryHolder { + static final com.google.protobuf.MapEntry defaultEntry = + com.google.protobuf.MapEntry.newDefaultInstance( + com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_LabelsEntry_descriptor, + com.google.protobuf.WireFormat.FieldType.STRING, + "", + com.google.protobuf.WireFormat.FieldType.STRING, + ""); + } + + private com.google.protobuf.MapField labels_; + + private com.google.protobuf.MapField internalGetLabels() { + if (labels_ == null) { + return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry); + } + return labels_; + } + + public int getLabelsCount() { + return internalGetLabels().getMap().size(); + } + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public boolean containsLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetLabels().getMap().containsKey(key); + } + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getLabels() { + return getLabelsMap(); + } + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public java.util.Map getLabelsMap() { + return internalGetLabels().getMap(); + } + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public java.lang.String getLabelsOrDefault(java.lang.String key, java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public java.lang.String getLabelsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public static final int CONTENT_FIELD_NUMBER = 8; + private com.google.cloud.asset.v1.SavedQuery.QueryContent content_; + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + * + * @return Whether the content field is set. + */ + @java.lang.Override + public boolean hasContent() { + return content_ != null; + } + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + * + * @return The content. + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery.QueryContent getContent() { + return content_ == null + ? com.google.cloud.asset.v1.SavedQuery.QueryContent.getDefaultInstance() + : content_; + } + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder getContentOrBuilder() { + return getContent(); + } + + 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.GeneratedMessageV3.isStringEmpty(name_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, name_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_); + } + if (createTime_ != null) { + output.writeMessage(3, getCreateTime()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(creator_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 4, creator_); + } + if (lastUpdateTime_ != null) { + output.writeMessage(5, getLastUpdateTime()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lastUpdater_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 6, lastUpdater_); + } + com.google.protobuf.GeneratedMessageV3.serializeStringMapTo( + output, internalGetLabels(), LabelsDefaultEntryHolder.defaultEntry, 7); + if (content_ != null) { + output.writeMessage(8, getContent()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(name_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, name_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_); + } + if (createTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(3, getCreateTime()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(creator_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, creator_); + } + if (lastUpdateTime_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(5, getLastUpdateTime()); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(lastUpdater_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, lastUpdater_); + } + for (java.util.Map.Entry entry : + internalGetLabels().getMap().entrySet()) { + com.google.protobuf.MapEntry labels__ = + LabelsDefaultEntryHolder.defaultEntry + .newBuilderForType() + .setKey(entry.getKey()) + .setValue(entry.getValue()) + .build(); + size += com.google.protobuf.CodedOutputStream.computeMessageSize(7, labels__); + } + if (content_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(8, getContent()); + } + size += unknownFields.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.asset.v1.SavedQuery)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.SavedQuery other = (com.google.cloud.asset.v1.SavedQuery) obj; + + if (!getName().equals(other.getName())) return false; + if (!getDescription().equals(other.getDescription())) return false; + if (hasCreateTime() != other.hasCreateTime()) return false; + if (hasCreateTime()) { + if (!getCreateTime().equals(other.getCreateTime())) return false; + } + if (!getCreator().equals(other.getCreator())) return false; + if (hasLastUpdateTime() != other.hasLastUpdateTime()) return false; + if (hasLastUpdateTime()) { + if (!getLastUpdateTime().equals(other.getLastUpdateTime())) return false; + } + if (!getLastUpdater().equals(other.getLastUpdater())) return false; + if (!internalGetLabels().equals(other.internalGetLabels())) return false; + if (hasContent() != other.hasContent()) return false; + if (hasContent()) { + if (!getContent().equals(other.getContent())) return false; + } + if (!unknownFields.equals(other.unknownFields)) 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 = (37 * hash) + DESCRIPTION_FIELD_NUMBER; + hash = (53 * hash) + getDescription().hashCode(); + if (hasCreateTime()) { + hash = (37 * hash) + CREATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getCreateTime().hashCode(); + } + hash = (37 * hash) + CREATOR_FIELD_NUMBER; + hash = (53 * hash) + getCreator().hashCode(); + if (hasLastUpdateTime()) { + hash = (37 * hash) + LAST_UPDATE_TIME_FIELD_NUMBER; + hash = (53 * hash) + getLastUpdateTime().hashCode(); + } + hash = (37 * hash) + LAST_UPDATER_FIELD_NUMBER; + hash = (53 * hash) + getLastUpdater().hashCode(); + if (!internalGetLabels().getMap().isEmpty()) { + hash = (37 * hash) + LABELS_FIELD_NUMBER; + hash = (53 * hash) + internalGetLabels().hashCode(); + } + if (hasContent()) { + hash = (37 * hash) + CONTENT_FIELD_NUMBER; + hash = (53 * hash) + getContent().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.SavedQuery parseFrom(java.nio.ByteBuffer data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.SavedQuery 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.asset.v1.SavedQuery parseFrom(com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.SavedQuery 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.asset.v1.SavedQuery parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.SavedQuery parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.SavedQuery parseFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.SavedQuery parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.SavedQuery parseDelimitedFrom(java.io.InputStream input) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.SavedQuery parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.SavedQuery parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.SavedQuery parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.SavedQuery 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * A saved query which can be shared with others or used later.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.SavedQuery} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.SavedQuery) + com.google.cloud.asset.v1.SavedQueryOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_descriptor; + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMapField(int number) { + switch (number) { + case 7: + return internalGetLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @SuppressWarnings({"rawtypes"}) + protected com.google.protobuf.MapField internalGetMutableMapField(int number) { + switch (number) { + case 7: + return internalGetMutableLabels(); + default: + throw new RuntimeException("Invalid map field number: " + number); + } + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.SavedQuery.class, + com.google.cloud.asset.v1.SavedQuery.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.SavedQuery.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + name_ = ""; + + description_ = ""; + + if (createTimeBuilder_ == null) { + createTime_ = null; + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + creator_ = ""; + + if (lastUpdateTimeBuilder_ == null) { + lastUpdateTime_ = null; + } else { + lastUpdateTime_ = null; + lastUpdateTimeBuilder_ = null; + } + lastUpdater_ = ""; + + internalGetMutableLabels().clear(); + if (contentBuilder_ == null) { + content_ = null; + } else { + content_ = null; + contentBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_SavedQuery_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery getDefaultInstanceForType() { + return com.google.cloud.asset.v1.SavedQuery.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery build() { + com.google.cloud.asset.v1.SavedQuery result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery buildPartial() { + com.google.cloud.asset.v1.SavedQuery result = new com.google.cloud.asset.v1.SavedQuery(this); + int from_bitField0_ = bitField0_; + result.name_ = name_; + result.description_ = description_; + if (createTimeBuilder_ == null) { + result.createTime_ = createTime_; + } else { + result.createTime_ = createTimeBuilder_.build(); + } + result.creator_ = creator_; + if (lastUpdateTimeBuilder_ == null) { + result.lastUpdateTime_ = lastUpdateTime_; + } else { + result.lastUpdateTime_ = lastUpdateTimeBuilder_.build(); + } + result.lastUpdater_ = lastUpdater_; + result.labels_ = internalGetLabels(); + result.labels_.makeImmutable(); + if (contentBuilder_ == null) { + result.content_ = content_; + } else { + result.content_ = contentBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.SavedQuery) { + return mergeFrom((com.google.cloud.asset.v1.SavedQuery) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.SavedQuery other) { + if (other == com.google.cloud.asset.v1.SavedQuery.getDefaultInstance()) return this; + if (!other.getName().isEmpty()) { + name_ = other.name_; + onChanged(); + } + if (!other.getDescription().isEmpty()) { + description_ = other.description_; + onChanged(); + } + if (other.hasCreateTime()) { + mergeCreateTime(other.getCreateTime()); + } + if (!other.getCreator().isEmpty()) { + creator_ = other.creator_; + onChanged(); + } + if (other.hasLastUpdateTime()) { + mergeLastUpdateTime(other.getLastUpdateTime()); + } + if (!other.getLastUpdater().isEmpty()) { + lastUpdater_ = other.lastUpdater_; + onChanged(); + } + internalGetMutableLabels().mergeFrom(other.internalGetLabels()); + if (other.hasContent()) { + mergeContent(other.getContent()); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.SavedQuery parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = (com.google.cloud.asset.v1.SavedQuery) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int bitField0_; + + private java.lang.Object name_ = ""; + /** + * + * + *
    +     * The resource name of the saved query. The format must be:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * string name = 1; + * + * @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; + } + } + /** + * + * + *
    +     * The resource name of the saved query. The format must be:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * string name = 1; + * + * @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; + } + } + /** + * + * + *
    +     * The resource name of the saved query. The format must be:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * string name = 1; + * + * @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; + onChanged(); + return this; + } + /** + * + * + *
    +     * The resource name of the saved query. The format must be:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * string name = 1; + * + * @return This builder for chaining. + */ + public Builder clearName() { + + name_ = getDefaultInstance().getName(); + onChanged(); + return this; + } + /** + * + * + *
    +     * The resource name of the saved query. The format must be:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * string name = 1; + * + * @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; + onChanged(); + return this; + } + + private java.lang.Object description_ = ""; + /** + * + * + *
    +     * The description of this saved query. This value should be fewer than 255
    +     * characters.
    +     * 
    + * + * string description = 2; + * + * @return The description. + */ + public java.lang.String getDescription() { + java.lang.Object ref = description_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + description_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * The description of this saved query. This value should be fewer than 255
    +     * characters.
    +     * 
    + * + * string description = 2; + * + * @return The bytes for description. + */ + public com.google.protobuf.ByteString getDescriptionBytes() { + java.lang.Object ref = description_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + description_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * The description of this saved query. This value should be fewer than 255
    +     * characters.
    +     * 
    + * + * string description = 2; + * + * @param value The description to set. + * @return This builder for chaining. + */ + public Builder setDescription(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + description_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * The description of this saved query. This value should be fewer than 255
    +     * characters.
    +     * 
    + * + * string description = 2; + * + * @return This builder for chaining. + */ + public Builder clearDescription() { + + description_ = getDefaultInstance().getDescription(); + onChanged(); + return this; + } + /** + * + * + *
    +     * The description of this saved query. This value should be fewer than 255
    +     * characters.
    +     * 
    + * + * string description = 2; + * + * @param value The bytes for description to set. + * @return This builder for chaining. + */ + public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + description_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp createTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + createTimeBuilder_; + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + public boolean hasCreateTime() { + return createTimeBuilder_ != null || createTime_ != null; + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + public com.google.protobuf.Timestamp getCreateTime() { + if (createTimeBuilder_ == null) { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } else { + return createTimeBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + createTime_ = value; + onChanged(); + } else { + createTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setCreateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (createTimeBuilder_ == null) { + createTime_ = builderForValue.build(); + onChanged(); + } else { + createTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeCreateTime(com.google.protobuf.Timestamp value) { + if (createTimeBuilder_ == null) { + if (createTime_ != null) { + createTime_ = + com.google.protobuf.Timestamp.newBuilder(createTime_).mergeFrom(value).buildPartial(); + } else { + createTime_ = value; + } + onChanged(); + } else { + createTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearCreateTime() { + if (createTimeBuilder_ == null) { + createTime_ = null; + onChanged(); + } else { + createTime_ = null; + createTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getCreateTimeBuilder() { + + onChanged(); + return getCreateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder() { + if (createTimeBuilder_ != null) { + return createTimeBuilder_.getMessageOrBuilder(); + } else { + return createTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : createTime_; + } + } + /** + * + * + *
    +     * Output only. The create time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getCreateTimeFieldBuilder() { + if (createTimeBuilder_ == null) { + createTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getCreateTime(), getParentForChildren(), isClean()); + createTime_ = null; + } + return createTimeBuilder_; + } + + private java.lang.Object creator_ = ""; + /** + * + * + *
    +     * Output only. The account's email address who has created this saved query.
    +     * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The creator. + */ + public java.lang.String getCreator() { + java.lang.Object ref = creator_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + creator_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Output only. The account's email address who has created this saved query.
    +     * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for creator. + */ + public com.google.protobuf.ByteString getCreatorBytes() { + java.lang.Object ref = creator_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + creator_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Output only. The account's email address who has created this saved query.
    +     * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The creator to set. + * @return This builder for chaining. + */ + public Builder setCreator(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + creator_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Output only. The account's email address who has created this saved query.
    +     * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearCreator() { + + creator_ = getDefaultInstance().getCreator(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Output only. The account's email address who has created this saved query.
    +     * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for creator to set. + * @return This builder for chaining. + */ + public Builder setCreatorBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + creator_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.Timestamp lastUpdateTime_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + lastUpdateTimeBuilder_; + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the lastUpdateTime field is set. + */ + public boolean hasLastUpdateTime() { + return lastUpdateTimeBuilder_ != null || lastUpdateTime_ != null; + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The lastUpdateTime. + */ + public com.google.protobuf.Timestamp getLastUpdateTime() { + if (lastUpdateTimeBuilder_ == null) { + return lastUpdateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : lastUpdateTime_; + } else { + return lastUpdateTimeBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setLastUpdateTime(com.google.protobuf.Timestamp value) { + if (lastUpdateTimeBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + lastUpdateTime_ = value; + onChanged(); + } else { + lastUpdateTimeBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder setLastUpdateTime(com.google.protobuf.Timestamp.Builder builderForValue) { + if (lastUpdateTimeBuilder_ == null) { + lastUpdateTime_ = builderForValue.build(); + onChanged(); + } else { + lastUpdateTimeBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder mergeLastUpdateTime(com.google.protobuf.Timestamp value) { + if (lastUpdateTimeBuilder_ == null) { + if (lastUpdateTime_ != null) { + lastUpdateTime_ = + com.google.protobuf.Timestamp.newBuilder(lastUpdateTime_) + .mergeFrom(value) + .buildPartial(); + } else { + lastUpdateTime_ = value; + } + onChanged(); + } else { + lastUpdateTimeBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public Builder clearLastUpdateTime() { + if (lastUpdateTimeBuilder_ == null) { + lastUpdateTime_ = null; + onChanged(); + } else { + lastUpdateTime_ = null; + lastUpdateTimeBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.Timestamp.Builder getLastUpdateTimeBuilder() { + + onChanged(); + return getLastUpdateTimeFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + public com.google.protobuf.TimestampOrBuilder getLastUpdateTimeOrBuilder() { + if (lastUpdateTimeBuilder_ != null) { + return lastUpdateTimeBuilder_.getMessageOrBuilder(); + } else { + return lastUpdateTime_ == null + ? com.google.protobuf.Timestamp.getDefaultInstance() + : lastUpdateTime_; + } + } + /** + * + * + *
    +     * Output only. The last update time of this saved query.
    +     * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder> + getLastUpdateTimeFieldBuilder() { + if (lastUpdateTimeBuilder_ == null) { + lastUpdateTimeBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.Timestamp, + com.google.protobuf.Timestamp.Builder, + com.google.protobuf.TimestampOrBuilder>( + getLastUpdateTime(), getParentForChildren(), isClean()); + lastUpdateTime_ = null; + } + return lastUpdateTimeBuilder_; + } + + private java.lang.Object lastUpdater_ = ""; + /** + * + * + *
    +     * Output only. The account's email address who has updated this saved query
    +     * most recently.
    +     * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The lastUpdater. + */ + public java.lang.String getLastUpdater() { + java.lang.Object ref = lastUpdater_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + lastUpdater_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
    +     * Output only. The account's email address who has updated this saved query
    +     * most recently.
    +     * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for lastUpdater. + */ + public com.google.protobuf.ByteString getLastUpdaterBytes() { + java.lang.Object ref = lastUpdater_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + lastUpdater_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
    +     * Output only. The account's email address who has updated this saved query
    +     * most recently.
    +     * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The lastUpdater to set. + * @return This builder for chaining. + */ + public Builder setLastUpdater(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + lastUpdater_ = value; + onChanged(); + return this; + } + /** + * + * + *
    +     * Output only. The account's email address who has updated this saved query
    +     * most recently.
    +     * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearLastUpdater() { + + lastUpdater_ = getDefaultInstance().getLastUpdater(); + onChanged(); + return this; + } + /** + * + * + *
    +     * Output only. The account's email address who has updated this saved query
    +     * most recently.
    +     * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for lastUpdater to set. + * @return This builder for chaining. + */ + public Builder setLastUpdaterBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + lastUpdater_ = value; + onChanged(); + return this; + } + + private com.google.protobuf.MapField labels_; + + private com.google.protobuf.MapField internalGetLabels() { + if (labels_ == null) { + return com.google.protobuf.MapField.emptyMapField(LabelsDefaultEntryHolder.defaultEntry); + } + return labels_; + } + + private com.google.protobuf.MapField + internalGetMutableLabels() { + onChanged(); + ; + if (labels_ == null) { + labels_ = com.google.protobuf.MapField.newMapField(LabelsDefaultEntryHolder.defaultEntry); + } + if (!labels_.isMutable()) { + labels_ = labels_.copy(); + } + return labels_; + } + + public int getLabelsCount() { + return internalGetLabels().getMap().size(); + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public boolean containsLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + return internalGetLabels().getMap().containsKey(key); + } + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Override + @java.lang.Deprecated + public java.util.Map getLabels() { + return getLabelsMap(); + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public java.util.Map getLabelsMap() { + return internalGetLabels().getMap(); + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public java.lang.String getLabelsOrDefault( + java.lang.String key, java.lang.String defaultValue) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + return map.containsKey(key) ? map.get(key) : defaultValue; + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + @java.lang.Override + public java.lang.String getLabelsOrThrow(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + java.util.Map map = internalGetLabels().getMap(); + if (!map.containsKey(key)) { + throw new java.lang.IllegalArgumentException(); + } + return map.get(key); + } + + public Builder clearLabels() { + internalGetMutableLabels().getMutableMap().clear(); + return this; + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + public Builder removeLabels(java.lang.String key) { + if (key == null) { + throw new NullPointerException("map key"); + } + internalGetMutableLabels().getMutableMap().remove(key); + return this; + } + /** Use alternate mutation accessors instead. */ + @java.lang.Deprecated + public java.util.Map getMutableLabels() { + return internalGetMutableLabels().getMutableMap(); + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + public Builder putLabels(java.lang.String key, java.lang.String value) { + if (key == null) { + throw new NullPointerException("map key"); + } + if (value == null) { + throw new NullPointerException("map value"); + } + + internalGetMutableLabels().getMutableMap().put(key, value); + return this; + } + /** + * + * + *
    +     * Labels applied on the resource.
    +     * This value should not contain more than 10 entries. The key and value of
    +     * each entry must be non-empty and fewer than 64 characters.
    +     * 
    + * + * map<string, string> labels = 7; + */ + public Builder putAllLabels(java.util.Map values) { + internalGetMutableLabels().getMutableMap().putAll(values); + return this; + } + + private com.google.cloud.asset.v1.SavedQuery.QueryContent content_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery.QueryContent, + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder, + com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder> + contentBuilder_; + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + * + * @return Whether the content field is set. + */ + public boolean hasContent() { + return contentBuilder_ != null || content_ != null; + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + * + * @return The content. + */ + public com.google.cloud.asset.v1.SavedQuery.QueryContent getContent() { + if (contentBuilder_ == null) { + return content_ == null + ? com.google.cloud.asset.v1.SavedQuery.QueryContent.getDefaultInstance() + : content_; + } else { + return contentBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + public Builder setContent(com.google.cloud.asset.v1.SavedQuery.QueryContent value) { + if (contentBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + content_ = value; + onChanged(); + } else { + contentBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + public Builder setContent( + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder builderForValue) { + if (contentBuilder_ == null) { + content_ = builderForValue.build(); + onChanged(); + } else { + contentBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + public Builder mergeContent(com.google.cloud.asset.v1.SavedQuery.QueryContent value) { + if (contentBuilder_ == null) { + if (content_ != null) { + content_ = + com.google.cloud.asset.v1.SavedQuery.QueryContent.newBuilder(content_) + .mergeFrom(value) + .buildPartial(); + } else { + content_ = value; + } + onChanged(); + } else { + contentBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + public Builder clearContent() { + if (contentBuilder_ == null) { + content_ = null; + onChanged(); + } else { + content_ = null; + contentBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + public com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder getContentBuilder() { + + onChanged(); + return getContentFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + public com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder getContentOrBuilder() { + if (contentBuilder_ != null) { + return contentBuilder_.getMessageOrBuilder(); + } else { + return content_ == null + ? com.google.cloud.asset.v1.SavedQuery.QueryContent.getDefaultInstance() + : content_; + } + } + /** + * + * + *
    +     * The query content.
    +     * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery.QueryContent, + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder, + com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder> + getContentFieldBuilder() { + if (contentBuilder_ == null) { + contentBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery.QueryContent, + com.google.cloud.asset.v1.SavedQuery.QueryContent.Builder, + com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder>( + getContent(), getParentForChildren(), isClean()); + content_ = null; + } + return contentBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.SavedQuery) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.SavedQuery) + private static final com.google.cloud.asset.v1.SavedQuery DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.SavedQuery(); + } + + public static com.google.cloud.asset.v1.SavedQuery getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SavedQuery parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new SavedQuery(input, extensionRegistry); + } + }; + + 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.asset.v1.SavedQuery getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryName.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryName.java new file mode 100644 index 00000000000..bd562e165a0 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryName.java @@ -0,0 +1,378 @@ +/* + * Copyright 2022 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.asset.v1; + +import com.google.api.core.BetaApi; +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 SavedQueryName implements ResourceName { + private static final PathTemplate PROJECT_SAVED_QUERY = + PathTemplate.createWithoutUrlEncoding("projects/{project}/savedQueries/{saved_query}"); + private static final PathTemplate FOLDER_SAVED_QUERY = + PathTemplate.createWithoutUrlEncoding("folders/{folder}/savedQueries/{saved_query}"); + private static final PathTemplate ORGANIZATION_SAVED_QUERY = + PathTemplate.createWithoutUrlEncoding( + "organizations/{organization}/savedQueries/{saved_query}"); + private volatile Map fieldValuesMap; + private PathTemplate pathTemplate; + private String fixedValue; + private final String project; + private final String savedQuery; + private final String folder; + private final String organization; + + @Deprecated + protected SavedQueryName() { + project = null; + savedQuery = null; + folder = null; + organization = null; + } + + private SavedQueryName(Builder builder) { + project = Preconditions.checkNotNull(builder.getProject()); + savedQuery = Preconditions.checkNotNull(builder.getSavedQuery()); + folder = null; + organization = null; + pathTemplate = PROJECT_SAVED_QUERY; + } + + private SavedQueryName(FolderSavedQueryBuilder builder) { + folder = Preconditions.checkNotNull(builder.getFolder()); + savedQuery = Preconditions.checkNotNull(builder.getSavedQuery()); + project = null; + organization = null; + pathTemplate = FOLDER_SAVED_QUERY; + } + + private SavedQueryName(OrganizationSavedQueryBuilder builder) { + organization = Preconditions.checkNotNull(builder.getOrganization()); + savedQuery = Preconditions.checkNotNull(builder.getSavedQuery()); + project = null; + folder = null; + pathTemplate = ORGANIZATION_SAVED_QUERY; + } + + public String getProject() { + return project; + } + + public String getSavedQuery() { + return savedQuery; + } + + public String getFolder() { + return folder; + } + + public String getOrganization() { + return organization; + } + + public static Builder newBuilder() { + return new Builder(); + } + + @BetaApi("The per-pattern Builders are not stable yet and may be changed in the future.") + public static Builder newProjectSavedQueryBuilder() { + return new Builder(); + } + + @BetaApi("The per-pattern Builders are not stable yet and may be changed in the future.") + public static FolderSavedQueryBuilder newFolderSavedQueryBuilder() { + return new FolderSavedQueryBuilder(); + } + + @BetaApi("The per-pattern Builders are not stable yet and may be changed in the future.") + public static OrganizationSavedQueryBuilder newOrganizationSavedQueryBuilder() { + return new OrganizationSavedQueryBuilder(); + } + + public Builder toBuilder() { + return new Builder(this); + } + + public static SavedQueryName of(String project, String savedQuery) { + return newBuilder().setProject(project).setSavedQuery(savedQuery).build(); + } + + @BetaApi("The static create methods are not stable yet and may be changed in the future.") + public static SavedQueryName ofProjectSavedQueryName(String project, String savedQuery) { + return newBuilder().setProject(project).setSavedQuery(savedQuery).build(); + } + + @BetaApi("The static create methods are not stable yet and may be changed in the future.") + public static SavedQueryName ofFolderSavedQueryName(String folder, String savedQuery) { + return newFolderSavedQueryBuilder().setFolder(folder).setSavedQuery(savedQuery).build(); + } + + @BetaApi("The static create methods are not stable yet and may be changed in the future.") + public static SavedQueryName ofOrganizationSavedQueryName( + String organization, String savedQuery) { + return newOrganizationSavedQueryBuilder() + .setOrganization(organization) + .setSavedQuery(savedQuery) + .build(); + } + + public static String format(String project, String savedQuery) { + return newBuilder().setProject(project).setSavedQuery(savedQuery).build().toString(); + } + + @BetaApi("The static format methods are not stable yet and may be changed in the future.") + public static String formatProjectSavedQueryName(String project, String savedQuery) { + return newBuilder().setProject(project).setSavedQuery(savedQuery).build().toString(); + } + + @BetaApi("The static format methods are not stable yet and may be changed in the future.") + public static String formatFolderSavedQueryName(String folder, String savedQuery) { + return newFolderSavedQueryBuilder() + .setFolder(folder) + .setSavedQuery(savedQuery) + .build() + .toString(); + } + + @BetaApi("The static format methods are not stable yet and may be changed in the future.") + public static String formatOrganizationSavedQueryName(String organization, String savedQuery) { + return newOrganizationSavedQueryBuilder() + .setOrganization(organization) + .setSavedQuery(savedQuery) + .build() + .toString(); + } + + public static SavedQueryName parse(String formattedString) { + if (formattedString.isEmpty()) { + return null; + } + if (PROJECT_SAVED_QUERY.matches(formattedString)) { + Map matchMap = PROJECT_SAVED_QUERY.match(formattedString); + return ofProjectSavedQueryName(matchMap.get("project"), matchMap.get("saved_query")); + } else if (FOLDER_SAVED_QUERY.matches(formattedString)) { + Map matchMap = FOLDER_SAVED_QUERY.match(formattedString); + return ofFolderSavedQueryName(matchMap.get("folder"), matchMap.get("saved_query")); + } else if (ORGANIZATION_SAVED_QUERY.matches(formattedString)) { + Map matchMap = ORGANIZATION_SAVED_QUERY.match(formattedString); + return ofOrganizationSavedQueryName( + matchMap.get("organization"), matchMap.get("saved_query")); + } + throw new ValidationException("SavedQueryName.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 (SavedQueryName value : values) { + if (value == null) { + list.add(""); + } else { + list.add(value.toString()); + } + } + return list; + } + + public static boolean isParsableFrom(String formattedString) { + return PROJECT_SAVED_QUERY.matches(formattedString) + || FOLDER_SAVED_QUERY.matches(formattedString) + || ORGANIZATION_SAVED_QUERY.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 (savedQuery != null) { + fieldMapBuilder.put("saved_query", savedQuery); + } + 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()) { + SavedQueryName that = ((SavedQueryName) o); + return Objects.equals(this.project, that.project) + && Objects.equals(this.savedQuery, that.savedQuery) + && 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(savedQuery); + h *= 1000003; + h ^= Objects.hashCode(folder); + h *= 1000003; + h ^= Objects.hashCode(organization); + return h; + } + + /** Builder for projects/{project}/savedQueries/{saved_query}. */ + public static class Builder { + private String project; + private String savedQuery; + + protected Builder() {} + + public String getProject() { + return project; + } + + public String getSavedQuery() { + return savedQuery; + } + + public Builder setProject(String project) { + this.project = project; + return this; + } + + public Builder setSavedQuery(String savedQuery) { + this.savedQuery = savedQuery; + return this; + } + + private Builder(SavedQueryName savedQueryName) { + Preconditions.checkArgument( + Objects.equals(savedQueryName.pathTemplate, PROJECT_SAVED_QUERY), + "toBuilder is only supported when SavedQueryName has the pattern of projects/{project}/savedQueries/{saved_query}"); + this.project = savedQueryName.project; + this.savedQuery = savedQueryName.savedQuery; + } + + public SavedQueryName build() { + return new SavedQueryName(this); + } + } + + /** Builder for folders/{folder}/savedQueries/{saved_query}. */ + @BetaApi("The per-pattern Builders are not stable yet and may be changed in the future.") + public static class FolderSavedQueryBuilder { + private String folder; + private String savedQuery; + + protected FolderSavedQueryBuilder() {} + + public String getFolder() { + return folder; + } + + public String getSavedQuery() { + return savedQuery; + } + + public FolderSavedQueryBuilder setFolder(String folder) { + this.folder = folder; + return this; + } + + public FolderSavedQueryBuilder setSavedQuery(String savedQuery) { + this.savedQuery = savedQuery; + return this; + } + + public SavedQueryName build() { + return new SavedQueryName(this); + } + } + + /** Builder for organizations/{organization}/savedQueries/{saved_query}. */ + @BetaApi("The per-pattern Builders are not stable yet and may be changed in the future.") + public static class OrganizationSavedQueryBuilder { + private String organization; + private String savedQuery; + + protected OrganizationSavedQueryBuilder() {} + + public String getOrganization() { + return organization; + } + + public String getSavedQuery() { + return savedQuery; + } + + public OrganizationSavedQueryBuilder setOrganization(String organization) { + this.organization = organization; + return this; + } + + public OrganizationSavedQueryBuilder setSavedQuery(String savedQuery) { + this.savedQuery = savedQuery; + return this; + } + + public SavedQueryName build() { + return new SavedQueryName(this); + } + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryOrBuilder.java new file mode 100644 index 00000000000..190e281c461 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SavedQueryOrBuilder.java @@ -0,0 +1,318 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface SavedQueryOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.SavedQuery) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * The resource name of the saved query. The format must be:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * string name = 1; + * + * @return The name. + */ + java.lang.String getName(); + /** + * + * + *
    +   * The resource name of the saved query. The format must be:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * string name = 1; + * + * @return The bytes for name. + */ + com.google.protobuf.ByteString getNameBytes(); + + /** + * + * + *
    +   * The description of this saved query. This value should be fewer than 255
    +   * characters.
    +   * 
    + * + * string description = 2; + * + * @return The description. + */ + java.lang.String getDescription(); + /** + * + * + *
    +   * The description of this saved query. This value should be fewer than 255
    +   * characters.
    +   * 
    + * + * string description = 2; + * + * @return The bytes for description. + */ + com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
    +   * Output only. The create time of this saved query.
    +   * 
    + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the createTime field is set. + */ + boolean hasCreateTime(); + /** + * + * + *
    +   * Output only. The create time of this saved query.
    +   * 
    + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The createTime. + */ + com.google.protobuf.Timestamp getCreateTime(); + /** + * + * + *
    +   * Output only. The create time of this saved query.
    +   * 
    + * + * .google.protobuf.Timestamp create_time = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getCreateTimeOrBuilder(); + + /** + * + * + *
    +   * Output only. The account's email address who has created this saved query.
    +   * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The creator. + */ + java.lang.String getCreator(); + /** + * + * + *
    +   * Output only. The account's email address who has created this saved query.
    +   * 
    + * + * string creator = 4 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for creator. + */ + com.google.protobuf.ByteString getCreatorBytes(); + + /** + * + * + *
    +   * Output only. The last update time of this saved query.
    +   * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return Whether the lastUpdateTime field is set. + */ + boolean hasLastUpdateTime(); + /** + * + * + *
    +   * Output only. The last update time of this saved query.
    +   * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * + * @return The lastUpdateTime. + */ + com.google.protobuf.Timestamp getLastUpdateTime(); + /** + * + * + *
    +   * Output only. The last update time of this saved query.
    +   * 
    + * + * + * .google.protobuf.Timestamp last_update_time = 5 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + */ + com.google.protobuf.TimestampOrBuilder getLastUpdateTimeOrBuilder(); + + /** + * + * + *
    +   * Output only. The account's email address who has updated this saved query
    +   * most recently.
    +   * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The lastUpdater. + */ + java.lang.String getLastUpdater(); + /** + * + * + *
    +   * Output only. The account's email address who has updated this saved query
    +   * most recently.
    +   * 
    + * + * string last_updater = 6 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for lastUpdater. + */ + com.google.protobuf.ByteString getLastUpdaterBytes(); + + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + int getLabelsCount(); + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + boolean containsLabels(java.lang.String key); + /** Use {@link #getLabelsMap()} instead. */ + @java.lang.Deprecated + java.util.Map getLabels(); + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + java.util.Map getLabelsMap(); + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + + /* nullable */ + java.lang.String getLabelsOrDefault( + java.lang.String key, + /* nullable */ + java.lang.String defaultValue); + /** + * + * + *
    +   * Labels applied on the resource.
    +   * This value should not contain more than 10 entries. The key and value of
    +   * each entry must be non-empty and fewer than 64 characters.
    +   * 
    + * + * map<string, string> labels = 7; + */ + java.lang.String getLabelsOrThrow(java.lang.String key); + + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + * + * @return Whether the content field is set. + */ + boolean hasContent(); + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + * + * @return The content. + */ + com.google.cloud.asset.v1.SavedQuery.QueryContent getContent(); + /** + * + * + *
    +   * The query content.
    +   * 
    + * + * .google.cloud.asset.v1.SavedQuery.QueryContent content = 8; + */ + com.google.cloud.asset.v1.SavedQuery.QueryContentOrBuilder getContentOrBuilder(); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequest.java index ba3f1c91a96..ea5d5e13424 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequest.java +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequest.java @@ -163,9 +163,9 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * * *
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the IAM policies within the `scope`. The caller must be granted
    -   * the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the IAM policies within the `scope`. The caller must
    +   * be granted the
        * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -195,9 +195,9 @@ public java.lang.String getScope() {
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the IAM policies within the `scope`. The caller must be granted
    -   * the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the IAM policies within the `scope`. The caller must
    +   * be granted the
        * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -234,7 +234,7 @@ public com.google.protobuf.ByteString getScopeBytes() {
        * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)
        * for more information. If not specified or empty, it will search all the
        * IAM policies within the specified `scope`. Note that the query string is
    -   * compared against each Cloud IAM policy binding, including its members,
    +   * compared against each Cloud IAM policy binding, including its principals,
        * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
        * contain the bindings that match your query. To learn more about the IAM
        * policy structure, see [IAM policy
    @@ -268,8 +268,8 @@ public com.google.protobuf.ByteString getScopeBytes() {
        *   "instance2" and also specify user "amy".
        * * `roles:roles/compute.admin` to find IAM policy bindings that specify the
        *   Compute Admin role.
    -   * * `memberTypes:user` to find IAM policy bindings that contain the "user"
    -   *   member type.
    +   * * `memberTypes:user` to find IAM policy bindings that contain the
    +   *   principal type "user".
        * 
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -296,7 +296,7 @@ public java.lang.String getQuery() { * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the * IAM policies within the specified `scope`. Note that the query string is - * compared against each Cloud IAM policy binding, including its members, + * compared against each Cloud IAM policy binding, including its principals, * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only * contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy @@ -330,8 +330,8 @@ public java.lang.String getQuery() { * "instance2" and also specify user "amy". * * `roles:roles/compute.admin` to find IAM policy bindings that specify the * Compute Admin role. - * * `memberTypes:user` to find IAM policy bindings that contain the "user" - * member type. + * * `memberTypes:user` to find IAM policy bindings that contain the + * principal type "user". *
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -357,10 +357,11 @@ public com.google.protobuf.ByteString getQueryBytes() { * * *
    -   * Optional. The page size for search result pagination. Page size is capped at 500 even
    -   * if a larger value is given. If set to zero, server will pick an appropriate
    -   * default. Returned results may be fewer than requested. When this happens,
    -   * there could be more results as long as `next_page_token` is returned.
    +   * Optional. The page size for search result pagination. Page size is capped
    +   * at 500 even if a larger value is given. If set to zero, server will pick an
    +   * appropriate default. Returned results may be fewer than requested. When
    +   * this happens, there could be more results as long as `next_page_token` is
    +   * returned.
        * 
    * * int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -378,10 +379,10 @@ public int getPageSize() { * * *
    -   * Optional. If present, retrieve the next batch of results from the preceding call to
    -   * this method. `page_token` must be the value of `next_page_token` from the
    -   * previous response. The values of all other method parameters must be
    -   * identical to those in the previous call.
    +   * Optional. If present, retrieve the next batch of results from the preceding
    +   * call to this method. `page_token` must be the value of `next_page_token`
    +   * from the previous response. The values of all other method parameters must
    +   * be identical to those in the previous call.
        * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -404,10 +405,10 @@ public java.lang.String getPageToken() { * * *
    -   * Optional. If present, retrieve the next batch of results from the preceding call to
    -   * this method. `page_token` must be the value of `next_page_token` from the
    -   * previous response. The values of all other method parameters must be
    -   * identical to those in the previous call.
    +   * Optional. If present, retrieve the next batch of results from the preceding
    +   * call to this method. `page_token` must be the value of `next_page_token`
    +   * from the previous response. The values of all other method parameters must
    +   * be identical to those in the previous call.
        * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -433,8 +434,9 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -459,8 +461,9 @@ public com.google.protobuf.ProtocolStringList getAssetTypesList() {
        *
        *
        * 
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -485,8 +488,9 @@ public int getAssetTypesCount() {
        *
        *
        * 
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -512,8 +516,9 @@ public java.lang.String getAssetTypes(int index) {
        *
        *
        * 
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -542,9 +547,9 @@ public com.google.protobuf.ByteString getAssetTypesBytes(int index) {
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "assetType DESC, resource".
        * Only singular primitive fields in the response are sortable:
        *   * resource
    @@ -574,9 +579,9 @@ public java.lang.String getOrderBy() {
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "assetType DESC, resource".
        * Only singular primitive fields in the response are sortable:
        *   * resource
    @@ -1026,9 +1031,9 @@ public Builder mergeFrom(
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the IAM policies within the `scope`. The caller must be granted
    -     * the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the IAM policies within the `scope`. The caller must
    +     * be granted the
          * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1057,9 +1062,9 @@ public java.lang.String getScope() {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the IAM policies within the `scope`. The caller must be granted
    -     * the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the IAM policies within the `scope`. The caller must
    +     * be granted the
          * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1088,9 +1093,9 @@ public com.google.protobuf.ByteString getScopeBytes() {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the IAM policies within the `scope`. The caller must be granted
    -     * the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the IAM policies within the `scope`. The caller must
    +     * be granted the
          * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1118,9 +1123,9 @@ public Builder setScope(java.lang.String value) {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the IAM policies within the `scope`. The caller must be granted
    -     * the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the IAM policies within the `scope`. The caller must
    +     * be granted the
          * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1144,9 +1149,9 @@ public Builder clearScope() {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the IAM policies within the `scope`. The caller must be granted
    -     * the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the IAM policies within the `scope`. The caller must
    +     * be granted the
          * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1181,7 +1186,7 @@ public Builder setScopeBytes(com.google.protobuf.ByteString value) {
          * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)
          * for more information. If not specified or empty, it will search all the
          * IAM policies within the specified `scope`. Note that the query string is
    -     * compared against each Cloud IAM policy binding, including its members,
    +     * compared against each Cloud IAM policy binding, including its principals,
          * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
          * contain the bindings that match your query. To learn more about the IAM
          * policy structure, see [IAM policy
    @@ -1215,8 +1220,8 @@ public Builder setScopeBytes(com.google.protobuf.ByteString value) {
          *   "instance2" and also specify user "amy".
          * * `roles:roles/compute.admin` to find IAM policy bindings that specify the
          *   Compute Admin role.
    -     * * `memberTypes:user` to find IAM policy bindings that contain the "user"
    -     *   member type.
    +     * * `memberTypes:user` to find IAM policy bindings that contain the
    +     *   principal type "user".
          * 
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1242,7 +1247,7 @@ public java.lang.String getQuery() { * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the * IAM policies within the specified `scope`. Note that the query string is - * compared against each Cloud IAM policy binding, including its members, + * compared against each Cloud IAM policy binding, including its principals, * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only * contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy @@ -1276,8 +1281,8 @@ public java.lang.String getQuery() { * "instance2" and also specify user "amy". * * `roles:roles/compute.admin` to find IAM policy bindings that specify the * Compute Admin role. - * * `memberTypes:user` to find IAM policy bindings that contain the "user" - * member type. + * * `memberTypes:user` to find IAM policy bindings that contain the + * principal type "user". *
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1303,7 +1308,7 @@ public com.google.protobuf.ByteString getQueryBytes() { * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the * IAM policies within the specified `scope`. Note that the query string is - * compared against each Cloud IAM policy binding, including its members, + * compared against each Cloud IAM policy binding, including its principals, * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only * contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy @@ -1337,8 +1342,8 @@ public com.google.protobuf.ByteString getQueryBytes() { * "instance2" and also specify user "amy". * * `roles:roles/compute.admin` to find IAM policy bindings that specify the * Compute Admin role. - * * `memberTypes:user` to find IAM policy bindings that contain the "user" - * member type. + * * `memberTypes:user` to find IAM policy bindings that contain the + * principal type "user". *
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1363,7 +1368,7 @@ public Builder setQuery(java.lang.String value) { * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the * IAM policies within the specified `scope`. Note that the query string is - * compared against each Cloud IAM policy binding, including its members, + * compared against each Cloud IAM policy binding, including its principals, * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only * contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy @@ -1397,8 +1402,8 @@ public Builder setQuery(java.lang.String value) { * "instance2" and also specify user "amy". * * `roles:roles/compute.admin` to find IAM policy bindings that specify the * Compute Admin role. - * * `memberTypes:user` to find IAM policy bindings that contain the "user" - * member type. + * * `memberTypes:user` to find IAM policy bindings that contain the + * principal type "user". *
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1419,7 +1424,7 @@ public Builder clearQuery() { * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the * IAM policies within the specified `scope`. Note that the query string is - * compared against each Cloud IAM policy binding, including its members, + * compared against each Cloud IAM policy binding, including its principals, * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only * contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy @@ -1453,8 +1458,8 @@ public Builder clearQuery() { * "instance2" and also specify user "amy". * * `roles:roles/compute.admin` to find IAM policy bindings that specify the * Compute Admin role. - * * `memberTypes:user` to find IAM policy bindings that contain the "user" - * member type. + * * `memberTypes:user` to find IAM policy bindings that contain the + * principal type "user". *
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -1478,10 +1483,11 @@ public Builder setQueryBytes(com.google.protobuf.ByteString value) { * * *
    -     * Optional. The page size for search result pagination. Page size is capped at 500 even
    -     * if a larger value is given. If set to zero, server will pick an appropriate
    -     * default. Returned results may be fewer than requested. When this happens,
    -     * there could be more results as long as `next_page_token` is returned.
    +     * Optional. The page size for search result pagination. Page size is capped
    +     * at 500 even if a larger value is given. If set to zero, server will pick an
    +     * appropriate default. Returned results may be fewer than requested. When
    +     * this happens, there could be more results as long as `next_page_token` is
    +     * returned.
          * 
    * * int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1496,10 +1502,11 @@ public int getPageSize() { * * *
    -     * Optional. The page size for search result pagination. Page size is capped at 500 even
    -     * if a larger value is given. If set to zero, server will pick an appropriate
    -     * default. Returned results may be fewer than requested. When this happens,
    -     * there could be more results as long as `next_page_token` is returned.
    +     * Optional. The page size for search result pagination. Page size is capped
    +     * at 500 even if a larger value is given. If set to zero, server will pick an
    +     * appropriate default. Returned results may be fewer than requested. When
    +     * this happens, there could be more results as long as `next_page_token` is
    +     * returned.
          * 
    * * int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1517,10 +1524,11 @@ public Builder setPageSize(int value) { * * *
    -     * Optional. The page size for search result pagination. Page size is capped at 500 even
    -     * if a larger value is given. If set to zero, server will pick an appropriate
    -     * default. Returned results may be fewer than requested. When this happens,
    -     * there could be more results as long as `next_page_token` is returned.
    +     * Optional. The page size for search result pagination. Page size is capped
    +     * at 500 even if a larger value is given. If set to zero, server will pick an
    +     * appropriate default. Returned results may be fewer than requested. When
    +     * this happens, there could be more results as long as `next_page_token` is
    +     * returned.
          * 
    * * int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -1539,10 +1547,10 @@ public Builder clearPageSize() { * * *
    -     * Optional. If present, retrieve the next batch of results from the preceding call to
    -     * this method. `page_token` must be the value of `next_page_token` from the
    -     * previous response. The values of all other method parameters must be
    -     * identical to those in the previous call.
    +     * Optional. If present, retrieve the next batch of results from the preceding
    +     * call to this method. `page_token` must be the value of `next_page_token`
    +     * from the previous response. The values of all other method parameters must
    +     * be identical to those in the previous call.
          * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1564,10 +1572,10 @@ public java.lang.String getPageToken() { * * *
    -     * Optional. If present, retrieve the next batch of results from the preceding call to
    -     * this method. `page_token` must be the value of `next_page_token` from the
    -     * previous response. The values of all other method parameters must be
    -     * identical to those in the previous call.
    +     * Optional. If present, retrieve the next batch of results from the preceding
    +     * call to this method. `page_token` must be the value of `next_page_token`
    +     * from the previous response. The values of all other method parameters must
    +     * be identical to those in the previous call.
          * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1589,10 +1597,10 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
    -     * Optional. If present, retrieve the next batch of results from the preceding call to
    -     * this method. `page_token` must be the value of `next_page_token` from the
    -     * previous response. The values of all other method parameters must be
    -     * identical to those in the previous call.
    +     * Optional. If present, retrieve the next batch of results from the preceding
    +     * call to this method. `page_token` must be the value of `next_page_token`
    +     * from the previous response. The values of all other method parameters must
    +     * be identical to those in the previous call.
          * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1613,10 +1621,10 @@ public Builder setPageToken(java.lang.String value) { * * *
    -     * Optional. If present, retrieve the next batch of results from the preceding call to
    -     * this method. `page_token` must be the value of `next_page_token` from the
    -     * previous response. The values of all other method parameters must be
    -     * identical to those in the previous call.
    +     * Optional. If present, retrieve the next batch of results from the preceding
    +     * call to this method. `page_token` must be the value of `next_page_token`
    +     * from the previous response. The values of all other method parameters must
    +     * be identical to those in the previous call.
          * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1633,10 +1641,10 @@ public Builder clearPageToken() { * * *
    -     * Optional. If present, retrieve the next batch of results from the preceding call to
    -     * this method. `page_token` must be the value of `next_page_token` from the
    -     * previous response. The values of all other method parameters must be
    -     * identical to those in the previous call.
    +     * Optional. If present, retrieve the next batch of results from the preceding
    +     * call to this method. `page_token` must be the value of `next_page_token`
    +     * from the previous response. The values of all other method parameters must
    +     * be identical to those in the previous call.
          * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1668,8 +1676,9 @@ private void ensureAssetTypesIsMutable() { * * *
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1694,8 +1703,9 @@ public com.google.protobuf.ProtocolStringList getAssetTypesList() {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1720,8 +1730,9 @@ public int getAssetTypesCount() {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1747,8 +1758,9 @@ public java.lang.String getAssetTypes(int index) {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1774,8 +1786,9 @@ public com.google.protobuf.ByteString getAssetTypesBytes(int index) {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1808,8 +1821,9 @@ public Builder setAssetTypes(int index, java.lang.String value) {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1841,8 +1855,9 @@ public Builder addAssetTypes(java.lang.String value) {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1871,8 +1886,9 @@ public Builder addAllAssetTypes(java.lang.Iterable values) {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1900,8 +1916,9 @@ public Builder clearAssetTypes() {
          *
          *
          * 
    -     * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -     * will search the IAM policies that are attached to all the [searchable asset
    +     * Optional. A list of asset types that the IAM policies are attached to. If
    +     * empty, it will search the IAM policies that are attached to all the
    +     * [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -1936,9 +1953,9 @@ public Builder addAssetTypesBytes(com.google.protobuf.ByteString value) {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "assetType DESC, resource".
          * Only singular primitive fields in the response are sortable:
          *   * resource
    @@ -1967,9 +1984,9 @@ public java.lang.String getOrderBy() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "assetType DESC, resource".
          * Only singular primitive fields in the response are sortable:
          *   * resource
    @@ -1998,9 +2015,9 @@ public com.google.protobuf.ByteString getOrderByBytes() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "assetType DESC, resource".
          * Only singular primitive fields in the response are sortable:
          *   * resource
    @@ -2028,9 +2045,9 @@ public Builder setOrderBy(java.lang.String value) {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "assetType DESC, resource".
          * Only singular primitive fields in the response are sortable:
          *   * resource
    @@ -2054,9 +2071,9 @@ public Builder clearOrderBy() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "assetType DESC, resource".
          * Only singular primitive fields in the response are sortable:
          *   * resource
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequestOrBuilder.java
    index b09fa81ddbe..09719ef3900 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequestOrBuilder.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllIamPoliciesRequestOrBuilder.java
    @@ -27,9 +27,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the IAM policies within the `scope`. The caller must be granted
    -   * the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the IAM policies within the `scope`. The caller must
    +   * be granted the
        * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -48,9 +48,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the IAM policies within the `scope`. The caller must be granted
    -   * the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the IAM policies within the `scope`. The caller must
    +   * be granted the
        * [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -74,7 +74,7 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query)
        * for more information. If not specified or empty, it will search all the
        * IAM policies within the specified `scope`. Note that the query string is
    -   * compared against each Cloud IAM policy binding, including its members,
    +   * compared against each Cloud IAM policy binding, including its principals,
        * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only
        * contain the bindings that match your query. To learn more about the IAM
        * policy structure, see [IAM policy
    @@ -108,8 +108,8 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *   "instance2" and also specify user "amy".
        * * `roles:roles/compute.admin` to find IAM policy bindings that specify the
        *   Compute Admin role.
    -   * * `memberTypes:user` to find IAM policy bindings that contain the "user"
    -   *   member type.
    +   * * `memberTypes:user` to find IAM policy bindings that contain the
    +   *   principal type "user".
        * 
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -125,7 +125,7 @@ public interface SearchAllIamPoliciesRequestOrBuilder * query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) * for more information. If not specified or empty, it will search all the * IAM policies within the specified `scope`. Note that the query string is - * compared against each Cloud IAM policy binding, including its members, + * compared against each Cloud IAM policy binding, including its principals, * roles, and Cloud IAM conditions. The returned Cloud IAM policies will only * contain the bindings that match your query. To learn more about the IAM * policy structure, see [IAM policy @@ -159,8 +159,8 @@ public interface SearchAllIamPoliciesRequestOrBuilder * "instance2" and also specify user "amy". * * `roles:roles/compute.admin` to find IAM policy bindings that specify the * Compute Admin role. - * * `memberTypes:user` to find IAM policy bindings that contain the "user" - * member type. + * * `memberTypes:user` to find IAM policy bindings that contain the + * principal type "user". *
    * * string query = 2 [(.google.api.field_behavior) = OPTIONAL]; @@ -173,10 +173,11 @@ public interface SearchAllIamPoliciesRequestOrBuilder * * *
    -   * Optional. The page size for search result pagination. Page size is capped at 500 even
    -   * if a larger value is given. If set to zero, server will pick an appropriate
    -   * default. Returned results may be fewer than requested. When this happens,
    -   * there could be more results as long as `next_page_token` is returned.
    +   * Optional. The page size for search result pagination. Page size is capped
    +   * at 500 even if a larger value is given. If set to zero, server will pick an
    +   * appropriate default. Returned results may be fewer than requested. When
    +   * this happens, there could be more results as long as `next_page_token` is
    +   * returned.
        * 
    * * int32 page_size = 3 [(.google.api.field_behavior) = OPTIONAL]; @@ -189,10 +190,10 @@ public interface SearchAllIamPoliciesRequestOrBuilder * * *
    -   * Optional. If present, retrieve the next batch of results from the preceding call to
    -   * this method. `page_token` must be the value of `next_page_token` from the
    -   * previous response. The values of all other method parameters must be
    -   * identical to those in the previous call.
    +   * Optional. If present, retrieve the next batch of results from the preceding
    +   * call to this method. `page_token` must be the value of `next_page_token`
    +   * from the previous response. The values of all other method parameters must
    +   * be identical to those in the previous call.
        * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -204,10 +205,10 @@ public interface SearchAllIamPoliciesRequestOrBuilder * * *
    -   * Optional. If present, retrieve the next batch of results from the preceding call to
    -   * this method. `page_token` must be the value of `next_page_token` from the
    -   * previous response. The values of all other method parameters must be
    -   * identical to those in the previous call.
    +   * Optional. If present, retrieve the next batch of results from the preceding
    +   * call to this method. `page_token` must be the value of `next_page_token`
    +   * from the previous response. The values of all other method parameters must
    +   * be identical to those in the previous call.
        * 
    * * string page_token = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -220,8 +221,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder * * *
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -244,8 +246,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -268,8 +271,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -293,8 +297,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that the IAM policies are attached to. If empty, it
    -   * will search the IAM policies that are attached to all the [searchable asset
    +   * Optional. A list of asset types that the IAM policies are attached to. If
    +   * empty, it will search the IAM policies that are attached to all the
    +   * [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots IAM policies attached to asset type
    @@ -319,9 +324,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "assetType DESC, resource".
        * Only singular primitive fields in the response are sortable:
        *   * resource
    @@ -340,9 +345,9 @@ public interface SearchAllIamPoliciesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "assetType DESC, resource".
        * Only singular primitive fields in the response are sortable:
        *   * resource
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequest.java
    index 42a108e3509..2fca9fd4079 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequest.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequest.java
    @@ -178,8 +178,9 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the resources within the `scope`. The caller must be granted the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the resources within the `scope`. The caller must be
    +   * granted the
        * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -209,8 +210,9 @@ public java.lang.String getScope() {
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the resources within the `scope`. The caller must be granted the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the resources within the `scope`. The caller must be
    +   * granted the
        * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -366,8 +368,8 @@ public com.google.protobuf.ByteString getQueryBytes() {
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -390,8 +392,8 @@ public com.google.protobuf.ProtocolStringList getAssetTypesList() {
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -414,8 +416,8 @@ public int getAssetTypesCount() {
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -439,8 +441,8 @@ public java.lang.String getAssetTypes(int index) {
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -467,10 +469,11 @@ public com.google.protobuf.ByteString getAssetTypesBytes(int index) {
        *
        *
        * 
    -   * Optional. The page size for search result pagination. Page size is capped at 500 even
    -   * if a larger value is given. If set to zero, server will pick an appropriate
    -   * default. Returned results may be fewer than requested. When this happens,
    -   * there could be more results as long as `next_page_token` is returned.
    +   * Optional. The page size for search result pagination. Page size is capped
    +   * at 500 even if a larger value is given. If set to zero, server will pick an
    +   * appropriate default. Returned results may be fewer than requested. When
    +   * this happens, there could be more results as long as `next_page_token` is
    +   * returned.
        * 
    * * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -488,10 +491,10 @@ public int getPageSize() { * * *
    -   * Optional. If present, then retrieve the next batch of results from the preceding call
    -   * to this method. `page_token` must be the value of `next_page_token` from
    -   * the previous response. The values of all other method parameters, must be
    -   * identical to those in the previous call.
    +   * Optional. If present, then retrieve the next batch of results from the
    +   * preceding call to this method. `page_token` must be the value of
    +   * `next_page_token` from the previous response. The values of all other
    +   * method parameters, must be identical to those in the previous call.
        * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -514,10 +517,10 @@ public java.lang.String getPageToken() { * * *
    -   * Optional. If present, then retrieve the next batch of results from the preceding call
    -   * to this method. `page_token` must be the value of `next_page_token` from
    -   * the previous response. The values of all other method parameters, must be
    -   * identical to those in the previous call.
    +   * Optional. If present, then retrieve the next batch of results from the
    +   * preceding call to this method. `page_token` must be the value of
    +   * `next_page_token` from the previous response. The values of all other
    +   * method parameters, must be identical to those in the previous call.
        * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -543,9 +546,9 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "location DESC, name".
        * Only singular primitive fields in the response are sortable:
        *   * name
    @@ -585,9 +588,9 @@ public java.lang.String getOrderBy() {
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "location DESC, name".
        * Only singular primitive fields in the response are sortable:
        *   * name
    @@ -630,10 +633,10 @@ public com.google.protobuf.ByteString getOrderByBytes() {
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying which fields to be returned in
    -   * ResourceSearchResult. Only '*' or combination of top level fields can be
    -   * specified. Field names of both snake_case and camelCase are supported.
    -   * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +   * Optional. A comma-separated list of fields specifying which fields to be
    +   * returned in ResourceSearchResult. Only '*' or combination of top level
    +   * fields can be specified. Field names of both snake_case and camelCase are
    +   * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
        * The read_mask paths must be valid field paths listed but not limited to
        * (both snake_case and camelCase are supported):
        *   * name
    @@ -642,6 +645,9 @@ public com.google.protobuf.ByteString getOrderByBytes() {
        *   * displayName
        *   * description
        *   * location
    +   *   * tagKeys
    +   *   * tagValues
    +   *   * tagValueIds
        *   * labels
        *   * networkTags
        *   * kmsKey
    @@ -670,10 +676,10 @@ public boolean hasReadMask() {
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying which fields to be returned in
    -   * ResourceSearchResult. Only '*' or combination of top level fields can be
    -   * specified. Field names of both snake_case and camelCase are supported.
    -   * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +   * Optional. A comma-separated list of fields specifying which fields to be
    +   * returned in ResourceSearchResult. Only '*' or combination of top level
    +   * fields can be specified. Field names of both snake_case and camelCase are
    +   * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
        * The read_mask paths must be valid field paths listed but not limited to
        * (both snake_case and camelCase are supported):
        *   * name
    @@ -682,6 +688,9 @@ public boolean hasReadMask() {
        *   * displayName
        *   * description
        *   * location
    +   *   * tagKeys
    +   *   * tagValues
    +   *   * tagValueIds
        *   * labels
        *   * networkTags
        *   * kmsKey
    @@ -710,10 +719,10 @@ public com.google.protobuf.FieldMask getReadMask() {
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying which fields to be returned in
    -   * ResourceSearchResult. Only '*' or combination of top level fields can be
    -   * specified. Field names of both snake_case and camelCase are supported.
    -   * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +   * Optional. A comma-separated list of fields specifying which fields to be
    +   * returned in ResourceSearchResult. Only '*' or combination of top level
    +   * fields can be specified. Field names of both snake_case and camelCase are
    +   * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
        * The read_mask paths must be valid field paths listed but not limited to
        * (both snake_case and camelCase are supported):
        *   * name
    @@ -722,6 +731,9 @@ public com.google.protobuf.FieldMask getReadMask() {
        *   * displayName
        *   * description
        *   * location
    +   *   * tagKeys
    +   *   * tagValues
    +   *   * tagValueIds
        *   * labels
        *   * networkTags
        *   * kmsKey
    @@ -1195,8 +1207,9 @@ public Builder mergeFrom(
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the resources within the `scope`. The caller must be granted the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the resources within the `scope`. The caller must be
    +     * granted the
          * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1225,8 +1238,9 @@ public java.lang.String getScope() {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the resources within the `scope`. The caller must be granted the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the resources within the `scope`. The caller must be
    +     * granted the
          * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1255,8 +1269,9 @@ public com.google.protobuf.ByteString getScopeBytes() {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the resources within the `scope`. The caller must be granted the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the resources within the `scope`. The caller must be
    +     * granted the
          * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1284,8 +1299,9 @@ public Builder setScope(java.lang.String value) {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the resources within the `scope`. The caller must be granted the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the resources within the `scope`. The caller must be
    +     * granted the
          * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1309,8 +1325,9 @@ public Builder clearScope() {
          *
          *
          * 
    -     * Required. A scope can be a project, a folder, or an organization. The search is
    -     * limited to the resources within the `scope`. The caller must be granted the
    +     * Required. A scope can be a project, a folder, or an organization. The
    +     * search is limited to the resources within the `scope`. The caller must be
    +     * granted the
          * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
          * permission on the desired scope.
          * The allowed values are:
    @@ -1640,8 +1657,8 @@ private void ensureAssetTypesIsMutable() {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1664,8 +1681,8 @@ public com.google.protobuf.ProtocolStringList getAssetTypesList() {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1688,8 +1705,8 @@ public int getAssetTypesCount() {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1713,8 +1730,8 @@ public java.lang.String getAssetTypes(int index) {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1738,8 +1755,8 @@ public com.google.protobuf.ByteString getAssetTypesBytes(int index) {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1770,8 +1787,8 @@ public Builder setAssetTypes(int index, java.lang.String value) {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1801,8 +1818,8 @@ public Builder addAssetTypes(java.lang.String value) {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1829,8 +1846,8 @@ public Builder addAllAssetTypes(java.lang.Iterable values) {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1856,8 +1873,8 @@ public Builder clearAssetTypes() {
          *
          *
          * 
    -     * Optional. A list of asset types that this request searches for. If empty, it will
    -     * search all the [searchable asset
    +     * Optional. A list of asset types that this request searches for. If empty,
    +     * it will search all the [searchable asset
          * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
          * Regular expressions are also supported. For example:
          * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -1890,10 +1907,11 @@ public Builder addAssetTypesBytes(com.google.protobuf.ByteString value) {
          *
          *
          * 
    -     * Optional. The page size for search result pagination. Page size is capped at 500 even
    -     * if a larger value is given. If set to zero, server will pick an appropriate
    -     * default. Returned results may be fewer than requested. When this happens,
    -     * there could be more results as long as `next_page_token` is returned.
    +     * Optional. The page size for search result pagination. Page size is capped
    +     * at 500 even if a larger value is given. If set to zero, server will pick an
    +     * appropriate default. Returned results may be fewer than requested. When
    +     * this happens, there could be more results as long as `next_page_token` is
    +     * returned.
          * 
    * * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1908,10 +1926,11 @@ public int getPageSize() { * * *
    -     * Optional. The page size for search result pagination. Page size is capped at 500 even
    -     * if a larger value is given. If set to zero, server will pick an appropriate
    -     * default. Returned results may be fewer than requested. When this happens,
    -     * there could be more results as long as `next_page_token` is returned.
    +     * Optional. The page size for search result pagination. Page size is capped
    +     * at 500 even if a larger value is given. If set to zero, server will pick an
    +     * appropriate default. Returned results may be fewer than requested. When
    +     * this happens, there could be more results as long as `next_page_token` is
    +     * returned.
          * 
    * * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1929,10 +1948,11 @@ public Builder setPageSize(int value) { * * *
    -     * Optional. The page size for search result pagination. Page size is capped at 500 even
    -     * if a larger value is given. If set to zero, server will pick an appropriate
    -     * default. Returned results may be fewer than requested. When this happens,
    -     * there could be more results as long as `next_page_token` is returned.
    +     * Optional. The page size for search result pagination. Page size is capped
    +     * at 500 even if a larger value is given. If set to zero, server will pick an
    +     * appropriate default. Returned results may be fewer than requested. When
    +     * this happens, there could be more results as long as `next_page_token` is
    +     * returned.
          * 
    * * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1951,10 +1971,10 @@ public Builder clearPageSize() { * * *
    -     * Optional. If present, then retrieve the next batch of results from the preceding call
    -     * to this method. `page_token` must be the value of `next_page_token` from
    -     * the previous response. The values of all other method parameters, must be
    -     * identical to those in the previous call.
    +     * Optional. If present, then retrieve the next batch of results from the
    +     * preceding call to this method. `page_token` must be the value of
    +     * `next_page_token` from the previous response. The values of all other
    +     * method parameters, must be identical to those in the previous call.
          * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -1976,10 +1996,10 @@ public java.lang.String getPageToken() { * * *
    -     * Optional. If present, then retrieve the next batch of results from the preceding call
    -     * to this method. `page_token` must be the value of `next_page_token` from
    -     * the previous response. The values of all other method parameters, must be
    -     * identical to those in the previous call.
    +     * Optional. If present, then retrieve the next batch of results from the
    +     * preceding call to this method. `page_token` must be the value of
    +     * `next_page_token` from the previous response. The values of all other
    +     * method parameters, must be identical to those in the previous call.
          * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -2001,10 +2021,10 @@ public com.google.protobuf.ByteString getPageTokenBytes() { * * *
    -     * Optional. If present, then retrieve the next batch of results from the preceding call
    -     * to this method. `page_token` must be the value of `next_page_token` from
    -     * the previous response. The values of all other method parameters, must be
    -     * identical to those in the previous call.
    +     * Optional. If present, then retrieve the next batch of results from the
    +     * preceding call to this method. `page_token` must be the value of
    +     * `next_page_token` from the previous response. The values of all other
    +     * method parameters, must be identical to those in the previous call.
          * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -2025,10 +2045,10 @@ public Builder setPageToken(java.lang.String value) { * * *
    -     * Optional. If present, then retrieve the next batch of results from the preceding call
    -     * to this method. `page_token` must be the value of `next_page_token` from
    -     * the previous response. The values of all other method parameters, must be
    -     * identical to those in the previous call.
    +     * Optional. If present, then retrieve the next batch of results from the
    +     * preceding call to this method. `page_token` must be the value of
    +     * `next_page_token` from the previous response. The values of all other
    +     * method parameters, must be identical to those in the previous call.
          * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -2045,10 +2065,10 @@ public Builder clearPageToken() { * * *
    -     * Optional. If present, then retrieve the next batch of results from the preceding call
    -     * to this method. `page_token` must be the value of `next_page_token` from
    -     * the previous response. The values of all other method parameters, must be
    -     * identical to those in the previous call.
    +     * Optional. If present, then retrieve the next batch of results from the
    +     * preceding call to this method. `page_token` must be the value of
    +     * `next_page_token` from the previous response. The values of all other
    +     * method parameters, must be identical to those in the previous call.
          * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -2072,9 +2092,9 @@ public Builder setPageTokenBytes(com.google.protobuf.ByteString value) { * * *
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "location DESC, name".
          * Only singular primitive fields in the response are sortable:
          *   * name
    @@ -2113,9 +2133,9 @@ public java.lang.String getOrderBy() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "location DESC, name".
          * Only singular primitive fields in the response are sortable:
          *   * name
    @@ -2154,9 +2174,9 @@ public com.google.protobuf.ByteString getOrderByBytes() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "location DESC, name".
          * Only singular primitive fields in the response are sortable:
          *   * name
    @@ -2194,9 +2214,9 @@ public Builder setOrderBy(java.lang.String value) {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "location DESC, name".
          * Only singular primitive fields in the response are sortable:
          *   * name
    @@ -2230,9 +2250,9 @@ public Builder clearOrderBy() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying the sorting order of the
    -     * results. The default order is ascending. Add " DESC" after the field name
    -     * to indicate descending order. Redundant space characters are ignored.
    +     * Optional. A comma-separated list of fields specifying the sorting order of
    +     * the results. The default order is ascending. Add " DESC" after the field
    +     * name to indicate descending order. Redundant space characters are ignored.
          * Example: "location DESC, name".
          * Only singular primitive fields in the response are sortable:
          *   * name
    @@ -2278,10 +2298,10 @@ public Builder setOrderByBytes(com.google.protobuf.ByteString value) {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2290,6 +2310,9 @@ public Builder setOrderByBytes(com.google.protobuf.ByteString value) {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2317,10 +2340,10 @@ public boolean hasReadMask() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2329,6 +2352,9 @@ public boolean hasReadMask() {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2360,10 +2386,10 @@ public com.google.protobuf.FieldMask getReadMask() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2372,6 +2398,9 @@ public com.google.protobuf.FieldMask getReadMask() {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2407,10 +2436,10 @@ public Builder setReadMask(com.google.protobuf.FieldMask value) {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2419,6 +2448,9 @@ public Builder setReadMask(com.google.protobuf.FieldMask value) {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2451,10 +2483,10 @@ public Builder setReadMask(com.google.protobuf.FieldMask.Builder builderForValue
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2463,6 +2495,9 @@ public Builder setReadMask(com.google.protobuf.FieldMask.Builder builderForValue
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2500,10 +2535,10 @@ public Builder mergeReadMask(com.google.protobuf.FieldMask value) {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2512,6 +2547,9 @@ public Builder mergeReadMask(com.google.protobuf.FieldMask value) {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2545,10 +2583,10 @@ public Builder clearReadMask() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2557,6 +2595,9 @@ public Builder clearReadMask() {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2584,10 +2625,10 @@ public com.google.protobuf.FieldMask.Builder getReadMaskBuilder() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2596,6 +2637,9 @@ public com.google.protobuf.FieldMask.Builder getReadMaskBuilder() {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    @@ -2625,10 +2669,10 @@ public com.google.protobuf.FieldMaskOrBuilder getReadMaskOrBuilder() {
          *
          *
          * 
    -     * Optional. A comma-separated list of fields specifying which fields to be returned in
    -     * ResourceSearchResult. Only '*' or combination of top level fields can be
    -     * specified. Field names of both snake_case and camelCase are supported.
    -     * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +     * Optional. A comma-separated list of fields specifying which fields to be
    +     * returned in ResourceSearchResult. Only '*' or combination of top level
    +     * fields can be specified. Field names of both snake_case and camelCase are
    +     * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
          * The read_mask paths must be valid field paths listed but not limited to
          * (both snake_case and camelCase are supported):
          *   * name
    @@ -2637,6 +2681,9 @@ public com.google.protobuf.FieldMaskOrBuilder getReadMaskOrBuilder() {
          *   * displayName
          *   * description
          *   * location
    +     *   * tagKeys
    +     *   * tagValues
    +     *   * tagValueIds
          *   * labels
          *   * networkTags
          *   * kmsKey
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequestOrBuilder.java
    index 1826ec134ee..8bfa2292bf0 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequestOrBuilder.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/SearchAllResourcesRequestOrBuilder.java
    @@ -27,8 +27,9 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the resources within the `scope`. The caller must be granted the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the resources within the `scope`. The caller must be
    +   * granted the
        * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -47,8 +48,9 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Required. A scope can be a project, a folder, or an organization. The search is
    -   * limited to the resources within the `scope`. The caller must be granted the
    +   * Required. A scope can be a project, a folder, or an organization. The
    +   * search is limited to the resources within the `scope`. The caller must be
    +   * granted the
        * [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions)
        * permission on the desired scope.
        * The allowed values are:
    @@ -167,8 +169,8 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -189,8 +191,8 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -211,8 +213,8 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -234,8 +236,8 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A list of asset types that this request searches for. If empty, it will
    -   * search all the [searchable asset
    +   * Optional. A list of asset types that this request searches for. If empty,
    +   * it will search all the [searchable asset
        * types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types).
        * Regular expressions are also supported. For example:
        * * "compute.googleapis.com.*" snapshots resources whose asset type starts
    @@ -258,10 +260,11 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. The page size for search result pagination. Page size is capped at 500 even
    -   * if a larger value is given. If set to zero, server will pick an appropriate
    -   * default. Returned results may be fewer than requested. When this happens,
    -   * there could be more results as long as `next_page_token` is returned.
    +   * Optional. The page size for search result pagination. Page size is capped
    +   * at 500 even if a larger value is given. If set to zero, server will pick an
    +   * appropriate default. Returned results may be fewer than requested. When
    +   * this happens, there could be more results as long as `next_page_token` is
    +   * returned.
        * 
    * * int32 page_size = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -274,10 +277,10 @@ public interface SearchAllResourcesRequestOrBuilder * * *
    -   * Optional. If present, then retrieve the next batch of results from the preceding call
    -   * to this method. `page_token` must be the value of `next_page_token` from
    -   * the previous response. The values of all other method parameters, must be
    -   * identical to those in the previous call.
    +   * Optional. If present, then retrieve the next batch of results from the
    +   * preceding call to this method. `page_token` must be the value of
    +   * `next_page_token` from the previous response. The values of all other
    +   * method parameters, must be identical to those in the previous call.
        * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -289,10 +292,10 @@ public interface SearchAllResourcesRequestOrBuilder * * *
    -   * Optional. If present, then retrieve the next batch of results from the preceding call
    -   * to this method. `page_token` must be the value of `next_page_token` from
    -   * the previous response. The values of all other method parameters, must be
    -   * identical to those in the previous call.
    +   * Optional. If present, then retrieve the next batch of results from the
    +   * preceding call to this method. `page_token` must be the value of
    +   * `next_page_token` from the previous response. The values of all other
    +   * method parameters, must be identical to those in the previous call.
        * 
    * * string page_token = 5 [(.google.api.field_behavior) = OPTIONAL]; @@ -305,9 +308,9 @@ public interface SearchAllResourcesRequestOrBuilder * * *
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "location DESC, name".
        * Only singular primitive fields in the response are sortable:
        *   * name
    @@ -336,9 +339,9 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying the sorting order of the
    -   * results. The default order is ascending. Add " DESC" after the field name
    -   * to indicate descending order. Redundant space characters are ignored.
    +   * Optional. A comma-separated list of fields specifying the sorting order of
    +   * the results. The default order is ascending. Add " DESC" after the field
    +   * name to indicate descending order. Redundant space characters are ignored.
        * Example: "location DESC, name".
        * Only singular primitive fields in the response are sortable:
        *   * name
    @@ -368,10 +371,10 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying which fields to be returned in
    -   * ResourceSearchResult. Only '*' or combination of top level fields can be
    -   * specified. Field names of both snake_case and camelCase are supported.
    -   * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +   * Optional. A comma-separated list of fields specifying which fields to be
    +   * returned in ResourceSearchResult. Only '*' or combination of top level
    +   * fields can be specified. Field names of both snake_case and camelCase are
    +   * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
        * The read_mask paths must be valid field paths listed but not limited to
        * (both snake_case and camelCase are supported):
        *   * name
    @@ -380,6 +383,9 @@ public interface SearchAllResourcesRequestOrBuilder
        *   * displayName
        *   * description
        *   * location
    +   *   * tagKeys
    +   *   * tagValues
    +   *   * tagValueIds
        *   * labels
        *   * networkTags
        *   * kmsKey
    @@ -405,10 +411,10 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying which fields to be returned in
    -   * ResourceSearchResult. Only '*' or combination of top level fields can be
    -   * specified. Field names of both snake_case and camelCase are supported.
    -   * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +   * Optional. A comma-separated list of fields specifying which fields to be
    +   * returned in ResourceSearchResult. Only '*' or combination of top level
    +   * fields can be specified. Field names of both snake_case and camelCase are
    +   * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
        * The read_mask paths must be valid field paths listed but not limited to
        * (both snake_case and camelCase are supported):
        *   * name
    @@ -417,6 +423,9 @@ public interface SearchAllResourcesRequestOrBuilder
        *   * displayName
        *   * description
        *   * location
    +   *   * tagKeys
    +   *   * tagValues
    +   *   * tagValueIds
        *   * labels
        *   * networkTags
        *   * kmsKey
    @@ -442,10 +451,10 @@ public interface SearchAllResourcesRequestOrBuilder
        *
        *
        * 
    -   * Optional. A comma-separated list of fields specifying which fields to be returned in
    -   * ResourceSearchResult. Only '*' or combination of top level fields can be
    -   * specified. Field names of both snake_case and camelCase are supported.
    -   * Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
    +   * Optional. A comma-separated list of fields specifying which fields to be
    +   * returned in ResourceSearchResult. Only '*' or combination of top level
    +   * fields can be specified. Field names of both snake_case and camelCase are
    +   * supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`.
        * The read_mask paths must be valid field paths listed but not limited to
        * (both snake_case and camelCase are supported):
        *   * name
    @@ -454,6 +463,9 @@ public interface SearchAllResourcesRequestOrBuilder
        *   * displayName
        *   * description
        *   * location
    +   *   * tagKeys
    +   *   * tagValues
    +   *   * tagValueIds
        *   * labels
        *   * networkTags
        *   * kmsKey
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequest.java
    index 18fe6937f38..1131722a8c2 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequest.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequest.java
    @@ -139,8 +139,8 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() {
        *
        *
        * 
    -   * Required. The new values of feed details. It must match an existing feed and the
    -   * field `name` must be in the format of:
    +   * Required. The new values of feed details. It must match an existing feed
    +   * and the field `name` must be in the format of:
        * projects/project_number/feeds/feed_id or
        * folders/folder_number/feeds/feed_id or
        * organizations/organization_number/feeds/feed_id.
    @@ -158,8 +158,8 @@ public boolean hasFeed() {
        *
        *
        * 
    -   * Required. The new values of feed details. It must match an existing feed and the
    -   * field `name` must be in the format of:
    +   * Required. The new values of feed details. It must match an existing feed
    +   * and the field `name` must be in the format of:
        * projects/project_number/feeds/feed_id or
        * folders/folder_number/feeds/feed_id or
        * organizations/organization_number/feeds/feed_id.
    @@ -177,8 +177,8 @@ public com.google.cloud.asset.v1.Feed getFeed() {
        *
        *
        * 
    -   * Required. The new values of feed details. It must match an existing feed and the
    -   * field `name` must be in the format of:
    +   * Required. The new values of feed details. It must match an existing feed
    +   * and the field `name` must be in the format of:
        * projects/project_number/feeds/feed_id or
        * folders/folder_number/feeds/feed_id or
        * organizations/organization_number/feeds/feed_id.
    @@ -612,8 +612,8 @@ public Builder mergeFrom(
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -630,8 +630,8 @@ public boolean hasFeed() {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -652,8 +652,8 @@ public com.google.cloud.asset.v1.Feed getFeed() {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -678,8 +678,8 @@ public Builder setFeed(com.google.cloud.asset.v1.Feed value) {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -701,8 +701,8 @@ public Builder setFeed(com.google.cloud.asset.v1.Feed.Builder builderForValue) {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -728,8 +728,8 @@ public Builder mergeFeed(com.google.cloud.asset.v1.Feed value) {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -752,8 +752,8 @@ public Builder clearFeed() {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -770,8 +770,8 @@ public com.google.cloud.asset.v1.Feed.Builder getFeedBuilder() {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    @@ -790,8 +790,8 @@ public com.google.cloud.asset.v1.FeedOrBuilder getFeedOrBuilder() {
          *
          *
          * 
    -     * Required. The new values of feed details. It must match an existing feed and the
    -     * field `name` must be in the format of:
    +     * Required. The new values of feed details. It must match an existing feed
    +     * and the field `name` must be in the format of:
          * projects/project_number/feeds/feed_id or
          * folders/folder_number/feeds/feed_id or
          * organizations/organization_number/feeds/feed_id.
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequestOrBuilder.java
    index fe7ebbc66c5..d6cac469d58 100644
    --- a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequestOrBuilder.java
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateFeedRequestOrBuilder.java
    @@ -27,8 +27,8 @@ public interface UpdateFeedRequestOrBuilder
        *
        *
        * 
    -   * Required. The new values of feed details. It must match an existing feed and the
    -   * field `name` must be in the format of:
    +   * Required. The new values of feed details. It must match an existing feed
    +   * and the field `name` must be in the format of:
        * projects/project_number/feeds/feed_id or
        * folders/folder_number/feeds/feed_id or
        * organizations/organization_number/feeds/feed_id.
    @@ -43,8 +43,8 @@ public interface UpdateFeedRequestOrBuilder
        *
        *
        * 
    -   * Required. The new values of feed details. It must match an existing feed and the
    -   * field `name` must be in the format of:
    +   * Required. The new values of feed details. It must match an existing feed
    +   * and the field `name` must be in the format of:
        * projects/project_number/feeds/feed_id or
        * folders/folder_number/feeds/feed_id or
        * organizations/organization_number/feeds/feed_id.
    @@ -59,8 +59,8 @@ public interface UpdateFeedRequestOrBuilder
        *
        *
        * 
    -   * Required. The new values of feed details. It must match an existing feed and the
    -   * field `name` must be in the format of:
    +   * Required. The new values of feed details. It must match an existing feed
    +   * and the field `name` must be in the format of:
        * projects/project_number/feeds/feed_id or
        * folders/folder_number/feeds/feed_id or
        * organizations/organization_number/feeds/feed_id.
    diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequest.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequest.java
    new file mode 100644
    index 00000000000..5723995e024
    --- /dev/null
    +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequest.java
    @@ -0,0 +1,1103 @@
    +/*
    + * Copyright 2020 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!
    +// source: google/cloud/asset/v1/asset_service.proto
    +
    +package com.google.cloud.asset.v1;
    +
    +/**
    + *
    + *
    + * 
    + * Request to update a saved query.
    + * 
    + * + * Protobuf type {@code google.cloud.asset.v1.UpdateSavedQueryRequest} + */ +public final class UpdateSavedQueryRequest extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.asset.v1.UpdateSavedQueryRequest) + UpdateSavedQueryRequestOrBuilder { + private static final long serialVersionUID = 0L; + // Use UpdateSavedQueryRequest.newBuilder() to construct. + private UpdateSavedQueryRequest(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private UpdateSavedQueryRequest() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new UpdateSavedQueryRequest(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private UpdateSavedQueryRequest( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + com.google.cloud.asset.v1.SavedQuery.Builder subBuilder = null; + if (savedQuery_ != null) { + subBuilder = savedQuery_.toBuilder(); + } + savedQuery_ = + input.readMessage( + com.google.cloud.asset.v1.SavedQuery.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(savedQuery_); + savedQuery_ = subBuilder.buildPartial(); + } + + break; + } + case 18: + { + com.google.protobuf.FieldMask.Builder subBuilder = null; + if (updateMask_ != null) { + subBuilder = updateMask_.toBuilder(); + } + updateMask_ = + input.readMessage(com.google.protobuf.FieldMask.parser(), extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom(updateMask_); + updateMask_ = subBuilder.buildPartial(); + } + + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.UpdateSavedQueryRequest.class, + com.google.cloud.asset.v1.UpdateSavedQueryRequest.Builder.class); + } + + public static final int SAVED_QUERY_FIELD_NUMBER = 1; + private com.google.cloud.asset.v1.SavedQuery savedQuery_; + /** + * + * + *
    +   * Required. The saved query to update.
    +   * The saved query's `name` field is used to identify the one to update,
    +   * which has format as below:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the savedQuery field is set. + */ + @java.lang.Override + public boolean hasSavedQuery() { + return savedQuery_ != null; + } + /** + * + * + *
    +   * Required. The saved query to update.
    +   * The saved query's `name` field is used to identify the one to update,
    +   * which has format as below:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The savedQuery. + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQuery getSavedQuery() { + return savedQuery_ == null + ? com.google.cloud.asset.v1.SavedQuery.getDefaultInstance() + : savedQuery_; + } + /** + * + * + *
    +   * Required. The saved query to update.
    +   * The saved query's `name` field is used to identify the one to update,
    +   * which has format as below:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueryOrBuilder() { + return getSavedQuery(); + } + + public static final int UPDATE_MASK_FIELD_NUMBER = 2; + private com.google.protobuf.FieldMask updateMask_; + /** + * + * + *
    +   * Required. The list of fields to update.
    +   * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + @java.lang.Override + public boolean hasUpdateMask() { + return updateMask_ != null; + } + /** + * + * + *
    +   * Required. The list of fields to update.
    +   * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + @java.lang.Override + public com.google.protobuf.FieldMask getUpdateMask() { + return updateMask_ == null ? com.google.protobuf.FieldMask.getDefaultInstance() : updateMask_; + } + /** + * + * + *
    +   * Required. The list of fields to update.
    +   * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + @java.lang.Override + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + return getUpdateMask(); + } + + 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 (savedQuery_ != null) { + output.writeMessage(1, getSavedQuery()); + } + if (updateMask_ != null) { + output.writeMessage(2, getUpdateMask()); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (savedQuery_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(1, getSavedQuery()); + } + if (updateMask_ != null) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(2, getUpdateMask()); + } + size += unknownFields.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.asset.v1.UpdateSavedQueryRequest)) { + return super.equals(obj); + } + com.google.cloud.asset.v1.UpdateSavedQueryRequest other = + (com.google.cloud.asset.v1.UpdateSavedQueryRequest) obj; + + if (hasSavedQuery() != other.hasSavedQuery()) return false; + if (hasSavedQuery()) { + if (!getSavedQuery().equals(other.getSavedQuery())) return false; + } + if (hasUpdateMask() != other.hasUpdateMask()) return false; + if (hasUpdateMask()) { + if (!getUpdateMask().equals(other.getUpdateMask())) return false; + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + if (hasSavedQuery()) { + hash = (37 * hash) + SAVED_QUERY_FIELD_NUMBER; + hash = (53 * hash) + getSavedQuery().hashCode(); + } + if (hasUpdateMask()) { + hash = (37 * hash) + UPDATE_MASK_FIELD_NUMBER; + hash = (53 * hash) + getUpdateMask().hashCode(); + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest 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.asset.v1.UpdateSavedQueryRequest parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest 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.asset.v1.UpdateSavedQueryRequest parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseDelimitedFrom( + java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException( + PARSER, input, extensionRegistry); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest parseFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.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.asset.v1.UpdateSavedQueryRequest 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.GeneratedMessageV3.BuilderParent parent) { + Builder builder = new Builder(parent); + return builder; + } + /** + * + * + *
    +   * Request to update a saved query.
    +   * 
    + * + * Protobuf type {@code google.cloud.asset.v1.UpdateSavedQueryRequest} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.asset.v1.UpdateSavedQueryRequest) + com.google.cloud.asset.v1.UpdateSavedQueryRequestOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.asset.v1.UpdateSavedQueryRequest.class, + com.google.cloud.asset.v1.UpdateSavedQueryRequest.Builder.class); + } + + // Construct using com.google.cloud.asset.v1.UpdateSavedQueryRequest.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + if (savedQueryBuilder_ == null) { + savedQuery_ = null; + } else { + savedQuery_ = null; + savedQueryBuilder_ = null; + } + if (updateMaskBuilder_ == null) { + updateMask_ = null; + } else { + updateMask_ = null; + updateMaskBuilder_ = null; + } + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.asset.v1.AssetServiceProto + .internal_static_google_cloud_asset_v1_UpdateSavedQueryRequest_descriptor; + } + + @java.lang.Override + public com.google.cloud.asset.v1.UpdateSavedQueryRequest getDefaultInstanceForType() { + return com.google.cloud.asset.v1.UpdateSavedQueryRequest.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.asset.v1.UpdateSavedQueryRequest build() { + com.google.cloud.asset.v1.UpdateSavedQueryRequest result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.asset.v1.UpdateSavedQueryRequest buildPartial() { + com.google.cloud.asset.v1.UpdateSavedQueryRequest result = + new com.google.cloud.asset.v1.UpdateSavedQueryRequest(this); + if (savedQueryBuilder_ == null) { + result.savedQuery_ = savedQuery_; + } else { + result.savedQuery_ = savedQueryBuilder_.build(); + } + if (updateMaskBuilder_ == null) { + result.updateMask_ = updateMask_; + } else { + result.updateMask_ = updateMaskBuilder_.build(); + } + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.asset.v1.UpdateSavedQueryRequest) { + return mergeFrom((com.google.cloud.asset.v1.UpdateSavedQueryRequest) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.asset.v1.UpdateSavedQueryRequest other) { + if (other == com.google.cloud.asset.v1.UpdateSavedQueryRequest.getDefaultInstance()) + return this; + if (other.hasSavedQuery()) { + mergeSavedQuery(other.getSavedQuery()); + } + if (other.hasUpdateMask()) { + mergeUpdateMask(other.getUpdateMask()); + } + this.mergeUnknownFields(other.unknownFields); + 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 { + com.google.cloud.asset.v1.UpdateSavedQueryRequest parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.asset.v1.UpdateSavedQueryRequest) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private com.google.cloud.asset.v1.SavedQuery savedQuery_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder> + savedQueryBuilder_; + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the savedQuery field is set. + */ + public boolean hasSavedQuery() { + return savedQueryBuilder_ != null || savedQuery_ != null; + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The savedQuery. + */ + public com.google.cloud.asset.v1.SavedQuery getSavedQuery() { + if (savedQueryBuilder_ == null) { + return savedQuery_ == null + ? com.google.cloud.asset.v1.SavedQuery.getDefaultInstance() + : savedQuery_; + } else { + return savedQueryBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setSavedQuery(com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueryBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + savedQuery_ = value; + onChanged(); + } else { + savedQueryBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setSavedQuery(com.google.cloud.asset.v1.SavedQuery.Builder builderForValue) { + if (savedQueryBuilder_ == null) { + savedQuery_ = builderForValue.build(); + onChanged(); + } else { + savedQueryBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeSavedQuery(com.google.cloud.asset.v1.SavedQuery value) { + if (savedQueryBuilder_ == null) { + if (savedQuery_ != null) { + savedQuery_ = + com.google.cloud.asset.v1.SavedQuery.newBuilder(savedQuery_) + .mergeFrom(value) + .buildPartial(); + } else { + savedQuery_ = value; + } + onChanged(); + } else { + savedQueryBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearSavedQuery() { + if (savedQueryBuilder_ == null) { + savedQuery_ = null; + onChanged(); + } else { + savedQuery_ = null; + savedQueryBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.asset.v1.SavedQuery.Builder getSavedQueryBuilder() { + + onChanged(); + return getSavedQueryFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueryOrBuilder() { + if (savedQueryBuilder_ != null) { + return savedQueryBuilder_.getMessageOrBuilder(); + } else { + return savedQuery_ == null + ? com.google.cloud.asset.v1.SavedQuery.getDefaultInstance() + : savedQuery_; + } + } + /** + * + * + *
    +     * Required. The saved query to update.
    +     * The saved query's `name` field is used to identify the one to update,
    +     * which has format as below:
    +     * * projects/project_number/savedQueries/saved_query_id
    +     * * folders/folder_number/savedQueries/saved_query_id
    +     * * organizations/organization_number/savedQueries/saved_query_id
    +     * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder> + getSavedQueryFieldBuilder() { + if (savedQueryBuilder_ == null) { + savedQueryBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.asset.v1.SavedQuery, + com.google.cloud.asset.v1.SavedQuery.Builder, + com.google.cloud.asset.v1.SavedQueryOrBuilder>( + getSavedQuery(), getParentForChildren(), isClean()); + savedQuery_ = null; + } + return savedQueryBuilder_; + } + + private com.google.protobuf.FieldMask updateMask_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + updateMaskBuilder_; + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + public boolean hasUpdateMask() { + return updateMaskBuilder_ != null || updateMask_ != null; + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + public com.google.protobuf.FieldMask getUpdateMask() { + if (updateMaskBuilder_ == null) { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } else { + return updateMaskBuilder_.getMessage(); + } + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + updateMask_ = value; + onChanged(); + } else { + updateMaskBuilder_.setMessage(value); + } + + return this; + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder setUpdateMask(com.google.protobuf.FieldMask.Builder builderForValue) { + if (updateMaskBuilder_ == null) { + updateMask_ = builderForValue.build(); + onChanged(); + } else { + updateMaskBuilder_.setMessage(builderForValue.build()); + } + + return this; + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder mergeUpdateMask(com.google.protobuf.FieldMask value) { + if (updateMaskBuilder_ == null) { + if (updateMask_ != null) { + updateMask_ = + com.google.protobuf.FieldMask.newBuilder(updateMask_).mergeFrom(value).buildPartial(); + } else { + updateMask_ = value; + } + onChanged(); + } else { + updateMaskBuilder_.mergeFrom(value); + } + + return this; + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public Builder clearUpdateMask() { + if (updateMaskBuilder_ == null) { + updateMask_ = null; + onChanged(); + } else { + updateMask_ = null; + updateMaskBuilder_ = null; + } + + return this; + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.protobuf.FieldMask.Builder getUpdateMaskBuilder() { + + onChanged(); + return getUpdateMaskFieldBuilder().getBuilder(); + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + public com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder() { + if (updateMaskBuilder_ != null) { + return updateMaskBuilder_.getMessageOrBuilder(); + } else { + return updateMask_ == null + ? com.google.protobuf.FieldMask.getDefaultInstance() + : updateMask_; + } + } + /** + * + * + *
    +     * Required. The list of fields to update.
    +     * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder> + getUpdateMaskFieldBuilder() { + if (updateMaskBuilder_ == null) { + updateMaskBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.protobuf.FieldMask, + com.google.protobuf.FieldMask.Builder, + com.google.protobuf.FieldMaskOrBuilder>( + getUpdateMask(), getParentForChildren(), isClean()); + updateMask_ = null; + } + return updateMaskBuilder_; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.asset.v1.UpdateSavedQueryRequest) + } + + // @@protoc_insertion_point(class_scope:google.cloud.asset.v1.UpdateSavedQueryRequest) + private static final com.google.cloud.asset.v1.UpdateSavedQueryRequest DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.asset.v1.UpdateSavedQueryRequest(); + } + + public static com.google.cloud.asset.v1.UpdateSavedQueryRequest getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public UpdateSavedQueryRequest parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new UpdateSavedQueryRequest(input, extensionRegistry); + } + }; + + 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.asset.v1.UpdateSavedQueryRequest getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequestOrBuilder.java b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequestOrBuilder.java new file mode 100644 index 00000000000..636720fe0d4 --- /dev/null +++ b/java-asset/proto-google-cloud-asset-v1/src/main/java/com/google/cloud/asset/v1/UpdateSavedQueryRequestOrBuilder.java @@ -0,0 +1,119 @@ +/* + * Copyright 2020 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! +// source: google/cloud/asset/v1/asset_service.proto + +package com.google.cloud.asset.v1; + +public interface UpdateSavedQueryRequestOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.asset.v1.UpdateSavedQueryRequest) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
    +   * Required. The saved query to update.
    +   * The saved query's `name` field is used to identify the one to update,
    +   * which has format as below:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the savedQuery field is set. + */ + boolean hasSavedQuery(); + /** + * + * + *
    +   * Required. The saved query to update.
    +   * The saved query's `name` field is used to identify the one to update,
    +   * which has format as below:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The savedQuery. + */ + com.google.cloud.asset.v1.SavedQuery getSavedQuery(); + /** + * + * + *
    +   * Required. The saved query to update.
    +   * The saved query's `name` field is used to identify the one to update,
    +   * which has format as below:
    +   * * projects/project_number/savedQueries/saved_query_id
    +   * * folders/folder_number/savedQueries/saved_query_id
    +   * * organizations/organization_number/savedQueries/saved_query_id
    +   * 
    + * + * + * .google.cloud.asset.v1.SavedQuery saved_query = 1 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.cloud.asset.v1.SavedQueryOrBuilder getSavedQueryOrBuilder(); + + /** + * + * + *
    +   * Required. The list of fields to update.
    +   * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return Whether the updateMask field is set. + */ + boolean hasUpdateMask(); + /** + * + * + *
    +   * Required. The list of fields to update.
    +   * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + * + * @return The updateMask. + */ + com.google.protobuf.FieldMask getUpdateMask(); + /** + * + * + *
    +   * Required. The list of fields to update.
    +   * 
    + * + * .google.protobuf.FieldMask update_mask = 2 [(.google.api.field_behavior) = REQUIRED]; + * + */ + com.google.protobuf.FieldMaskOrBuilder getUpdateMaskOrBuilder(); +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/asset_service.proto b/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/asset_service.proto index 80a3da247fe..cf581222616 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/asset_service.proto +++ b/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/asset_service.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -21,11 +21,11 @@ import "google/api/client.proto"; import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/asset/v1/assets.proto"; +import "google/iam/v1/policy.proto"; import "google/longrunning/operations.proto"; import "google/protobuf/duration.proto"; import "google/protobuf/empty.proto"; import "google/protobuf/field_mask.proto"; -import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/status.proto"; import "google/type/expr.proto"; @@ -40,18 +40,20 @@ option php_namespace = "Google\\Cloud\\Asset\\V1"; // Asset service definition. service AssetService { option (google.api.default_host) = "cloudasset.googleapis.com"; - option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform"; // Exports assets with time and resource types to a given Cloud Storage // location/BigQuery table. For Cloud Storage location destinations, the // output format is newline-delimited JSON. Each line represents a - // [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON format; for BigQuery table - // destinations, the output table stores the fields in asset proto as columns. - // This API implements the [google.longrunning.Operation][google.longrunning.Operation] API - // , which allows you to keep track of the export. We recommend intervals of - // at least 2 seconds with exponential retry to poll the export operation - // result. For regular-size resource parent, the export operation usually - // finishes within 5 minutes. + // [google.cloud.asset.v1.Asset][google.cloud.asset.v1.Asset] in the JSON + // format; for BigQuery table destinations, the output table stores the fields + // in asset Protobuf as columns. This API implements the + // [google.longrunning.Operation][google.longrunning.Operation] API, which + // allows you to keep track of the export. We recommend intervals of at least + // 2 seconds with exponential retry to poll the export operation result. For + // regular-size resource parent, the export operation usually finishes within + // 5 minutes. rpc ExportAssets(ExportAssetsRequest) returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{parent=*/*}:exportAssets" @@ -79,7 +81,8 @@ service AssetService { // deleted status. // If a specified asset does not exist, this API returns an INVALID_ARGUMENT // error. - rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest) returns (BatchGetAssetsHistoryResponse) { + rpc BatchGetAssetsHistory(BatchGetAssetsHistoryRequest) + returns (BatchGetAssetsHistoryResponse) { option (google.api.http) = { get: "/v1/{parent=*/*}:batchGetAssetsHistory" }; @@ -132,7 +135,8 @@ service AssetService { // folder, or organization. The caller must be granted the // `cloudasset.assets.searchAllResources` permission on the desired scope, // otherwise the request will be rejected. - rpc SearchAllResources(SearchAllResourcesRequest) returns (SearchAllResourcesResponse) { + rpc SearchAllResources(SearchAllResourcesRequest) + returns (SearchAllResourcesResponse) { option (google.api.http) = { get: "/v1/{scope=*/*}:searchAllResources" }; @@ -143,7 +147,8 @@ service AssetService { // folder, or organization. The caller must be granted the // `cloudasset.assets.searchAllIamPolicies` permission on the desired scope, // otherwise the request will be rejected. - rpc SearchAllIamPolicies(SearchAllIamPoliciesRequest) returns (SearchAllIamPoliciesResponse) { + rpc SearchAllIamPolicies(SearchAllIamPoliciesRequest) + returns (SearchAllIamPoliciesResponse) { option (google.api.http) = { get: "/v1/{scope=*/*}:searchAllIamPolicies" }; @@ -152,7 +157,8 @@ service AssetService { // Analyzes IAM policies to answer which identities have what accesses on // which resources. - rpc AnalyzeIamPolicy(AnalyzeIamPolicyRequest) returns (AnalyzeIamPolicyResponse) { + rpc AnalyzeIamPolicy(AnalyzeIamPolicyRequest) + returns (AnalyzeIamPolicyResponse) { option (google.api.http) = { get: "/v1/{analysis_query.scope=*/*}:analyzeIamPolicy" }; @@ -162,12 +168,14 @@ service AssetService { // accesses on which resources, and writes the analysis results to a Google // Cloud Storage or a BigQuery destination. For Cloud Storage destination, the // output format is the JSON format that represents a - // [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. This method implements the - // [google.longrunning.Operation][google.longrunning.Operation], which allows you to track the operation - // status. We recommend intervals of at least 2 seconds with exponential - // backoff retry to poll the operation result. The metadata contains the - // metadata for the long-running operation. - rpc AnalyzeIamPolicyLongrunning(AnalyzeIamPolicyLongrunningRequest) returns (google.longrunning.Operation) { + // [AnalyzeIamPolicyResponse][google.cloud.asset.v1.AnalyzeIamPolicyResponse]. + // This method implements the + // [google.longrunning.Operation][google.longrunning.Operation], which allows + // you to track the operation status. We recommend intervals of at least 2 + // seconds with exponential backoff retry to poll the operation result. The + // metadata contains the metadata for the long-running operation. + rpc AnalyzeIamPolicyLongrunning(AnalyzeIamPolicyLongrunningRequest) + returns (google.longrunning.Operation) { option (google.api.http) = { post: "/v1/{analysis_query.scope=*/*}:analyzeIamPolicyLongrunning" body: "*" @@ -188,13 +196,66 @@ service AssetService { get: "/v1/{resource=*/*}:analyzeMove" }; } + + // Creates a saved query in a parent project/folder/organization. + rpc CreateSavedQuery(CreateSavedQueryRequest) returns (SavedQuery) { + option (google.api.http) = { + post: "/v1/{parent=*/*}/savedQueries" + body: "saved_query" + }; + option (google.api.method_signature) = "parent,saved_query,saved_query_id"; + } + + // Gets details about a saved query. + rpc GetSavedQuery(GetSavedQueryRequest) returns (SavedQuery) { + option (google.api.http) = { + get: "/v1/{name=*/*/savedQueries/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Lists all saved queries in a parent project/folder/organization. + rpc ListSavedQueries(ListSavedQueriesRequest) + returns (ListSavedQueriesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/savedQueries" + }; + option (google.api.method_signature) = "parent"; + } + + // Updates a saved query. + rpc UpdateSavedQuery(UpdateSavedQueryRequest) returns (SavedQuery) { + option (google.api.http) = { + patch: "/v1/{saved_query.name=*/*/savedQueries/*}" + body: "saved_query" + }; + option (google.api.method_signature) = "saved_query,update_mask"; + } + + // Deletes a saved query. + rpc DeleteSavedQuery(DeleteSavedQueryRequest) + returns (google.protobuf.Empty) { + option (google.api.http) = { + delete: "/v1/{name=*/*/savedQueries/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Gets effective IAM policies for a batch of resources. + rpc BatchGetEffectiveIamPolicies(BatchGetEffectiveIamPoliciesRequest) + returns (BatchGetEffectiveIamPoliciesResponse) { + option (google.api.http) = { + get: "/v1/{scope=*/*}/effectiveIamPolicies:batchGet" + }; + } } // Represents the metadata of the longrunning operation for the // AnalyzeIamPolicyLongrunning rpc. message AnalyzeIamPolicyLongrunningMetadata { // Output only. The time the operation was created. - google.protobuf.Timestamp create_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + google.protobuf.Timestamp create_time = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; } // Export asset request. @@ -241,7 +302,8 @@ message ExportAssetsRequest { // returned. ContentType content_type = 4; - // Required. Output configuration indicating where the results will be output to. + // Required. Output configuration indicating where the results will be output + // to. OutputConfig output_config = 5 [(google.api.field_behavior) = REQUIRED]; // A list of relationship types to export, for example: @@ -263,8 +325,10 @@ message ExportAssetsRequest { } // The export asset response. This message is returned by the -// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] method in the returned -// [google.longrunning.Operation.response][google.longrunning.Operation.response] field. +// [google.longrunning.Operations.GetOperation][google.longrunning.Operations.GetOperation] +// method in the returned +// [google.longrunning.Operation.response][google.longrunning.Operation.response] +// field. message ExportAssetsResponse { // Time the snapshot was taken. google.protobuf.Timestamp read_time = 1; @@ -282,10 +346,11 @@ message ExportAssetsResponse { // ListAssets request. message ListAssetsRequest { - // Required. Name of the organization or project the assets belong to. Format: - // "organizations/[organization-number]" (such as "organizations/123"), - // "projects/[project-id]" (such as "projects/my-project-id"), or - // "projects/[project-number]" (such as "projects/12345"). + // Required. Name of the organization, folder, or project the assets belong + // to. Format: "organizations/[organization-number]" (such as + // "organizations/123"), "projects/[project-id]" (such as + // "projects/my-project-id"), "projects/[project-number]" (such as + // "projects/12345"), or "folders/[folder-number]" (such as "folders/12345"). string parent = 1 [ (google.api.field_behavior) = REQUIRED, (google.api.resource_reference) = { @@ -414,7 +479,8 @@ message BatchGetAssetsHistoryRequest { // See [Introduction to Cloud Asset // Inventory](https://cloud.google.com/asset-inventory/docs/overview) for all // supported asset types and relationship types. - repeated string relationship_types = 5 [(google.api.field_behavior) = OPTIONAL]; + repeated string relationship_types = 5 + [(google.api.field_behavior) = OPTIONAL]; } // Batch get assets history response. @@ -436,9 +502,8 @@ message CreateFeedRequest { // be unique under a specific parent project/folder/organization. string feed_id = 2 [(google.api.field_behavior) = REQUIRED]; - // Required. The feed details. The field `name` must be empty and it will be generated - // in the format of: - // projects/project_number/feeds/feed_id + // Required. The feed details. The field `name` must be empty and it will be + // generated in the format of: projects/project_number/feeds/feed_id // folders/folder_number/feeds/feed_id // organizations/organization_number/feeds/feed_id Feed feed = 3 [(google.api.field_behavior) = REQUIRED]; @@ -452,9 +517,7 @@ message GetFeedRequest { // organizations/organization_number/feeds/feed_id string name = 1 [ (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "cloudasset.googleapis.com/Feed" - } + (google.api.resource_reference) = { type: "cloudasset.googleapis.com/Feed" } ]; } @@ -473,8 +536,8 @@ message ListFeedsResponse { // Update asset feed request. message UpdateFeedRequest { - // Required. The new values of feed details. It must match an existing feed and the - // field `name` must be in the format of: + // Required. The new values of feed details. It must match an existing feed + // and the field `name` must be in the format of: // projects/project_number/feeds/feed_id or // folders/folder_number/feeds/feed_id or // organizations/organization_number/feeds/feed_id. @@ -483,7 +546,8 @@ message UpdateFeedRequest { // Required. Only updates the `feed` fields indicated by this mask. // The field mask must not be empty, and it must not contain fields that // are immutable or only set by the server. - google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; } message DeleteFeedRequest { @@ -493,9 +557,7 @@ message DeleteFeedRequest { // organizations/organization_number/feeds/feed_id string name = 1 [ (google.api.field_behavior) = REQUIRED, - (google.api.resource_reference) = { - type: "cloudasset.googleapis.com/Feed" - } + (google.api.resource_reference) = { type: "cloudasset.googleapis.com/Feed" } ]; } @@ -507,7 +569,7 @@ message OutputConfig { GcsDestination gcs_destination = 1; // Destination on BigQuery. The output table stores the fields in asset - // proto as columns in BigQuery. + // Protobuf as columns in BigQuery. BigQueryDestination bigquery_destination = 2; } } @@ -561,7 +623,11 @@ message BigQueryDestination { // Required. The BigQuery dataset in format // "projects/projectId/datasets/datasetId", to which the snapshot result // should be exported. If this dataset does not exist, the export call returns - // an INVALID_ARGUMENT error. + // an INVALID_ARGUMENT error. Setting the `contentType` for `exportAssets` + // determines the + // [schema](/asset-inventory/docs/exporting-to-bigquery#bigquery-schema) + // of the BigQuery table. Setting `separateTablesPerAssetType` to `TRUE` also + // influences the schema. string dataset = 1 [(google.api.field_behavior) = REQUIRED]; // Required. The BigQuery table to which the snapshot result should be @@ -697,9 +763,8 @@ message Feed { // specified asset_names or asset_types are exported to the feed. // Example: // `//compute.googleapis.com/projects/my_project_123/zones/zone1/instances/instance1`. - // See [Resource - // Names](https://cloud.google.com/apis/design/resource_names#full_resource_name) - // for more info. + // For a list of the full names for supported asset types, see [Resource + // name format](/asset-inventory/docs/resource-name-format). repeated string asset_names = 2; // A list of types of the assets to receive updates. You must specify either @@ -707,9 +772,8 @@ message Feed { // specified asset_names or asset_types are exported to the feed. // Example: `"compute.googleapis.com/Disk"` // - // See [this - // topic](https://cloud.google.com/asset-inventory/docs/supported-asset-types) - // for a list of all supported asset types. + // For a list of all supported asset types, see + // [Supported asset types](/asset-inventory/docs/supported-asset-types). repeated string asset_types = 3; // Asset content type. If not specified, no content but the asset name and @@ -718,7 +782,8 @@ message Feed { // Required. Feed output configuration defining where the asset updates are // published to. - FeedOutputConfig feed_output_config = 5 [(google.api.field_behavior) = REQUIRED]; + FeedOutputConfig feed_output_config = 5 + [(google.api.field_behavior) = REQUIRED]; // A condition which determines whether an asset update should be published. // If specified, an asset will be returned only when the expression evaluates @@ -755,8 +820,9 @@ message Feed { // Search all resources request. message SearchAllResourcesRequest { - // Required. A scope can be a project, a folder, or an organization. The search is - // limited to the resources within the `scope`. The caller must be granted the + // Required. A scope can be a project, a folder, or an organization. The + // search is limited to the resources within the `scope`. The caller must be + // granted the // [`cloudasset.assets.searchAllResources`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions) // permission on the desired scope. // @@ -810,8 +876,8 @@ message SearchAllResourcesRequest { // location. string query = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A list of asset types that this request searches for. If empty, it will - // search all the [searchable asset + // Optional. A list of asset types that this request searches for. If empty, + // it will search all the [searchable asset // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types). // // Regular expressions are also supported. For example: @@ -826,21 +892,22 @@ message SearchAllResourcesRequest { // supported asset type, an INVALID_ARGUMENT error will be returned. repeated string asset_types = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The page size for search result pagination. Page size is capped at 500 even - // if a larger value is given. If set to zero, server will pick an appropriate - // default. Returned results may be fewer than requested. When this happens, - // there could be more results as long as `next_page_token` is returned. + // Optional. The page size for search result pagination. Page size is capped + // at 500 even if a larger value is given. If set to zero, server will pick an + // appropriate default. Returned results may be fewer than requested. When + // this happens, there could be more results as long as `next_page_token` is + // returned. int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If present, then retrieve the next batch of results from the preceding call - // to this method. `page_token` must be the value of `next_page_token` from - // the previous response. The values of all other method parameters, must be - // identical to those in the previous call. + // Optional. If present, then retrieve the next batch of results from the + // preceding call to this method. `page_token` must be the value of + // `next_page_token` from the previous response. The values of all other + // method parameters, must be identical to those in the previous call. string page_token = 5 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A comma-separated list of fields specifying the sorting order of the - // results. The default order is ascending. Add " DESC" after the field name - // to indicate descending order. Redundant space characters are ignored. + // Optional. A comma-separated list of fields specifying the sorting order of + // the results. The default order is ascending. Add " DESC" after the field + // name to indicate descending order. Redundant space characters are ignored. // Example: "location DESC, name". // Only singular primitive fields in the response are sortable: // @@ -862,10 +929,10 @@ message SearchAllResourcesRequest { // are not supported. string order_by = 6 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A comma-separated list of fields specifying which fields to be returned in - // ResourceSearchResult. Only '*' or combination of top level fields can be - // specified. Field names of both snake_case and camelCase are supported. - // Examples: `"*"`, `"name,location"`, `"name,versionedResources"`. + // Optional. A comma-separated list of fields specifying which fields to be + // returned in ResourceSearchResult. Only '*' or combination of top level + // fields can be specified. Field names of both snake_case and camelCase are + // supported. Examples: `"*"`, `"name,location"`, `"name,versionedResources"`. // // The read_mask paths must be valid field paths listed but not limited to // (both snake_case and camelCase are supported): @@ -876,6 +943,9 @@ message SearchAllResourcesRequest { // * displayName // * description // * location + // * tagKeys + // * tagValues + // * tagValueIds // * labels // * networkTags // * kmsKey @@ -890,7 +960,8 @@ message SearchAllResourcesRequest { // If only '*' is specified, all fields including versionedResources will be // returned. // Any invalid field path will trigger INVALID_ARGUMENT error. - google.protobuf.FieldMask read_mask = 8 [(google.api.field_behavior) = OPTIONAL]; + google.protobuf.FieldMask read_mask = 8 + [(google.api.field_behavior) = OPTIONAL]; } // Search all resources response. @@ -907,9 +978,9 @@ message SearchAllResourcesResponse { // Search all IAM policies request. message SearchAllIamPoliciesRequest { - // Required. A scope can be a project, a folder, or an organization. The search is - // limited to the IAM policies within the `scope`. The caller must be granted - // the + // Required. A scope can be a project, a folder, or an organization. The + // search is limited to the IAM policies within the `scope`. The caller must + // be granted the // [`cloudasset.assets.searchAllIamPolicies`](https://cloud.google.com/asset-inventory/docs/access-control#required_permissions) // permission on the desired scope. // @@ -925,7 +996,7 @@ message SearchAllIamPoliciesRequest { // query](https://cloud.google.com/asset-inventory/docs/searching-iam-policies#how_to_construct_a_query) // for more information. If not specified or empty, it will search all the // IAM policies within the specified `scope`. Note that the query string is - // compared against each Cloud IAM policy binding, including its members, + // compared against each Cloud IAM policy binding, including its principals, // roles, and Cloud IAM conditions. The returned Cloud IAM policies will only // contain the bindings that match your query. To learn more about the IAM // policy structure, see [IAM policy @@ -961,24 +1032,26 @@ message SearchAllIamPoliciesRequest { // "instance2" and also specify user "amy". // * `roles:roles/compute.admin` to find IAM policy bindings that specify the // Compute Admin role. - // * `memberTypes:user` to find IAM policy bindings that contain the "user" - // member type. + // * `memberTypes:user` to find IAM policy bindings that contain the + // principal type "user". string query = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. The page size for search result pagination. Page size is capped at 500 even - // if a larger value is given. If set to zero, server will pick an appropriate - // default. Returned results may be fewer than requested. When this happens, - // there could be more results as long as `next_page_token` is returned. + // Optional. The page size for search result pagination. Page size is capped + // at 500 even if a larger value is given. If set to zero, server will pick an + // appropriate default. Returned results may be fewer than requested. When + // this happens, there could be more results as long as `next_page_token` is + // returned. int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If present, retrieve the next batch of results from the preceding call to - // this method. `page_token` must be the value of `next_page_token` from the - // previous response. The values of all other method parameters must be - // identical to those in the previous call. + // Optional. If present, retrieve the next batch of results from the preceding + // call to this method. `page_token` must be the value of `next_page_token` + // from the previous response. The values of all other method parameters must + // be identical to those in the previous call. string page_token = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A list of asset types that the IAM policies are attached to. If empty, it - // will search the IAM policies that are attached to all the [searchable asset + // Optional. A list of asset types that the IAM policies are attached to. If + // empty, it will search the IAM policies that are attached to all the + // [searchable asset // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types). // // Regular expressions are also supported. For example: @@ -995,9 +1068,9 @@ message SearchAllIamPoliciesRequest { // supported asset type, an INVALID_ARGUMENT error will be returned. repeated string asset_types = 5 [(google.api.field_behavior) = OPTIONAL]; - // Optional. A comma-separated list of fields specifying the sorting order of the - // results. The default order is ascending. Add " DESC" after the field name - // to indicate descending order. Redundant space characters are ignored. + // Optional. A comma-separated list of fields specifying the sorting order of + // the results. The default order is ascending. Add " DESC" after the field + // name to indicate descending order. Redundant space characters are ignored. // Example: "assetType DESC, resource". // Only singular primitive fields in the response are sortable: // * resource @@ -1020,7 +1093,7 @@ message SearchAllIamPoliciesResponse { string next_page_token = 2; } -// ## IAM policy analysis query message. +// IAM policy analysis query message. message IamPolicyAnalysisQuery { // Specifies the resource to analyze for access policies, which may be set // directly on the resource, or on ancestors such as organizations, folders or @@ -1037,7 +1110,7 @@ message IamPolicyAnalysisQuery { // roles assigned either directly to them or to the groups they belong to, // directly or indirectly. message IdentitySelector { - // Required. The identity appear in the form of members in + // Required. The identity appear in the form of principals in // [IAM policy // binding](https://cloud.google.com/iam/reference/rest/v1/Binding). // @@ -1070,9 +1143,13 @@ message IamPolicyAnalysisQuery { // Optional. If true, the identities section of the result will expand any // Google groups appearing in an IAM policy binding. // - // If [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] is specified, the - // identity in the result will be determined by the selector, and this flag - // is not allowed to set. + // If + // [IamPolicyAnalysisQuery.identity_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.identity_selector] + // is specified, the identity in the result will be determined by the + // selector, and this flag is not allowed to set. + // + // If true, the default max expansion per group is 1000 for + // AssetService.AnalyzeIamPolicy][]. // // Default is false. bool expand_groups = 1 [(google.api.field_behavior) = OPTIONAL]; @@ -1080,51 +1157,58 @@ message IamPolicyAnalysisQuery { // Optional. If true, the access section of result will expand any roles // appearing in IAM policy bindings to include their permissions. // - // If [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] is specified, the access - // section of the result will be determined by the selector, and this flag - // is not allowed to set. + // If + // [IamPolicyAnalysisQuery.access_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.access_selector] + // is specified, the access section of the result will be determined by the + // selector, and this flag is not allowed to set. // // Default is false. bool expand_roles = 2 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is not - // specified, the resource section of the result will expand any resource - // attached to an IAM policy to include resources lower in the resource - // hierarchy. + // Optional. If true and + // [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] + // is not specified, the resource section of the result will expand any + // resource attached to an IAM policy to include resources lower in the + // resource hierarchy. // // For example, if the request analyzes for which resources user A has // permission P, and the results include an IAM policy with P on a GCP // folder, the results will also include resources in that folder with // permission P. // - // If true and [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] is specified, - // the resource section of the result will expand the specified resource to - // include resources lower in the resource hierarchy. Only project or - // lower resources are supported. Folder and organization resource cannot be - // used together with this option. + // If true and + // [IamPolicyAnalysisQuery.resource_selector][google.cloud.asset.v1.IamPolicyAnalysisQuery.resource_selector] + // is specified, the resource section of the result will expand the + // specified resource to include resources lower in the resource hierarchy. + // Only project or lower resources are supported. Folder and organization + // resource cannot be used together with this option. // // For example, if the request analyzes for which users have permission P on // a GCP project with this option enabled, the results will include all // users who have permission P on that project or any lower resource. // + // If true, the default max expansion per resource is 1000 for + // AssetService.AnalyzeIamPolicy][] and 100000 for + // AssetService.AnalyzeIamPolicyLongrunning][]. + // // Default is false. bool expand_resources = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If true, the result will output resource edges, starting - // from the policy attached resource, to any expanded resources. - // Default is false. + // Optional. If true, the result will output the relevant parent/child + // relationships between resources. Default is false. bool output_resource_edges = 4 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If true, the result will output group identity edges, starting - // from the binding's group members, to any expanded identities. - // Default is false. + // Optional. If true, the result will output the relevant membership + // relationships between groups and other groups, and between groups and + // principals. Default is false. bool output_group_edges = 5 [(google.api.field_behavior) = OPTIONAL]; - // Optional. If true, the response will include access analysis from identities to - // resources via service account impersonation. This is a very expensive - // operation, because many derived queries will be executed. We highly - // recommend you use [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] rpc - // instead. + // Optional. If true, the response will include access analysis from + // identities to resources via service account impersonation. This is a very + // expensive operation, because many derived queries will be executed. We + // highly recommend you use + // [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] + // rpc instead. // // For example, if the request analyzes for which resources user A has // permission P, and there's an IAM policy states user A has @@ -1142,8 +1226,18 @@ message IamPolicyAnalysisQuery { // F. And those advanced analysis results will be included in // [AnalyzeIamPolicyResponse.service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis]. // + // Only the following permissions are considered in this analysis: + // + // * `iam.serviceAccounts.actAs` + // * `iam.serviceAccounts.signBlob` + // * `iam.serviceAccounts.signJwt` + // * `iam.serviceAccounts.getAccessToken` + // * `iam.serviceAccounts.getOpenIdToken` + // * `iam.serviceAccounts.implicitDelegation` + // // Default is false. - bool analyze_service_account_impersonation = 6 [(google.api.field_behavior) = OPTIONAL]; + bool analyze_service_account_impersonation = 6 + [(google.api.field_behavior) = OPTIONAL]; } // The IAM conditions context. @@ -1157,8 +1251,8 @@ message IamPolicyAnalysisQuery { } } - // Required. The relative name of the root asset. Only resources and IAM policies within - // the scope will be analyzed. + // Required. The relative name of the root asset. Only resources and IAM + // policies within the scope will be analyzed. // // This can only be an organization number (such as "organizations/123"), a // folder number (such as "folders/123"), a project ID (such as @@ -1172,10 +1266,12 @@ message IamPolicyAnalysisQuery { string scope = 1 [(google.api.field_behavior) = REQUIRED]; // Optional. Specifies a resource for analysis. - ResourceSelector resource_selector = 2 [(google.api.field_behavior) = OPTIONAL]; + ResourceSelector resource_selector = 2 + [(google.api.field_behavior) = OPTIONAL]; // Optional. Specifies an identity for analysis. - IdentitySelector identity_selector = 3 [(google.api.field_behavior) = OPTIONAL]; + IdentitySelector identity_selector = 3 + [(google.api.field_behavior) = OPTIONAL]; // Optional. Specifies roles or permissions for analysis. This is optional. AccessSelector access_selector = 4 [(google.api.field_behavior) = OPTIONAL]; @@ -1184,15 +1280,37 @@ message IamPolicyAnalysisQuery { Options options = 5 [(google.api.field_behavior) = OPTIONAL]; // Optional. The hypothetical context for IAM conditions evaluation. - ConditionContext condition_context = 6 [(google.api.field_behavior) = OPTIONAL]; + ConditionContext condition_context = 6 + [(google.api.field_behavior) = OPTIONAL]; } -// A request message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. +// A request message for +// [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. message AnalyzeIamPolicyRequest { // Required. The request query. - IamPolicyAnalysisQuery analysis_query = 1 [(google.api.field_behavior) = REQUIRED]; + IamPolicyAnalysisQuery analysis_query = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The name of a saved query, which must be in the format of: + // + // * projects/project_number/savedQueries/saved_query_id + // * folders/folder_number/savedQueries/saved_query_id + // * organizations/organization_number/savedQueries/saved_query_id + // + // If both `analysis_query` and `saved_analysis_query` are provided, they + // will be merged together with the `saved_analysis_query` as base and + // the `analysis_query` as overrides. For more details of the merge behavior, + // please refer to the + // [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details) + // page. + // + // Note that you cannot override primitive fields with default value, such as + // 0 or empty string, etc., because we use proto3, which doesn't support field + // presence yet. + string saved_analysis_query = 3 [(google.api.field_behavior) = OPTIONAL]; - // Optional. Amount of time executable has to complete. See JSON representation of + // Optional. Amount of time executable has to complete. See JSON + // representation of // [Duration](https://developers.google.com/protocol-buffers/docs/proto3#json). // // If this field is set with a value less than the RPC deadline, and the @@ -1202,22 +1320,26 @@ message AnalyzeIamPolicyRequest { // If it's not finished until then, you will get a DEADLINE_EXCEEDED error. // // Default is empty. - google.protobuf.Duration execution_timeout = 2 [(google.api.field_behavior) = OPTIONAL]; + google.protobuf.Duration execution_timeout = 2 + [(google.api.field_behavior) = OPTIONAL]; } -// A response message for [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. +// A response message for +// [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy]. message AnalyzeIamPolicyResponse { // An analysis message to group the query and results. message IamPolicyAnalysis { // The analysis query. IamPolicyAnalysisQuery analysis_query = 1; - // A list of [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] that matches the analysis query, or - // empty if no result is found. + // A list of + // [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult] + // that matches the analysis query, or empty if no result is found. repeated IamPolicyAnalysisResult analysis_results = 2; - // Represents whether all entries in the [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] have been - // fully explored to answer the query. + // Represents whether all entries in the + // [analysis_results][google.cloud.asset.v1.AnalyzeIamPolicyResponse.IamPolicyAnalysis.analysis_results] + // have been fully explored to answer the query. bool fully_explored = 3; // A list of non-critical errors happened during the query handling. @@ -1232,9 +1354,11 @@ message AnalyzeIamPolicyResponse { // enabled. repeated IamPolicyAnalysis service_account_impersonation_analysis = 2; - // Represents whether all entries in the [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] and - // [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] have been fully explored to - // answer the query in the request. + // Represents whether all entries in the + // [main_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.main_analysis] + // and + // [service_account_impersonation_analysis][google.cloud.asset.v1.AnalyzeIamPolicyResponse.service_account_impersonation_analysis] + // have been fully explored to answer the query in the request. bool fully_explored = 3; } @@ -1242,8 +1366,8 @@ message AnalyzeIamPolicyResponse { message IamPolicyAnalysisOutputConfig { // A Cloud Storage location. message GcsDestination { - // Required. The uri of the Cloud Storage object. It's the same uri that is used by - // gsutil. Example: "gs://bucket_name/object_name". See [Viewing and + // Required. The uri of the Cloud Storage object. It's the same uri that is + // used by gsutil. Example: "gs://bucket_name/object_name". See [Viewing and // Editing Object // Metadata](https://cloud.google.com/storage/docs/viewing-editing-metadata) // for more information. @@ -1271,13 +1395,15 @@ message IamPolicyAnalysisOutputConfig { REQUEST_TIME = 1; } - // Required. The BigQuery dataset in format "projects/projectId/datasets/datasetId", - // to which the analysis results should be exported. If this dataset does - // not exist, the export call will return an INVALID_ARGUMENT error. + // Required. The BigQuery dataset in format + // "projects/projectId/datasets/datasetId", to which the analysis results + // should be exported. If this dataset does not exist, the export call will + // return an INVALID_ARGUMENT error. string dataset = 1 [(google.api.field_behavior) = REQUIRED]; - // Required. The prefix of the BigQuery tables to which the analysis results will be - // written. Tables will be created based on this table_prefix if not exist: + // Required. The prefix of the BigQuery tables to which the analysis results + // will be written. Tables will be created based on this table_prefix if not + // exist: // * _analysis table will contain export operation's metadata. // * _analysis_result will contain all the // [IamPolicyAnalysisResult][google.cloud.asset.v1.IamPolicyAnalysisResult]. @@ -1288,8 +1414,8 @@ message IamPolicyAnalysisOutputConfig { // The partition key for BigQuery partitioned table. PartitionKey partition_key = 3; - // Optional. Specifies the action that occurs if the destination table or partition - // already exists. The following values are supported: + // Optional. Specifies the action that occurs if the destination table or + // partition already exists. The following values are supported: // // * WRITE_TRUNCATE: If the table or partition already exists, BigQuery // overwrites the entire table or all the partitions data. @@ -1314,18 +1440,219 @@ message IamPolicyAnalysisOutputConfig { } } -// A request message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. +// A request message for +// [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. message AnalyzeIamPolicyLongrunningRequest { // Required. The request query. - IamPolicyAnalysisQuery analysis_query = 1 [(google.api.field_behavior) = REQUIRED]; + IamPolicyAnalysisQuery analysis_query = 1 + [(google.api.field_behavior) = REQUIRED]; + + // Optional. The name of a saved query, which must be in the format of: + // + // * projects/project_number/savedQueries/saved_query_id + // * folders/folder_number/savedQueries/saved_query_id + // * organizations/organization_number/savedQueries/saved_query_id + // + // If both `analysis_query` and `saved_analysis_query` are provided, they + // will be merged together with the `saved_analysis_query` as base and + // the `analysis_query` as overrides. For more details of the merge behavior, + // please refer to the + // [MergeFrom](https://developers.google.com/protocol-buffers/docs/reference/cpp/google.protobuf.message#Message.MergeFrom.details) + // doc. + // + // Note that you cannot override primitive fields with default value, such as + // 0 or empty string, etc., because we use proto3, which doesn't support field + // presence yet. + string saved_analysis_query = 3 [(google.api.field_behavior) = OPTIONAL]; + + // Required. Output configuration indicating where the results will be output + // to. + IamPolicyAnalysisOutputConfig output_config = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// A response message for +// [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. +message AnalyzeIamPolicyLongrunningResponse {} + +// A saved query which can be shared with others or used later. +message SavedQuery { + option (google.api.resource) = { + type: "cloudasset.googleapis.com/SavedQuery" + pattern: "projects/{project}/savedQueries/{saved_query}" + pattern: "folders/{folder}/savedQueries/{saved_query}" + pattern: "organizations/{organization}/savedQueries/{saved_query}" + }; + + // The query content. + message QueryContent { + oneof query_content { + // An IAM Policy Analysis query, which could be used in + // the + // [AssetService.AnalyzeIamPolicy][google.cloud.asset.v1.AssetService.AnalyzeIamPolicy] + // rpc or the + // [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning] + // rpc. + IamPolicyAnalysisQuery iam_policy_analysis_query = 1; + } + } + + // The resource name of the saved query. The format must be: + // + // * projects/project_number/savedQueries/saved_query_id + // * folders/folder_number/savedQueries/saved_query_id + // * organizations/organization_number/savedQueries/saved_query_id + string name = 1; + + // The description of this saved query. This value should be fewer than 255 + // characters. + string description = 2; + + // Output only. The create time of this saved query. + google.protobuf.Timestamp create_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The account's email address who has created this saved query. + string creator = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The last update time of this saved query. + google.protobuf.Timestamp last_update_time = 5 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The account's email address who has updated this saved query + // most recently. + string last_updater = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Labels applied on the resource. + // This value should not contain more than 10 entries. The key and value of + // each entry must be non-empty and fewer than 64 characters. + map labels = 7; + + // The query content. + QueryContent content = 8; +} + +// Request to create a saved query. +message CreateSavedQueryRequest { + // Required. The name of the project/folder/organization where this + // saved_query should be created in. It can only be an organization number + // (such as "organizations/123"), a folder number (such as "folders/123"), a + // project ID (such as "projects/my-project-id")", or a project number (such + // as "projects/12345"). + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudasset.googleapis.com/SavedQuery" + } + ]; + + // Required. The saved_query details. The `name` field must be empty as it + // will be generated based on the parent and saved_query_id. + SavedQuery saved_query = 2 [(google.api.field_behavior) = REQUIRED]; - // Required. Output configuration indicating where the results will be output to. - IamPolicyAnalysisOutputConfig output_config = 2 [(google.api.field_behavior) = REQUIRED]; + // Required. The ID to use for the saved query, which must be unique in the + // specified parent. It will become the final component of the saved query's + // resource name. + // + // This value should be 4-63 characters, and valid characters + // are /[a-z][0-9]-/. + // + // Notice that this field is required in the saved query creation, and the + // `name` field of the `saved_query` will be ignored. + string saved_query_id = 3 [(google.api.field_behavior) = REQUIRED]; } -// A response message for [AssetService.AnalyzeIamPolicyLongrunning][google.cloud.asset.v1.AssetService.AnalyzeIamPolicyLongrunning]. -message AnalyzeIamPolicyLongrunningResponse { +// Request to get a saved query. +message GetSavedQueryRequest { + // Required. The name of the saved query and it must be in the format of: + // + // * projects/project_number/savedQueries/saved_query_id + // * folders/folder_number/savedQueries/saved_query_id + // * organizations/organization_number/savedQueries/saved_query_id + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudasset.googleapis.com/SavedQuery" + } + ]; +} +// Request to list saved queries. +message ListSavedQueriesRequest { + // Required. The parent project/folder/organization whose savedQueries are to + // be listed. It can only be using project/folder/organization number (such as + // "folders/12345")", or a project ID (such as "projects/my-project-id"). + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + child_type: "cloudasset.googleapis.com/SavedQuery" + } + ]; + + // Optional. The expression to filter resources. + // The expression is a list of zero or more restrictions combined via logical + // operators `AND` and `OR`. When `AND` and `OR` are both used in the + // expression, parentheses must be appropriately used to group the + // combinations. The expression may also contain regular expressions. + // + // See https://google.aip.dev/160 for more information on the grammar. + string filter = 4 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. The maximum number of saved queries to return per page. The + // service may return fewer than this value. If unspecified, at most 50 will + // be returned. + // The maximum value is 1000; values above 1000 will be coerced to 1000. + int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL]; + + // Optional. A page token, received from a previous `ListSavedQueries` call. + // Provide this to retrieve the subsequent page. + // + // When paginating, all other parameters provided to `ListSavedQueries` must + // match the call that provided the page token. + string page_token = 3 [(google.api.field_behavior) = OPTIONAL]; +} + +// Response of listing saved queries. +message ListSavedQueriesResponse { + // A list of savedQueries. + repeated SavedQuery saved_queries = 1; + + // A token, which can be sent as `page_token` to retrieve the next page. + // If this field is omitted, there are no subsequent pages. + string next_page_token = 2; +} + +// Request to update a saved query. +message UpdateSavedQueryRequest { + // Required. The saved query to update. + // + // The saved query's `name` field is used to identify the one to update, + // which has format as below: + // + // * projects/project_number/savedQueries/saved_query_id + // * folders/folder_number/savedQueries/saved_query_id + // * organizations/organization_number/savedQueries/saved_query_id + SavedQuery saved_query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The list of fields to update. + google.protobuf.FieldMask update_mask = 2 + [(google.api.field_behavior) = REQUIRED]; +} + +// Request to delete a saved query. +message DeleteSavedQueryRequest { + // Required. The name of the saved query to delete. It must be in the format + // of: + // + // * projects/project_number/savedQueries/saved_query_id + // * folders/folder_number/savedQueries/saved_query_id + // * organizations/organization_number/savedQueries/saved_query_id + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "cloudasset.googleapis.com/SavedQuery" + } + ]; } // The request message for performing resource move analysis. @@ -1426,3 +1753,91 @@ enum ContentType { // The related resources. RELATIONSHIP = 7; } + +// A request message for +// [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. +message BatchGetEffectiveIamPoliciesRequest { + // Required. Only IAM policies on or below the scope will be returned. + // + // This can only be an organization number (such as "organizations/123"), a + // folder number (such as "folders/123"), a project ID (such as + // "projects/my-project-id"), or a project number (such as "projects/12345"). + // + // To know how to get organization id, visit [here + // ](https://cloud.google.com/resource-manager/docs/creating-managing-organization#retrieving_your_organization_id). + // + // To know how to get folder or project id, visit [here + // ](https://cloud.google.com/resource-manager/docs/creating-managing-folders#viewing_or_listing_folders_and_projects). + string scope = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { child_type: "*" } + ]; + + // Required. The names refer to the [full_resource_names] + // (https://cloud.google.com/asset-inventory/docs/resource-name-format) + // of [searchable asset + // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#searchable_asset_types). + // A maximum of 20 resources' effective policies can be retrieved in a batch. + repeated string names = 3 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { type: "*" } + ]; +} + +// A response message for +// [AssetService.BatchGetEffectiveIamPolicies][google.cloud.asset.v1.AssetService.BatchGetEffectiveIamPolicies]. +message BatchGetEffectiveIamPoliciesResponse { + // The effective IAM policies on one resource. + message EffectiveIamPolicy { + // The IAM policy and its attached resource. + message PolicyInfo { + // The full resource name the + // [policy][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.policy] + // is directly attached to. + string attached_resource = 1; + + // The IAM policy that's directly attached to the + // [attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource]. + google.iam.v1.Policy policy = 2; + } + + // The [full_resource_name] + // (https://cloud.google.com/asset-inventory/docs/resource-name-format) + // for which the + // [policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies] + // are computed. This is one of the + // [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names] + // the caller provides in the request. + string full_resource_name = 1; + + // The effective policies for the + // [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]. + // + // These policies include the policy set on the + // [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name] + // and those set on its parents and ancestors up to the + // [BatchGetEffectiveIamPoliciesRequest.scope][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.scope]. + // Note that these policies are not filtered according to the resource type + // of the + // [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name]. + // + // These policies are hierarchically ordered by + // [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource] + // starting from + // [full_resource_name][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.full_resource_name] + // itself to its parents and ancestors, such that policies[i]'s + // [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource] + // is the child of policies[i+1]'s + // [PolicyInfo.attached_resource][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.PolicyInfo.attached_resource], + // if policies[i+1] exists. + repeated PolicyInfo policies = 2; + } + + // The effective policies for a batch of resources. Note that the results + // order is the same as the order of + // [BatchGetEffectiveIamPoliciesRequest.names][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesRequest.names]. + // When a resource does not have any effective IAM policies, its corresponding + // policy_result will contain empty + // [EffectiveIamPolicy.policies][google.cloud.asset.v1.BatchGetEffectiveIamPoliciesResponse.EffectiveIamPolicy.policies]. + repeated EffectiveIamPolicy policy_results = 2; +} diff --git a/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/assets.proto b/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/assets.proto index 3d433b8f3fe..ebc093ca388 100644 --- a/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/assets.proto +++ b/java-asset/proto-google-cloud-asset-v1/src/main/proto/google/cloud/asset/v1/assets.proto @@ -1,4 +1,4 @@ -// Copyright 2021 Google LLC +// Copyright 2022 Google LLC // // Licensed under the Apache License, Version 2.0 (the "License"); // you may not use this file except in compliance with the License. @@ -16,18 +16,17 @@ syntax = "proto3"; package google.cloud.asset.v1; +import "google/api/field_behavior.proto"; import "google/api/resource.proto"; import "google/cloud/orgpolicy/v1/orgpolicy.proto"; +import "google/cloud/osconfig/v1/inventory.proto"; import "google/iam/v1/policy.proto"; import "google/identity/accesscontextmanager/v1/access_level.proto"; import "google/identity/accesscontextmanager/v1/access_policy.proto"; -import "google/cloud/osconfig/v1/inventory.proto"; import "google/identity/accesscontextmanager/v1/service_perimeter.proto"; -import "google/protobuf/any.proto"; import "google/protobuf/struct.proto"; import "google/protobuf/timestamp.proto"; import "google/rpc/code.proto"; -import "google/api/annotations.proto"; option cc_enable_arenas = true; option csharp_namespace = "Google.Cloud.Asset.V1"; @@ -152,7 +151,8 @@ message Asset { // Please also refer to the [service perimeter user // guide](https://cloud.google.com/vpc-service-controls/docs/overview). - google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = 9; + google.identity.accesscontextmanager.v1.ServicePerimeter service_perimeter = + 9; } // A representation of runtime OS Inventory information. See [this @@ -160,9 +160,15 @@ message Asset { // for more information. google.cloud.osconfig.v1.Inventory os_inventory = 12; - // The related assets of the asset of one relationship type. - // One asset only represents one type of relationship. - RelatedAssets related_assets = 13; + // DEPRECATED. This field only presents for the purpose of + // backward-compatibility. The server will never generate responses with this + // field. + // The related assets of the asset of one relationship type. One asset + // only represents one type of relationship. + RelatedAssets related_assets = 13 [deprecated = true]; + + // One related asset of the current asset. + RelatedAsset related_asset = 15; // The ancestry path of an asset in Google Cloud [resource // hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), @@ -225,8 +231,13 @@ message Resource { string location = 8; } +// DEPRECATED. This message only presents for the purpose of +// backward-compatibility. The server will never populate this message in +// responses. // The detailed related assets with the `relationship_type`. message RelatedAssets { + option deprecated = true; + // The detailed relationship attributes. RelationshipAttributes relationship_attributes = 1; @@ -234,9 +245,14 @@ message RelatedAssets { repeated RelatedAsset assets = 2; } +// DEPRECATED. This message only presents for the purpose of +// backward-compatibility. The server will never populate this message in +// responses. // The relationship attributes which include `type`, `source_resource_type`, // `target_resource_type` and `action`. message RelationshipAttributes { + option deprecated = true; + // The unique identifier of the relationship type. Example: // `INSTANCE_TO_INSTANCEGROUP` string type = 4; @@ -251,7 +267,7 @@ message RelationshipAttributes { string action = 3; } -// An asset identify in Google Cloud which contains its name, type and +// An asset identifier in Google Cloud which contains its name, type and // ancestors. An asset can be any resource in the Google Cloud [resource // hierarchy](https://cloud.google.com/resource-manager/docs/cloud-platform-resource-hierarchy), // a resource outside the Google Cloud resource hierarchy (such as Google @@ -267,8 +283,8 @@ message RelatedAsset { // names](https://cloud.google.com/apis/design/resource_names#full_resource_name) // for more information. string asset = 1 [(google.api.resource_reference) = { - type: "cloudasset.googleapis.com/Asset" - }]; + type: "cloudasset.googleapis.com/Asset" + }]; // The type of the asset. Example: `compute.googleapis.com/Disk` // @@ -284,6 +300,10 @@ message RelatedAsset { // // Example: `["projects/123456789", "folders/5432", "organizations/1234"]` repeated string ancestors = 3; + + // The unique identifier of the relationship type. Example: + // `INSTANCE_TO_INSTANCEGROUP` + string relationship_type = 4; } // A result of Resource Search, containing information of a cloud resource. @@ -341,7 +361,7 @@ message ResourceSearchResult { string organization = 18; // The display name of this resource. This field is available only when the - // resource's proto contains it. + // resource's Protobuf contains it. // // To search against the `display_name`: // @@ -351,7 +371,7 @@ message ResourceSearchResult { // One or more paragraphs of text description of this resource. Maximum length // could be up to 1M bytes. This field is available only when the resource's - // proto contains it. + // Protobuf contains it. // // To search against the `description`: // @@ -360,7 +380,7 @@ message ResourceSearchResult { string description = 5; // Location can be `global`, regional like `us-east1`, or zonal like - // `us-west1-b`. This field is available only when the resource's proto + // `us-west1-b`. This field is available only when the resource's Protobuf // contains it. // // To search against the `location`: @@ -372,7 +392,7 @@ message ResourceSearchResult { // Labels associated with this resource. See [Labelling and grouping GCP // resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) // for more information. This field is available only when the resource's - // proto contains it. + // Protobuf contains it. // // To search against the `labels`: // @@ -387,7 +407,7 @@ message ResourceSearchResult { // type of annotations used to group GCP resources. See [Labelling GCP // resources](https://cloud.google.com/blog/products/gcp/labelling-and-grouping-your-google-cloud-platform-resources) // for more information. This field is available only when the resource's - // proto contains it. + // Protobuf contains it. // // To search against the `network_tags`: // @@ -396,10 +416,11 @@ message ResourceSearchResult { repeated string network_tags = 8; // The Cloud KMS - // [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys?hl=en) + // [CryptoKey](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys) // name or - // [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions?hl=en) - // name. This field is available only when the resource's proto contains it. + // [CryptoKeyVersion](https://cloud.google.com/kms/docs/reference/rest/v1/projects.locations.keyRings.cryptoKeys.cryptoKeyVersions) + // name. This field is available only when the resource's Protobuf contains + // it. // // To search against the `kms_key`: // @@ -409,7 +430,7 @@ message ResourceSearchResult { // The create timestamp of this resource, at which the resource was created. // The granularity is in seconds. Timestamp.nanos will always be 0. This field - // is available only when the resource's proto contains it. + // is available only when the resource's Protobuf contains it. // // To search against `create_time`: // @@ -422,7 +443,7 @@ message ResourceSearchResult { // The last update timestamp of this resource, at which the resource was last // modified or deleted. The granularity is in seconds. Timestamp.nanos will - // always be 0. This field is available only when the resource's proto + // always be 0. This field is available only when the resource's Protobuf // contains it. // // To search against `update_time`: @@ -436,7 +457,8 @@ message ResourceSearchResult { // The state of this resource. Different resources types have different state // definitions that are mapped from various fields of different resource - // types. This field is available only when the resource's proto contains it. + // types. This field is available only when the resource's Protobuf contains + // it. // // Example: // If the resource is an instance provided by Compute Engine, @@ -511,6 +533,43 @@ message ResourceSearchResult { // types](https://cloud.google.com/asset-inventory/docs/supported-asset-types#supported_relationship_types). map relationships = 21; + // TagKey namespaced names, in the format of {ORG_ID}/{TAG_KEY_SHORT_NAME}. + // To search against the `tagKeys`: + // + // * use a field query. Example: + // - `tagKeys:"123456789/env*"` + // - `tagKeys="123456789/env"` + // - `tagKeys:"env"` + // + // * use a free text query. Example: + // - `env` + repeated string tag_keys = 23; + + // TagValue namespaced names, in the format of + // {ORG_ID}/{TAG_KEY_SHORT_NAME}/{TAG_VALUE_SHORT_NAME}. + // To search against the `tagValues`: + // + // * use a field query. Example: + // - `tagValues:"env"` + // - `tagValues:"env/prod"` + // - `tagValues:"123456789/env/prod*"` + // - `tagValues="123456789/env/prod"` + // + // * use a free text query. Example: + // - `prod` + repeated string tag_values = 25; + + // TagValue IDs, in the format of tagValues/{TAG_VALUE_ID}. + // To search against the `tagValueIds`: + // + // * use a field query. Example: + // - `tagValueIds:"456"` + // - `tagValueIds="tagValues/456"` + // + // * use a free text query. Example: + // - `456` + repeated string tag_value_ids = 26; + // The type of this resource's immediate parent, if there is one. // // To search against the `parent_asset_type`: @@ -798,8 +857,10 @@ message IamPolicyAnalysisResult { repeated Access accesses = 2; // Resource edges of the graph starting from the policy attached - // resource to any descendant resources. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] contains - // the full resource name of a parent resource and [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] + // resource to any descendant resources. The + // [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] + // contains the full resource name of a parent resource and + // [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] // contains the full resource name of a child resource. This field is // present only if the output_resource_edges option is enabled in request. repeated Edge resource_edges = 3; @@ -818,32 +879,41 @@ message IamPolicyAnalysisResult { repeated Identity identities = 1; // Group identity edges of the graph starting from the binding's - // group members to any node of the [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. The [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] + // group members to any node of the + // [identities][google.cloud.asset.v1.IamPolicyAnalysisResult.IdentityList.identities]. + // The + // [Edge.source_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.source_node] // contains a group, such as `group:parent@google.com`. The - // [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] contains a member of the group, - // such as `group:child@google.com` or `user:foo@google.com`. - // This field is present only if the output_group_edges option is enabled in - // request. + // [Edge.target_node][google.cloud.asset.v1.IamPolicyAnalysisResult.Edge.target_node] + // contains a member of the group, such as `group:child@google.com` or + // `user:foo@google.com`. This field is present only if the + // output_group_edges option is enabled in request. repeated Edge group_edges = 2; } // The [full resource // name](https://cloud.google.com/asset-inventory/docs/resource-name-format) - // of the resource to which the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] policy attaches. + // of the resource to which the + // [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] + // policy attaches. string attached_resource_full_name = 1; // The Cloud IAM policy binding under analysis. google.iam.v1.Binding iam_binding = 2; - // The access control lists derived from the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or - // potentially match resource and access selectors specified in the request. + // The access control lists derived from the + // [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] + // that match or potentially match resource and access selectors specified in + // the request. repeated AccessControlList access_control_lists = 3; - // The identity list derived from members of the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] that match or - // potentially match identity selector specified in the request. + // The identity list derived from members of the + // [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] + // that match or potentially match identity selector specified in the request. IdentityList identity_list = 4; - // Represents whether all analyses on the [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] have successfully - // finished. + // Represents whether all analyses on the + // [iam_binding][google.cloud.asset.v1.IamPolicyAnalysisResult.iam_binding] + // have successfully finished. bool fully_explored = 5; }