google-cloud-chronicle-v1 0.7.0 → 0.8.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 (29) hide show
  1. checksums.yaml +4 -4
  2. data/lib/google/cloud/chronicle/v1/reference_list_pb.rb +4 -1
  3. data/lib/google/cloud/chronicle/v1/reference_list_service/client.rb +104 -0
  4. data/lib/google/cloud/chronicle/v1/reference_list_service/credentials.rb +2 -0
  5. data/lib/google/cloud/chronicle/v1/reference_list_service/rest/client.rb +97 -0
  6. data/lib/google/cloud/chronicle/v1/reference_list_service/rest/service_stub.rb +62 -0
  7. data/lib/google/cloud/chronicle/v1/reference_list_services_pb.rb +2 -0
  8. data/lib/google/cloud/chronicle/v1/rest.rb +1 -0
  9. data/lib/google/cloud/chronicle/v1/rule_execution_error_pb.rb +30 -0
  10. data/lib/google/cloud/chronicle/v1/rule_execution_error_service/client.rb +522 -0
  11. data/lib/google/cloud/chronicle/v1/rule_execution_error_service/credentials.rb +49 -0
  12. data/lib/google/cloud/chronicle/v1/rule_execution_error_service/paths.rb +52 -0
  13. data/lib/google/cloud/chronicle/v1/rule_execution_error_service/rest/client.rb +472 -0
  14. data/lib/google/cloud/chronicle/v1/rule_execution_error_service/rest/service_stub.rb +142 -0
  15. data/lib/google/cloud/chronicle/v1/rule_execution_error_service/rest.rb +53 -0
  16. data/lib/google/cloud/chronicle/v1/rule_execution_error_service.rb +56 -0
  17. data/lib/google/cloud/chronicle/v1/rule_execution_error_services_pb.rb +46 -0
  18. data/lib/google/cloud/chronicle/v1/rule_pb.rb +3 -1
  19. data/lib/google/cloud/chronicle/v1/rule_service/client.rb +101 -0
  20. data/lib/google/cloud/chronicle/v1/rule_service/credentials.rb +2 -0
  21. data/lib/google/cloud/chronicle/v1/rule_service/rest/client.rb +94 -0
  22. data/lib/google/cloud/chronicle/v1/rule_service/rest/service_stub.rb +62 -0
  23. data/lib/google/cloud/chronicle/v1/rule_services_pb.rb +2 -0
  24. data/lib/google/cloud/chronicle/v1/version.rb +1 -1
  25. data/lib/google/cloud/chronicle/v1.rb +1 -0
  26. data/proto_docs/google/cloud/chronicle/v1/reference_list.rb +43 -0
  27. data/proto_docs/google/cloud/chronicle/v1/rule.rb +27 -0
  28. data/proto_docs/google/cloud/chronicle/v1/rule_execution_error.rb +116 -0
  29. metadata +11 -1
@@ -0,0 +1,56 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2026 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
+ require "gapic/common"
20
+ require "gapic/config"
21
+ require "gapic/config/method"
22
+
23
+ require "google/cloud/chronicle/v1/version"
24
+
25
+ require "google/cloud/chronicle/v1/rule_execution_error_service/credentials"
26
+ require "google/cloud/chronicle/v1/rule_execution_error_service/paths"
27
+ require "google/cloud/chronicle/v1/rule_execution_error_service/client"
28
+ require "google/cloud/chronicle/v1/rule_execution_error_service/rest"
29
+
30
+ module Google
31
+ module Cloud
32
+ module Chronicle
33
+ module V1
34
+ ##
35
+ # RuleExecutionErrorService contains endpoints related to rule execution
36
+ # errors.
37
+ #
38
+ # @example Load this service and instantiate a gRPC client
39
+ #
40
+ # require "google/cloud/chronicle/v1/rule_execution_error_service"
41
+ # client = ::Google::Cloud::Chronicle::V1::RuleExecutionErrorService::Client.new
42
+ #
43
+ # @example Load this service and instantiate a REST client
44
+ #
45
+ # require "google/cloud/chronicle/v1/rule_execution_error_service/rest"
46
+ # client = ::Google::Cloud::Chronicle::V1::RuleExecutionErrorService::Rest::Client.new
47
+ #
48
+ module RuleExecutionErrorService
49
+ end
50
+ end
51
+ end
52
+ end
53
+ end
54
+
55
+ helper_path = ::File.join __dir__, "rule_execution_error_service", "helpers.rb"
56
+ require "google/cloud/chronicle/v1/rule_execution_error_service/helpers" if ::File.file? helper_path
@@ -0,0 +1,46 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: google/cloud/chronicle/v1/rule_execution_error.proto for package 'Google.Cloud.Chronicle.V1'
3
+ # Original file comments:
4
+ # Copyright 2026 Google LLC
5
+ #
6
+ # Licensed under the Apache License, Version 2.0 (the "License");
7
+ # you may not use this file except in compliance with the License.
8
+ # You may obtain a copy of the License at
9
+ #
10
+ # http://www.apache.org/licenses/LICENSE-2.0
11
+ #
12
+ # Unless required by applicable law or agreed to in writing, software
13
+ # distributed under the License is distributed on an "AS IS" BASIS,
14
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15
+ # See the License for the specific language governing permissions and
16
+ # limitations under the License.
17
+ #
18
+
19
+ require 'grpc'
20
+ require 'google/cloud/chronicle/v1/rule_execution_error_pb'
21
+
22
+ module Google
23
+ module Cloud
24
+ module Chronicle
25
+ module V1
26
+ module RuleExecutionErrorService
27
+ # RuleExecutionErrorService contains endpoints related to rule execution
28
+ # errors.
29
+ class Service
30
+
31
+ include ::GRPC::GenericService
32
+
33
+ self.marshal_class_method = :encode
34
+ self.unmarshal_class_method = :decode
35
+ self.service_name = 'google.cloud.chronicle.v1.RuleExecutionErrorService'
36
+
37
+ # Lists rule execution errors.
38
+ rpc :ListRuleExecutionErrors, ::Google::Cloud::Chronicle::V1::ListRuleExecutionErrorsRequest, ::Google::Cloud::Chronicle::V1::ListRuleExecutionErrorsResponse
39
+ end
40
+
41
+ Stub = Service.rpc_stub_class
42
+ end
43
+ end
44
+ end
45
+ end
46
+ end
@@ -15,7 +15,7 @@ require 'google/protobuf/timestamp_pb'
15
15
  require 'google/type/interval_pb'
16
16
 
17
17
 
