Skip to content

Commit e7d0286

Browse files
mhsdefclaude
andauthored
Prefix descriptions with "Google"; deterministic optional-param ordering (#4)
- Titles are "Google"-prefixed (deduped) so each client's Hex description and README include "Google" for search discoverability — Google's discovery titles omit it (e.g. "Cloud Storage JSON API" -> "Google Cloud Storage JSON API"). - Optional endpoint params are sorted by name instead of riding Elixir's map iteration order (which shifts across spec sizes/updates), so mix googly.generate is byte-deterministic. Verified: two consecutive regenerations are identical. Global params still lead as a group, then each method's own params, both sorted. - Regenerated all three clients accordingly. Co-authored-by: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
1 parent 5609e39 commit e7d0286

15 files changed

Lines changed: 218 additions & 210 deletions

File tree

clients/googly_cloud_storage/README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
# googly_cloud_storage
22

3-
Cloud Storage JSON API client library. Stores and retrieves potentially large, immutable data objects.
3+
Google Cloud Storage JSON API client library. Stores and retrieves potentially large, immutable data objects.
44

5-
A modern, self-contained Elixir client for the Cloud Storage JSON API, generated by
5+
A modern, self-contained Elixir client for the Google Cloud Storage JSON API, generated by
66
[googly](https://github.com/). Built on [Req](https://hex.pm/packages/req) and
77
[Jason](https://hex.pm/packages/jason).
88

clients/googly_cloud_storage/lib/googly/cloud_storage/buckets.ex

Lines changed: 33 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,9 @@ defmodule Googly.CloudStorage.Buckets do
2222
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
2323
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
2424
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
25-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
2625
* `if_metageneration_match` (*type:* `String.t()`) - If set, only deletes the bucket if its metageneration matches this value.
2726
* `if_metageneration_not_match` (*type:* `String.t()`) - If set, only deletes the bucket if its metageneration does not match this value.
27+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
2828
2929
## Returns
3030
@@ -47,9 +47,9 @@ defmodule Googly.CloudStorage.Buckets do
4747
quota_user: {:query, "quotaUser"},
4848
upload_type: {:query, "uploadType"},
4949
user_ip: {:query, "userIp"},
50-
user_project: {:query, "userProject"},
5150
if_metageneration_match: {:query, "ifMetagenerationMatch"},
52-
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"}
51+
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"},
52+
user_project: {:query, "userProject"}
5353
},
5454
decode: nil,
5555
opts: opts
@@ -71,12 +71,12 @@ defmodule Googly.CloudStorage.Buckets do
7171
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
7272
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
7373
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
74-
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to noAcl.
7574
* `generation` (*type:* `String.t()`) - If present, specifies the generation of the bucket. This is required if softDeleted is true.
76-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
7775
* `if_metageneration_match` (*type:* `String.t()`) - Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
7876
* `if_metageneration_not_match` (*type:* `String.t()`) - Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
77+
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to noAcl.
7978
* `soft_deleted` (*type:* `boolean()`) - If true, return the soft-deleted version of this bucket. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).
79+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
8080
8181
## Returns
8282
@@ -100,12 +100,12 @@ defmodule Googly.CloudStorage.Buckets do
100100
quota_user: {:query, "quotaUser"},
101101
upload_type: {:query, "uploadType"},
102102
user_ip: {:query, "userIp"},
103-
projection: {:query, "projection"},
104103
generation: {:query, "generation"},
105-
user_project: {:query, "userProject"},
106104
if_metageneration_match: {:query, "ifMetagenerationMatch"},
107105
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"},
108-
soft_deleted: {:query, "softDeleted"}
106+
projection: {:query, "projection"},
107+
soft_deleted: {:query, "softDeleted"},
108+
user_project: {:query, "userProject"}
109109
},
110110
decode: Googly.CloudStorage.Model.Bucket,
111111
opts: opts
@@ -127,8 +127,8 @@ defmodule Googly.CloudStorage.Buckets do
127127
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
128128
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
129129
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
130-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
131130
* `options_requested_policy_version` (*type:* `integer()`) - The IAM policy format version to be returned. If the optionsRequestedPolicyVersion is for an older version that doesn't support part of the requested IAM policy, the request fails.
131+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
132132
133133
## Returns
134134
@@ -152,8 +152,8 @@ defmodule Googly.CloudStorage.Buckets do
152152
quota_user: {:query, "quotaUser"},
153153
upload_type: {:query, "uploadType"},
154154
user_ip: {:query, "userIp"},
155-
user_project: {:query, "userProject"},
156-
options_requested_policy_version: {:query, "optionsRequestedPolicyVersion"}
155+
options_requested_policy_version: {:query, "optionsRequestedPolicyVersion"},
156+
user_project: {:query, "userProject"}
157157
},
158158
decode: Googly.CloudStorage.Model.Policy,
159159
opts: opts
@@ -221,11 +221,11 @@ defmodule Googly.CloudStorage.Buckets do
221221
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
222222
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
223223
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
224-
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
225-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request.
224+
* `enable_object_retention` (*type:* `boolean()`) - When set to true, object retention is enabled for this bucket.
226225
* `predefined_acl` (*type:* `String.t()`) - Apply a predefined set of access controls to this bucket.
227226
* `predefined_default_object_acl` (*type:* `String.t()`) - Apply a predefined set of default object access controls to this bucket.
228-
* `enable_object_retention` (*type:* `boolean()`) - When set to true, object retention is enabled for this bucket.
227+
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to noAcl, unless the bucket resource specifies acl or defaultObjectAcl properties, when it defaults to full.
228+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request.
229229
* `body` (*type:* `Googly.CloudStorage.Model.Bucket.t()`) -
230230
231231
## Returns
@@ -250,11 +250,11 @@ defmodule Googly.CloudStorage.Buckets do
250250
quota_user: {:query, "quotaUser"},
251251
upload_type: {:query, "uploadType"},
252252
user_ip: {:query, "userIp"},
253-
projection: {:query, "projection"},
254-
user_project: {:query, "userProject"},
253+
enable_object_retention: {:query, "enableObjectRetention"},
255254
predefined_acl: {:query, "predefinedAcl"},
256255
predefined_default_object_acl: {:query, "predefinedDefaultObjectAcl"},
257-
enable_object_retention: {:query, "enableObjectRetention"},
256+
projection: {:query, "projection"},
257+
user_project: {:query, "userProject"},
258258
body: {:body, nil}
259259
},
260260
decode: Googly.CloudStorage.Model.Bucket,
@@ -277,13 +277,13 @@ defmodule Googly.CloudStorage.Buckets do
277277
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
278278
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
279279
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
280+
* `max_results` (*type:* `integer()`) - Maximum number of buckets to return in a single response. The service will use this parameter or 1,000 items, whichever is smaller.
281+
* `page_token` (*type:* `String.t()`) - A previously-returned page token representing part of the larger set of results to view.
280282
* `prefix` (*type:* `String.t()`) - Filter results to buckets whose names begin with this prefix.
281283
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to noAcl.
282-
* `page_token` (*type:* `String.t()`) - A previously-returned page token representing part of the larger set of results to view.
283-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request.
284-
* `soft_deleted` (*type:* `boolean()`) - If true, only soft-deleted bucket versions will be returned. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).
285-
* `max_results` (*type:* `integer()`) - Maximum number of buckets to return in a single response. The service will use this parameter or 1,000 items, whichever is smaller.
286284
* `return_partial_success` (*type:* `boolean()`) - If true, return a list of bucket resource names for buckets that are in unreachable locations.
285+
* `soft_deleted` (*type:* `boolean()`) - If true, only soft-deleted bucket versions will be returned. The default is false. For more information, see [Soft Delete](https://cloud.google.com/storage/docs/soft-delete).
286+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request.
287287
288288
## Returns
289289
@@ -307,13 +307,13 @@ defmodule Googly.CloudStorage.Buckets do
307307
quota_user: {:query, "quotaUser"},
308308
upload_type: {:query, "uploadType"},
309309
user_ip: {:query, "userIp"},
310+
max_results: {:query, "maxResults"},
311+
page_token: {:query, "pageToken"},
310312
prefix: {:query, "prefix"},
311313
projection: {:query, "projection"},
312-
page_token: {:query, "pageToken"},
313-
user_project: {:query, "userProject"},
314+
return_partial_success: {:query, "returnPartialSuccess"},
314315
soft_deleted: {:query, "softDeleted"},
315-
max_results: {:query, "maxResults"},
316-
return_partial_success: {:query, "returnPartialSuccess"}
316+
user_project: {:query, "userProject"}
317317
},
318318
decode: Googly.CloudStorage.Model.Buckets,
319319
opts: opts
@@ -382,12 +382,12 @@ defmodule Googly.CloudStorage.Buckets do
382382
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
383383
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
384384
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
385-
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to full.
386-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
387385
* `if_metageneration_match` (*type:* `String.t()`) - Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
388386
* `if_metageneration_not_match` (*type:* `String.t()`) - Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
389387
* `predefined_acl` (*type:* `String.t()`) - Apply a predefined set of access controls to this bucket.
390388
* `predefined_default_object_acl` (*type:* `String.t()`) - Apply a predefined set of default object access controls to this bucket.
389+
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to full.
390+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
391391
* `body` (*type:* `Googly.CloudStorage.Model.Bucket.t()`) -
392392
393393
## Returns
@@ -412,12 +412,12 @@ defmodule Googly.CloudStorage.Buckets do
412412
quota_user: {:query, "quotaUser"},
413413
upload_type: {:query, "uploadType"},
414414
user_ip: {:query, "userIp"},
415-
projection: {:query, "projection"},
416-
user_project: {:query, "userProject"},
417415
if_metageneration_match: {:query, "ifMetagenerationMatch"},
418416
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"},
419417
predefined_acl: {:query, "predefinedAcl"},
420418
predefined_default_object_acl: {:query, "predefinedDefaultObjectAcl"},
419+
projection: {:query, "projection"},
420+
user_project: {:query, "userProject"},
421421
body: {:body, nil}
422422
},
423423
decode: Googly.CloudStorage.Model.Bucket,
@@ -630,12 +630,12 @@ defmodule Googly.CloudStorage.Buckets do
630630
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
631631
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
632632
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
633-
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to full.
634-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
635633
* `if_metageneration_match` (*type:* `String.t()`) - Makes the return of the bucket metadata conditional on whether the bucket's current metageneration matches the given value.
636634
* `if_metageneration_not_match` (*type:* `String.t()`) - Makes the return of the bucket metadata conditional on whether the bucket's current metageneration does not match the given value.
637635
* `predefined_acl` (*type:* `String.t()`) - Apply a predefined set of access controls to this bucket.
638636
* `predefined_default_object_acl` (*type:* `String.t()`) - Apply a predefined set of default object access controls to this bucket.
637+
* `projection` (*type:* `String.t()`) - Set of properties to return. Defaults to full.
638+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
639639
* `body` (*type:* `Googly.CloudStorage.Model.Bucket.t()`) -
640640
641641
## Returns
@@ -660,12 +660,12 @@ defmodule Googly.CloudStorage.Buckets do
660660
quota_user: {:query, "quotaUser"},
661661
upload_type: {:query, "uploadType"},
662662
user_ip: {:query, "userIp"},
663-
projection: {:query, "projection"},
664-
user_project: {:query, "userProject"},
665663
if_metageneration_match: {:query, "ifMetagenerationMatch"},
666664
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"},
667665
predefined_acl: {:query, "predefinedAcl"},
668666
predefined_default_object_acl: {:query, "predefinedDefaultObjectAcl"},
667+
projection: {:query, "projection"},
668+
user_project: {:query, "userProject"},
669669
body: {:body, nil}
670670
},
671671
decode: Googly.CloudStorage.Model.Bucket,

