@google-cloud/storage-control 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,20 @@
1
1
  # Changelog
2
2
 
3
+ ## [0.2.0](https://github.com/googleapis/google-cloud-node/compare/storage-control-v0.1.1...storage-control-v0.2.0) (2024-05-21)
4
+
5
+
6
+ ### Features
7
+
8
+ * [Many APIs] update Nodejs generator to send API versions in headers for GAPICs ([#5351](https://github.com/googleapis/google-cloud-node/issues/5351)) ([01f48fc](https://github.com/googleapis/google-cloud-node/commit/01f48fce63ec4ddf801d59ee2b8c0db9f6fb8372))
9
+ * [Many APIs] update Nodejs generator to send API versions in headers for GAPICs ([#5354](https://github.com/googleapis/google-cloud-node/issues/5354)) ([a9784ed](https://github.com/googleapis/google-cloud-node/commit/a9784ed3db6ee96d171762308bbbcd57390b6866))
10
+
11
+ ## [0.1.1](https://github.com/googleapis/google-cloud-node/compare/storage-control-v0.1.0...storage-control-v0.1.1) (2024-05-08)
12
+
13
+
14
+ ### Bug Fixes
15
+
16
+ * [storage] An existing resource pattern value `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder=**}` to resource definition `storage.googleapis.com/ManagedFolder` is removed ([#5311](https://github.com/googleapis/google-cloud-node/issues/5311)) ([e8dd1b7](https://github.com/googleapis/google-cloud-node/commit/e8dd1b7aa0e455acf2179787b498e6b6a934672b))
17
+
3
18
  ## 0.1.0 (2024-04-16)
4
19
 
5
20
 
package/README.md CHANGED
@@ -102,10 +102,14 @@ Samples are in the [`samples/`](https://github.com/googleapis/google-cloud-node/
102
102
  | Sample | Source Code | Try it |
103
103
  | --------------------------- | --------------------------------- | ------ |
104
104
  | Storage_control.create_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.create_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.create_folder.js,packages/google-storage-control/samples/README.md) |
105
+ | Storage_control.create_managed_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.create_managed_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.create_managed_folder.js,packages/google-storage-control/samples/README.md) |
105
106
  | Storage_control.delete_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.delete_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.delete_folder.js,packages/google-storage-control/samples/README.md) |
107
+ | Storage_control.delete_managed_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.delete_managed_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.delete_managed_folder.js,packages/google-storage-control/samples/README.md) |
106
108
  | Storage_control.get_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.get_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.get_folder.js,packages/google-storage-control/samples/README.md) |
109
+ | Storage_control.get_managed_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.get_managed_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.get_managed_folder.js,packages/google-storage-control/samples/README.md) |
107
110
  | Storage_control.get_storage_layout | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.get_storage_layout.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.get_storage_layout.js,packages/google-storage-control/samples/README.md) |
108
111
  | Storage_control.list_folders | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.list_folders.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.list_folders.js,packages/google-storage-control/samples/README.md) |
112
+ | Storage_control.list_managed_folders | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.list_managed_folders.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.list_managed_folders.js,packages/google-storage-control/samples/README.md) |
109
113
  | Storage_control.rename_folder | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/generated/v2/storage_control.rename_folder.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/generated/v2/storage_control.rename_folder.js,packages/google-storage-control/samples/README.md) |