18
- descriptor_data = "\n$google/cloud/chronicle/v1/rule.proto\x12\x19google.cloud.chronicle.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1agoogle/type/interval.proto\"\x91\t\n\x04Rule\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0brevision_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x0c\n\x04text\x18\x04 \x01(\t\x12\x13\n\x06\x61uthor\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12:\n\x08severity\x18\x06 \x01(\x0b\x32#.google.cloud.chronicle.v1.SeverityB\x03\xe0\x41\x03\x12\x44\n\x08metadata\x18\x07 \x03(\x0b\x32-.google.cloud.chronicle.v1.Rule.MetadataEntryB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12=\n\x14revision_create_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12P\n\x11\x63ompilation_state\x18\n \x01(\x0e\x32\x30.google.cloud.chronicle.v1.Rule.CompilationStateB\x03\xe0\x41\x03\x12\x36\n\x04type\x18\x0c \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleTypeB\x03\xe0\x41\x03\x12G\n\x0freference_lists\x18\r \x03(\tB.\xe0\x41\x03\xfa\x41(\n&chronicle.googleapis.com/ReferenceList\x12M\n\x17\x61llowed_run_frequencies\x18\x0e \x03(\x0e\x32\'.google.cloud.chronicle.v1.RunFrequencyB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\x0f \x01(\t\x12<\n\x05scope\x18\x10 \x01(\tB-\xfa\x41*\n(chronicle.googleapis.com/DataAccessScope\x12V\n\x17\x63ompilation_diagnostics\x18\x11 \x03(\x0b\x32\x30.google.cloud.chronicle.v1.CompilationDiagnosticB\x03\xe0\x41\x03\x12.\n!near_real_time_live_rule_eligible\x18\x12 \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0binputs_used\x18\x14 \x01(\x0b\x32%.google.cloud.chronicle.v1.InputsUsedB\x03\xe0\x41\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"P\n\x10\x43ompilationState\x12!\n\x1d\x43OMPILATION_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02:m\xea\x41j\n\x1d\x63hronicle.googleapis.com/Rule\x12Iprojects/{project}/locations/{location}/instances/{instance}/rules/{rule}\"\xcb\x05\n\x0eRuleDeployment\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x10\n\x08\x61lerting\x18\x03 \x01(\x08\x12\x10\n\x08\x61rchived\x18\x04 \x01(\x08\x12\x35\n\x0c\x61rchive_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12>\n\rrun_frequency\x18\x06 \x01(\x0e\x32\'.google.cloud.chronicle.v1.RunFrequency\x12V\n\x0f\x65xecution_state\x18\x07 \x01(\x0e\x32\x38.google.cloud.chronicle.v1.RuleDeployment.ExecutionStateB\x03\xe0\x41\x03\x12=\n\x0eproducer_rules\x18\x08 \x03(\tB%\xe0\x41\x03\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12=\n\x0e\x63onsumer_rules\x18\t \x03(\tB%\xe0\x41\x03\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12\x46\n\x1dlast_alert_status_change_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"W\n\x0e\x45xecutionState\x12\x1f\n\x1b\x45XECUTION_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\x0b\n\x07LIMITED\x10\x02\x12\n\n\x06PAUSED\x10\x03:\x82\x01\xea\x41\x7f\n\'chronicle.googleapis.com/RuleDeployment\x12Tprojects/{project}/locations/{location}/instances/{instance}/rules/{rule}/deployment\"\xc8\x03\n\tRetrohunt\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x10process_interval\x18\x02 \x01(\x0b\x32\x15.google.type.IntervalB\x03\xe0\x41\x02\x12\x36\n\x12\x65xecution_interval\x18\x03 \x01(\x0b\x32\x15.google.type.IntervalB\x03\xe0\x41\x03\x12>\n\x05state\x18\x04 \x01(\x0e\x32*.google.cloud.chronicle.v1.Retrohunt.StateB\x03\xe0\x41\x03\x12 \n\x13progress_percentage\x18\x05 \x01(\x02\x42\x03\xe0\x41\x03\"P\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\x08\n\x04\x44ONE\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04:\x8a\x01\xea\x41\x86\x01\n\"chronicle.googleapis.com/Retrohunt\x12`projects/{project}/locations/{location}/instances/{instance}/rules/{rule}/retrohunts/{retrohunt}\"~\n\x11\x43reateRuleRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12\x32\n\x04rule\x18\x02 \x01(\x0b\x32\x1f.google.cloud.chronicle.v1.RuleB\x03\xe0\x41\x02\"x\n\x0eGetRuleRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x31\n\x04view\x18\x02 \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleView\"\xb3\x01\n\x10ListRulesRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x31\n\x04view\x18\x04 \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleView\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\"\\\n\x11ListRulesResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x1f.google.cloud.chronicle.v1.Rule\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"x\n\x11UpdateRuleRequest\x12\x32\n\x04rule\x18\x01 \x01(\x0b\x32\x1f.google.cloud.chronicle.v1.RuleB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\\\n\x11\x44\x65leteRuleRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"\xa9\x01\n\x18ListRuleRevisionsRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x31\n\x04view\x18\x04 \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleView\"d\n\x19ListRuleRevisionsResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x1f.google.cloud.chronicle.v1.Rule\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x92\x01\n\x16\x43reateRetrohuntRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"chronicle.googleapis.com/Retrohunt\x12<\n\tretrohunt\x18\x02 \x01(\x0b\x32$.google.cloud.chronicle.v1.RetrohuntB\x03\xe0\x41\x02\"O\n\x13GetRetrohuntRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"chronicle.googleapis.com/Retrohunt\"\x8a\x01\n\x15ListRetrohuntsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"chronicle.googleapis.com/Retrohunt\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"k\n\x16ListRetrohuntsResponse\x12\x38\n\nretrohunts\x18\x01 \x03(\x0b\x32$.google.cloud.chronicle.v1.Retrohunt\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Y\n\x18GetRuleDeploymentRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'chronicle.googleapis.com/RuleDeployment\"\x94\x01\n\x1aListRuleDeploymentsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'chronicle.googleapis.com/RuleDeployment\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"{\n\x1bListRuleDeploymentsResponse\x12\x43\n\x10rule_deployments\x18\x01 \x03(\x0b\x32).google.cloud.chronicle.v1.RuleDeployment\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x9c\x01\n\x1bUpdateRuleDeploymentRequest\x12G\n\x0frule_deployment\x18\x01 \x01(\x0b\x32).google.cloud.chronicle.v1.RuleDeploymentB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"y\n\x13\x43ompilationPosition\x12\x17\n\nstart_line\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03\x12\x19\n\x0cstart_column\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03\x12\x15\n\x08\x65nd_line\x18\x03 \x01(\x05\x42\x03\xe0\x41\x03\x12\x17\n\nend_column\x18\x04 \x01(\x05\x42\x03\xe0\x41\x03\"\x96\x02\n\x15\x43ompilationDiagnostic\x12\x14\n\x07message\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x45\n\x08position\x18\x02 \x01(\x0b\x32..google.cloud.chronicle.v1.CompilationPositionB\x03\xe0\x41\x03\x12P\n\x08severity\x18\x03 \x01(\x0e\x32\x39.google.cloud.chronicle.v1.CompilationDiagnostic.SeverityB\x03\xe0\x41\x03\x12\x10\n\x03uri\x18\x05 \x01(\tB\x03\xe0\x41\x03\"<\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0b\n\x07WARNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02\" \n\x08Severity\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\"\x9a\x01\n\x11RetrohuntMetadata\x12\x35\n\tretrohunt\x18\x01 \x01(\tB\"\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x31\n\x12\x65xecution_interval\x18\x02 \x01(\x0b\x32\x15.google.type.Interval\x12\x1b\n\x13progress_percentage\x18\x03 \x01(\x02\"Z\n\nInputsUsed\x12\x15\n\x08uses_udm\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12\x18\n\x0buses_entity\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1b\n\x0euses_detection\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01*N\n\x0cRunFrequency\x12\x1d\n\x19RUN_FREQUENCY_UNSPECIFIED\x10\x00\x12\x08\n\x04LIVE\x10\x01\x12\n\n\x06HOURLY\x10\x02\x12\t\n\x05\x44\x41ILY\x10\x03*H\n\x08RuleType\x12\x19\n\x15RULE_TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSINGLE_EVENT\x10\x01\x12\x0f\n\x0bMULTI_EVENT\x10\x02*V\n\x08RuleView\x12\x19\n\x15RULE_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x12\x1a\n\x16REVISION_METADATA_ONLY\x10\x03\x32\xa9\x13\n\x0bRuleService\x12\xae\x01\n\nCreateRule\x12,.google.cloud.chronicle.v1.CreateRuleRequest\x1a\x1f.google.cloud.chronicle.v1.Rule\"Q\xda\x41\x0bparent,rule\x82\xd3\xe4\x93\x02=\"5/v1/{parent=projects/*/locations/*/instances/*}/rules:\x04rule\x12\x9b\x01\n\x07GetRule\x12).google.cloud.chronicle.v1.GetRuleRequest\x1a\x1f.google.cloud.chronicle.v1.Rule\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/instances/*/rules/*}\x12\xae\x01\n\tListRules\x12+.google.cloud.chronicle.v1.ListRulesRequest\x1a,.google.cloud.chronicle.v1.ListRulesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*/instances/*}/rules\x12\xb8\x01\n\nUpdateRule\x12,.google.cloud.chronicle.v1.UpdateRuleRequest\x1a\x1f.google.cloud.chronicle.v1.Rule\"[\xda\x41\x10rule,update_mask\x82\xd3\xe4\x93\x02\x42\x32:/v1/{rule.name=projects/*/locations/*/instances/*/rules/*}:\x04rule\x12\x98\x01\n\nDeleteRule\x12,.google.cloud.chronicle.v1.DeleteRuleRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/instances/*/rules/*}\x12\xd2\x01\n\x11ListRuleRevisions\x12\x33.google.cloud.chronicle.v1.ListRuleRevisionsRequest\x1a\x34.google.cloud.chronicle.v1.ListRuleRevisionsResponse\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{name=projects/*/locations/*/instances/*/rules/*}:listRevisions\x12\xef\x01\n\x0f\x43reateRetrohunt\x12\x31.google.cloud.chronicle.v1.CreateRetrohuntRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1e\n\tRetrohunt\x12\x11RetrohuntMetadata\xda\x41\x10parent,retrohunt\x82\xd3\xe4\x93\x02O\"B/v1/{parent=projects/*/locations/*/instances/*/rules/*}/retrohunts:\tretrohunt\x12\xb7\x01\n\x0cGetRetrohunt\x12..google.cloud.chronicle.v1.GetRetrohuntRequest\x1a$.google.cloud.chronicle.v1.Retrohunt\"Q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{name=projects/*/locations/*/instances/*/rules/*/retrohunts/*}\x12\xca\x01\n\x0eListRetrohunts\x12\x30.google.cloud.chronicle.v1.ListRetrohuntsRequest\x1a\x31.google.cloud.chronicle.v1.ListRetrohuntsResponse\"S\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{parent=projects/*/locations/*/instances/*/rules/*}/retrohunts\x12\xc4\x01\n\x11GetRuleDeployment\x12\x33.google.cloud.chronicle.v1.GetRuleDeploymentRequest\x1a).google.cloud.chronicle.v1.RuleDeployment\"O\xda\x41\x04name\x82\xd3\xe4\x93\x02\x42\x12@/v1/{name=projects/*/locations/*/instances/*/rules/*/deployment}\x12\xda\x01\n\x13ListRuleDeployments\x12\x35.google.cloud.chronicle.v1.ListRuleDeploymentsRequest\x1a\x36.google.cloud.chronicle.v1.ListRuleDeploymentsResponse\"T\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{parent=projects/*/locations/*/instances/*/rules/*}/deployments\x12\x83\x02\n\x14UpdateRuleDeployment\x12\x36.google.cloud.chronicle.v1.UpdateRuleDeploymentRequest\x1a).google.cloud.chronicle.v1.RuleDeployment\"\x87\x01\xda\x41\x1brule_deployment,update_mask\x82\xd3\xe4\x93\x02\x63\x32P/v1/{rule_deployment.name=projects/*/locations/*/instances/*/rules/*/deployment}:\x0frule_deployment\x1aL\xca\x41\x18\x63hronicle.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xc0\x01\n\x1d\x63om.google.cloud.chronicle.v1B\tRuleProtoP\x01Z;cloud.google.com/go/chronicle/apiv1/chroniclepb;chroniclepb\xaa\x02\x19Google.Cloud.Chronicle.V1\xca\x02\x19Google\\Cloud\\Chronicle\\V1\xea\x02\x1cGoogle::Cloud::Chronicle::V1b\x06proto3"
18
+ descriptor_data = "\n$google/cloud/chronicle/v1/rule.proto\x12\x19google.cloud.chronicle.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1agoogle/type/interval.proto\"\x91\t\n\x04Rule\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x08\x12\x18\n\x0brevision_id\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x0c\n\x04text\x18\x04 \x01(\t\x12\x13\n\x06\x61uthor\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12:\n\x08severity\x18\x06 \x01(\x0b\x32#.google.cloud.chronicle.v1.SeverityB\x03\xe0\x41\x03\x12\x44\n\x08metadata\x18\x07 \x03(\x0b\x32-.google.cloud.chronicle.v1.Rule.MetadataEntryB\x03\xe0\x41\x03\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12=\n\x14revision_create_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12P\n\x11\x63ompilation_state\x18\n \x01(\x0e\x32\x30.google.cloud.chronicle.v1.Rule.CompilationStateB\x03\xe0\x41\x03\x12\x36\n\x04type\x18\x0c \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleTypeB\x03\xe0\x41\x03\x12G\n\x0freference_lists\x18\r \x03(\tB.\xe0\x41\x03\xfa\x41(\n&chronicle.googleapis.com/ReferenceList\x12M\n\x17\x61llowed_run_frequencies\x18\x0e \x03(\x0e\x32\'.google.cloud.chronicle.v1.RunFrequencyB\x03\xe0\x41\x03\x12\x0c\n\x04\x65tag\x18\x0f \x01(\t\x12<\n\x05scope\x18\x10 \x01(\tB-\xfa\x41*\n(chronicle.googleapis.com/DataAccessScope\x12V\n\x17\x63ompilation_diagnostics\x18\x11 \x03(\x0b\x32\x30.google.cloud.chronicle.v1.CompilationDiagnosticB\x03\xe0\x41\x03\x12.\n!near_real_time_live_rule_eligible\x18\x12 \x01(\x08\x42\x03\xe0\x41\x03\x12?\n\x0binputs_used\x18\x14 \x01(\x0b\x32%.google.cloud.chronicle.v1.InputsUsedB\x03\xe0\x41\x03\x1a/\n\rMetadataEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"P\n\x10\x43ompilationState\x12!\n\x1d\x43OMPILATION_STATE_UNSPECIFIED\x10\x00\x12\r\n\tSUCCEEDED\x10\x01\x12\n\n\x06\x46\x41ILED\x10\x02:m\xea\x41j\n\x1d\x63hronicle.googleapis.com/Rule\x12Iprojects/{project}/locations/{location}/instances/{instance}/rules/{rule}\"\xcb\x05\n\x0eRuleDeployment\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x0f\n\x07\x65nabled\x18\x02 \x01(\x08\x12\x10\n\x08\x61lerting\x18\x03 \x01(\x08\x12\x10\n\x08\x61rchived\x18\x04 \x01(\x08\x12\x35\n\x0c\x61rchive_time\x18\x05 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12>\n\rrun_frequency\x18\x06 \x01(\x0e\x32\'.google.cloud.chronicle.v1.RunFrequency\x12V\n\x0f\x65xecution_state\x18\x07 \x01(\x0e\x32\x38.google.cloud.chronicle.v1.RuleDeployment.ExecutionStateB\x03\xe0\x41\x03\x12=\n\x0eproducer_rules\x18\x08 \x03(\tB%\xe0\x41\x03\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12=\n\x0e\x63onsumer_rules\x18\t \x03(\tB%\xe0\x41\x03\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12\x46\n\x1dlast_alert_status_change_time\x18\n \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\"W\n\x0e\x45xecutionState\x12\x1f\n\x1b\x45XECUTION_STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07\x44\x45\x46\x41ULT\x10\x01\x12\x0b\n\x07LIMITED\x10\x02\x12\n\n\x06PAUSED\x10\x03:\x82\x01\xea\x41\x7f\n\'chronicle.googleapis.com/RuleDeployment\x12Tprojects/{project}/locations/{location}/instances/{instance}/rules/{rule}/deployment\"\xc8\x03\n\tRetrohunt\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x10process_interval\x18\x02 \x01(\x0b\x32\x15.google.type.IntervalB\x03\xe0\x41\x02\x12\x36\n\x12\x65xecution_interval\x18\x03 \x01(\x0b\x32\x15.google.type.IntervalB\x03\xe0\x41\x03\x12>\n\x05state\x18\x04 \x01(\x0e\x32*.google.cloud.chronicle.v1.Retrohunt.StateB\x03\xe0\x41\x03\x12 \n\x13progress_percentage\x18\x05 \x01(\x02\x42\x03\xe0\x41\x03\"P\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x0b\n\x07RUNNING\x10\x01\x12\x08\n\x04\x44ONE\x10\x02\x12\r\n\tCANCELLED\x10\x03\x12\n\n\x06\x46\x41ILED\x10\x04:\x8a\x01\xea\x41\x86\x01\n\"chronicle.googleapis.com/Retrohunt\x12`projects/{project}/locations/{location}/instances/{instance}/rules/{rule}/retrohunts/{retrohunt}\"~\n\x11\x43reateRuleRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12\x32\n\x04rule\x18\x02 \x01(\x0b\x32\x1f.google.cloud.chronicle.v1.RuleB\x03\xe0\x41\x02\"x\n\x0eGetRuleRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x31\n\x04view\x18\x02 \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleView\"\xb3\x01\n\x10ListRulesRequest\x12\x35\n\x06parent\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\x12\x1d\x63hronicle.googleapis.com/Rule\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x31\n\x04view\x18\x04 \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleView\x12\x0e\n\x06\x66ilter\x18\x05 \x01(\t\"\\\n\x11ListRulesResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x1f.google.cloud.chronicle.v1.Rule\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"x\n\x11UpdateRuleRequest\x12\x32\n\x04rule\x18\x01 \x01(\x0b\x32\x1f.google.cloud.chronicle.v1.RuleB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\\\n\x11\x44\x65leteRuleRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x12\n\x05\x66orce\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"l\n\x15VerifyRuleTextRequest\x12;\n\x08instance\x18\x01 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!chronicle.googleapis.com/Instance\x12\x16\n\trule_text\x18\x02 \x01(\tB\x03\xe0\x41\x02\"|\n\x16VerifyRuleTextResponse\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12Q\n\x17\x63ompilation_diagnostics\x18\x03 \x03(\x0b\x32\x30.google.cloud.chronicle.v1.CompilationDiagnostic\"\xa9\x01\n\x18ListRuleRevisionsRequest\x12\x33\n\x04name\x18\x01 \x01(\tB%\xe0\x41\x02\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x31\n\x04view\x18\x04 \x01(\x0e\x32#.google.cloud.chronicle.v1.RuleView\"d\n\x19ListRuleRevisionsResponse\x12.\n\x05rules\x18\x01 \x03(\x0b\x32\x1f.google.cloud.chronicle.v1.Rule\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x92\x01\n\x16\x43reateRetrohuntRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"chronicle.googleapis.com/Retrohunt\x12<\n\tretrohunt\x18\x02 \x01(\x0b\x32$.google.cloud.chronicle.v1.RetrohuntB\x03\xe0\x41\x02\"O\n\x13GetRetrohuntRequest\x12\x38\n\x04name\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\n\"chronicle.googleapis.com/Retrohunt\"\x8a\x01\n\x15ListRetrohuntsRequest\x12:\n\x06parent\x18\x01 \x01(\tB*\xe0\x41\x02\xfa\x41$\x12\"chronicle.googleapis.com/Retrohunt\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"k\n\x16ListRetrohuntsResponse\x12\x38\n\nretrohunts\x18\x01 \x03(\x0b\x32$.google.cloud.chronicle.v1.Retrohunt\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"Y\n\x18GetRuleDeploymentRequest\x12=\n\x04name\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\n\'chronicle.googleapis.com/RuleDeployment\"\x94\x01\n\x1aListRuleDeploymentsRequest\x12?\n\x06parent\x18\x01 \x01(\tB/\xe0\x41\x02\xfa\x41)\x12\'chronicle.googleapis.com/RuleDeployment\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x0e\n\x06\x66ilter\x18\x04 \x01(\t\"{\n\x1bListRuleDeploymentsResponse\x12\x43\n\x10rule_deployments\x18\x01 \x03(\x0b\x32).google.cloud.chronicle.v1.RuleDeployment\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x9c\x01\n\x1bUpdateRuleDeploymentRequest\x12G\n\x0frule_deployment\x18\x01 \x01(\x0b\x32).google.cloud.chronicle.v1.RuleDeploymentB\x03\xe0\x41\x02\x12\x34\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\"y\n\x13\x43ompilationPosition\x12\x17\n\nstart_line\x18\x01 \x01(\x05\x42\x03\xe0\x41\x03\x12\x19\n\x0cstart_column\x18\x02 \x01(\x05\x42\x03\xe0\x41\x03\x12\x15\n\x08\x65nd_line\x18\x03 \x01(\x05\x42\x03\xe0\x41\x03\x12\x17\n\nend_column\x18\x04 \x01(\x05\x42\x03\xe0\x41\x03\"\x96\x02\n\x15\x43ompilationDiagnostic\x12\x14\n\x07message\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x45\n\x08position\x18\x02 \x01(\x0b\x32..google.cloud.chronicle.v1.CompilationPositionB\x03\xe0\x41\x03\x12P\n\x08severity\x18\x03 \x01(\x0e\x32\x39.google.cloud.chronicle.v1.CompilationDiagnostic.SeverityB\x03\xe0\x41\x03\x12\x10\n\x03uri\x18\x05 \x01(\tB\x03\xe0\x41\x03\"<\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0b\n\x07WARNING\x10\x01\x12\t\n\x05\x45RROR\x10\x02\" \n\x08Severity\x12\x14\n\x0c\x64isplay_name\x18\x01 \x01(\t\"\x9a\x01\n\x11RetrohuntMetadata\x12\x35\n\tretrohunt\x18\x01 \x01(\tB\"\xfa\x41\x1f\n\x1d\x63hronicle.googleapis.com/Rule\x12\x31\n\x12\x65xecution_interval\x18\x02 \x01(\x0b\x32\x15.google.type.Interval\x12\x1b\n\x13progress_percentage\x18\x03 \x01(\x02\"Z\n\nInputsUsed\x12\x15\n\x08uses_udm\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12\x18\n\x0buses_entity\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1b\n\x0euses_detection\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01*N\n\x0cRunFrequency\x12\x1d\n\x19RUN_FREQUENCY_UNSPECIFIED\x10\x00\x12\x08\n\x04LIVE\x10\x01\x12\n\n\x06HOURLY\x10\x02\x12\t\n\x05\x44\x41ILY\x10\x03*H\n\x08RuleType\x12\x19\n\x15RULE_TYPE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSINGLE_EVENT\x10\x01\x12\x0f\n\x0bMULTI_EVENT\x10\x02*V\n\x08RuleView\x12\x19\n\x15RULE_VIEW_UNSPECIFIED\x10\x00\x12\t\n\x05\x42\x41SIC\x10\x01\x12\x08\n\x04\x46ULL\x10\x02\x12\x1a\n\x16REVISION_METADATA_ONLY\x10\x03\x32\xe2\x15\n\x0bRuleService\x12\xae\x01\n\nCreateRule\x12,.google.cloud.chronicle.v1.CreateRuleRequest\x1a\x1f.google.cloud.chronicle.v1.Rule\"Q\xda\x41\x0bparent,rule\x82\xd3\xe4\x93\x02=\"5/v1/{parent=projects/*/locations/*/instances/*}/rules:\x04rule\x12\x9b\x01\n\x07GetRule\x12).google.cloud.chronicle.v1.GetRuleRequest\x1a\x1f.google.cloud.chronicle.v1.Rule\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{name=projects/*/locations/*/instances/*/rules/*}\x12\xae\x01\n\tListRules\x12+.google.cloud.chronicle.v1.ListRulesRequest\x1a,.google.cloud.chronicle.v1.ListRulesResponse\"F\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x37\x12\x35/v1/{parent=projects/*/locations/*/instances/*}/rules\x12\xb8\x01\n\nUpdateRule\x12,.google.cloud.chronicle.v1.UpdateRuleRequest\x1a\x1f.google.cloud.chronicle.v1.Rule\"[\xda\x41\x10rule,update_mask\x82\xd3\xe4\x93\x02\x42\x32:/v1/{rule.name=projects/*/locations/*/instances/*/rules/*}:\x04rule\x12\x98\x01\n\nDeleteRule\x12,.google.cloud.chronicle.v1.DeleteRuleRequest\x1a\x16.google.protobuf.Empty\"D\xda\x41\x04name\x82\xd3\xe4\x93\x02\x37*5/v1/{name=projects/*/locations/*/instances/*/rules/*}\x12\xd7\x01\n\x0eVerifyRuleText\x12\x30.google.cloud.chronicle.v1.VerifyRuleTextRequest\x1a\x31.google.cloud.chronicle.v1.VerifyRuleTextResponse\"`\xda\x41\x12instance,rule_text\x82\xd3\xe4\x93\x02\x45\"@/v1/{instance=projects/*/locations/*/instances/*}:verifyRuleText:\x01*\x12\xd2\x01\n\x11ListRuleRevisions\x12\x33.google.cloud.chronicle.v1.ListRuleRevisionsRequest\x1a\x34.google.cloud.chronicle.v1.ListRuleRevisionsResponse\"R\xda\x41\x04name\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{name=projects/*/locations/*/instances/*/rules/*}:listRevisions\x12\xef\x01\n\x0f\x43reateRetrohunt\x12\x31.google.cloud.chronicle.v1.CreateRetrohuntRequest\x1a\x1d.google.longrunning.Operation\"\x89\x01\xca\x41\x1e\n\tRetrohunt\x12\x11RetrohuntMetadata\xda\x41\x10parent,retrohunt\x82\xd3\xe4\x93\x02O\"B/v1/{parent=projects/*/locations/*/instances/*/rules/*}/retrohunts:\tretrohunt\x12\xb7\x01\n\x0cGetRetrohunt\x12..google.cloud.chronicle.v1.GetRetrohuntRequest\x1a$.google.cloud.chronicle.v1.Retrohunt\"Q\xda\x41\x04name\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{name=projects/*/locations/*/instances/*/rules/*/retrohunts/*}\x12\xca\x01\n\x0eListRetrohunts\x12\x30.google.cloud.chronicle.v1.ListRetrohuntsRequest\x1a\x31.google.cloud.chronicle.v1.ListRetrohuntsResponse\"S\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x44\x12\x42/v1/{parent=projects/*/locations/*/instances/*/rules/*}/retrohunts\x12\xc4\x01\n\x11GetRuleDeployment\x12\x33.google.cloud.chronicle.v1.GetRuleDeploymentRequest\x1a).google.cloud.chronicle.v1.RuleDeployment\"O\xda\x41\x04name\x82\xd3\xe4\x93\x02\x42\x12@/v1/{name=projects/*/locations/*/instances/*/rules/*/deployment}\x12\xda\x01\n\x13ListRuleDeployments\x12\x35.google.cloud.chronicle.v1.ListRuleDeploymentsRequest\x1a\x36.google.cloud.chronicle.v1.ListRuleDeploymentsResponse\"T\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x45\x12\x43/v1/{parent=projects/*/locations/*/instances/*/rules/*}/deployments\x12\x83\x02\n\x14UpdateRuleDeployment\x12\x36.google.cloud.chronicle.v1.UpdateRuleDeploymentRequest\x1a).google.cloud.chronicle.v1.RuleDeployment\"\x87\x01\xda\x41\x1brule_deployment,update_mask\x82\xd3\xe4\x93\x02\x63\x32P/v1/{rule_deployment.name=projects/*/locations/*/instances/*/rules/*/deployment}:\x0frule_deployment\x1a\xaa\x01\xca\x41\x18\x63hronicle.googleapis.com\xd2\x41\x8b\x01https://www.googleapis.com/auth/chronicle,https://www.googleapis.com/auth/chronicle.readonly,https://www.googleapis.com/auth/cloud-platformB\xc0\x01\n\x1d\x63om.google.cloud.chronicle.v1B\tRuleProtoP\x01Z;cloud.google.com/go/chronicle/apiv1/chroniclepb;chroniclepb\xaa\x02\x19Google.Cloud.Chronicle.V1\xca\x02\x19Google\\Cloud\\Chronicle\\V1\xea\x02\x1cGoogle::Cloud::Chronicle::V1b\x06proto3"
19
19
 
20
20
  pool = ::Google::Protobuf::DescriptorPool.generated_pool
21
21
  pool.add_serialized_file(descriptor_data)
@@ -36,6 +36,8 @@ module Google
36
36
  ListRulesResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.ListRulesResponse").msgclass
37
37
  UpdateRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.UpdateRuleRequest").msgclass
38
38
  DeleteRuleRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.DeleteRuleRequest").msgclass
39
+ VerifyRuleTextRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.VerifyRuleTextRequest").msgclass
40
+ VerifyRuleTextResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.VerifyRuleTextResponse").msgclass
39
41
  ListRuleRevisionsRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.ListRuleRevisionsRequest").msgclass
40
42
  ListRuleRevisionsResponse = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.ListRuleRevisionsResponse").msgclass
41
43
  CreateRetrohuntRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.chronicle.v1.CreateRetrohuntRequest").msgclass
@@ -86,6 +86,11 @@ module Google
86
86
 
87
87
  default_config.rpcs.delete_rule.timeout = 60.0
88
88
 
89
+ default_config.rpcs.verify_rule_text.timeout = 60.0
90
+ default_config.rpcs.verify_rule_text.retry_policy = {
91
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
92
+ }
93
+
89
94
  default_config.rpcs.list_rule_revisions.timeout = 600.0
90
95
  default_config.rpcs.list_rule_revisions.retry_policy = {
91
96
  initial_delay: 1.0, max_delay: 600.0, multiplier: 1.3, retry_codes: [14]
@@ -718,6 +723,95 @@ module Google
718
723
  raise ::Google::Cloud::Error.from_error(e)
719
724
  end
720
725
 
726
+ ##
727
+ # Verifies the given rule text.
728
+ #
729
+ # @overload verify_rule_text(request, options = nil)
730
+ # Pass arguments to `verify_rule_text` via a request object, either of type
731
+ # {::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest} or an equivalent Hash.
732
+ #
733
+ # @param request [::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest, ::Hash]
734
+ # A request object representing the call parameters. Required. To specify no
735
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
736
+ # @param options [::Gapic::CallOptions, ::Hash]
737
+ # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
738
+ #
739
+ # @overload verify_rule_text(instance: nil, rule_text: nil)
740
+ # Pass arguments to `verify_rule_text` via keyword arguments. Note that at
741
+ # least one keyword argument is required. To specify no parameters, or to keep all
742
+ # the default parameter values, pass an empty Hash as a request object (see above).
743
+ #
744
+ # @param instance [::String]
745
+ # Required. The name of the parent resource, which is the SecOps instance
746
+ # associated with the request. Format:
747
+ # `projects/{project}/locations/{location}/instances/{instance}`
748
+ # @param rule_text [::String]
749
+ # Required. The rule text to verify as a UTF-8 string.
750
+ #
751
+ # @yield [response, operation] Access the result along with the RPC operation
752
+ # @yieldparam response [::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse]
753
+ # @yieldparam operation [::GRPC::ActiveCall::Operation]
754
+ #
755
+ # @return [::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse]
756
+ #
757
+ # @raise [::Google::Cloud::Error] if the RPC is aborted.
758
+ #
759
+ # @example Basic example
760
+ # require "google/cloud/chronicle/v1"
761
+ #
762
+ # # Create a client object. The client can be reused for multiple calls.
763
+ # client = Google::Cloud::Chronicle::V1::RuleService::Client.new
764
+ #
765
+ # # Create a request. To set request fields, pass in keyword arguments.
766
+ # request = Google::Cloud::Chronicle::V1::VerifyRuleTextRequest.new
767
+ #
768
+ # # Call the verify_rule_text method.
769
+ # result = client.verify_rule_text request
770
+ #
771
+ # # The returned object is of type Google::Cloud::Chronicle::V1::VerifyRuleTextResponse.
772
+ # p result
773
+ #
774
+ def verify_rule_text request, options = nil
775
+ raise ::ArgumentError, "request must be provided" if request.nil?
776
+
777
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest
778
+
779
+ # Converts hash and nil to an options object
780
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
781
+
782
+ # Customize the options with defaults
783
+ metadata = @config.rpcs.verify_rule_text.metadata.to_h
784
+
785
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
786
+ metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
787
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
788
+ gapic_version: ::Google::Cloud::Chronicle::V1::VERSION
789
+ metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
790
+ metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
791
+
792
+ header_params = {}
793
+ if request.instance
794
+ header_params["instance"] = request.instance
795
+ end
796
+
797
+ request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
798
+ metadata[:"x-goog-request-params"] ||= request_params_header
799
+
800
+ options.apply_defaults timeout: @config.rpcs.verify_rule_text.timeout,
801
+ metadata: metadata,
802
+ retry_policy: @config.rpcs.verify_rule_text.retry_policy
803
+
804
+ options.apply_defaults timeout: @config.timeout,
805
+ metadata: @config.metadata,
806
+ retry_policy: @config.retry_policy
807
+
808
+ @rule_service_stub.call_rpc :verify_rule_text, request, options: options do |response, operation|
809
+ yield response, operation if block_given?
810
+ end
811
+ rescue ::GRPC::BadStatus => e
812
+ raise ::Google::Cloud::Error.from_error(e)
813
+ end
814
+
721
815
  ##
722
816
  # Lists all revisions of the rule.
723
817
  #
@@ -1619,6 +1713,11 @@ module Google
1619
1713
  #
1620
1714
  attr_reader :delete_rule
1621
1715
  ##
1716
+ # RPC-specific configuration for `verify_rule_text`
1717
+ # @return [::Gapic::Config::Method]
1718
+ #
1719
+ attr_reader :verify_rule_text
1720
+ ##
1622
1721
  # RPC-specific configuration for `list_rule_revisions`
1623
1722
  # @return [::Gapic::Config::Method]
1624
1723
  #
@@ -1666,6 +1765,8 @@ module Google
1666
1765
  @update_rule = ::Gapic::Config::Method.new update_rule_config
1667
1766
  delete_rule_config = parent_rpcs.delete_rule if parent_rpcs.respond_to? :delete_rule
1668
1767
  @delete_rule = ::Gapic::Config::Method.new delete_rule_config
1768
+ verify_rule_text_config = parent_rpcs.verify_rule_text if parent_rpcs.respond_to? :verify_rule_text
1769
+ @verify_rule_text = ::Gapic::Config::Method.new verify_rule_text_config
1669
1770
  list_rule_revisions_config = parent_rpcs.list_rule_revisions if parent_rpcs.respond_to? :list_rule_revisions
1670
1771
  @list_rule_revisions = ::Gapic::Config::Method.new list_rule_revisions_config
1671
1772
  create_retrohunt_config = parent_rpcs.create_retrohunt if parent_rpcs.respond_to? :create_retrohunt
@@ -26,6 +26,8 @@ module Google
26
26
  # Credentials for the RuleService API.
27
27
  class Credentials < ::Google::Auth::Credentials
28
28
  self.scope = [
29
+ "https://www.googleapis.com/auth/chronicle",
30
+ "https://www.googleapis.com/auth/chronicle.readonly",
29
31
  "https://www.googleapis.com/auth/cloud-platform"
30
32
  ]
31
33
  self.env_vars = [
@@ -88,6 +88,11 @@ module Google
88
88
 
89
89
  default_config.rpcs.delete_rule.timeout = 60.0
90
90
 
91
+ default_config.rpcs.verify_rule_text.timeout = 60.0
92
+ default_config.rpcs.verify_rule_text.retry_policy = {
93
+ initial_delay: 1.0, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
94
+ }
95
+
91
96
  default_config.rpcs.list_rule_revisions.timeout = 600.0
92
97
  default_config.rpcs.list_rule_revisions.retry_policy = {
93
98
  initial_delay: 1.0, max_delay: 600.0, multiplier: 1.3, retry_codes: [14]
@@ -676,6 +681,88 @@ module Google
676
681
  raise ::Google::Cloud::Error.from_error(e)
677
682
  end
678
683
 
684
+ ##
685
+ # Verifies the given rule text.
686
+ #
687
+ # @overload verify_rule_text(request, options = nil)
688
+ # Pass arguments to `verify_rule_text` via a request object, either of type
689
+ # {::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest} or an equivalent Hash.
690
+ #
691
+ # @param request [::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest, ::Hash]
692
+ # A request object representing the call parameters. Required. To specify no
693
+ # parameters, or to keep all the default parameter values, pass an empty Hash.
694
+ # @param options [::Gapic::CallOptions, ::Hash]
695
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
696
+ #
697
+ # @overload verify_rule_text(instance: nil, rule_text: nil)
698
+ # Pass arguments to `verify_rule_text` via keyword arguments. Note that at
699
+ # least one keyword argument is required. To specify no parameters, or to keep all
700
+ # the default parameter values, pass an empty Hash as a request object (see above).
701
+ #
702
+ # @param instance [::String]
703
+ # Required. The name of the parent resource, which is the SecOps instance
704
+ # associated with the request. Format:
705
+ # `projects/{project}/locations/{location}/instances/{instance}`
706
+ # @param rule_text [::String]
707
+ # Required. The rule text to verify as a UTF-8 string.
708
+ # @yield [result, operation] Access the result along with the TransportOperation object
709
+ # @yieldparam result [::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse]
710
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
711
+ #
712
+ # @return [::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse]
713
+ #
714
+ # @raise [::Google::Cloud::Error] if the REST call is aborted.
715
+ #
716
+ # @example Basic example
717
+ # require "google/cloud/chronicle/v1"
718
+ #
719
+ # # Create a client object. The client can be reused for multiple calls.
720
+ # client = Google::Cloud::Chronicle::V1::RuleService::Rest::Client.new
721
+ #
722
+ # # Create a request. To set request fields, pass in keyword arguments.
723
+ # request = Google::Cloud::Chronicle::V1::VerifyRuleTextRequest.new
724
+ #
725
+ # # Call the verify_rule_text method.
726
+ # result = client.verify_rule_text request
727
+ #
728
+ # # The returned object is of type Google::Cloud::Chronicle::V1::VerifyRuleTextResponse.
729
+ # p result
730
+ #
731
+ def verify_rule_text request, options = nil
732
+ raise ::ArgumentError, "request must be provided" if request.nil?
733
+
734
+ request = ::Gapic::Protobuf.coerce request, to: ::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest
735
+
736
+ # Converts hash and nil to an options object
737
+ options = ::Gapic::CallOptions.new(**options.to_h) if options.respond_to? :to_h
738
+
739
+ # Customize the options with defaults
740
+ call_metadata = @config.rpcs.verify_rule_text.metadata.to_h
741
+
742
+ # Set x-goog-api-client, x-goog-user-project and x-goog-api-version headers
743
+ call_metadata[:"x-goog-api-client"] ||= ::Gapic::Headers.x_goog_api_client \
744
+ lib_name: @config.lib_name, lib_version: @config.lib_version,
745
+ gapic_version: ::Google::Cloud::Chronicle::V1::VERSION,
746
+ transports_version_send: [:rest]
747
+
748
+ call_metadata[:"x-goog-api-version"] = API_VERSION unless API_VERSION.empty?
749
+ call_metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
750
+
751
+ options.apply_defaults timeout: @config.rpcs.verify_rule_text.timeout,
752
+ metadata: call_metadata,
753
+ retry_policy: @config.rpcs.verify_rule_text.retry_policy
754
+
755
+ options.apply_defaults timeout: @config.timeout,
756
+ metadata: @config.metadata,
757
+ retry_policy: @config.retry_policy
758
+
759
+ @rule_service_stub.verify_rule_text request, options do |result, operation|
760
+ yield result, operation if block_given?
761
+ end
762
+ rescue ::Gapic::Rest::Error => e
763
+ raise ::Google::Cloud::Error.from_error(e)
764
+ end
765
+
679
766
  ##
680
767
  # Lists all revisions of the rule.
681
768
  #
@@ -1491,6 +1578,11 @@ module Google
1491
1578
  #
1492
1579
  attr_reader :delete_rule
1493
1580
  ##
1581
+ # RPC-specific configuration for `verify_rule_text`
1582
+ # @return [::Gapic::Config::Method]
1583
+ #
1584
+ attr_reader :verify_rule_text
1585
+ ##
1494
1586
  # RPC-specific configuration for `list_rule_revisions`
1495
1587
  # @return [::Gapic::Config::Method]
1496
1588
  #
@@ -1538,6 +1630,8 @@ module Google
1538
1630
  @update_rule = ::Gapic::Config::Method.new update_rule_config
1539
1631
  delete_rule_config = parent_rpcs.delete_rule if parent_rpcs.respond_to? :delete_rule
1540
1632
  @delete_rule = ::Gapic::Config::Method.new delete_rule_config
1633
+ verify_rule_text_config = parent_rpcs.verify_rule_text if parent_rpcs.respond_to? :verify_rule_text
1634
+ @verify_rule_text = ::Gapic::Config::Method.new verify_rule_text_config
1541
1635
  list_rule_revisions_config = parent_rpcs.list_rule_revisions if parent_rpcs.respond_to? :list_rule_revisions
1542
1636
  @list_rule_revisions = ::Gapic::Config::Method.new list_rule_revisions_config
1543
1637
  create_retrohunt_config = parent_rpcs.create_retrohunt if parent_rpcs.respond_to? :create_retrohunt
@@ -273,6 +273,46 @@ module Google
273
273
  end
274
274
  end
275
275
 
276
+ ##
277
+ # Baseline implementation for the verify_rule_text REST call
278
+ #
279
+ # @param request_pb [::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest]
280
+ # A request object representing the call parameters. Required.
281
+ # @param options [::Gapic::CallOptions]
282
+ # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
283
+ #
284
+ # @yield [result, operation] Access the result along with the TransportOperation object
285
+ # @yieldparam result [::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse]
286
+ # @yieldparam operation [::Gapic::Rest::TransportOperation]
287
+ #
288
+ # @return [::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse]
289
+ # A result object deserialized from the server's reply
290
+ def verify_rule_text request_pb, options = nil
291
+ raise ::ArgumentError, "request must be provided" if request_pb.nil?
292
+
293
+ verb, uri, query_string_params, body = ServiceStub.transcode_verify_rule_text_request request_pb
294
+ query_string_params = if query_string_params.any?
295
+ query_string_params.to_h { |p| p.split "=", 2 }
296
+ else
297
+ {}
298
+ end
299
+
300
+ response = @client_stub.make_http_request(
301
+ verb,
302
+ uri: uri,
303
+ body: body || "",
304
+ params: query_string_params,
305
+ method_name: "verify_rule_text",
306
+ options: options
307
+ )
308
+ operation = ::Gapic::Rest::TransportOperation.new response
309
+ result = ::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse.decode_json response.body, ignore_unknown_fields: true
310
+ catch :response do
311
+ yield result, operation if block_given?
312
+ result
313
+ end
314
+ end
315
+
276
316
  ##
277
317
  # Baseline implementation for the list_rule_revisions REST call
278
318
  #
@@ -660,6 +700,28 @@ module Google
660
700
  transcoder.transcode request_pb
661
701
  end
662
702
 
703
+ ##
704
+ # @private
705
+ #
706
+ # GRPC transcoding helper method for the verify_rule_text REST call
707
+ #
708
+ # @param request_pb [::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest]
709
+ # A request object representing the call parameters. Required.
710
+ # @return [Array(String, [String, nil], Hash{String => String})]
711
+ # Uri, Body, Query string parameters
712
+ def self.transcode_verify_rule_text_request request_pb
713
+ transcoder = Gapic::Rest::GrpcTranscoder.new
714
+ .with_bindings(
715
+ uri_method: :post,
716
+ uri_template: "/v1/{instance}:verifyRuleText",
717
+ body: "*",
718
+ matches: [
719
+ ["instance", %r{^projects/[^/]+/locations/[^/]+/instances/[^/]+/?$}, false]
720
+ ]
721
+ )
722
+ transcoder.transcode request_pb
723
+ end
724
+
663
725
  ##
664
726
  # @private
665
727
  #
@@ -43,6 +43,8 @@ module Google
43
43
  rpc :UpdateRule, ::Google::Cloud::Chronicle::V1::UpdateRuleRequest, ::Google::Cloud::Chronicle::V1::Rule
44
44
  # Deletes a Rule.
45
45
  rpc :DeleteRule, ::Google::Cloud::Chronicle::V1::DeleteRuleRequest, ::Google::Protobuf::Empty
46
+ # Verifies the given rule text.
47
+ rpc :VerifyRuleText, ::Google::Cloud::Chronicle::V1::VerifyRuleTextRequest, ::Google::Cloud::Chronicle::V1::VerifyRuleTextResponse
46
48
  # Lists all revisions of the rule.
47
49
  rpc :ListRuleRevisions, ::Google::Cloud::Chronicle::V1::ListRuleRevisionsRequest, ::Google::Cloud::Chronicle::V1::ListRuleRevisionsResponse
48
50
  # Create a Retrohunt.
@@ -21,7 +21,7 @@ module Google
21
21
  module Cloud
22
22
  module Chronicle
23
23
  module V1
24
- VERSION = "0.7.0"
24
+ VERSION = "0.8.0"
25
25
  end
26
26
  end
27
27
  end
@@ -27,6 +27,7 @@ require "google/cloud/chronicle/v1/featured_content_native_dashboard_service"
27
27
  require "google/cloud/chronicle/v1/instance_service"
28
28
  require "google/cloud/chronicle/v1/reference_list_service"
29
29
  require "google/cloud/chronicle/v1/rule_service"
30
+ require "google/cloud/chronicle/v1/rule_execution_error_service"
30
31
  require "google/cloud/chronicle/v1/version"
31
32
 
32
33
  module Google
@@ -138,6 +138,36 @@ module Google
138
138
  extend ::Google::Protobuf::MessageExts::ClassMethods
139
139
  end
140
140
 
141
+ # VerifyReferenceList request message.
142
+ # @!attribute [rw] instance
143
+ # @return [::String]
144
+ # Required. The name of the parent resource, which is the SecOps instance
145
+ # associated with the request. Format:
146
+ # `projects/{project}/locations/{location}/instances/{instance}`
147
+ # @!attribute [rw] syntax_type
148
+ # @return [::Google::Cloud::Chronicle::V1::ReferenceListSyntaxType]
149
+ # Required. Type (format) of list lines.
150
+ # @!attribute [rw] entries
151
+ # @return [::Array<::Google::Cloud::Chronicle::V1::ReferenceListEntry>]
152
+ # Required. The entries of the reference list.
153
+ # Each line may be either an item in the list or a comment.
154
+ class VerifyReferenceListRequest
155
+ include ::Google::Protobuf::MessageExts
156
+ extend ::Google::Protobuf::MessageExts::ClassMethods
157
+ end
158
+
159
+ # VerifyListResponse response message.
160
+ # @!attribute [rw] success
161
+ # @return [::Boolean]
162
+ # Validity of list - true if no errors found.
163
+ # @!attribute [rw] errors
164
+ # @return [::Array<::Google::Cloud::Chronicle::V1::ReferenceListError>]
165
+ # Line-level errors causing the list to be invalid.
166
+ class VerifyReferenceListResponse
167
+ include ::Google::Protobuf::MessageExts
168
+ extend ::Google::Protobuf::MessageExts::ClassMethods
169
+ end
170
+
141
171
  # A reference list.
142
172
  # Reference lists are user-defined lists of values which users can
143
173
  # use in multiple Rules.
@@ -194,6 +224,19 @@ module Google
194
224
  extend ::Google::Protobuf::MessageExts::ClassMethods
195
225
  end
196
226
 
227
+ # The error generated when verifying the reference list.
228
+ # @!attribute [rw] line_number
229
+ # @return [::Integer]
230
+ # 1-indexed line number where the error occurs.
231
+ # General list errors are indexed at -1.
232
+ # @!attribute [rw] error_message
233
+ # @return [::String]
234
+ # Message explaining why the line is invalid.
235
+ class ReferenceListError
236
+ include ::Google::Protobuf::MessageExts
237
+ extend ::Google::Protobuf::MessageExts::ClassMethods
238
+ end
239
+
197
240
  # The syntax type indicating how list entries should be validated.
198
241
  module ReferenceListSyntaxType
199
242
  # Defaults to REFERENCE_LIST_SYNTAX_TYPE_PLAIN_TEXT_STRING.
@@ -366,6 +366,33 @@ module Google
366
366
  extend ::Google::Protobuf::MessageExts::ClassMethods
367
367
  end
368
368
 
369
+ # Request message for VerifyRuleText method.
370
+ # @!attribute [rw] instance
371
+ # @return [::String]
372
+ # Required. The name of the parent resource, which is the SecOps instance
373
+ # associated with the request. Format:
374
+ # `projects/{project}/locations/{location}/instances/{instance}`
375
+ # @!attribute [rw] rule_text
376
+ # @return [::String]
377
+ # Required. The rule text to verify as a UTF-8 string.
378
+ class VerifyRuleTextRequest
379
+ include ::Google::Protobuf::MessageExts
380
+ extend ::Google::Protobuf::MessageExts::ClassMethods
381
+ end
382
+
383
+ # Response message for VerifyRuleText method.
384
+ # @!attribute [rw] success
385
+ # @return [::Boolean]
386
+ # Whether or not the rule text was successfully verified.
387
+ # @!attribute [rw] compilation_diagnostics
388
+ # @return [::Array<::Google::Cloud::Chronicle::V1::CompilationDiagnostic>]
389
+ # A list of a rule's corresponding compilation diagnostic messages
390
+ # such as compilation errors and compilation warnings.
391
+ class VerifyRuleTextResponse
392
+ include ::Google::Protobuf::MessageExts
393
+ extend ::Google::Protobuf::MessageExts::ClassMethods
394
+ end
395
+
369
396
  # Request message for ListRuleRevisions method.
370
397
  # @!attribute [rw] name
371
398
  # @return [::String]