Skip to content

Commit f386842

Browse files
alexblyznpongad
authored andcommitted
---
yaml --- r: 8991 b: refs/heads/lesv-patch-1 c: 3fb051f h: refs/heads/master i: 8989: 0425c7f 8987: 87304dd 8983: 8042c85 8975: 6f71b0d 8959: 830060d
1 parent 3394f13 commit f386842

13 files changed

Lines changed: 251 additions & 3 deletions

File tree

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ refs/tags/v0.22.0: 18b298fe4bfe8ec2f20b0e0bf7ffdcce5cc3c5fe
6666
refs/heads/vam-google-patch-1: d0c8fee3a4074d0bf7360ce8c4f7f7223d0ee7b9
6767
refs/heads/vam-google-patch-CODEOWNERS: 2ac1616e25229e51d08a984708ef1918f91a35ee
6868
refs/heads/danoscarmike-patch-1: 7342a9916bce4ed00002c7202e2a16c5d46afaea
69-
refs/heads/lesv-patch-1: bf5e810ec59d9f656207d6329bff4e352752b5ac
69+
refs/heads/lesv-patch-1: 3fb051f4d4e53a5f0729d183e0fad4f9e0f684c6
7070
refs/heads/ml-update-branch: 079dd6610017f5c51b9d1938c12d6d55b61513cf
7171
refs/heads/vkedia-patch-2: 7d8241388a9769a5c069334761b06c7012c878e7
7272
refs/heads/vkedia-patch-3: 4d128043acaa7db9160faf439d2ca6104e8a88cb

