Skip to content
This repository was archived by the owner on Sep 16, 2023. It is now read-only.

Commit 0d2e4b4

Browse files
feat: Rotation for Secrets (#425)
This PR was generated using Autosynth. 🌈 Synth log will be available here: https://source.cloud.google.com/results/invocations/3f2047bd-228a-422e-b865-ff4ee3d54ec6/targets - [ ] To automatically regenerate this PR, check this box. (May take up to 24 hours.) PiperOrigin-RevId: 365574085 Source-Link: googleapis/googleapis@6c76936
1 parent a2f27df commit 0d2e4b4

8 files changed

Lines changed: 1706 additions & 62 deletions

File tree

google-cloud-secretmanager/src/test/java/com/google/cloud/secretmanager/v1/SecretManagerServiceClientTest.java

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -189,6 +189,7 @@ public void createSecretTest() throws Exception {
189189
.setCreateTime(Timestamp.newBuilder().build())
190190
.putAllLabels(new HashMap<String, String>())
191191
.addAllTopics(new ArrayList<Topic>())
192+
.setRotation(Rotation.newBuilder().build())
192193
.build();
193194
mockSecretManagerService.addResponse(expectedResponse);
194195

@@ -237,6 +238,7 @@ public void createSecretTest2() throws Exception {
237238
.setCreateTime(Timestamp.newBuilder().build())
238239
.putAllLabels(new HashMap<String, String>())
239240
.addAllTopics(new ArrayList<Topic>())
241+
.setRotation(Rotation.newBuilder().build())
240242
.build();
241243
mockSecretManagerService.addResponse(expectedResponse);
242244

@@ -373,6 +375,7 @@ public void getSecretTest() throws Exception {
373375
.setCreateTime(Timestamp.newBuilder().build())
374376
.putAllLabels(new HashMap<String, String>())
375377
.addAllTopics(new ArrayList<Topic>())
378+
.setRotation(Rotation.newBuilder().build())
376379
.build();
377380
mockSecretManagerService.addResponse(expectedResponse);
378381

@@ -415,6 +418,7 @@ public void getSecretTest2() throws Exception {
415418
.setCreateTime(Timestamp.newBuilder().build())
416419
.putAllLabels(new HashMap<String, String>())
417420
.addAllTopics(new ArrayList<Topic>())
421+
.setRotation(Rotation.newBuilder().build())
418422
.build();
419423
mockSecretManagerService.addResponse(expectedResponse);
420424

@@ -457,6 +461,7 @@ public void updateSecretTest() throws Exception {
457461
.setCreateTime(Timestamp.newBuilder().build())
458462
.putAllLabels(new HashMap<String, String>())
459463
.addAllTopics(new ArrayList<Topic>())
464+
.setRotation(Rotation.newBuilder().build())
460465
.build();
461466
mockSecretManagerService.addResponse(expectedResponse);
462467

proto-google-cloud-secretmanager-v1/src/main/java/com/google/cloud/secretmanager/v1/ResourcesProto.java

Lines changed: 78 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,10 @@ public static void registerAllExtensions(com.google.protobuf.ExtensionRegistry r
8383
internal_static_google_cloud_secretmanager_v1_Topic_descriptor;
8484
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
8585
internal_static_google_cloud_secretmanager_v1_Topic_fieldAccessorTable;
86+
static final com.google.protobuf.Descriptors.Descriptor
87+
internal_static_google_cloud_secretmanager_v1_Rotation_descriptor;
88+
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
89+
internal_static_google_cloud_secretmanager_v1_Rotation_fieldAccessorTable;
8690
static final com.google.protobuf.Descriptors.Descriptor
8791
internal_static_google_cloud_secretmanager_v1_SecretPayload_descriptor;
8892
static final com.google.protobuf.GeneratedMessageV3.FieldAccessorTable
@@ -101,7 +105,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
101105
+ "google/api/field_behavior.proto\032\031google/"
102106
+ "api/resource.proto\032\036google/protobuf/dura"
103107
+ "tion.proto\032\037google/protobuf/timestamp.pr"
104-
+ "oto\032\034google/api/annotations.proto\"\213\004\n\006Se"
108+
+ "oto\032\034google/api/annotations.proto\"\313\004\n\006Se"
105109
+ "cret\022\021\n\004name\030\001 \001(\tB\003\340A\003\022G\n\013replication\030\002"
106110
+ " \001(\0132*.google.cloud.secretmanager.v1.Rep"
107111
+ "licationB\006\340A\005\340A\002\0224\n\013create_time\030\003 \001(\0132\032."
@@ -111,64 +115,69 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
111115
+ "le.cloud.secretmanager.v1.TopicB\003\340A\001\0226\n\013"
112116
+ "expire_time\030\006 \001(\0132\032.google.protobuf.Time"
113117
+ "stampB\003\340A\001H\000\022-\n\003ttl\030\007 \001(\0132\031.google.proto"
114-
+ "buf.DurationB\003\340A\004H\000\032-\n\013LabelsEntry\022\013\n\003ke"
115-
+ "y\030\001 \001(\t\022\r\n\005value\030\002 \001(\t:\0028\001:M\352AJ\n#secretm"
116-
+ "anager.googleapis.com/Secret\022#projects/{"
117-
+ "project}/secrets/{secret}B\014\n\nexpiration\""
118-
+ "\337\003\n\rSecretVersion\022\021\n\004name\030\001 \001(\tB\003\340A\003\0224\n\013"
119-
+ "create_time\030\002 \001(\0132\032.google.protobuf.Time"
120-
+ "stampB\003\340A\003\0225\n\014destroy_time\030\003 \001(\0132\032.googl"
121-
+ "e.protobuf.TimestampB\003\340A\003\022F\n\005state\030\004 \001(\016"
122-
+ "22.google.cloud.secretmanager.v1.SecretV"
123-
+ "ersion.StateB\003\340A\003\022L\n\022replication_status\030"
124-
+ "\005 \001(\01320.google.cloud.secretmanager.v1.Re"
125-
+ "plicationStatus\"H\n\005State\022\025\n\021STATE_UNSPEC"
126-
+ "IFIED\020\000\022\013\n\007ENABLED\020\001\022\014\n\010DISABLED\020\002\022\r\n\tDE"
127-
+ "STROYED\020\003:n\352Ak\n*secretmanager.googleapis"
128-
+ ".com/SecretVersion\022=projects/{project}/s"
129-
+ "ecrets/{secret}/versions/{secret_version"
130-
+ "}\"\220\004\n\013Replication\022I\n\tautomatic\030\001 \001(\01324.g"
131-
+ "oogle.cloud.secretmanager.v1.Replication"
132-
+ ".AutomaticH\000\022N\n\014user_managed\030\002 \001(\01326.goo"
133-
+ "gle.cloud.secretmanager.v1.Replication.U"
134-
+ "serManagedH\000\032o\n\tAutomatic\022b\n\033customer_ma"
135-
+ "naged_encryption\030\001 \001(\01328.google.cloud.se"
136-
+ "cretmanager.v1.CustomerManagedEncryption"
137-
+ "B\003\340A\001\032\345\001\n\013UserManaged\022U\n\010replicas\030\001 \003(\0132"
138-
+ ">.google.cloud.secretmanager.v1.Replicat"
139-
+ "ion.UserManaged.ReplicaB\003\340A\002\032\177\n\007Replica\022"
140-
+ "\020\n\010location\030\001 \001(\t\022b\n\033customer_managed_en"
141-
+ "cryption\030\002 \001(\01328.google.cloud.secretmana"
142-
+ "ger.v1.CustomerManagedEncryptionB\003\340A\001B\r\n"
143-
+ "\013replication\"6\n\031CustomerManagedEncryptio"
144-
+ "n\022\031\n\014kms_key_name\030\001 \001(\tB\003\340A\002\"\353\004\n\021Replica"
145-
+ "tionStatus\022U\n\tautomatic\030\001 \001(\0132@.google.c"
146-
+ "loud.secretmanager.v1.ReplicationStatus."
147-
+ "AutomaticStatusH\000\022Z\n\014user_managed\030\002 \001(\0132"
148-
+ "B.google.cloud.secretmanager.v1.Replicat"
149-
+ "ionStatus.UserManagedStatusH\000\032{\n\017Automat"
150-
+ "icStatus\022h\n\033customer_managed_encryption\030"
151-
+ "\001 \001(\0132>.google.cloud.secretmanager.v1.Cu"
152-
+ "stomerManagedEncryptionStatusB\003\340A\003\032\217\002\n\021U"
153-
+ "serManagedStatus\022g\n\010replicas\030\001 \003(\0132P.goo"
154-
+ "gle.cloud.secretmanager.v1.ReplicationSt"
155-
+ "atus.UserManagedStatus.ReplicaStatusB\003\340A"
156-
+ "\003\032\220\001\n\rReplicaStatus\022\025\n\010location\030\001 \001(\tB\003\340"
157-
+ "A\003\022h\n\033customer_managed_encryption\030\002 \001(\0132"
158-
+ ">.google.cloud.secretmanager.v1.Customer"
159-
+ "ManagedEncryptionStatusB\003\340A\003B\024\n\022replicat"
160-
+ "ion_status\"D\n\037CustomerManagedEncryptionS"
161-
+ "tatus\022!\n\024kms_key_version_name\030\001 \001(\tB\003\340A\002"
162-
+ "\"_\n\005Topic\022\021\n\004name\030\001 \001(\tB\003\340A\002:C\352A@\n\033pubsu"
163-
+ "b.googleapis.com/Topic\022!projects/{projec"
164-
+ "t}/topics/{topic}\"\035\n\rSecretPayload\022\014\n\004da"
165-
+ "ta\030\001 \001(\014B\355\001\n!com.google.cloud.secretmana"
166-
+ "ger.v1B\016ResourcesProtoP\001ZJgoogle.golang."
167-
+ "org/genproto/googleapis/cloud/secretmana"
168-
+ "ger/v1;secretmanager\370\001\001\242\002\003GSM\252\002\035Google.C"
169-
+ "loud.SecretManager.V1\312\002\035Google\\Cloud\\Sec"
170-
+ "retManager\\V1\352\002 Google::Cloud::SecretMan"
171-
+ "ager::V1b\006proto3"
118+
+ "buf.DurationB\003\340A\004H\000\022>\n\010rotation\030\t \001(\0132\'."
119+
+ "google.cloud.secretmanager.v1.RotationB\003"
120+
+ "\340A\001\032-\n\013LabelsEntry\022\013\n\003key\030\001 \001(\t\022\r\n\005value"
121+
+ "\030\002 \001(\t:\0028\001:M\352AJ\n#secretmanager.googleapi"
122+
+ "s.com/Secret\022#projects/{project}/secrets"
123+
+ "/{secret}B\014\n\nexpiration\"\337\003\n\rSecretVersio"
124+
+ "n\022\021\n\004name\030\001 \001(\tB\003\340A\003\0224\n\013create_time\030\002 \001("
125+
+ "\0132\032.google.protobuf.TimestampB\003\340A\003\0225\n\014de"
126+
+ "stroy_time\030\003 \001(\0132\032.google.protobuf.Times"
127+
+ "tampB\003\340A\003\022F\n\005state\030\004 \001(\01622.google.cloud."
128+
+ "secretmanager.v1.SecretVersion.StateB\003\340A"
129+
+ "\003\022L\n\022replication_status\030\005 \001(\01320.google.c"
130+
+ "loud.secretmanager.v1.ReplicationStatus\""
131+
+ "H\n\005State\022\025\n\021STATE_UNSPECIFIED\020\000\022\013\n\007ENABL"
132+
+ "ED\020\001\022\014\n\010DISABLED\020\002\022\r\n\tDESTROYED\020\003:n\352Ak\n*"
133+
+ "secretmanager.googleapis.com/SecretVersi"
134+
+ "on\022=projects/{project}/secrets/{secret}/"
135+
+ "versions/{secret_version}\"\220\004\n\013Replicatio"
136+
+ "n\022I\n\tautomatic\030\001 \001(\01324.google.cloud.secr"
137+
+ "etmanager.v1.Replication.AutomaticH\000\022N\n\014"
138+
+ "user_managed\030\002 \001(\01326.google.cloud.secret"
139+
+ "manager.v1.Replication.UserManagedH\000\032o\n\t"
140+
+ "Automatic\022b\n\033customer_managed_encryption"
141+
+ "\030\001 \001(\01328.google.cloud.secretmanager.v1.C"
142+
+ "ustomerManagedEncryptionB\003\340A\001\032\345\001\n\013UserMa"
143+
+ "naged\022U\n\010replicas\030\001 \003(\0132>.google.cloud.s"
144+
+ "ecretmanager.v1.Replication.UserManaged."
145+
+ "ReplicaB\003\340A\002\032\177\n\007Replica\022\020\n\010location\030\001 \001("
146+
+ "\t\022b\n\033customer_managed_encryption\030\002 \001(\01328"
147+
+ ".google.cloud.secretmanager.v1.CustomerM"
148+
+ "anagedEncryptionB\003\340A\001B\r\n\013replication\"6\n\031"
149+
+ "CustomerManagedEncryption\022\031\n\014kms_key_nam"
150+
+ "e\030\001 \001(\tB\003\340A\002\"\353\004\n\021ReplicationStatus\022U\n\tau"
151+
+ "tomatic\030\001 \001(\0132@.google.cloud.secretmanag"
152+
+ "er.v1.ReplicationStatus.AutomaticStatusH"
153+
+ "\000\022Z\n\014user_managed\030\002 \001(\0132B.google.cloud.s"
154+
+ "ecretmanager.v1.ReplicationStatus.UserMa"
155+
+ "nagedStatusH\000\032{\n\017AutomaticStatus\022h\n\033cust"
156+
+ "omer_managed_encryption\030\001 \001(\0132>.google.c"
157+
+ "loud.secretmanager.v1.CustomerManagedEnc"
158+
+ "ryptionStatusB\003\340A\003\032\217\002\n\021UserManagedStatus"
159+
+ "\022g\n\010replicas\030\001 \003(\0132P.google.cloud.secret"
160+
+ "manager.v1.ReplicationStatus.UserManaged"
161+
+ "Status.ReplicaStatusB\003\340A\003\032\220\001\n\rReplicaSta"
162+
+ "tus\022\025\n\010location\030\001 \001(\tB\003\340A\003\022h\n\033customer_m"
163+
+ "anaged_encryption\030\002 \001(\0132>.google.cloud.s"
164+
+ "ecretmanager.v1.CustomerManagedEncryptio"
165+
+ "nStatusB\003\340A\003B\024\n\022replication_status\"D\n\037Cu"
166+
+ "stomerManagedEncryptionStatus\022!\n\024kms_key"
167+
+ "_version_name\030\001 \001(\tB\003\340A\002\"_\n\005Topic\022\021\n\004nam"
168+
+ "e\030\001 \001(\tB\003\340A\002:C\352A@\n\033pubsub.googleapis.com"
169+
+ "/Topic\022!projects/{project}/topics/{topic"
170+
+ "}\"\200\001\n\010Rotation\022;\n\022next_rotation_time\030\001 \001"
171+
+ "(\0132\032.google.protobuf.TimestampB\003\340A\001\0227\n\017r"
172+
+ "otation_period\030\002 \001(\0132\031.google.protobuf.D"
173+
+ "urationB\003\340A\004\"\035\n\rSecretPayload\022\014\n\004data\030\001 "
174+
+ "\001(\014B\355\001\n!com.google.cloud.secretmanager.v"
175+
+ "1B\016ResourcesProtoP\001ZJgoogle.golang.org/g"
176+
+ "enproto/googleapis/cloud/secretmanager/v"
177+
+ "1;secretmanager\370\001\001\242\002\003GSM\252\002\035Google.Cloud."
178+
+ "SecretManager.V1\312\002\035Google\\Cloud\\SecretMa"
179+
+ "nager\\V1\352\002 Google::Cloud::SecretManager:"
180+
+ ":V1b\006proto3"
172181
};
173182
descriptor =
174183
com.google.protobuf.Descriptors.FileDescriptor.internalBuildGeneratedFileFrom(
@@ -193,6 +202,7 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
193202
"Topics",
194203
"ExpireTime",
195204
"Ttl",
205+
"Rotation",
196206
"Expiration",
197207
});
198208
internal_static_google_cloud_secretmanager_v1_Secret_LabelsEntry_descriptor =
@@ -311,8 +321,16 @@ public static com.google.protobuf.Descriptors.FileDescriptor getDescriptor() {
311321
new java.lang.String[] {
312322
"Name",
313323
});
314-
internal_static_google_cloud_secretmanager_v1_SecretPayload_descriptor =
324+
internal_static_google_cloud_secretmanager_v1_Rotation_descriptor =
315325
getDescriptor().getMessageTypes().get(7);
326+
internal_static_google_cloud_secretmanager_v1_Rotation_fieldAccessorTable =
327+
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
328+
internal_static_google_cloud_secretmanager_v1_Rotation_descriptor,
329+
new java.lang.String[] {
330+
"NextRotationTime", "RotationPeriod",
331+
});
332+
internal_static_google_cloud_secretmanager_v1_SecretPayload_descriptor =
333+
getDescriptor().getMessageTypes().get(8);
316334
internal_static_google_cloud_secretmanager_v1_SecretPayload_fieldAccessorTable =
317335
new com.google.protobuf.GeneratedMessageV3.FieldAccessorTable(
318336
internal_static_google_cloud_secretmanager_v1_SecretPayload_descriptor,

0 commit comments

Comments
 (0)