clients/googly_cloud_storage/lib/googly/cloud_storage/default_object_access_controls.ex

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -169,9 +169,9 @@ defmodule Googly.CloudStorage.DefaultObjectAccessControls do
169169
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
170170
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
171171
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
172-
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
173172
* `if_metageneration_match` (*type:* `String.t()`) - If present, only return default ACL listing if the bucket's current metageneration matches this value.
174173
* `if_metageneration_not_match` (*type:* `String.t()`) - If present, only return default ACL listing if the bucket's current metageneration does not match the given value.
174+
* `user_project` (*type:* `String.t()`) - The project to be billed for this request. Required for Requester Pays buckets.
175175
176176
## Returns
177177
@@ -195,9 +195,9 @@ defmodule Googly.CloudStorage.DefaultObjectAccessControls do
195195
quota_user: {:query, "quotaUser"},
196196
upload_type: {:query, "uploadType"},
197197
user_ip: {:query, "userIp"},
198-
user_project: {:query, "userProject"},
199198
if_metageneration_match: {:query, "ifMetagenerationMatch"},
200-
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"}
199+
if_metageneration_not_match: {:query, "ifMetagenerationNotMatch"},
200+
user_project: {:query, "userProject"}
201201
},
202202
decode: Googly.CloudStorage.Model.ObjectAccessControls,
203203
opts: opts

