Sometimes we learn that an API interprets a field's zero value differently than if the field is omitted entirely. We then change the field to a pointer, so we can use nil to represent "omitted".
We've just done that for three fields:
- BucketLifecycleRuleCondition.IsLive in the storage client changed from bool to *bool.
- CancelReason and PaymentState in the SubscriptionPurchase struct of the androidpublisher client. Both of these have changed from int64 to *int64.
We normally recommend the storage client at
cloud.google.com/go/storage over the one we've changed here--except that you can't use it for bucket lifecycle management yet. But that will change soon (CL pending).