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