branches/lesv-patch-1/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/CopyJobConfiguration.java

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ public final class CopyJobConfiguration extends JobConfiguration {
3939
private final TableId destinationTable;
4040
private final JobInfo.CreateDisposition createDisposition;
4141
private final JobInfo.WriteDisposition writeDisposition;
42+
private final EncryptionConfiguration destinationEncryptionConfiguration;
4243

4344
public static final class Builder
4445
extends JobConfiguration.Builder<CopyJobConfiguration, Builder> {
@@ -47,6 +48,7 @@ public static final class Builder
4748
private TableId destinationTable;
4849
private JobInfo.CreateDisposition createDisposition;
4950
private JobInfo.WriteDisposition writeDisposition;
51+
private EncryptionConfiguration destinationEncryptionConfiguration;
5052

5153
private Builder() {
5254
super(Type.COPY);
@@ -58,6 +60,7 @@ private Builder(CopyJobConfiguration jobConfiguration) {
5860
this.destinationTable = jobConfiguration.destinationTable;
5961
this.createDisposition = jobConfiguration.createDisposition;
6062
this.writeDisposition = jobConfiguration.writeDisposition;
63+
this.destinationEncryptionConfiguration = jobConfiguration.destinationEncryptionConfiguration;
6164
}
6265

6366
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) {
@@ -78,6 +81,10 @@ private Builder(com.google.api.services.bigquery.model.JobConfiguration configur
7881
this.writeDisposition = JobInfo.WriteDisposition.valueOf(
7982
copyConfigurationPb.getWriteDisposition());
8083
}
84+
if (copyConfigurationPb.getDestinationEncryptionConfiguration() != null) {
85+
this.destinationEncryptionConfiguration = new EncryptionConfiguration.Builder(
86+
copyConfigurationPb.getDestinationEncryptionConfiguration()).build();
87+
}
8188
}
8289

8390

@@ -99,6 +106,13 @@ public Builder setDestinationTable(TableId destinationTable) {
99106
}
100107

101108

109+
public Builder setDestinationEncryptionConfiguration(
110+
EncryptionConfiguration encryptionConfiguration) {
111+
this.destinationEncryptionConfiguration = encryptionConfiguration;
112+
return this;
113+
}
114+
115+
102116
/**
103117
* Sets whether the job is allowed to create new tables.
104118
*
@@ -133,6 +147,7 @@ private CopyJobConfiguration(Builder builder) {
133147
this.destinationTable = checkNotNull(builder.destinationTable);
134148
this.createDisposition = builder.createDisposition;
135149
this.writeDisposition = builder.writeDisposition;
150+
this.destinationEncryptionConfiguration = builder.destinationEncryptionConfiguration;
136151
}
137152

138153

@@ -152,6 +167,11 @@ public TableId getDestinationTable() {
152167
}
153168

154169

170+
public EncryptionConfiguration getDestinationEncryptionConfiguration() {
171+
return destinationEncryptionConfiguration;
172+
}
173+
174+
155175
/**
156176
* Returns whether the job is allowed to create new tables.
157177
*
@@ -183,6 +203,7 @@ ToStringHelper toStringHelper() {
183203
return super.toStringHelper()
184204
.add("sourceTables", sourceTables)
185205
.add("destinationTable", destinationTable)
206+
.add("destinationEncryptionConfiguration", destinationEncryptionConfiguration)
186207
.add("createDisposition", createDisposition)
187208
.add("writeDisposition", writeDisposition);
188209
}
@@ -229,6 +250,10 @@ com.google.api.services.bigquery.model.JobConfiguration toPb() {
229250
if (writeDisposition != null) {
230251
configurationPb.setWriteDisposition(writeDisposition.toString());
231252
}
253+
if (destinationEncryptionConfiguration != null) {
254+
configurationPb.setDestinationEncryptionConfiguration(
255+
destinationEncryptionConfiguration.toPb());
256+
}
232257
return new com.google.api.services.bigquery.model.JobConfiguration().setCopy(configurationPb);
233258
}
234259

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
/*
2+
* Copyright 2018 Google LLC
3+
*
4+
* Licensed under the Apache License, Version 2.0 (the "License");
5+
* you may not use this file except in compliance with the License.
6+
* You may obtain a copy of the License at
7+
*
8+
* http://www.apache.org/licenses/LICENSE-2.0
9+
*
10+
* Unless required by applicable law or agreed to in writing, software
11+
* distributed under the License is distributed on an "AS IS" BASIS,
12+
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
* See the License for the specific language governing permissions and
14+
* limitations under the License.
15+
*/
16+
17+
package com.google.cloud.bigquery;
18+
19+
import com.google.common.base.MoreObjects;
20+
import java.io.Serializable;
21+
import java.util.Objects;
22+
23+
public final class EncryptionConfiguration implements Serializable {
24+
private static final long serialVersionUID = -100849671239964L;
25+
26+
private final String kmsKeyName;
27+
28+
public String getKmsKeyName() {
29+
return this.kmsKeyName;
30+
}
31+
32+
public com.google.api.services.bigquery.model.EncryptionConfiguration toPb() {
33+
com.google.api.services.bigquery.model.EncryptionConfiguration encryptionConfigurationPb
34+
= new com.google.api.services.bigquery.model.EncryptionConfiguration();
35+
encryptionConfigurationPb.setKmsKeyName(kmsKeyName);
36+
return encryptionConfigurationPb;
37+
}
38+
39+
public static final class Builder {
40+
private String kmsKeyName;
41+
42+
private Builder() {}
43+
44+
private Builder(EncryptionConfiguration options) {
45+
kmsKeyName = options.kmsKeyName;
46+
}
47+
48+
public Builder(com.google.api.services.bigquery.model.EncryptionConfiguration encryptionConfigurationPb) {
49+
setKmsKeyName(encryptionConfigurationPb.getKmsKeyName());
50+
}
51+
52+
public EncryptionConfiguration.Builder setKmsKeyName(String kmsKeyName) {
53+
this.kmsKeyName = kmsKeyName;
54+
return this;
55+
}
56+
57+
/**
58+
* Creates a {@code EncryptionConfiguration} object.
59+
*/
60+
public EncryptionConfiguration build() {
61+
return new EncryptionConfiguration(this);
62+
}
63+
}
64+
65+
private EncryptionConfiguration(EncryptionConfiguration.Builder builder) {
66+
this.kmsKeyName = builder.kmsKeyName;
67+
}
68+
69+
/**
70+
* Returns a builder for the {@code EncryptionConfiguration} object.
71+
*/
72+
public EncryptionConfiguration.Builder toBuilder() {
73+
return new EncryptionConfiguration.Builder(this);
74+
}
75+
76+
/**
77+
* Returns a builder for a {@code EncryptionConfiguration} object.
78+
*/
79+
public static EncryptionConfiguration.Builder newBuilder() {
80+
return new EncryptionConfiguration.Builder();
81+
}
82+
83+
@Override
84+
public String toString() {
85+
return MoreObjects.toStringHelper(this)
86+
.add("kmsKeyName", kmsKeyName)
87+
.toString();
88+
}
89+
90+
@Override
91+
public int hashCode() {
92+
return Objects.hash(kmsKeyName);
93+
}
94+
95+
@Override
96+
public boolean equals(Object obj) {
97+
return obj == this
98+
|| obj instanceof EncryptionConfiguration
99+
&& Objects.equals(kmsKeyName, ((EncryptionConfiguration) obj).getKmsKeyName());
100+
}
101+
}

branches/lesv-patch-1/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/LoadConfiguration.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,8 @@ interface Builder {
4040
Builder setDestinationTable(TableId destinationTable);
4141

4242

43+
Builder setDestinationEncryptionConfiguration(EncryptionConfiguration encryptionConfiguration);
44+
4345
/**
4446
* Sets whether the job is allowed to create new tables.
4547
*
@@ -126,6 +128,8 @@ interface Builder {
126128
*/
127129
TableId getDestinationTable();
128130

131+
EncryptionConfiguration getDestinationEncryptionConfiguration();
132+
129133

130134
/**
131135
* Returns whether the job is allowed to create new tables.

branches/lesv-patch-1/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/LoadJobConfiguration.java

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@
2222
import com.google.common.base.MoreObjects.ToStringHelper;
2323
import com.google.common.collect.ImmutableList;
2424
import com.google.common.primitives.Ints;
25-
2625
import java.util.List;
2726
import java.util.Objects;
2827

@@ -37,6 +36,7 @@ public final class LoadJobConfiguration extends JobConfiguration implements Load
3736

3837
private final List<String> sourceUris;
3938
private final TableId destinationTable;
39+
private final EncryptionConfiguration destinationEncryptionConfiguration;
4040
private final JobInfo.CreateDisposition createDisposition;
4141
private final JobInfo.WriteDisposition writeDisposition;
4242
private final FormatOptions formatOptions;
@@ -53,6 +53,7 @@ public static final class Builder
5353

5454
private List<String> sourceUris;
5555
private TableId destinationTable;
56+
private EncryptionConfiguration destinationEncryptionConfiguration;
5657
private JobInfo.CreateDisposition createDisposition;
5758
private JobInfo.WriteDisposition writeDisposition;
5859
private FormatOptions formatOptions;
@@ -81,6 +82,8 @@ private Builder(LoadJobConfiguration loadConfiguration) {
8182
this.sourceUris = loadConfiguration.sourceUris;
8283
this.schemaUpdateOptions = loadConfiguration.schemaUpdateOptions;
8384
this.autodetect = loadConfiguration.autodetect;
85+
this.destinationEncryptionConfiguration =
86+
loadConfiguration.destinationEncryptionConfiguration;
8487
}
8588

8689
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) {
@@ -139,6 +142,10 @@ private Builder(com.google.api.services.bigquery.model.JobConfiguration configur
139142
this.schemaUpdateOptions = schemaUpdateOptionsBuilder.build();
140143
}
141144
this.autodetect = loadConfigurationPb.getAutodetect();
145+
if (loadConfigurationPb.getDestinationEncryptionConfiguration() != null) {
146+
this.destinationEncryptionConfiguration = new EncryptionConfiguration.Builder(
147+
loadConfigurationPb.getDestinationEncryptionConfiguration()).build();
148+
}
142149
}
143150

144151

@@ -148,6 +155,13 @@ public Builder setDestinationTable(TableId destinationTable) {
148155
return this;
149156
}
150157

158+
@Override
159+
public Builder setDestinationEncryptionConfiguration(
160+
EncryptionConfiguration encryptionConfiguration) {
161+
this.destinationEncryptionConfiguration = encryptionConfiguration;
162+
return this;
163+
}
164+
151165

152166
@Override
153167
public Builder setCreateDisposition(JobInfo.CreateDisposition createDisposition) {
@@ -238,6 +252,7 @@ private LoadJobConfiguration(Builder builder) {
238252
this.ignoreUnknownValues = builder.ignoreUnknownValues;
239253
this.schemaUpdateOptions = builder.schemaUpdateOptions;
240254
this.autodetect = builder.autodetect;
255+
this.destinationEncryptionConfiguration = builder.destinationEncryptionConfiguration;
241256
}
242257

243258

@@ -247,6 +262,12 @@ public TableId getDestinationTable() {
247262
}
248263

249264

265+
@Override
266+
public EncryptionConfiguration getDestinationEncryptionConfiguration() {
267+
return destinationEncryptionConfiguration;
268+
}
269+
270+
250271
@Override
251272
public JobInfo.CreateDisposition getCreateDisposition() {
252273
return this.createDisposition;
@@ -326,6 +347,7 @@ public Builder toBuilder() {
326347
ToStringHelper toStringHelper() {
327348
return super.toStringHelper()
328349
.add("destinationTable", destinationTable)
350+
.add("destinationEncryptionConfiguration", destinationEncryptionConfiguration)
329351
.add("createDisposition", createDisposition)
330352
.add("writeDisposition", writeDisposition)
331353
.add("formatOptions", formatOptions)
@@ -403,6 +425,10 @@ com.google.api.services.bigquery.model.JobConfiguration toPb() {
403425
loadConfigurationPb.setSchemaUpdateOptions(schemaUpdateOptionsBuilder.build());
404426
}
405427
loadConfigurationPb.setAutodetect(autodetect);
428+
if (destinationEncryptionConfiguration != null) {
429+
loadConfigurationPb.setDestinationEncryptionConfiguration(
430+
destinationEncryptionConfiguration.toPb());
431+
}
406432
return new com.google.api.services.bigquery.model.JobConfiguration()
407433
.setLoad(loadConfigurationPb);
408434
}

branches/lesv-patch-1/google-cloud-bigquery/src/main/java/com/google/cloud/bigquery/QueryJobConfiguration.java

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -61,6 +61,7 @@ public final class QueryJobConfiguration extends JobConfiguration {
6161
private final Boolean useLegacySql;
6262
private final Integer maximumBillingTier;
6363
private final List<SchemaUpdateOption> schemaUpdateOptions;
64+
private final EncryptionConfiguration destinationEncryptionConfiguration;
6465

6566
/**
6667
* Priority levels for a query. If not specified the priority is assumed to be
@@ -102,6 +103,7 @@ public static final class Builder
102103
private Boolean useLegacySql = false;
103104
private Integer maximumBillingTier;
104105
private List<SchemaUpdateOption> schemaUpdateOptions;
106+
private EncryptionConfiguration destinationEncryptionConfiguration;
105107

106108
private Builder() {
107109
super(Type.QUERY);
@@ -126,6 +128,7 @@ private Builder(QueryJobConfiguration jobConfiguration) {
126128
this.useLegacySql = jobConfiguration.useLegacySql;
127129
this.maximumBillingTier = jobConfiguration.maximumBillingTier;
128130
this.schemaUpdateOptions = jobConfiguration.schemaUpdateOptions;
131+
this.destinationEncryptionConfiguration = jobConfiguration.destinationEncryptionConfiguration;
129132
}
130133

131134
private Builder(com.google.api.services.bigquery.model.JobConfiguration configurationPb) {
@@ -188,6 +191,10 @@ private Builder(com.google.api.services.bigquery.model.JobConfiguration configur
188191
}
189192
this.schemaUpdateOptions = schemaUpdateOptionsBuilder.build();
190193
}
194+
if (queryConfigurationPb.getDestinationEncryptionConfiguration() != null) {
195+
this.destinationEncryptionConfiguration = new EncryptionConfiguration.Builder(
196+
queryConfigurationPb.getDestinationEncryptionConfiguration()).build();
197+
}
191198
}
192199

193200

@@ -292,6 +299,12 @@ public Builder setDestinationTable(TableId destinationTable) {
292299
}
293300

294301

302+
public Builder setDestinationEncryptionConfiguration(
303+
EncryptionConfiguration encryptionConfiguration) {
304+
this.destinationEncryptionConfiguration = encryptionConfiguration;
305+
return this;
306+
}
307+
295308
/**
296309
* Sets the external tables definitions. If querying external data sources outside of BigQuery,
297310
* this value describes the data format, location and other properties of the data
@@ -508,6 +521,7 @@ private QueryJobConfiguration(Builder builder) {
508521
this.useLegacySql = builder.useLegacySql;
509522
this.maximumBillingTier = builder.maximumBillingTier;
510523
this.schemaUpdateOptions = builder.schemaUpdateOptions;
524+
this.destinationEncryptionConfiguration = builder.destinationEncryptionConfiguration;
511525
}
512526

513527
/**
@@ -551,6 +565,10 @@ public TableId getDestinationTable() {
551565
return destinationTable;
552566
}
553567

568+
public EncryptionConfiguration getDestinationEncryptionConfiguration() {
569+
return destinationEncryptionConfiguration;
570+
}
571+
554572
/**
555573
* Returns whether nested and repeated fields should be flattened. If set to {@code false}
556574
* {@link Builder#setAllowLargeResults(Boolean)} must be {@code true}.
@@ -687,6 +705,7 @@ ToStringHelper toStringHelper() {
687705
.add("positionalParameters", positionalParameters)
688706
.add("namedParameters", namedParameters)
689707
.add("destinationTable", destinationTable)
708+
.add("destinationEncryptionConfiguration", destinationEncryptionConfiguration)
690709
.add("defaultDataset", defaultDataset)
691710
.add("allowLargeResults", allowLargeResults)
692711
.add("flattenResults", flattenResults)
@@ -791,6 +810,9 @@ com.google.api.services.bigquery.model.JobConfiguration toPb() {
791810
}
792811
queryConfigurationPb.setSchemaUpdateOptions(schemaUpdateOptionsBuilder.build());
793812
}
813+
if (destinationEncryptionConfiguration != null) {
814+
queryConfigurationPb.setDestinationEncryptionConfiguration(destinationEncryptionConfiguration.toPb());
815+
}
794816
return configurationPb.setQuery(queryConfigurationPb);
795817
}
796818

0 commit comments

Comments
 (0)