From d0724008036834954d14c940d470afdfab22fc70 Mon Sep 17 00:00:00 2001 From: "gcf-owl-bot[bot]" <78513119+gcf-owl-bot[bot]@users.noreply.github.com> Date: Fri, 7 Jul 2023 14:35:16 -0400 Subject: [PATCH] feat: [bigqueryconnection] add support for Salesforce connections, which are usable only by allowlisted partners (#9621) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * feat: add support for Salesforce connections, which are usable only by allowlisted partners feat: add cloud spanner connection properties - use_data_boost feat: add cloud spanner connection properties - max_parallelism PiperOrigin-RevId: 546084599 Source-Link: https://github.com/googleapis/googleapis/commit/b34897064113f06083e6d5bd217826ec2c91abe3 Source-Link: https://github.com/googleapis/googleapis-gen/commit/fd0c44b91e09af2c5681031c4975590e0faf7792 Copy-Tag: eyJwIjoiamF2YS1iaWdxdWVyeWNvbm5lY3Rpb24vLk93bEJvdC55YW1sIiwiaCI6ImZkMGM0NGI5MWUwOWFmMmM1NjgxMDMxYzQ5NzU1OTBlMGZhZjc3OTIifQ== * 🦉 Updates from OwlBot post-processor See https://github.com/googleapis/repo-automation-bots/blob/main/packages/owl-bot/README.md --------- Co-authored-by: Owl Bot --- java-bigqueryconnection/README.md | 4 +- .../bigquery/connection/v1/AwsProperties.java | 8 +- .../connection/v1/AwsPropertiesOrBuilder.java | 4 +- .../connection/v1/CloudSpannerProperties.java | 364 ++++-- .../v1/CloudSpannerPropertiesOrBuilder.java | 70 +- .../bigquery/connection/v1/Connection.java | 390 ++++++- .../connection/v1/ConnectionOrBuilder.java | 48 + .../connection/v1/ConnectionOuterClass.java | 228 ++-- .../v1/SalesforceDataCloudProperties.java | 1009 +++++++++++++++++ ...alesforceDataCloudPropertiesOrBuilder.java | 102 ++ .../connection/v1/SparkProperties.java | 14 +- .../v1/SparkPropertiesOrBuilder.java | 4 +- .../bigquery/connection/v1/connection.proto | 56 +- 13 files changed, 2070 insertions(+), 231 deletions(-) create mode 100644 java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudProperties.java create mode 100644 java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudPropertiesOrBuilder.java diff --git a/java-bigqueryconnection/README.md b/java-bigqueryconnection/README.md index 0017b0511510..bc9183f0f53a 100644 --- a/java-bigqueryconnection/README.md +++ b/java-bigqueryconnection/README.md @@ -20,7 +20,7 @@ If you are using Maven with [BOM][libraries-bom], add this to your pom.xml file: com.google.cloud libraries-bom - 26.16.0 + 26.18.0 pom import @@ -195,7 +195,7 @@ Java is a registered trademark of Oracle and/or its affiliates. [kokoro-badge-link-5]: http://storage.googleapis.com/cloud-devrel-public/java/badges/google-cloud-java/java11.html [stability-image]: https://img.shields.io/badge/stability-stable-green [maven-version-image]: https://img.shields.io/maven-central/v/com.google.cloud/google-cloud-bigqueryconnection.svg -[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigqueryconnection/2.21.0 +[maven-version-link]: https://central.sonatype.com/artifact/com.google.cloud/google-cloud-bigqueryconnection/2.22.0 [authentication]: https://github.com/googleapis/google-cloud-java#authentication [auth-scopes]: https://developers.google.com/identity/protocols/oauth2/scopes [predefined-iam-roles]: https://cloud.google.com/iam/docs/understanding-roles#predefined_roles diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java index 74186bc6d9d0..9ed6adc2e10a 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java @@ -125,7 +125,7 @@ public AuthenticationMethodCase getAuthenticationMethodCase() { * * * @deprecated google.cloud.bigquery.connection.v1.AwsProperties.cross_account_role is deprecated. - * See google/cloud/bigquery/connection/v1/connection.proto;l=356 + * See google/cloud/bigquery/connection/v1/connection.proto;l=378 * @return Whether the crossAccountRole field is set. */ @java.lang.Override @@ -147,7 +147,7 @@ public boolean hasCrossAccountRole() { * * * @deprecated google.cloud.bigquery.connection.v1.AwsProperties.cross_account_role is deprecated. - * See google/cloud/bigquery/connection/v1/connection.proto;l=356 + * See google/cloud/bigquery/connection/v1/connection.proto;l=378 * @return The crossAccountRole. */ @java.lang.Override @@ -678,7 +678,7 @@ public Builder clearAuthenticationMethod() { * * * @deprecated google.cloud.bigquery.connection.v1.AwsProperties.cross_account_role is - * deprecated. See google/cloud/bigquery/connection/v1/connection.proto;l=356 + * deprecated. See google/cloud/bigquery/connection/v1/connection.proto;l=378 * @return Whether the crossAccountRole field is set. */ @java.lang.Override @@ -700,7 +700,7 @@ public boolean hasCrossAccountRole() { * * * @deprecated google.cloud.bigquery.connection.v1.AwsProperties.cross_account_role is - * deprecated. See google/cloud/bigquery/connection/v1/connection.proto;l=356 + * deprecated. See google/cloud/bigquery/connection/v1/connection.proto;l=378 * @return The crossAccountRole. */ @java.lang.Override diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java index 9d8e80997844..18d289d030f0 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java @@ -37,7 +37,7 @@ public interface AwsPropertiesOrBuilder * * * @deprecated google.cloud.bigquery.connection.v1.AwsProperties.cross_account_role is deprecated. - * See google/cloud/bigquery/connection/v1/connection.proto;l=356 + * See google/cloud/bigquery/connection/v1/connection.proto;l=378 * @return Whether the crossAccountRole field is set. */ @java.lang.Deprecated @@ -56,7 +56,7 @@ public interface AwsPropertiesOrBuilder * * * @deprecated google.cloud.bigquery.connection.v1.AwsProperties.cross_account_role is deprecated. - * See google/cloud/bigquery/connection/v1/connection.proto;l=356 + * See google/cloud/bigquery/connection/v1/connection.proto;l=378 * @return The crossAccountRole. */ @java.lang.Deprecated diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerProperties.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerProperties.java index 0da45d62d2ef..4ce8b57881b2 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerProperties.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerProperties.java @@ -132,6 +132,31 @@ public boolean getUseParallelism() { return useParallelism_; } + public static final int MAX_PARALLELISM_FIELD_NUMBER = 5; + private int maxParallelism_ = 0; + /** + * + * + *
+   * Allows setting max parallelism per query when executing on Spanner
+   * independent compute resources. If unspecified, default values of
+   * parallelism are chosen that are dependent on the Cloud Spanner instance
+   * configuration.
+   *
+   * REQUIRES: `use_parallelism` must be set.
+   * REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be
+   * set.
+   * 
+ * + * int32 max_parallelism = 5; + * + * @return The maxParallelism. + */ + @java.lang.Override + public int getMaxParallelism() { + return maxParallelism_; + } + public static final int USE_SERVERLESS_ANALYTICS_FIELD_NUMBER = 3; private boolean useServerlessAnalytics_ = false; /** @@ -152,6 +177,29 @@ public boolean getUseServerlessAnalytics() { return useServerlessAnalytics_; } + public static final int USE_DATA_BOOST_FIELD_NUMBER = 6; + private boolean useDataBoost_ = false; + /** + * + * + *
+   * If set, the request will be executed via Spanner independent compute
+   * resources.
+   * REQUIRES: `use_parallelism` must be set.
+   *
+   * NOTE: `use_serverless_analytics` will be deprecated. Prefer
+   * `use_data_boost` over `use_serverless_analytics`.
+   * 
+ * + * bool use_data_boost = 6; + * + * @return The useDataBoost. + */ + @java.lang.Override + public boolean getUseDataBoost() { + return useDataBoost_; + } + public static final int DATABASE_ROLE_FIELD_NUMBER = 4; @SuppressWarnings("serial") @@ -161,17 +209,15 @@ public boolean getUseServerlessAnalytics() { * *
    * Optional. Cloud Spanner database role for fine-grained access control.
-   * A database role is a collection of fine-grained access privileges. Example:
-   * Admin predefines roles that provides user a set of permissions (SELECT,
-   * INSERT, ..). The user can then specify a predefined role on a connection to
-   * execute their Cloud Spanner query. The role is passthrough here. If the
-   * user is not authorized to use the specified role, they get an error. This
-   * validation happens on Cloud Spanner.
+   * The Cloud Spanner admin should have provisioned the database role with
+   * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+   * only use roles provided by their Cloud Spanner admins.
    *
-   * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+   * For more details, see [About fine-grained access control]
+   * (https://cloud.google.com/spanner/docs/fgac-about).
    *
-   * REQUIRES: database role name must start with uppercase/lowercase letter
-   * and only contain uppercase/lowercase letters, numbers, and underscores.
+   * REQUIRES: The database role name must start with a letter, and can only
+   * contain letters, numbers, and underscores.
    * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -195,17 +241,15 @@ public java.lang.String getDatabaseRole() { * *
    * Optional. Cloud Spanner database role for fine-grained access control.
-   * A database role is a collection of fine-grained access privileges. Example:
-   * Admin predefines roles that provides user a set of permissions (SELECT,
-   * INSERT, ..). The user can then specify a predefined role on a connection to
-   * execute their Cloud Spanner query. The role is passthrough here. If the
-   * user is not authorized to use the specified role, they get an error. This
-   * validation happens on Cloud Spanner.
+   * The Cloud Spanner admin should have provisioned the database role with
+   * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+   * only use roles provided by their Cloud Spanner admins.
    *
-   * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+   * For more details, see [About fine-grained access control]
+   * (https://cloud.google.com/spanner/docs/fgac-about).
    *
-   * REQUIRES: database role name must start with uppercase/lowercase letter
-   * and only contain uppercase/lowercase letters, numbers, and underscores.
+   * REQUIRES: The database role name must start with a letter, and can only
+   * contain letters, numbers, and underscores.
    * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -251,6 +295,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(databaseRole_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 4, databaseRole_); } + if (maxParallelism_ != 0) { + output.writeInt32(5, maxParallelism_); + } + if (useDataBoost_ != false) { + output.writeBool(6, useDataBoost_); + } getUnknownFields().writeTo(output); } @@ -272,6 +322,12 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(databaseRole_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(4, databaseRole_); } + if (maxParallelism_ != 0) { + size += com.google.protobuf.CodedOutputStream.computeInt32Size(5, maxParallelism_); + } + if (useDataBoost_ != false) { + size += com.google.protobuf.CodedOutputStream.computeBoolSize(6, useDataBoost_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -290,7 +346,9 @@ public boolean equals(final java.lang.Object obj) { if (!getDatabase().equals(other.getDatabase())) return false; if (getUseParallelism() != other.getUseParallelism()) return false; + if (getMaxParallelism() != other.getMaxParallelism()) return false; if (getUseServerlessAnalytics() != other.getUseServerlessAnalytics()) return false; + if (getUseDataBoost() != other.getUseDataBoost()) return false; if (!getDatabaseRole().equals(other.getDatabaseRole())) return false; if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; @@ -307,8 +365,12 @@ public int hashCode() { hash = (53 * hash) + getDatabase().hashCode(); hash = (37 * hash) + USE_PARALLELISM_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUseParallelism()); + hash = (37 * hash) + MAX_PARALLELISM_FIELD_NUMBER; + hash = (53 * hash) + getMaxParallelism(); hash = (37 * hash) + USE_SERVERLESS_ANALYTICS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUseServerlessAnalytics()); + hash = (37 * hash) + USE_DATA_BOOST_FIELD_NUMBER; + hash = (53 * hash) + com.google.protobuf.Internal.hashBoolean(getUseDataBoost()); hash = (37 * hash) + DATABASE_ROLE_FIELD_NUMBER; hash = (53 * hash) + getDatabaseRole().hashCode(); hash = (29 * hash) + getUnknownFields().hashCode(); @@ -453,7 +515,9 @@ public Builder clear() { bitField0_ = 0; database_ = ""; useParallelism_ = false; + maxParallelism_ = 0; useServerlessAnalytics_ = false; + useDataBoost_ = false; databaseRole_ = ""; return this; } @@ -500,9 +564,15 @@ private void buildPartial0( result.useParallelism_ = useParallelism_; } if (((from_bitField0_ & 0x00000004) != 0)) { - result.useServerlessAnalytics_ = useServerlessAnalytics_; + result.maxParallelism_ = maxParallelism_; } if (((from_bitField0_ & 0x00000008) != 0)) { + result.useServerlessAnalytics_ = useServerlessAnalytics_; + } + if (((from_bitField0_ & 0x00000010) != 0)) { + result.useDataBoost_ = useDataBoost_; + } + if (((from_bitField0_ & 0x00000020) != 0)) { result.databaseRole_ = databaseRole_; } } @@ -562,12 +632,18 @@ public Builder mergeFrom(com.google.cloud.bigquery.connection.v1.CloudSpannerPro if (other.getUseParallelism() != false) { setUseParallelism(other.getUseParallelism()); } + if (other.getMaxParallelism() != 0) { + setMaxParallelism(other.getMaxParallelism()); + } if (other.getUseServerlessAnalytics() != false) { setUseServerlessAnalytics(other.getUseServerlessAnalytics()); } + if (other.getUseDataBoost() != false) { + setUseDataBoost(other.getUseDataBoost()); + } if (!other.getDatabaseRole().isEmpty()) { databaseRole_ = other.databaseRole_; - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000020; onChanged(); } this.mergeUnknownFields(other.getUnknownFields()); @@ -611,15 +687,27 @@ public Builder mergeFrom( case 24: { useServerlessAnalytics_ = input.readBool(); - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000008; break; } // case 24 case 34: { databaseRole_ = input.readStringRequireUtf8(); - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000020; break; } // case 34 + case 40: + { + maxParallelism_ = input.readInt32(); + bitField0_ |= 0x00000004; + break; + } // case 40 + case 48: + { + useDataBoost_ = input.readBool(); + bitField0_ |= 0x00000010; + break; + } // case 48 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -798,6 +886,80 @@ public Builder clearUseParallelism() { return this; } + private int maxParallelism_; + /** + * + * + *
+     * Allows setting max parallelism per query when executing on Spanner
+     * independent compute resources. If unspecified, default values of
+     * parallelism are chosen that are dependent on the Cloud Spanner instance
+     * configuration.
+     *
+     * REQUIRES: `use_parallelism` must be set.
+     * REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be
+     * set.
+     * 
+ * + * int32 max_parallelism = 5; + * + * @return The maxParallelism. + */ + @java.lang.Override + public int getMaxParallelism() { + return maxParallelism_; + } + /** + * + * + *
+     * Allows setting max parallelism per query when executing on Spanner
+     * independent compute resources. If unspecified, default values of
+     * parallelism are chosen that are dependent on the Cloud Spanner instance
+     * configuration.
+     *
+     * REQUIRES: `use_parallelism` must be set.
+     * REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be
+     * set.
+     * 
+ * + * int32 max_parallelism = 5; + * + * @param value The maxParallelism to set. + * @return This builder for chaining. + */ + public Builder setMaxParallelism(int value) { + + maxParallelism_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * + * + *
+     * Allows setting max parallelism per query when executing on Spanner
+     * independent compute resources. If unspecified, default values of
+     * parallelism are chosen that are dependent on the Cloud Spanner instance
+     * configuration.
+     *
+     * REQUIRES: `use_parallelism` must be set.
+     * REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be
+     * set.
+     * 
+ * + * int32 max_parallelism = 5; + * + * @return This builder for chaining. + */ + public Builder clearMaxParallelism() { + bitField0_ = (bitField0_ & ~0x00000004); + maxParallelism_ = 0; + onChanged(); + return this; + } + private boolean useServerlessAnalytics_; /** * @@ -833,7 +995,7 @@ public boolean getUseServerlessAnalytics() { public Builder setUseServerlessAnalytics(boolean value) { useServerlessAnalytics_ = value; - bitField0_ |= 0x00000004; + bitField0_ |= 0x00000008; onChanged(); return this; } @@ -851,29 +1013,95 @@ public Builder setUseServerlessAnalytics(boolean value) { * @return This builder for chaining. */ public Builder clearUseServerlessAnalytics() { - bitField0_ = (bitField0_ & ~0x00000004); + bitField0_ = (bitField0_ & ~0x00000008); useServerlessAnalytics_ = false; onChanged(); return this; } + private boolean useDataBoost_; + /** + * + * + *
+     * If set, the request will be executed via Spanner independent compute
+     * resources.
+     * REQUIRES: `use_parallelism` must be set.
+     *
+     * NOTE: `use_serverless_analytics` will be deprecated. Prefer
+     * `use_data_boost` over `use_serverless_analytics`.
+     * 
+ * + * bool use_data_boost = 6; + * + * @return The useDataBoost. + */ + @java.lang.Override + public boolean getUseDataBoost() { + return useDataBoost_; + } + /** + * + * + *
+     * If set, the request will be executed via Spanner independent compute
+     * resources.
+     * REQUIRES: `use_parallelism` must be set.
+     *
+     * NOTE: `use_serverless_analytics` will be deprecated. Prefer
+     * `use_data_boost` over `use_serverless_analytics`.
+     * 
+ * + * bool use_data_boost = 6; + * + * @param value The useDataBoost to set. + * @return This builder for chaining. + */ + public Builder setUseDataBoost(boolean value) { + + useDataBoost_ = value; + bitField0_ |= 0x00000010; + onChanged(); + return this; + } + /** + * + * + *
+     * If set, the request will be executed via Spanner independent compute
+     * resources.
+     * REQUIRES: `use_parallelism` must be set.
+     *
+     * NOTE: `use_serverless_analytics` will be deprecated. Prefer
+     * `use_data_boost` over `use_serverless_analytics`.
+     * 
+ * + * bool use_data_boost = 6; + * + * @return This builder for chaining. + */ + public Builder clearUseDataBoost() { + bitField0_ = (bitField0_ & ~0x00000010); + useDataBoost_ = false; + onChanged(); + return this; + } + private java.lang.Object databaseRole_ = ""; /** * * *
      * Optional. Cloud Spanner database role for fine-grained access control.
-     * A database role is a collection of fine-grained access privileges. Example:
-     * Admin predefines roles that provides user a set of permissions (SELECT,
-     * INSERT, ..). The user can then specify a predefined role on a connection to
-     * execute their Cloud Spanner query. The role is passthrough here. If the
-     * user is not authorized to use the specified role, they get an error. This
-     * validation happens on Cloud Spanner.
+     * The Cloud Spanner admin should have provisioned the database role with
+     * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+     * only use roles provided by their Cloud Spanner admins.
      *
-     * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+     * For more details, see [About fine-grained access control]
+     * (https://cloud.google.com/spanner/docs/fgac-about).
      *
-     * REQUIRES: database role name must start with uppercase/lowercase letter
-     * and only contain uppercase/lowercase letters, numbers, and underscores.
+     * REQUIRES: The database role name must start with a letter, and can only
+     * contain letters, numbers, and underscores.
      * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -896,17 +1124,15 @@ public java.lang.String getDatabaseRole() { * *
      * Optional. Cloud Spanner database role for fine-grained access control.
-     * A database role is a collection of fine-grained access privileges. Example:
-     * Admin predefines roles that provides user a set of permissions (SELECT,
-     * INSERT, ..). The user can then specify a predefined role on a connection to
-     * execute their Cloud Spanner query. The role is passthrough here. If the
-     * user is not authorized to use the specified role, they get an error. This
-     * validation happens on Cloud Spanner.
+     * The Cloud Spanner admin should have provisioned the database role with
+     * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+     * only use roles provided by their Cloud Spanner admins.
      *
-     * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+     * For more details, see [About fine-grained access control]
+     * (https://cloud.google.com/spanner/docs/fgac-about).
      *
-     * REQUIRES: database role name must start with uppercase/lowercase letter
-     * and only contain uppercase/lowercase letters, numbers, and underscores.
+     * REQUIRES: The database role name must start with a letter, and can only
+     * contain letters, numbers, and underscores.
      * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -929,17 +1155,15 @@ public com.google.protobuf.ByteString getDatabaseRoleBytes() { * *
      * Optional. Cloud Spanner database role for fine-grained access control.
-     * A database role is a collection of fine-grained access privileges. Example:
-     * Admin predefines roles that provides user a set of permissions (SELECT,
-     * INSERT, ..). The user can then specify a predefined role on a connection to
-     * execute their Cloud Spanner query. The role is passthrough here. If the
-     * user is not authorized to use the specified role, they get an error. This
-     * validation happens on Cloud Spanner.
+     * The Cloud Spanner admin should have provisioned the database role with
+     * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+     * only use roles provided by their Cloud Spanner admins.
      *
-     * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+     * For more details, see [About fine-grained access control]
+     * (https://cloud.google.com/spanner/docs/fgac-about).
      *
-     * REQUIRES: database role name must start with uppercase/lowercase letter
-     * and only contain uppercase/lowercase letters, numbers, and underscores.
+     * REQUIRES: The database role name must start with a letter, and can only
+     * contain letters, numbers, and underscores.
      * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -952,7 +1176,7 @@ public Builder setDatabaseRole(java.lang.String value) { throw new NullPointerException(); } databaseRole_ = value; - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000020; onChanged(); return this; } @@ -961,17 +1185,15 @@ public Builder setDatabaseRole(java.lang.String value) { * *
      * Optional. Cloud Spanner database role for fine-grained access control.
-     * A database role is a collection of fine-grained access privileges. Example:
-     * Admin predefines roles that provides user a set of permissions (SELECT,
-     * INSERT, ..). The user can then specify a predefined role on a connection to
-     * execute their Cloud Spanner query. The role is passthrough here. If the
-     * user is not authorized to use the specified role, they get an error. This
-     * validation happens on Cloud Spanner.
+     * The Cloud Spanner admin should have provisioned the database role with
+     * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+     * only use roles provided by their Cloud Spanner admins.
      *
-     * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+     * For more details, see [About fine-grained access control]
+     * (https://cloud.google.com/spanner/docs/fgac-about).
      *
-     * REQUIRES: database role name must start with uppercase/lowercase letter
-     * and only contain uppercase/lowercase letters, numbers, and underscores.
+     * REQUIRES: The database role name must start with a letter, and can only
+     * contain letters, numbers, and underscores.
      * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -980,7 +1202,7 @@ public Builder setDatabaseRole(java.lang.String value) { */ public Builder clearDatabaseRole() { databaseRole_ = getDefaultInstance().getDatabaseRole(); - bitField0_ = (bitField0_ & ~0x00000008); + bitField0_ = (bitField0_ & ~0x00000020); onChanged(); return this; } @@ -989,17 +1211,15 @@ public Builder clearDatabaseRole() { * *
      * Optional. Cloud Spanner database role for fine-grained access control.
-     * A database role is a collection of fine-grained access privileges. Example:
-     * Admin predefines roles that provides user a set of permissions (SELECT,
-     * INSERT, ..). The user can then specify a predefined role on a connection to
-     * execute their Cloud Spanner query. The role is passthrough here. If the
-     * user is not authorized to use the specified role, they get an error. This
-     * validation happens on Cloud Spanner.
+     * The Cloud Spanner admin should have provisioned the database role with
+     * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+     * only use roles provided by their Cloud Spanner admins.
      *
-     * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+     * For more details, see [About fine-grained access control]
+     * (https://cloud.google.com/spanner/docs/fgac-about).
      *
-     * REQUIRES: database role name must start with uppercase/lowercase letter
-     * and only contain uppercase/lowercase letters, numbers, and underscores.
+     * REQUIRES: The database role name must start with a letter, and can only
+     * contain letters, numbers, and underscores.
      * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -1013,7 +1233,7 @@ public Builder setDatabaseRoleBytes(com.google.protobuf.ByteString value) { } checkByteStringIsUtf8(value); databaseRole_ = value; - bitField0_ |= 0x00000008; + bitField0_ |= 0x00000020; onChanged(); return this; } diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerPropertiesOrBuilder.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerPropertiesOrBuilder.java index 70275191f0ce..a419d68c413d 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerPropertiesOrBuilder.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSpannerPropertiesOrBuilder.java @@ -61,6 +61,26 @@ public interface CloudSpannerPropertiesOrBuilder */ boolean getUseParallelism(); + /** + * + * + *
+   * Allows setting max parallelism per query when executing on Spanner
+   * independent compute resources. If unspecified, default values of
+   * parallelism are chosen that are dependent on the Cloud Spanner instance
+   * configuration.
+   *
+   * REQUIRES: `use_parallelism` must be set.
+   * REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be
+   * set.
+   * 
+ * + * int32 max_parallelism = 5; + * + * @return The maxParallelism. + */ + int getMaxParallelism(); + /** * * @@ -76,22 +96,38 @@ public interface CloudSpannerPropertiesOrBuilder */ boolean getUseServerlessAnalytics(); + /** + * + * + *
+   * If set, the request will be executed via Spanner independent compute
+   * resources.
+   * REQUIRES: `use_parallelism` must be set.
+   *
+   * NOTE: `use_serverless_analytics` will be deprecated. Prefer
+   * `use_data_boost` over `use_serverless_analytics`.
+   * 
+ * + * bool use_data_boost = 6; + * + * @return The useDataBoost. + */ + boolean getUseDataBoost(); + /** * * *
    * Optional. Cloud Spanner database role for fine-grained access control.
-   * A database role is a collection of fine-grained access privileges. Example:
-   * Admin predefines roles that provides user a set of permissions (SELECT,
-   * INSERT, ..). The user can then specify a predefined role on a connection to
-   * execute their Cloud Spanner query. The role is passthrough here. If the
-   * user is not authorized to use the specified role, they get an error. This
-   * validation happens on Cloud Spanner.
+   * The Cloud Spanner admin should have provisioned the database role with
+   * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+   * only use roles provided by their Cloud Spanner admins.
    *
-   * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+   * For more details, see [About fine-grained access control]
+   * (https://cloud.google.com/spanner/docs/fgac-about).
    *
-   * REQUIRES: database role name must start with uppercase/lowercase letter
-   * and only contain uppercase/lowercase letters, numbers, and underscores.
+   * REQUIRES: The database role name must start with a letter, and can only
+   * contain letters, numbers, and underscores.
    * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; @@ -104,17 +140,15 @@ public interface CloudSpannerPropertiesOrBuilder * *
    * Optional. Cloud Spanner database role for fine-grained access control.
-   * A database role is a collection of fine-grained access privileges. Example:
-   * Admin predefines roles that provides user a set of permissions (SELECT,
-   * INSERT, ..). The user can then specify a predefined role on a connection to
-   * execute their Cloud Spanner query. The role is passthrough here. If the
-   * user is not authorized to use the specified role, they get an error. This
-   * validation happens on Cloud Spanner.
+   * The Cloud Spanner admin should have provisioned the database role with
+   * appropriate permissions, such as `SELECT` and `INSERT`. Other users should
+   * only use roles provided by their Cloud Spanner admins.
    *
-   * See https://cloud.google.com/spanner/docs/fgac-about for more details.
+   * For more details, see [About fine-grained access control]
+   * (https://cloud.google.com/spanner/docs/fgac-about).
    *
-   * REQUIRES: database role name must start with uppercase/lowercase letter
-   * and only contain uppercase/lowercase letters, numbers, and underscores.
+   * REQUIRES: The database role name must start with a letter, and can only
+   * contain letters, numbers, and underscores.
    * 
* * string database_role = 4 [(.google.api.field_behavior) = OPTIONAL]; diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java index 80a64f939b5d..b1814b9e7948 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java @@ -80,6 +80,7 @@ public enum PropertiesCase CLOUD_SPANNER(21), CLOUD_RESOURCE(22), SPARK(23), + SALESFORCE_DATA_CLOUD(24), PROPERTIES_NOT_SET(0); private final int value; @@ -110,6 +111,8 @@ public static PropertiesCase forNumber(int value) { return CLOUD_RESOURCE; case 23: return SPARK; + case 24: + return SALESFORCE_DATA_CLOUD; case 0: return PROPERTIES_NOT_SET; default: @@ -590,6 +593,73 @@ public com.google.cloud.bigquery.connection.v1.SparkPropertiesOrBuilder getSpark return com.google.cloud.bigquery.connection.v1.SparkProperties.getDefaultInstance(); } + public static final int SALESFORCE_DATA_CLOUD_FIELD_NUMBER = 24; + /** + * + * + *
+   * Optional. Salesforce DataCloud properties. This field is intended for
+   * use only by Salesforce partner projects. This field contains properties
+   * for your Salesforce DataCloud connection.
+   * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the salesforceDataCloud field is set. + */ + @java.lang.Override + public boolean hasSalesforceDataCloud() { + return propertiesCase_ == 24; + } + /** + * + * + *
+   * Optional. Salesforce DataCloud properties. This field is intended for
+   * use only by Salesforce partner projects. This field contains properties
+   * for your Salesforce DataCloud connection.
+   * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The salesforceDataCloud. + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + getSalesforceDataCloud() { + if (propertiesCase_ == 24) { + return (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) properties_; + } + return com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } + /** + * + * + *
+   * Optional. Salesforce DataCloud properties. This field is intended for
+   * use only by Salesforce partner projects. This field contains properties
+   * for your Salesforce DataCloud connection.
+   * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder + getSalesforceDataCloudOrBuilder() { + if (propertiesCase_ == 24) { + return (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) properties_; + } + return com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } + public static final int CREATION_TIME_FIELD_NUMBER = 5; private long creationTime_ = 0L; /** @@ -699,6 +769,10 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io output.writeMessage( 23, (com.google.cloud.bigquery.connection.v1.SparkProperties) properties_); } + if (propertiesCase_ == 24) { + output.writeMessage( + 24, (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) properties_); + } getUnknownFields().writeTo(output); } @@ -756,6 +830,12 @@ public int getSerializedSize() { com.google.protobuf.CodedOutputStream.computeMessageSize( 23, (com.google.cloud.bigquery.connection.v1.SparkProperties) properties_); } + if (propertiesCase_ == 24) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 24, + (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) properties_); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -798,6 +878,9 @@ public boolean equals(final java.lang.Object obj) { case 23: if (!getSpark().equals(other.getSpark())) return false; break; + case 24: + if (!getSalesforceDataCloud().equals(other.getSalesforceDataCloud())) return false; + break; case 0: default: } @@ -849,6 +932,10 @@ public int hashCode() { hash = (37 * hash) + SPARK_FIELD_NUMBER; hash = (53 * hash) + getSpark().hashCode(); break; + case 24: + hash = (37 * hash) + SALESFORCE_DATA_CLOUD_FIELD_NUMBER; + hash = (53 * hash) + getSalesforceDataCloud().hashCode(); + break; case 0: default: } @@ -1013,6 +1100,9 @@ public Builder clear() { if (sparkBuilder_ != null) { sparkBuilder_.clear(); } + if (salesforceDataCloudBuilder_ != null) { + salesforceDataCloudBuilder_.clear(); + } creationTime_ = 0L; lastModifiedTime_ = 0L; hasCredential_ = false; @@ -1064,13 +1154,13 @@ private void buildPartial0(com.google.cloud.bigquery.connection.v1.Connection re if (((from_bitField0_ & 0x00000004) != 0)) { result.description_ = description_; } - if (((from_bitField0_ & 0x00000200) != 0)) { + if (((from_bitField0_ & 0x00000400) != 0)) { result.creationTime_ = creationTime_; } - if (((from_bitField0_ & 0x00000400) != 0)) { + if (((from_bitField0_ & 0x00000800) != 0)) { result.lastModifiedTime_ = lastModifiedTime_; } - if (((from_bitField0_ & 0x00000800) != 0)) { + if (((from_bitField0_ & 0x00001000) != 0)) { result.hasCredential_ = hasCredential_; } } @@ -1096,6 +1186,9 @@ private void buildPartialOneofs(com.google.cloud.bigquery.connection.v1.Connecti if (propertiesCase_ == 23 && sparkBuilder_ != null) { result.properties_ = sparkBuilder_.build(); } + if (propertiesCase_ == 24 && salesforceDataCloudBuilder_ != null) { + result.properties_ = salesforceDataCloudBuilder_.build(); + } } @java.lang.Override @@ -1199,6 +1292,11 @@ public Builder mergeFrom(com.google.cloud.bigquery.connection.v1.Connection othe mergeSpark(other.getSpark()); break; } + case SALESFORCE_DATA_CLOUD: + { + mergeSalesforceDataCloud(other.getSalesforceDataCloud()); + break; + } case PROPERTIES_NOT_SET: { break; @@ -1257,19 +1355,19 @@ public Builder mergeFrom( case 40: { creationTime_ = input.readInt64(); - bitField0_ |= 0x00000200; + bitField0_ |= 0x00000400; break; } // case 40 case 48: { lastModifiedTime_ = input.readInt64(); - bitField0_ |= 0x00000400; + bitField0_ |= 0x00000800; break; } // case 48 case 56: { hasCredential_ = input.readBool(); - bitField0_ |= 0x00000800; + bitField0_ |= 0x00001000; break; } // case 56 case 66: @@ -1302,6 +1400,13 @@ public Builder mergeFrom( propertiesCase_ = 23; break; } // case 186 + case 194: + { + input.readMessage( + getSalesforceDataCloudFieldBuilder().getBuilder(), extensionRegistry); + propertiesCase_ = 24; + break; + } // case 194 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -2944,6 +3049,267 @@ public com.google.cloud.bigquery.connection.v1.SparkPropertiesOrBuilder getSpark return sparkBuilder_; } + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder> + salesforceDataCloudBuilder_; + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the salesforceDataCloud field is set. + */ + @java.lang.Override + public boolean hasSalesforceDataCloud() { + return propertiesCase_ == 24; + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The salesforceDataCloud. + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + getSalesforceDataCloud() { + if (salesforceDataCloudBuilder_ == null) { + if (propertiesCase_ == 24) { + return (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + properties_; + } + return com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } else { + if (propertiesCase_ == 24) { + return salesforceDataCloudBuilder_.getMessage(); + } + return com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setSalesforceDataCloud( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties value) { + if (salesforceDataCloudBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + properties_ = value; + onChanged(); + } else { + salesforceDataCloudBuilder_.setMessage(value); + } + propertiesCase_ = 24; + return this; + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder setSalesforceDataCloud( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder + builderForValue) { + if (salesforceDataCloudBuilder_ == null) { + properties_ = builderForValue.build(); + onChanged(); + } else { + salesforceDataCloudBuilder_.setMessage(builderForValue.build()); + } + propertiesCase_ = 24; + return this; + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder mergeSalesforceDataCloud( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties value) { + if (salesforceDataCloudBuilder_ == null) { + if (propertiesCase_ == 24 + && properties_ + != com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance()) { + properties_ = + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.newBuilder( + (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + properties_) + .mergeFrom(value) + .buildPartial(); + } else { + properties_ = value; + } + onChanged(); + } else { + if (propertiesCase_ == 24) { + salesforceDataCloudBuilder_.mergeFrom(value); + } else { + salesforceDataCloudBuilder_.setMessage(value); + } + } + propertiesCase_ = 24; + return this; + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public Builder clearSalesforceDataCloud() { + if (salesforceDataCloudBuilder_ == null) { + if (propertiesCase_ == 24) { + propertiesCase_ = 0; + properties_ = null; + onChanged(); + } + } else { + if (propertiesCase_ == 24) { + propertiesCase_ = 0; + properties_ = null; + } + salesforceDataCloudBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder + getSalesforceDataCloudBuilder() { + return getSalesforceDataCloudFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder + getSalesforceDataCloudOrBuilder() { + if ((propertiesCase_ == 24) && (salesforceDataCloudBuilder_ != null)) { + return salesforceDataCloudBuilder_.getMessageOrBuilder(); + } else { + if (propertiesCase_ == 24) { + return (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + properties_; + } + return com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } + } + /** + * + * + *
+     * Optional. Salesforce DataCloud properties. This field is intended for
+     * use only by Salesforce partner projects. This field contains properties
+     * for your Salesforce DataCloud connection.
+     * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder> + getSalesforceDataCloudFieldBuilder() { + if (salesforceDataCloudBuilder_ == null) { + if (!(propertiesCase_ == 24)) { + properties_ = + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } + salesforceDataCloudBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder>( + (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) properties_, + getParentForChildren(), + isClean()); + properties_ = null; + } + propertiesCase_ = 24; + onChanged(); + return salesforceDataCloudBuilder_; + } + private long creationTime_; /** * @@ -2975,7 +3341,7 @@ public long getCreationTime() { public Builder setCreationTime(long value) { creationTime_ = value; - bitField0_ |= 0x00000200; + bitField0_ |= 0x00000400; onChanged(); return this; } @@ -2991,7 +3357,7 @@ public Builder setCreationTime(long value) { * @return This builder for chaining. */ public Builder clearCreationTime() { - bitField0_ = (bitField0_ & ~0x00000200); + bitField0_ = (bitField0_ & ~0x00000400); creationTime_ = 0L; onChanged(); return this; @@ -3028,7 +3394,7 @@ public long getLastModifiedTime() { public Builder setLastModifiedTime(long value) { lastModifiedTime_ = value; - bitField0_ |= 0x00000400; + bitField0_ |= 0x00000800; onChanged(); return this; } @@ -3044,7 +3410,7 @@ public Builder setLastModifiedTime(long value) { * @return This builder for chaining. */ public Builder clearLastModifiedTime() { - bitField0_ = (bitField0_ & ~0x00000400); + bitField0_ = (bitField0_ & ~0x00000800); lastModifiedTime_ = 0L; onChanged(); return this; @@ -3081,7 +3447,7 @@ public boolean getHasCredential() { public Builder setHasCredential(boolean value) { hasCredential_ = value; - bitField0_ |= 0x00000800; + bitField0_ |= 0x00001000; onChanged(); return this; } @@ -3097,7 +3463,7 @@ public Builder setHasCredential(boolean value) { * @return This builder for chaining. */ public Builder clearHasCredential() { - bitField0_ = (bitField0_ & ~0x00000800); + bitField0_ = (bitField0_ & ~0x00001000); hasCredential_ = false; onChanged(); return this; diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java index 378aa541ad7e..e43d97181f65 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java @@ -312,6 +312,54 @@ public interface ConnectionOrBuilder */ com.google.cloud.bigquery.connection.v1.SparkPropertiesOrBuilder getSparkOrBuilder(); + /** + * + * + *
+   * Optional. Salesforce DataCloud properties. This field is intended for
+   * use only by Salesforce partner projects. This field contains properties
+   * for your Salesforce DataCloud connection.
+   * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return Whether the salesforceDataCloud field is set. + */ + boolean hasSalesforceDataCloud(); + /** + * + * + *
+   * Optional. Salesforce DataCloud properties. This field is intended for
+   * use only by Salesforce partner projects. This field contains properties
+   * for your Salesforce DataCloud connection.
+   * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + * + * @return The salesforceDataCloud. + */ + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties getSalesforceDataCloud(); + /** + * + * + *
+   * Optional. Salesforce DataCloud properties. This field is intended for
+   * use only by Salesforce partner projects. This field contains properties
+   * for your Salesforce DataCloud connection.
+   * 
+ * + * + * .google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties salesforce_data_cloud = 24 [(.google.api.field_behavior) = OPTIONAL]; + * + */ + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder + getSalesforceDataCloudOrBuilder(); + /** * * diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java index 28a20eb5a4eb..9aee55d3df5b 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java @@ -99,6 +99,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_cloud_bigquery_connection_v1_SparkProperties_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_cloud_bigquery_connection_v1_SparkProperties_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; @@ -137,7 +141,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\0225\n\013update_mask\030\003 \001(\0132\032.google.protobuf." + "FieldMaskB\004\342A\001\002\"^\n\027DeleteConnectionReque" + "st\022C\n\004name\030\001 \001(\tB5\342A\001\002\372A.\n,bigqueryconne" - + "ction.googleapis.com/Connection\"\363\005\n\nConn" + + "ction.googleapis.com/Connection\"\336\006\n\nConn" + "ection\022\014\n\004name\030\001 \001(\t\022\025\n\rfriendly_name\030\002 " + "\001(\t\022\023\n\013description\030\003 \001(\t\022L\n\tcloud_sql\030\004 " + "\001(\01327.google.cloud.bigquery.connection.v" @@ -151,106 +155,112 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "cloud.bigquery.connection.v1.CloudResour" + "cePropertiesH\000\022E\n\005spark\030\027 \001(\01324.google.c" + "loud.bigquery.connection.v1.SparkPropert" - + "iesH\000\022\033\n\rcreation_time\030\005 \001(\003B\004\342A\001\003\022 \n\022la" - + "st_modified_time\030\006 \001(\003B\004\342A\001\003\022\034\n\016has_cred" - + "ential\030\007 \001(\010B\004\342A\001\003:s\352Ap\n,bigqueryconnect" - + "ion.googleapis.com/Connection\022@projects/" - + "{project}/locations/{location}/connectio" - + "ns/{connection}B\014\n\nproperties\"\314\002\n\022CloudS" - + "qlProperties\022\023\n\013instance_id\030\001 \001(\t\022\020\n\010dat" - + "abase\030\002 \001(\t\022R\n\004type\030\003 \001(\0162D.google.cloud" - + ".bigquery.connection.v1.CloudSqlProperti" - + "es.DatabaseType\022Q\n\ncredential\030\004 \001(\01327.go" - + "ogle.cloud.bigquery.connection.v1.CloudS" - + "qlCredentialB\004\342A\001\004\022 \n\022service_account_id" - + "\030\005 \001(\tB\004\342A\001\003\"F\n\014DatabaseType\022\035\n\031DATABASE" - + "_TYPE_UNSPECIFIED\020\000\022\014\n\010POSTGRES\020\001\022\t\n\005MYS" - + "QL\020\002\"8\n\022CloudSqlCredential\022\020\n\010username\030\001" - + " \001(\t\022\020\n\010password\030\002 \001(\t\"\202\001\n\026CloudSpannerP" - + "roperties\022\020\n\010database\030\001 \001(\t\022\027\n\017use_paral" - + "lelism\030\002 \001(\010\022 \n\030use_serverless_analytics" - + "\030\003 \001(\010\022\033\n\rdatabase_role\030\004 \001(\tB\004\342A\001\001\"\317\001\n\r" - + "AwsProperties\022Z\n\022cross_account_role\030\002 \001(" - + "\01328.google.cloud.bigquery.connection.v1." - + "AwsCrossAccountRoleB\002\030\001H\000\022I\n\013access_role" - + "\030\003 \001(\01322.google.cloud.bigquery.connectio" - + "n.v1.AwsAccessRoleH\000B\027\n\025authentication_m" - + "ethod\"`\n\023AwsCrossAccountRole\022\023\n\013iam_role" - + "_id\030\001 \001(\t\022\031\n\013iam_user_id\030\002 \001(\tB\004\342A\001\003\022\031\n\013" - + "external_id\030\003 \001(\tB\004\342A\001\003\"6\n\rAwsAccessRole" - + "\022\023\n\013iam_role_id\030\001 \001(\t\022\020\n\010identity\030\002 \001(\t\"" - + "\321\001\n\017AzureProperties\022\031\n\013application\030\001 \001(\t" - + "B\004\342A\001\003\022\027\n\tclient_id\030\002 \001(\tB\004\342A\001\003\022\027\n\tobjec" - + "t_id\030\003 \001(\tB\004\342A\001\003\022\032\n\022customer_tenant_id\030\004" - + " \001(\t\022\024\n\014redirect_uri\030\005 \001(\t\022\'\n\037federated_" - + "application_client_id\030\006 \001(\t\022\026\n\010identity\030" - + "\007 \001(\tB\004\342A\001\003\";\n\027CloudResourceProperties\022 " - + "\n\022service_account_id\030\001 \001(\tB\004\342A\001\003\"^\n\026Meta" - + "storeServiceConfig\022D\n\021metastore_service\030" - + "\001 \001(\tB)\342A\001\001\372A\"\n metastore.googleapis.com" - + "/Service\"^\n\030SparkHistoryServerConfig\022B\n\020" - + "dataproc_cluster\030\001 \001(\tB(\342A\001\001\372A!\n\037datapro" - + "c.googleapis.com/Cluster\"\202\002\n\017SparkProper" - + "ties\022 \n\022service_account_id\030\001 \001(\tB\004\342A\001\003\022c" - + "\n\030metastore_service_config\030\003 \001(\0132;.googl" - + "e.cloud.bigquery.connection.v1.Metastore" - + "ServiceConfigB\004\342A\001\001\022h\n\033spark_history_ser" - + "ver_config\030\004 \001(\0132=.google.cloud.bigquery" - + ".connection.v1.SparkHistoryServerConfigB" - + "\004\342A\001\0012\314\r\n\021ConnectionService\022\350\001\n\020CreateCo" - + "nnection\022<.google.cloud.bigquery.connect" - + "ion.v1.CreateConnectionRequest\032/.google." - + "cloud.bigquery.connection.v1.Connection\"" - + "e\332A\037parent,connection,connection_id\202\323\344\223\002" - + "=\"//v1/{parent=projects/*/locations/*}/c" - + "onnections:\nconnection\022\273\001\n\rGetConnection" - + "\0229.google.cloud.bigquery.connection.v1.G" - + "etConnectionRequest\032/.google.cloud.bigqu" - + "ery.connection.v1.Connection\">\332A\004name\202\323\344" - + "\223\0021\022//v1/{name=projects/*/locations/*/co" - + "nnections/*}\022\316\001\n\017ListConnections\022;.googl" - + "e.cloud.bigquery.connection.v1.ListConne" - + "ctionsRequest\032<.google.cloud.bigquery.co" - + "nnection.v1.ListConnectionsResponse\"@\332A\006" - + "parent\202\323\344\223\0021\022//v1/{parent=projects/*/loc" - + "ations/*}/connections\022\344\001\n\020UpdateConnecti" - + "on\022<.google.cloud.bigquery.connection.v1" - + ".UpdateConnectionRequest\032/.google.cloud." - + "bigquery.connection.v1.Connection\"a\332A\033na" - + "me,connection,update_mask\202\323\344\223\002=2//v1/{na" - + "me=projects/*/locations/*/connections/*}" - + ":\nconnection\022\250\001\n\020DeleteConnection\022<.goog" - + "le.cloud.bigquery.connection.v1.DeleteCo" - + "nnectionRequest\032\026.google.protobuf.Empty\"" - + ">\332A\004name\202\323\344\223\0021*//v1/{name=projects/*/loc" - + "ations/*/connections/*}\022\251\001\n\014GetIamPolicy" - + "\022\".google.iam.v1.GetIamPolicyRequest\032\025.g" - + "oogle.iam.v1.Policy\"^\332A\020resource,options" - + "\202\323\344\223\002E\"@/v1/{resource=projects/*/locatio" - + "ns/*/connections/*}:getIamPolicy:\001*\022\250\001\n\014" - + "SetIamPolicy\022\".google.iam.v1.SetIamPolic" - + "yRequest\032\025.google.iam.v1.Policy\"]\332A\017reso" - + "urce,policy\202\323\344\223\002E\"@/v1/{resource=project" - + "s/*/locations/*/connections/*}:setIamPol" - + "icy:\001*\022\323\001\n\022TestIamPermissions\022(.google.i" - + "am.v1.TestIamPermissionsRequest\032).google" - + ".iam.v1.TestIamPermissionsResponse\"h\332A\024r" - + "esource,permissions\202\323\344\223\002K\"F/v1/{resource" - + "=projects/*/locations/*/connections/*}:t" - + "estIamPermissions:\001*\032~\312A!bigqueryconnect" - + "ion.googleapis.com\322AWhttps://www.googlea" - + "pis.com/auth/bigquery,https://www.google" - + "apis.com/auth/cloud-platformB\375\002\n\'com.goo" - + "gle.cloud.bigquery.connection.v1P\001ZGclou" - + "d.google.com/go/bigquery/connection/apiv" - + "1/connectionpb;connectionpb\252\002#Google.Clo" - + "ud.BigQuery.Connection.V1\312\002#Google\\Cloud" - + "\\BigQuery\\Connection\\V1\352AY\n\037dataproc.goo" - + "gleapis.com/Cluster\0226projects/{project}/" - + "regions/{region}/clusters/{cluster}\352A^\n " - + "metastore.googleapis.com/Service\022:projec" - + "ts/{project}/locations/{location}/servic" - + "es/{service}b\006proto3" + + "iesH\000\022i\n\025salesforce_data_cloud\030\030 \001(\0132B.g" + + "oogle.cloud.bigquery.connection.v1.Sales" + + "forceDataCloudPropertiesB\004\342A\001\001H\000\022\033\n\rcrea" + + "tion_time\030\005 \001(\003B\004\342A\001\003\022 \n\022last_modified_t" + + "ime\030\006 \001(\003B\004\342A\001\003\022\034\n\016has_credential\030\007 \001(\010B" + + "\004\342A\001\003:s\352Ap\n,bigqueryconnection.googleapi" + + "s.com/Connection\022@projects/{project}/loc" + + "ations/{location}/connections/{connectio" + + "n}B\014\n\nproperties\"\314\002\n\022CloudSqlProperties\022" + + "\023\n\013instance_id\030\001 \001(\t\022\020\n\010database\030\002 \001(\t\022R" + + "\n\004type\030\003 \001(\0162D.google.cloud.bigquery.con" + + "nection.v1.CloudSqlProperties.DatabaseTy" + + "pe\022Q\n\ncredential\030\004 \001(\01327.google.cloud.bi" + + "gquery.connection.v1.CloudSqlCredentialB" + + "\004\342A\001\004\022 \n\022service_account_id\030\005 \001(\tB\004\342A\001\003\"" + + "F\n\014DatabaseType\022\035\n\031DATABASE_TYPE_UNSPECI" + + "FIED\020\000\022\014\n\010POSTGRES\020\001\022\t\n\005MYSQL\020\002\"8\n\022Cloud" + + "SqlCredential\022\020\n\010username\030\001 \001(\t\022\020\n\010passw" + + "ord\030\002 \001(\t\"\263\001\n\026CloudSpannerProperties\022\020\n\010" + + "database\030\001 \001(\t\022\027\n\017use_parallelism\030\002 \001(\010\022" + + "\027\n\017max_parallelism\030\005 \001(\005\022 \n\030use_serverle" + + "ss_analytics\030\003 \001(\010\022\026\n\016use_data_boost\030\006 \001" + + "(\010\022\033\n\rdatabase_role\030\004 \001(\tB\004\342A\001\001\"\317\001\n\rAwsP" + + "roperties\022Z\n\022cross_account_role\030\002 \001(\01328." + + "google.cloud.bigquery.connection.v1.AwsC" + + "rossAccountRoleB\002\030\001H\000\022I\n\013access_role\030\003 \001" + + "(\01322.google.cloud.bigquery.connection.v1" + + ".AwsAccessRoleH\000B\027\n\025authentication_metho" + + "d\"`\n\023AwsCrossAccountRole\022\023\n\013iam_role_id\030" + + "\001 \001(\t\022\031\n\013iam_user_id\030\002 \001(\tB\004\342A\001\003\022\031\n\013exte" + + "rnal_id\030\003 \001(\tB\004\342A\001\003\"6\n\rAwsAccessRole\022\023\n\013" + + "iam_role_id\030\001 \001(\t\022\020\n\010identity\030\002 \001(\t\"\321\001\n\017" + + "AzureProperties\022\031\n\013application\030\001 \001(\tB\004\342A" + + "\001\003\022\027\n\tclient_id\030\002 \001(\tB\004\342A\001\003\022\027\n\tobject_id" + + "\030\003 \001(\tB\004\342A\001\003\022\032\n\022customer_tenant_id\030\004 \001(\t" + + "\022\024\n\014redirect_uri\030\005 \001(\t\022\'\n\037federated_appl" + + "ication_client_id\030\006 \001(\t\022\026\n\010identity\030\007 \001(" + + "\tB\004\342A\001\003\";\n\027CloudResourceProperties\022 \n\022se" + + "rvice_account_id\030\001 \001(\tB\004\342A\001\003\"^\n\026Metastor" + + "eServiceConfig\022D\n\021metastore_service\030\001 \001(" + + "\tB)\342A\001\001\372A\"\n metastore.googleapis.com/Ser" + + "vice\"^\n\030SparkHistoryServerConfig\022B\n\020data" + + "proc_cluster\030\001 \001(\tB(\342A\001\001\372A!\n\037dataproc.go" + + "ogleapis.com/Cluster\"\202\002\n\017SparkProperties" + + "\022 \n\022service_account_id\030\001 \001(\tB\004\342A\001\003\022c\n\030me" + + "tastore_service_config\030\003 \001(\0132;.google.cl" + + "oud.bigquery.connection.v1.MetastoreServ" + + "iceConfigB\004\342A\001\001\022h\n\033spark_history_server_" + + "config\030\004 \001(\0132=.google.cloud.bigquery.con" + + "nection.v1.SparkHistoryServerConfigB\004\342A\001" + + "\001\"`\n\035SalesforceDataCloudProperties\022\024\n\014in" + + "stance_uri\030\001 \001(\t\022\026\n\010identity\030\002 \001(\tB\004\342A\001\003" + + "\022\021\n\ttenant_id\030\003 \001(\t2\314\r\n\021ConnectionServic" + + "e\022\350\001\n\020CreateConnection\022<.google.cloud.bi" + + "gquery.connection.v1.CreateConnectionReq" + + "uest\032/.google.cloud.bigquery.connection." + + "v1.Connection\"e\332A\037parent,connection,conn" + + "ection_id\202\323\344\223\002=\"//v1/{parent=projects/*/" + + "locations/*}/connections:\nconnection\022\273\001\n" + + "\rGetConnection\0229.google.cloud.bigquery.c" + + "onnection.v1.GetConnectionRequest\032/.goog" + + "le.cloud.bigquery.connection.v1.Connecti" + + "on\">\332A\004name\202\323\344\223\0021\022//v1/{name=projects/*/" + + "locations/*/connections/*}\022\316\001\n\017ListConne" + + "ctions\022;.google.cloud.bigquery.connectio" + + "n.v1.ListConnectionsRequest\032<.google.clo" + + "ud.bigquery.connection.v1.ListConnection" + + "sResponse\"@\332A\006parent\202\323\344\223\0021\022//v1/{parent=" + + "projects/*/locations/*}/connections\022\344\001\n\020" + + "UpdateConnection\022<.google.cloud.bigquery" + + ".connection.v1.UpdateConnectionRequest\032/" + + ".google.cloud.bigquery.connection.v1.Con" + + "nection\"a\332A\033name,connection,update_mask\202" + + "\323\344\223\002=2//v1/{name=projects/*/locations/*/" + + "connections/*}:\nconnection\022\250\001\n\020DeleteCon" + + "nection\022<.google.cloud.bigquery.connecti" + + "on.v1.DeleteConnectionRequest\032\026.google.p" + + "rotobuf.Empty\">\332A\004name\202\323\344\223\0021*//v1/{name=" + + "projects/*/locations/*/connections/*}\022\251\001" + + "\n\014GetIamPolicy\022\".google.iam.v1.GetIamPol" + + "icyRequest\032\025.google.iam.v1.Policy\"^\332A\020re" + + "source,options\202\323\344\223\002E\"@/v1/{resource=proj" + + "ects/*/locations/*/connections/*}:getIam" + + "Policy:\001*\022\250\001\n\014SetIamPolicy\022\".google.iam." + + "v1.SetIamPolicyRequest\032\025.google.iam.v1.P" + + "olicy\"]\332A\017resource,policy\202\323\344\223\002E\"@/v1/{re" + + "source=projects/*/locations/*/connection" + + "s/*}:setIamPolicy:\001*\022\323\001\n\022TestIamPermissi" + + "ons\022(.google.iam.v1.TestIamPermissionsRe" + + "quest\032).google.iam.v1.TestIamPermissions" + + "Response\"h\332A\024resource,permissions\202\323\344\223\002K\"" + + "F/v1/{resource=projects/*/locations/*/co" + + "nnections/*}:testIamPermissions:\001*\032~\312A!b" + + "igqueryconnection.googleapis.com\322AWhttps" + + "://www.googleapis.com/auth/bigquery,http" + + "s://www.googleapis.com/auth/cloud-platfo" + + "rmB\375\002\n\'com.google.cloud.bigquery.connect" + + "ion.v1P\001ZGcloud.google.com/go/bigquery/c" + + "onnection/apiv1/connectionpb;connectionp" + + "b\252\002#Google.Cloud.BigQuery.Connection.V1\312" + + "\002#Google\\Cloud\\BigQuery\\Connection\\V1\352AY" + + "\n\037dataproc.googleapis.com/Cluster\0226proje" + + "cts/{project}/regions/{region}/clusters/" + + "{cluster}\352A^\n metastore.googleapis.com/S" + + "ervice\022:projects/{project}/locations/{lo" + + "cation}/services/{service}b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -328,6 +338,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "CloudSpanner", "CloudResource", "Spark", + "SalesforceDataCloud", "CreationTime", "LastModifiedTime", "HasCredential", @@ -355,7 +366,12 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_bigquery_connection_v1_CloudSpannerProperties_descriptor, new java.lang.String[] { - "Database", "UseParallelism", "UseServerlessAnalytics", "DatabaseRole", + "Database", + "UseParallelism", + "MaxParallelism", + "UseServerlessAnalytics", + "UseDataBoost", + "DatabaseRole", }); internal_static_google_cloud_bigquery_connection_v1_AwsProperties_descriptor = getDescriptor().getMessageTypes().get(10); @@ -427,6 +443,14 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "ServiceAccountId", "MetastoreServiceConfig", "SparkHistoryServerConfig", }); + internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_descriptor = + getDescriptor().getMessageTypes().get(18); + internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_descriptor, + new java.lang.String[] { + "InstanceUri", "Identity", "TenantId", + }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.ClientProto.defaultHost); diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudProperties.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudProperties.java new file mode 100644 index 000000000000..b87875a1001d --- /dev/null +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudProperties.java @@ -0,0 +1,1009 @@ +/* + * Copyright 2023 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/bigquery/connection/v1/connection.proto + +package com.google.cloud.bigquery.connection.v1; + +/** + * + * + *
+ * Connection properties specific to Salesforce DataCloud. This is intended for
+ * use only by Salesforce partner projects.
+ * 
+ * + * Protobuf type {@code google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties} + */ +public final class SalesforceDataCloudProperties extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + SalesforceDataCloudPropertiesOrBuilder { + private static final long serialVersionUID = 0L; + // Use SalesforceDataCloudProperties.newBuilder() to construct. + private SalesforceDataCloudProperties(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private SalesforceDataCloudProperties() { + instanceUri_ = ""; + identity_ = ""; + tenantId_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new SalesforceDataCloudProperties(); + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.class, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder.class); + } + + public static final int INSTANCE_URI_FIELD_NUMBER = 1; + + @SuppressWarnings("serial") + private volatile java.lang.Object instanceUri_ = ""; + /** + * + * + *
+   * The URL to the user's Salesforce DataCloud instance.
+   * 
+ * + * string instance_uri = 1; + * + * @return The instanceUri. + */ + @java.lang.Override + public java.lang.String getInstanceUri() { + java.lang.Object ref = instanceUri_; + 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(); + instanceUri_ = s; + return s; + } + } + /** + * + * + *
+   * The URL to the user's Salesforce DataCloud instance.
+   * 
+ * + * string instance_uri = 1; + * + * @return The bytes for instanceUri. + */ + @java.lang.Override + public com.google.protobuf.ByteString getInstanceUriBytes() { + java.lang.Object ref = instanceUri_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + instanceUri_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int IDENTITY_FIELD_NUMBER = 2; + + @SuppressWarnings("serial") + private volatile java.lang.Object identity_ = ""; + /** + * + * + *
+   * Output only. A unique Google-owned and Google-generated service account
+   * identity for the connection.
+   * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The identity. + */ + @java.lang.Override + public java.lang.String getIdentity() { + java.lang.Object ref = identity_; + 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(); + identity_ = s; + return s; + } + } + /** + * + * + *
+   * Output only. A unique Google-owned and Google-generated service account
+   * identity for the connection.
+   * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for identity. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIdentityBytes() { + java.lang.Object ref = identity_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + identity_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int TENANT_ID_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object tenantId_ = ""; + /** + * + * + *
+   * The ID of the user's Salesforce tenant.
+   * 
+ * + * string tenant_id = 3; + * + * @return The tenantId. + */ + @java.lang.Override + public java.lang.String getTenantId() { + java.lang.Object ref = tenantId_; + 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(); + tenantId_ = s; + return s; + } + } + /** + * + * + *
+   * The ID of the user's Salesforce tenant.
+   * 
+ * + * string tenant_id = 3; + * + * @return The bytes for tenantId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getTenantIdBytes() { + java.lang.Object ref = tenantId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + tenantId_ = 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(instanceUri_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, instanceUri_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(identity_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, identity_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tenantId_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, tenantId_); + } + getUnknownFields().writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(instanceUri_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, instanceUri_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(identity_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, identity_); + } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(tenantId_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, tenantId_); + } + size += getUnknownFields().getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties)) { + return super.equals(obj); + } + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties other = + (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) obj; + + if (!getInstanceUri().equals(other.getInstanceUri())) return false; + if (!getIdentity().equals(other.getIdentity())) return false; + if (!getTenantId().equals(other.getTenantId())) return false; + if (!getUnknownFields().equals(other.getUnknownFields())) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + INSTANCE_URI_FIELD_NUMBER; + hash = (53 * hash) + getInstanceUri().hashCode(); + hash = (37 * hash) + IDENTITY_FIELD_NUMBER; + hash = (53 * hash) + getIdentity().hashCode(); + hash = (37 * hash) + TENANT_ID_FIELD_NUMBER; + hash = (53 * hash) + getTenantId().hashCode(); + hash = (29 * hash) + getUnknownFields().hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties 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.bigquery.connection.v1.SalesforceDataCloudProperties parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties 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.bigquery.connection.v1.SalesforceDataCloudProperties parseFrom( + byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties parseFrom( + byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data, extensionRegistry); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties parseFrom( + java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties 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.bigquery.connection.v1.SalesforceDataCloudProperties + parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseDelimitedWithIOException(PARSER, input); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + 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.bigquery.connection.v1.SalesforceDataCloudProperties parseFrom( + com.google.protobuf.CodedInputStream input) throws java.io.IOException { + return com.google.protobuf.GeneratedMessageV3.parseWithIOException(PARSER, input); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties 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.bigquery.connection.v1.SalesforceDataCloudProperties 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; + } + /** + * + * + *
+   * Connection properties specific to Salesforce DataCloud. This is intended for
+   * use only by Salesforce partner projects.
+   * 
+ * + * Protobuf type {@code google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudPropertiesOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_descriptor; + } + + @java.lang.Override + protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internalGetFieldAccessorTable() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.class, + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.Builder.class); + } + + // Construct using + // com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties.newBuilder() + private Builder() {} + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + } + + @java.lang.Override + public Builder clear() { + super.clear(); + bitField0_ = 0; + instanceUri_ = ""; + identity_ = ""; + tenantId_ = ""; + return this; + } + + @java.lang.Override + public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_SalesforceDataCloudProperties_descriptor; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + getDefaultInstanceForType() { + return com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties build() { + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties buildPartial() { + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties result = + new com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties(this); + if (bitField0_ != 0) { + buildPartial0(result); + } + onBuilt(); + return result; + } + + private void buildPartial0( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties result) { + int from_bitField0_ = bitField0_; + if (((from_bitField0_ & 0x00000001) != 0)) { + result.instanceUri_ = instanceUri_; + } + if (((from_bitField0_ & 0x00000002) != 0)) { + result.identity_ = identity_; + } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.tenantId_ = tenantId_; + } + } + + @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.bigquery.connection.v1.SalesforceDataCloudProperties) { + return mergeFrom( + (com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom( + com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties other) { + if (other + == com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + .getDefaultInstance()) return this; + if (!other.getInstanceUri().isEmpty()) { + instanceUri_ = other.instanceUri_; + bitField0_ |= 0x00000001; + onChanged(); + } + if (!other.getIdentity().isEmpty()) { + identity_ = other.identity_; + bitField0_ |= 0x00000002; + onChanged(); + } + if (!other.getTenantId().isEmpty()) { + tenantId_ = other.tenantId_; + bitField0_ |= 0x00000004; + onChanged(); + } + this.mergeUnknownFields(other.getUnknownFields()); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + instanceUri_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000001; + break; + } // case 10 + case 18: + { + identity_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000002; + break; + } // case 18 + case 26: + { + tenantId_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + default: + { + if (!super.parseUnknownField(input, extensionRegistry, tag)) { + done = true; // was an endgroup tag + } + break; + } // default: + } // switch (tag) + } // while (!done) + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.unwrapIOException(); + } finally { + onChanged(); + } // finally + return this; + } + + private int bitField0_; + + private java.lang.Object instanceUri_ = ""; + /** + * + * + *
+     * The URL to the user's Salesforce DataCloud instance.
+     * 
+ * + * string instance_uri = 1; + * + * @return The instanceUri. + */ + public java.lang.String getInstanceUri() { + java.lang.Object ref = instanceUri_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + instanceUri_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * The URL to the user's Salesforce DataCloud instance.
+     * 
+ * + * string instance_uri = 1; + * + * @return The bytes for instanceUri. + */ + public com.google.protobuf.ByteString getInstanceUriBytes() { + java.lang.Object ref = instanceUri_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + instanceUri_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * The URL to the user's Salesforce DataCloud instance.
+     * 
+ * + * string instance_uri = 1; + * + * @param value The instanceUri to set. + * @return This builder for chaining. + */ + public Builder setInstanceUri(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + instanceUri_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + /** + * + * + *
+     * The URL to the user's Salesforce DataCloud instance.
+     * 
+ * + * string instance_uri = 1; + * + * @return This builder for chaining. + */ + public Builder clearInstanceUri() { + instanceUri_ = getDefaultInstance().getInstanceUri(); + bitField0_ = (bitField0_ & ~0x00000001); + onChanged(); + return this; + } + /** + * + * + *
+     * The URL to the user's Salesforce DataCloud instance.
+     * 
+ * + * string instance_uri = 1; + * + * @param value The bytes for instanceUri to set. + * @return This builder for chaining. + */ + public Builder setInstanceUriBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + instanceUri_ = value; + bitField0_ |= 0x00000001; + onChanged(); + return this; + } + + private java.lang.Object identity_ = ""; + /** + * + * + *
+     * Output only. A unique Google-owned and Google-generated service account
+     * identity for the connection.
+     * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The identity. + */ + public java.lang.String getIdentity() { + java.lang.Object ref = identity_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + identity_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Output only. A unique Google-owned and Google-generated service account
+     * identity for the connection.
+     * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for identity. + */ + public com.google.protobuf.ByteString getIdentityBytes() { + java.lang.Object ref = identity_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + identity_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Output only. A unique Google-owned and Google-generated service account
+     * identity for the connection.
+     * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The identity to set. + * @return This builder for chaining. + */ + public Builder setIdentity(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + identity_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. A unique Google-owned and Google-generated service account
+     * identity for the connection.
+     * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearIdentity() { + identity_ = getDefaultInstance().getIdentity(); + bitField0_ = (bitField0_ & ~0x00000002); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. A unique Google-owned and Google-generated service account
+     * identity for the connection.
+     * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for identity to set. + * @return This builder for chaining. + */ + public Builder setIdentityBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + identity_ = value; + bitField0_ |= 0x00000002; + onChanged(); + return this; + } + + private java.lang.Object tenantId_ = ""; + /** + * + * + *
+     * The ID of the user's Salesforce tenant.
+     * 
+ * + * string tenant_id = 3; + * + * @return The tenantId. + */ + public java.lang.String getTenantId() { + java.lang.Object ref = tenantId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + tenantId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * The ID of the user's Salesforce tenant.
+     * 
+ * + * string tenant_id = 3; + * + * @return The bytes for tenantId. + */ + public com.google.protobuf.ByteString getTenantIdBytes() { + java.lang.Object ref = tenantId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + tenantId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * The ID of the user's Salesforce tenant.
+     * 
+ * + * string tenant_id = 3; + * + * @param value The tenantId to set. + * @return This builder for chaining. + */ + public Builder setTenantId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + tenantId_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * + * + *
+     * The ID of the user's Salesforce tenant.
+     * 
+ * + * string tenant_id = 3; + * + * @return This builder for chaining. + */ + public Builder clearTenantId() { + tenantId_ = getDefaultInstance().getTenantId(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * + * + *
+     * The ID of the user's Salesforce tenant.
+     * 
+ * + * string tenant_id = 3; + * + * @param value The bytes for tenantId to set. + * @return This builder for chaining. + */ + public Builder setTenantIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + tenantId_ = value; + bitField0_ |= 0x00000004; + 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.bigquery.connection.v1.SalesforceDataCloudProperties) + } + + // @@protoc_insertion_point(class_scope:google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + private static final com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties(); + } + + public static com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public SalesforceDataCloudProperties parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + Builder builder = newBuilder(); + try { + builder.mergeFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(builder.buildPartial()); + } catch (com.google.protobuf.UninitializedMessageException e) { + throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e) + .setUnfinishedMessage(builder.buildPartial()); + } + return builder.buildPartial(); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties + getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudPropertiesOrBuilder.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudPropertiesOrBuilder.java new file mode 100644 index 000000000000..4a1ce62c0329 --- /dev/null +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SalesforceDataCloudPropertiesOrBuilder.java @@ -0,0 +1,102 @@ +/* + * Copyright 2023 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/bigquery/connection/v1/connection.proto + +package com.google.cloud.bigquery.connection.v1; + +public interface SalesforceDataCloudPropertiesOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.bigquery.connection.v1.SalesforceDataCloudProperties) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The URL to the user's Salesforce DataCloud instance.
+   * 
+ * + * string instance_uri = 1; + * + * @return The instanceUri. + */ + java.lang.String getInstanceUri(); + /** + * + * + *
+   * The URL to the user's Salesforce DataCloud instance.
+   * 
+ * + * string instance_uri = 1; + * + * @return The bytes for instanceUri. + */ + com.google.protobuf.ByteString getInstanceUriBytes(); + + /** + * + * + *
+   * Output only. A unique Google-owned and Google-generated service account
+   * identity for the connection.
+   * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The identity. + */ + java.lang.String getIdentity(); + /** + * + * + *
+   * Output only. A unique Google-owned and Google-generated service account
+   * identity for the connection.
+   * 
+ * + * string identity = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for identity. + */ + com.google.protobuf.ByteString getIdentityBytes(); + + /** + * + * + *
+   * The ID of the user's Salesforce tenant.
+   * 
+ * + * string tenant_id = 3; + * + * @return The tenantId. + */ + java.lang.String getTenantId(); + /** + * + * + *
+   * The ID of the user's Salesforce tenant.
+   * 
+ * + * string tenant_id = 3; + * + * @return The bytes for tenantId. + */ + com.google.protobuf.ByteString getTenantIdBytes(); +} diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkProperties.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkProperties.java index da821f5a71c1..93702c60d36c 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkProperties.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkProperties.java @@ -77,7 +77,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -110,7 +110,7 @@ public java.lang.String getServiceAccountId() { * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -679,7 +679,7 @@ public Builder mergeFrom( * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -711,7 +711,7 @@ public java.lang.String getServiceAccountId() { * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -743,7 +743,7 @@ public com.google.protobuf.ByteString getServiceAccountIdBytes() { * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -774,7 +774,7 @@ public Builder setServiceAccountId(java.lang.String value) { * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -801,7 +801,7 @@ public Builder clearServiceAccountId() { * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkPropertiesOrBuilder.java b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkPropertiesOrBuilder.java index acd4554a2544..698d58ec44ac 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkPropertiesOrBuilder.java +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/SparkPropertiesOrBuilder.java @@ -33,7 +33,7 @@ public interface SparkPropertiesOrBuilder * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: @@ -55,7 +55,7 @@ public interface SparkPropertiesOrBuilder * The service account does not have any permissions associated with it when * it is created. After creation, customers delegate permissions to the * service account. When the connection is used in the context of a stored - * procedure for Apache Spark in BigQuery, the service account will be used to + * procedure for Apache Spark in BigQuery, the service account is used to * connect to the desired resources in Google Cloud. * * The account ID is in the form of: diff --git a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto index d1f416cc634c..d09418ad71ee 100644 --- a/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto +++ b/java-bigqueryconnection/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto @@ -263,6 +263,12 @@ message Connection { // Spark properties. SparkProperties spark = 23; + + // Optional. Salesforce DataCloud properties. This field is intended for + // use only by Salesforce partner projects. This field contains properties + // for your Salesforce DataCloud connection. + SalesforceDataCloudProperties salesforce_data_cloud = 24 + [(google.api.field_behavior) = OPTIONAL]; } // Output only. The creation timestamp of the connection. @@ -327,23 +333,39 @@ message CloudSpannerProperties { // If parallelism should be used when reading from Cloud Spanner bool use_parallelism = 2; + // Allows setting max parallelism per query when executing on Spanner + // independent compute resources. If unspecified, default values of + // parallelism are chosen that are dependent on the Cloud Spanner instance + // configuration. + // + // REQUIRES: `use_parallelism` must be set. + // REQUIRES: Either `use_data_boost` or `use_serverless_analytics` must be + // set. + int32 max_parallelism = 5; + // If the serverless analytics service should be used to read data from Cloud // Spanner. // Note: `use_parallelism` must be set when using serverless analytics. bool use_serverless_analytics = 3; + // If set, the request will be executed via Spanner independent compute + // resources. + // REQUIRES: `use_parallelism` must be set. + // + // NOTE: `use_serverless_analytics` will be deprecated. Prefer + // `use_data_boost` over `use_serverless_analytics`. + bool use_data_boost = 6; + // Optional. Cloud Spanner database role for fine-grained access control. - // A database role is a collection of fine-grained access privileges. Example: - // Admin predefines roles that provides user a set of permissions (SELECT, - // INSERT, ..). The user can then specify a predefined role on a connection to - // execute their Cloud Spanner query. The role is passthrough here. If the - // user is not authorized to use the specified role, they get an error. This - // validation happens on Cloud Spanner. + // The Cloud Spanner admin should have provisioned the database role with + // appropriate permissions, such as `SELECT` and `INSERT`. Other users should + // only use roles provided by their Cloud Spanner admins. // - // See https://cloud.google.com/spanner/docs/fgac-about for more details. + // For more details, see [About fine-grained access control] + // (https://cloud.google.com/spanner/docs/fgac-about). // - // REQUIRES: database role name must start with uppercase/lowercase letter - // and only contain uppercase/lowercase letters, numbers, and underscores. + // REQUIRES: The database role name must start with a letter, and can only + // contain letters, numbers, and underscores. string database_role = 4 [(google.api.field_behavior) = OPTIONAL]; } @@ -476,7 +498,7 @@ message SparkProperties { // The service account does not have any permissions associated with it when // it is created. After creation, customers delegate permissions to the // service account. When the connection is used in the context of a stored - // procedure for Apache Spark in BigQuery, the service account will be used to + // procedure for Apache Spark in BigQuery, the service account is used to // connect to the desired resources in Google Cloud. // // The account ID is in the form of: @@ -491,3 +513,17 @@ message SparkProperties { SparkHistoryServerConfig spark_history_server_config = 4 [(google.api.field_behavior) = OPTIONAL]; } + +// Connection properties specific to Salesforce DataCloud. This is intended for +// use only by Salesforce partner projects. +message SalesforceDataCloudProperties { + // The URL to the user's Salesforce DataCloud instance. + string instance_uri = 1; + + // Output only. A unique Google-owned and Google-generated service account + // identity for the connection. + string identity = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // The ID of the user's Salesforce tenant. + string tenant_id = 3; +}