google-cloud-chronicle-v1 0.a → 0.1.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.
Files changed (74) hide show
  1. checksums.yaml +4 -4
  2. data/.yardopts +12 -0
  3. data/AUTHENTICATION.md +122 -0
  4. data/README.md +154 -8
  5. data/lib/google/cloud/chronicle/v1/data_access_control_pb.rb +67 -0
  6. data/lib/google/cloud/chronicle/v1/data_access_control_service/client.rb +1414 -0
  7. data/lib/google/cloud/chronicle/v1/data_access_control_service/credentials.rb +47 -0
  8. data/lib/google/cloud/chronicle/v1/data_access_control_service/paths.rb +94 -0
  9. data/lib/google/cloud/chronicle/v1/data_access_control_service/rest/client.rb +1318 -0
  10. data/lib/google/cloud/chronicle/v1/data_access_control_service/rest/service_stub.rb +695 -0
  11. data/lib/google/cloud/chronicle/v1/data_access_control_service/rest.rb +53 -0
  12. data/lib/google/cloud/chronicle/v1/data_access_control_service.rb +56 -0
  13. data/lib/google/cloud/chronicle/v1/data_access_control_services_pb.rb +76 -0
  14. data/lib/google/cloud/chronicle/v1/entity_pb.rb +62 -0
  15. data/lib/google/cloud/chronicle/v1/entity_service/client.rb +891 -0
  16. data/lib/google/cloud/chronicle/v1/entity_service/credentials.rb +47 -0
  17. data/lib/google/cloud/chronicle/v1/entity_service/paths.rb +73 -0
  18. data/lib/google/cloud/chronicle/v1/entity_service/rest/client.rb +830 -0
  19. data/lib/google/cloud/chronicle/v1/entity_service/rest/service_stub.rb +388 -0
  20. data/lib/google/cloud/chronicle/v1/entity_service/rest.rb +52 -0
  21. data/lib/google/cloud/chronicle/v1/entity_service.rb +55 -0
  22. data/lib/google/cloud/chronicle/v1/entity_services_pb.rb +54 -0
  23. data/lib/google/cloud/chronicle/v1/instance_pb.rb +48 -0
  24. data/lib/google/cloud/chronicle/v1/instance_service/client.rb +464 -0
  25. data/lib/google/cloud/chronicle/v1/instance_service/credentials.rb +47 -0
  26. data/lib/google/cloud/chronicle/v1/instance_service/paths.rb +52 -0
  27. data/lib/google/cloud/chronicle/v1/instance_service/rest/client.rb +431 -0
  28. data/lib/google/cloud/chronicle/v1/instance_service/rest/service_stub.rb +142 -0
  29. data/lib/google/cloud/chronicle/v1/instance_service/rest.rb +52 -0
  30. data/lib/google/cloud/chronicle/v1/instance_service.rb +55 -0
  31. data/lib/google/cloud/chronicle/v1/instance_services_pb.rb +45 -0
  32. data/lib/google/cloud/chronicle/v1/reference_list_pb.rb +61 -0
  33. data/lib/google/cloud/chronicle/v1/reference_list_service/client.rb +792 -0
  34. data/lib/google/cloud/chronicle/v1/reference_list_service/credentials.rb +47 -0
  35. data/lib/google/cloud/chronicle/v1/reference_list_service/paths.rb +73 -0
  36. data/lib/google/cloud/chronicle/v1/reference_list_service/rest/client.rb +738 -0
  37. data/lib/google/cloud/chronicle/v1/reference_list_service/rest/service_stub.rb +327 -0
  38. data/lib/google/cloud/chronicle/v1/reference_list_service/rest.rb +52 -0
  39. data/lib/google/cloud/chronicle/v1/reference_list_service.rb +55 -0
  40. data/lib/google/cloud/chronicle/v1/reference_list_services_pb.rb +51 -0
  41. data/lib/google/cloud/chronicle/v1/rest.rb +41 -0
  42. data/lib/google/cloud/chronicle/v1/rule_pb.rb +85 -0
  43. data/lib/google/cloud/chronicle/v1/rule_service/client.rb +1674 -0
  44. data/lib/google/cloud/chronicle/v1/rule_service/credentials.rb +47 -0
  45. data/lib/google/cloud/chronicle/v1/rule_service/operations.rb +813 -0
  46. data/lib/google/cloud/chronicle/v1/rule_service/paths.rb +159 -0
  47. data/lib/google/cloud/chronicle/v1/rule_service/rest/client.rb +1564 -0
  48. data/lib/google/cloud/chronicle/v1/rule_service/rest/operations.rb +914 -0
  49. data/lib/google/cloud/chronicle/v1/rule_service/rest/service_stub.rb +817 -0
  50. data/lib/google/cloud/chronicle/v1/rule_service/rest.rb +53 -0
  51. data/lib/google/cloud/chronicle/v1/rule_service.rb +56 -0
  52. data/lib/google/cloud/chronicle/v1/rule_services_pb.rb +70 -0
  53. data/lib/google/cloud/chronicle/v1/version.rb +7 -2
  54. data/lib/google/cloud/chronicle/v1.rb +49 -0
  55. data/lib/google-cloud-chronicle-v1.rb +21 -0
  56. data/proto_docs/README.md +4 -0
  57. data/proto_docs/google/api/client.rb +473 -0
  58. data/proto_docs/google/api/field_behavior.rb +85 -0
  59. data/proto_docs/google/api/launch_stage.rb +71 -0
  60. data/proto_docs/google/api/resource.rb +227 -0
  61. data/proto_docs/google/cloud/chronicle/v1/data_access_control.rb +364 -0
  62. data/proto_docs/google/cloud/chronicle/v1/entity.rb +210 -0
  63. data/proto_docs/google/cloud/chronicle/v1/instance.rb +47 -0
  64. data/proto_docs/google/cloud/chronicle/v1/reference_list.rb +232 -0
  65. data/proto_docs/google/cloud/chronicle/v1/rule.rb +701 -0
  66. data/proto_docs/google/longrunning/operations.rb +173 -0
  67. data/proto_docs/google/protobuf/any.rb +145 -0
  68. data/proto_docs/google/protobuf/duration.rb +98 -0
  69. data/proto_docs/google/protobuf/empty.rb +34 -0
  70. data/proto_docs/google/protobuf/field_mask.rb +229 -0
  71. data/proto_docs/google/protobuf/timestamp.rb +127 -0
  72. data/proto_docs/google/rpc/status.rb +48 -0
  73. data/proto_docs/google/type/interval.rb +45 -0
  74. metadata +110 -10