110
114
  | Quickstart | [source code](https://github.com/googleapis/google-cloud-node/blob/main/packages/google-storage-control/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/google-cloud-node&page=editor&open_in_editor=packages/google-storage-control/samples/quickstart.js,packages/google-storage-control/samples/README.md) |
111
115
 
@@ -1,4 +1,4 @@
1
- // Copyright 2023 Google LLC
1
+ // Copyright 2024 Google LLC
2
2
  //
3
3
  // Licensed under the Apache License, Version 2.0 (the "License");
4
4
  // you may not use this file except in compliance with the License.
@@ -47,7 +47,9 @@ service StorageControl {
47
47
  "https://www.googleapis.com/auth/devstorage.read_only,"
48
48
  "https://www.googleapis.com/auth/devstorage.read_write";
49
49
 
50
- // Creates a new folder.
50
+ // Creates a new folder. This operation is only applicable to a hierarchical
51
+ // namespace enabled bucket.
52
+ // Hierarchical namespace buckets are in allowlist preview.
51
53
  rpc CreateFolder(CreateFolderRequest) returns (Folder) {
52
54
  option (google.api.routing) = {
53
55
  routing_parameters { field: "parent" path_template: "{bucket=**}" }
@@ -55,7 +57,9 @@ service StorageControl {
55
57
  option (google.api.method_signature) = "parent,folder,folder_id";
56
58
  }
57
59
 
58
- // Permanently deletes an empty folder.
60
+ // Permanently deletes an empty folder. This operation is only applicable to a
61
+ // hierarchical namespace enabled bucket.
62
+ // Hierarchical namespace buckets are in allowlist preview.
59
63
  rpc DeleteFolder(DeleteFolderRequest) returns (google.protobuf.Empty) {
60
64
  option (google.api.routing) = {
61
65
  routing_parameters {
@@ -66,7 +70,9 @@ service StorageControl {
66
70
  option (google.api.method_signature) = "name";
67
71
  }
68
72
 
69
- // Returns metadata for the specified folder.
73
+ // Returns metadata for the specified folder. This operation is only
74
+ // applicable to a hierarchical namespace enabled bucket.
75
+ // Hierarchical namespace buckets are in allowlist preview.
70
76
  rpc GetFolder(GetFolderRequest) returns (Folder) {
71
77
  option (google.api.routing) = {
72
78
  routing_parameters {
@@ -77,7 +83,9 @@ service StorageControl {
77
83
  option (google.api.method_signature) = "name";
78
84
  }
79
85
 
80
- // Retrieves a list of folders for a given bucket.
86
+ // Retrieves a list of folders. This operation is only applicable to a
87
+ // hierarchical namespace enabled bucket.
88
+ // Hierarchical namespace buckets are in allowlist preview.
81
89
  rpc ListFolders(ListFoldersRequest) returns (ListFoldersResponse) {
82
90
  option (google.api.routing) = {
83
91
  routing_parameters { field: "parent" path_template: "{bucket=**}" }
@@ -85,9 +93,11 @@ service StorageControl {
85
93
  option (google.api.method_signature) = "parent";
86
94
  }
87
95
 
88
- // Renames a source folder to a destination folder. During a rename, the
96
+ // Renames a source folder to a destination folder. This operation is only
97
+ // applicable to a hierarchical namespace enabled bucket. During a rename, the
89
98
  // source and destination folders are locked until the long running operation
90
99
  // completes.
100
+ // Hierarchical namespace buckets are in allowlist preview.
91
101
  rpc RenameFolder(RenameFolderRequest) returns (google.longrunning.Operation) {
92
102
  option (google.api.routing) = {
93
103
  routing_parameters {
@@ -112,6 +122,47 @@ service StorageControl {
112
122
  };
113
123
  option (google.api.method_signature) = "name";
114
124
  }
125
+
126
+ // Creates a new managed folder.
127
+ rpc CreateManagedFolder(CreateManagedFolderRequest) returns (ManagedFolder) {
128
+ option (google.api.routing) = {
129
+ routing_parameters { field: "parent" path_template: "{bucket=**}" }
130
+ };
131
+ option (google.api.method_signature) =
132
+ "parent,managed_folder,managed_folder_id";
133
+ }
134
+
135
+ // Permanently deletes an empty managed folder.
136
+ rpc DeleteManagedFolder(DeleteManagedFolderRequest)
137
+ returns (google.protobuf.Empty) {
138
+ option (google.api.routing) = {
139
+ routing_parameters {
140
+ field: "name"
141
+ path_template: "{bucket=projects/*/buckets/*}/**"
142
+ }
143
+ };
144
+ option (google.api.method_signature) = "name";
145
+ }
146
+
147
+ // Returns metadata for the specified managed folder.
148
+ rpc GetManagedFolder(GetManagedFolderRequest) returns (ManagedFolder) {
149
+ option (google.api.routing) = {
150
+ routing_parameters {
151
+ field: "name"
152
+ path_template: "{bucket=projects/*/buckets/*}/**"
153
+ }
154
+ };
155
+ option (google.api.method_signature) = "name";
156
+ }
157
+
158
+ // Retrieves a list of managed folders for a given bucket.
159
+ rpc ListManagedFolders(ListManagedFoldersRequest)
160
+ returns (ListManagedFoldersResponse) {
161
+ option (google.api.routing) = {
162
+ routing_parameters { field: "parent" path_template: "{bucket=**}" }
163
+ };
164
+ option (google.api.method_signature) = "parent";
165
+ }
115
166
  }
116
167
 
117
168
  // Contains information about a pending rename operation.
@@ -120,7 +171,9 @@ message PendingRenameInfo {
120
171
  string operation = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
121
172
  }
122
173
 
123
- // A folder.
174
+ // A folder resource. This resource can only exist in a hierarchical namespace
175
+ // enabled bucket.
176
+ // Hierarchical namespace buckets are in allowlist preview.
124
177
  message Folder {
125
178
  option (google.api.resource) = {
126
179
  type: "storage.googleapis.com/Folder"
@@ -154,7 +207,9 @@ message Folder {
154
207
  [(google.api.field_behavior) = OUTPUT_ONLY];
155
208
  }
156
209
 
157
- // Request message for GetFolder.
210
+ // Request message for GetFolder. This operation is only applicable to a
211
+ // hierarchical namespace enabled bucket.
212
+ // Hierarchical namespace buckets are in allowlist preview.
158
213
  message GetFolderRequest {
159
214
  // Required. Name of the folder.
160
215
  // Format: `projects/{project}/buckets/{bucket}/folders/{folder}`
@@ -179,9 +234,12 @@ message GetFolderRequest {
179
234
  ];
180
235
  }
181
236
 
182
- // Request message for CreateFolder.
237
+ // Request message for CreateFolder. This operation is only applicable to a
238
+ // hierarchical namespace enabled bucket.
239
+ // Hierarchical namespace buckets are in allowlist preview.
183
240
  message CreateFolderRequest {
184
- // Required. Name of the bucket in which the folder will reside.
241
+ // Required. Name of the bucket in which the folder will reside. The bucket
242
+ // must be a hierarchical namespace enabled bucket.
185
243
  string parent = 1 [
186
244
  (google.api.field_behavior) = REQUIRED,
187
245
  (google.api.resource_reference) = {
@@ -195,7 +253,11 @@ message CreateFolderRequest {
195
253
  // error.
196
254
  Folder folder = 2 [(google.api.field_behavior) = REQUIRED];
197
255
 
198
- // Required. The absolute path of the folder, using a single `/` as delimiter.
256
+ // Required. The full name of a folder, including all its parent folders.
257
+ // Folders use single '/' characters as a delimiter.
258
+ // The folder_id must end with a slash.
259
+ // For example, the folder_id of "books/biographies/" would create a new
260
+ // "biographies/" folder under the "books/" folder.
199
261
  string folder_id = 3 [(google.api.field_behavior) = REQUIRED];
200
262
 
201
263
  // Optional. If true, parent folder doesn't have to be present and all missing
@@ -203,15 +265,16 @@ message CreateFolderRequest {
203
265
  bool recursive = 4 [(google.api.field_behavior) = OPTIONAL];
204
266
 
205
267
  // Optional. A unique identifier for this request. UUID is the recommended
206
- // format, but other formats are still accepted. This request is only
207
- // idempotent if a `request_id` is provided.
268
+ // format, but other formats are still accepted.
208
269
  string request_id = 5 [
209
270
  (google.api.field_info).format = UUID4,
210
271
  (google.api.field_behavior) = OPTIONAL
211
272
  ];
212
273
  }
213
274
 
214
- // Request message for DeleteFolder.
275
+ // Request message for DeleteFolder. This operation is only applicable to a
276
+ // hierarchical namespace enabled bucket.
277
+ // Hierarchical namespace buckets are in allowlist preview.
215
278
  message DeleteFolderRequest {
216
279
  // Required. Name of the folder.
217
280
  // Format: `projects/{project}/buckets/{bucket}/folders/{folder}`
@@ -229,17 +292,19 @@ message DeleteFolderRequest {
229
292
  optional int64 if_metageneration_not_match = 4;
230
293
 
231
294
  // Optional. A unique identifier for this request. UUID is the recommended
232
- // format, but other formats are still accepted. This request is only
233
- // idempotent if a `request_id` is provided.
295
+ // format, but other formats are still accepted.
234
296
  string request_id = 5 [
235
297
  (google.api.field_info).format = UUID4,
236
298
  (google.api.field_behavior) = OPTIONAL
237
299
  ];
238
300
  }
239
301
 
240
- // Request message for ListFolders.
302
+ // Request message for ListFolders. This operation is only applicable to a
303
+ // hierarchical namespace enabled bucket.
304
+ // Hierarchical namespace buckets are in allowlist preview.
241
305
  message ListFoldersRequest {
242
- // Required. Name of the bucket in which to look for folders.
306
+ // Required. Name of the bucket in which to look for folders. The bucket must
307
+ // be a hierarchical namespace enabled bucket.
243
308
  string parent = 1 [
244
309
  (google.api.field_behavior) = REQUIRED,
245
310
  (google.api.resource_reference) = {
@@ -294,7 +359,9 @@ message ListFoldersResponse {
294
359
  string next_page_token = 2;
295
360
  }
296
361
 
297
- // Request message for RenameFolder.
362
+ // Request message for RenameFolder. This operation is only applicable to a
363
+ // hierarchical namespace enabled bucket.
364
+ // Hierarchical namespace buckets are in allowlist preview.
298
365
  message RenameFolderRequest {
299
366
  // Required. Name of the source folder being renamed.
300
367
  // Format: `projects/{project}/buckets/{bucket}/folders/{folder}`
@@ -428,3 +495,161 @@ message GetStorageLayoutRequest {
428
495
  (google.api.field_behavior) = OPTIONAL
429
496
  ];
430
497
  }
498
+
499
+ // A managed folder.
500
+ message ManagedFolder {
501
+ option (google.api.resource) = {
502
+ type: "storage.googleapis.com/ManagedFolder"
503
+ pattern: "projects/{project}/buckets/{bucket}/managedFolders/{managed_folder=**}"
504
+ plural: "managedFolders"
505
+ singular: "managedFolder"
506
+ };
507
+
508
+ // Identifier. The name of this managed folder.
509
+ // Format:
510
+ // `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
511
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
512
+
513
+ // Output only. The metadata version of this managed folder. It increases
514
+ // whenever the metadata is updated. Used for preconditions and for detecting
515
+ // changes in metadata. Managed folders don't have a generation number.
516
+ int64 metageneration = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
517
+
518
+ // Output only. The creation time of the managed folder.
519
+ google.protobuf.Timestamp create_time = 4
520
+ [(google.api.field_behavior) = OUTPUT_ONLY];
521
+
522
+ // Output only. The modification time of the managed folder.
523
+ google.protobuf.Timestamp update_time = 5
524
+ [(google.api.field_behavior) = OUTPUT_ONLY];
525
+ }
526
+
527
+ // Request message for GetManagedFolder.
528
+ message GetManagedFolderRequest {
529
+ // Required. Name of the managed folder.
530
+ // Format:
531
+ // `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
532
+ string name = 6 [
533
+ (google.api.field_behavior) = REQUIRED,
534
+ (google.api.resource_reference) = {
535
+ type: "storage.googleapis.com/ManagedFolder"
536
+ }
537
+ ];
538
+
539
+ // The operation succeeds conditional on the managed folder's current
540
+ // metageneration matching the value here specified.
541
+ optional int64 if_metageneration_match = 3;
542
+
543
+ // The operation succeeds conditional on the managed folder's current
544
+ // metageneration NOT matching the value here specified.
545
+ optional int64 if_metageneration_not_match = 4;
546
+
547
+ // Optional. A unique identifier for this request. UUID is the recommended
548
+ // format, but other formats are still accepted.
549
+ string request_id = 5 [
550
+ (google.api.field_info).format = UUID4,
551
+ (google.api.field_behavior) = OPTIONAL
552
+ ];
553
+ }
554
+
555
+ // Request message for CreateManagedFolder.
556
+ message CreateManagedFolderRequest {
557
+ // Required. Name of the bucket this managed folder belongs to.
558
+ string parent = 1 [
559
+ (google.api.field_behavior) = REQUIRED,
560
+ (google.api.resource_reference) = {
561
+ child_type: "storage.googleapis.com/ManagedFolder"
562
+ }
563
+ ];
564
+
565
+ // Required. Properties of the managed folder being created.
566
+ // The bucket and managed folder names are specified in the `parent` and
567
+ // `managed_folder_id` fields. Populating these fields in `managed_folder`
568
+ // will result in an error.
569
+ ManagedFolder managed_folder = 2 [(google.api.field_behavior) = REQUIRED];
570
+
571
+ // Required. The name of the managed folder. It uses a single `/` as delimiter
572
+ // and leading and trailing `/` are allowed.
573
+ string managed_folder_id = 3 [(google.api.field_behavior) = REQUIRED];
574
+
575
+ // Optional. A unique identifier for this request. UUID is the recommended
576
+ // format, but other formats are still accepted.
577
+ string request_id = 4 [
578
+ (google.api.field_info).format = UUID4,
579
+ (google.api.field_behavior) = OPTIONAL
580
+ ];
581
+ }
582
+
583
+ // DeleteManagedFolder RPC request message.
584
+ message DeleteManagedFolderRequest {
585
+ // Required. Name of the managed folder.
586
+ // Format:
587
+ // `projects/{project}/buckets/{bucket}/managedFolders/{managedFolder}`
588
+ string name = 7 [
589
+ (google.api.field_behavior) = REQUIRED,
590
+ (google.api.resource_reference) = {
591
+ type: "storage.googleapis.com/ManagedFolder"
592
+ }
593
+ ];
594
+
595
+ // The operation succeeds conditional on the managed folder's current
596
+ // metageneration matching the value here specified.
597
+ optional int64 if_metageneration_match = 3;
598
+
599
+ // The operation succeeds conditional on the managed folder's current
600
+ // metageneration NOT matching the value here specified.
601
+ optional int64 if_metageneration_not_match = 4;
602
+
603
+ // Allows deletion of a managed folder even if it is not empty.
604
+ // A managed folder is empty if it manages no child managed folders or
605
+ // objects. Caller must have permission for
606
+ // storage.managedFolders.setIamPolicy.
607
+ bool allow_non_empty = 5;
608
+
609
+ // Optional. A unique identifier for this request. UUID is the recommended
610
+ // format, but other formats are still accepted.
611
+ string request_id = 6 [
612
+ (google.api.field_info).format = UUID4,
613
+ (google.api.field_behavior) = OPTIONAL
614
+ ];
615
+ }
616
+
617
+ // Request message for ListManagedFolders.
618
+ message ListManagedFoldersRequest {
619
+ // Required. Name of the bucket this managed folder belongs to.
620
+ string parent = 1 [
621
+ (google.api.field_behavior) = REQUIRED,
622
+ (google.api.resource_reference) = {
623
+ child_type: "storage.googleapis.com/ManagedFolder"
624
+ }
625
+ ];
626
+
627
+ // Optional. Maximum number of managed folders to return in a single response.
628
+ // The service will use this parameter or 1,000 items, whichever is smaller.
629
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
630
+
631
+ // Optional. A previously-returned page token representing part of the larger
632
+ // set of results to view.
633
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
634
+
635
+ // Optional. Filter results to match managed folders with name starting with
636
+ // this prefix.
637
+ string prefix = 4 [(google.api.field_behavior) = OPTIONAL];
638
+
639
+ // Optional. A unique identifier for this request. UUID is the recommended
640
+ // format, but other formats are still accepted.
641
+ string request_id = 5 [
642
+ (google.api.field_info).format = UUID4,
643
+ (google.api.field_behavior) = OPTIONAL
644
+ ];
645
+ }
646
+
647
+ // Response message for ListManagedFolders.
648
+ message ListManagedFoldersResponse {
649
+ // The list of matching managed folders
650
+ repeated ManagedFolder managed_folders = 1;
651
+
652
+ // The continuation token, used to page through large result sets. Provide
653
+ // this value in a subsequent request to return the next page of results.
654
+ string next_page_token = 2;
655
+ }