1616
1717package com .google .gcloud .compute ;
1818
19+ import com .google .api .client .util .DateTime ;
1920import com .google .common .base .Function ;
2021import com .google .common .base .MoreObjects ;
2122
@@ -48,34 +49,32 @@ public com.google.api.services.compute.model.DiskType apply(DiskType diskType) {
4849
4950 private static final long serialVersionUID = -944042261695072026L ;
5051
51- private final BigInteger id ;
52+ private final String id ;
5253 private final DiskTypeId diskTypeId ;
53- private final String creationTimestamp ;
54+ private final Long creationTimestamp ;
5455 private final String description ;
5556 private final String validDiskSize ;
56- private final String selfLink ;
5757 private final Long defaultDiskSizeGb ;
5858 private final DeprecationStatus <DiskTypeId > deprecationStatus ;
5959
6060 static final class Builder {
6161
62- private BigInteger id ;
62+ private String id ;
6363 private DiskTypeId diskTypeId ;
64- private String creationTimestamp ;
64+ private Long creationTimestamp ;
6565 private String description ;
6666 private String validDiskSize ;
67- private String selfLink ;
6867 private Long defaultDiskSizeGb ;
6968 private DeprecationStatus <DiskTypeId > deprecationStatus ;
7069
7170 private Builder () {}
7271
73- Builder id (BigInteger id ) {
72+ Builder id (String id ) {
7473 this .id = id ;
7574 return this ;
7675 }
7776
78- Builder creationTimestamp (String creationTimestamp ) {
77+ Builder creationTimestamp (Long creationTimestamp ) {
7978 this .creationTimestamp = creationTimestamp ;
8079 return this ;
8180 }
@@ -95,11 +94,6 @@ Builder validDiskSize(String validDiskSize) {
9594 return this ;
9695 }
9796
98- Builder selfLink (String selfLink ) {
99- this .selfLink = selfLink ;
100- return this ;
101- }
102-
10397 Builder defaultDiskSizeGb (Long defaultDiskSizeGb ) {
10498 this .defaultDiskSizeGb = defaultDiskSizeGb ;
10599 return this ;
@@ -121,17 +115,14 @@ private DiskType(Builder builder) {
121115 this .diskTypeId = builder .diskTypeId ;
122116 this .description = builder .description ;
123117 this .validDiskSize = builder .validDiskSize ;
124- this .selfLink = builder .selfLink ;
125118 this .defaultDiskSizeGb = builder .defaultDiskSizeGb ;
126119 this .deprecationStatus = builder .deprecationStatus ;
127120 }
128121
129122 /**
130- * Returns the creation timestamp in RFC3339 text format.
131- *
132- * @see <a href="https://www.ietf.org/rfc/rfc3339.txt">RFC3339</a>
123+ * Returns the creation timestamp in milliseconds since epoch.
133124 */
134- public String creationTimestamp () {
125+ public Long creationTimestamp () {
135126 return creationTimestamp ;
136127 }
137128
@@ -145,7 +136,7 @@ public DiskTypeId diskTypeId() {
145136 /**
146137 * Returns an unique identifier for the disk type; defined by the service.
147138 */
148- public BigInteger id () {
139+ public String id () {
149140 return id ;
150141 }
151142
@@ -163,13 +154,6 @@ public String validDiskSize() {
163154 return validDiskSize ;
164155 }
165156
166- /**
167- * Returns a service-defined URL for the disk type.
168- */
169- public String selfLink () {
170- return selfLink ;
171- }
172-
173157 /**
174158 * Returns the service-defined default disk size in GB.
175159 */
@@ -193,7 +177,6 @@ public String toString() {
193177 .add ("creationTimestamp" , creationTimestamp )
194178 .add ("description" , description )
195179 .add ("validDiskSize" , validDiskSize )
196- .add ("selfLink" , selfLink )
197180 .add ("defaultDiskSizeGb" , defaultDiskSizeGb )
198181 .add ("deprecationStatus" , deprecationStatus )
199182 .toString ();
@@ -212,13 +195,17 @@ public boolean equals(Object obj) {
212195 com .google .api .services .compute .model .DiskType toPb () {
213196 com .google .api .services .compute .model .DiskType diskTypePb =
214197 new com .google .api .services .compute .model .DiskType ();
215- diskTypePb .setId (id );
216- diskTypePb .setCreationTimestamp (creationTimestamp );
198+ if (id != null ) {
199+ diskTypePb .setId (new BigInteger (id ));
200+ }
201+ if (creationTimestamp != null ) {
202+ diskTypePb .setCreationTimestamp (new DateTime (creationTimestamp ).toStringRfc3339 ());
203+ }
217204 diskTypePb .setDescription (description );
218205 diskTypePb .setValidDiskSize (validDiskSize );
219- diskTypePb .setSelfLink (selfLink );
206+ diskTypePb .setSelfLink (diskTypeId . selfLink () );
220207 diskTypePb .setDefaultDiskSizeGb (defaultDiskSizeGb );
221- diskTypePb .setZone (diskTypeId .zoneId ().toUrl ());
208+ diskTypePb .setZone (diskTypeId .zoneId ().selfLink ());
222209 if (deprecationStatus != null ) {
223210 diskTypePb .setDeprecated (deprecationStatus .toPb ());
224211 }
@@ -231,12 +218,16 @@ static Builder builder() {
231218
232219 static DiskType fromPb (com .google .api .services .compute .model .DiskType diskTypePb ) {
233220 Builder builder = builder ();
234- builder .id (diskTypePb .getId ());
235- builder .creationTimestamp (diskTypePb .getCreationTimestamp ());
221+ if (diskTypePb .getId () != null ) {
222+ builder .id (diskTypePb .getId ().toString ());
223+ }
224+ if (diskTypePb .getCreationTimestamp () != null ) {
225+ builder .creationTimestamp (
226+ DateTime .parseRfc3339 (diskTypePb .getCreationTimestamp ()).getValue ());
227+ }
236228 builder .diskTypeId (DiskTypeId .fromUrl (diskTypePb .getSelfLink ()));
237229 builder .description (diskTypePb .getDescription ());
238230 builder .validDiskSize (diskTypePb .getValidDiskSize ());
239- builder .selfLink (diskTypePb .getSelfLink ());
240231 builder .defaultDiskSizeGb (diskTypePb .getDefaultDiskSizeGb ());
241232 if (diskTypePb .getDeprecated () != null ) {
242233 builder .deprecationStatus (
0 commit comments