@@ -0,0 +1,227 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Api
22
+ # A simple descriptor of a resource type.
23
+ #
24
+ # ResourceDescriptor annotates a resource message (either by means of a
25
+ # protobuf annotation or use in the service config), and associates the
26
+ # resource's schema, the resource type, and the pattern of the resource name.
27
+ #
28
+ # Example:
29
+ #
30
+ # message Topic {
31
+ # // Indicates this message defines a resource schema.
32
+ # // Declares the resource type in the format of {service}/{kind}.
33
+ # // For Kubernetes resources, the format is {api group}/{kind}.
34
+ # option (google.api.resource) = {
35
+ # type: "pubsub.googleapis.com/Topic"
36
+ # pattern: "projects/{project}/topics/{topic}"
37
+ # };
38
+ # }
39
+ #
40
+ # The ResourceDescriptor Yaml config will look like:
41
+ #
42
+ # resources:
43
+ # - type: "pubsub.googleapis.com/Topic"
44
+ # pattern: "projects/{project}/topics/{topic}"
45
+ #
46
+ # Sometimes, resources have multiple patterns, typically because they can
47
+ # live under multiple parents.
48
+ #
49
+ # Example:
50
+ #
51
+ # message LogEntry {
52
+ # option (google.api.resource) = {
53
+ # type: "logging.googleapis.com/LogEntry"
54
+ # pattern: "projects/{project}/logs/{log}"
55
+ # pattern: "folders/{folder}/logs/{log}"
56
+ # pattern: "organizations/{organization}/logs/{log}"
57
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
58
+ # };
59
+ # }
60
+ #
61
+ # The ResourceDescriptor Yaml config will look like:
62
+ #
63
+ # resources:
64
+ # - type: 'logging.googleapis.com/LogEntry'
65
+ # pattern: "projects/{project}/logs/{log}"
66
+ # pattern: "folders/{folder}/logs/{log}"
67
+ # pattern: "organizations/{organization}/logs/{log}"
68
+ # pattern: "billingAccounts/{billing_account}/logs/{log}"
69
+ # @!attribute [rw] type
70
+ # @return [::String]
71
+ # The resource type. It must be in the format of
72
+ # \\{service_name}/\\{resource_type_kind}. The `resource_type_kind` must be
73
+ # singular and must not include version numbers.
74
+ #
75
+ # Example: `storage.googleapis.com/Bucket`
76
+ #
77
+ # The value of the resource_type_kind must follow the regular expression
78
+ # /[A-Za-z][a-zA-Z0-9]+/. It should start with an upper case character and
79
+ # should use PascalCase (UpperCamelCase). The maximum number of
80
+ # characters allowed for the `resource_type_kind` is 100.
81
+ # @!attribute [rw] pattern
82
+ # @return [::Array<::String>]
83
+ # Optional. The relative resource name pattern associated with this resource
84
+ # type. The DNS prefix of the full resource name shouldn't be specified here.
85
+ #
86
+ # The path pattern must follow the syntax, which aligns with HTTP binding
87
+ # syntax:
88
+ #
89
+ # Template = Segment { "/" Segment } ;
90
+ # Segment = LITERAL | Variable ;
91
+ # Variable = "{" LITERAL "}" ;
92
+ #
93
+ # Examples:
94
+ #
95
+ # - "projects/\\{project}/topics/\\{topic}"
96
+ # - "projects/\\{project}/knowledgeBases/\\{knowledge_base}"
97
+ #
98
+ # The components in braces correspond to the IDs for each resource in the
99
+ # hierarchy. It is expected that, if multiple patterns are provided,
100
+ # the same component name (e.g. "project") refers to IDs of the same
101
+ # type of resource.
102
+ # @!attribute [rw] name_field
103
+ # @return [::String]
104
+ # Optional. The field on the resource that designates the resource name
105
+ # field. If omitted, this is assumed to be "name".
106
+ # @!attribute [rw] history
107
+ # @return [::Google::Api::ResourceDescriptor::History]
108
+ # Optional. The historical or future-looking state of the resource pattern.
109
+ #
110
+ # Example:
111
+ #
112
+ # // The InspectTemplate message originally only supported resource
113
+ # // names with organization, and project was added later.
114
+ # message InspectTemplate {
115
+ # option (google.api.resource) = {
116
+ # type: "dlp.googleapis.com/InspectTemplate"
117
+ # pattern:
118
+ # "organizations/{organization}/inspectTemplates/{inspect_template}"
119
+ # pattern: "projects/{project}/inspectTemplates/{inspect_template}"
120
+ # history: ORIGINALLY_SINGLE_PATTERN
121
+ # };
122
+ # }
123
+ # @!attribute [rw] plural
124
+ # @return [::String]
125
+ # The plural name used in the resource name and permission names, such as
126
+ # 'projects' for the resource name of 'projects/\\{project}' and the permission
127
+ # name of 'cloudresourcemanager.googleapis.com/projects.get'. One exception
128
+ # to this is for Nested Collections that have stuttering names, as defined
129
+ # in [AIP-122](https://google.aip.dev/122#nested-collections), where the
130
+ # collection ID in the resource name pattern does not necessarily directly
131
+ # match the `plural` value.
132
+ #
133
+ # It is the same concept of the `plural` field in k8s CRD spec
134
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
135
+ #
136
+ # Note: The plural form is required even for singleton resources. See
137
+ # https://aip.dev/156
138
+ # @!attribute [rw] singular
139
+ # @return [::String]
140
+ # The same concept of the `singular` field in k8s CRD spec
141
+ # https://kubernetes.io/docs/tasks/access-kubernetes-api/custom-resources/custom-resource-definitions/
142
+ # Such as "project" for the `resourcemanager.googleapis.com/Project` type.
143
+ # @!attribute [rw] style
144
+ # @return [::Array<::Google::Api::ResourceDescriptor::Style>]
145
+ # Style flag(s) for this resource.
146
+ # These indicate that a resource is expected to conform to a given
147
+ # style. See the specific style flags for additional information.
148
+ class ResourceDescriptor
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+
152
+ # A description of the historical or future-looking state of the
153
+ # resource pattern.
154
+ module History
155
+ # The "unset" value.
156
+ HISTORY_UNSPECIFIED = 0
157
+
158
+ # The resource originally had one pattern and launched as such, and
159
+ # additional patterns were added later.
160
+ ORIGINALLY_SINGLE_PATTERN = 1
161
+
162
+ # The resource has one pattern, but the API owner expects to add more
163
+ # later. (This is the inverse of ORIGINALLY_SINGLE_PATTERN, and prevents
164
+ # that from being necessary once there are multiple patterns.)
165
+ FUTURE_MULTI_PATTERN = 2
166
+ end
167
+
168
+ # A flag representing a specific style that a resource claims to conform to.
169
+ module Style
170
+ # The unspecified value. Do not use.
171
+ STYLE_UNSPECIFIED = 0
172
+
173
+ # This resource is intended to be "declarative-friendly".
174
+ #
175
+ # Declarative-friendly resources must be more strictly consistent, and
176
+ # setting this to true communicates to tools that this resource should
177
+ # adhere to declarative-friendly expectations.
178
+ #
179
+ # Note: This is used by the API linter (linter.aip.dev) to enable
180
+ # additional checks.
181
+ DECLARATIVE_FRIENDLY = 1
182
+ end
183
+ end
184
+
185
+ # Defines a proto annotation that describes a string field that refers to
186
+ # an API resource.
187
+ # @!attribute [rw] type
188
+ # @return [::String]
189
+ # The resource type that the annotated field references.
190
+ #
191
+ # Example:
192
+ #
193
+ # message Subscription {
194
+ # string topic = 2 [(google.api.resource_reference) = {
195
+ # type: "pubsub.googleapis.com/Topic"
196
+ # }];
197
+ # }
198
+ #
199
+ # Occasionally, a field may reference an arbitrary resource. In this case,
200
+ # APIs use the special value * in their resource reference.
201
+ #
202
+ # Example:
203
+ #
204
+ # message GetIamPolicyRequest {
205
+ # string resource = 2 [(google.api.resource_reference) = {
206
+ # type: "*"
207
+ # }];
208
+ # }
209
+ # @!attribute [rw] child_type
210
+ # @return [::String]
211
+ # The resource type of a child collection that the annotated field
212
+ # references. This is useful for annotating the `parent` field that
213
+ # doesn't have a fixed resource type.
214
+ #
215
+ # Example:
216
+ #
217
+ # message ListLogEntriesRequest {
218
+ # string parent = 1 [(google.api.resource_reference) = {
219
+ # child_type: "logging.googleapis.com/LogEntry"
220
+ # };
221
+ # }
222
+ class ResourceReference
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+ end
227
+ end
@@ -0,0 +1,364 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Chronicle
23
+ module V1
24
+ # Request message for CreateDataAccessLabel.
25
+ # @!attribute [rw] parent
26
+ # @return [::String]
27
+ # Required. The parent resource where this Data Access Label will be created.
28
+ # Format: `projects/{project}/locations/{location}/instances/{instance}`
29
+ # @!attribute [rw] data_access_label
30
+ # @return [::Google::Cloud::Chronicle::V1::DataAccessLabel]
31
+ # Required. Data access label to create.
32
+ # @!attribute [rw] data_access_label_id
33
+ # @return [::String]
34
+ # Required. The ID to use for the data access label, which will become the
35
+ # label's display name and the final component of the label's resource name.
36
+ # The maximum number of characters should be 63. Regex pattern is as per AIP:
37
+ # https://google.aip.dev/122#resource-id-segments
38
+ class CreateDataAccessLabelRequest
39
+ include ::Google::Protobuf::MessageExts
40
+ extend ::Google::Protobuf::MessageExts::ClassMethods
41
+ end
42
+
43
+ # Request message to retrieve a data access label.
44
+ # @!attribute [rw] name
45
+ # @return [::String]
46
+ # Required. The ID of the data access label to retrieve.
47
+ # Format:
48
+ # `projects/{project}/locations/{location}/instances/{instance}/dataAccessLabels/{data_access_label}`
49
+ class GetDataAccessLabelRequest
50
+ include ::Google::Protobuf::MessageExts
51
+ extend ::Google::Protobuf::MessageExts::ClassMethods
52
+ end
53
+
54
+ # Request message for ListDataAccessLabels.
55
+ # @!attribute [rw] parent
56
+ # @return [::String]
57
+ # Required. The parent resource where this data access label will be created.
58
+ # Format: `projects/{project}/locations/{location}/instances/{instance}`
59
+ # @!attribute [rw] page_size
60
+ # @return [::Integer]
61
+ # The maximum number of data access labels to return. The service may return
62
+ # fewer than this value. If unspecified, at most 100 data access labels will
63
+ # be returned. The maximum value is 1000; values above 1000 will be coerced
64
+ # to 1000.
65
+ # @!attribute [rw] page_token
66
+ # @return [::String]
67
+ # A page token, received from a previous `ListDataAccessLabelsRequest` call.
68
+ # Provide this to retrieve the subsequent page.
69
+ # @!attribute [rw] filter
70
+ # @return [::String]
71
+ # Optional. A filter which should follow the guidelines of AIP-160.
72
+ # Supports filtering on all fieds of DataAccessLabel and all operations as
73
+ # mentioned in https://google.aip.dev/160.
74
+ # example filter: "create_time greater than \"2023-04-21T11:30:00-04:00\" OR
75
+ # display_name:\"-21-1\"".
76
+ class ListDataAccessLabelsRequest
77
+ include ::Google::Protobuf::MessageExts
78
+ extend ::Google::Protobuf::MessageExts::ClassMethods
79
+ end
80
+
81
+ # Response message for ListDataAccessLabels.
82
+ # @!attribute [rw] data_access_labels
83
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DataAccessLabel>]
84
+ # List of data access labels.
85
+ # @!attribute [rw] next_page_token
86
+ # @return [::String]
87
+ # A token, which can be sent as `page_token` to retrieve the next page.
88
+ # If this field is omitted, there are no subsequent pages.
89
+ class ListDataAccessLabelsResponse
90
+ include ::Google::Protobuf::MessageExts
91
+ extend ::Google::Protobuf::MessageExts::ClassMethods
92
+ end
93
+
94
+ # Request message for UpdateDataAccessLabel method.
95
+ # @!attribute [rw] data_access_label
96
+ # @return [::Google::Cloud::Chronicle::V1::DataAccessLabel]
97
+ # Required. The data access label to update.
98
+ #
99
+ # The label's `name` field is used to identify the label to update.
100
+ # Format:
101
+ # `projects/{project}/locations/{location}/instances/{instance}/dataAccessLabels/{data_access_label}`
102
+ # @!attribute [rw] update_mask
103
+ # @return [::Google::Protobuf::FieldMask]
104
+ # The list of fields to update. If not included, all fields with a non-empty
105
+ # value will be overwritten. Currently, only the description and definition
106
+ # fields are supported for update; an update call that attempts to update any
107
+ # other fields will return INVALID_ARGUMENT.
108
+ class UpdateDataAccessLabelRequest
109
+ include ::Google::Protobuf::MessageExts
110
+ extend ::Google::Protobuf::MessageExts::ClassMethods
111
+ end
112
+
113
+ # Request message to delete a data access label.
114
+ # @!attribute [rw] name
115
+ # @return [::String]
116
+ # Required. The ID of the data access label to delete.
117
+ # Format:
118
+ # `projects/{project}/locations/{location}/instances/{instance}/dataAccessLabels/{data_access_label}`
119
+ class DeleteDataAccessLabelRequest
120
+ include ::Google::Protobuf::MessageExts
121
+ extend ::Google::Protobuf::MessageExts::ClassMethods
122
+ end
123
+
124
+ # Request message for CreateDataAccessScope.
125
+ # @!attribute [rw] parent
126
+ # @return [::String]
127
+ # Required. The parent resource where this Data Access Scope will be created.
128
+ # Format: `projects/{project}/locations/{location}/instances/{instance}`
129
+ # @!attribute [rw] data_access_scope
130
+ # @return [::Google::Cloud::Chronicle::V1::DataAccessScope]
131
+ # Required. Data access scope to create.
132
+ # @!attribute [rw] data_access_scope_id
133
+ # @return [::String]
134
+ # Required. The user provided scope id which will become the last part of the
135
+ # name of the scope resource. Needs to be compliant with
136
+ # https://google.aip.dev/122
137
+ class CreateDataAccessScopeRequest
138
+ include ::Google::Protobuf::MessageExts
139
+ extend ::Google::Protobuf::MessageExts::ClassMethods
140
+ end
141
+
142
+ # Request message to retrieve a data access scope.
143
+ # @!attribute [rw] name
144
+ # @return [::String]
145
+ # Required. The ID of the data access scope to retrieve.
146
+ # Format:
147
+ # `projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope}`
148
+ class GetDataAccessScopeRequest
149
+ include ::Google::Protobuf::MessageExts
150
+ extend ::Google::Protobuf::MessageExts::ClassMethods
151
+ end
152
+
153
+ # Request message for ListDataAccessScopes.
154
+ # @!attribute [rw] parent
155
+ # @return [::String]
156
+ # Required. The parent resource where this data access scope will be created.
157
+ # Format: `projects/{project}/locations/{location}/instances/{instance}`
158
+ # @!attribute [rw] page_size
159
+ # @return [::Integer]
160
+ # The maximum number of data access scopes to return. The service may return
161
+ # fewer than this value. If unspecified, at most 100 data access scopes will
162
+ # be returned. The maximum value is 1000; values above 1000 will be coerced
163
+ # to 1000.
164
+ # @!attribute [rw] page_token
165
+ # @return [::String]
166
+ # A page token, received from a previous `ListDataAccessScopesRequest` call.
167
+ # Provide this to retrieve the subsequent page.
168
+ # @!attribute [rw] filter
169
+ # @return [::String]
170
+ # Optional. A filter which should follow the guidelines of AIP-160.
171
+ # Supports filtering on all fieds of DataAccessScope and all operations as
172
+ # mentioned in https://google.aip.dev/160.
173
+ # example filter: "create_time greater than \"2023-04-21T11:30:00-04:00\" OR
174
+ # display_name:\"-21-1\"".
175
+ class ListDataAccessScopesRequest
176
+ include ::Google::Protobuf::MessageExts
177
+ extend ::Google::Protobuf::MessageExts::ClassMethods
178
+ end
179
+
180
+ # Response message for ListDataAccessScopes.
181
+ # @!attribute [rw] data_access_scopes
182
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DataAccessScope>]
183
+ # List of data access scopes.
184
+ # @!attribute [rw] global_data_access_scope_granted
185
+ # @return [::Boolean]
186
+ # Whether or not global scope is granted to the user.
187
+ # @!attribute [rw] next_page_token
188
+ # @return [::String]
189
+ # A token, which can be sent as `page_token` to retrieve the next page.
190
+ # If this field is omitted, there are no subsequent pages.
191
+ class ListDataAccessScopesResponse
192
+ include ::Google::Protobuf::MessageExts
193
+ extend ::Google::Protobuf::MessageExts::ClassMethods
194
+ end
195
+
196
+ # Request message for UpdateDataAccessScope method.
197
+ # @!attribute [rw] data_access_scope
198
+ # @return [::Google::Cloud::Chronicle::V1::DataAccessScope]
199
+ # Required. The data access scope to update.
200
+ #
201
+ # The scope's `name` field is used to identify the scope to update.
202
+ # Format:
203
+ # `projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope}`
204
+ # @!attribute [rw] update_mask
205
+ # @return [::Google::Protobuf::FieldMask]
206
+ # The list of fields to update. If not included, all fields with a non-empty
207
+ # value will be overwritten. Currently, only the description, the allowed
208
+ # and denied labels list fields are supported for update;
209
+ # an update call that attempts to update any
210
+ # other fields will return INVALID_ARGUMENT.
211
+ class UpdateDataAccessScopeRequest
212
+ include ::Google::Protobuf::MessageExts
213
+ extend ::Google::Protobuf::MessageExts::ClassMethods
214
+ end
215
+
216
+ # Request message to delete a data access scope.
217
+ # @!attribute [rw] name
218
+ # @return [::String]
219
+ # Required. The ID of the data access scope to delete.
220
+ # Format:
221
+ # `projects/{project}/locations/{location}/instances/{instance}/dataAccessScopes/{data_access_scope}`
222
+ class DeleteDataAccessScopeRequest
223
+ include ::Google::Protobuf::MessageExts
224
+ extend ::Google::Protobuf::MessageExts::ClassMethods
225
+ end
226
+
227
+ # A DataAccessLabel is a label on events to define user access to data.
228
+ # @!attribute [rw] udm_query
229
+ # @return [::String]
230
+ # A UDM query over event data.
231
+ # @!attribute [rw] name
232
+ # @return [::String]
233
+ # The unique resource name of the data access label.
234
+ # @!attribute [r] display_name
235
+ # @return [::String]
236
+ # Output only. The short name displayed for the label as it appears on event
237
+ # data.
238
+ # @!attribute [r] create_time
239
+ # @return [::Google::Protobuf::Timestamp]
240
+ # Output only. The time at which the data access label was created.
241
+ # @!attribute [r] update_time
242
+ # @return [::Google::Protobuf::Timestamp]
243
+ # Output only. The time at which the data access label was last updated.
244
+ # @!attribute [r] author
245
+ # @return [::String]
246
+ # Output only. The user who created the data access label.
247
+ # @!attribute [r] last_editor
248
+ # @return [::String]
249
+ # Output only. The user who last updated the data access label.
250
+ # @!attribute [rw] description
251
+ # @return [::String]
252
+ # Optional. A description of the data access label for a human reader.
253
+ class DataAccessLabel
254
+ include ::Google::Protobuf::MessageExts
255
+ extend ::Google::Protobuf::MessageExts::ClassMethods
256
+ end
257
+
258
+ # A DataAccessScope is a boolean expression of data access labels used
259
+ # to restrict access to data for users.
260
+ # @!attribute [rw] name
261
+ # @return [::String]
262
+ # Required. The unique full name of the data access scope.
263
+ # The name should comply with https://google.aip.dev/122 standards.
264
+ # @!attribute [rw] allowed_data_access_labels
265
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DataAccessLabelReference>]
266
+ # Optional. The allowed labels for the scope.
267
+ # Either allow_all or allowed_data_access_labels needs to be provided.
268
+ # When provided, there has to be at least one label allowed for the scope to
269
+ # be valid.
270
+ # The logical operator for evaluation of the allowed labels is OR.
271
+ # E.g.: A customer with scope with allowed labels A and B will be able
272
+ # to see data with labeled with A or B or (A and B).
273
+ # @!attribute [rw] denied_data_access_labels
274
+ # @return [::Array<::Google::Cloud::Chronicle::V1::DataAccessLabelReference>]
275
+ # Optional. The denied labels for the scope.
276
+ # The logical operator for evaluation of the denied labels is AND.
277
+ # E.g.: A customer with scope with denied labels A and B won't be able
278
+ # to see data labeled with A and data labeled with B
279
+ # and data with labels A and B.
280
+ # @!attribute [r] display_name
281
+ # @return [::String]
282
+ # Output only. The name to be used for display to customers of the data
283
+ # access scope.
284
+ # @!attribute [r] create_time
285
+ # @return [::Google::Protobuf::Timestamp]
286
+ # Output only. The time at which the data access scope was created.
287
+ # @!attribute [r] update_time
288
+ # @return [::Google::Protobuf::Timestamp]
289
+ # Output only. The time at which the data access scope was last updated.
290
+ # @!attribute [r] author
291
+ # @return [::String]
292
+ # Output only. The user who created the data access scope.
293
+ # @!attribute [r] last_editor
294
+ # @return [::String]
295
+ # Output only. The user who last updated the data access scope.
296
+ # @!attribute [rw] description
297
+ # @return [::String]
298
+ # Optional. A description of the data access scope for a human reader.
299
+ # @!attribute [rw] allow_all
300
+ # @return [::Boolean]
301
+ # Optional. Whether or not the scope allows all labels, allow_all and
302
+ # allowed_data_access_labels are mutually exclusive and one of them must be
303
+ # present. denied_data_access_labels can still be used along with allow_all.
304
+ # When combined with denied_data_access_labels, access will be granted to all
305
+ # data that doesn't have labels mentioned in denied_data_access_labels. E.g.:
306
+ # A customer with scope with denied labels A and B and allow_all will be able
307
+ # to see all data except data labeled with A and data labeled with B and data
308
+ # with labels A and B.
309
+ class DataAccessScope
310
+ include ::Google::Protobuf::MessageExts
311
+ extend ::Google::Protobuf::MessageExts::ClassMethods
312
+ end
313
+
314
+ # Reference object to a data access label.
315
+ # @!attribute [rw] data_access_label
316
+ # @return [::String]
317
+ # The name of the data access label.
318
+ #
319
+ # Note: The following fields are mutually exclusive: `data_access_label`, `log_type`, `asset_namespace`, `ingestion_label`. If a field in that set is populated, all other fields in the set will automatically be cleared.
320
+ # @!attribute [rw] log_type
321
+ # @return [::String]
322
+ # The name of the log type.
323
+ #
324
+ # Note: The following fields are mutually exclusive: `log_type`, `data_access_label`, `asset_namespace`, `ingestion_label`. If a field in that set is populated, all other fields in the set will automatically be cleared.
325
+ # @!attribute [rw] asset_namespace
326
+ # @return [::String]
327
+ # The asset namespace configured in the forwarder
328
+ # of the customer's events.
329
+ #
330
+ # Note: The following fields are mutually exclusive: `asset_namespace`, `data_access_label`, `log_type`, `ingestion_label`. If a field in that set is populated, all other fields in the set will automatically be cleared.
331
+ # @!attribute [rw] ingestion_label
332
+ # @return [::Google::Cloud::Chronicle::V1::IngestionLabel]
333
+ # The ingestion label configured in the forwarder of the customer's events.
334
+ #
335
+ # Note: The following fields are mutually exclusive: `ingestion_label`, `data_access_label`, `log_type`, `asset_namespace`. If a field in that set is populated, all other fields in the set will automatically be cleared.
336
+ # @!attribute [r] display_name
337
+ # @return [::String]
338
+ # Output only. The display name of the label.
339
+ # Data access label and log types's name
340
+ # will match the display name of the resource.
341
+ # The asset namespace will match the namespace itself.
342
+ # The ingestion key value pair will match the key of the tuple.
343
+ class DataAccessLabelReference
344
+ include ::Google::Protobuf::MessageExts
345
+ extend ::Google::Protobuf::MessageExts::ClassMethods
346
+ end
347
+
348
+ # Representation of an ingestion label type.
349
+ # @!attribute [rw] ingestion_label_key
350
+ # @return [::String]
351
+ # Required. The key of the ingestion label. Always required.
352
+ # @!attribute [rw] ingestion_label_value
353
+ # @return [::String]
354
+ # Optional. The value of the ingestion label. Optional. An object
355
+ # with no provided value and some key provided would match
356
+ # against the given key and ANY value.
357
+ class IngestionLabel
358
+ include ::Google::Protobuf::MessageExts
359
+ extend ::Google::Protobuf::MessageExts::ClassMethods
360
+ end
361
+ end
362
+ end
363
+ end
364
+ end