diff --git a/google-cloud-secretmanager/src/test/java/com/google/cloud/secretmanager/v1/SecretManagerServiceClientTest.java b/google-cloud-secretmanager/src/test/java/com/google/cloud/secretmanager/v1/SecretManagerServiceClientTest.java index 9943d3a9..a4079ce5 100644 --- a/google-cloud-secretmanager/src/test/java/com/google/cloud/secretmanager/v1/SecretManagerServiceClientTest.java +++ b/google-cloud-secretmanager/src/test/java/com/google/cloud/secretmanager/v1/SecretManagerServiceClientTest.java @@ -289,6 +289,7 @@ public void addSecretVersionTest() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -334,6 +335,7 @@ public void addSecretVersionTest2() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -670,6 +672,7 @@ public void getSecretVersionTest() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -712,6 +715,7 @@ public void getSecretVersionTest2() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -832,6 +836,7 @@ public void disableSecretVersionTest() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -875,6 +880,7 @@ public void disableSecretVersionTest2() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -918,6 +924,7 @@ public void enableSecretVersionTest() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -960,6 +967,7 @@ public void enableSecretVersionTest2() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -1002,6 +1010,7 @@ public void destroySecretVersionTest() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); @@ -1045,6 +1054,7 @@ public void destroySecretVersionTest2() throws Exception { .setDestroyTime(Timestamp.newBuilder().build()) .setReplicationStatus(ReplicationStatus.newBuilder().build()) .setEtag("etag3123477") + .setClientSpecifiedPayloadChecksum(true) .build(); mockSecretManagerService.addResponse(expectedResponse); diff --git a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/ResourcesProto.java b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/ResourcesProto.java index 9b0e4e01..dd61aa6b 100644 --- a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/ResourcesProto.java +++ b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/ResourcesProto.java @@ -101,11 +101,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { static { java.lang.String[] descriptorData = { "\n-google/cloud/secretmanager/v1/resource" - + "s.proto\022\035google.cloud.secretmanager.v1\032\037" - + "google/api/field_behavior.proto\032\031google/" - + "api/resource.proto\032\036google/protobuf/dura" - + "tion.proto\032\037google/protobuf/timestamp.pr" - + "oto\032\034google/api/annotations.proto\"\336\004\n\006Se" + + "s.proto\022\035google.cloud.secretmanager.v1\032\034" + + "google/api/annotations.proto\032\037google/api" + + "/field_behavior.proto\032\031google/api/resour" + + "ce.proto\032\036google/protobuf/duration.proto" + + "\032\037google/protobuf/timestamp.proto\"\336\004\n\006Se" + "cret\022\021\n\004name\030\001 \001(\tB\003\340A\003\022G\n\013replication\030\002" + " \001(\0132*.google.cloud.secretmanager.v1.Rep" + "licationB\006\340A\005\340A\002\0224\n\013create_time\030\003 \001(\0132\032." @@ -121,74 +121,76 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { + "\003key\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:M\352AJ\n#secr" + "etmanager.googleapis.com/Secret\022#project" + "s/{project}/secrets/{secret}B\014\n\nexpirati" - + "on\"\362\003\n\rSecretVersion\022\021\n\004name\030\001 \001(\tB\003\340A\003\022" + + "on\"\242\004\n\rSecretVersion\022\021\n\004name\030\001 \001(\tB\003\340A\003\022" + "4\n\013create_time\030\002 \001(\0132\032.google.protobuf.T" + "imestampB\003\340A\003\0225\n\014destroy_time\030\003 \001(\0132\032.go" + "ogle.protobuf.TimestampB\003\340A\003\022F\n\005state\030\004 " + "\001(\01622.google.cloud.secretmanager.v1.Secr" + "etVersion.StateB\003\340A\003\022L\n\022replication_stat" + "us\030\005 \001(\01320.google.cloud.secretmanager.v1" - + ".ReplicationStatus\022\021\n\004etag\030\006 \001(\tB\003\340A\003\"H\n" - + "\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\013\n\007ENABLED" - + "\020\001\022\014\n\010DISABLED\020\002\022\r\n\tDESTROYED\020\003:n\352Ak\n*se" - + "cretmanager.googleapis.com/SecretVersion" - + "\022=projects/{project}/secrets/{secret}/ve" - + "rsions/{secret_version}\"\220\004\n\013Replication\022" - + "I\n\tautomatic\030\001 \001(\01324.google.cloud.secret" - + "manager.v1.Replication.AutomaticH\000\022N\n\014us" - + "er_managed\030\002 \001(\01326.google.cloud.secretma" - + "nager.v1.Replication.UserManagedH\000\032o\n\tAu" - + "tomatic\022b\n\033customer_managed_encryption\030\001" + + ".ReplicationStatus\022\021\n\004etag\030\006 \001(\tB\003\340A\003\022.\n" + + "!client_specified_payload_checksum\030\007 \001(\010" + + "B\003\340A\003\"H\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\013\n" + + "\007ENABLED\020\001\022\014\n\010DISABLED\020\002\022\r\n\tDESTROYED\020\003:" + + "n\352Ak\n*secretmanager.googleapis.com/Secre" + + "tVersion\022=projects/{project}/secrets/{se" + + "cret}/versions/{secret_version}\"\220\004\n\013Repl" + + "ication\022I\n\tautomatic\030\001 \001(\01324.google.clou" + + "d.secretmanager.v1.Replication.Automatic" + + "H\000\022N\n\014user_managed\030\002 \001(\01326.google.cloud." + + "secretmanager.v1.Replication.UserManaged" + + "H\000\032o\n\tAutomatic\022b\n\033customer_managed_encr" + + "yption\030\001 \001(\01328.google.cloud.secretmanage" + + "r.v1.CustomerManagedEncryptionB\003\340A\001\032\345\001\n\013" + + "UserManaged\022U\n\010replicas\030\001 \003(\0132>.google.c" + + "loud.secretmanager.v1.Replication.UserMa" + + "naged.ReplicaB\003\340A\002\032\177\n\007Replica\022\020\n\010locatio" + + "n\030\001 \001(\t\022b\n\033customer_managed_encryption\030\002" + " \001(\01328.google.cloud.secretmanager.v1.Cus" - + "tomerManagedEncryptionB\003\340A\001\032\345\001\n\013UserMana" - + "ged\022U\n\010replicas\030\001 \003(\0132>.google.cloud.sec" - + "retmanager.v1.Replication.UserManaged.Re" - + "plicaB\003\340A\002\032\177\n\007Replica\022\020\n\010location\030\001 \001(\t\022" - + "b\n\033customer_managed_encryption\030\002 \001(\01328.g" - + "oogle.cloud.secretmanager.v1.CustomerMan" - + "agedEncryptionB\003\340A\001B\r\n\013replication\"6\n\031Cu" - + "stomerManagedEncryption\022\031\n\014kms_key_name\030" - + "\001 \001(\tB\003\340A\002\"\353\004\n\021ReplicationStatus\022U\n\tauto" - + "matic\030\001 \001(\0132@.google.cloud.secretmanager" - + ".v1.ReplicationStatus.AutomaticStatusH\000\022" - + "Z\n\014user_managed\030\002 \001(\0132B.google.cloud.sec" - + "retmanager.v1.ReplicationStatus.UserMana" - + "gedStatusH\000\032{\n\017AutomaticStatus\022h\n\033custom" - + "er_managed_encryption\030\001 \001(\0132>.google.clo" - + "ud.secretmanager.v1.CustomerManagedEncry" - + "ptionStatusB\003\340A\003\032\217\002\n\021UserManagedStatus\022g" - + "\n\010replicas\030\001 \003(\0132P.google.cloud.secretma" - + "nager.v1.ReplicationStatus.UserManagedSt" - + "atus.ReplicaStatusB\003\340A\003\032\220\001\n\rReplicaStatu" - + "s\022\025\n\010location\030\001 \001(\tB\003\340A\003\022h\n\033customer_man" - + "aged_encryption\030\002 \001(\0132>.google.cloud.sec" - + "retmanager.v1.CustomerManagedEncryptionS" - + "tatusB\003\340A\003B\024\n\022replication_status\"D\n\037Cust" - + "omerManagedEncryptionStatus\022!\n\024kms_key_v" - + "ersion_name\030\001 \001(\tB\003\340A\002\"_\n\005Topic\022\021\n\004name\030" - + "\001 \001(\tB\003\340A\002:C\352A@\n\033pubsub.googleapis.com/T" - + "opic\022!projects/{project}/topics/{topic}\"" - + "\200\001\n\010Rotation\022;\n\022next_rotation_time\030\001 \001(\013" - + "2\032.google.protobuf.TimestampB\003\340A\001\0227\n\017rot" - + "ation_period\030\002 \001(\0132\031.google.protobuf.Dur" - + "ationB\003\340A\004\"\035\n\rSecretPayload\022\014\n\004data\030\001 \001(" - + "\014B\355\001\n!com.google.cloud.secretmanager.v1B" - + "\016ResourcesProtoP\001ZJgoogle.golang.org/gen" - + "proto/googleapis/cloud/secretmanager/v1;" - + "secretmanager\370\001\001\242\002\003GSM\252\002\035Google.Cloud.Se" - + "cretManager.V1\312\002\035Google\\Cloud\\SecretMana" - + "ger\\V1\352\002 Google::Cloud::SecretManager::V" - + "1b\006proto3" + + "tomerManagedEncryptionB\003\340A\001B\r\n\013replicati" + + "on\"6\n\031CustomerManagedEncryption\022\031\n\014kms_k" + + "ey_name\030\001 \001(\tB\003\340A\002\"\353\004\n\021ReplicationStatus" + + "\022U\n\tautomatic\030\001 \001(\0132@.google.cloud.secre" + + "tmanager.v1.ReplicationStatus.AutomaticS" + + "tatusH\000\022Z\n\014user_managed\030\002 \001(\0132B.google.c" + + "loud.secretmanager.v1.ReplicationStatus." + + "UserManagedStatusH\000\032{\n\017AutomaticStatus\022h" + + "\n\033customer_managed_encryption\030\001 \001(\0132>.go" + + "ogle.cloud.secretmanager.v1.CustomerMana" + + "gedEncryptionStatusB\003\340A\003\032\217\002\n\021UserManaged" + + "Status\022g\n\010replicas\030\001 \003(\0132P.google.cloud." + + "secretmanager.v1.ReplicationStatus.UserM" + + "anagedStatus.ReplicaStatusB\003\340A\003\032\220\001\n\rRepl" + + "icaStatus\022\025\n\010location\030\001 \001(\tB\003\340A\003\022h\n\033cust" + + "omer_managed_encryption\030\002 \001(\0132>.google.c" + + "loud.secretmanager.v1.CustomerManagedEnc" + + "ryptionStatusB\003\340A\003B\024\n\022replication_status" + + "\"D\n\037CustomerManagedEncryptionStatus\022!\n\024k" + + "ms_key_version_name\030\001 \001(\tB\003\340A\002\"_\n\005Topic\022" + + "\021\n\004name\030\001 \001(\tB\003\340A\002:C\352A@\n\033pubsub.googleap" + + "is.com/Topic\022!projects/{project}/topics/" + + "{topic}\"\200\001\n\010Rotation\022;\n\022next_rotation_ti" + + "me\030\001 \001(\0132\032.google.protobuf.TimestampB\003\340A" + + "\001\0227\n\017rotation_period\030\002 \001(\0132\031.google.prot" + + "obuf.DurationB\003\340A\004\"L\n\rSecretPayload\022\014\n\004d" + + "ata\030\001 \001(\014\022\035\n\013data_crc32c\030\002 \001(\003B\003\340A\001H\000\210\001\001" + + "B\016\n\014_data_crc32cB\355\001\n!com.google.cloud.se" + + "cretmanager.v1B\016ResourcesProtoP\001ZJgoogle" + + ".golang.org/genproto/googleapis/cloud/se" + + "cretmanager/v1;secretmanager\370\001\001\242\002\003GSM\252\002\035" + + "Google.Cloud.SecretManager.V1\312\002\035Google\\C" + + "loud\\SecretManager\\V1\352\002 Google::Cloud::S" + + "ecretManager::V1b\006proto3" }; descriptor = com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom( descriptorData, new com.google.protobuf.Descriptors.FileDescriptor[] { + com.google.api.AnnotationsProto.getDescriptor(), com.google.api.FieldBehaviorProto.getDescriptor(), com.google.api.ResourceProto.getDescriptor(), com.google.protobuf.DurationProto.getDescriptor(), com.google.protobuf.TimestampProto.getDescriptor(), - com.google.api.AnnotationsProto.getDescriptor(), }); internal_static_google_cloud_secretmanager_v1_Secret_descriptor = getDescriptor().getMessageTypes().get(0); @@ -221,7 +223,13 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_secretmanager_v1_SecretVersion_descriptor, new java.lang.String[] { - "Name", "CreateTime", "DestroyTime", "State", "ReplicationStatus", "Etag", + "Name", + "CreateTime", + "DestroyTime", + "State", + "ReplicationStatus", + "Etag", + "ClientSpecifiedPayloadChecksum", }); internal_static_google_cloud_secretmanager_v1_Replication_descriptor = getDescriptor().getMessageTypes().get(2); @@ -337,7 +345,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable( internal_static_google_cloud_secretmanager_v1_SecretPayload_descriptor, new java.lang.String[] { - "Data", + "Data", "DataCrc32C", "DataCrc32C", }); com.google.protobuf.ExtensionRegistry registry = com.google.protobuf.ExtensionRegistry.newInstance(); @@ -345,11 +353,11 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() { registry.add(com.google.api.ResourceProto.resource); com.google.protobuf.Descriptors.FileDescriptor.internalUpdateFileDescriptor( descriptor, registry); + com.google.api.AnnotationsProto.getDescriptor(); com.google.api.FieldBehaviorProto.getDescriptor(); com.google.api.ResourceProto.getDescriptor(); com.google.protobuf.DurationProto.getDescriptor(); com.google.protobuf.TimestampProto.getDescriptor(); - com.google.api.AnnotationsProto.getDescriptor(); } // @@protoc_insertion_point(outer_class_scope) diff --git a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayload.java b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayload.java index 224e7192..68cd0d88 100644 --- a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayload.java +++ b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayload.java @@ -61,6 +61,7 @@ private SecretPayload( if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } + int mutable_bitField0_ = 0; com.google.protobuf.UnknownFieldSet.Builder unknownFields = com.google.protobuf.UnknownFieldSet.newBuilder(); try { @@ -76,6 +77,12 @@ private SecretPayload( data_ = input.readBytes(); break; } + case 16: + { + bitField0_ |= 0x00000001; + dataCrc32C_ = input.readInt64(); + break; + } default: { if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) { @@ -110,6 +117,7 @@ public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { com.google.cloud.secretmanager.v1.SecretPayload.Builder.class); } + private int bitField0_; public static final int DATA_FIELD_NUMBER = 1; private com.google.protobuf.ByteString data_; /** @@ -128,6 +136,55 @@ public com.google.protobuf.ByteString getData() { return data_; } + public static final int DATA_CRC32C_FIELD_NUMBER = 2; + private long dataCrc32C_; + /** + * + * + *
+ * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return Whether the dataCrc32c field is set.
+ */
+ @java.lang.Override
+ public boolean hasDataCrc32C() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The dataCrc32c.
+ */
+ @java.lang.Override
+ public long getDataCrc32C() {
+ return dataCrc32C_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -145,6 +202,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (!data_.isEmpty()) {
output.writeBytes(1, data_);
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ output.writeInt64(2, dataCrc32C_);
+ }
unknownFields.writeTo(output);
}
@@ -157,6 +217,9 @@ public int getSerializedSize() {
if (!data_.isEmpty()) {
size += com.google.protobuf.CodedOutputStream.computeBytesSize(1, data_);
}
+ if (((bitField0_ & 0x00000001) != 0)) {
+ size += com.google.protobuf.CodedOutputStream.computeInt64Size(2, dataCrc32C_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -174,6 +237,10 @@ public boolean equals(final java.lang.Object obj) {
(com.google.cloud.secretmanager.v1.SecretPayload) obj;
if (!getData().equals(other.getData())) return false;
+ if (hasDataCrc32C() != other.hasDataCrc32C()) return false;
+ if (hasDataCrc32C()) {
+ if (getDataCrc32C() != other.getDataCrc32C()) return false;
+ }
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -187,6 +254,10 @@ public int hashCode() {
hash = (19 * hash) + getDescriptor().hashCode();
hash = (37 * hash) + DATA_FIELD_NUMBER;
hash = (53 * hash) + getData().hashCode();
+ if (hasDataCrc32C()) {
+ hash = (37 * hash) + DATA_CRC32C_FIELD_NUMBER;
+ hash = (53 * hash) + com.google.protobuf.Internal.hashLong(getDataCrc32C());
+ }
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -335,6 +406,8 @@ public Builder clear() {
super.clear();
data_ = com.google.protobuf.ByteString.EMPTY;
+ dataCrc32C_ = 0L;
+ bitField0_ = (bitField0_ & ~0x00000001);
return this;
}
@@ -362,7 +435,14 @@ public com.google.cloud.secretmanager.v1.SecretPayload build() {
public com.google.cloud.secretmanager.v1.SecretPayload buildPartial() {
com.google.cloud.secretmanager.v1.SecretPayload result =
new com.google.cloud.secretmanager.v1.SecretPayload(this);
+ int from_bitField0_ = bitField0_;
+ int to_bitField0_ = 0;
result.data_ = data_;
+ if (((from_bitField0_ & 0x00000001) != 0)) {
+ result.dataCrc32C_ = dataCrc32C_;
+ to_bitField0_ |= 0x00000001;
+ }
+ result.bitField0_ = to_bitField0_;
onBuilt();
return result;
}
@@ -416,6 +496,9 @@ public Builder mergeFrom(com.google.cloud.secretmanager.v1.SecretPayload other)
if (other.getData() != com.google.protobuf.ByteString.EMPTY) {
setData(other.getData());
}
+ if (other.hasDataCrc32C()) {
+ setDataCrc32C(other.getDataCrc32C());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -445,6 +528,8 @@ public Builder mergeFrom(
return this;
}
+ private int bitField0_;
+
private com.google.protobuf.ByteString data_ = com.google.protobuf.ByteString.EMPTY;
/**
*
@@ -500,6 +585,105 @@ public Builder clearData() {
return this;
}
+ private long dataCrc32C_;
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return Whether the dataCrc32c field is set.
+ */
+ @java.lang.Override
+ public boolean hasDataCrc32C() {
+ return ((bitField0_ & 0x00000001) != 0);
+ }
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The dataCrc32c.
+ */
+ @java.lang.Override
+ public long getDataCrc32C() {
+ return dataCrc32C_;
+ }
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @param value The dataCrc32c to set.
+ * @return This builder for chaining.
+ */
+ public Builder setDataCrc32C(long value) {
+ bitField0_ |= 0x00000001;
+ dataCrc32C_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearDataCrc32C() {
+ bitField0_ = (bitField0_ & ~0x00000001);
+ dataCrc32C_ = 0L;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayloadOrBuilder.java b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayloadOrBuilder.java
index 2fd8c47b..8037fcb5 100644
--- a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayloadOrBuilder.java
+++ b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretPayloadOrBuilder.java
@@ -35,4 +35,45 @@ public interface SecretPayloadOrBuilder
* @return The data.
*/
com.google.protobuf.ByteString getData();
+
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return Whether the dataCrc32c field is set.
+ */
+ boolean hasDataCrc32C();
+ /**
+ *
+ *
+ * + * Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the + * received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using + * the crc32c checksum and store it to include in future + * [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is + * not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the + * [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you. + * The CRC32C value is encoded as a Int64 for compatibility, and can be + * safely downconverted to uint32 in languages that support this type. + * https://cloud.google.com/apis/design/design_patterns#integer_types + *+ * + *
optional int64 data_crc32c = 2 [(.google.api.field_behavior) = OPTIONAL];
+ *
+ * @return The dataCrc32c.
+ */
+ long getDataCrc32C();
}
diff --git a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersion.java b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersion.java
index 3fca8469..bb376299 100644
--- a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersion.java
+++ b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersion.java
@@ -140,6 +140,11 @@ private SecretVersion(
etag_ = s;
break;
}
+ case 56:
+ {
+ clientSpecifiedPayloadChecksum_ = input.readBool();
+ break;
+ }
default:
{
if (!parseUnknownField(input, unknownFields, extensionRegistry, tag)) {
@@ -658,6 +663,27 @@ public com.google.protobuf.ByteString getEtagBytes() {
}
}
+ public static final int CLIENT_SPECIFIED_PAYLOAD_CHECKSUM_FIELD_NUMBER = 7;
+ private boolean clientSpecifiedPayloadChecksum_;
+ /**
+ *
+ *
+ * + * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been + * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on + * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion]. + *+ * + *
bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The clientSpecifiedPayloadChecksum.
+ */
+ @java.lang.Override
+ public boolean getClientSpecifiedPayloadChecksum() {
+ return clientSpecifiedPayloadChecksum_;
+ }
+
private byte memoizedIsInitialized = -1;
@java.lang.Override
@@ -691,6 +717,9 @@ public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) {
com.google.protobuf.GeneratedMessageV3.writeString(output, 6, etag_);
}
+ if (clientSpecifiedPayloadChecksum_ != false) {
+ output.writeBool(7, clientSpecifiedPayloadChecksum_);
+ }
unknownFields.writeTo(output);
}
@@ -719,6 +748,10 @@ public int getSerializedSize() {
if (!com.google.protobuf.GeneratedMessageV3.isStringEmpty(etag_)) {
size += com.google.protobuf.GeneratedMessageV3.computeStringSize(6, etag_);
}
+ if (clientSpecifiedPayloadChecksum_ != false) {
+ size +=
+ com.google.protobuf.CodedOutputStream.computeBoolSize(7, clientSpecifiedPayloadChecksum_);
+ }
size += unknownFields.getSerializedSize();
memoizedSize = size;
return size;
@@ -750,6 +783,8 @@ public boolean equals(final java.lang.Object obj) {
if (!getReplicationStatus().equals(other.getReplicationStatus())) return false;
}
if (!getEtag().equals(other.getEtag())) return false;
+ if (getClientSpecifiedPayloadChecksum() != other.getClientSpecifiedPayloadChecksum())
+ return false;
if (!unknownFields.equals(other.unknownFields)) return false;
return true;
}
@@ -779,6 +814,9 @@ public int hashCode() {
}
hash = (37 * hash) + ETAG_FIELD_NUMBER;
hash = (53 * hash) + getEtag().hashCode();
+ hash = (37 * hash) + CLIENT_SPECIFIED_PAYLOAD_CHECKSUM_FIELD_NUMBER;
+ hash =
+ (53 * hash) + com.google.protobuf.Internal.hashBoolean(getClientSpecifiedPayloadChecksum());
hash = (29 * hash) + unknownFields.hashCode();
memoizedHashCode = hash;
return hash;
@@ -948,6 +986,8 @@ public Builder clear() {
}
etag_ = "";
+ clientSpecifiedPayloadChecksum_ = false;
+
return this;
}
@@ -993,6 +1033,7 @@ public com.google.cloud.secretmanager.v1.SecretVersion buildPartial() {
result.replicationStatus_ = replicationStatusBuilder_.build();
}
result.etag_ = etag_;
+ result.clientSpecifiedPayloadChecksum_ = clientSpecifiedPayloadChecksum_;
onBuilt();
return result;
}
@@ -1063,6 +1104,9 @@ public Builder mergeFrom(com.google.cloud.secretmanager.v1.SecretVersion other)
etag_ = other.etag_;
onChanged();
}
+ if (other.getClientSpecifiedPayloadChecksum() != false) {
+ setClientSpecifiedPayloadChecksum(other.getClientSpecifiedPayloadChecksum());
+ }
this.mergeUnknownFields(other.unknownFields);
onChanged();
return this;
@@ -2033,6 +2077,70 @@ public Builder setEtagBytes(com.google.protobuf.ByteString value) {
return this;
}
+ private boolean clientSpecifiedPayloadChecksum_;
+ /**
+ *
+ *
+ * + * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been + * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on + * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion]. + *+ * + *
+ * bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The clientSpecifiedPayloadChecksum.
+ */
+ @java.lang.Override
+ public boolean getClientSpecifiedPayloadChecksum() {
+ return clientSpecifiedPayloadChecksum_;
+ }
+ /**
+ *
+ *
+ * + * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been + * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on + * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion]. + *+ * + *
+ * bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @param value The clientSpecifiedPayloadChecksum to set.
+ * @return This builder for chaining.
+ */
+ public Builder setClientSpecifiedPayloadChecksum(boolean value) {
+
+ clientSpecifiedPayloadChecksum_ = value;
+ onChanged();
+ return this;
+ }
+ /**
+ *
+ *
+ * + * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been + * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on + * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion]. + *+ * + *
+ * bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return This builder for chaining.
+ */
+ public Builder clearClientSpecifiedPayloadChecksum() {
+
+ clientSpecifiedPayloadChecksum_ = false;
+ onChanged();
+ return this;
+ }
+
@java.lang.Override
public final Builder setUnknownFields(final com.google.protobuf.UnknownFieldSet unknownFields) {
return super.setUnknownFields(unknownFields);
diff --git a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersionOrBuilder.java b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersionOrBuilder.java
index 90b0fc5c..50b4f0e0 100644
--- a/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersionOrBuilder.java
+++ b/proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/SecretVersionOrBuilder.java
@@ -224,4 +224,20 @@ public interface SecretVersionOrBuilder
* @return The bytes for etag.
*/
com.google.protobuf.ByteString getEtagBytes();
+
+ /**
+ *
+ *
+ * + * Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been + * received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on + * [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion]. + *+ * + *
bool client_specified_payload_checksum = 7 [(.google.api.field_behavior) = OUTPUT_ONLY];
+ *
+ *
+ * @return The clientSpecifiedPayloadChecksum.
+ */
+ boolean getClientSpecifiedPayloadChecksum();
}
diff --git a/proto-google-cloud-secretmanager-v1/src/main/proto/google/cloud/secretmanager/v1/resources.proto b/proto-google-cloud-secretmanager-v1/src/main/proto/google/cloud/secretmanager/v1/resources.proto
index 9b189692..a47475b3 100644
--- a/proto-google-cloud-secretmanager-v1/src/main/proto/google/cloud/secretmanager/v1/resources.proto
+++ b/proto-google-cloud-secretmanager-v1/src/main/proto/google/cloud/secretmanager/v1/resources.proto
@@ -16,11 +16,11 @@ syntax = "proto3";
package google.cloud.secretmanager.v1;
+import "google/api/annotations.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";
import "google/protobuf/duration.proto";
import "google/protobuf/timestamp.proto";
-import "google/api/annotations.proto";
option cc_enable_arenas = true;
option csharp_namespace = "Google.Cloud.SecretManager.V1";
@@ -147,6 +147,11 @@ message SecretVersion {
// Output only. Etag of the currently stored [SecretVersion][google.cloud.secretmanager.v1.SecretVersion].
string etag = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. True if payload checksum specified in [SecretPayload][google.cloud.secretmanager.v1.SecretPayload] object has been
+ // received by [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] on
+ // [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion].
+ bool client_specified_payload_checksum = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
}
// A policy that defines the replication and encryption configuration of data.
@@ -313,4 +318,16 @@ message Rotation {
message SecretPayload {
// The secret data. Must be no larger than 64KiB.
bytes data = 1;
+
+ // Optional. If specified, [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will verify the integrity of the
+ // received [data][google.cloud.secretmanager.v1.SecretPayload.data] on [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] calls using
+ // the crc32c checksum and store it to include in future
+ // [SecretManagerService.AccessSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AccessSecretVersion] responses. If a checksum is
+ // not provided in the [SecretManagerService.AddSecretVersion][google.cloud.secretmanager.v1.SecretManagerService.AddSecretVersion] request, the
+ // [SecretManagerService][google.cloud.secretmanager.v1.SecretManagerService] will generate and store one for you.
+ //
+ // The CRC32C value is encoded as a Int64 for compatibility, and can be
+ // safely downconverted to uint32 in languages that support this type.
+ // https://cloud.google.com/apis/design/design_patterns#integer_types
+ optional int64 data_crc32c = 2 [(google.api.field_behavior) = OPTIONAL];
}