clients/googly_cloud_storage/lib/googly/cloud_storage/folders.ex

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -225,11 +225,11 @@ defmodule Googly.CloudStorage.Folders do
225225
* `quota_user` (*type:* `String.t()`) - An opaque string that represents a user for quota purposes. Must not exceed 40 characters.
226226
* `upload_type` (*type:* `String.t()`) - Upload protocol for media (e.g. "media", "multipart", "resumable").
227227
* `user_ip` (*type:* `String.t()`) - Deprecated. Please use quotaUser instead.
228-
* `prefix` (*type:* `String.t()`) - Filter results to folders whose paths begin with this prefix. If set, the value must either be an empty string or end with a '/'.
229228
* `delimiter` (*type:* `String.t()`) - Returns results in a directory-like mode. The only supported value is '/'. If set, items will only contain folders that either exactly match the prefix, or are one level below the prefix.
229+
* `end_offset` (*type:* `String.t()`) - Filter results to folders whose names are lexicographically before endOffset. If startOffset is also set, the folders listed will have names between startOffset (inclusive) and endOffset (exclusive).
230230
* `page_size` (*type:* `integer()`) - Maximum number of items to return in a single page of responses.
231231
* `page_token` (*type:* `String.t()`) - A previously-returned page token representing part of the larger set of results to view.
232-
* `end_offset` (*type:* `String.t()`) - Filter results to folders whose names are lexicographically before endOffset. If startOffset is also set, the folders listed will have names between startOffset (inclusive) and endOffset (exclusive).
232+
* `prefix` (*type:* `String.t()`) - Filter results to folders whose paths begin with this prefix. If set, the value must either be an empty string or end with a '/'.
233233
* `start_offset` (*type:* `String.t()`) - Filter results to folders whose names are lexicographically equal to or after startOffset. If endOffset is also set, the folders listed will have names between startOffset (inclusive) and endOffset (exclusive).
234234
235235
## Returns
@@ -254,11 +254,11 @@ defmodule Googly.CloudStorage.Folders do
254254
quota_user: {:query, "quotaUser"},
255255
upload_type: {:query, "uploadType"},
256256
user_ip: {:query, "userIp"},
257-
prefix: {:query, "prefix"},
258257
delimiter: {:query, "delimiter"},
258+
end_offset: {:query, "endOffset"},
259259
page_size: {:query, "pageSize"},
260260
page_token: {:query, "pageToken"},
261-
end_offset: {:query, "endOffset"},
261+
prefix: {:query, "prefix"},
262262
start_offset: {:query, "startOffset"}
263263
},
264264
decode: Googly.CloudStorage.Model.Folders,

0 commit comments

Comments
 (0)