diff --git a/generation_config.yaml b/generation_config.yaml index f143da2ea6..832596b473 100644 --- a/generation_config.yaml +++ b/generation_config.yaml @@ -1,4 +1,4 @@ -googleapis_commitish: f17e0aa970506b47d0552574ea7f57a440aa71f2 +googleapis_commitish: 960afb319265a0c1e109e39153563b3d2b21440c # the libraries are ordered with respect to library name, which is # java-{library.library_name} or java-{library.api-shortname} when # library.library_name is not defined. diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java index 0af3d1a7f2..2c16eb3da3 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/BadRequest.java @@ -187,6 +187,79 @@ public interface FieldViolationOrBuilder * @return The bytes for description. */ com.google.protobuf.ByteString getDescriptionBytes(); + + /** + * + * + *
+     * The reason of the field-level error. This is a constant value that
+     * identifies the proximate cause of the field-level error. It should
+     * uniquely identify the type of the FieldViolation within the scope of the
+     * google.rpc.ErrorInfo.domain. This should be at most 63
+     * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+     * which represents UPPER_SNAKE_CASE.
+     * 
+ * + * string reason = 3; + * + * @return The reason. + */ + java.lang.String getReason(); + /** + * + * + *
+     * The reason of the field-level error. This is a constant value that
+     * identifies the proximate cause of the field-level error. It should
+     * uniquely identify the type of the FieldViolation within the scope of the
+     * google.rpc.ErrorInfo.domain. This should be at most 63
+     * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+     * which represents UPPER_SNAKE_CASE.
+     * 
+ * + * string reason = 3; + * + * @return The bytes for reason. + */ + com.google.protobuf.ByteString getReasonBytes(); + + /** + * + * + *
+     * Provides a localized error message for field-level errors that is safe to
+     * return to the API consumer.
+     * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + * + * @return Whether the localizedMessage field is set. + */ + boolean hasLocalizedMessage(); + /** + * + * + *
+     * Provides a localized error message for field-level errors that is safe to
+     * return to the API consumer.
+     * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + * + * @return The localizedMessage. + */ + com.google.rpc.LocalizedMessage getLocalizedMessage(); + /** + * + * + *
+     * Provides a localized error message for field-level errors that is safe to
+     * return to the API consumer.
+     * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + com.google.rpc.LocalizedMessageOrBuilder getLocalizedMessageOrBuilder(); } /** * @@ -210,6 +283,7 @@ private FieldViolation(com.google.protobuf.GeneratedMessageV3.Builder builder private FieldViolation() { field_ = ""; description_ = ""; + reason_ = ""; } @java.lang.Override @@ -233,6 +307,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { com.google.rpc.BadRequest.FieldViolation.Builder.class); } + private int bitField0_; public static final int FIELD_FIELD_NUMBER = 1; @SuppressWarnings("serial") @@ -407,6 +482,120 @@ public com.google.protobuf.ByteString getDescriptionBytes() { } } + public static final int REASON_FIELD_NUMBER = 3; + + @SuppressWarnings("serial") + private volatile java.lang.Object reason_ = ""; + /** + * + * + *
+     * The reason of the field-level error. This is a constant value that
+     * identifies the proximate cause of the field-level error. It should
+     * uniquely identify the type of the FieldViolation within the scope of the
+     * google.rpc.ErrorInfo.domain. This should be at most 63
+     * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+     * which represents UPPER_SNAKE_CASE.
+     * 
+ * + * string reason = 3; + * + * @return The reason. + */ + @java.lang.Override + public java.lang.String getReason() { + java.lang.Object ref = reason_; + 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(); + reason_ = s; + return s; + } + } + /** + * + * + *
+     * The reason of the field-level error. This is a constant value that
+     * identifies the proximate cause of the field-level error. It should
+     * uniquely identify the type of the FieldViolation within the scope of the
+     * google.rpc.ErrorInfo.domain. This should be at most 63
+     * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+     * which represents UPPER_SNAKE_CASE.
+     * 
+ * + * string reason = 3; + * + * @return The bytes for reason. + */ + @java.lang.Override + public com.google.protobuf.ByteString getReasonBytes() { + java.lang.Object ref = reason_; + if (ref instanceof java.lang.String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + reason_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + + public static final int LOCALIZED_MESSAGE_FIELD_NUMBER = 4; + private com.google.rpc.LocalizedMessage localizedMessage_; + /** + * + * + *
+     * Provides a localized error message for field-level errors that is safe to
+     * return to the API consumer.
+     * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + * + * @return Whether the localizedMessage field is set. + */ + @java.lang.Override + public boolean hasLocalizedMessage() { + return ((bitField0_ & 0x00000001) != 0); + } + /** + * + * + *
+     * Provides a localized error message for field-level errors that is safe to
+     * return to the API consumer.
+     * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + * + * @return The localizedMessage. + */ + @java.lang.Override + public com.google.rpc.LocalizedMessage getLocalizedMessage() { + return localizedMessage_ == null + ? com.google.rpc.LocalizedMessage.getDefaultInstance() + : localizedMessage_; + } + /** + * + * + *
+     * Provides a localized error message for field-level errors that is safe to
+     * return to the API consumer.
+     * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + @java.lang.Override + public com.google.rpc.LocalizedMessageOrBuilder getLocalizedMessageOrBuilder() { + return localizedMessage_ == null + ? com.google.rpc.LocalizedMessage.getDefaultInstance() + : localizedMessage_; + } + private byte memoizedIsInitialized = -1; @java.lang.Override @@ -427,6 +616,12 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 2, description_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(reason_)) { + com.google.protobuf.GeneratedMessageV3.writeString(output, 3, reason_); + } + if (((bitField0_ & 0x00000001) != 0)) { + output.writeMessage(4, getLocalizedMessage()); + } getUnknownFields().writeTo(output); } @@ -442,6 +637,12 @@ public int getSerializedSize() { if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(description_)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(2, description_); } + if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(reason_)) { + size += com.google.protobuf.GeneratedMessageV3.computeStringSize(3, reason_); + } + if (((bitField0_ & 0x00000001) != 0)) { + size += com.google.protobuf.CodedOutputStream.computeMessageSize(4, getLocalizedMessage()); + } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; @@ -460,6 +661,11 @@ public boolean equals(final java.lang.Object obj) { if (!getField().equals(other.getField())) return false; if (!getDescription().equals(other.getDescription())) return false; + if (!getReason().equals(other.getReason())) return false; + if (hasLocalizedMessage() != other.hasLocalizedMessage()) return false; + if (hasLocalizedMessage()) { + if (!getLocalizedMessage().equals(other.getLocalizedMessage())) return false; + } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @@ -475,6 +681,12 @@ public int hashCode() { hash = (53 * hash) + getField().hashCode(); hash = (37 * hash) + DESCRIPTION_FIELD_NUMBER; hash = (53 * hash) + getDescription().hashCode(); + hash = (37 * hash) + REASON_FIELD_NUMBER; + hash = (53 * hash) + getReason().hashCode(); + if (hasLocalizedMessage()) { + hash = (37 * hash) + LOCALIZED_MESSAGE_FIELD_NUMBER; + hash = (53 * hash) + getLocalizedMessage().hashCode(); + } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; @@ -606,10 +818,19 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { } // Construct using com.google.rpc.BadRequest.FieldViolation.newBuilder() - private Builder() {} + private Builder() { + maybeForceBuilderInitialization(); + } private Builder(com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); + maybeForceBuilderInitialization(); + } + + private void maybeForceBuilderInitialization() { + if (com.google.protobuf.GeneratedMessageV3.alwaysUseFieldBuilders) { + getLocalizedMessageFieldBuilder(); + } } @java.lang.Override @@ -618,6 +839,12 @@ public Builder clear() { bitField0_ = 0; field_ = ""; description_ = ""; + reason_ = ""; + localizedMessage_ = null; + if (localizedMessageBuilder_ != null) { + localizedMessageBuilder_.dispose(); + localizedMessageBuilder_ = null; + } return this; } @@ -660,6 +887,18 @@ private void buildPartial0(com.google.rpc.BadRequest.FieldViolation result) { if (((from_bitField0_ & 0x00000002) != 0)) { result.description_ = description_; } + if (((from_bitField0_ & 0x00000004) != 0)) { + result.reason_ = reason_; + } + int to_bitField0_ = 0; + if (((from_bitField0_ & 0x00000008) != 0)) { + result.localizedMessage_ = + localizedMessageBuilder_ == null + ? localizedMessage_ + : localizedMessageBuilder_.build(); + to_bitField0_ |= 0x00000001; + } + result.bitField0_ |= to_bitField0_; } @java.lang.Override @@ -719,6 +958,14 @@ public Builder mergeFrom(com.google.rpc.BadRequest.FieldViolation other) { bitField0_ |= 0x00000002; onChanged(); } + if (!other.getReason().isEmpty()) { + reason_ = other.reason_; + bitField0_ |= 0x00000004; + onChanged(); + } + if (other.hasLocalizedMessage()) { + mergeLocalizedMessage(other.getLocalizedMessage()); + } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; @@ -757,6 +1004,19 @@ public Builder mergeFrom( bitField0_ |= 0x00000002; break; } // case 18 + case 26: + { + reason_ = input.readStringRequireUtf8(); + bitField0_ |= 0x00000004; + break; + } // case 26 + case 34: + { + input.readMessage( + getLocalizedMessageFieldBuilder().getBuilder(), extensionRegistry); + bitField0_ |= 0x00000008; + break; + } // case 34 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { @@ -1168,6 +1428,331 @@ public Builder setDescriptionBytes(com.google.protobuf.ByteString value) { return this; } + private java.lang.Object reason_ = ""; + /** + * + * + *
+       * The reason of the field-level error. This is a constant value that
+       * identifies the proximate cause of the field-level error. It should
+       * uniquely identify the type of the FieldViolation within the scope of the
+       * google.rpc.ErrorInfo.domain. This should be at most 63
+       * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+       * which represents UPPER_SNAKE_CASE.
+       * 
+ * + * string reason = 3; + * + * @return The reason. + */ + public java.lang.String getReason() { + java.lang.Object ref = reason_; + if (!(ref instanceof java.lang.String)) { + com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; + java.lang.String s = bs.toStringUtf8(); + reason_ = s; + return s; + } else { + return (java.lang.String) ref; + } + } + /** + * + * + *
+       * The reason of the field-level error. This is a constant value that
+       * identifies the proximate cause of the field-level error. It should
+       * uniquely identify the type of the FieldViolation within the scope of the
+       * google.rpc.ErrorInfo.domain. This should be at most 63
+       * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+       * which represents UPPER_SNAKE_CASE.
+       * 
+ * + * string reason = 3; + * + * @return The bytes for reason. + */ + public com.google.protobuf.ByteString getReasonBytes() { + java.lang.Object ref = reason_; + if (ref instanceof String) { + com.google.protobuf.ByteString b = + com.google.protobuf.ByteString.copyFromUtf8((java.lang.String) ref); + reason_ = b; + return b; + } else { + return (com.google.protobuf.ByteString) ref; + } + } + /** + * + * + *
+       * The reason of the field-level error. This is a constant value that
+       * identifies the proximate cause of the field-level error. It should
+       * uniquely identify the type of the FieldViolation within the scope of the
+       * google.rpc.ErrorInfo.domain. This should be at most 63
+       * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+       * which represents UPPER_SNAKE_CASE.
+       * 
+ * + * string reason = 3; + * + * @param value The reason to set. + * @return This builder for chaining. + */ + public Builder setReason(java.lang.String value) { + if (value == null) { + throw new NullPointerException(); + } + reason_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + /** + * + * + *
+       * The reason of the field-level error. This is a constant value that
+       * identifies the proximate cause of the field-level error. It should
+       * uniquely identify the type of the FieldViolation within the scope of the
+       * google.rpc.ErrorInfo.domain. This should be at most 63
+       * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+       * which represents UPPER_SNAKE_CASE.
+       * 
+ * + * string reason = 3; + * + * @return This builder for chaining. + */ + public Builder clearReason() { + reason_ = getDefaultInstance().getReason(); + bitField0_ = (bitField0_ & ~0x00000004); + onChanged(); + return this; + } + /** + * + * + *
+       * The reason of the field-level error. This is a constant value that
+       * identifies the proximate cause of the field-level error. It should
+       * uniquely identify the type of the FieldViolation within the scope of the
+       * google.rpc.ErrorInfo.domain. This should be at most 63
+       * characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`,
+       * which represents UPPER_SNAKE_CASE.
+       * 
+ * + * string reason = 3; + * + * @param value The bytes for reason to set. + * @return This builder for chaining. + */ + public Builder setReasonBytes(com.google.protobuf.ByteString value) { + if (value == null) { + throw new NullPointerException(); + } + checkByteStringIsUtf8(value); + reason_ = value; + bitField0_ |= 0x00000004; + onChanged(); + return this; + } + + private com.google.rpc.LocalizedMessage localizedMessage_; + private com.google.protobuf.SingleFieldBuilderV3< + com.google.rpc.LocalizedMessage, + com.google.rpc.LocalizedMessage.Builder, + com.google.rpc.LocalizedMessageOrBuilder> + localizedMessageBuilder_; + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + * + * @return Whether the localizedMessage field is set. + */ + public boolean hasLocalizedMessage() { + return ((bitField0_ & 0x00000008) != 0); + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + * + * @return The localizedMessage. + */ + public com.google.rpc.LocalizedMessage getLocalizedMessage() { + if (localizedMessageBuilder_ == null) { + return localizedMessage_ == null + ? com.google.rpc.LocalizedMessage.getDefaultInstance() + : localizedMessage_; + } else { + return localizedMessageBuilder_.getMessage(); + } + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + public Builder setLocalizedMessage(com.google.rpc.LocalizedMessage value) { + if (localizedMessageBuilder_ == null) { + if (value == null) { + throw new NullPointerException(); + } + localizedMessage_ = value; + } else { + localizedMessageBuilder_.setMessage(value); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + public Builder setLocalizedMessage(com.google.rpc.LocalizedMessage.Builder builderForValue) { + if (localizedMessageBuilder_ == null) { + localizedMessage_ = builderForValue.build(); + } else { + localizedMessageBuilder_.setMessage(builderForValue.build()); + } + bitField0_ |= 0x00000008; + onChanged(); + return this; + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + public Builder mergeLocalizedMessage(com.google.rpc.LocalizedMessage value) { + if (localizedMessageBuilder_ == null) { + if (((bitField0_ & 0x00000008) != 0) + && localizedMessage_ != null + && localizedMessage_ != com.google.rpc.LocalizedMessage.getDefaultInstance()) { + getLocalizedMessageBuilder().mergeFrom(value); + } else { + localizedMessage_ = value; + } + } else { + localizedMessageBuilder_.mergeFrom(value); + } + if (localizedMessage_ != null) { + bitField0_ |= 0x00000008; + onChanged(); + } + return this; + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + public Builder clearLocalizedMessage() { + bitField0_ = (bitField0_ & ~0x00000008); + localizedMessage_ = null; + if (localizedMessageBuilder_ != null) { + localizedMessageBuilder_.dispose(); + localizedMessageBuilder_ = null; + } + onChanged(); + return this; + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + public com.google.rpc.LocalizedMessage.Builder getLocalizedMessageBuilder() { + bitField0_ |= 0x00000008; + onChanged(); + return getLocalizedMessageFieldBuilder().getBuilder(); + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + public com.google.rpc.LocalizedMessageOrBuilder getLocalizedMessageOrBuilder() { + if (localizedMessageBuilder_ != null) { + return localizedMessageBuilder_.getMessageOrBuilder(); + } else { + return localizedMessage_ == null + ? com.google.rpc.LocalizedMessage.getDefaultInstance() + : localizedMessage_; + } + } + /** + * + * + *
+       * Provides a localized error message for field-level errors that is safe to
+       * return to the API consumer.
+       * 
+ * + * .google.rpc.LocalizedMessage localized_message = 4; + */ + private com.google.protobuf.SingleFieldBuilderV3< + com.google.rpc.LocalizedMessage, + com.google.rpc.LocalizedMessage.Builder, + com.google.rpc.LocalizedMessageOrBuilder> + getLocalizedMessageFieldBuilder() { + if (localizedMessageBuilder_ == null) { + localizedMessageBuilder_ = + new com.google.protobuf.SingleFieldBuilderV3< + com.google.rpc.LocalizedMessage, + com.google.rpc.LocalizedMessage.Builder, + com.google.rpc.LocalizedMessageOrBuilder>( + getLocalizedMessage(), getParentForChildren(), isClean()); + localizedMessage_ = null; + } + return localizedMessageBuilder_; + } + @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorDetailsProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorDetailsProto.java index 607eeaee56..2a6389ede3 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorDetailsProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorDetailsProto.java @@ -112,21 +112,22 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "ailure\022=\n\nviolations\030\001 \003(\0132).google.rpc." + "PreconditionFailure.Violation\032?\n\tViolati" + "on\022\014\n\004type\030\001 \001(\t\022\017\n\007subject\030\002 \001(\t\022\023\n\013des" - + "cription\030\003 \001(\t\"\203\001\n\nBadRequest\022?\n\020field_v" + + "cription\030\003 \001(\t\"\314\001\n\nBadRequest\022?\n\020field_v" + "iolations\030\001 \003(\0132%.google.rpc.BadRequest." - + "FieldViolation\0324\n\016FieldViolation\022\r\n\005fiel" - + "d\030\001 \001(\t\022\023\n\013description\030\002 \001(\t\"7\n\013RequestI" - + "nfo\022\022\n\nrequest_id\030\001 \001(\t\022\024\n\014serving_data\030" - + "\002 \001(\t\"`\n\014ResourceInfo\022\025\n\rresource_type\030\001" - + " \001(\t\022\025\n\rresource_name\030\002 \001(\t\022\r\n\005owner\030\003 \001" - + "(\t\022\023\n\013description\030\004 \001(\t\"V\n\004Help\022$\n\005links" - + "\030\001 \003(\0132\025.google.rpc.Help.Link\032(\n\004Link\022\023\n" - + "\013description\030\001 \001(\t\022\013\n\003url\030\002 \001(\t\"3\n\020Local" - + "izedMessage\022\016\n\006locale\030\001 \001(\t\022\017\n\007message\030\002" - + " \001(\tBl\n\016com.google.rpcB\021ErrorDetailsProt" - + "oP\001Z?google.golang.org/genproto/googleap" - + "is/rpc/errdetails;errdetails\242\002\003RPCb\006prot" - + "o3" + + "FieldViolation\032}\n\016FieldViolation\022\r\n\005fiel" + + "d\030\001 \001(\t\022\023\n\013description\030\002 \001(\t\022\016\n\006reason\030\003" + + " \001(\t\0227\n\021localized_message\030\004 \001(\0132\034.google" + + ".rpc.LocalizedMessage\"7\n\013RequestInfo\022\022\n\n" + + "request_id\030\001 \001(\t\022\024\n\014serving_data\030\002 \001(\t\"`" + + "\n\014ResourceInfo\022\025\n\rresource_type\030\001 \001(\t\022\025\n" + + "\rresource_name\030\002 \001(\t\022\r\n\005owner\030\003 \001(\t\022\023\n\013d" + + "escription\030\004 \001(\t\"V\n\004Help\022$\n\005links\030\001 \003(\0132" + + "\025.google.rpc.Help.Link\032(\n\004Link\022\023\n\013descri" + + "ption\030\001 \001(\t\022\013\n\003url\030\002 \001(\t\"3\n\020LocalizedMes" + + "sage\022\016\n\006locale\030\001 \001(\t\022\017\n\007message\030\002 \001(\tBl\n" + + "\016com.google.rpcB\021ErrorDetailsProtoP\001Z?go" + + "ogle.golang.org/genproto/googleapis/rpc/" + + "errdetails;errdetails\242\002\003RPCb\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( @@ -207,7 +208,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_rpc_BadRequest_FieldViolation_descriptor, new java.lang.String[] { - "Field", "Description", + "Field", "Description", "Reason", "LocalizedMessage", }); internal_static_google_rpc_RequestInfo_descriptor = getDescriptor().getMessageTypes().get(6); internal_static_google_rpc_RequestInfo_fieldAccessorTable = diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfo.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfo.java index f9d30b6695..3d078ff48d 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfo.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfo.java @@ -248,11 +248,12 @@ public int getMetadataCount() { *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -277,11 +278,12 @@ public java.util.Map getMetadata() { *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -297,11 +299,12 @@ public java.util.Map getMetadataMap() { *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -324,11 +327,12 @@ public java.util.Map getMetadataMap() { *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -1075,11 +1079,12 @@ public int getMetadataCount() { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* @@ -1104,11 +1109,12 @@ public java.util.Map getMetadata() { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* @@ -1124,11 +1130,12 @@ public java.util.Map getMetadataMap() { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* @@ -1151,11 +1158,12 @@ public java.util.Map getMetadataMap() { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* @@ -1184,11 +1192,12 @@ public Builder clearMetadata() { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* @@ -1213,11 +1222,12 @@ public java.util.Map getMutableMetadata() { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* @@ -1240,11 +1250,12 @@ public Builder putMetadata(java.lang.String key, java.lang.String value) { *
      * Additional structured details about this error.
      *
-     * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+     * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+     * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
      * length. When identifying the current value of an exceeded limit, the units
      * should be contained in the key, not the value.  For example, rather than
-     * {"instanceLimit": "100/request"}, should be returned as,
-     * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+     * `{"instanceLimit": "100/request"}`, should be returned as,
+     * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
      * instances that can be created in a single (batch) request.
      * 
* diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfoOrBuilder.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfoOrBuilder.java index 85697a5ea6..c8f65c10db 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfoOrBuilder.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/ErrorInfoOrBuilder.java @@ -98,11 +98,12 @@ public interface ErrorInfoOrBuilder *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -115,11 +116,12 @@ public interface ErrorInfoOrBuilder *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -135,11 +137,12 @@ public interface ErrorInfoOrBuilder *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -152,11 +155,12 @@ public interface ErrorInfoOrBuilder *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* @@ -173,11 +177,12 @@ java.lang.String getMetadataOrDefault( *
    * Additional structured details about this error.
    *
-   * Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in
+   * Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should
+   * ideally be lowerCamelCase. Also, they must be limited to 64 characters in
    * length. When identifying the current value of an exceeded limit, the units
    * should be contained in the key, not the value.  For example, rather than
-   * {"instanceLimit": "100/request"}, should be returned as,
-   * {"instanceLimitPerRequest": "100"}, if the client exceeds the number of
+   * `{"instanceLimit": "100/request"}`, should be returned as,
+   * `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of
    * instances that can be created in a single (batch) request.
    * 
* diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java index 06abdd4c93..001e7805ec 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AttributeContext.java @@ -10694,7 +10694,8 @@ java.lang.String getLabelsOrDefault( * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -10708,7 +10709,8 @@ java.lang.String getLabelsOrDefault( * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -10725,7 +10727,8 @@ java.lang.String getLabelsOrDefault( * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -10739,7 +10742,8 @@ java.lang.String getLabelsOrDefault( * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -10757,7 +10761,8 @@ java.lang.String getAnnotationsOrDefault( * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -11429,7 +11434,8 @@ public int getAnnotationsCount() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -11455,7 +11461,8 @@ public java.util.Map getAnnotations() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -11472,7 +11479,8 @@ public java.util.Map getAnnotationsMap() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -11496,7 +11504,8 @@ public java.util.Map getAnnotationsMap() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13271,7 +13280,8 @@ public int getAnnotationsCount() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13297,7 +13307,8 @@ public java.util.Map getAnnotations() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13314,7 +13325,8 @@ public java.util.Map getAnnotationsMap() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13338,7 +13350,8 @@ public java.util.Map getAnnotationsMap() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13368,7 +13381,8 @@ public Builder clearAnnotations() { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13394,7 +13408,8 @@ public java.util.Map getMutableAnnotations() * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; @@ -13418,7 +13433,8 @@ public Builder putAnnotations(java.lang.String key, java.lang.String value) { * may be set by external tools to store and retrieve arbitrary metadata. * They are not queryable and should be preserved when modifying objects. * - * More info: https://kubernetes.io/docs/user-guide/annotations + * More info: + * https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ * * * map<string, string> annotations = 6; diff --git a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AuditContextProto.java b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AuditContextProto.java index 0186f86d3c..fda7802208 100644 --- a/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AuditContextProto.java +++ b/java-common-protos/proto-google-common-protos/src/main/java/com/google/rpc/context/AuditContextProto.java @@ -48,10 +48,10 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "e.protobuf.Struct\0222\n\021scrubbed_response\030\003" + " \001(\0132\027.google.protobuf.Struct\022$\n\034scrubbe" + "d_response_item_count\030\004 \001(\005\022\027\n\017target_re" - + "source\030\005 \001(\tBk\n\026com.google.rpc.contextB\021" + + "source\030\005 \001(\tBh\n\026com.google.rpc.contextB\021" + "AuditContextProtoP\001Z9google.golang.org/g" - + "enproto/googleapis/rpc/context;context\370\001" - + "\001b\006proto3" + + "enproto/googleapis/rpc/context;contextb\006" + + "proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_context.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_context.proto index d6871eb403..353b28ab3e 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_context.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/attribute_context.proto @@ -275,7 +275,8 @@ message AttributeContext { // may be set by external tools to store and retrieve arbitrary metadata. // They are not queryable and should be preserved when modifying objects. // - // More info: https://kubernetes.io/docs/user-guide/annotations + // More info: + // https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations/ map annotations = 6; // Mutable. The display name set by clients. Must be <= 63 characters. diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto index 74945cd46b..8635515ec4 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/context/audit_context.proto @@ -18,7 +18,6 @@ package google.rpc.context; import "google/protobuf/struct.proto"; -option cc_enable_arenas = true; option go_package = "google.golang.org/genproto/googleapis/rpc/context;context"; option java_multiple_files = true; option java_outer_classname = "AuditContextProto"; diff --git a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.proto b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.proto index c06afd4805..776a9d3513 100644 --- a/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.proto +++ b/java-common-protos/proto-google-common-protos/src/main/proto/google/rpc/error_details.proto @@ -66,11 +66,12 @@ message ErrorInfo { // Additional structured details about this error. // - // Keys should match /[a-zA-Z0-9-_]/ and be limited to 64 characters in + // Keys must match a regular expression of `[a-z][a-zA-Z0-9-_]+` but should + // ideally be lowerCamelCase. Also, they must be limited to 64 characters in // length. When identifying the current value of an exceeded limit, the units // should be contained in the key, not the value. For example, rather than - // {"instanceLimit": "100/request"}, should be returned as, - // {"instanceLimitPerRequest": "100"}, if the client exceeds the number of + // `{"instanceLimit": "100/request"}`, should be returned as, + // `{"instanceLimitPerRequest": "100"}`, if the client exceeds the number of // instances that can be created in a single (batch) request. map metadata = 3; } @@ -211,6 +212,18 @@ message BadRequest { // A description of why the request element is bad. string description = 2; + + // The reason of the field-level error. This is a constant value that + // identifies the proximate cause of the field-level error. It should + // uniquely identify the type of the FieldViolation within the scope of the + // google.rpc.ErrorInfo.domain. This should be at most 63 + // characters and match a regular expression of `[A-Z][A-Z0-9_]+[A-Z0-9]`, + // which represents UPPER_SNAKE_CASE. + string reason = 3; + + // Provides a localized error message for field-level errors that is safe to + // return to the API consumer. + LocalizedMessage localized_message = 4; } // Describes all violations in a client request.