From 52c02520f5ade3e4635173c84cb1a9d4c4c20635 Mon Sep 17 00:00:00 2001 From: Yoshi Automation Bot Date: Fri, 2 Oct 2020 09:12:29 -0700 Subject: [PATCH] feat: add aws connection support (#148) * feat: add aws connection support PiperOrigin-RevId: 334870265 Source-Author: Google APIs Source-Date: Thu Oct 1 12:16:35 2020 -0700 Source-Repo: googleapis/googleapis Source-Sha: aa72330a8d16d281df131e8d37bb1a4bde53401f Source-Link: https://github.com/googleapis/googleapis/commit/aa72330a8d16d281df131e8d37bb1a4bde53401f * feat: add clir Co-authored-by: Praful Makani --- .../clirr-ignored-differences.xml | 20 + .../connection/v1/AwsCrossAccountRole.java | 1018 +++++++++++++++++ .../v1/AwsCrossAccountRoleOrBuilder.java | 106 ++ .../bigquery/connection/v1/AwsProperties.java | 867 ++++++++++++++ .../connection/v1/AwsPropertiesOrBuilder.java | 67 ++ .../bigquery/connection/v1/Connection.java | 311 +++++ .../connection/v1/ConnectionOrBuilder.java | 35 + .../connection/v1/ConnectionOuterClass.java | 162 +-- .../bigquery/connection/v1/connection.proto | 29 + synth.metadata | 14 +- 10 files changed, 2559 insertions(+), 70 deletions(-) create mode 100644 proto-google-cloud-bigqueryconnection-v1/clirr-ignored-differences.xml create mode 100644 proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRole.java create mode 100644 proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRoleOrBuilder.java create mode 100644 proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java create mode 100644 proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java diff --git a/proto-google-cloud-bigqueryconnection-v1/clirr-ignored-differences.xml b/proto-google-cloud-bigqueryconnection-v1/clirr-ignored-differences.xml new file mode 100644 index 00000000..c81b4a79 --- /dev/null +++ b/proto-google-cloud-bigqueryconnection-v1/clirr-ignored-differences.xml @@ -0,0 +1,20 @@ + + + + + + 7012 + com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder + com.google.cloud.bigquery.connection.v1.AwsProperties getAws() + + + 7012 + com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder + com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder getAwsOrBuilder() + + + 7012 + com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder + boolean hasAws() + + diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRole.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRole.java new file mode 100644 index 00000000..2d04cf37 --- /dev/null +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRole.java @@ -0,0 +1,1018 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/bigquery/connection/v1/connection.proto + +package com.google.cloud.bigquery.connection.v1; + +/** + * + * + *
+ * Authentication method for Amazon Web Services (AWS) that uses Google owned
+ * AWS IAM user's access key to assume into customer's AWS IAM Role.
+ * 
+ * + * Protobuf type {@code google.cloud.bigquery.connection.v1.AwsCrossAccountRole} + */ +public final class AwsCrossAccountRole extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + AwsCrossAccountRoleOrBuilder { + private static final long serialVersionUID = 0L; + // Use AwsCrossAccountRole.newBuilder() to construct. + private AwsCrossAccountRole(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private AwsCrossAccountRole() { + iamRoleId_ = ""; + iamUserId_ = ""; + externalId_ = ""; + } + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new AwsCrossAccountRole(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private AwsCrossAccountRole( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 10: + { + java.lang.String s = input.readStringRequireUtf8(); + + iamRoleId_ = s; + break; + } + case 18: + { + java.lang.String s = input.readStringRequireUtf8(); + + iamUserId_ = s; + break; + } + case 26: + { + java.lang.String s = input.readStringRequireUtf8(); + + externalId_ = s; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_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_AwsCrossAccountRole_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.class, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder.class); + } + + public static final int IAM_ROLE_ID_FIELD_NUMBER = 1; + private volatile java.lang.Object iamRoleId_; + /** + * + * + *
+   * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+   * Connection.
+   * 
+ * + * string iam_role_id = 1; + * + * @return The iamRoleId. + */ + @java.lang.Override + public java.lang.String getIamRoleId() { + java.lang.Object ref = iamRoleId_; + 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(); + iamRoleId_ = s; + return s; + } + } + /** + * + * + *
+   * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+   * Connection.
+   * 
+ * + * string iam_role_id = 1; + * + * @return The bytes for iamRoleId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIamRoleIdBytes() { + java.lang.Object ref = iamRoleId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iamRoleId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int IAM_USER_ID_FIELD_NUMBER = 2; + private volatile java.lang.Object iamUserId_; + /** + * + * + *
+   * Output only. Google-owned AWS IAM User for a Connection.
+   * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The iamUserId. + */ + @java.lang.Override + public java.lang.String getIamUserId() { + java.lang.Object ref = iamUserId_; + 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(); + iamUserId_ = s; + return s; + } + } + /** + * + * + *
+   * Output only. Google-owned AWS IAM User for a Connection.
+   * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for iamUserId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getIamUserIdBytes() { + java.lang.Object ref = iamUserId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iamUserId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int EXTERNAL_ID_FIELD_NUMBER = 3; + private volatile java.lang.Object externalId_; + /** + * + * + *
+   * Output only. A Google-generated id for representing Connection’s identity in AWS.
+   * External Id is also used for preventing the Confused Deputy Problem. See
+   * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+   * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The externalId. + */ + @java.lang.Override + public java.lang.String getExternalId() { + java.lang.Object ref = externalId_; + 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(); + externalId_ = s; + return s; + } + } + /** + * + * + *
+   * Output only. A Google-generated id for representing Connection’s identity in AWS.
+   * External Id is also used for preventing the Confused Deputy Problem. See
+   * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+   * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for externalId. + */ + @java.lang.Override + public com.google.protobuf.ByteString getExternalIdBytes() { + java.lang.Object ref = externalId_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + externalId_ = 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 (!getIamRoleIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 1, iamRoleId_); + } + if (!getIamUserIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 2, iamUserId_); + } + if (!getExternalIdBytes().isEmpty()) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, externalId_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (!getIamRoleIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(1, iamRoleId_); + } + if (!getIamUserIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, iamUserId_); + } + if (!getExternalIdBytes().isEmpty()) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, externalId_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole)) { + return super.equals(obj); + } + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole other = + (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) obj; + + if (!getIamRoleId().equals(other.getIamRoleId())) return false; + if (!getIamUserId().equals(other.getIamUserId())) return false; + if (!getExternalId().equals(other.getExternalId())) return false; + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + hash = (37 * hash) + IAM_ROLE_ID_FIELD_NUMBER; + hash = (53 * hash) + getIamRoleId().hashCode(); + hash = (37 * hash) + IAM_USER_ID_FIELD_NUMBER; + hash = (53 * hash) + getIamUserId().hashCode(); + hash = (37 * hash) + EXTERNAL_ID_FIELD_NUMBER; + hash = (53 * hash) + getExternalId().hashCode(); + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole 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.AwsCrossAccountRole parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole 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.AwsCrossAccountRole parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole 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.AwsCrossAccountRole 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.AwsCrossAccountRole 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.AwsCrossAccountRole 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.AwsCrossAccountRole 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.AwsCrossAccountRole 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.AwsCrossAccountRole 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.AwsCrossAccountRole 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; + } + /** + * + * + *
+   * Authentication method for Amazon Web Services (AWS) that uses Google owned
+   * AWS IAM user's access key to assume into customer's AWS IAM Role.
+   * 
+ * + * Protobuf type {@code google.cloud.bigquery.connection.v1.AwsCrossAccountRole} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_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_AwsCrossAccountRole_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.class, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder.class); + } + + // Construct using com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + iamRoleId_ = ""; + + iamUserId_ = ""; + + externalId_ = ""; + + 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_AwsCrossAccountRole_descriptor; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole getDefaultInstanceForType() { + return com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole build() { + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole buildPartial() { + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole result = + new com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole(this); + result.iamRoleId_ = iamRoleId_; + result.iamUserId_ = iamUserId_; + result.externalId_ = externalId_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) { + return mergeFrom((com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole other) { + if (other == com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance()) + return this; + if (!other.getIamRoleId().isEmpty()) { + iamRoleId_ = other.iamRoleId_; + onChanged(); + } + if (!other.getIamUserId().isEmpty()) { + iamUserId_ = other.iamUserId_; + onChanged(); + } + if (!other.getExternalId().isEmpty()) { + externalId_ = other.externalId_; + onChanged(); + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private java.lang.Object iamRoleId_ = ""; + /** + * + * + *
+     * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+     * Connection.
+     * 
+ * + * string iam_role_id = 1; + * + * @return The iamRoleId. + */ + public java.lang.String getIamRoleId() { + java.lang.Object ref = iamRoleId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + iamRoleId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+     * Connection.
+     * 
+ * + * string iam_role_id = 1; + * + * @return The bytes for iamRoleId. + */ + public com.google.protobuf.ByteString getIamRoleIdBytes() { + java.lang.Object ref = iamRoleId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iamRoleId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+     * Connection.
+     * 
+ * + * string iam_role_id = 1; + * + * @param value The iamRoleId to set. + * @return This builder for chaining. + */ + public Builder setIamRoleId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + iamRoleId_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+     * Connection.
+     * 
+ * + * string iam_role_id = 1; + * + * @return This builder for chaining. + */ + public Builder clearIamRoleId() { + + iamRoleId_ = getDefaultInstance().getIamRoleId(); + onChanged(); + return this; + } + /** + * + * + *
+     * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+     * Connection.
+     * 
+ * + * string iam_role_id = 1; + * + * @param value The bytes for iamRoleId to set. + * @return This builder for chaining. + */ + public Builder setIamRoleIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + iamRoleId_ = value; + onChanged(); + return this; + } + + private java.lang.Object iamUserId_ = ""; + /** + * + * + *
+     * Output only. Google-owned AWS IAM User for a Connection.
+     * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The iamUserId. + */ + public java.lang.String getIamUserId() { + java.lang.Object ref = iamUserId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + iamUserId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Output only. Google-owned AWS IAM User for a Connection.
+     * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for iamUserId. + */ + public com.google.protobuf.ByteString getIamUserIdBytes() { + java.lang.Object ref = iamUserId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + iamUserId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Output only. Google-owned AWS IAM User for a Connection.
+     * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The iamUserId to set. + * @return This builder for chaining. + */ + public Builder setIamUserId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + iamUserId_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. Google-owned AWS IAM User for a Connection.
+     * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearIamUserId() { + + iamUserId_ = getDefaultInstance().getIamUserId(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. Google-owned AWS IAM User for a Connection.
+     * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for iamUserId to set. + * @return This builder for chaining. + */ + public Builder setIamUserIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + iamUserId_ = value; + onChanged(); + return this; + } + + private java.lang.Object externalId_ = ""; + /** + * + * + *
+     * Output only. A Google-generated id for representing Connection’s identity in AWS.
+     * External Id is also used for preventing the Confused Deputy Problem. See
+     * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+     * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The externalId. + */ + public java.lang.String getExternalId() { + java.lang.Object ref = externalId_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + externalId_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+     * Output only. A Google-generated id for representing Connection’s identity in AWS.
+     * External Id is also used for preventing the Confused Deputy Problem. See
+     * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+     * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for externalId. + */ + public com.google.protobuf.ByteString getExternalIdBytes() { + java.lang.Object ref = externalId_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + externalId_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+     * Output only. A Google-generated id for representing Connection’s identity in AWS.
+     * External Id is also used for preventing the Confused Deputy Problem. See
+     * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+     * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The externalId to set. + * @return This builder for chaining. + */ + public Builder setExternalId(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + + externalId_ = value; + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. A Google-generated id for representing Connection’s identity in AWS.
+     * External Id is also used for preventing the Confused Deputy Problem. See
+     * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+     * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return This builder for chaining. + */ + public Builder clearExternalId() { + + externalId_ = getDefaultInstance().getExternalId(); + onChanged(); + return this; + } + /** + * + * + *
+     * Output only. A Google-generated id for representing Connection’s identity in AWS.
+     * External Id is also used for preventing the Confused Deputy Problem. See
+     * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+     * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @param value The bytes for externalId to set. + * @return This builder for chaining. + */ + public Builder setExternalIdBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + + externalId_ = value; + onChanged(); + return this; + } + + @java.lang.Override + public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.setUnknownFields(unknownFields); + } + + @java.lang.Override + public final Builder mergeUnknownFields( + final com.google.protobuf.UnknownFieldSet unknownFields) { + return super.mergeUnknownFields(unknownFields); + } + + // @@protoc_insertion_point(builder_scope:google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + } + + // @@protoc_insertion_point(class_scope:google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + private static final com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole(); + } + + public static com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AwsCrossAccountRole parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AwsCrossAccountRole(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRoleOrBuilder.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRoleOrBuilder.java new file mode 100644 index 00000000..b25dd1e0 --- /dev/null +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRoleOrBuilder.java @@ -0,0 +1,106 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/bigquery/connection/v1/connection.proto + +package com.google.cloud.bigquery.connection.v1; + +public interface AwsCrossAccountRoleOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+   * Connection.
+   * 
+ * + * string iam_role_id = 1; + * + * @return The iamRoleId. + */ + java.lang.String getIamRoleId(); + /** + * + * + *
+   * The user’s AWS IAM Role that trusts the Google-owned AWS IAM user
+   * Connection.
+   * 
+ * + * string iam_role_id = 1; + * + * @return The bytes for iamRoleId. + */ + com.google.protobuf.ByteString getIamRoleIdBytes(); + + /** + * + * + *
+   * Output only. Google-owned AWS IAM User for a Connection.
+   * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The iamUserId. + */ + java.lang.String getIamUserId(); + /** + * + * + *
+   * Output only. Google-owned AWS IAM User for a Connection.
+   * 
+ * + * string iam_user_id = 2 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for iamUserId. + */ + com.google.protobuf.ByteString getIamUserIdBytes(); + + /** + * + * + *
+   * Output only. A Google-generated id for representing Connection’s identity in AWS.
+   * External Id is also used for preventing the Confused Deputy Problem. See
+   * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+   * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The externalId. + */ + java.lang.String getExternalId(); + /** + * + * + *
+   * Output only. A Google-generated id for representing Connection’s identity in AWS.
+   * External Id is also used for preventing the Confused Deputy Problem. See
+   * https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html
+   * 
+ * + * string external_id = 3 [(.google.api.field_behavior) = OUTPUT_ONLY]; + * + * @return The bytes for externalId. + */ + com.google.protobuf.ByteString getExternalIdBytes(); +} diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java new file mode 100644 index 00000000..ab1eb518 --- /dev/null +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java @@ -0,0 +1,867 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/bigquery/connection/v1/connection.proto + +package com.google.cloud.bigquery.connection.v1; + +/** + * + * + *
+ * Connection properties specific to Amazon Web Services (AWS).
+ * 
+ * + * Protobuf type {@code google.cloud.bigquery.connection.v1.AwsProperties} + */ +public final class AwsProperties extends com.google.protobuf.GeneratedMessageV3 + implements + // @@protoc_insertion_point(message_implements:google.cloud.bigquery.connection.v1.AwsProperties) + AwsPropertiesOrBuilder { + private static final long serialVersionUID = 0L; + // Use AwsProperties.newBuilder() to construct. + private AwsProperties(com.google.protobuf.GeneratedMessageV3.Builder builder) { + super(builder); + } + + private AwsProperties() {} + + @java.lang.Override + @SuppressWarnings({"unused"}) + protected java.lang.Object newInstance(UnusedPrivateParameter unused) { + return new AwsProperties(); + } + + @java.lang.Override + public final com.google.protobuf.UnknownFieldSet getUnknownFields() { + return this.unknownFields; + } + + private AwsProperties( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + this(); + if (extensionRegistry == null) { + throw new java.lang.NullPointerException(); + } + com.google.protobuf.UnknownFieldSet.Builder unknownFields = + com.google.protobuf.UnknownFieldSet.newBuilder(); + try { + boolean done = false; + while (!done) { + int tag = input.readTag(); + switch (tag) { + case 0: + done = true; + break; + case 18: + { + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder subBuilder = null; + if (authenticationMethodCase_ == 2) { + subBuilder = + ((com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + authenticationMethod_) + .toBuilder(); + } + authenticationMethod_ = + input.readMessage( + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom( + (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + authenticationMethod_); + authenticationMethod_ = subBuilder.buildPartial(); + } + authenticationMethodCase_ = 2; + break; + } + default: + { + if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { + done = true; + } + break; + } + } + } + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + throw e.setUnfinishedMessage(this); + } catch (java.io.IOException e) { + throw new com.google.protobuf.InvalidProtocolBufferException(e).setUnfinishedMessage(this); + } finally { + this.unknownFields = unknownFields.build(); + makeExtensionsImmutable(); + } + } + + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_AwsProperties_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_AwsProperties_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.bigquery.connection.v1.AwsProperties.class, + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder.class); + } + + private int authenticationMethodCase_ = 0; + private java.lang.Object authenticationMethod_; + + public enum AuthenticationMethodCase + implements + com.google.protobuf.Internal.EnumLite, + com.google.protobuf.AbstractMessage.InternalOneOfEnum { + CROSS_ACCOUNT_ROLE(2), + AUTHENTICATIONMETHOD_NOT_SET(0); + private final int value; + + private AuthenticationMethodCase(int value) { + this.value = value; + } + /** + * @param value The number of the enum to look for. + * @return The enum associated with the given number. + * @deprecated Use {@link #forNumber(int)} instead. + */ + @java.lang.Deprecated + public static AuthenticationMethodCase valueOf(int value) { + return forNumber(value); + } + + public static AuthenticationMethodCase forNumber(int value) { + switch (value) { + case 2: + return CROSS_ACCOUNT_ROLE; + case 0: + return AUTHENTICATIONMETHOD_NOT_SET; + default: + return null; + } + } + + public int getNumber() { + return this.value; + } + }; + + public AuthenticationMethodCase getAuthenticationMethodCase() { + return AuthenticationMethodCase.forNumber(authenticationMethodCase_); + } + + public static final int CROSS_ACCOUNT_ROLE_FIELD_NUMBER = 2; + /** + * + * + *
+   * Authentication using Google owned AWS IAM user's access key to assume
+   * into customer's AWS IAM Role.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + * + * @return Whether the crossAccountRole field is set. + */ + @java.lang.Override + public boolean hasCrossAccountRole() { + return authenticationMethodCase_ == 2; + } + /** + * + * + *
+   * Authentication using Google owned AWS IAM user's access key to assume
+   * into customer's AWS IAM Role.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + * + * @return The crossAccountRole. + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole getCrossAccountRole() { + if (authenticationMethodCase_ == 2) { + return (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) authenticationMethod_; + } + return com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } + /** + * + * + *
+   * Authentication using Google owned AWS IAM user's access key to assume
+   * into customer's AWS IAM Role.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder + getCrossAccountRoleOrBuilder() { + if (authenticationMethodCase_ == 2) { + return (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) authenticationMethod_; + } + return com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } + + private byte memoizedIsInitialized = -1; + + @java.lang.Override + public final boolean isInitialized() { + byte isInitialized = memoizedIsInitialized; + if (isInitialized == 1) return true; + if (isInitialized == 0) return false; + + memoizedIsInitialized = 1; + return true; + } + + @java.lang.Override + public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { + if (authenticationMethodCase_ == 2) { + output.writeMessage( + 2, (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) authenticationMethod_); + } + unknownFields.writeTo(output); + } + + @java.lang.Override + public int getSerializedSize() { + int size = memoizedSize; + if (size != -1) return size; + + size = 0; + if (authenticationMethodCase_ == 2) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 2, + (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) authenticationMethod_); + } + size += unknownFields.getSerializedSize(); + memoizedSize = size; + return size; + } + + @java.lang.Override + public boolean equals(final java.lang.Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof com.google.cloud.bigquery.connection.v1.AwsProperties)) { + return super.equals(obj); + } + com.google.cloud.bigquery.connection.v1.AwsProperties other = + (com.google.cloud.bigquery.connection.v1.AwsProperties) obj; + + if (!getAuthenticationMethodCase().equals(other.getAuthenticationMethodCase())) return false; + switch (authenticationMethodCase_) { + case 2: + if (!getCrossAccountRole().equals(other.getCrossAccountRole())) return false; + break; + case 0: + default: + } + if (!unknownFields.equals(other.unknownFields)) return false; + return true; + } + + @java.lang.Override + public int hashCode() { + if (memoizedHashCode != 0) { + return memoizedHashCode; + } + int hash = 41; + hash = (19 * hash) + getDescriptor().hashCode(); + switch (authenticationMethodCase_) { + case 2: + hash = (37 * hash) + CROSS_ACCOUNT_ROLE_FIELD_NUMBER; + hash = (53 * hash) + getCrossAccountRole().hashCode(); + break; + case 0: + default: + } + hash = (29 * hash) + unknownFields.hashCode(); + memoizedHashCode = hash; + return hash; + } + + public static com.google.cloud.bigquery.connection.v1.AwsProperties parseFrom( + java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.AwsProperties 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.AwsProperties parseFrom( + com.google.protobuf.ByteString data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.AwsProperties 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.AwsProperties parseFrom(byte[] data) + throws com.google.protobuf.InvalidProtocolBufferException { + return PARSER.parseFrom(data); + } + + public static com.google.cloud.bigquery.connection.v1.AwsProperties 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.AwsProperties 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.AwsProperties 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.AwsProperties 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.AwsProperties 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.AwsProperties 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.AwsProperties 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.AwsProperties 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 Amazon Web Services (AWS).
+   * 
+ * + * Protobuf type {@code google.cloud.bigquery.connection.v1.AwsProperties} + */ + public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder + implements + // @@protoc_insertion_point(builder_implements:google.cloud.bigquery.connection.v1.AwsProperties) + com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder { + public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { + return com.google.cloud.bigquery.connection.v1.ConnectionOuterClass + .internal_static_google_cloud_bigquery_connection_v1_AwsProperties_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_AwsProperties_fieldAccessorTable + .ensureFieldAccessorsInitialized( + com.google.cloud.bigquery.connection.v1.AwsProperties.class, + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder.class); + } + + // Construct using com.google.cloud.bigquery.connection.v1.AwsProperties.newBuilder() + private Builder() { + maybeForceBuilderInitialization(); + } + + private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { + super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) {} + } + + @java.lang.Override + public Builder clear() { + super.clear(); + authenticationMethodCase_ = 0; + authenticationMethod_ = null; + 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_AwsProperties_descriptor; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsProperties getDefaultInstanceForType() { + return com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsProperties build() { + com.google.cloud.bigquery.connection.v1.AwsProperties result = buildPartial(); + if (!result.isInitialized()) { + throw newUninitializedMessageException(result); + } + return result; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsProperties buildPartial() { + com.google.cloud.bigquery.connection.v1.AwsProperties result = + new com.google.cloud.bigquery.connection.v1.AwsProperties(this); + if (authenticationMethodCase_ == 2) { + if (crossAccountRoleBuilder_ == null) { + result.authenticationMethod_ = authenticationMethod_; + } else { + result.authenticationMethod_ = crossAccountRoleBuilder_.build(); + } + } + result.authenticationMethodCase_ = authenticationMethodCase_; + onBuilt(); + return result; + } + + @java.lang.Override + public Builder clone() { + return super.clone(); + } + + @java.lang.Override + public Builder setField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.setField(field, value); + } + + @java.lang.Override + public Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) { + return super.clearField(field); + } + + @java.lang.Override + public Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) { + return super.clearOneof(oneof); + } + + @java.lang.Override + public Builder setRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { + return super.setRepeatedField(field, index, value); + } + + @java.lang.Override + public Builder addRepeatedField( + com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { + return super.addRepeatedField(field, value); + } + + @java.lang.Override + public Builder mergeFrom(com.google.protobuf.Message other) { + if (other instanceof com.google.cloud.bigquery.connection.v1.AwsProperties) { + return mergeFrom((com.google.cloud.bigquery.connection.v1.AwsProperties) other); + } else { + super.mergeFrom(other); + return this; + } + } + + public Builder mergeFrom(com.google.cloud.bigquery.connection.v1.AwsProperties other) { + if (other == com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance()) + return this; + switch (other.getAuthenticationMethodCase()) { + case CROSS_ACCOUNT_ROLE: + { + mergeCrossAccountRole(other.getCrossAccountRole()); + break; + } + case AUTHENTICATIONMETHOD_NOT_SET: + { + break; + } + } + this.mergeUnknownFields(other.unknownFields); + onChanged(); + return this; + } + + @java.lang.Override + public final boolean isInitialized() { + return true; + } + + @java.lang.Override + public Builder mergeFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws java.io.IOException { + com.google.cloud.bigquery.connection.v1.AwsProperties parsedMessage = null; + try { + parsedMessage = PARSER.parsePartialFrom(input, extensionRegistry); + } catch (com.google.protobuf.InvalidProtocolBufferException e) { + parsedMessage = + (com.google.cloud.bigquery.connection.v1.AwsProperties) e.getUnfinishedMessage(); + throw e.unwrapIOException(); + } finally { + if (parsedMessage != null) { + mergeFrom(parsedMessage); + } + } + return this; + } + + private int authenticationMethodCase_ = 0; + private java.lang.Object authenticationMethod_; + + public AuthenticationMethodCase getAuthenticationMethodCase() { + return AuthenticationMethodCase.forNumber(authenticationMethodCase_); + } + + public Builder clearAuthenticationMethod() { + authenticationMethodCase_ = 0; + authenticationMethod_ = null; + onChanged(); + return this; + } + + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder> + crossAccountRoleBuilder_; + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + * + * @return Whether the crossAccountRole field is set. + */ + @java.lang.Override + public boolean hasCrossAccountRole() { + return authenticationMethodCase_ == 2; + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + * + * @return The crossAccountRole. + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole getCrossAccountRole() { + if (crossAccountRoleBuilder_ == null) { + if (authenticationMethodCase_ == 2) { + return (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + authenticationMethod_; + } + return com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } else { + if (authenticationMethodCase_ == 2) { + return crossAccountRoleBuilder_.getMessage(); + } + return com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + public Builder setCrossAccountRole( + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole value) { + if (crossAccountRoleBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + authenticationMethod_ = value; + onChanged(); + } else { + crossAccountRoleBuilder_.setMessage(value); + } + authenticationMethodCase_ = 2; + return this; + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + public Builder setCrossAccountRole( + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder builderForValue) { + if (crossAccountRoleBuilder_ == null) { + authenticationMethod_ = builderForValue.build(); + onChanged(); + } else { + crossAccountRoleBuilder_.setMessage(builderForValue.build()); + } + authenticationMethodCase_ = 2; + return this; + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + public Builder mergeCrossAccountRole( + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole value) { + if (crossAccountRoleBuilder_ == null) { + if (authenticationMethodCase_ == 2 + && authenticationMethod_ + != com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole + .getDefaultInstance()) { + authenticationMethod_ = + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.newBuilder( + (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + authenticationMethod_) + .mergeFrom(value) + .buildPartial(); + } else { + authenticationMethod_ = value; + } + onChanged(); + } else { + if (authenticationMethodCase_ == 2) { + crossAccountRoleBuilder_.mergeFrom(value); + } + crossAccountRoleBuilder_.setMessage(value); + } + authenticationMethodCase_ = 2; + return this; + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + public Builder clearCrossAccountRole() { + if (crossAccountRoleBuilder_ == null) { + if (authenticationMethodCase_ == 2) { + authenticationMethodCase_ = 0; + authenticationMethod_ = null; + onChanged(); + } + } else { + if (authenticationMethodCase_ == 2) { + authenticationMethodCase_ = 0; + authenticationMethod_ = null; + } + crossAccountRoleBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder + getCrossAccountRoleBuilder() { + return getCrossAccountRoleFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder + getCrossAccountRoleOrBuilder() { + if ((authenticationMethodCase_ == 2) && (crossAccountRoleBuilder_ != null)) { + return crossAccountRoleBuilder_.getMessageOrBuilder(); + } else { + if (authenticationMethodCase_ == 2) { + return (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) + authenticationMethod_; + } + return com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } + } + /** + * + * + *
+     * Authentication using Google owned AWS IAM user's access key to assume
+     * into customer's AWS IAM Role.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder> + getCrossAccountRoleFieldBuilder() { + if (crossAccountRoleBuilder_ == null) { + if (!(authenticationMethodCase_ == 2)) { + authenticationMethod_ = + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.getDefaultInstance(); + } + crossAccountRoleBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole.Builder, + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder>( + (com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole) authenticationMethod_, + getParentForChildren(), + isClean()); + authenticationMethod_ = null; + } + authenticationMethodCase_ = 2; + onChanged(); + ; + return crossAccountRoleBuilder_; + } + + @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.AwsProperties) + } + + // @@protoc_insertion_point(class_scope:google.cloud.bigquery.connection.v1.AwsProperties) + private static final com.google.cloud.bigquery.connection.v1.AwsProperties DEFAULT_INSTANCE; + + static { + DEFAULT_INSTANCE = new com.google.cloud.bigquery.connection.v1.AwsProperties(); + } + + public static com.google.cloud.bigquery.connection.v1.AwsProperties getDefaultInstance() { + return DEFAULT_INSTANCE; + } + + private static final com.google.protobuf.Parser PARSER = + new com.google.protobuf.AbstractParser() { + @java.lang.Override + public AwsProperties parsePartialFrom( + com.google.protobuf.CodedInputStream input, + com.google.protobuf.ExtensionRegistryLite extensionRegistry) + throws com.google.protobuf.InvalidProtocolBufferException { + return new AwsProperties(input, extensionRegistry); + } + }; + + public static com.google.protobuf.Parser parser() { + return PARSER; + } + + @java.lang.Override + public com.google.protobuf.Parser getParserForType() { + return PARSER; + } + + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsProperties getDefaultInstanceForType() { + return DEFAULT_INSTANCE; + } +} diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java new file mode 100644 index 00000000..0a0ad7cc --- /dev/null +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java @@ -0,0 +1,67 @@ +/* + * Copyright 2020 Google LLC + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * https://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ +// Generated by the protocol buffer compiler. DO NOT EDIT! +// source: google/cloud/bigquery/connection/v1/connection.proto + +package com.google.cloud.bigquery.connection.v1; + +public interface AwsPropertiesOrBuilder + extends + // @@protoc_insertion_point(interface_extends:google.cloud.bigquery.connection.v1.AwsProperties) + com.google.protobuf.MessageOrBuilder { + + /** + * + * + *
+   * Authentication using Google owned AWS IAM user's access key to assume
+   * into customer's AWS IAM Role.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + * + * @return Whether the crossAccountRole field is set. + */ + boolean hasCrossAccountRole(); + /** + * + * + *
+   * Authentication using Google owned AWS IAM user's access key to assume
+   * into customer's AWS IAM Role.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + * + * @return The crossAccountRole. + */ + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRole getCrossAccountRole(); + /** + * + * + *
+   * Authentication using Google owned AWS IAM user's access key to assume
+   * into customer's AWS IAM Role.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsCrossAccountRole cross_account_role = 2; + */ + com.google.cloud.bigquery.connection.v1.AwsCrossAccountRoleOrBuilder + getCrossAccountRoleOrBuilder(); + + public com.google.cloud.bigquery.connection.v1.AwsProperties.AuthenticationMethodCase + getAuthenticationMethodCase(); +} diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java index ec37e404..56a5e255 100644 --- a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/Connection.java @@ -129,6 +129,26 @@ private Connection( hasCredential_ = input.readBool(); break; } + case 66: + { + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder subBuilder = null; + if (propertiesCase_ == 8) { + subBuilder = + ((com.google.cloud.bigquery.connection.v1.AwsProperties) properties_) + .toBuilder(); + } + properties_ = + input.readMessage( + com.google.cloud.bigquery.connection.v1.AwsProperties.parser(), + extensionRegistry); + if (subBuilder != null) { + subBuilder.mergeFrom( + (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_); + properties_ = subBuilder.buildPartial(); + } + propertiesCase_ = 8; + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -171,6 +191,7 @@ public enum PropertiesCase com.google.protobuf.Internal.EnumLite, com.google.protobuf.AbstractMessage.InternalOneOfEnum { CLOUD_SQL(4), + AWS(8), PROPERTIES_NOT_SET(0); private final int value; @@ -191,6 +212,8 @@ public static PropertiesCase forNumber(int value) { switch (value) { case 4: return CLOUD_SQL; + case 8: + return AWS; case 0: return PROPERTIES_NOT_SET; default: @@ -408,6 +431,57 @@ public com.google.cloud.bigquery.connection.v1.CloudSqlProperties getCloudSql() return com.google.cloud.bigquery.connection.v1.CloudSqlProperties.getDefaultInstance(); } + public static final int AWS_FIELD_NUMBER = 8; + /** + * + * + *
+   * Amazon Web Services (AWS) properties.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + * + * @return Whether the aws field is set. + */ + @java.lang.Override + public boolean hasAws() { + return propertiesCase_ == 8; + } + /** + * + * + *
+   * Amazon Web Services (AWS) properties.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + * + * @return The aws. + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsProperties getAws() { + if (propertiesCase_ == 8) { + return (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_; + } + return com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } + /** + * + * + *
+   * Amazon Web Services (AWS) properties.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder getAwsOrBuilder() { + if (propertiesCase_ == 8) { + return (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_; + } + return com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } + public static final int CREATION_TIME_FIELD_NUMBER = 5; private long creationTime_; /** @@ -498,6 +572,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (hasCredential_ != false) { output.writeBool(7, hasCredential_); } + if (propertiesCase_ == 8) { + output.writeMessage(8, (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_); + } unknownFields.writeTo(output); } @@ -530,6 +607,11 @@ public int getSerializedSize() { if (hasCredential_ != false) { size += com.google.protobuf.CodedOutputStream.computeBoolSize(7, hasCredential_); } + if (propertiesCase_ == 8) { + size += + com.google.protobuf.CodedOutputStream.computeMessageSize( + 8, (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_); + } size += unknownFields.getSerializedSize(); memoizedSize = size; return size; @@ -557,6 +639,9 @@ public boolean equals(final java.lang.Object obj) { case 4: if (!getCloudSql().equals(other.getCloudSql())) return false; break; + case 8: + if (!getAws().equals(other.getAws())) return false; + break; case 0: default: } @@ -588,6 +673,10 @@ public int hashCode() { hash = (37 * hash) + CLOUD_SQL_FIELD_NUMBER; hash = (53 * hash) + getCloudSql().hashCode(); break; + case 8: + hash = (37 * hash) + AWS_FIELD_NUMBER; + hash = (53 * hash) + getAws().hashCode(); + break; case 0: default: } @@ -788,6 +877,13 @@ public com.google.cloud.bigquery.connection.v1.Connection buildPartial() { result.properties_ = cloudSqlBuilder_.build(); } } + if (propertiesCase_ == 8) { + if (awsBuilder_ == null) { + result.properties_ = properties_; + } else { + result.properties_ = awsBuilder_.build(); + } + } result.creationTime_ = creationTime_; result.lastModifiedTime_ = lastModifiedTime_; result.hasCredential_ = hasCredential_; @@ -869,6 +965,11 @@ public Builder mergeFrom(com.google.cloud.bigquery.connection.v1.Connection othe mergeCloudSql(other.getCloudSql()); break; } + case AWS: + { + mergeAws(other.getAws()); + break; + } case PROPERTIES_NOT_SET: { break; @@ -1454,6 +1555,216 @@ public com.google.cloud.bigquery.connection.v1.CloudSqlProperties.Builder getClo return cloudSqlBuilder_; } + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.AwsProperties, + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder, + com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder> + awsBuilder_; + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + * + * @return Whether the aws field is set. + */ + @java.lang.Override + public boolean hasAws() { + return propertiesCase_ == 8; + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + * + * @return The aws. + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsProperties getAws() { + if (awsBuilder_ == null) { + if (propertiesCase_ == 8) { + return (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_; + } + return com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } else { + if (propertiesCase_ == 8) { + return awsBuilder_.getMessage(); + } + return com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + public Builder setAws(com.google.cloud.bigquery.connection.v1.AwsProperties value) { + if (awsBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + properties_ = value; + onChanged(); + } else { + awsBuilder_.setMessage(value); + } + propertiesCase_ = 8; + return this; + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + public Builder setAws( + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder builderForValue) { + if (awsBuilder_ == null) { + properties_ = builderForValue.build(); + onChanged(); + } else { + awsBuilder_.setMessage(builderForValue.build()); + } + propertiesCase_ = 8; + return this; + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + public Builder mergeAws(com.google.cloud.bigquery.connection.v1.AwsProperties value) { + if (awsBuilder_ == null) { + if (propertiesCase_ == 8 + && properties_ + != com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance()) { + properties_ = + com.google.cloud.bigquery.connection.v1.AwsProperties.newBuilder( + (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_) + .mergeFrom(value) + .buildPartial(); + } else { + properties_ = value; + } + onChanged(); + } else { + if (propertiesCase_ == 8) { + awsBuilder_.mergeFrom(value); + } + awsBuilder_.setMessage(value); + } + propertiesCase_ = 8; + return this; + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + public Builder clearAws() { + if (awsBuilder_ == null) { + if (propertiesCase_ == 8) { + propertiesCase_ = 0; + properties_ = null; + onChanged(); + } + } else { + if (propertiesCase_ == 8) { + propertiesCase_ = 0; + properties_ = null; + } + awsBuilder_.clear(); + } + return this; + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + public com.google.cloud.bigquery.connection.v1.AwsProperties.Builder getAwsBuilder() { + return getAwsFieldBuilder().getBuilder(); + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + @java.lang.Override + public com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder getAwsOrBuilder() { + if ((propertiesCase_ == 8) && (awsBuilder_ != null)) { + return awsBuilder_.getMessageOrBuilder(); + } else { + if (propertiesCase_ == 8) { + return (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_; + } + return com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } + } + /** + * + * + *
+     * Amazon Web Services (AWS) properties.
+     * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.AwsProperties, + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder, + com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder> + getAwsFieldBuilder() { + if (awsBuilder_ == null) { + if (!(propertiesCase_ == 8)) { + properties_ = com.google.cloud.bigquery.connection.v1.AwsProperties.getDefaultInstance(); + } + awsBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.cloud.bigquery.connection.v1.AwsProperties, + com.google.cloud.bigquery.connection.v1.AwsProperties.Builder, + com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder>( + (com.google.cloud.bigquery.connection.v1.AwsProperties) properties_, + getParentForChildren(), + isClean()); + properties_ = null; + } + propertiesCase_ = 8; + onChanged(); + ; + return awsBuilder_; + } + private long creationTime_; /** * diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java index 0e8776d6..94100ed8 100644 --- a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOrBuilder.java @@ -135,6 +135,41 @@ public interface ConnectionOrBuilder */ com.google.cloud.bigquery.connection.v1.CloudSqlPropertiesOrBuilder getCloudSqlOrBuilder(); + /** + * + * + *
+   * Amazon Web Services (AWS) properties.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + * + * @return Whether the aws field is set. + */ + boolean hasAws(); + /** + * + * + *
+   * Amazon Web Services (AWS) properties.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + * + * @return The aws. + */ + com.google.cloud.bigquery.connection.v1.AwsProperties getAws(); + /** + * + * + *
+   * Amazon Web Services (AWS) properties.
+   * 
+ * + * .google.cloud.bigquery.connection.v1.AwsProperties aws = 8; + */ + com.google.cloud.bigquery.connection.v1.AwsPropertiesOrBuilder getAwsOrBuilder(); + /** * * diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java index 0c2d1465..2349aa11 100644 --- a/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/ConnectionOuterClass.java @@ -63,6 +63,14 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r internal_static_google_cloud_bigquery_connection_v1_CloudSqlCredential_descriptor; static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internal_static_google_cloud_bigquery_connection_v1_CloudSqlCredential_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_bigquery_connection_v1_AwsProperties_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_bigquery_connection_v1_AwsProperties_fieldAccessorTable; + static final com.google.protobuf.Descriptors.Descriptor + internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_descriptor; + static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable + internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_fieldAccessorTable; public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { return descriptor; @@ -102,74 +110,81 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + " \001(\0132\032.google.protobuf.FieldMaskB\003\340A\002\"]\n" + "\027DeleteConnectionRequest\022B\n\004name\030\001 \001(\tB4" + "\340A\002\372A.\n,bigqueryconnection.googleapis.co" - + "m/Connection\"\361\002\n\nConnection\022\014\n\004name\030\001 \001(" + + "m/Connection\"\264\003\n\nConnection\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.v1.CloudSqlPropertie" - + "sH\000\022\032\n\rcreation_time\030\005 \001(\003B\003\340A\003\022\037\n\022last_" - + "modified_time\030\006 \001(\003B\003\340A\003\022\033\n\016has_credenti" - + "al\030\007 \001(\010B\003\340A\003:s\352Ap\n,bigqueryconnection.g" - + "oogleapis.com/Connection\022@projects/{proj" - + "ect}/locations/{location}/connections/{c" - + "onnection}B\014\n\nproperties\"\251\002\n\022CloudSqlPro" - + "perties\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.bigq" - + "uery.connection.v1.CloudSqlProperties.Da" - + "tabaseType\022P\n\ncredential\030\004 \001(\01327.google." - + "cloud.bigquery.connection.v1.CloudSqlCre" - + "dentialB\003\340A\004\"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(\t2\314\r\n\021ConnectionSer" - + "vice\022\350\001\n\020CreateConnection\022<.google.cloud" - + ".bigquery.connection.v1.CreateConnection" - + "Request\032/.google.cloud.bigquery.connecti" - + "on.v1.Connection\"e\202\323\344\223\002=\"//v1/{parent=pr" - + "ojects/*/locations/*}/connections:\nconne" - + "ction\332A\037parent,connection,connection_id\022" - + "\273\001\n\rGetConnection\0229.google.cloud.bigquer" - + "y.connection.v1.GetConnectionRequest\032/.g" - + "oogle.cloud.bigquery.connection.v1.Conne" - + "ction\">\202\323\344\223\0021\022//v1/{name=projects/*/loca" - + "tions/*/connections/*}\332A\004name\022\316\001\n\017ListCo" - + "nnections\022;.google.cloud.bigquery.connec" - + "tion.v1.ListConnectionsRequest\032<.google." - + "cloud.bigquery.connection.v1.ListConnect" - + "ionsResponse\"@\202\323\344\223\0021\022//v1/{parent=projec" - + "ts/*/locations/*}/connections\332A\006parent\022\344" - + "\001\n\020UpdateConnection\022<.google.cloud.bigqu" - + "ery.connection.v1.UpdateConnectionReques" - + "t\032/.google.cloud.bigquery.connection.v1." - + "Connection\"a\202\323\344\223\002=2//v1/{name=projects/*" - + "/locations/*/connections/*}:\nconnection\332" - + "A\033name,connection,update_mask\022\250\001\n\020Delete" - + "Connection\022<.google.cloud.bigquery.conne" - + "ction.v1.DeleteConnectionRequest\032\026.googl" - + "e.protobuf.Empty\">\202\323\344\223\0021*//v1/{name=proj" - + "ects/*/locations/*/connections/*}\332A\004name" - + "\022\251\001\n\014GetIamPolicy\022\".google.iam.v1.GetIam" - + "PolicyRequest\032\025.google.iam.v1.Policy\"^\202\323" - + "\344\223\002E\"@/v1/{resource=projects/*/locations" - + "/*/connections/*}:getIamPolicy:\001*\332A\020reso" - + "urce,options\022\250\001\n\014SetIamPolicy\022\".google.i" - + "am.v1.SetIamPolicyRequest\032\025.google.iam.v" - + "1.Policy\"]\202\323\344\223\002E\"@/v1/{resource=projects" - + "/*/locations/*/connections/*}:setIamPoli" - + "cy:\001*\332A\017resource,policy\022\323\001\n\022TestIamPermi" - + "ssions\022(.google.iam.v1.TestIamPermission" - + "sRequest\032).google.iam.v1.TestIamPermissi" - + "onsResponse\"h\202\323\344\223\002K\"F/v1/{resource=proje" - + "cts/*/locations/*/connections/*}:testIam" - + "Permissions:\001*\332A\024resource,permissions\032~\312" - + "A!bigqueryconnection.googleapis.com\322AWht" - + "tps://www.googleapis.com/auth/bigquery,h" - + "ttps://www.googleapis.com/auth/cloud-pla" - + "tformB\306\001\n\'com.google.cloud.bigquery.conn" - + "ection.v1P\001ZMgoogle.golang.org/genproto/" - + "googleapis/cloud/bigquery/connection/v1;" - + "connection\252\002#Google.Cloud.BigQuery.Conne" - + "ction.V1\312\002#Google\\Cloud\\BigQuery\\Connect" - + "ion\\V1b\006proto3" + + "sH\000\022A\n\003aws\030\010 \001(\01322.google.cloud.bigquery" + + ".connection.v1.AwsPropertiesH\000\022\032\n\rcreati" + + "on_time\030\005 \001(\003B\003\340A\003\022\037\n\022last_modified_time" + + "\030\006 \001(\003B\003\340A\003\022\033\n\016has_credential\030\007 \001(\010B\003\340A\003" + + ":s\352Ap\n,bigqueryconnection.googleapis.com" + + "/Connection\022@projects/{project}/location" + + "s/{location}/connections/{connection}B\014\n" + + "\nproperties\"\251\002\n\022CloudSqlProperties\022\023\n\013in" + + "stance_id\030\001 \001(\t\022\020\n\010database\030\002 \001(\t\022R\n\004typ" + + "e\030\003 \001(\0162D.google.cloud.bigquery.connecti" + + "on.v1.CloudSqlProperties.DatabaseType\022P\n" + + "\ncredential\030\004 \001(\01327.google.cloud.bigquer" + + "y.connection.v1.CloudSqlCredentialB\003\340A\004\"" + + "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\"\200\001\n\rAwsProperties\022V\n\022cross_acc" + + "ount_role\030\002 \001(\01328.google.cloud.bigquery." + + "connection.v1.AwsCrossAccountRoleH\000B\027\n\025a" + + "uthentication_method\"^\n\023AwsCrossAccountR" + + "ole\022\023\n\013iam_role_id\030\001 \001(\t\022\030\n\013iam_user_id\030" + + "\002 \001(\tB\003\340A\003\022\030\n\013external_id\030\003 \001(\tB\003\340A\0032\314\r\n" + + "\021ConnectionService\022\350\001\n\020CreateConnection\022" + + "<.google.cloud.bigquery.connection.v1.Cr" + + "eateConnectionRequest\032/.google.cloud.big" + + "query.connection.v1.Connection\"e\202\323\344\223\002=\"/" + + "/v1/{parent=projects/*/locations/*}/conn" + + "ections:\nconnection\332A\037parent,connection," + + "connection_id\022\273\001\n\rGetConnection\0229.google" + + ".cloud.bigquery.connection.v1.GetConnect" + + "ionRequest\032/.google.cloud.bigquery.conne" + + "ction.v1.Connection\">\202\323\344\223\0021\022//v1/{name=p" + + "rojects/*/locations/*/connections/*}\332A\004n" + + "ame\022\316\001\n\017ListConnections\022;.google.cloud.b" + + "igquery.connection.v1.ListConnectionsReq" + + "uest\032<.google.cloud.bigquery.connection." + + "v1.ListConnectionsResponse\"@\202\323\344\223\0021\022//v1/" + + "{parent=projects/*/locations/*}/connecti" + + "ons\332A\006parent\022\344\001\n\020UpdateConnection\022<.goog" + + "le.cloud.bigquery.connection.v1.UpdateCo" + + "nnectionRequest\032/.google.cloud.bigquery." + + "connection.v1.Connection\"a\202\323\344\223\002=2//v1/{n" + + "ame=projects/*/locations/*/connections/*" + + "}:\nconnection\332A\033name,connection,update_m" + + "ask\022\250\001\n\020DeleteConnection\022<.google.cloud." + + "bigquery.connection.v1.DeleteConnectionR" + + "equest\032\026.google.protobuf.Empty\">\202\323\344\223\0021*/" + + "/v1/{name=projects/*/locations/*/connect" + + "ions/*}\332A\004name\022\251\001\n\014GetIamPolicy\022\".google" + + ".iam.v1.GetIamPolicyRequest\032\025.google.iam" + + ".v1.Policy\"^\202\323\344\223\002E\"@/v1/{resource=projec" + + "ts/*/locations/*/connections/*}:getIamPo" + + "licy:\001*\332A\020resource,options\022\250\001\n\014SetIamPol" + + "icy\022\".google.iam.v1.SetIamPolicyRequest\032" + + "\025.google.iam.v1.Policy\"]\202\323\344\223\002E\"@/v1/{res" + + "ource=projects/*/locations/*/connections" + + "/*}:setIamPolicy:\001*\332A\017resource,policy\022\323\001" + + "\n\022TestIamPermissions\022(.google.iam.v1.Tes" + + "tIamPermissionsRequest\032).google.iam.v1.T" + + "estIamPermissionsResponse\"h\202\323\344\223\002K\"F/v1/{" + + "resource=projects/*/locations/*/connecti" + + "ons/*}:testIamPermissions:\001*\332A\024resource," + + "permissions\032~\312A!bigqueryconnection.googl" + + "eapis.com\322AWhttps://www.googleapis.com/a" + + "uth/bigquery,https://www.googleapis.com/" + + "auth/cloud-platformB\306\001\n\'com.google.cloud" + + ".bigquery.connection.v1P\001ZMgoogle.golang" + + ".org/genproto/googleapis/cloud/bigquery/" + + "connection/v1;connection\252\002#Google.Cloud." + + "BigQuery.Connection.V1\312\002#Google\\Cloud\\Bi" + + "gQuery\\Connection\\V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -243,6 +258,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { "FriendlyName", "Description", "CloudSql", + "Aws", "CreationTime", "LastModifiedTime", "HasCredential", @@ -264,6 +280,22 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new java.lang.String[] { "Username", "Password", }); + internal_static_google_cloud_bigquery_connection_v1_AwsProperties_descriptor = + getDescriptor().getMessageTypes().get(9); + internal_static_google_cloud_bigquery_connection_v1_AwsProperties_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_bigquery_connection_v1_AwsProperties_descriptor, + new java.lang.String[] { + "CrossAccountRole", "AuthenticationMethod", + }); + internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_descriptor = + getDescriptor().getMessageTypes().get(10); + internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_fieldAccessorTable = + new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( + internal_static_google_cloud_bigquery_connection_v1_AwsCrossAccountRole_descriptor, + new java.lang.String[] { + "IamRoleId", "IamUserId", "ExternalId", + }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); registry.add(com.google.api.ClientProto.defaultHost); diff --git a/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto b/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto index 2d1eccfc..3db05ef1 100644 --- a/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto +++ b/proto-google-cloud-bigqueryconnection-v1/src/main/proto/google/cloud/bigquery/connection/v1/connection.proto @@ -230,6 +230,9 @@ message Connection { oneof properties { // Cloud SQL properties. CloudSqlProperties cloud_sql = 4; + + // Amazon Web Services (AWS) properties. + AwsProperties aws = 8; } // Output only. The creation timestamp of the connection. @@ -277,3 +280,29 @@ message CloudSqlCredential { // The password for the credential. string password = 2; } + +// Connection properties specific to Amazon Web Services (AWS). +message AwsProperties { + // Authentication method chosen at connection creation. + oneof authentication_method { + // Authentication using Google owned AWS IAM user's access key to assume + // into customer's AWS IAM Role. + AwsCrossAccountRole cross_account_role = 2; + } +} + +// Authentication method for Amazon Web Services (AWS) that uses Google owned +// AWS IAM user's access key to assume into customer's AWS IAM Role. +message AwsCrossAccountRole { + // The user’s AWS IAM Role that trusts the Google-owned AWS IAM user + // Connection. + string iam_role_id = 1; + + // Output only. Google-owned AWS IAM User for a Connection. + string iam_user_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. A Google-generated id for representing Connection’s identity in AWS. + // External Id is also used for preventing the Confused Deputy Problem. See + // https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_create_for-user_externalid.html + string external_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; +} diff --git a/synth.metadata b/synth.metadata index d6b84e92..730500ff 100644 --- a/synth.metadata +++ b/synth.metadata @@ -4,23 +4,23 @@ "git": { "name": ".", "remote": "https://github.com/googleapis/java-bigqueryconnection.git", - "sha": "e832e82d30dde372c6049400328b659371d98f42" + "sha": "88fdcc246448f5fc8580ca4128c3a0fc1b5c8865" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "c1b9289be1be876ef494f31c9662bc49b4f906e0", - "internalRef": "323795963" + "sha": "aa72330a8d16d281df131e8d37bb1a4bde53401f", + "internalRef": "334870265" } }, { "git": { "name": "googleapis", "remote": "https://github.com/googleapis/googleapis.git", - "sha": "c1b9289be1be876ef494f31c9662bc49b4f906e0", - "internalRef": "323795963" + "sha": "aa72330a8d16d281df131e8d37bb1a4bde53401f", + "internalRef": "334870265" } }, { @@ -137,6 +137,10 @@ "grpc-google-cloud-bigqueryconnection-v1beta1/src/main/java/com/google/cloud/bigquery/connection/v1beta1/ConnectionServiceGrpc.java", "java.header", "license-checks.xml", + "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRole.java", + "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsCrossAccountRoleOrBuilder.java", + "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsProperties.java", + "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/AwsPropertiesOrBuilder.java", "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSqlCredential.java", "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSqlCredentialOrBuilder.java", "proto-google-cloud-bigqueryconnection-v1/src/main/java/com/google/cloud/bigquery/connection/v1/CloudSqlProperties.java",