2424import com .google .common .collect .ImmutableMap ;
2525import com .google .protobuf .FieldMask ;
2626import com .google .spanner .admin .instance .v1 .AutoscalingConfig ;
27+ import com .google .spanner .admin .instance .v1 .Instance .Edition ;
2728import java .util .HashMap ;
2829import java .util .Map ;
2930import java .util .Objects ;
@@ -37,6 +38,7 @@ public enum InstanceField implements FieldSelector {
3738 NODE_COUNT ("node_count" ),
3839 PROCESSING_UNITS ("processing_units" ),
3940 AUTOSCALING_CONFIG ("autoscaling_config" ),
41+ EDITION ("edition" ),
4042 LABELS ("labels" );
4143
4244 static InstanceField [] defaultFieldsToUpdate (InstanceInfo info ) {
@@ -116,6 +118,10 @@ public Builder setAutoscalingConfig(AutoscalingConfig autoscalingConfig) {
116118 throw new UnsupportedOperationException ("Unimplemented" );
117119 }
118120
121+ public Builder setEdition (Edition edition ) {
122+ throw new UnsupportedOperationException ("Unimplemented" );
123+ }
124+
119125 public abstract Builder setState (State state );
120126
121127 public abstract Builder addLabel (String key , String value );
@@ -132,6 +138,7 @@ static class BuilderImpl extends Builder {
132138 private int nodeCount ;
133139 private int processingUnits ;
134140 private AutoscalingConfig autoscalingConfig ;
141+ private Edition edition ;
135142 private State state ;
136143 private Map <String , String > labels ;
137144 private Timestamp updateTime ;
@@ -153,6 +160,7 @@ static class BuilderImpl extends Builder {
153160 this .labels = new HashMap <>(instance .labels );
154161 this .updateTime = instance .updateTime ;
155162 this .createTime = instance .createTime ;
163+ this .edition = instance .edition ;
156164 }
157165
158166 @ Override
@@ -197,6 +205,12 @@ public BuilderImpl setAutoscalingConfig(AutoscalingConfig autoscalingConfig) {
197205 return this ;
198206 }
199207
208+ @ Override
209+ public BuilderImpl setEdition (Edition edition ) {
210+ this .edition = edition ;
211+ return this ;
212+ }
213+
200214 @ Override
201215 public BuilderImpl setState (State state ) {
202216 this .state = state ;
@@ -227,6 +241,7 @@ public InstanceInfo build() {
227241 private final int nodeCount ;
228242 private final int processingUnits ;
229243 private final AutoscalingConfig autoscalingConfig ;
244+ private final Edition edition ;
230245 private final State state ;
231246 private final ImmutableMap <String , String > labels ;
232247 private final Timestamp updateTime ;
@@ -239,6 +254,7 @@ public InstanceInfo build() {
239254 this .nodeCount = builder .nodeCount ;
240255 this .processingUnits = builder .processingUnits ;
241256 this .autoscalingConfig = builder .autoscalingConfig ;
257+ this .edition = builder .edition ;
242258 this .state = builder .state ;
243259 this .labels = ImmutableMap .copyOf (builder .labels );
244260 this .updateTime = builder .updateTime ;
@@ -283,6 +299,10 @@ public AutoscalingConfig getAutoscalingConfig() {
283299 return autoscalingConfig ;
284300 }
285301
302+ public Edition getEdition () {
303+ return edition ;
304+ }
305+
286306 /** Returns the current state of the instance. */
287307 public State getState () {
288308 return state ;
@@ -306,6 +326,7 @@ public String toString() {
306326 .add ("nodeCount" , nodeCount )
307327 .add ("processingUnits" , processingUnits )
308328 .add ("autoscaling_config" , autoscalingConfig )
329+ .add ("edition" , edition )
309330 .add ("state" , state )
310331 .add ("labels" , labels )
311332 .add ("createTime" , createTime )
@@ -328,6 +349,7 @@ public boolean equals(Object o) {
328349 && nodeCount == that .nodeCount
329350 && processingUnits == that .processingUnits
330351 && Objects .equals (autoscalingConfig , that .autoscalingConfig )
352+ && edition == that .edition
331353 && state == that .state
332354 && Objects .equals (labels , that .labels )
333355 && Objects .equals (updateTime , that .updateTime )
@@ -343,6 +365,7 @@ public int hashCode() {
343365 nodeCount ,
344366 processingUnits ,
345367 autoscalingConfig ,
368+ edition ,
346369 state ,
347370 labels ,
348371 updateTime ,
@@ -365,6 +388,9 @@ com.google.spanner.admin.instance.v1.Instance toProto() {
365388 if (getAutoscalingConfig () != null ) {
366389 builder .setAutoscalingConfig (getAutoscalingConfig ());
367390 }
391+ if (getEdition () != null ) {
392+ builder .setEdition (getEdition ());
393+ }
368394 return builder .build ();
369395 }
370396
0 commit comments