@google-cloud/storage-control 0.4.0 → 0.5.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.
@@ -16,13 +16,16 @@ syntax = "proto3";
16
16
 
17
17
  package google.storage.control.v2;
18
18
 
19
+ import "google/api/annotations.proto";
19
20
  import "google/api/client.proto";
20
21
  import "google/api/field_behavior.proto";
21
22
  import "google/api/field_info.proto";
22
23
  import "google/api/resource.proto";
23
24
  import "google/api/routing.proto";
24
25
  import "google/longrunning/operations.proto";
26
+ import "google/protobuf/duration.proto";
25
27
  import "google/protobuf/empty.proto";
28
+ import "google/protobuf/field_mask.proto";
26
29
  import "google/protobuf/timestamp.proto";
27
30
 
28
31
  option csharp_namespace = "Google.Cloud.Storage.Control.V2";
@@ -158,6 +161,151 @@ service StorageControl {
158
161
  };
159
162
  option (google.api.method_signature) = "parent";
160
163
  }
164
+
165
+ // Creates an Anywhere Cache instance.
166
+ rpc CreateAnywhereCache(CreateAnywhereCacheRequest)
167
+ returns (google.longrunning.Operation) {
168
+ option (google.api.routing) = {
169
+ routing_parameters { field: "parent" path_template: "{bucket=**}" }
170
+ };
171
+ option (google.api.method_signature) = "parent,anywhere_cache";
172
+ option (google.longrunning.operation_info) = {
173
+ response_type: "AnywhereCache"
174
+ metadata_type: "CreateAnywhereCacheMetadata"
175
+ };
176
+ }
177
+
178
+ // Updates an Anywhere Cache instance. Mutable fields include `ttl` and
179
+ // `admission_policy`.
180
+ rpc UpdateAnywhereCache(UpdateAnywhereCacheRequest)
181
+ returns (google.longrunning.Operation) {
182
+ option (google.api.routing) = {
183
+ routing_parameters {
184
+ field: "anywhere_cache.name"
185
+ path_template: "{bucket=projects/*/buckets/*}/**"
186
+ }
187
+ };
188
+ option (google.api.method_signature) = "anywhere_cache,update_mask";
189
+ option (google.longrunning.operation_info) = {
190
+ response_type: "AnywhereCache"
191
+ metadata_type: "UpdateAnywhereCacheMetadata"
192
+ };
193
+ }
194
+
195
+ // Disables an Anywhere Cache instance. A disabled instance is read-only. The
196
+ // disablement could be revoked by calling ResumeAnywhereCache. The cache
197
+ // instance will be deleted automatically if it remains in the disabled state
198
+ // for at least one hour.
199
+ rpc DisableAnywhereCache(DisableAnywhereCacheRequest)
200
+ returns (AnywhereCache) {
201
+ option (google.api.routing) = {
202
+ routing_parameters {
203
+ field: "name"
204
+ path_template: "{bucket=projects/*/buckets/*}/**"
205
+ }
206
+ };
207
+ option (google.api.method_signature) = "name";
208
+ }
209
+
210
+ // Pauses an Anywhere Cache instance.
211
+ rpc PauseAnywhereCache(PauseAnywhereCacheRequest) returns (AnywhereCache) {
212
+ option (google.api.routing) = {
213
+ routing_parameters {
214
+ field: "name"
215
+ path_template: "{bucket=projects/*/buckets/*}/**"
216
+ }
217
+ };
218
+ option (google.api.method_signature) = "name";
219
+ }
220
+
221
+ // Resumes a disabled or paused Anywhere Cache instance.
222
+ rpc ResumeAnywhereCache(ResumeAnywhereCacheRequest) returns (AnywhereCache) {
223
+ option (google.api.routing) = {
224
+ routing_parameters {
225
+ field: "name"
226
+ path_template: "{bucket=projects/*/buckets/*}/**"
227
+ }
228
+ };
229
+ option (google.api.method_signature) = "name";
230
+ }
231
+
232
+ // Gets an Anywhere Cache instance.
233
+ rpc GetAnywhereCache(GetAnywhereCacheRequest) returns (AnywhereCache) {
234
+ option (google.api.routing) = {
235
+ routing_parameters {
236
+ field: "name"
237
+ path_template: "{bucket=projects/*/buckets/*}/**"
238
+ }
239
+ };
240
+ option (google.api.method_signature) = "name";
241
+ }
242
+
243
+ // Lists Anywhere Cache instances for a given bucket.
244
+ rpc ListAnywhereCaches(ListAnywhereCachesRequest)
245
+ returns (ListAnywhereCachesResponse) {
246
+ option (google.api.routing) = {
247
+ routing_parameters { field: "parent" path_template: "{bucket=**}" }
248
+ };
249
+ option (google.api.method_signature) = "parent";
250
+ }
251
+
252
+ // Returns the Project scoped singleton IntelligenceConfig resource.
253
+ rpc GetProjectIntelligenceConfig(GetProjectIntelligenceConfigRequest)
254
+ returns (IntelligenceConfig) {
255
+ option (google.api.http) = {
256
+ get: "/v2/{name=projects/*/locations/*/intelligenceConfig}"
257
+ };
258
+ option (google.api.method_signature) = "name";
259
+ }
260
+
261
+ // Updates the Project scoped singleton IntelligenceConfig resource.
262
+ rpc UpdateProjectIntelligenceConfig(UpdateProjectIntelligenceConfigRequest)
263
+ returns (IntelligenceConfig) {
264
+ option (google.api.http) = {
265
+ patch: "/v2/{intelligence_config.name=projects/*/locations/*/intelligenceConfig}"
266
+ body: "intelligence_config"
267
+ };
268
+ option (google.api.method_signature) = "intelligence_config,update_mask";
269
+ }
270
+
271
+ // Returns the Folder scoped singleton IntelligenceConfig resource.
272
+ rpc GetFolderIntelligenceConfig(GetFolderIntelligenceConfigRequest)
273
+ returns (IntelligenceConfig) {
274
+ option (google.api.http) = {
275
+ get: "/v2/{name=folders/*/locations/*/intelligenceConfig}"
276
+ };
277
+ option (google.api.method_signature) = "name";
278
+ }
279
+
280
+ // Updates the Folder scoped singleton IntelligenceConfig resource.
281
+ rpc UpdateFolderIntelligenceConfig(UpdateFolderIntelligenceConfigRequest)
282
+ returns (IntelligenceConfig) {
283
+ option (google.api.http) = {
284
+ patch: "/v2/{intelligence_config.name=folders/*/locations/*/intelligenceConfig}"
285
+ body: "intelligence_config"
286
+ };
287
+ option (google.api.method_signature) = "intelligence_config,update_mask";
288
+ }
289
+
290
+ // Returns the Organization scoped singleton IntelligenceConfig resource.
291
+ rpc GetOrganizationIntelligenceConfig(
292
+ GetOrganizationIntelligenceConfigRequest) returns (IntelligenceConfig) {
293
+ option (google.api.http) = {
294
+ get: "/v2/{name=organizations/*/locations/*/intelligenceConfig}"
295
+ };
296
+ option (google.api.method_signature) = "name";
297
+ }
298
+
299
+ // Updates the Organization scoped singleton IntelligenceConfig resource.
300
+ rpc UpdateOrganizationIntelligenceConfig(
301
+ UpdateOrganizationIntelligenceConfigRequest)
302
+ returns (IntelligenceConfig) {
303
+ option (google.api.http) = {
304
+ patch: "/v2/{intelligence_config.name=organizations/*/locations/*/intelligenceConfig}"
305
+ body: "intelligence_config"
306
+ };
307
+ option (google.api.method_signature) = "intelligence_config,update_mask";
308
+ }
161
309
  }
