diff --git a/.github/release-trigger.yml b/.github/release-trigger.yml new file mode 100644 index 00000000..d4ca9418 --- /dev/null +++ b/.github/release-trigger.yml @@ -0,0 +1 @@ +enabled: true diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 0195b32f..d510359d 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -9,7 +9,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - java: [7, 8, 11] + java: [8, 11] steps: - uses: actions/checkout@v2 - uses: actions/setup-java@v1 @@ -42,19 +42,6 @@ jobs: java-version: ${{matrix.java}} - run: java -version - run: .kokoro/dependencies.sh - linkage-monitor: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v2 - - uses: actions/setup-java@v1 - with: - java-version: 8 - - run: java -version - - name: Install artifacts to local Maven repository - run: .kokoro/build.sh - shell: bash - - name: Validate any conflicts with regard to com.google.cloud:libraries-bom (latest release) - uses: GoogleCloudPlatform/cloud-opensource-java/linkage-monitor@v1-linkagemonitor lint: runs-on: ubuntu-latest steps: diff --git a/.kokoro/build.sh b/.kokoro/build.sh index c1c9a337..75da3504 100755 --- a/.kokoro/build.sh +++ b/.kokoro/build.sh @@ -115,7 +115,7 @@ fi # fix output location of logs bash .kokoro/coerce_logs.sh -if [[ "${ENABLE_BUILD_COP}" == "true" ]] +if [[ "${ENABLE_FLAKYBOT}" == "true" ]] then chmod +x ${KOKORO_GFILE_DIR}/linux_amd64/flakybot ${KOKORO_GFILE_DIR}/linux_amd64/flakybot -repo=googleapis/java-common-protos diff --git a/.kokoro/nightly/integration.cfg b/.kokoro/nightly/integration.cfg index 0048c8ec..e51c7b4c 100644 --- a/.kokoro/nightly/integration.cfg +++ b/.kokoro/nightly/integration.cfg @@ -22,7 +22,7 @@ env_vars: { } env_vars: { - key: "ENABLE_BUILD_COP" + key: "ENABLE_FLAKYBOT" value: "true" } diff --git a/.kokoro/nightly/samples.cfg b/.kokoro/nightly/samples.cfg index f2542931..9761fd86 100644 --- a/.kokoro/nightly/samples.cfg +++ b/.kokoro/nightly/samples.cfg @@ -33,6 +33,6 @@ env_vars: { } env_vars: { - key: "ENABLE_BUILD_COP" + key: "ENABLE_FLAKYBOT" value: "true" } diff --git a/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java b/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java new file mode 100644 index 00000000..64f38c1c --- /dev/null +++ b/proto-google-common-protos/src/main/java/com/google/api/ErrorReason.java @@ -0,0 +1,1071 @@ +/* + * 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/api/error_reason.proto + +package com.google.api; + +/** + * + * + *
+ * Defines the supported values for `google.rpc.ErrorInfo.reason` for the + * `googleapis.com` error domain. This error domain is reserved for [Service + * Infrastructure](https://cloud.google.com/service-infrastructure/docs/overview). + * For each error info of this domain, the metadata key "service" refers to the + * logical identifier of an API service, such as "pubsub.googleapis.com". The + * "consumer" refers to the entity that consumes an API Service. It typically is + * a Google project that owns the client application or the server resource, + * such as "projects/123". Other metadata keys are specific to each error + * reason. For more information, see the definition of the specific error + * reason. + *+ * + * Protobuf enum {@code google.api.ErrorReason} + */ +public enum ErrorReason implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+ * Do not use this default value. + *+ * + *
ERROR_REASON_UNSPECIFIED = 0;
+ */
+ ERROR_REASON_UNSPECIFIED(0),
+ /**
+ *
+ *
+ * + * The request is calling a disabled service for a consumer. + * Example of an ErrorInfo when the consumer "projects/123" contacting + * "pubsub.googleapis.com" service which is disabled: + * { "reason": "SERVICE_DISABLED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "pubsub.googleapis.com" + * } + * } + * This response indicates the "pubsub.googleapis.com" has been disabled in + * "projects/123". + *+ * + *
SERVICE_DISABLED = 1;
+ */
+ SERVICE_DISABLED(1),
+ /**
+ *
+ *
+ * + * The request whose associated billing account is disabled. + * Example of an ErrorInfo when the consumer "projects/123" fails to contact + * "pubsub.googleapis.com" service because the associated billing account is + * disabled: + * { "reason": "BILLING_DISABLED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "pubsub.googleapis.com" + * } + * } + * This response indicates the billing account associated has been disabled. + *+ * + *
BILLING_DISABLED = 2;
+ */
+ BILLING_DISABLED(2),
+ /**
+ *
+ *
+ * + * The request is denied because the provided [API + * key](https://cloud.google.com/docs/authentication/api-keys) is invalid. It + * may be in a bad format, cannot be found, or has been expired). + * Example of an ErrorInfo when the request is contacting + * "storage.googleapis.com" service with an invalid API key: + * { "reason": "API_KEY_INVALID", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * } + * } + *+ * + *
API_KEY_INVALID = 3;
+ */
+ API_KEY_INVALID(3),
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key API + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_api_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call the + * "storage.googleapis.com" service because this service is restricted in the + * API key: + * { "reason": "API_KEY_SERVICE_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
API_KEY_SERVICE_BLOCKED = 4;
+ */
+ API_KEY_SERVICE_BLOCKED(4),
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key HTTP + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the http referrer of the request + * violates API key HTTP restrictions: + * { "reason": "API_KEY_HTTP_REFERRER_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com", + * } + * } + *+ * + *
API_KEY_HTTP_REFERRER_BLOCKED = 7;
+ */
+ API_KEY_HTTP_REFERRER_BLOCKED(7),
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key IP address + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the caller IP of the request + * violates API key IP address restrictions: + * { "reason": "API_KEY_IP_ADDRESS_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com", + * } + * } + *+ * + *
API_KEY_IP_ADDRESS_BLOCKED = 8;
+ */
+ API_KEY_IP_ADDRESS_BLOCKED(8),
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key Android application + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the request from the Android apps + * violates the API key Android application restrictions: + * { "reason": "API_KEY_ANDROID_APP_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
API_KEY_ANDROID_APP_BLOCKED = 9;
+ */
+ API_KEY_ANDROID_APP_BLOCKED(9),
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key iOS application + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the request from the iOS apps + * violates the API key iOS application restrictions: + * { "reason": "API_KEY_IOS_APP_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
API_KEY_IOS_APP_BLOCKED = 13;
+ */
+ API_KEY_IOS_APP_BLOCKED(13),
+ /**
+ *
+ *
+ * + * The request is denied because there is not enough rate quota for the + * consumer. + * Example of an ErrorInfo when the consumer "projects/123" fails to contact + * "pubsub.googleapis.com" service because consumer's rate quota usage has + * reached the maximum value set for the quota limit + * "ReadsPerMinutePerProject" on the quota metric + * "pubsub.googleapis.com/read_requests": + * { "reason": "RATE_LIMIT_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "pubsub.googleapis.com", + * "quota_metric": "pubsub.googleapis.com/read_requests", + * "quota_limit": "ReadsPerMinutePerProject" + * } + * } + * Example of an ErrorInfo when the consumer "projects/123" checks quota on + * the service "dataflow.googleapis.com" and hits the organization quota + * limit "DefaultRequestsPerMinutePerOrganization" on the metric + * "dataflow.googleapis.com/default_requests". + * { "reason": "RATE_LIMIT_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "dataflow.googleapis.com", + * "quota_metric": "dataflow.googleapis.com/default_requests", + * "quota_limit": "DefaultRequestsPerMinutePerOrganization" + * } + * } + *+ * + *
RATE_LIMIT_EXCEEDED = 5;
+ */
+ RATE_LIMIT_EXCEEDED(5),
+ /**
+ *
+ *
+ * + * The request is denied because there is not enough resource quota for the + * consumer. + * Example of an ErrorInfo when the consumer "projects/123" fails to contact + * "compute.googleapis.com" service because consumer's resource quota usage + * has reached the maximum value set for the quota limit "VMsPerProject" + * on the quota metric "compute.googleapis.com/vms": + * { "reason": "RESOURCE_QUOTA_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "compute.googleapis.com", + * "quota_metric": "compute.googleapis.com/vms", + * "quota_limit": "VMsPerProject" + * } + * } + * Example of an ErrorInfo when the consumer "projects/123" checks resource + * quota on the service "dataflow.googleapis.com" and hits the organization + * quota limit "jobs-per-organization" on the metric + * "dataflow.googleapis.com/job_count". + * { "reason": "RESOURCE_QUOTA_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "dataflow.googleapis.com", + * "quota_metric": "dataflow.googleapis.com/job_count", + * "quota_limit": "jobs-per-organization" + * } + * } + *+ * + *
RESOURCE_QUOTA_EXCEEDED = 6;
+ */
+ RESOURCE_QUOTA_EXCEEDED(6),
+ /**
+ *
+ *
+ * + * The request whose associated billing account address is in a tax restricted + * location, violates the local tax restrictions when creating resources in + * the restricted region. + * Example of an ErrorInfo when creating the Cloud Storage Bucket in the + * container "projects/123" under a tax restricted region + * "locations/asia-northeast3": + * { "reason": "LOCATION_TAX_POLICY_VIOLATED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com", + * "location": "locations/asia-northeast3" + * } + * } + * This response indicates creating the Cloud Storage Bucket in + * "locations/asia-northeast3" violates the location tax restriction. + *+ * + *
LOCATION_TAX_POLICY_VIOLATED = 10;
+ */
+ LOCATION_TAX_POLICY_VIOLATED(10),
+ /**
+ *
+ *
+ * + * The request is denied because the caller does not have required permission + * on the user project "projects/123" or the user project is invalid. For more + * information, check the [userProject System + * Parameters](https://cloud.google.com/apis/docs/system-parameters). + * Example of an ErrorInfo when the caller is calling Cloud Storage service + * with insufficient permissions on the user project: + * { "reason": "USER_PROJECT_DENIED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
USER_PROJECT_DENIED = 11;
+ */
+ USER_PROJECT_DENIED(11),
+ /**
+ *
+ *
+ * + * The request is denied because the consumer "projects/123" is suspended due + * to Terms of Service(Tos) violations. Check [Project suspension + * guidelines](https://cloud.google.com/resource-manager/docs/project-suspension-guidelines) + * for more information. + * Example of an ErrorInfo when calling Cloud Storage service with the + * suspended consumer "projects/123": + * { "reason": "CONSUMER_SUSPENDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
CONSUMER_SUSPENDED = 12;
+ */
+ CONSUMER_SUSPENDED(12),
+ /**
+ *
+ *
+ * + * The request is denied because the associated consumer is invalid. It may be + * in a bad format, cannot be found, or have been deleted. + * Example of an ErrorInfo when calling Cloud Storage service with the + * invalid consumer "projects/123": + * { "reason": "CONSUMER_INVALID", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
CONSUMER_INVALID = 14;
+ */
+ CONSUMER_INVALID(14),
+ /**
+ *
+ *
+ * + * The request is denied because it violates [VPC Service + * Controls](https://cloud.google.com/vpc-service-controls/docs/overview). + * The 'uid' field is a random generated identifier that customer can use it + * to search the audit log for a request rejected by VPC Service Controls. For + * more information, please refer [VPC Service Controls + * Troubleshooting](https://cloud.google.com/vpc-service-controls/docs/troubleshooting#unique-id) + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * Cloud Storage service because the request is prohibited by the VPC Service + * Controls. + * { "reason": "SECURITY_POLICY_VIOLATED", + * "domain": "googleapis.com", + * "metadata": { + * "uid": "123456789abcde", + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
SECURITY_POLICY_VIOLATED = 15;
+ */
+ SECURITY_POLICY_VIOLATED(15),
+ /**
+ *
+ *
+ * + * The request is denied because the provided access token has expired. + * Example of an ErrorInfo when the request is calling Cloud Storage service + * with an expired access token: + * { "reason": "ACCESS_TOKEN_EXPIRED", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject" + * } + * } + *+ * + *
ACCESS_TOKEN_EXPIRED = 16;
+ */
+ ACCESS_TOKEN_EXPIRED(16),
+ /**
+ *
+ *
+ * + * The request is denied because the provided access token doesn't have at + * least one of the acceptable scopes required for the API. Please check + * [OAuth 2.0 Scopes for Google + * APIs](https://developers.google.com/identity/protocols/oauth2/scopes) for + * the list of the OAuth 2.0 scopes that you might need to request to access + * the API. + * Example of an ErrorInfo when the request is calling Cloud Storage service + * with an access token that is missing required scopes: + * { "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject" + * } + * } + *+ * + *
ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17;
+ */
+ ACCESS_TOKEN_SCOPE_INSUFFICIENT(17),
+ /**
+ *
+ *
+ * + * The request is denied because the account associated with the provided + * access token is in an invalid state, such as disabled or deleted. + * For more information, see https://cloud.google.com/docs/authentication. + * Warning: For privacy reasons, the server may not be able to disclose the + * email address for some accounts. The client MUST NOT depend on the + * availability of the `email` attribute. + * Example of an ErrorInfo when the request is to the Cloud Storage API with + * an access token that is associated with a disabled or deleted [service + * account](http://cloud/iam/docs/service-accounts): + * { "reason": "ACCOUNT_STATE_INVALID", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject", + * "email": "user@123.iam.gserviceaccount.com" + * } + * } + *+ * + *
ACCOUNT_STATE_INVALID = 18;
+ */
+ ACCOUNT_STATE_INVALID(18),
+ /**
+ *
+ *
+ * + * The request is denied because the type of the provided access token is not + * supported by the API being called. + * Example of an ErrorInfo when the request is to the Cloud Storage API with + * an unsupported token type. + * { "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject" + * } + * } + *+ * + *
ACCESS_TOKEN_TYPE_UNSUPPORTED = 19;
+ */
+ ACCESS_TOKEN_TYPE_UNSUPPORTED(19),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ *
+ *
+ * + * Do not use this default value. + *+ * + *
ERROR_REASON_UNSPECIFIED = 0;
+ */
+ public static final int ERROR_REASON_UNSPECIFIED_VALUE = 0;
+ /**
+ *
+ *
+ * + * The request is calling a disabled service for a consumer. + * Example of an ErrorInfo when the consumer "projects/123" contacting + * "pubsub.googleapis.com" service which is disabled: + * { "reason": "SERVICE_DISABLED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "pubsub.googleapis.com" + * } + * } + * This response indicates the "pubsub.googleapis.com" has been disabled in + * "projects/123". + *+ * + *
SERVICE_DISABLED = 1;
+ */
+ public static final int SERVICE_DISABLED_VALUE = 1;
+ /**
+ *
+ *
+ * + * The request whose associated billing account is disabled. + * Example of an ErrorInfo when the consumer "projects/123" fails to contact + * "pubsub.googleapis.com" service because the associated billing account is + * disabled: + * { "reason": "BILLING_DISABLED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "pubsub.googleapis.com" + * } + * } + * This response indicates the billing account associated has been disabled. + *+ * + *
BILLING_DISABLED = 2;
+ */
+ public static final int BILLING_DISABLED_VALUE = 2;
+ /**
+ *
+ *
+ * + * The request is denied because the provided [API + * key](https://cloud.google.com/docs/authentication/api-keys) is invalid. It + * may be in a bad format, cannot be found, or has been expired). + * Example of an ErrorInfo when the request is contacting + * "storage.googleapis.com" service with an invalid API key: + * { "reason": "API_KEY_INVALID", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * } + * } + *+ * + *
API_KEY_INVALID = 3;
+ */
+ public static final int API_KEY_INVALID_VALUE = 3;
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key API + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_api_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call the + * "storage.googleapis.com" service because this service is restricted in the + * API key: + * { "reason": "API_KEY_SERVICE_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
API_KEY_SERVICE_BLOCKED = 4;
+ */
+ public static final int API_KEY_SERVICE_BLOCKED_VALUE = 4;
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key HTTP + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_http_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the http referrer of the request + * violates API key HTTP restrictions: + * { "reason": "API_KEY_HTTP_REFERRER_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com", + * } + * } + *+ * + *
API_KEY_HTTP_REFERRER_BLOCKED = 7;
+ */
+ public static final int API_KEY_HTTP_REFERRER_BLOCKED_VALUE = 7;
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key IP address + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the caller IP of the request + * violates API key IP address restrictions: + * { "reason": "API_KEY_IP_ADDRESS_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com", + * } + * } + *+ * + *
API_KEY_IP_ADDRESS_BLOCKED = 8;
+ */
+ public static final int API_KEY_IP_ADDRESS_BLOCKED_VALUE = 8;
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key Android application + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the request from the Android apps + * violates the API key Android application restrictions: + * { "reason": "API_KEY_ANDROID_APP_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
API_KEY_ANDROID_APP_BLOCKED = 9;
+ */
+ public static final int API_KEY_ANDROID_APP_BLOCKED_VALUE = 9;
+ /**
+ *
+ *
+ * + * The request is denied because it violates [API key iOS application + * restrictions](https://cloud.google.com/docs/authentication/api-keys#adding_application_restrictions). + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * "storage.googleapis.com" service because the request from the iOS apps + * violates the API key iOS application restrictions: + * { "reason": "API_KEY_IOS_APP_BLOCKED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
API_KEY_IOS_APP_BLOCKED = 13;
+ */
+ public static final int API_KEY_IOS_APP_BLOCKED_VALUE = 13;
+ /**
+ *
+ *
+ * + * The request is denied because there is not enough rate quota for the + * consumer. + * Example of an ErrorInfo when the consumer "projects/123" fails to contact + * "pubsub.googleapis.com" service because consumer's rate quota usage has + * reached the maximum value set for the quota limit + * "ReadsPerMinutePerProject" on the quota metric + * "pubsub.googleapis.com/read_requests": + * { "reason": "RATE_LIMIT_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "pubsub.googleapis.com", + * "quota_metric": "pubsub.googleapis.com/read_requests", + * "quota_limit": "ReadsPerMinutePerProject" + * } + * } + * Example of an ErrorInfo when the consumer "projects/123" checks quota on + * the service "dataflow.googleapis.com" and hits the organization quota + * limit "DefaultRequestsPerMinutePerOrganization" on the metric + * "dataflow.googleapis.com/default_requests". + * { "reason": "RATE_LIMIT_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "dataflow.googleapis.com", + * "quota_metric": "dataflow.googleapis.com/default_requests", + * "quota_limit": "DefaultRequestsPerMinutePerOrganization" + * } + * } + *+ * + *
RATE_LIMIT_EXCEEDED = 5;
+ */
+ public static final int RATE_LIMIT_EXCEEDED_VALUE = 5;
+ /**
+ *
+ *
+ * + * The request is denied because there is not enough resource quota for the + * consumer. + * Example of an ErrorInfo when the consumer "projects/123" fails to contact + * "compute.googleapis.com" service because consumer's resource quota usage + * has reached the maximum value set for the quota limit "VMsPerProject" + * on the quota metric "compute.googleapis.com/vms": + * { "reason": "RESOURCE_QUOTA_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "compute.googleapis.com", + * "quota_metric": "compute.googleapis.com/vms", + * "quota_limit": "VMsPerProject" + * } + * } + * Example of an ErrorInfo when the consumer "projects/123" checks resource + * quota on the service "dataflow.googleapis.com" and hits the organization + * quota limit "jobs-per-organization" on the metric + * "dataflow.googleapis.com/job_count". + * { "reason": "RESOURCE_QUOTA_EXCEEDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "dataflow.googleapis.com", + * "quota_metric": "dataflow.googleapis.com/job_count", + * "quota_limit": "jobs-per-organization" + * } + * } + *+ * + *
RESOURCE_QUOTA_EXCEEDED = 6;
+ */
+ public static final int RESOURCE_QUOTA_EXCEEDED_VALUE = 6;
+ /**
+ *
+ *
+ * + * The request whose associated billing account address is in a tax restricted + * location, violates the local tax restrictions when creating resources in + * the restricted region. + * Example of an ErrorInfo when creating the Cloud Storage Bucket in the + * container "projects/123" under a tax restricted region + * "locations/asia-northeast3": + * { "reason": "LOCATION_TAX_POLICY_VIOLATED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com", + * "location": "locations/asia-northeast3" + * } + * } + * This response indicates creating the Cloud Storage Bucket in + * "locations/asia-northeast3" violates the location tax restriction. + *+ * + *
LOCATION_TAX_POLICY_VIOLATED = 10;
+ */
+ public static final int LOCATION_TAX_POLICY_VIOLATED_VALUE = 10;
+ /**
+ *
+ *
+ * + * The request is denied because the caller does not have required permission + * on the user project "projects/123" or the user project is invalid. For more + * information, check the [userProject System + * Parameters](https://cloud.google.com/apis/docs/system-parameters). + * Example of an ErrorInfo when the caller is calling Cloud Storage service + * with insufficient permissions on the user project: + * { "reason": "USER_PROJECT_DENIED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
USER_PROJECT_DENIED = 11;
+ */
+ public static final int USER_PROJECT_DENIED_VALUE = 11;
+ /**
+ *
+ *
+ * + * The request is denied because the consumer "projects/123" is suspended due + * to Terms of Service(Tos) violations. Check [Project suspension + * guidelines](https://cloud.google.com/resource-manager/docs/project-suspension-guidelines) + * for more information. + * Example of an ErrorInfo when calling Cloud Storage service with the + * suspended consumer "projects/123": + * { "reason": "CONSUMER_SUSPENDED", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
CONSUMER_SUSPENDED = 12;
+ */
+ public static final int CONSUMER_SUSPENDED_VALUE = 12;
+ /**
+ *
+ *
+ * + * The request is denied because the associated consumer is invalid. It may be + * in a bad format, cannot be found, or have been deleted. + * Example of an ErrorInfo when calling Cloud Storage service with the + * invalid consumer "projects/123": + * { "reason": "CONSUMER_INVALID", + * "domain": "googleapis.com", + * "metadata": { + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
CONSUMER_INVALID = 14;
+ */
+ public static final int CONSUMER_INVALID_VALUE = 14;
+ /**
+ *
+ *
+ * + * The request is denied because it violates [VPC Service + * Controls](https://cloud.google.com/vpc-service-controls/docs/overview). + * The 'uid' field is a random generated identifier that customer can use it + * to search the audit log for a request rejected by VPC Service Controls. For + * more information, please refer [VPC Service Controls + * Troubleshooting](https://cloud.google.com/vpc-service-controls/docs/troubleshooting#unique-id) + * Example of an ErrorInfo when the consumer "projects/123" fails to call + * Cloud Storage service because the request is prohibited by the VPC Service + * Controls. + * { "reason": "SECURITY_POLICY_VIOLATED", + * "domain": "googleapis.com", + * "metadata": { + * "uid": "123456789abcde", + * "consumer": "projects/123", + * "service": "storage.googleapis.com" + * } + * } + *+ * + *
SECURITY_POLICY_VIOLATED = 15;
+ */
+ public static final int SECURITY_POLICY_VIOLATED_VALUE = 15;
+ /**
+ *
+ *
+ * + * The request is denied because the provided access token has expired. + * Example of an ErrorInfo when the request is calling Cloud Storage service + * with an expired access token: + * { "reason": "ACCESS_TOKEN_EXPIRED", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject" + * } + * } + *+ * + *
ACCESS_TOKEN_EXPIRED = 16;
+ */
+ public static final int ACCESS_TOKEN_EXPIRED_VALUE = 16;
+ /**
+ *
+ *
+ * + * The request is denied because the provided access token doesn't have at + * least one of the acceptable scopes required for the API. Please check + * [OAuth 2.0 Scopes for Google + * APIs](https://developers.google.com/identity/protocols/oauth2/scopes) for + * the list of the OAuth 2.0 scopes that you might need to request to access + * the API. + * Example of an ErrorInfo when the request is calling Cloud Storage service + * with an access token that is missing required scopes: + * { "reason": "ACCESS_TOKEN_SCOPE_INSUFFICIENT", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject" + * } + * } + *+ * + *
ACCESS_TOKEN_SCOPE_INSUFFICIENT = 17;
+ */
+ public static final int ACCESS_TOKEN_SCOPE_INSUFFICIENT_VALUE = 17;
+ /**
+ *
+ *
+ * + * The request is denied because the account associated with the provided + * access token is in an invalid state, such as disabled or deleted. + * For more information, see https://cloud.google.com/docs/authentication. + * Warning: For privacy reasons, the server may not be able to disclose the + * email address for some accounts. The client MUST NOT depend on the + * availability of the `email` attribute. + * Example of an ErrorInfo when the request is to the Cloud Storage API with + * an access token that is associated with a disabled or deleted [service + * account](http://cloud/iam/docs/service-accounts): + * { "reason": "ACCOUNT_STATE_INVALID", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject", + * "email": "user@123.iam.gserviceaccount.com" + * } + * } + *+ * + *
ACCOUNT_STATE_INVALID = 18;
+ */
+ public static final int ACCOUNT_STATE_INVALID_VALUE = 18;
+ /**
+ *
+ *
+ * + * The request is denied because the type of the provided access token is not + * supported by the API being called. + * Example of an ErrorInfo when the request is to the Cloud Storage API with + * an unsupported token type. + * { "reason": "ACCESS_TOKEN_TYPE_UNSUPPORTED", + * "domain": "googleapis.com", + * "metadata": { + * "service": "storage.googleapis.com", + * "method": "google.storage.v1.Storage.GetObject" + * } + * } + *+ * + *
ACCESS_TOKEN_TYPE_UNSUPPORTED = 19;
+ */
+ public static final int ACCESS_TOKEN_TYPE_UNSUPPORTED_VALUE = 19;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static ErrorReason valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static ErrorReason forNumber(int value) {
+ switch (value) {
+ case 0:
+ return ERROR_REASON_UNSPECIFIED;
+ case 1:
+ return SERVICE_DISABLED;
+ case 2:
+ return BILLING_DISABLED;
+ case 3:
+ return API_KEY_INVALID;
+ case 4:
+ return API_KEY_SERVICE_BLOCKED;
+ case 7:
+ return API_KEY_HTTP_REFERRER_BLOCKED;
+ case 8:
+ return API_KEY_IP_ADDRESS_BLOCKED;
+ case 9:
+ return API_KEY_ANDROID_APP_BLOCKED;
+ case 13:
+ return API_KEY_IOS_APP_BLOCKED;
+ case 5:
+ return RATE_LIMIT_EXCEEDED;
+ case 6:
+ return RESOURCE_QUOTA_EXCEEDED;
+ case 10:
+ return LOCATION_TAX_POLICY_VIOLATED;
+ case 11:
+ return USER_PROJECT_DENIED;
+ case 12:
+ return CONSUMER_SUSPENDED;
+ case 14:
+ return CONSUMER_INVALID;
+ case 15:
+ return SECURITY_POLICY_VIOLATED;
+ case 16:
+ return ACCESS_TOKEN_EXPIRED;
+ case 17:
+ return ACCESS_TOKEN_SCOPE_INSUFFICIENT;
+ case 18:
+ return ACCOUNT_STATE_INVALID;
+ case 19:
+ return ACCESS_TOKEN_TYPE_UNSUPPORTED;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * A field annotation that maps fields in an API-specific Operation object to + * their standard counterparts in google.longrunning.Operation. See + * OperationResponseMapping enum definition. + *+ * + *
extend .google.protobuf.FieldOptions { ... }
+ */
+ public static final com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.FieldOptions,
+ com.google.cloud.OperationResponseMapping>
+ operationField =
+ com.google.protobuf.GeneratedMessage.newFileScopedGeneratedExtension(
+ com.google.cloud.OperationResponseMapping.class, null);
+
+ public static final int OPERATION_REQUEST_FIELD_FIELD_NUMBER = 1150;
+ /**
+ *
+ *
+ * + * A field annotation that maps fields in the initial request message + * (the one which started the LRO) to their counterparts in the polling + * request message. For non-standard LRO, the polling response may be missing + * some of the information needed to make a subsequent polling request. The + * missing information (for example, project or region ID) is contained in the + * fields of the initial request message that this annotation must be applied + * to. The string value of the annotation corresponds to the name of the + * counterpart field in the polling request message that the annotated field's + * value will be copied to. + *+ * + *
extend .google.protobuf.FieldOptions { ... }
+ */
+ public static final com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.FieldOptions, java.lang.String>
+ operationRequestField =
+ com.google.protobuf.GeneratedMessage.newFileScopedGeneratedExtension(
+ java.lang.String.class, null);
+
+ public static final int OPERATION_RESPONSE_FIELD_FIELD_NUMBER = 1151;
+ /**
+ *
+ *
+ * + * A field annotation that maps fields in the polling request message to their + * counterparts in the initial and/or polling response message. The initial + * and the polling methods return an API-specific Operation object. Some of + * the fields from that response object must be reused in the subsequent + * request (like operation name/ID) to fully identify the polled operation. + * This annotation must be applied to the fields in the polling request + * message, the string value of the annotation must correspond to the name of + * the counterpart field in the Operation response object whose value will be + * copied to the annotated field. + *+ * + *
extend .google.protobuf.FieldOptions { ... }
+ */
+ public static final com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.FieldOptions, java.lang.String>
+ operationResponseField =
+ com.google.protobuf.GeneratedMessage.newFileScopedGeneratedExtension(
+ java.lang.String.class, null);
+
+ public static final int OPERATION_SERVICE_FIELD_NUMBER = 1249;
+ /**
+ *
+ *
+ * + * A method annotation that maps an LRO method (the one which starts an LRO) + * to the service, which will be used to poll for the operation status. The + * annotation must be applied to the method which starts an LRO, the string + * value of the annotation must correspond to the name of the service used to + * poll for the operation status. + *+ * + *
extend .google.protobuf.MethodOptions { ... }
+ */
+ public static final com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.MethodOptions, java.lang.String>
+ operationService =
+ com.google.protobuf.GeneratedMessage.newFileScopedGeneratedExtension(
+ java.lang.String.class, null);
+
+ public static final int OPERATION_POLLING_METHOD_FIELD_NUMBER = 1250;
+ /**
+ *
+ *
+ * + * A method annotation that marks methods that can be used for polling + * operation status (e.g. the MyPollingService.Get(MyPollingRequest) method). + *+ * + *
extend .google.protobuf.MethodOptions { ... }
+ */
+ public static final com.google.protobuf.GeneratedMessage.GeneratedExtension<
+ com.google.protobuf.DescriptorProtos.MethodOptions, java.lang.Boolean>
+ operationPollingMethod =
+ com.google.protobuf.GeneratedMessage.newFileScopedGeneratedExtension(
+ java.lang.Boolean.class, null);
+
+ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ return descriptor;
+ }
+
+ private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
+
+ static {
+ java.lang.String[] descriptorData = {
+ "\n&google/cloud/extended_operations.proto"
+ + "\022\014google.cloud\032 google/protobuf/descript"
+ + "or.proto*b\n\030OperationResponseMapping\022\r\n\t"
+ + "UNDEFINED\020\000\022\010\n\004NAME\020\001\022\n\n\006STATUS\020\002\022\016\n\nERR"
+ + "OR_CODE\020\003\022\021\n\rERROR_MESSAGE\020\004:_\n\017operatio"
+ + "n_field\022\035.google.protobuf.FieldOptions\030\375"
+ + "\010 \001(\0162&.google.cloud.OperationResponseMa"
+ + "pping:?\n\027operation_request_field\022\035.googl"
+ + "e.protobuf.FieldOptions\030\376\010 \001(\t:@\n\030operat"
+ + "ion_response_field\022\035.google.protobuf.Fie"
+ + "ldOptions\030\377\010 \001(\t::\n\021operation_service\022\036."
+ + "google.protobuf.MethodOptions\030\341\t \001(\t:A\n\030"
+ + "operation_polling_method\022\036.google.protob"
+ + "uf.MethodOptions\030\342\t \001(\010By\n\020com.google.cl"
+ + "oudB\027ExtendedOperationsProtoP\001ZCgoogle.g"
+ + "olang.org/genproto/googleapis/cloud/exte"
+ + "ndedops;extendedops\242\002\004GAPIb\006proto3"
+ };
+ descriptor =
+ com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
+ descriptorData,
+ new com.google.protobuf.Descriptors.FileDescriptor[] {
+ com.google.protobuf.DescriptorProtos.getDescriptor(),
+ });
+ operationField.internalInit(descriptor.getExtensions().get(0));
+ operationRequestField.internalInit(descriptor.getExtensions().get(1));
+ operationResponseField.internalInit(descriptor.getExtensions().get(2));
+ operationService.internalInit(descriptor.getExtensions().get(3));
+ operationPollingMethod.internalInit(descriptor.getExtensions().get(4));
+ com.google.protobuf.DescriptorProtos.getDescriptor();
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/proto-google-common-protos/src/main/java/com/google/cloud/OperationResponseMapping.java b/proto-google-common-protos/src/main/java/com/google/cloud/OperationResponseMapping.java
new file mode 100644
index 00000000..212af822
--- /dev/null
+++ b/proto-google-common-protos/src/main/java/com/google/cloud/OperationResponseMapping.java
@@ -0,0 +1,242 @@
+/*
+ * 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/extended_operations.proto
+
+package com.google.cloud;
+
+/**
+ *
+ *
+ * + * An enum to be used to mark the essential (for polling) fields in an + * API-specific Operation object. A custom Operation object may contain many + * different fields, but only few of them are essential to conduct a successful + * polling process. + *+ * + * Protobuf enum {@code google.cloud.OperationResponseMapping} + */ +public enum OperationResponseMapping implements com.google.protobuf.ProtocolMessageEnum { + /** + * + * + *
+ * Do not use. + *+ * + *
UNDEFINED = 0;
+ */
+ UNDEFINED(0),
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.name. + *+ * + *
NAME = 1;
+ */
+ NAME(1),
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.done. If the annotated field is of + * an enum type, `annotated_field_name == EnumType.DONE` semantics should be + * equivalent to `Operation.done == true`. If the annotated field is of type + * boolean, then it should follow the same semantics as Operation.done. + * Otherwise, a non-empty value should be treated as `Operation.done == true`. + *+ * + *
STATUS = 2;
+ */
+ STATUS(2),
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.error.code. + *+ * + *
ERROR_CODE = 3;
+ */
+ ERROR_CODE(3),
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.error.message. + *+ * + *
ERROR_MESSAGE = 4;
+ */
+ ERROR_MESSAGE(4),
+ UNRECOGNIZED(-1),
+ ;
+
+ /**
+ *
+ *
+ * + * Do not use. + *+ * + *
UNDEFINED = 0;
+ */
+ public static final int UNDEFINED_VALUE = 0;
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.name. + *+ * + *
NAME = 1;
+ */
+ public static final int NAME_VALUE = 1;
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.done. If the annotated field is of + * an enum type, `annotated_field_name == EnumType.DONE` semantics should be + * equivalent to `Operation.done == true`. If the annotated field is of type + * boolean, then it should follow the same semantics as Operation.done. + * Otherwise, a non-empty value should be treated as `Operation.done == true`. + *+ * + *
STATUS = 2;
+ */
+ public static final int STATUS_VALUE = 2;
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.error.code. + *+ * + *
ERROR_CODE = 3;
+ */
+ public static final int ERROR_CODE_VALUE = 3;
+ /**
+ *
+ *
+ * + * A field in an API-specific (custom) Operation object which carries the same + * meaning as google.longrunning.Operation.error.message. + *+ * + *
ERROR_MESSAGE = 4;
+ */
+ public static final int ERROR_MESSAGE_VALUE = 4;
+
+ public final int getNumber() {
+ if (this == UNRECOGNIZED) {
+ throw new java.lang.IllegalArgumentException(
+ "Can't get the number of an unknown enum value.");
+ }
+ return value;
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ * @deprecated Use {@link #forNumber(int)} instead.
+ */
+ @java.lang.Deprecated
+ public static OperationResponseMapping valueOf(int value) {
+ return forNumber(value);
+ }
+
+ /**
+ * @param value The numeric wire value of the corresponding enum entry.
+ * @return The enum associated with the given numeric wire value.
+ */
+ public static OperationResponseMapping forNumber(int value) {
+ switch (value) {
+ case 0:
+ return UNDEFINED;
+ case 1:
+ return NAME;
+ case 2:
+ return STATUS;
+ case 3:
+ return ERROR_CODE;
+ case 4:
+ return ERROR_MESSAGE;
+ default:
+ return null;
+ }
+ }
+
+ public static com.google.protobuf.Internal.EnumLiteMap+ * Localized variant of a text in a particular language. + *+ * + * Protobuf type {@code google.type.LocalizedText} + */ +public final class LocalizedText extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.type.LocalizedText) + LocalizedTextOrBuilder { + private static final long serialVersionUID = 0L; + // Use LocalizedText.newBuilder() to construct. + private LocalizedText(com.google.protobuf.GeneratedMessageV3.Builder> builder) { + super(builder); + } + + private LocalizedText() { + text_ = ""; + languageCode_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new LocalizedText(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private LocalizedText( + 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(); + + text_ = s; + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + languageCode_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.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.type.LocalizedTextProto.internal_static_google_type_LocalizedText_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.type.LocalizedTextProto + .internal_static_google_type_LocalizedText_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.type.LocalizedText.class, com.google.type.LocalizedText.Builder.class); + } + + public static final int TEXT_FIELD_NUMBER = 1; + private volatile java.lang.Object text_; + /** + * + * + *
+ * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return The text.
+ */
+ @java.lang.Override
+ public java.lang.String getText() {
+ java.lang.Object ref = text_;
+ 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();
+ text_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return The bytes for text.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getTextBytes() {
+ java.lang.Object ref = text_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ text_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+
+ public static final int LANGUAGE_CODE_FIELD_NUMBER = 2;
+ private volatile java.lang.Object languageCode_;
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return The languageCode.
+ */
+ @java.lang.Override
+ public java.lang.String getLanguageCode() {
+ java.lang.Object ref = languageCode_;
+ 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();
+ languageCode_ = s;
+ return s;
+ }
+ }
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return The bytes for languageCode.
+ */
+ @java.lang.Override
+ public com.google.protobuf.ByteString getLanguageCodeBytes() {
+ java.lang.Object ref = languageCode_;
+ if (ref instanceof java.lang.String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ languageCode_ = 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 (!getTextBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 1, text_);
+ }
+ if (!getLanguageCodeBytes().isEmpty()) {
+ com.google.protobuf.GeneratedMessageV3.writeString(output, 2, languageCode_);
+ }
+ unknownFields.writeTo(output);
+ }
+
+ @java.lang.Override
+ public int getSerializedSize() {
+ int size = memoizedSize;
+ if (size != -1) return size;
+
+ size = 0;
+ if (!getTextBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, text_);
+ }
+ if (!getLanguageCodeBytes().isEmpty()) {
+ size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, languageCode_);
+ }
+ 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.type.LocalizedText)) {
+ return super.equals(obj);
+ }
+ com.google.type.LocalizedText other = (com.google.type.LocalizedText) obj;
+
+ if (!getText().equals(other.getText())) return false;
+ if (!getLanguageCode().equals(other.getLanguageCode())) 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) + TEXT_FIELD_NUMBER;
+ hash = (53 * hash) + getText().hashCode();
+ hash = (37 * hash) + LANGUAGE_CODE_FIELD_NUMBER;
+ hash = (53 * hash) + getLanguageCode().hashCode();
+ hash = (29 * hash) + unknownFields.hashCode();
+ memoizedHashCode = hash;
+ return hash;
+ }
+
+ public static com.google.type.LocalizedText parseFrom(java.nio.ByteBuffer data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.type.LocalizedText parseFrom(
+ java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.type.LocalizedText parseFrom(com.google.protobuf.ByteString data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.type.LocalizedText 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.type.LocalizedText parseFrom(byte[] data)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data);
+ }
+
+ public static com.google.type.LocalizedText parseFrom(
+ byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
+ throws com.google.protobuf.InvalidProtocolBufferException {
+ return PARSER.parseFrom(data, extensionRegistry);
+ }
+
+ public static com.google.type.LocalizedText parseFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.type.LocalizedText 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.type.LocalizedText parseDelimitedFrom(java.io.InputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input);
+ }
+
+ public static com.google.type.LocalizedText 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.type.LocalizedText parseFrom(com.google.protobuf.CodedInputStream input)
+ throws java.io.IOException {
+ return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input);
+ }
+
+ public static com.google.type.LocalizedText 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.type.LocalizedText 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;
+ }
+ /**
+ *
+ *
+ * + * Localized variant of a text in a particular language. + *+ * + * Protobuf type {@code google.type.LocalizedText} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder
+ * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return The text.
+ */
+ public java.lang.String getText() {
+ java.lang.Object ref = text_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ text_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return The bytes for text.
+ */
+ public com.google.protobuf.ByteString getTextBytes() {
+ java.lang.Object ref = text_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ text_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @param value The text to set.
+ * @return This builder for chaining.
+ */
+ public Builder setText(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ text_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearText() {
+
+ text_ = getDefaultInstance().getText();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @param value The bytes for text to set.
+ * @return This builder for chaining.
+ */
+ public Builder setTextBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ text_ = value;
+ onChanged();
+ return this;
+ }
+
+ private java.lang.Object languageCode_ = "";
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return The languageCode.
+ */
+ public java.lang.String getLanguageCode() {
+ java.lang.Object ref = languageCode_;
+ if (!(ref instanceof java.lang.String)) {
+ com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref;
+ java.lang.String s = bs.toStringUtf8();
+ languageCode_ = s;
+ return s;
+ } else {
+ return (java.lang.String) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return The bytes for languageCode.
+ */
+ public com.google.protobuf.ByteString getLanguageCodeBytes() {
+ java.lang.Object ref = languageCode_;
+ if (ref instanceof String) {
+ com.google.protobuf.ByteString b =
+ com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref);
+ languageCode_ = b;
+ return b;
+ } else {
+ return (com.google.protobuf.ByteString) ref;
+ }
+ }
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @param value The languageCode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLanguageCode(java.lang.String value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+
+ languageCode_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearLanguageCode() {
+
+ languageCode_ = getDefaultInstance().getLanguageCode();
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @param value The bytes for languageCode to set.
+ * @return This builder for chaining.
+ */
+ public Builder setLanguageCodeBytes(com.google.protobuf.ByteString value) {
+ if (value == null) {
+ throw new NullPointerException();
+ }
+ checkByteStringIsUtf8(value);
+
+ languageCode_ = 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.type.LocalizedText)
+ }
+
+ // @@protoc_insertion_point(class_scope:google.type.LocalizedText)
+ private static final com.google.type.LocalizedText DEFAULT_INSTANCE;
+
+ static {
+ DEFAULT_INSTANCE = new com.google.type.LocalizedText();
+ }
+
+ public static com.google.type.LocalizedText getDefaultInstance() {
+ return DEFAULT_INSTANCE;
+ }
+
+ private static final com.google.protobuf.Parser+ * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return The text.
+ */
+ java.lang.String getText();
+ /**
+ *
+ *
+ * + * Localized string in the language corresponding to `language_code' below. + *+ * + *
string text = 1;
+ *
+ * @return The bytes for text.
+ */
+ com.google.protobuf.ByteString getTextBytes();
+
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return The languageCode.
+ */
+ java.lang.String getLanguageCode();
+ /**
+ *
+ *
+ * + * The text's BCP-47 language code, such as "en-US" or "sr-Latn". + * For more information, see + * http://www.unicode.org/reports/tr35/#Unicode_locale_identifier. + *+ * + *
string language_code = 2;
+ *
+ * @return The bytes for languageCode.
+ */
+ com.google.protobuf.ByteString getLanguageCodeBytes();
+}
diff --git a/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java b/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java
new file mode 100644
index 00000000..4d1559b6
--- /dev/null
+++ b/proto-google-common-protos/src/main/java/com/google/type/LocalizedTextProto.java
@@ -0,0 +1,63 @@
+/*
+ * 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/type/localized_text.proto
+
+package com.google.type;
+
+public final class LocalizedTextProto {
+ private LocalizedTextProto() {}
+
+ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistryLite registry) {}
+
+ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry registry) {
+ registerAllExtensions((com.google.protobuf.ExtensionRegistryLite) registry);
+ }
+
+ static final com.google.protobuf.Descriptors.Descriptor
+ internal_static_google_type_LocalizedText_descriptor;
+ static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
+ internal_static_google_type_LocalizedText_fieldAccessorTable;
+
+ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
+ return descriptor;
+ }
+
+ private static com.google.protobuf.Descriptors.FileDescriptor descriptor;
+
+ static {
+ java.lang.String[] descriptorData = {
+ "\n google/type/localized_text.proto\022\013goog"
+ + "le.type\"4\n\rLocalizedText\022\014\n\004text\030\001 \001(\t\022\025"
+ + "\n\rlanguage_code\030\002 \001(\tBz\n\017com.google.type"
+ + "B\022LocalizedTextProtoP\001ZHgoogle.golang.or"
+ + "g/genproto/googleapis/type/localized_tex"
+ + "t;localized_text\370\001\001\242\002\003GTPb\006proto3"
+ };
+ descriptor =
+ com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
+ descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] {});
+ internal_static_google_type_LocalizedText_descriptor = getDescriptor().getMessageTypes().get(0);
+ internal_static_google_type_LocalizedText_fieldAccessorTable =
+ new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
+ internal_static_google_type_LocalizedText_descriptor,
+ new java.lang.String[] {
+ "Text", "LanguageCode",
+ });
+ }
+
+ // @@protoc_insertion_point(outer_class_scope)
+}
diff --git a/proto-google-common-protos/src/main/proto/google/cloud/audit/bigquery_audit_metadata.proto b/proto-google-common-protos/src/main/proto/google/cloud/audit/bigquery_audit_metadata.proto
deleted file mode 100644
index f3a87ac5..00000000
--- a/proto-google-common-protos/src/main/proto/google/cloud/audit/bigquery_audit_metadata.proto
+++ /dev/null
@@ -1,1184 +0,0 @@
-// Copyright 2021 Google LLC
-//
-// Licensed under the Apache License, Version 2.0 (the "License");
-// you may not use this file except in compliance with the License.
-// You may obtain a copy of the License at
-//
-// http://www.apache.org/licenses/LICENSE-2.0
-//
-// Unless required by applicable law or agreed to in writing, software
-// distributed under the License is distributed on an "AS IS" BASIS,
-// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-// See the License for the specific language governing permissions and
-// limitations under the License.
-
-syntax = "proto3";
-
-package google.cloud.audit;
-
-import "google/iam/v1/policy.proto";
-import "google/protobuf/duration.proto";
-import "google/protobuf/timestamp.proto";
-import "google/rpc/status.proto";
-
-option csharp_namespace = "Google.Cloud.Audit";
-option go_package = "google.golang.org/genproto/googleapis/cloud/audit;audit";
-option java_multiple_files = true;
-option java_outer_classname = "BigQueryAuditMetadataProto";
-option java_package = "com.google.cloud.audit";
-option objc_class_prefix = "GCA";
-option php_namespace = "Google\\Cloud\\Audit";
-
-// Audit log format for BigQuery cloud audit logs metadata.
-//
-message BigQueryAuditMetadata {
- // Job insertion event.
- message JobInsertion {
- // Describes how the job was inserted.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
-
- // Job was inserted using the jobs.insert API.
- JOB_INSERT_REQUEST = 1;
-
- // Job was inserted using the jobs.query RPC.
- QUERY_REQUEST = 2;
- }
-
- // Job metadata.
- Job job = 1;
-
- // Describes how the job was inserted.
- Reason reason = 2;
- }
-
- // Job state change event.
- message JobChange {
- // Job state before the job state change.
- JobState before = 1;
-
- // Job state after the job state change.
- JobState after = 2;
-
- // Job metadata.
- Job job = 3;
- }
-
- // Dataset creation event.
- message DatasetCreation {
- // Describes how the dataset was created.
- enum Reason {
- // Unknown.
- REASON_UNSPECIFIED = 0;
-
- // Dataset was created using the datasets.create API.
- CREATE = 1;
-
- // Dataset was created using a query job, e.g., CREATE SCHEMA statement.
- QUERY = 2;
- }
-
- // Dataset metadata.
- Dataset dataset = 1;
-
- // Describes how the dataset was created.
- Reason reason = 2;
-
- // The URI of the job that created the dataset.
- // Present if the reason is QUERY.
- //
- // Format: `projects/