162
310
 
163
311
  // Contains information about a pending rename operation.
@@ -424,11 +572,13 @@ message StorageLayout {
424
572
  option (google.api.resource) = {
425
573
  type: "storage.googleapis.com/StorageLayout"
426
574
  pattern: "projects/{project}/buckets/{bucket}/storageLayout"
575
+ plural: "storageLayouts"
576
+ singular: "storageLayout"
427
577
  };
428
578
 
429
579
  // Configuration for Custom Dual Regions. It should specify precisely two
430
580
  // eligible regions within the same Multiregion. More information on regions
431
- // may be found [https://cloud.google.com/storage/docs/locations][here].
581
+ // may be found [here](https://cloud.google.com/storage/docs/locations).
432
582
  message CustomPlacementConfig {
433
583
  // List of locations to use for data placement.
434
584
  repeated string data_locations = 1;
@@ -642,3 +792,559 @@ message ListManagedFoldersResponse {
642
792
  // this value in a subsequent request to return the next page of results.
643
793
  string next_page_token = 2;
644
794
  }
795
+
796
+ // Message returned in the metadata field of the Operation resource for
797
+ // CreateAnywhereCache operations.
798
+ message CreateAnywhereCacheMetadata {
799
+ // Generic metadata for the long running operation.
800
+ CommonLongRunningOperationMetadata common_metadata = 1;
801
+
802
+ // Anywhere Cache ID.
803
+ optional string anywhere_cache_id = 2;
804
+
805
+ // The zone in which the cache instance is running. For example,
806
+ // us-central1-a.
807
+ optional string zone = 6;
808
+
809
+ // Anywhere Cache entry's TTL. A cache-level config that is applied to all new
810
+ // cache entries on admission. Default ttl value (24hrs) is applied if not
811
+ // specified in the create request.
812
+ optional google.protobuf.Duration ttl = 3;
813
+
814
+ // Anywhere Cache entry Admission Policy in kebab-case (e.g.,
815
+ // "admit-on-first-miss"). Default admission policy (admit-on-first-miss) is
816
+ // applied if not specified in the create request.
817
+ optional string admission_policy = 5;
818
+ }
819
+
820
+ // Message returned in the metadata field of the Operation resource for
821
+ // UpdateAnywhereCache operation.
822
+ message UpdateAnywhereCacheMetadata {
823
+ // Generic metadata for the long running operation.
824
+ CommonLongRunningOperationMetadata common_metadata = 1;
825
+
826
+ // Anywhere Cache ID.
827
+ optional string anywhere_cache_id = 2;
828
+
829
+ // The zone in which the cache instance is running. For example,
830
+ // us-central1-a.
831
+ optional string zone = 5;
832
+
833
+ // Anywhere Cache entry's TTL between 1h and 7days. A cache-level config that
834
+ // is applied to all new cache entries on admission. If `ttl` is pending
835
+ // update, this field equals to the new value specified in the Update request.
836
+ optional google.protobuf.Duration ttl = 3;
837
+
838
+ // L4 Cache entry Admission Policy in kebab-case (e.g.,
839
+ // "admit-on-first-miss"). If `admission_policy` is pending
840
+ // update, this field equals to the new value specified in the Update request.
841
+ optional string admission_policy = 4;
842
+ }
843
+
844
+ // An Anywhere Cache Instance.
845
+ message AnywhereCache {
846
+ option (google.api.resource) = {
847
+ type: "storage.googleapis.com/AnywhereCache"
848
+ pattern: "projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}"
849
+ plural: "anywhereCaches"
850
+ singular: "anywhereCache"
851
+ };
852
+
853
+ // Immutable. The resource name of this AnywhereCache.
854
+ // Format:
855
+ // `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
856
+ string name = 1 [(google.api.field_behavior) = IMMUTABLE];
857
+
858
+ // Immutable. The zone in which the cache instance is running. For example,
859
+ // us-central1-a.
860
+ string zone = 10 [(google.api.field_behavior) = IMMUTABLE];
861
+
862
+ // Cache entry TTL (ranges between 1h to 7d). This is a cache-level config
863
+ // that defines how long a cache entry can live. Default ttl value (24hrs)
864
+ // is applied if not specified in the create request. TTL must be in whole
865
+ // seconds.
866
+ google.protobuf.Duration ttl = 3;
867
+
868
+ // Cache admission policy. Valid policies includes:
869
+ // `admit-on-first-miss` and `admit-on-second-miss`. Defaults to
870
+ // `admit-on-first-miss`. Default value is applied if not specified in the
871
+ // create request.
872
+ string admission_policy = 9;
873
+
874
+ // Output only. Cache state including RUNNING, CREATING, DISABLED and PAUSED.
875
+ string state = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
876
+
877
+ // Output only. Time when Anywhere cache instance is allocated.
878
+ google.protobuf.Timestamp create_time = 6
879
+ [(google.api.field_behavior) = OUTPUT_ONLY];
880
+
881
+ // Output only. Time when Anywhere cache instance is last updated, including
882
+ // creation.
883
+ google.protobuf.Timestamp update_time = 7
884
+ [(google.api.field_behavior) = OUTPUT_ONLY];
885
+
886
+ // Output only. True if there is an active update operation against this cache
887
+ // instance. Subsequential update requests will be rejected if this field is
888
+ // true. Output only.
889
+ bool pending_update = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
890
+ }
891
+
892
+ // Request message for CreateAnywhereCache.
893
+ message CreateAnywhereCacheRequest {
894
+ // Required. The bucket to which this cache belongs.
895
+ // Format: `projects/{project}/buckets/{bucket}`
896
+ string parent = 1 [
897
+ (google.api.field_behavior) = REQUIRED,
898
+ (google.api.resource_reference) = {
899
+ child_type: "storage.googleapis.com/AnywhereCache"
900
+ }
901
+ ];
902
+
903
+ // Required. Properties of the Anywhere Cache instance being created.
904
+ // The parent bucket name is specified in the `parent` field. Server uses the
905
+ // default value of `ttl` or `admission_policy` if not specified in
906
+ // request.
907
+ AnywhereCache anywhere_cache = 3 [(google.api.field_behavior) = REQUIRED];
908
+
909
+ // Optional. A unique identifier for this request. UUID is the recommended
910
+ // format, but other formats are still accepted. This request is only
911
+ // idempotent if a `request_id` is provided.
912
+ string request_id = 4 [
913
+ (google.api.field_info).format = UUID4,
914
+ (google.api.field_behavior) = OPTIONAL
915
+ ];
916
+ }
917
+
918
+ // Request message for UpdateAnywhereCache.
919
+ message UpdateAnywhereCacheRequest {
920
+ // Required. The Anywhere Cache instance to be updated.
921
+ AnywhereCache anywhere_cache = 1 [(google.api.field_behavior) = REQUIRED];
922
+
923
+ // Required. List of fields to be updated. Mutable fields of AnywhereCache
924
+ // include `ttl` and `admission_policy`.
925
+ //
926
+ // To specify ALL fields, specify a single field with the value `*`. Note: We
927
+ // recommend against doing this. If a new field is introduced at a later time,
928
+ // an older client updating with the `*` may accidentally reset the new
929
+ // field's value.
930
+ //
931
+ // Not specifying any fields is an error.
932
+ google.protobuf.FieldMask update_mask = 2
933
+ [(google.api.field_behavior) = REQUIRED];
934
+
935
+ // Optional. A unique identifier for this request. UUID is the recommended
936
+ // format, but other formats are still accepted. This request is only
937
+ // idempotent if a `request_id` is provided.
938
+ string request_id = 3 [
939
+ (google.api.field_info).format = UUID4,
940
+ (google.api.field_behavior) = OPTIONAL
941
+ ];
942
+ }
943
+
944
+ // Request message for DisableAnywhereCache.
945
+ message DisableAnywhereCacheRequest {
946
+ // Required. The name field in the request should be:
947
+ // `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
948
+ string name = 1 [
949
+ (google.api.field_behavior) = REQUIRED,
950
+ (google.api.resource_reference) = {
951
+ type: "storage.googleapis.com/AnywhereCache"
952
+ }
953
+ ];
954
+
955
+ // Optional. A unique identifier for this request. UUID is the recommended
956
+ // format, but other formats are still accepted. This request is only
957
+ // idempotent if a `request_id` is provided.
958
+ string request_id = 2 [
959
+ (google.api.field_info).format = UUID4,
960
+ (google.api.field_behavior) = OPTIONAL
961
+ ];
962
+ }
963
+
964
+ // Request message for PauseAnywhereCache.
965
+ message PauseAnywhereCacheRequest {
966
+ // Required. The name field in the request should be:
967
+ // `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
968
+ string name = 1 [
969
+ (google.api.field_behavior) = REQUIRED,
970
+ (google.api.resource_reference) = {
971
+ type: "storage.googleapis.com/AnywhereCache"
972
+ }
973
+ ];
974
+
975
+ // Optional. A unique identifier for this request. UUID is the recommended
976
+ // format, but other formats are still accepted. This request is only
977
+ // idempotent if a `request_id` is provided.
978
+ string request_id = 2 [
979
+ (google.api.field_info).format = UUID4,
980
+ (google.api.field_behavior) = OPTIONAL
981
+ ];
982
+ }
983
+
984
+ // Request message for ResumeAnywhereCache.
985
+ message ResumeAnywhereCacheRequest {
986
+ // Required. The name field in the request should be:
987
+ // `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
988
+ string name = 1 [
989
+ (google.api.field_behavior) = REQUIRED,
990
+ (google.api.resource_reference) = {
991
+ type: "storage.googleapis.com/AnywhereCache"
992
+ }
993
+ ];
994
+
995
+ // Optional. A unique identifier for this request. UUID is the recommended
996
+ // format, but other formats are still accepted. This request is only
997
+ // idempotent if a `request_id` is provided.
998
+ string request_id = 2 [
999
+ (google.api.field_info).format = UUID4,
1000
+ (google.api.field_behavior) = OPTIONAL
1001
+ ];
1002
+ }
1003
+
1004
+ // Request message for GetAnywhereCache.
1005
+ message GetAnywhereCacheRequest {
1006
+ // Required. The name field in the request should be:
1007
+ // `projects/{project}/buckets/{bucket}/anywhereCaches/{anywhere_cache}`
1008
+ string name = 1 [
1009
+ (google.api.field_behavior) = REQUIRED,
1010
+ (google.api.resource_reference) = {
1011
+ type: "storage.googleapis.com/AnywhereCache"
1012
+ }
1013
+ ];
1014
+
1015
+ // Optional. A unique identifier for this request. UUID is the recommended
1016
+ // format, but other formats are still accepted.
1017
+ string request_id = 2 [
1018
+ (google.api.field_info).format = UUID4,
1019
+ (google.api.field_behavior) = OPTIONAL
1020
+ ];
1021
+ }
1022
+
1023
+ // Request message for ListAnywhereCaches.
1024
+ message ListAnywhereCachesRequest {
1025
+ // Required. The bucket to which this cache belongs.
1026
+ string parent = 1 [
1027
+ (google.api.field_behavior) = REQUIRED,
1028
+ (google.api.resource_reference) = {
1029
+ child_type: "storage.googleapis.com/AnywhereCache"
1030
+ }
1031
+ ];
1032
+
1033
+ // Maximum number of caches to return in a single response.
1034
+ // The service will use this parameter or 1,000 items, whichever is smaller.
1035
+ int32 page_size = 2;
1036
+
1037
+ // A previously-returned page token representing part of the larger set of
1038
+ // results to view.
1039
+ string page_token = 3;
1040
+
1041
+ // Optional. A unique identifier for this request. UUID is the recommended
1042
+ // format, but other formats are still accepted.
1043
+ string request_id = 4 [
1044
+ (google.api.field_info).format = UUID4,
1045
+ (google.api.field_behavior) = OPTIONAL
1046
+ ];
1047
+ }
1048
+
1049
+ // Response message for ListAnywhereCaches.
1050
+ message ListAnywhereCachesResponse {
1051
+ // The list of items.
1052
+ repeated AnywhereCache anywhere_caches = 1;
1053
+
1054
+ // A token, which can be sent as `page_token` to retrieve the next page.
1055
+ // If this field is omitted, there are no subsequent pages.
1056
+ string next_page_token = 2;
1057
+ }
1058
+
1059
+ // The `IntelligenceConfig` resource associated with your organization, folder,
1060
+ // or project.
1061
+ message IntelligenceConfig {
1062
+ option (google.api.resource) = {
1063
+ type: "storage.googleapis.com/IntelligenceConfig"
1064
+ pattern: "folders/{folder}/locations/{location}/intelligenceConfig"
1065
+ pattern: "organizations/{org}/locations/{location}/intelligenceConfig"
1066
+ pattern: "projects/{project}/locations/{location}/intelligenceConfig"
1067
+ plural: "intelligenceConfigs"
1068
+ singular: "intelligenceConfig"
1069
+ };
1070
+
1071
+ // The edition configuration of the `IntelligenceConfig` resource. This
1072
+ // signifies the edition used for configuring the `IntelligenceConfig`
1073
+ // resource and can only take the following values:
1074
+ // `EDITION_CONFIG_UNSPECIFIED`, `INHERIT`, `DISABLED`, `STANDARD` and
1075
+ // `TRIAL`.
1076
+ enum EditionConfig {
1077
+ // This is an unknown edition of the resource.
1078
+ EDITION_CONFIG_UNSPECIFIED = 0;
1079
+
1080
+ // The inherited edition from the parent and filters. This is the default
1081
+ // edition when there is no `IntelligenceConfig` setup for a GCP resource.
1082
+ INHERIT = 1;
1083
+
1084
+ // The edition configuration is disabled for the `IntelligenceConfig`
1085
+ // resource and its children. Filters are not applicable.
1086
+ DISABLED = 2;
1087
+
1088
+ // The `IntelligenceConfig` resource is of STANDARD edition.
1089
+ STANDARD = 3;
1090
+
1091
+ // The `IntelligenceConfig` resource is available in `TRIAL` edition. During
1092
+ // the trial period, Cloud Storage does not charge for Storage Intelligence
1093
+ // usage. You can specify the buckets to include in the trial period by
1094
+ // using filters. At the end of the trial period, the `IntelligenceConfig`
1095
+ // resource is upgraded to `STANDARD` edition.
1096
+ TRIAL = 5;
1097
+ }
1098
+
1099
+ // Filter over location and bucket using include or exclude semantics.
1100
+ // Resources that match the include or exclude filter are exclusively included
1101
+ // or excluded from the Storage Intelligence plan.
1102
+ message Filter {
1103
+ // Collection of bucket locations.
1104
+ message CloudStorageLocations {
1105
+ // Optional. Bucket locations. Location can be any of the Cloud Storage
1106
+ // regions specified in lower case format. For example, `us-east1`,
1107
+ // `us-west1`.
1108
+ repeated string locations = 1 [(google.api.field_behavior) = OPTIONAL];
1109
+ }
1110
+
1111
+ // Collection of buckets.
1112
+ message CloudStorageBuckets {
1113
+ // Optional. A regex pattern for matching bucket names. Regex should
1114
+ // follow the syntax specified in
1115
+ // [google/re2](https://github.com/google/re2). For example,
1116
+ // `^sample_.*` matches all buckets of the form
1117
+ // `gs://sample_bucket-1`, `gs://sample_bucket-2`,
1118
+ // `gs://sample_bucket-n` but not `gs://test_sample_bucket`.
1119
+ // If you want to match a single bucket, say `gs://sample_bucket`,
1120
+ // use `sample_bucket`.
1121
+ repeated string bucket_id_regexes = 1
1122
+ [(google.api.field_behavior) = OPTIONAL];
1123
+ }
1124
+
1125
+ // Bucket locations to include or exclude.
1126
+ oneof cloud_storage_locations {
1127
+ // Bucket locations to include.
1128
+ CloudStorageLocations included_cloud_storage_locations = 1;
1129
+
1130
+ // Bucket locations to exclude.
1131
+ CloudStorageLocations excluded_cloud_storage_locations = 2;
1132
+ }
1133
+
1134
+ // Buckets to include or exclude.
1135
+ oneof cloud_storage_buckets {
1136
+ // Buckets to include.
1137
+ CloudStorageBuckets included_cloud_storage_buckets = 3;
1138
+
1139
+ // Buckets to exclude.
1140
+ CloudStorageBuckets excluded_cloud_storage_buckets = 4;
1141
+ }
1142
+ }
1143
+
1144
+ // The effective `IntelligenceConfig` for the resource.
1145
+ message EffectiveIntelligenceConfig {
1146
+ // The effective edition of the `IntelligenceConfig` resource.
1147
+ enum EffectiveEdition {
1148
+ // This is an unknown edition of the resource.
1149
+ EFFECTIVE_EDITION_UNSPECIFIED = 0;
1150
+
1151
+ // No edition.
1152
+ NONE = 1;
1153
+
1154
+ // The `IntelligenceConfig` resource is of STANDARD edition.
1155
+ STANDARD = 2;
1156
+ }
1157
+
1158
+ // Output only. The `IntelligenceConfig` edition that is applicable for the
1159
+ // resource.
1160
+ EffectiveEdition effective_edition = 1
1161
+ [(google.api.field_behavior) = OUTPUT_ONLY];
1162
+
1163
+ // Output only. The `IntelligenceConfig` resource that is applied for the
1164
+ // target resource. Format:
1165
+ // `{organizations|folders|projects}/{id}/locations/{location}/intelligenceConfig`
1166
+ string intelligence_config = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
1167
+ }
1168
+
1169
+ // The trial configuration of the `IntelligenceConfig` resource.
1170
+ message TrialConfig {
1171
+ // Output only. The time at which the trial expires.
1172
+ google.protobuf.Timestamp expire_time = 3
1173
+ [(google.api.field_behavior) = OUTPUT_ONLY];
1174
+ }
1175
+
1176
+ // Identifier. The name of the `IntelligenceConfig` resource associated with
1177
+ // your organization, folder, or project.
1178
+ //
1179
+ // The name format varies based on the GCP resource hierarchy as follows:
1180
+ //
1181
+ // * For project:
1182
+ // `projects/{project_number}/locations/global/intelligenceConfig`
1183
+ // * For organization:
1184
+ // `organizations/{org_id}/locations/global/intelligenceConfig`
1185
+ // * For folder: `folders/{folder_id}/locations/global/intelligenceConfig`
1186
+ string name = 1 [(google.api.field_behavior) = IDENTIFIER];
1187
+
1188
+ // Optional. The edition configuration of the `IntelligenceConfig` resource.
1189
+ EditionConfig edition_config = 2 [(google.api.field_behavior) = OPTIONAL];
1190
+
1191
+ // Output only. The time at which the `IntelligenceConfig` resource is last
1192
+ // updated.
1193
+ google.protobuf.Timestamp update_time = 3
1194
+ [(google.api.field_behavior) = OUTPUT_ONLY];
1195
+
1196
+ // Optional. Filter over location and bucket.
1197
+ Filter filter = 4 [(google.api.field_behavior) = OPTIONAL];
1198
+
1199
+ // Output only. The `IntelligenceConfig` resource that is applicable for the
1200
+ // resource.
1201
+ EffectiveIntelligenceConfig effective_intelligence_config = 5
1202
+ [(google.api.field_behavior) = OUTPUT_ONLY];
1203
+
1204
+ // The trial configuration of the `IntelligenceConfig` resource.
1205
+ TrialConfig trial_config = 7;
1206
+ }
1207
+
1208
+ // Request message to update the `IntelligenceConfig` resource associated with
1209
+ // your organization.
1210
+ //
1211
+ // **IAM Permissions**:
1212
+ //
1213
+ // Requires `storage.intelligenceConfigs.update`
1214
+ // [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
1215
+ // the organization.
1216
+ message UpdateOrganizationIntelligenceConfigRequest {
1217
+ // Required. The `IntelligenceConfig` resource to be updated.
1218
+ IntelligenceConfig intelligence_config = 1
1219
+ [(google.api.field_behavior) = REQUIRED];
1220
+
1221
+ // Required. The `update_mask` that specifies the fields within the
1222
+ // `IntelligenceConfig` resource that should be modified by this update. Only
1223
+ // the listed fields are updated.
1224
+ google.protobuf.FieldMask update_mask = 2
1225
+ [(google.api.field_behavior) = REQUIRED];
1226
+
1227
+ // Optional. The ID that uniquely identifies the request, preventing duplicate
1228
+ // processing.
1229
+ string request_id = 3 [
1230
+ (google.api.field_info).format = UUID4,
1231
+ (google.api.field_behavior) = OPTIONAL
1232
+ ];
1233
+ }
1234
+
1235
+ // Request message to update the `IntelligenceConfig` resource associated with
1236
+ // your folder.
1237
+ //
1238
+ // **IAM Permissions**:
1239
+ //
1240
+ // Requires `storage.intelligenceConfigs.update`
1241
+ // [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
1242
+ // the folder.
1243
+ message UpdateFolderIntelligenceConfigRequest {
1244
+ // Required. The `IntelligenceConfig` resource to be updated.
1245
+ IntelligenceConfig intelligence_config = 1
1246
+ [(google.api.field_behavior) = REQUIRED];
1247
+
1248
+ // Required. The `update_mask` that specifies the fields within the
1249
+ // `IntelligenceConfig` resource that should be modified by this update. Only
1250
+ // the listed fields are updated.
1251
+ google.protobuf.FieldMask update_mask = 2
1252
+ [(google.api.field_behavior) = REQUIRED];
1253
+
1254
+ // Optional. The ID that uniquely identifies the request, preventing duplicate
1255
+ // processing.
1256
+ string request_id = 3 [
1257
+ (google.api.field_info).format = UUID4,
1258
+ (google.api.field_behavior) = OPTIONAL
1259
+ ];
1260
+ }
1261
+
1262
+ // Request message to update the `IntelligenceConfig` resource associated with
1263
+ // your project.
1264
+ //
1265
+ // **IAM Permissions**:
1266
+ //
1267
+ // Requires `storage.intelligenceConfigs.update`
1268
+ // [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
1269
+ // the folder.
1270
+ message UpdateProjectIntelligenceConfigRequest {
1271
+ // Required. The `IntelligenceConfig` resource to be updated.
1272
+ IntelligenceConfig intelligence_config = 1
1273
+ [(google.api.field_behavior) = REQUIRED];
1274
+
1275
+ // Required. The `update_mask` that specifies the fields within the
1276
+ // `IntelligenceConfig` resource that should be modified by this update. Only
1277
+ // the listed fields are updated.
1278
+ google.protobuf.FieldMask update_mask = 2
1279
+ [(google.api.field_behavior) = REQUIRED];
1280
+
1281
+ // Optional. The ID that uniquely identifies the request, preventing duplicate
1282
+ // processing.
1283
+ string request_id = 3 [
1284
+ (google.api.field_info).format = UUID4,
1285
+ (google.api.field_behavior) = OPTIONAL
1286
+ ];
1287
+ }
1288
+
1289
+ // Request message to get the `IntelligenceConfig` resource associated with your
1290
+ // organization.
1291
+ //
1292
+ // **IAM Permissions**
1293
+ //
1294
+ // Requires `storage.intelligenceConfigs.get`
1295
+ // [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
1296
+ // the organization.
1297
+ message GetOrganizationIntelligenceConfigRequest {
1298
+ // Required. The name of the `IntelligenceConfig` resource associated with
1299
+ // your organization.
1300
+ //
1301
+ // Format: `organizations/{org_id}/locations/global/intelligenceConfig`
1302
+ string name = 1 [
1303
+ (google.api.field_behavior) = REQUIRED,
1304
+ (google.api.resource_reference) = {
1305
+ type: "storage.googleapis.com/IntelligenceConfig"
1306
+ }
1307
+ ];
1308
+ }
1309
+
1310
+ // Request message to get the `IntelligenceConfig` resource associated with your
1311
+ // folder.
1312
+ //
1313
+ // **IAM Permissions**
1314
+ //
1315
+ // Requires `storage.intelligenceConfigs.get`
1316
+ // [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission on
1317
+ // the folder.
1318
+ message GetFolderIntelligenceConfigRequest {
1319
+ // Required. The name of the `IntelligenceConfig` resource associated with
1320
+ // your folder.
1321
+ //
1322
+ // Format: `folders/{id}/locations/global/intelligenceConfig`
1323
+ string name = 1 [
1324
+ (google.api.field_behavior) = REQUIRED,
1325
+ (google.api.resource_reference) = {
1326
+ type: "storage.googleapis.com/IntelligenceConfig"
1327
+ }
1328
+ ];
1329
+ }
1330
+
1331
+ // Request message to get the `IntelligenceConfig` resource associated with your
1332
+ // project.
1333
+ //
1334
+ // **IAM Permissions**:
1335
+ //
1336
+ // Requires `storage.intelligenceConfigs.get`
1337
+ // [IAM](https://cloud.google.com/iam/docs/overview#permissions) permission
1338
+ // on the project.
1339
+ message GetProjectIntelligenceConfigRequest {
1340
+ // Required. The name of the `IntelligenceConfig` resource associated with
1341
+ // your project.
1342
+ //
1343
+ // Format: `projects/{id}/locations/global/intelligenceConfig`
1344
+ string name = 1 [
1345
+ (google.api.field_behavior) = REQUIRED,
1346
+ (google.api.resource_reference) = {
1347
+ type: "storage.googleapis.com/IntelligenceConfig"
1348
+ }
1349
+ ];
1350
+ }