diff --git a/google-cloud-security_center-v2/.owlbot-manifest.json b/google-cloud-security_center-v2/.owlbot-manifest.json index 2fed42c3e6c2..0b941009c733 100644 --- a/google-cloud-security_center-v2/.owlbot-manifest.json +++ b/google-cloud-security_center-v2/.owlbot-manifest.json @@ -32,6 +32,7 @@ "lib/google/cloud/securitycenter/v2/attack_path_pb.rb", "lib/google/cloud/securitycenter/v2/backup_disaster_recovery_pb.rb", "lib/google/cloud/securitycenter/v2/bigquery_export_pb.rb", + "lib/google/cloud/securitycenter/v2/cloud_armor_pb.rb", "lib/google/cloud/securitycenter/v2/cloud_dlp_data_profile_pb.rb", "lib/google/cloud/securitycenter/v2/cloud_dlp_inspection_pb.rb", "lib/google/cloud/securitycenter/v2/compliance_pb.rb", @@ -43,6 +44,7 @@ "lib/google/cloud/securitycenter/v2/external_system_pb.rb", "lib/google/cloud/securitycenter/v2/file_pb.rb", "lib/google/cloud/securitycenter/v2/finding_pb.rb", + "lib/google/cloud/securitycenter/v2/folder_pb.rb", "lib/google/cloud/securitycenter/v2/group_membership_pb.rb", "lib/google/cloud/securitycenter/v2/iam_binding_pb.rb", "lib/google/cloud/securitycenter/v2/indicator_pb.rb", @@ -53,6 +55,7 @@ "lib/google/cloud/securitycenter/v2/log_entry_pb.rb", "lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb", "lib/google/cloud/securitycenter/v2/mute_config_pb.rb", + "lib/google/cloud/securitycenter/v2/notebook_pb.rb", "lib/google/cloud/securitycenter/v2/notification_config_pb.rb", "lib/google/cloud/securitycenter/v2/notification_message_pb.rb", "lib/google/cloud/securitycenter/v2/org_policy_pb.rb", @@ -80,6 +83,7 @@ "proto_docs/google/cloud/securitycenter/v2/attack_path.rb", "proto_docs/google/cloud/securitycenter/v2/backup_disaster_recovery.rb", "proto_docs/google/cloud/securitycenter/v2/bigquery_export.rb", + "proto_docs/google/cloud/securitycenter/v2/cloud_armor.rb", "proto_docs/google/cloud/securitycenter/v2/cloud_dlp_data_profile.rb", "proto_docs/google/cloud/securitycenter/v2/cloud_dlp_inspection.rb", "proto_docs/google/cloud/securitycenter/v2/compliance.rb", @@ -91,6 +95,7 @@ "proto_docs/google/cloud/securitycenter/v2/external_system.rb", "proto_docs/google/cloud/securitycenter/v2/file.rb", "proto_docs/google/cloud/securitycenter/v2/finding.rb", + "proto_docs/google/cloud/securitycenter/v2/folder.rb", "proto_docs/google/cloud/securitycenter/v2/group_membership.rb", "proto_docs/google/cloud/securitycenter/v2/iam_binding.rb", "proto_docs/google/cloud/securitycenter/v2/indicator.rb", @@ -101,6 +106,7 @@ "proto_docs/google/cloud/securitycenter/v2/log_entry.rb", "proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb", "proto_docs/google/cloud/securitycenter/v2/mute_config.rb", + "proto_docs/google/cloud/securitycenter/v2/notebook.rb", "proto_docs/google/cloud/securitycenter/v2/notification_config.rb", "proto_docs/google/cloud/securitycenter/v2/notification_message.rb", "proto_docs/google/cloud/securitycenter/v2/org_policy.rb", diff --git a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/client.rb b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/client.rb index 4c9c226d50fb..e19c961ad817 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/client.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/client.rb @@ -2118,14 +2118,6 @@ def get_source request, options = nil # Required. Expression that defines what assets fields to use for grouping. # The string value should follow SQL syntax: comma separated list of fields. # For example: "parent,resource_name". - # - # The following fields are supported: - # - # * resource_name - # * category - # * state - # * parent - # * severity # @param page_token [::String] # The value returned by the last `GroupFindingsResponse`; indicates # that this is a continuation of a prior `GroupFindings` call, and @@ -4073,6 +4065,10 @@ def update_notification_config request, options = nil # The list of fields to be updated. # If empty all mutable fields will be updated. # + # To update nested fields, include the top level field in the mask + # For example, to update gcp_metadata.resource_type, include the + # "gcp_metadata" field mask + # # @yield [response, operation] Access the result along with the RPC operation # @yieldparam response [::Google::Cloud::SecurityCenter::V2::ResourceValueConfig] # @yieldparam operation [::GRPC::ActiveCall::Operation] diff --git a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/paths.rb b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/paths.rb index f92c89ae90c0..c24319ac179a 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/paths.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/paths.rb @@ -587,6 +587,27 @@ def organization_location_path organization:, location: "organizations/#{organization}/locations/#{location}" end + ## + # Create a fully-qualified OrganizationValuedResource resource string. + # + # The resource will be in the following format: + # + # `organizations/{organization}/locations/{location}/simulations/{simulation}/valuedResources/{valued_resource}` + # + # @param organization [String] + # @param location [String] + # @param simulation [String] + # @param valued_resource [String] + # + # @return [::String] + def organization_valued_resource_path organization:, location:, simulation:, valued_resource: + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + raise ::ArgumentError, "simulation cannot contain /" if simulation.to_s.include? "/" + + "organizations/#{organization}/locations/#{location}/simulations/#{simulation}/valuedResources/#{valued_resource}" + end + ## # Create a fully-qualified Policy resource string. # @@ -656,18 +677,42 @@ def project_path project: ## # Create a fully-qualified ResourceValueConfig resource string. # - # The resource will be in the following format: + # @overload resource_value_config_path(organization:, resource_value_config:) + # The resource will be in the following format: # - # `organizations/{organization}/resourceValueConfigs/{resource_value_config}` + # `organizations/{organization}/resourceValueConfigs/{resource_value_config}` # - # @param organization [String] - # @param resource_value_config [String] + # @param organization [String] + # @param resource_value_config [String] + # + # @overload resource_value_config_path(organization:, location:, resource_value_config:) + # The resource will be in the following format: + # + # `organizations/{organization}/locations/{location}/resourceValueConfigs/{resource_value_config}` + # + # @param organization [String] + # @param location [String] + # @param resource_value_config [String] # # @return [::String] - def resource_value_config_path organization:, resource_value_config: - raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + def resource_value_config_path **args + resources = { + "organization:resource_value_config" => (proc do |organization:, resource_value_config:| + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + + "organizations/#{organization}/resourceValueConfigs/#{resource_value_config}" + end), + "location:organization:resource_value_config" => (proc do |organization:, location:, resource_value_config:| + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + + "organizations/#{organization}/locations/#{location}/resourceValueConfigs/#{resource_value_config}" + end) + } - "organizations/#{organization}/resourceValueConfigs/#{resource_value_config}" + resource = resources[args.keys.sort.join(":")] + raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil? + resource.call(**args) end ## @@ -821,18 +866,42 @@ def security_marks_path **args ## # Create a fully-qualified Simulation resource string. # - # The resource will be in the following format: + # @overload simulation_path(organization:, simulation:) + # The resource will be in the following format: # - # `organizations/{organization}/simulations/{simulation}` + # `organizations/{organization}/simulations/{simulation}` # - # @param organization [String] - # @param simulation [String] + # @param organization [String] + # @param simulation [String] + # + # @overload simulation_path(organization:, location:, simluation:) + # The resource will be in the following format: + # + # `organizations/{organization}/locations/{location}/simulations/{simluation}` + # + # @param organization [String] + # @param location [String] + # @param simluation [String] # # @return [::String] - def simulation_path organization:, simulation: - raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + def simulation_path **args + resources = { + "organization:simulation" => (proc do |organization:, simulation:| + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + + "organizations/#{organization}/simulations/#{simulation}" + end), + "location:organization:simluation" => (proc do |organization:, location:, simluation:| + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + + "organizations/#{organization}/locations/#{location}/simulations/#{simluation}" + end) + } - "organizations/#{organization}/simulations/#{simulation}" + resource = resources[args.keys.sort.join(":")] + raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil? + resource.call(**args) end ## @@ -948,20 +1017,46 @@ def topic_path project:, topic: ## # Create a fully-qualified ValuedResource resource string. # - # The resource will be in the following format: + # @overload valued_resource_path(organization:, simulation:, valued_resource:) + # The resource will be in the following format: # - # `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` + # `organizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}` # - # @param organization [String] - # @param simulation [String] - # @param valued_resource [String] + # @param organization [String] + # @param simulation [String] + # @param valued_resource [String] + # + # @overload valued_resource_path(organization:, location:, simluation:, valued_resource:) + # The resource will be in the following format: + # + # `organizations/{organization}/locations/{location}/simulations/{simluation}/valuedResources/{valued_resource}` + # + # @param organization [String] + # @param location [String] + # @param simluation [String] + # @param valued_resource [String] # # @return [::String] - def valued_resource_path organization:, simulation:, valued_resource: - raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" - raise ::ArgumentError, "simulation cannot contain /" if simulation.to_s.include? "/" + def valued_resource_path **args + resources = { + "organization:simulation:valued_resource" => (proc do |organization:, simulation:, valued_resource:| + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + raise ::ArgumentError, "simulation cannot contain /" if simulation.to_s.include? "/" + + "organizations/#{organization}/simulations/#{simulation}/valuedResources/#{valued_resource}" + end), + "location:organization:simluation:valued_resource" => (proc do |organization:, location:, simluation:, valued_resource:| + raise ::ArgumentError, "organization cannot contain /" if organization.to_s.include? "/" + raise ::ArgumentError, "location cannot contain /" if location.to_s.include? "/" + raise ::ArgumentError, "simluation cannot contain /" if simluation.to_s.include? "/" - "organizations/#{organization}/simulations/#{simulation}/valuedResources/#{valued_resource}" + "organizations/#{organization}/locations/#{location}/simulations/#{simluation}/valuedResources/#{valued_resource}" + end) + } + + resource = resources[args.keys.sort.join(":")] + raise ::ArgumentError, "no resource found for values #{args.keys}" if resource.nil? + resource.call(**args) end extend self diff --git a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/client.rb b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/client.rb index ee5d67c17b75..1cb5a67f7602 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/client.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/client.rb @@ -1933,14 +1933,6 @@ def get_source request, options = nil # Required. Expression that defines what assets fields to use for grouping. # The string value should follow SQL syntax: comma separated list of fields. # For example: "parent,resource_name". - # - # The following fields are supported: - # - # * resource_name - # * category - # * state - # * parent - # * severity # @param page_token [::String] # The value returned by the last `GroupFindingsResponse`; indicates # that this is a continuation of a prior `GroupFindings` call, and @@ -3731,6 +3723,10 @@ def update_notification_config request, options = nil # @param update_mask [::Google::Protobuf::FieldMask, ::Hash] # The list of fields to be updated. # If empty all mutable fields will be updated. + # + # To update nested fields, include the top level field in the mask + # For example, to update gcp_metadata.resource_type, include the + # "gcp_metadata" field mask # @yield [result, operation] Access the result along with the TransportOperation object # @yieldparam result [::Google::Cloud::SecurityCenter::V2::ResourceValueConfig] # @yieldparam operation [::Gapic::Rest::TransportOperation] diff --git a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb index d748ad4b4d32..1860a5ed78ed 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/security_center/v2/security_center/rest/service_stub.rb @@ -1600,6 +1600,14 @@ def self.transcode_batch_create_resource_value_configs_request request_pb ["parent", %r{^organizations/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :post, + uri_template: "/v2/{parent}/resourceValueConfigs:batchCreate", + body: "*", + matches: [ + ["parent", %r{^organizations/[^/]+/locations/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -1999,6 +2007,13 @@ def self.transcode_delete_resource_value_config_request request_pb ["name", %r{^organizations/[^/]+/resourceValueConfigs/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :delete, + uri_template: "/v2/{name}", + matches: [ + ["name", %r{^organizations/[^/]+/locations/[^/]+/resourceValueConfigs/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -2055,6 +2070,13 @@ def self.transcode_get_simulation_request request_pb ["name", %r{^organizations/[^/]+/simulations/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :get, + uri_template: "/v2/{name}", + matches: [ + ["name", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -2076,6 +2098,13 @@ def self.transcode_get_valued_resource_request request_pb ["name", %r{^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :get, + uri_template: "/v2/{name}", + matches: [ + ["name", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -2210,6 +2239,13 @@ def self.transcode_get_resource_value_config_request request_pb ["name", %r{^organizations/[^/]+/resourceValueConfigs/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :get, + uri_template: "/v2/{name}", + matches: [ + ["name", %r{^organizations/[^/]+/locations/[^/]+/resourceValueConfigs/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -2321,6 +2357,13 @@ def self.transcode_list_attack_paths_request request_pb ["parent", %r{^organizations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :get, + uri_template: "/v2/{parent}/attackPaths", + matches: [ + ["parent", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/valuedResources/[^/]+/?$}, false] + ] + ) .with_bindings( uri_method: :get, uri_template: "/v2/{parent}/attackPaths", @@ -2328,6 +2371,13 @@ def self.transcode_list_attack_paths_request request_pb ["parent", %r{^organizations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :get, + uri_template: "/v2/{parent}/attackPaths", + matches: [ + ["parent", %r{^organizations/[^/]+/locations/[^/]+/simulations/[^/]+/attackExposureResults/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -2531,6 +2581,13 @@ def self.transcode_list_resource_value_configs_request request_pb ["parent", %r{^organizations/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :get, + uri_template: "/v2/{parent}/resourceValueConfigs", + matches: [ + ["parent", %r{^organizations/[^/]+/locations/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end @@ -3046,6 +3103,14 @@ def self.transcode_update_resource_value_config_request request_pb ["resource_value_config.name", %r{^organizations/[^/]+/resourceValueConfigs/[^/]+/?$}, false] ] ) + .with_bindings( + uri_method: :patch, + uri_template: "/v2/{resource_value_config.name}", + body: "resource_value_config", + matches: [ + ["resource_value_config.name", %r{^organizations/[^/]+/locations/[^/]+/resourceValueConfigs/[^/]+/?$}, false] + ] + ) transcoder.transcode request_pb end diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/attack_path_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/attack_path_pb.rb index 571b663f8f95..c228d858b973 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/attack_path_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/attack_path_pb.rb @@ -7,7 +7,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n0google/cloud/securitycenter/v2/attack_path.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x19google/api/resource.proto\"\xe7\t\n\nAttackPath\x12\x0c\n\x04name\x18\x01 \x01(\t\x12M\n\npath_nodes\x18\x02 \x03(\x0b\x32\x39.google.cloud.securitycenter.v2.AttackPath.AttackPathNode\x12H\n\x05\x65\x64ges\x18\x03 \x03(\x0b\x32\x39.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge\x1a\xbd\x06\n\x0e\x41ttackPathNode\x12\x10\n\x08resource\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12p\n\x13\x61ssociated_findings\x18\x04 \x03(\x0b\x32S.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding\x12\x0c\n\x04uuid\x18\x05 \x01(\t\x12^\n\x0c\x61ttack_steps\x18\x06 \x03(\x0b\x32H.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode\x1a^\n\x19PathNodeAssociatedFinding\x12\x19\n\x11\x63\x61nonical_finding\x18\x01 \x01(\t\x12\x18\n\x10\x66inding_category\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x1a\xb0\x02\n\x0e\x41ttackStepNode\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12P\n\x04type\x18\x02 \x01(\x0e\x32\x42.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.NodeType\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x64\n\x06labels\x18\x04 \x03(\x0b\x32T.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"y\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rNODE_TYPE_AND\x10\x01\x12\x10\n\x0cNODE_TYPE_OR\x10\x02\x12\x15\n\x11NODE_TYPE_DEFENSE\x10\x03\x12\x16\n\x12NODE_TYPE_ATTACKER\x10\x04\x1a\x35\n\x0e\x41ttackPathEdge\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t:\xba\x01\xea\x41\xb6\x01\n(securitycenter.googleapis.com/AttackPath\x12qorganizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}/attackPaths/{attack_path}*\x0b\x61ttackPaths2\nattackPathB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0f\x41ttackPathProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n0google/cloud/securitycenter/v2/attack_path.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x19google/api/resource.proto\"\xf0\n\n\nAttackPath\x12\x0c\n\x04name\x18\x01 \x01(\t\x12M\n\npath_nodes\x18\x02 \x03(\x0b\x32\x39.google.cloud.securitycenter.v2.AttackPath.AttackPathNode\x12H\n\x05\x65\x64ges\x18\x03 \x03(\x0b\x32\x39.google.cloud.securitycenter.v2.AttackPath.AttackPathEdge\x1a\xbd\x06\n\x0e\x41ttackPathNode\x12\x10\n\x08resource\x18\x01 \x01(\t\x12\x15\n\rresource_type\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12p\n\x13\x61ssociated_findings\x18\x04 \x03(\x0b\x32S.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.PathNodeAssociatedFinding\x12\x0c\n\x04uuid\x18\x05 \x01(\t\x12^\n\x0c\x61ttack_steps\x18\x06 \x03(\x0b\x32H.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode\x1a^\n\x19PathNodeAssociatedFinding\x12\x19\n\x11\x63\x61nonical_finding\x18\x01 \x01(\t\x12\x18\n\x10\x66inding_category\x18\x02 \x01(\t\x12\x0c\n\x04name\x18\x03 \x01(\t\x1a\xb0\x02\n\x0e\x41ttackStepNode\x12\x0c\n\x04uuid\x18\x01 \x01(\t\x12P\n\x04type\x18\x02 \x01(\x0e\x32\x42.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.NodeType\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\x12\x64\n\x06labels\x18\x04 \x03(\x0b\x32T.google.cloud.securitycenter.v2.AttackPath.AttackPathNode.AttackStepNode.LabelsEntry\x12\x13\n\x0b\x64\x65scription\x18\x05 \x01(\t\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"y\n\x08NodeType\x12\x19\n\x15NODE_TYPE_UNSPECIFIED\x10\x00\x12\x11\n\rNODE_TYPE_AND\x10\x01\x12\x10\n\x0cNODE_TYPE_OR\x10\x02\x12\x15\n\x11NODE_TYPE_DEFENSE\x10\x03\x12\x16\n\x12NODE_TYPE_ATTACKER\x10\x04\x1a\x35\n\x0e\x41ttackPathEdge\x12\x0e\n\x06source\x18\x01 \x01(\t\x12\x13\n\x0b\x64\x65stination\x18\x02 \x01(\t:\xc3\x02\xea\x41\xbf\x02\n(securitycenter.googleapis.com/AttackPath\x12qorganizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}/attackPaths/{attack_path}\x12\x86\x01organizations/{organization}/locations/{location}/simulations/{simulation}/valuedResources/{valued_resource}/attackPaths/{attack_path}*\x0b\x61ttackPaths2\nattackPathB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0f\x41ttackPathProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/cloud_armor_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/cloud_armor_pb.rb new file mode 100644 index 000000000000..426241811106 --- /dev/null +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/cloud_armor_pb.rb @@ -0,0 +1,49 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/securitycenter/v2/cloud_armor.proto + +require 'google/protobuf' + +require 'google/protobuf/duration_pb' + + +descriptor_data = "\n0google/cloud/securitycenter/v2/cloud_armor.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1egoogle/protobuf/duration.proto\"\xde\x02\n\nCloudArmor\x12G\n\x0fsecurity_policy\x18\x01 \x01(\x0b\x32..google.cloud.securitycenter.v2.SecurityPolicy\x12:\n\x08requests\x18\x02 \x01(\x0b\x32(.google.cloud.securitycenter.v2.Requests\x12O\n\x13\x61\x64\x61ptive_protection\x18\x03 \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.AdaptiveProtection\x12\x36\n\x06\x61ttack\x18\x04 \x01(\x0b\x32&.google.cloud.securitycenter.v2.Attack\x12\x15\n\rthreat_vector\x18\x05 \x01(\t\x12+\n\x08\x64uration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.Duration\"=\n\x0eSecurityPolicy\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0c\n\x04type\x18\x02 \x01(\t\x12\x0f\n\x07preview\x18\x03 \x01(\x08\"j\n\x08Requests\x12\r\n\x05ratio\x18\x01 \x01(\x01\x12\x1a\n\x12short_term_allowed\x18\x02 \x01(\x05\x12\x19\n\x11long_term_allowed\x18\x03 \x01(\x05\x12\x18\n\x10long_term_denied\x18\x04 \x01(\x05\"(\n\x12\x41\x64\x61ptiveProtection\x12\x12\n\nconfidence\x18\x01 \x01(\x01\"H\n\x06\x41ttack\x12\x12\n\nvolume_pps\x18\x01 \x01(\x05\x12\x12\n\nvolume_bps\x18\x02 \x01(\x05\x12\x16\n\x0e\x63lassification\x18\x03 \x01(\tB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0f\x43loudArmorProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Duration", "google/protobuf/duration.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Cloud + module SecurityCenter + module V2 + CloudArmor = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.CloudArmor").msgclass + SecurityPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.SecurityPolicy").msgclass + Requests = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Requests").msgclass + AdaptiveProtection = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AdaptiveProtection").msgclass + Attack = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Attack").msgclass + end + end + end +end diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/finding_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/finding_pb.rb index 596b993c45c6..c87581dff032 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/finding_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/finding_pb.rb @@ -10,6 +10,7 @@ require 'google/cloud/securitycenter/v2/application_pb' require 'google/cloud/securitycenter/v2/attack_exposure_pb' require 'google/cloud/securitycenter/v2/backup_disaster_recovery_pb' +require 'google/cloud/securitycenter/v2/cloud_armor_pb' require 'google/cloud/securitycenter/v2/cloud_dlp_data_profile_pb' require 'google/cloud/securitycenter/v2/cloud_dlp_inspection_pb' require 'google/cloud/securitycenter/v2/compliance_pb' @@ -28,6 +29,7 @@ require 'google/cloud/securitycenter/v2/load_balancer_pb' require 'google/cloud/securitycenter/v2/log_entry_pb' require 'google/cloud/securitycenter/v2/mitre_attack_pb' +require 'google/cloud/securitycenter/v2/notebook_pb' require 'google/cloud/securitycenter/v2/org_policy_pb' require 'google/cloud/securitycenter/v2/process_pb' require 'google/cloud/securitycenter/v2/security_marks_pb' @@ -38,7 +40,7 @@ require 'google/protobuf/timestamp_pb' -descriptor_data = "\n,google/cloud/securitycenter/v2/finding.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/securitycenter/v2/access.proto\x1a\x30google/cloud/securitycenter/v2/application.proto\x1a\x34google/cloud/securitycenter/v2/attack_exposure.proto\x1a=google/cloud/securitycenter/v2/backup_disaster_recovery.proto\x1a;google/cloud/securitycenter/v2/cloud_dlp_data_profile.proto\x1a\x39google/cloud/securitycenter/v2/cloud_dlp_inspection.proto\x1a/google/cloud/securitycenter/v2/compliance.proto\x1a/google/cloud/securitycenter/v2/connection.proto\x1a\x34google/cloud/securitycenter/v2/contact_details.proto\x1a.google/cloud/securitycenter/v2/container.proto\x1a-google/cloud/securitycenter/v2/database.proto\x1a\x31google/cloud/securitycenter/v2/exfiltration.proto\x1a\x34google/cloud/securitycenter/v2/external_system.proto\x1a)google/cloud/securitycenter/v2/file.proto\x1a\x35google/cloud/securitycenter/v2/group_membership.proto\x1a\x30google/cloud/securitycenter/v2/iam_binding.proto\x1a.google/cloud/securitycenter/v2/indicator.proto\x1a\x33google/cloud/securitycenter/v2/kernel_rootkit.proto\x1a/google/cloud/securitycenter/v2/kubernetes.proto\x1a\x32google/cloud/securitycenter/v2/load_balancer.proto\x1a.google/cloud/securitycenter/v2/log_entry.proto\x1a\x31google/cloud/securitycenter/v2/mitre_attack.proto\x1a/google/cloud/securitycenter/v2/org_policy.proto\x1a,google/cloud/securitycenter/v2/process.proto\x1a\x33google/cloud/securitycenter/v2/security_marks.proto\x1a\x35google/cloud/securitycenter/v2/security_posture.proto\x1a\x36google/cloud/securitycenter/v2/toxic_combination.proto\x1a\x32google/cloud/securitycenter/v2/vulnerability.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb6\x1e\n\x07\x46inding\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x0e\x63\x61nonical_name\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x1a\n\rresource_name\x18\x04 \x01(\tB\x03\xe0\x41\x05\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.securitycenter.v2.Finding.StateB\x03\xe0\x41\x03\x12\x15\n\x08\x63\x61tegory\x18\x07 \x01(\tB\x03\xe0\x41\x05\x12\x14\n\x0c\x65xternal_uri\x18\x08 \x01(\t\x12X\n\x11source_properties\x18\t \x03(\x0b\x32=.google.cloud.securitycenter.v2.Finding.SourcePropertiesEntry\x12J\n\x0esecurity_marks\x18\n \x01(\x0b\x32-.google.cloud.securitycenter.v2.SecurityMarksB\x03\xe0\x41\x03\x12.\n\nevent_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0b\x63reate_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x08severity\x18\x0e \x01(\x0e\x32\x30.google.cloud.securitycenter.v2.Finding.Severity\x12:\n\x04mute\x18\x0f \x01(\x0e\x32,.google.cloud.securitycenter.v2.Finding.Mute\x12K\n\rfinding_class\x18\x10 \x01(\x0e\x32\x34.google.cloud.securitycenter.v2.Finding.FindingClass\x12<\n\tindicator\x18\x11 \x01(\x0b\x32).google.cloud.securitycenter.v2.Indicator\x12\x44\n\rvulnerability\x18\x12 \x01(\x0b\x32-.google.cloud.securitycenter.v2.Vulnerability\x12\x39\n\x10mute_update_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12[\n\x10\x65xternal_systems\x18\x14 \x03(\x0b\x32<.google.cloud.securitycenter.v2.Finding.ExternalSystemsEntryB\x03\xe0\x41\x03\x12\x41\n\x0cmitre_attack\x18\x15 \x01(\x0b\x32+.google.cloud.securitycenter.v2.MitreAttack\x12\x36\n\x06\x61\x63\x63\x65ss\x18\x16 \x01(\x0b\x32&.google.cloud.securitycenter.v2.Access\x12?\n\x0b\x63onnections\x18\x17 \x03(\x0b\x32*.google.cloud.securitycenter.v2.Connection\x12\x16\n\x0emute_initiator\x18\x18 \x01(\t\x12:\n\tprocesses\x18\x19 \x03(\x0b\x32\'.google.cloud.securitycenter.v2.Process\x12L\n\x08\x63ontacts\x18\x1a \x03(\x0b\x32\x35.google.cloud.securitycenter.v2.Finding.ContactsEntryB\x03\xe0\x41\x03\x12?\n\x0b\x63ompliances\x18\x1b \x03(\x0b\x32*.google.cloud.securitycenter.v2.Compliance\x12 \n\x13parent_display_name\x18\x1d \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x1e \x01(\t\x12\x42\n\x0c\x65xfiltration\x18\x1f \x01(\x0b\x32,.google.cloud.securitycenter.v2.Exfiltration\x12@\n\x0ciam_bindings\x18 \x03(\x0b\x32*.google.cloud.securitycenter.v2.IamBinding\x12\x12\n\nnext_steps\x18! \x01(\t\x12\x13\n\x0bmodule_name\x18\" \x01(\t\x12=\n\ncontainers\x18# \x03(\x0b\x32).google.cloud.securitycenter.v2.Container\x12>\n\nkubernetes\x18$ \x01(\x0b\x32*.google.cloud.securitycenter.v2.Kubernetes\x12:\n\x08\x64\x61tabase\x18% \x01(\x0b\x32(.google.cloud.securitycenter.v2.Database\x12G\n\x0f\x61ttack_exposure\x18& \x01(\x0b\x32..google.cloud.securitycenter.v2.AttackExposure\x12\x33\n\x05\x66iles\x18\' \x03(\x0b\x32$.google.cloud.securitycenter.v2.File\x12P\n\x14\x63loud_dlp_inspection\x18( \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.CloudDlpInspection\x12S\n\x16\x63loud_dlp_data_profile\x18) \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.CloudDlpDataProfile\x12\x45\n\x0ekernel_rootkit\x18* \x01(\x0b\x32-.google.cloud.securitycenter.v2.KernelRootkit\x12?\n\x0corg_policies\x18+ \x03(\x0b\x32).google.cloud.securitycenter.v2.OrgPolicy\x12@\n\x0b\x61pplication\x18- \x01(\x0b\x32+.google.cloud.securitycenter.v2.Application\x12X\n\x18\x62\x61\x63kup_disaster_recovery\x18/ \x01(\x0b\x32\x36.google.cloud.securitycenter.v2.BackupDisasterRecovery\x12I\n\x10security_posture\x18\x30 \x01(\x0b\x32/.google.cloud.securitycenter.v2.SecurityPosture\x12=\n\x0blog_entries\x18\x31 \x03(\x0b\x32(.google.cloud.securitycenter.v2.LogEntry\x12\x44\n\x0eload_balancers\x18\x32 \x03(\x0b\x32,.google.cloud.securitycenter.v2.LoadBalancer\x12K\n\x11toxic_combination\x18\x38 \x01(\x0b\x32\x30.google.cloud.securitycenter.v2.ToxicCombination\x12J\n\x11group_memberships\x18\x39 \x03(\x0b\x32/.google.cloud.securitycenter.v2.GroupMembership\x1aO\n\x15SourcePropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x66\n\x14\x45xternalSystemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12=\n\x05value\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.ExternalSystem:\x02\x38\x01\x1a_\n\rContactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12=\n\x05value\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.ContactDetails:\x02\x38\x01\"8\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"Q\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x07\n\x03LOW\x10\x04\"C\n\x04Mute\x12\x14\n\x10MUTE_UNSPECIFIED\x10\x00\x12\t\n\x05MUTED\x10\x01\x12\x0b\n\x07UNMUTED\x10\x02\x12\r\n\tUNDEFINED\x10\x03\"\xb0\x01\n\x0c\x46indingClass\x12\x1d\n\x19\x46INDING_CLASS_UNSPECIFIED\x10\x00\x12\n\n\x06THREAT\x10\x01\x12\x11\n\rVULNERABILITY\x10\x02\x12\x14\n\x10MISCONFIGURATION\x10\x03\x12\x0f\n\x0bOBSERVATION\x10\x04\x12\r\n\tSCC_ERROR\x10\x05\x12\x15\n\x11POSTURE_VIOLATION\x10\x06\x12\x15\n\x11TOXIC_COMBINATION\x10\x07:\xdd\x03\xea\x41\xd9\x03\n%securitycenter.googleapis.com/Finding\x12@organizations/{organization}/sources/{source}/findings/{finding}\x12Uorganizations/{organization}/sources/{source}/locations/{location}/findings/{finding}\x12\x34\x66olders/{folder}/sources/{source}/findings/{finding}\x12Ifolders/{folder}/sources/{source}/locations/{location}/findings/{finding}\x12\x36projects/{project}/sources/{source}/findings/{finding}\x12Kprojects/{project}/sources/{source}/locations/{location}/findings/{finding}*\x08\x66indings2\x07\x66indingB\xe6\x01\n\"com.google.cloud.securitycenter.v2B\x0c\x46indingProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n,google/cloud/securitycenter/v2/finding.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a+google/cloud/securitycenter/v2/access.proto\x1a\x30google/cloud/securitycenter/v2/application.proto\x1a\x34google/cloud/securitycenter/v2/attack_exposure.proto\x1a=google/cloud/securitycenter/v2/backup_disaster_recovery.proto\x1a\x30google/cloud/securitycenter/v2/cloud_armor.proto\x1a;google/cloud/securitycenter/v2/cloud_dlp_data_profile.proto\x1a\x39google/cloud/securitycenter/v2/cloud_dlp_inspection.proto\x1a/google/cloud/securitycenter/v2/compliance.proto\x1a/google/cloud/securitycenter/v2/connection.proto\x1a\x34google/cloud/securitycenter/v2/contact_details.proto\x1a.google/cloud/securitycenter/v2/container.proto\x1a-google/cloud/securitycenter/v2/database.proto\x1a\x31google/cloud/securitycenter/v2/exfiltration.proto\x1a\x34google/cloud/securitycenter/v2/external_system.proto\x1a)google/cloud/securitycenter/v2/file.proto\x1a\x35google/cloud/securitycenter/v2/group_membership.proto\x1a\x30google/cloud/securitycenter/v2/iam_binding.proto\x1a.google/cloud/securitycenter/v2/indicator.proto\x1a\x33google/cloud/securitycenter/v2/kernel_rootkit.proto\x1a/google/cloud/securitycenter/v2/kubernetes.proto\x1a\x32google/cloud/securitycenter/v2/load_balancer.proto\x1a.google/cloud/securitycenter/v2/log_entry.proto\x1a\x31google/cloud/securitycenter/v2/mitre_attack.proto\x1a-google/cloud/securitycenter/v2/notebook.proto\x1a/google/cloud/securitycenter/v2/org_policy.proto\x1a,google/cloud/securitycenter/v2/process.proto\x1a\x33google/cloud/securitycenter/v2/security_marks.proto\x1a\x35google/cloud/securitycenter/v2/security_posture.proto\x1a\x36google/cloud/securitycenter/v2/toxic_combination.proto\x1a\x32google/cloud/securitycenter/v2/vulnerability.proto\x1a\x1cgoogle/protobuf/struct.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb3\x1f\n\x07\x46inding\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x1b\n\x0e\x63\x61nonical_name\x18\x02 \x01(\tB\x03\xe0\x41\x03\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x1a\n\rresource_name\x18\x04 \x01(\tB\x03\xe0\x41\x05\x12\x41\n\x05state\x18\x06 \x01(\x0e\x32-.google.cloud.securitycenter.v2.Finding.StateB\x03\xe0\x41\x03\x12\x15\n\x08\x63\x61tegory\x18\x07 \x01(\tB\x03\xe0\x41\x05\x12\x14\n\x0c\x65xternal_uri\x18\x08 \x01(\t\x12X\n\x11source_properties\x18\t \x03(\x0b\x32=.google.cloud.securitycenter.v2.Finding.SourcePropertiesEntry\x12J\n\x0esecurity_marks\x18\n \x01(\x0b\x32-.google.cloud.securitycenter.v2.SecurityMarksB\x03\xe0\x41\x03\x12.\n\nevent_time\x18\x0b \x01(\x0b\x32\x1a.google.protobuf.Timestamp\x12\x34\n\x0b\x63reate_time\x18\x0c \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x42\n\x08severity\x18\x0e \x01(\x0e\x32\x30.google.cloud.securitycenter.v2.Finding.Severity\x12:\n\x04mute\x18\x0f \x01(\x0e\x32,.google.cloud.securitycenter.v2.Finding.Mute\x12K\n\rfinding_class\x18\x10 \x01(\x0e\x32\x34.google.cloud.securitycenter.v2.Finding.FindingClass\x12<\n\tindicator\x18\x11 \x01(\x0b\x32).google.cloud.securitycenter.v2.Indicator\x12\x44\n\rvulnerability\x18\x12 \x01(\x0b\x32-.google.cloud.securitycenter.v2.Vulnerability\x12\x39\n\x10mute_update_time\x18\x13 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12[\n\x10\x65xternal_systems\x18\x14 \x03(\x0b\x32<.google.cloud.securitycenter.v2.Finding.ExternalSystemsEntryB\x03\xe0\x41\x03\x12\x41\n\x0cmitre_attack\x18\x15 \x01(\x0b\x32+.google.cloud.securitycenter.v2.MitreAttack\x12\x36\n\x06\x61\x63\x63\x65ss\x18\x16 \x01(\x0b\x32&.google.cloud.securitycenter.v2.Access\x12?\n\x0b\x63onnections\x18\x17 \x03(\x0b\x32*.google.cloud.securitycenter.v2.Connection\x12\x16\n\x0emute_initiator\x18\x18 \x01(\t\x12:\n\tprocesses\x18\x19 \x03(\x0b\x32\'.google.cloud.securitycenter.v2.Process\x12L\n\x08\x63ontacts\x18\x1a \x03(\x0b\x32\x35.google.cloud.securitycenter.v2.Finding.ContactsEntryB\x03\xe0\x41\x03\x12?\n\x0b\x63ompliances\x18\x1b \x03(\x0b\x32*.google.cloud.securitycenter.v2.Compliance\x12 \n\x13parent_display_name\x18\x1d \x01(\tB\x03\xe0\x41\x03\x12\x13\n\x0b\x64\x65scription\x18\x1e \x01(\t\x12\x42\n\x0c\x65xfiltration\x18\x1f \x01(\x0b\x32,.google.cloud.securitycenter.v2.Exfiltration\x12@\n\x0ciam_bindings\x18 \x03(\x0b\x32*.google.cloud.securitycenter.v2.IamBinding\x12\x12\n\nnext_steps\x18! \x01(\t\x12\x13\n\x0bmodule_name\x18\" \x01(\t\x12=\n\ncontainers\x18# \x03(\x0b\x32).google.cloud.securitycenter.v2.Container\x12>\n\nkubernetes\x18$ \x01(\x0b\x32*.google.cloud.securitycenter.v2.Kubernetes\x12:\n\x08\x64\x61tabase\x18% \x01(\x0b\x32(.google.cloud.securitycenter.v2.Database\x12G\n\x0f\x61ttack_exposure\x18& \x01(\x0b\x32..google.cloud.securitycenter.v2.AttackExposure\x12\x33\n\x05\x66iles\x18\' \x03(\x0b\x32$.google.cloud.securitycenter.v2.File\x12P\n\x14\x63loud_dlp_inspection\x18( \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.CloudDlpInspection\x12S\n\x16\x63loud_dlp_data_profile\x18) \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.CloudDlpDataProfile\x12\x45\n\x0ekernel_rootkit\x18* \x01(\x0b\x32-.google.cloud.securitycenter.v2.KernelRootkit\x12?\n\x0corg_policies\x18+ \x03(\x0b\x32).google.cloud.securitycenter.v2.OrgPolicy\x12@\n\x0b\x61pplication\x18- \x01(\x0b\x32+.google.cloud.securitycenter.v2.Application\x12X\n\x18\x62\x61\x63kup_disaster_recovery\x18/ \x01(\x0b\x32\x36.google.cloud.securitycenter.v2.BackupDisasterRecovery\x12I\n\x10security_posture\x18\x30 \x01(\x0b\x32/.google.cloud.securitycenter.v2.SecurityPosture\x12=\n\x0blog_entries\x18\x31 \x03(\x0b\x32(.google.cloud.securitycenter.v2.LogEntry\x12\x44\n\x0eload_balancers\x18\x32 \x03(\x0b\x32,.google.cloud.securitycenter.v2.LoadBalancer\x12?\n\x0b\x63loud_armor\x18\x33 \x01(\x0b\x32*.google.cloud.securitycenter.v2.CloudArmor\x12:\n\x08notebook\x18\x37 \x01(\x0b\x32(.google.cloud.securitycenter.v2.Notebook\x12K\n\x11toxic_combination\x18\x38 \x01(\x0b\x32\x30.google.cloud.securitycenter.v2.ToxicCombination\x12J\n\x11group_memberships\x18\x39 \x03(\x0b\x32/.google.cloud.securitycenter.v2.GroupMembership\x1aO\n\x15SourcePropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\x1a\x66\n\x14\x45xternalSystemsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12=\n\x05value\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.ExternalSystem:\x02\x38\x01\x1a_\n\rContactsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12=\n\x05value\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.ContactDetails:\x02\x38\x01\"8\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\x12\x0c\n\x08INACTIVE\x10\x02\"Q\n\x08Severity\x12\x18\n\x14SEVERITY_UNSPECIFIED\x10\x00\x12\x0c\n\x08\x43RITICAL\x10\x01\x12\x08\n\x04HIGH\x10\x02\x12\n\n\x06MEDIUM\x10\x03\x12\x07\n\x03LOW\x10\x04\"C\n\x04Mute\x12\x14\n\x10MUTE_UNSPECIFIED\x10\x00\x12\t\n\x05MUTED\x10\x01\x12\x0b\n\x07UNMUTED\x10\x02\x12\r\n\tUNDEFINED\x10\x03\"\xb0\x01\n\x0c\x46indingClass\x12\x1d\n\x19\x46INDING_CLASS_UNSPECIFIED\x10\x00\x12\n\n\x06THREAT\x10\x01\x12\x11\n\rVULNERABILITY\x10\x02\x12\x14\n\x10MISCONFIGURATION\x10\x03\x12\x0f\n\x0bOBSERVATION\x10\x04\x12\r\n\tSCC_ERROR\x10\x05\x12\x15\n\x11POSTURE_VIOLATION\x10\x06\x12\x15\n\x11TOXIC_COMBINATION\x10\x07:\xdd\x03\xea\x41\xd9\x03\n%securitycenter.googleapis.com/Finding\x12@organizations/{organization}/sources/{source}/findings/{finding}\x12Uorganizations/{organization}/sources/{source}/locations/{location}/findings/{finding}\x12\x34\x66olders/{folder}/sources/{source}/findings/{finding}\x12Ifolders/{folder}/sources/{source}/locations/{location}/findings/{finding}\x12\x36projects/{project}/sources/{source}/findings/{finding}\x12Kprojects/{project}/sources/{source}/locations/{location}/findings/{finding}*\x08\x66indings2\x07\x66indingB\xe6\x01\n\"com.google.cloud.securitycenter.v2B\x0c\x46indingProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -78,6 +80,8 @@ ["google.cloud.securitycenter.v2.SecurityPosture", "google/cloud/securitycenter/v2/security_posture.proto"], ["google.cloud.securitycenter.v2.LogEntry", "google/cloud/securitycenter/v2/log_entry.proto"], ["google.cloud.securitycenter.v2.LoadBalancer", "google/cloud/securitycenter/v2/load_balancer.proto"], + ["google.cloud.securitycenter.v2.CloudArmor", "google/cloud/securitycenter/v2/cloud_armor.proto"], + ["google.cloud.securitycenter.v2.Notebook", "google/cloud/securitycenter/v2/notebook.proto"], ["google.cloud.securitycenter.v2.ToxicCombination", "google/cloud/securitycenter/v2/toxic_combination.proto"], ["google.cloud.securitycenter.v2.GroupMembership", "google/cloud/securitycenter/v2/group_membership.proto"], ["google.protobuf.Value", "google/protobuf/struct.proto"], diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/folder_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/folder_pb.rb new file mode 100644 index 000000000000..a499c6443e21 --- /dev/null +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/folder_pb.rb @@ -0,0 +1,42 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/securitycenter/v2/folder.proto + +require 'google/protobuf' + + +descriptor_data = "\n+google/cloud/securitycenter/v2/folder.proto\x12\x1egoogle.cloud.securitycenter.v2\"G\n\x06\x46older\x12\x17\n\x0fresource_folder\x18\x01 \x01(\t\x12$\n\x1cresource_folder_display_name\x18\x02 \x01(\tB\xe5\x01\n\"com.google.cloud.securitycenter.v2B\x0b\x46olderProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Cloud + module SecurityCenter + module V2 + Folder = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Folder").msgclass + end + end + end +end diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb index e857cbc5e66b..bc1c6ef13588 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/mitre_attack_pb.rb @@ -5,7 +5,7 @@ require 'google/protobuf' -descriptor_data = "\n1google/cloud/securitycenter/v2/mitre_attack.proto\x12\x1egoogle.cloud.securitycenter.v2\"\xf6\x11\n\x0bMitreAttack\x12J\n\x0eprimary_tactic\x18\x01 \x01(\x0e\x32\x32.google.cloud.securitycenter.v2.MitreAttack.Tactic\x12Q\n\x12primary_techniques\x18\x02 \x03(\x0e\x32\x35.google.cloud.securitycenter.v2.MitreAttack.Technique\x12N\n\x12\x61\x64\x64itional_tactics\x18\x03 \x03(\x0e\x32\x32.google.cloud.securitycenter.v2.MitreAttack.Tactic\x12T\n\x15\x61\x64\x64itional_techniques\x18\x04 \x03(\x0e\x32\x35.google.cloud.securitycenter.v2.MitreAttack.Technique\x12\x0f\n\x07version\x18\x05 \x01(\t\"\xb4\x02\n\x06Tactic\x12\x16\n\x12TACTIC_UNSPECIFIED\x10\x00\x12\x12\n\x0eRECONNAISSANCE\x10\x01\x12\x18\n\x14RESOURCE_DEVELOPMENT\x10\x02\x12\x12\n\x0eINITIAL_ACCESS\x10\x05\x12\r\n\tEXECUTION\x10\x03\x12\x0f\n\x0bPERSISTENCE\x10\x06\x12\x18\n\x14PRIVILEGE_ESCALATION\x10\x08\x12\x13\n\x0f\x44\x45\x46\x45NSE_EVASION\x10\x07\x12\x15\n\x11\x43REDENTIAL_ACCESS\x10\t\x12\r\n\tDISCOVERY\x10\n\x12\x14\n\x10LATERAL_MOVEMENT\x10\x0b\x12\x0e\n\nCOLLECTION\x10\x0c\x12\x17\n\x13\x43OMMAND_AND_CONTROL\x10\x04\x12\x10\n\x0c\x45XFILTRATION\x10\r\x12\n\n\x06IMPACT\x10\x0e\"\xd9\x0c\n\tTechnique\x12\x19\n\x15TECHNIQUE_UNSPECIFIED\x10\x00\x12\x10\n\x0cMASQUERADING\x10\x31\x12%\n!MATCH_LEGITIMATE_NAME_OR_LOCATION\x10\x32\x12(\n$BOOT_OR_LOGON_INITIALIZATION_SCRIPTS\x10%\x12\x11\n\rSTARTUP_ITEMS\x10&\x12\x1d\n\x19NETWORK_SERVICE_DISCOVERY\x10 \x12\x15\n\x11PROCESS_DISCOVERY\x10\x38\x12%\n!COMMAND_AND_SCRIPTING_INTERPRETER\x10\x06\x12\x0e\n\nUNIX_SHELL\x10\x07\x12\x1f\n\x1bPERMISSION_GROUPS_DISCOVERY\x10\x12\x12\x10\n\x0c\x43LOUD_GROUPS\x10\x13\x12\x1e\n\x1a\x41PPLICATION_LAYER_PROTOCOL\x10-\x12\x07\n\x03\x44NS\x10.\x12\x1d\n\x19SOFTWARE_DEPLOYMENT_TOOLS\x10/\x12\x12\n\x0eVALID_ACCOUNTS\x10\x0e\x12\x14\n\x10\x44\x45\x46\x41ULT_ACCOUNTS\x10#\x12\x12\n\x0eLOCAL_ACCOUNTS\x10\x0f\x12\x12\n\x0e\x43LOUD_ACCOUNTS\x10\x10\x12\t\n\x05PROXY\x10\t\x12\x12\n\x0e\x45XTERNAL_PROXY\x10\n\x12\x13\n\x0fMULTI_HOP_PROXY\x10\x0b\x12\x18\n\x14\x41\x43\x43OUNT_MANIPULATION\x10\x16\x12 \n\x1c\x41\x44\x44ITIONAL_CLOUD_CREDENTIALS\x10(\x12\x17\n\x13SSH_AUTHORIZED_KEYS\x10\x17\x12&\n\"ADDITIONAL_CONTAINER_CLUSTER_ROLES\x10:\x12\x19\n\x15INGRESS_TOOL_TRANSFER\x10\x03\x12\x0e\n\nNATIVE_API\x10\x04\x12\x0f\n\x0b\x42RUTE_FORCE\x10,\x12\x12\n\x0eSHARED_MODULES\x10\x05\x12\x1d\n\x19\x41\x43\x43\x45SS_TOKEN_MANIPULATION\x10!\x12 \n\x1cTOKEN_IMPERSONATION_OR_THEFT\x10\'\x12%\n!EXPLOIT_PUBLIC_FACING_APPLICATION\x10\x1b\x12\x1e\n\x1a\x44OMAIN_POLICY_MODIFICATION\x10\x1e\x12\x14\n\x10\x44\x41TA_DESTRUCTION\x10\x1d\x12\x10\n\x0cSERVICE_STOP\x10\x34\x12\x1b\n\x17INHIBIT_SYSTEM_RECOVERY\x10$\x12\x16\n\x12RESOURCE_HIJACKING\x10\x08\x12\x1d\n\x19NETWORK_DENIAL_OF_SERVICE\x10\x11\x12\x1b\n\x17\x43LOUD_SERVICE_DISCOVERY\x10\x30\x12\"\n\x1eSTEAL_APPLICATION_ACCESS_TOKEN\x10*\x12\x1a\n\x16\x41\x43\x43OUNT_ACCESS_REMOVAL\x10\x33\x12\x1c\n\x18STEAL_WEB_SESSION_COOKIE\x10\x19\x12#\n\x1f\x43REATE_OR_MODIFY_SYSTEM_PROCESS\x10\x18\x12%\n!ABUSE_ELEVATION_CONTROL_MECHANISM\x10\"\x12\x19\n\x15UNSECURED_CREDENTIALS\x10\r\x12!\n\x1dMODIFY_AUTHENTICATION_PROCESS\x10\x1c\x12\x13\n\x0fIMPAIR_DEFENSES\x10\x1f\x12\x1b\n\x17\x44ISABLE_OR_MODIFY_TOOLS\x10\x37\x12!\n\x1d\x45XFILTRATION_OVER_WEB_SERVICE\x10\x14\x12!\n\x1d\x45XFILTRATION_TO_CLOUD_STORAGE\x10\x15\x12\x16\n\x12\x44YNAMIC_RESOLUTION\x10\x0c\x12\x19\n\x15LATERAL_TOOL_TRANSFER\x10)\x12\'\n#MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE\x10\x1a\x12\x13\n\x0f\x43REATE_SNAPSHOT\x10\x36\x12\"\n\x1e\x43LOUD_INFRASTRUCTURE_DISCOVERY\x10\x35\x12\x17\n\x13OBTAIN_CAPABILITIES\x10+\x12\x13\n\x0f\x41\x43TIVE_SCANNING\x10\x01\x12\x16\n\x12SCANNING_IP_BLOCKS\x10\x02\x12$\n CONTAINER_AND_RESOURCE_DISCOVERY\x10\x39\x42\xea\x01\n\"com.google.cloud.securitycenter.v2B\x10MitreAttackProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n1google/cloud/securitycenter/v2/mitre_attack.proto\x12\x1egoogle.cloud.securitycenter.v2\"\xec\x12\n\x0bMitreAttack\x12J\n\x0eprimary_tactic\x18\x01 \x01(\x0e\x32\x32.google.cloud.securitycenter.v2.MitreAttack.Tactic\x12Q\n\x12primary_techniques\x18\x02 \x03(\x0e\x32\x35.google.cloud.securitycenter.v2.MitreAttack.Technique\x12N\n\x12\x61\x64\x64itional_tactics\x18\x03 \x03(\x0e\x32\x32.google.cloud.securitycenter.v2.MitreAttack.Tactic\x12T\n\x15\x61\x64\x64itional_techniques\x18\x04 \x03(\x0e\x32\x35.google.cloud.securitycenter.v2.MitreAttack.Technique\x12\x0f\n\x07version\x18\x05 \x01(\t\"\xb4\x02\n\x06Tactic\x12\x16\n\x12TACTIC_UNSPECIFIED\x10\x00\x12\x12\n\x0eRECONNAISSANCE\x10\x01\x12\x18\n\x14RESOURCE_DEVELOPMENT\x10\x02\x12\x12\n\x0eINITIAL_ACCESS\x10\x05\x12\r\n\tEXECUTION\x10\x03\x12\x0f\n\x0bPERSISTENCE\x10\x06\x12\x18\n\x14PRIVILEGE_ESCALATION\x10\x08\x12\x13\n\x0f\x44\x45\x46\x45NSE_EVASION\x10\x07\x12\x15\n\x11\x43REDENTIAL_ACCESS\x10\t\x12\r\n\tDISCOVERY\x10\n\x12\x14\n\x10LATERAL_MOVEMENT\x10\x0b\x12\x0e\n\nCOLLECTION\x10\x0c\x12\x17\n\x13\x43OMMAND_AND_CONTROL\x10\x04\x12\x10\n\x0c\x45XFILTRATION\x10\r\x12\n\n\x06IMPACT\x10\x0e\"\xcf\r\n\tTechnique\x12\x19\n\x15TECHNIQUE_UNSPECIFIED\x10\x00\x12\x10\n\x0cMASQUERADING\x10\x31\x12%\n!MATCH_LEGITIMATE_NAME_OR_LOCATION\x10\x32\x12(\n$BOOT_OR_LOGON_INITIALIZATION_SCRIPTS\x10%\x12\x11\n\rSTARTUP_ITEMS\x10&\x12\x1d\n\x19NETWORK_SERVICE_DISCOVERY\x10 \x12\x15\n\x11PROCESS_DISCOVERY\x10\x38\x12%\n!COMMAND_AND_SCRIPTING_INTERPRETER\x10\x06\x12\x0e\n\nUNIX_SHELL\x10\x07\x12\n\n\x06PYTHON\x10;\x12\x1f\n\x1bPERMISSION_GROUPS_DISCOVERY\x10\x12\x12\x10\n\x0c\x43LOUD_GROUPS\x10\x13\x12\x1e\n\x1a\x41PPLICATION_LAYER_PROTOCOL\x10-\x12\x07\n\x03\x44NS\x10.\x12\x1d\n\x19SOFTWARE_DEPLOYMENT_TOOLS\x10/\x12\x12\n\x0eVALID_ACCOUNTS\x10\x0e\x12\x14\n\x10\x44\x45\x46\x41ULT_ACCOUNTS\x10#\x12\x12\n\x0eLOCAL_ACCOUNTS\x10\x0f\x12\x12\n\x0e\x43LOUD_ACCOUNTS\x10\x10\x12\t\n\x05PROXY\x10\t\x12\x12\n\x0e\x45XTERNAL_PROXY\x10\n\x12\x13\n\x0fMULTI_HOP_PROXY\x10\x0b\x12\x18\n\x14\x41\x43\x43OUNT_MANIPULATION\x10\x16\x12 \n\x1c\x41\x44\x44ITIONAL_CLOUD_CREDENTIALS\x10(\x12\x17\n\x13SSH_AUTHORIZED_KEYS\x10\x17\x12&\n\"ADDITIONAL_CONTAINER_CLUSTER_ROLES\x10:\x12\x19\n\x15INGRESS_TOOL_TRANSFER\x10\x03\x12\x0e\n\nNATIVE_API\x10\x04\x12\x0f\n\x0b\x42RUTE_FORCE\x10,\x12\x12\n\x0eSHARED_MODULES\x10\x05\x12\x1d\n\x19\x41\x43\x43\x45SS_TOKEN_MANIPULATION\x10!\x12 \n\x1cTOKEN_IMPERSONATION_OR_THEFT\x10\'\x12%\n!EXPLOIT_PUBLIC_FACING_APPLICATION\x10\x1b\x12\x1e\n\x1a\x44OMAIN_POLICY_MODIFICATION\x10\x1e\x12\x14\n\x10\x44\x41TA_DESTRUCTION\x10\x1d\x12\x10\n\x0cSERVICE_STOP\x10\x34\x12\x1b\n\x17INHIBIT_SYSTEM_RECOVERY\x10$\x12\x16\n\x12RESOURCE_HIJACKING\x10\x08\x12\x1d\n\x19NETWORK_DENIAL_OF_SERVICE\x10\x11\x12\x1b\n\x17\x43LOUD_SERVICE_DISCOVERY\x10\x30\x12\"\n\x1eSTEAL_APPLICATION_ACCESS_TOKEN\x10*\x12\x1a\n\x16\x41\x43\x43OUNT_ACCESS_REMOVAL\x10\x33\x12\x1c\n\x18STEAL_WEB_SESSION_COOKIE\x10\x19\x12#\n\x1f\x43REATE_OR_MODIFY_SYSTEM_PROCESS\x10\x18\x12%\n!ABUSE_ELEVATION_CONTROL_MECHANISM\x10\"\x12\x19\n\x15UNSECURED_CREDENTIALS\x10\r\x12!\n\x1dMODIFY_AUTHENTICATION_PROCESS\x10\x1c\x12\x13\n\x0fIMPAIR_DEFENSES\x10\x1f\x12\x1b\n\x17\x44ISABLE_OR_MODIFY_TOOLS\x10\x37\x12!\n\x1d\x45XFILTRATION_OVER_WEB_SERVICE\x10\x14\x12!\n\x1d\x45XFILTRATION_TO_CLOUD_STORAGE\x10\x15\x12\x16\n\x12\x44YNAMIC_RESOLUTION\x10\x0c\x12\x19\n\x15LATERAL_TOOL_TRANSFER\x10)\x12\'\n#MODIFY_CLOUD_COMPUTE_INFRASTRUCTURE\x10\x1a\x12\x13\n\x0f\x43REATE_SNAPSHOT\x10\x36\x12\"\n\x1e\x43LOUD_INFRASTRUCTURE_DISCOVERY\x10\x35\x12\x17\n\x13OBTAIN_CAPABILITIES\x10+\x12\x13\n\x0f\x41\x43TIVE_SCANNING\x10\x01\x12\x16\n\x12SCANNING_IP_BLOCKS\x10\x02\x12$\n CONTAINER_ADMINISTRATION_COMMAND\x10<\x12\x12\n\x0e\x45SCAPE_TO_HOST\x10=\x12$\n CONTAINER_AND_RESOURCE_DISCOVERY\x10\x39\x12.\n*STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES\x10>B\xea\x01\n\"com.google.cloud.securitycenter.v2B\x10MitreAttackProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/notebook_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/notebook_pb.rb new file mode 100644 index 000000000000..2f7a56c15b07 --- /dev/null +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/notebook_pb.rb @@ -0,0 +1,45 @@ +# frozen_string_literal: true +# Generated by the protocol buffer compiler. DO NOT EDIT! +# source: google/cloud/securitycenter/v2/notebook.proto + +require 'google/protobuf' + +require 'google/protobuf/timestamp_pb' + + +descriptor_data = "\n-google/cloud/securitycenter/v2/notebook.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/protobuf/timestamp.proto\"x\n\x08Notebook\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x0f\n\x07service\x18\x02 \x01(\t\x12\x13\n\x0blast_author\x18\x03 \x01(\t\x12\x38\n\x14notebook_update_time\x18\x04 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\xe7\x01\n\"com.google.cloud.securitycenter.v2B\rNotebookProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" + +pool = Google::Protobuf::DescriptorPool.generated_pool + +begin + pool.add_serialized_file(descriptor_data) +rescue TypeError + # Compatibility code: will be removed in the next major version. + require 'google/protobuf/descriptor_pb' + parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data) + parsed.clear_dependency + serialized = parsed.class.encode(parsed) + file = pool.add_serialized_file(serialized) + warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" + imports = [ + ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"], + ] + imports.each do |type_name, expected_filename| + import_file = pool.lookup(type_name).file_descriptor + if import_file.name != expected_filename + warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}" + end + end + warn "Each proto file must use a consistent fully-qualified name." + warn "This will become an error in the next major version." +end + +module Google + module Cloud + module SecurityCenter + module V2 + Notebook = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Notebook").msgclass + end + end + end +end diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_pb.rb index 14cd54fa6ede..238fdd47992b 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_pb.rb @@ -5,9 +5,10 @@ require 'google/protobuf' require 'google/api/field_behavior_pb' +require 'google/cloud/securitycenter/v2/folder_pb' -descriptor_data = "\n-google/cloud/securitycenter/v2/resource.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\"<\n\x08Resource\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\tB\xe7\x01\n\"com.google.cloud.securitycenter.v2B\rResourceProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n-google/cloud/securitycenter/v2/resource.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a+google/cloud/securitycenter/v2/folder.proto\"\xf7\x03\n\x08Resource\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x45\n\x0e\x63loud_provider\x18\x04 \x01(\x0e\x32-.google.cloud.securitycenter.v2.CloudProvider\x12\x0f\n\x07service\x18\x05 \x01(\t\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x43\n\x0cgcp_metadata\x18\x07 \x01(\x0b\x32+.google.cloud.securitycenter.v2.GcpMetadataH\x00\x12\x43\n\x0c\x61ws_metadata\x18\x08 \x01(\x0b\x32+.google.cloud.securitycenter.v2.AwsMetadataH\x00\x12G\n\x0e\x61zure_metadata\x18\t \x01(\x0b\x32-.google.cloud.securitycenter.v2.AzureMetadataH\x00\x12\x43\n\rresource_path\x18\n \x01(\x0b\x32,.google.cloud.securitycenter.v2.ResourcePath\x12\x1c\n\x14resource_path_string\x18\x0b \x01(\tB\x19\n\x17\x63loud_provider_metadata\"\xbd\x01\n\x0bGcpMetadata\x12\x0f\n\x07project\x18\x01 \x01(\t\x12\x1c\n\x14project_display_name\x18\x02 \x01(\t\x12\x0e\n\x06parent\x18\x03 \x01(\t\x12\x1b\n\x13parent_display_name\x18\x04 \x01(\t\x12<\n\x07\x66olders\x18\x05 \x03(\x0b\x32&.google.cloud.securitycenter.v2.FolderB\x03\xe0\x41\x03\x12\x14\n\x0corganization\x18\x06 \x01(\t\"\x84\x03\n\x0b\x41wsMetadata\x12Q\n\x0corganization\x18\x01 \x01(\x0b\x32;.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization\x12_\n\x14organizational_units\x18\x02 \x03(\x0b\x32\x41.google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit\x12G\n\x07\x61\x63\x63ount\x18\x03 \x01(\x0b\x32\x36.google.cloud.securitycenter.v2.AwsMetadata.AwsAccount\x1a\x1d\n\x0f\x41wsOrganization\x12\n\n\x02id\x18\x01 \x01(\t\x1a\x31\n\x15\x41wsOrganizationalUnit\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\x1a&\n\nAwsAccount\x12\n\n\x02id\x18\x01 \x01(\t\x12\x0c\n\x04name\x18\x02 \x01(\t\"\xb4\x03\n\rAzureMetadata\x12]\n\x11management_groups\x18\x01 \x03(\x0b\x32\x42.google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup\x12U\n\x0csubscription\x18\x02 \x01(\x0b\x32?.google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription\x12X\n\x0eresource_group\x18\x03 \x01(\x0b\x32@.google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup\x1a\x38\n\x14\x41zureManagementGroup\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x1a\x35\n\x11\x41zureSubscription\x12\n\n\x02id\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x1a\"\n\x12\x41zureResourceGroup\x12\x0c\n\x04name\x18\x01 \x01(\t\"\xf4\x03\n\x0cResourcePath\x12L\n\x05nodes\x18\x01 \x03(\x0b\x32=.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode\x1a\x8a\x01\n\x10ResourcePathNode\x12T\n\tnode_type\x18\x01 \x01(\x0e\x32\x41.google.cloud.securitycenter.v2.ResourcePath.ResourcePathNodeType\x12\n\n\x02id\x18\x02 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x03 \x01(\t\"\x88\x02\n\x14ResourcePathNodeType\x12\'\n#RESOURCE_PATH_NODE_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10GCP_ORGANIZATION\x10\x01\x12\x0e\n\nGCP_FOLDER\x10\x02\x12\x0f\n\x0bGCP_PROJECT\x10\x03\x12\x14\n\x10\x41WS_ORGANIZATION\x10\x04\x12\x1b\n\x17\x41WS_ORGANIZATIONAL_UNIT\x10\x05\x12\x0f\n\x0b\x41WS_ACCOUNT\x10\x06\x12\x1a\n\x16\x41ZURE_MANAGEMENT_GROUP\x10\x07\x12\x16\n\x12\x41ZURE_SUBSCRIPTION\x10\x08\x12\x18\n\x14\x41ZURE_RESOURCE_GROUP\x10\t*x\n\rCloudProvider\x12\x1e\n\x1a\x43LOUD_PROVIDER_UNSPECIFIED\x10\x00\x12\x19\n\x15GOOGLE_CLOUD_PLATFORM\x10\x01\x12\x17\n\x13\x41MAZON_WEB_SERVICES\x10\x02\x12\x13\n\x0fMICROSOFT_AZURE\x10\x03\x42\xe7\x01\n\"com.google.cloud.securitycenter.v2B\rResourceProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -22,6 +23,7 @@ file = pool.add_serialized_file(serialized) warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}" imports = [ + ["google.cloud.securitycenter.v2.Folder", "google/cloud/securitycenter/v2/folder.proto"], ] imports.each do |type_name, expected_filename| import_file = pool.lookup(type_name).file_descriptor @@ -38,6 +40,19 @@ module Cloud module SecurityCenter module V2 Resource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.Resource").msgclass + GcpMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.GcpMetadata").msgclass + AwsMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AwsMetadata").msgclass + AwsMetadata::AwsOrganization = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AwsMetadata.AwsOrganization").msgclass + AwsMetadata::AwsOrganizationalUnit = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AwsMetadata.AwsOrganizationalUnit").msgclass + AwsMetadata::AwsAccount = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AwsMetadata.AwsAccount").msgclass + AzureMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AzureMetadata").msgclass + AzureMetadata::AzureManagementGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AzureMetadata.AzureManagementGroup").msgclass + AzureMetadata::AzureSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AzureMetadata.AzureSubscription").msgclass + AzureMetadata::AzureResourceGroup = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.AzureMetadata.AzureResourceGroup").msgclass + ResourcePath = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.ResourcePath").msgclass + ResourcePath::ResourcePathNode = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.ResourcePath.ResourcePathNode").msgclass + ResourcePath::ResourcePathNodeType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.ResourcePath.ResourcePathNodeType").enummodule + CloudProvider = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.securitycenter.v2.CloudProvider").enummodule end end end diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb index 7abe305ada68..270d7978a5f9 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/resource_value_config_pb.rb @@ -6,10 +6,11 @@ require 'google/api/field_behavior_pb' require 'google/api/resource_pb' +require 'google/cloud/securitycenter/v2/resource_pb' require 'google/protobuf/timestamp_pb' -descriptor_data = "\n:google/cloud/securitycenter/v2/resource_value_config.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xa6\x07\n\x13ResourceValueConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x45\n\x0eresource_value\x18\x02 \x01(\x0e\x32-.google.cloud.securitycenter.v2.ResourceValue\x12\x17\n\ntag_values\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\r\n\x05scope\x18\x05 \x01(\t\x12q\n\x18resource_labels_selector\x18\x06 \x03(\x0b\x32O.google.cloud.securitycenter.v2.ResourceValueConfig.ResourceLabelsSelectorEntry\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12}\n!sensitive_data_protection_mapping\x18\x0b \x01(\x0b\x32R.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping\x1a\xc4\x01\n\x1eSensitiveDataProtectionMapping\x12O\n\x18high_sensitivity_mapping\x18\x01 \x01(\x0e\x32-.google.cloud.securitycenter.v2.ResourceValue\x12Q\n\x1amedium_sensitivity_mapping\x18\x02 \x01(\x0e\x32-.google.cloud.securitycenter.v2.ResourceValue\x1a=\n\x1bResourceLabelsSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x81\x01\xea\x41~\n1securitycenter.googleapis.com/ResourceValueConfig\x12Iorganizations/{organization}/resourceValueConfigs/{resource_value_config}*X\n\rResourceValue\x12\x1e\n\x1aRESOURCE_VALUE_UNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\x12\x08\n\x04NONE\x10\x04\x42\xf2\x01\n\"com.google.cloud.securitycenter.v2B\x18ResourceValueConfigProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n:google/cloud/securitycenter/v2/resource_value_config.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a-google/cloud/securitycenter/v2/resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xf9\x08\n\x13ResourceValueConfig\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x45\n\x0eresource_value\x18\x02 \x01(\x0e\x32-.google.cloud.securitycenter.v2.ResourceValue\x12\x17\n\ntag_values\x18\x03 \x03(\tB\x03\xe0\x41\x02\x12\x15\n\rresource_type\x18\x04 \x01(\t\x12\r\n\x05scope\x18\x05 \x01(\t\x12q\n\x18resource_labels_selector\x18\x06 \x03(\x0b\x32O.google.cloud.securitycenter.v2.ResourceValueConfig.ResourceLabelsSelectorEntry\x12\x13\n\x0b\x64\x65scription\x18\x07 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x08 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x34\n\x0bupdate_time\x18\t \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x45\n\x0e\x63loud_provider\x18\n \x01(\x0e\x32-.google.cloud.securitycenter.v2.CloudProvider\x12}\n!sensitive_data_protection_mapping\x18\x0b \x01(\x0b\x32R.google.cloud.securitycenter.v2.ResourceValueConfig.SensitiveDataProtectionMapping\x1a\xc4\x01\n\x1eSensitiveDataProtectionMapping\x12O\n\x18high_sensitivity_mapping\x18\x01 \x01(\x0e\x32-.google.cloud.securitycenter.v2.ResourceValue\x12Q\n\x1amedium_sensitivity_mapping\x18\x02 \x01(\x0e\x32-.google.cloud.securitycenter.v2.ResourceValue\x1a=\n\x1bResourceLabelsSelectorEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01:\x8d\x02\xea\x41\x89\x02\n1securitycenter.googleapis.com/ResourceValueConfig\x12Iorganizations/{organization}/resourceValueConfigs/{resource_value_config}\x12^organizations/{organization}/locations/{location}/resourceValueConfigs/{resource_value_config}*\x14resourceValueConfigs2\x13resourceValueConfig*X\n\rResourceValue\x12\x1e\n\x1aRESOURCE_VALUE_UNSPECIFIED\x10\x00\x12\x08\n\x04HIGH\x10\x01\x12\n\n\x06MEDIUM\x10\x02\x12\x07\n\x03LOW\x10\x03\x12\x08\n\x04NONE\x10\x04\x42\xf2\x01\n\"com.google.cloud.securitycenter.v2B\x18ResourceValueConfigProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb index 2c6492255561..763c07d74352 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/securitycenter_service_pb.rb @@ -15,6 +15,7 @@ require 'google/cloud/securitycenter/v2/finding_pb' require 'google/cloud/securitycenter/v2/mute_config_pb' require 'google/cloud/securitycenter/v2/notification_config_pb' +require 'google/cloud/securitycenter/v2/resource_pb' require 'google/cloud/securitycenter/v2/resource_value_config_pb' require 'google/cloud/securitycenter/v2/security_marks_pb' require 'google/cloud/securitycenter/v2/simulation_pb' @@ -28,7 +29,7 @@ require 'google/protobuf/struct_pb' -descriptor_data = "\n;google/cloud/securitycenter/v2/securitycenter_service.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x18google/api/routing.proto\x1a\x30google/cloud/securitycenter/v2/attack_path.proto\x1a\x34google/cloud/securitycenter/v2/bigquery_export.proto\x1a\x34google/cloud/securitycenter/v2/external_system.proto\x1a,google/cloud/securitycenter/v2/finding.proto\x1a\x30google/cloud/securitycenter/v2/mute_config.proto\x1a\x38google/cloud/securitycenter/v2/notification_config.proto\x1a:google/cloud/securitycenter/v2/resource_value_config.proto\x1a\x33google/cloud/securitycenter/v2/security_marks.proto\x1a/google/cloud/securitycenter/v2/simulation.proto\x1a+google/cloud/securitycenter/v2/source.proto\x1a\x34google/cloud/securitycenter/v2/valued_resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xcc\x01\n&BatchCreateResourceValueConfigsRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31securitycenter.googleapis.com/ResourceValueConfig\x12W\n\x08requests\x18\x02 \x03(\x0b\x32@.google.cloud.securitycenter.v2.CreateResourceValueConfigRequestB\x03\xe0\x41\x02\"~\n\'BatchCreateResourceValueConfigsResponse\x12S\n\x16resource_value_configs\x18\x01 \x03(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfig\"D\n\x17\x42ulkMuteFindingsRequest\x12\x19\n\x06parent\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\"\x1a\n\x18\x42ulkMuteFindingsResponse\"\xd4\x01\n\x1b\x43reateBigQueryExportRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\x12,securitycenter.googleapis.com/BigQueryExport\x12M\n\x10\x62ig_query_export\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.BigQueryExportB\x03\xe0\x41\x02\x12 \n\x13\x62ig_query_export_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xac\x01\n\x14\x43reateFindingRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\x12\x17\n\nfinding_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12=\n\x07\x66inding\x18\x03 \x01(\x0b\x32\'.google.cloud.securitycenter.v2.FindingB\x03\xe0\x41\x02\"\xbe\x01\n\x17\x43reateMuteConfigRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(securitycenter.googleapis.com/MuteConfig\x12\x44\n\x0bmute_config\x18\x02 \x01(\x0b\x32*.google.cloud.securitycenter.v2.MuteConfigB\x03\xe0\x41\x02\x12\x1b\n\x0emute_config_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xd9\x01\n\x1f\x43reateNotificationConfigRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\x12\x30securitycenter.googleapis.com/NotificationConfig\x12\x16\n\tconfig_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12T\n\x13notification_config\x18\x03 \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.NotificationConfigB\x03\xe0\x41\x02\"\xc6\x01\n CreateResourceValueConfigRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31securitycenter.googleapis.com/ResourceValueConfig\x12W\n\x15resource_value_config\x18\x02 \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfigB\x03\xe0\x41\x02\"\x9c\x01\n\x13\x43reateSourceRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12;\n\x06source\x18\x02 \x01(\x0b\x32&.google.cloud.securitycenter.v2.SourceB\x03\xe0\x41\x02\"a\n\x1b\x44\x65leteBigQueryExportRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,securitycenter.googleapis.com/BigQueryExport\"Y\n\x17\x44\x65leteMuteConfigRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(securitycenter.googleapis.com/MuteConfig\"i\n\x1f\x44\x65leteNotificationConfigRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0securitycenter.googleapis.com/NotificationConfig\"k\n DeleteResourceValueConfigRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1securitycenter.googleapis.com/ResourceValueConfig\"^\n\x18GetBigQueryExportRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,securitycenter.googleapis.com/BigQueryExport\"V\n\x14GetMuteConfigRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(securitycenter.googleapis.com/MuteConfig\"f\n\x1cGetNotificationConfigRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0securitycenter.googleapis.com/NotificationConfig\"h\n\x1dGetResourceValueConfigRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1securitycenter.googleapis.com/ResourceValueConfig\"N\n\x10GetSourceRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\"\xa2\x01\n\x14GroupFindingsRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x15\n\x08group_by\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x12\n\npage_token\x18\x07 \x01(\t\x12\x11\n\tpage_size\x18\x08 \x01(\x05\"\x8b\x01\n\x15GroupFindingsResponse\x12\x45\n\x10group_by_results\x18\x01 \x03(\x0b\x32+.google.cloud.securitycenter.v2.GroupResult\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\x12\x12\n\ntotal_size\x18\x04 \x01(\x05\"\xb8\x01\n\x0bGroupResult\x12O\n\nproperties\x18\x01 \x03(\x0b\x32;.google.cloud.securitycenter.v2.GroupResult.PropertiesEntry\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\x1aI\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\x91\x01\n\x16ListAttackPathsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(securitycenter.googleapis.com/AttackPath\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\"t\n\x17ListAttackPathsResponse\x12@\n\x0c\x61ttack_paths\x18\x01 \x03(\x0b\x32*.google.cloud.securitycenter.v2.AttackPath\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"V\n\x14GetSimulationRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(securitycenter.googleapis.com/Simulation\"^\n\x18GetValuedResourceRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,securitycenter.googleapis.com/ValuedResource\"\x89\x01\n\x1aListBigQueryExportsRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\x12,securitycenter.googleapis.com/BigQueryExport\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x81\x01\n\x1bListBigQueryExportsResponse\x12I\n\x11\x62ig_query_exports\x18\x01 \x03(\x0b\x32..google.cloud.securitycenter.v2.BigQueryExport\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xcc\x01\n\x13ListFindingsRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x10\n\x08order_by\x18\x03 \x01(\t\x12.\n\nfield_mask\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x12\n\npage_token\x18\x08 \x01(\t\x12\x11\n\tpage_size\x18\t \x01(\x05\"\xa3\x03\n\x14ListFindingsResponse\x12\x66\n\x15list_findings_results\x18\x01 \x03(\x0b\x32G.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\x12\x12\n\ntotal_size\x18\x04 \x01(\x05\x1a\xf5\x01\n\x12ListFindingsResult\x12\x38\n\x07\x66inding\x18\x01 \x01(\x0b\x32\'.google.cloud.securitycenter.v2.Finding\x12g\n\x08resource\x18\x03 \x01(\x0b\x32P.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.ResourceB\x03\xe0\x41\x03\x1a<\n\x08Resource\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\"\x81\x01\n\x16ListMuteConfigsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(securitycenter.googleapis.com/MuteConfig\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"t\n\x17ListMuteConfigsResponse\x12@\n\x0cmute_configs\x18\x01 \x03(\x0b\x32*.google.cloud.securitycenter.v2.MuteConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x91\x01\n\x1eListNotificationConfigsRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\x12\x30securitycenter.googleapis.com/NotificationConfig\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\"\x8c\x01\n\x1fListNotificationConfigsResponse\x12P\n\x14notification_configs\x18\x01 \x03(\x0b\x32\x32.google.cloud.securitycenter.v2.NotificationConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x93\x01\n\x1fListResourceValueConfigsRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31securitycenter.googleapis.com/ResourceValueConfig\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x90\x01\n ListResourceValueConfigsResponse\x12S\n\x16resource_value_configs\x18\x01 \x03(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"y\n\x12ListSourcesRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$securitycenter.googleapis.com/Source\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x07 \x01(\x05\"g\n\x13ListSourcesResponse\x12\x37\n\x07sources\x18\x01 \x03(\x0b\x32&.google.cloud.securitycenter.v2.Source\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb0\x01\n\x1aListValuedResourcesRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\x12,securitycenter.googleapis.com/ValuedResource\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x94\x01\n\x1bListValuedResourcesResponse\x12H\n\x10valued_resources\x18\x01 \x03(\x0b\x32..google.cloud.securitycenter.v2.ValuedResource\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"\x98\x01\n\x16SetFindingStateRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%securitycenter.googleapis.com/Finding\x12\x41\n\x05state\x18\x02 \x01(\x0e\x32-.google.cloud.securitycenter.v2.Finding.StateB\x03\xe0\x41\x02\"\x8e\x01\n\x0eSetMuteRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%securitycenter.googleapis.com/Finding\x12?\n\x04mute\x18\x02 \x01(\x0e\x32,.google.cloud.securitycenter.v2.Finding.MuteB\x03\xe0\x41\x02\"\x9d\x01\n\x1bUpdateBigQueryExportRequest\x12M\n\x10\x62ig_query_export\x18\x01 \x01(\x0b\x32..google.cloud.securitycenter.v2.BigQueryExportB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x9c\x01\n\x1bUpdateExternalSystemRequest\x12L\n\x0f\x65xternal_system\x18\x01 \x01(\x0b\x32..google.cloud.securitycenter.v2.ExternalSystemB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x86\x01\n\x14UpdateFindingRequest\x12=\n\x07\x66inding\x18\x01 \x01(\x0b\x32\'.google.cloud.securitycenter.v2.FindingB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x90\x01\n\x17UpdateMuteConfigRequest\x12\x44\n\x0bmute_config\x18\x01 \x01(\x0b\x32*.google.cloud.securitycenter.v2.MuteConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xa8\x01\n\x1fUpdateNotificationConfigRequest\x12T\n\x13notification_config\x18\x01 \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.NotificationConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xac\x01\n UpdateResourceValueConfigRequest\x12W\n\x15resource_value_config\x18\x01 \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x99\x01\n\x1aUpdateSecurityMarksRequest\x12J\n\x0esecurity_marks\x18\x01 \x01(\x0b\x32-.google.cloud.securitycenter.v2.SecurityMarksB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x83\x01\n\x13UpdateSourceRequest\x12;\n\x06source\x18\x01 \x01(\x0b\x32&.google.cloud.securitycenter.v2.SourceB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask2\xc5{\n\x0eSecurityCenter\x12\x8e\x02\n\x1f\x42\x61tchCreateResourceValueConfigs\x12\x46.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest\x1aG.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse\"Z\xda\x41\x0fparent,requests\x82\xd3\xe4\x93\x02\x42\"=/v2/{parent=organizations/*}/resourceValueConfigs:batchCreate:\x01*\x12\x9a\x04\n\x10\x42ulkMuteFindings\x12\x37.google.cloud.securitycenter.v2.BulkMuteFindingsRequest\x1a\x1d.google.longrunning.Operation\"\xad\x03\xca\x41P\n7google.cloud.securitycenter.v2.BulkMuteFindingsResponse\x12\x15google.protobuf.Empty\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xca\x02\"./v2/{parent=organizations/*}/findings:bulkMute:\x01*Z?\":/v2/{parent=organizations/*/locations/*}/findings:bulkMute:\x01*Z-\"(/v2/{parent=folders/*}/findings:bulkMute:\x01*Z9\"4/v2/{parent=folders/*/locations/*}/findings:bulkMute:\x01*Z.\")/v2/{parent=projects/*}/findings:bulkMute:\x01*Z:\"5/v2/{parent=projects/*/locations/*}/findings:bulkMute:\x01*\x12\x98\x03\n\x14\x43reateBigQueryExport\x12;.google.cloud.securitycenter.v2.CreateBigQueryExportRequest\x1a..google.cloud.securitycenter.v2.BigQueryExport\"\x92\x02\xda\x41+parent,big_query_export,big_query_export_id\x82\xd3\xe4\x93\x02\xdd\x01\"8/v2/{parent=organizations/*/locations/*}/bigQueryExports:\x10\x62ig_query_exportZF\"2/v2/{parent=folders/*/locations/*}/bigQueryExports:\x10\x62ig_query_exportZG\"3/v2/{parent=projects/*/locations/*}/bigQueryExports:\x10\x62ig_query_export\x12\x96\x02\n\rCreateFinding\x12\x34.google.cloud.securitycenter.v2.CreateFindingRequest\x1a\'.google.cloud.securitycenter.v2.Finding\"\xa5\x01\xda\x41\x19parent,finding,finding_id\x82\xd3\xe4\x93\x02\x82\x01\";/v2/{parent=organizations/*/sources/*/locations/*}/findings:\x07\x66indingZ:\"//v2/{parent=organizations/*/sources/*}/findings:\x07\x66inding\x12\x99\x05\n\x10\x43reateMuteConfig\x12\x37.google.cloud.securitycenter.v2.CreateMuteConfigRequest\x1a*.google.cloud.securitycenter.v2.MuteConfig\"\x9f\x04\xda\x41!parent,mute_config,mute_config_id\x82\xd3\xe4\x93\x02\xe2\x02\"4/v2/{parent=organizations/*/locations/*}/muteConfigs:\x0bmute_configZ=\"./v2/{parent=folders/*/locations/*}/muteConfigs:\x0bmute_configZ>\"//v2/{parent=projects/*/locations/*}/muteConfigs:\x0bmute_configZ7\"(/v2/{parent=organizations/*}/muteConfigs:\x0bmute_configZ1\"\"/v2/{parent=folders/*}/muteConfigs:\x0bmute_configZ2\"#/v2/{parent=projects/*}/muteConfigs:\x0bmute_config\x8a\xd3\xe4\x93\x02\x8b\x01\x12+\n\x06parent\x12!projects/*/locations/{location=*}\x12\x30\n\x06parent\x12&organizations/*/locations/{location=*}\x12*\n\x06parent\x12 folders/*/locations/{location=*}\x12\xb2\x03\n\x18\x43reateNotificationConfig\x12?.google.cloud.securitycenter.v2.CreateNotificationConfigRequest\x1a\x32.google.cloud.securitycenter.v2.NotificationConfig\"\xa0\x02\xda\x41$parent,notification_config,config_id\x82\xd3\xe4\x93\x02\xf2\x01\".google.cloud.securitycenter.v2.ListNotificationConfigsRequest\x1a?.google.cloud.securitycenter.v2.ListNotificationConfigsResponse\"\xc3\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xb3\x01\x12/v2/{name=folders/*/sources/*/locations/*/findings/*}:setState:\x01*Z8\"3/v2/{name=projects/*/sources/*/findings/*}:setState:\x01*ZD\"?/v2/{name=projects/*/sources/*/locations/*/findings/*}:setState:\x01*\x12\x9d\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"R\xda\x41\x0fresource,policy\x82\xd3\xe4\x93\x02:\"5/v2/{resource=organizations/*/sources/*}:setIamPolicy:\x01*\x12\xf8\x03\n\x07SetMute\x12..google.cloud.securitycenter.v2.SetMuteRequest\x1a\'.google.cloud.securitycenter.v2.Finding\"\x93\x03\xda\x41\tname,mute\x82\xd3\xe4\x93\x02\x80\x03\"7/v2/{name=organizations/*/sources/*/findings/*}:setMute:\x01*ZH\"C/v2/{name=organizations/*/sources/*/locations/*/findings/*}:setMute:\x01*Z6\"1/v2/{name=folders/*/sources/*/findings/*}:setMute:\x01*ZB\"=/v2/{name=folders/*/sources/*/locations/*/findings/*}:setMute:\x01*Z7\"2/v2/{name=projects/*/sources/*/findings/*}:setMute:\x01*ZC\">/v2/{name=projects/*/sources/*/locations/*/findings/*}:setMute:\x01*\x12\xc8\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"]\xda\x41\x14resource,permissions\x82\xd3\xe4\x93\x02@\";/v2/{resource=organizations/*/sources/*}:testIamPermissions:\x01*\x12\xbc\x03\n\x14UpdateBigQueryExport\x12;.google.cloud.securitycenter.v2.UpdateBigQueryExportRequest\x1a..google.cloud.securitycenter.v2.BigQueryExport\"\xb6\x02\xda\x41\x1c\x62ig_query_export,update_mask\x82\xd3\xe4\x93\x02\x90\x02\x32I/v2/{big_query_export.name=organizations/*/locations/*/bigQueryExports/*}:\x10\x62ig_query_exportZW2C/v2/{big_query_export.name=folders/*/locations/*/bigQueryExports/*}:\x10\x62ig_query_exportZX2D/v2/{big_query_export.name=projects/*/locations/*/bigQueryExports/*}:\x10\x62ig_query_export\x12\x9b\x06\n\x14UpdateExternalSystem\x12;.google.cloud.securitycenter.v2.UpdateExternalSystemRequest\x1a..google.cloud.securitycenter.v2.ExternalSystem\"\x95\x05\xda\x41\x1b\x65xternal_system,update_mask\x82\xd3\xe4\x93\x02\xf0\x04\x32Q/v2/{external_system.name=organizations/*/sources/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZp2]/v2/{external_system.name=organizations/*/sources/*/locations/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZ^2K/v2/{external_system.name=folders/*/sources/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZj2W/v2/{external_system.name=folders/*/sources/*/locations/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZ_2L/v2/{external_system.name=projects/*/sources/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZk2X/v2/{external_system.name=projects/*/sources/*/locations/*/findings/*/externalSystems/*}:\x0f\x65xternal_system\x12\xb2\x04\n\rUpdateFinding\x12\x34.google.cloud.securitycenter.v2.UpdateFindingRequest\x1a\'.google.cloud.securitycenter.v2.Finding\"\xc1\x03\xda\x41\x13\x66inding,update_mask\x82\xd3\xe4\x93\x02\xa4\x03\x32\x37/v2/{finding.name=organizations/*/sources/*/findings/*}:\x07\x66indingZN2C/v2/{finding.name=organizations/*/sources/*/locations/*/findings/*}:\x07\x66indingZ<21/v2/{finding.name=folders/*/sources/*/findings/*}:\x07\x66indingZH2=/v2/{finding.name=folders/*/sources/*/locations/*/findings/*}:\x07\x66indingZ=22/v2/{finding.name=projects/*/sources/*/findings/*}:\x07\x66indingZI2>/v2/{finding.name=projects/*/sources/*/locations/*/findings/*}:\x07\x66inding\x12\x9f\x06\n\x10UpdateMuteConfig\x12\x37.google.cloud.securitycenter.v2.UpdateMuteConfigRequest\x1a*.google.cloud.securitycenter.v2.MuteConfig\"\xa5\x05\xda\x41\x17mute_config,update_mask\x82\xd3\xe4\x93\x02\xaa\x03\x32\x34/v2/{mute_config.name=organizations/*/muteConfigs/*}:\x0bmute_configZO2@/v2/{mute_config.name=organizations/*/locations/*/muteConfigs/*}:\x0bmute_configZ=2./v2/{mute_config.name=folders/*/muteConfigs/*}:\x0bmute_configZI2:/v2/{mute_config.name=folders/*/locations/*/muteConfigs/*}:\x0bmute_configZ>2//v2/{mute_config.name=projects/*/muteConfigs/*}:\x0bmute_configZJ2;/v2/{mute_config.name=projects/*/locations/*/muteConfigs/*}:\x0bmute_config\x8a\xd3\xe4\x93\x02\xd3\x01\x12\x43\n\x10mute_config.name\x12/projects/*/locations/{location=*}/muteConfigs/*\x12H\n\x10mute_config.name\x12\x34organizations/*/locations/{location=*}/muteConfigs/*\x12\x42\n\x10mute_config.name\x12.folders/*/locations/{location=*}/muteConfigs/*\x12\xe9\x03\n\x18UpdateNotificationConfig\x12?.google.cloud.securitycenter.v2.UpdateNotificationConfigRequest\x1a\x32.google.cloud.securitycenter.v2.NotificationConfig\"\xd7\x02\xda\x41\x1fnotification_config,update_mask\x82\xd3\xe4\x93\x02\xae\x02\x32P/v2/{notification_config.name=organizations/*/locations/*/notificationConfigs/*}:\x13notification_configZa2J/v2/{notification_config.name=folders/*/locations/*/notificationConfigs/*}:\x13notification_configZb2K/v2/{notification_config.name=projects/*/locations/*/notificationConfigs/*}:\x13notification_config\x12\x9f\x02\n\x19UpdateResourceValueConfig\x12@.google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest\x1a\x33.google.cloud.securitycenter.v2.ResourceValueConfig\"\x8a\x01\xda\x41!resource_value_config,update_mask\x82\xd3\xe4\x93\x02`2G/v2/{resource_value_config.name=organizations/*/resourceValueConfigs/*}:\x15resource_value_config\x12\xe4\x07\n\x13UpdateSecurityMarks\x12:.google.cloud.securitycenter.v2.UpdateSecurityMarksRequest\x1a-.google.cloud.securitycenter.v2.SecurityMarks\"\xe1\x06\xda\x41\x1asecurity_marks,update_mask\x82\xd3\xe4\x93\x02\xbd\x06\x32L/v2/{security_marks.name=organizations/*/sources/*/findings/*/securityMarks}:\x0esecurity_marksZR2@/v2/{security_marks.name=organizations/*/assets/*/securityMarks}:\x0esecurity_marksZj2X/v2/{security_marks.name=organizations/*/sources/*/locations/*/findings/*/securityMarks}:\x0esecurity_marksZX2F/v2/{security_marks.name=folders/*/sources/*/findings/*/securityMarks}:\x0esecurity_marksZL2:/v2/{security_marks.name=folders/*/assets/*/securityMarks}:\x0esecurity_marksZd2R/v2/{security_marks.name=folders/*/sources/*/locations/*/findings/*/securityMarks}:\x0esecurity_marksZY2G/v2/{security_marks.name=projects/*/sources/*/findings/*/securityMarks}:\x0esecurity_marksZM2;/v2/{security_marks.name=projects/*/assets/*/securityMarks}:\x0esecurity_marksZe2S/v2/{security_marks.name=projects/*/sources/*/locations/*/findings/*/securityMarks}:\x0esecurity_marks\x12\xbd\x01\n\x0cUpdateSource\x12\x33.google.cloud.securitycenter.v2.UpdateSourceRequest\x1a&.google.cloud.securitycenter.v2.Source\"P\xda\x41\x12source,update_mask\x82\xd3\xe4\x93\x02\x35\x32+/v2/{source.name=organizations/*/sources/*}:\x06source\x1aQ\xca\x41\x1dsecuritycenter.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xb6\x03\n\"com.google.cloud.securitycenter.v2B\x1aSecuritycenterServiceProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2\xea\x41g\n2securitycenter.googleapis.com/OrganizationLocation\x12\x31organizations/{organization}/locations/{location}\xea\x41U\n,securitycenter.googleapis.com/FolderLocation\x12%folders/{folder}/locations/{location}b\x06proto3" +descriptor_data = "\n;google/cloud/securitycenter/v2/securitycenter_service.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x18google/api/routing.proto\x1a\x30google/cloud/securitycenter/v2/attack_path.proto\x1a\x34google/cloud/securitycenter/v2/bigquery_export.proto\x1a\x34google/cloud/securitycenter/v2/external_system.proto\x1a,google/cloud/securitycenter/v2/finding.proto\x1a\x30google/cloud/securitycenter/v2/mute_config.proto\x1a\x38google/cloud/securitycenter/v2/notification_config.proto\x1a-google/cloud/securitycenter/v2/resource.proto\x1a:google/cloud/securitycenter/v2/resource_value_config.proto\x1a\x33google/cloud/securitycenter/v2/security_marks.proto\x1a/google/cloud/securitycenter/v2/simulation.proto\x1a+google/cloud/securitycenter/v2/source.proto\x1a\x34google/cloud/securitycenter/v2/valued_resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xcc\x01\n&BatchCreateResourceValueConfigsRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31securitycenter.googleapis.com/ResourceValueConfig\x12W\n\x08requests\x18\x02 \x03(\x0b\x32@.google.cloud.securitycenter.v2.CreateResourceValueConfigRequestB\x03\xe0\x41\x02\"~\n\'BatchCreateResourceValueConfigsResponse\x12S\n\x16resource_value_configs\x18\x01 \x03(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfig\"D\n\x17\x42ulkMuteFindingsRequest\x12\x19\n\x06parent\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\"\x1a\n\x18\x42ulkMuteFindingsResponse\"\xd4\x01\n\x1b\x43reateBigQueryExportRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\x12,securitycenter.googleapis.com/BigQueryExport\x12M\n\x10\x62ig_query_export\x18\x02 \x01(\x0b\x32..google.cloud.securitycenter.v2.BigQueryExportB\x03\xe0\x41\x02\x12 \n\x13\x62ig_query_export_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xac\x01\n\x14\x43reateFindingRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\x12\x17\n\nfinding_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12=\n\x07\x66inding\x18\x03 \x01(\x0b\x32\'.google.cloud.securitycenter.v2.FindingB\x03\xe0\x41\x02\"\xbe\x01\n\x17\x43reateMuteConfigRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(securitycenter.googleapis.com/MuteConfig\x12\x44\n\x0bmute_config\x18\x02 \x01(\x0b\x32*.google.cloud.securitycenter.v2.MuteConfigB\x03\xe0\x41\x02\x12\x1b\n\x0emute_config_id\x18\x03 \x01(\tB\x03\xe0\x41\x02\"\xd9\x01\n\x1f\x43reateNotificationConfigRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\x12\x30securitycenter.googleapis.com/NotificationConfig\x12\x16\n\tconfig_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12T\n\x13notification_config\x18\x03 \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.NotificationConfigB\x03\xe0\x41\x02\"\xc6\x01\n CreateResourceValueConfigRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31securitycenter.googleapis.com/ResourceValueConfig\x12W\n\x15resource_value_config\x18\x02 \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfigB\x03\xe0\x41\x02\"\x9c\x01\n\x13\x43reateSourceRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0cloudresourcemanager.googleapis.com/Organization\x12;\n\x06source\x18\x02 \x01(\x0b\x32&.google.cloud.securitycenter.v2.SourceB\x03\xe0\x41\x02\"a\n\x1b\x44\x65leteBigQueryExportRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,securitycenter.googleapis.com/BigQueryExport\"Y\n\x17\x44\x65leteMuteConfigRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(securitycenter.googleapis.com/MuteConfig\"i\n\x1f\x44\x65leteNotificationConfigRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0securitycenter.googleapis.com/NotificationConfig\"k\n DeleteResourceValueConfigRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1securitycenter.googleapis.com/ResourceValueConfig\"^\n\x18GetBigQueryExportRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,securitycenter.googleapis.com/BigQueryExport\"V\n\x14GetMuteConfigRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(securitycenter.googleapis.com/MuteConfig\"f\n\x1cGetNotificationConfigRequest\x12\x46\n\x04name\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\n0securitycenter.googleapis.com/NotificationConfig\"h\n\x1dGetResourceValueConfigRequest\x12G\n\x04name\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\n1securitycenter.googleapis.com/ResourceValueConfig\"N\n\x10GetSourceRequest\x12:\n\x04name\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\"\xa2\x01\n\x14GroupFindingsRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x15\n\x08group_by\x18\x03 \x01(\tB\x03\xe0\x41\x02\x12\x12\n\npage_token\x18\x07 \x01(\t\x12\x11\n\tpage_size\x18\x08 \x01(\x05\"\x8b\x01\n\x15GroupFindingsResponse\x12\x45\n\x10group_by_results\x18\x01 \x03(\x0b\x32+.google.cloud.securitycenter.v2.GroupResult\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\x12\x12\n\ntotal_size\x18\x04 \x01(\x05\"\xb8\x01\n\x0bGroupResult\x12O\n\nproperties\x18\x01 \x03(\x0b\x32;.google.cloud.securitycenter.v2.GroupResult.PropertiesEntry\x12\r\n\x05\x63ount\x18\x02 \x01(\x03\x1aI\n\x0fPropertiesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12%\n\x05value\x18\x02 \x01(\x0b\x32\x16.google.protobuf.Value:\x02\x38\x01\"\x91\x01\n\x16ListAttackPathsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(securitycenter.googleapis.com/AttackPath\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\"t\n\x17ListAttackPathsResponse\x12@\n\x0c\x61ttack_paths\x18\x01 \x03(\x0b\x32*.google.cloud.securitycenter.v2.AttackPath\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"V\n\x14GetSimulationRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(securitycenter.googleapis.com/Simulation\"^\n\x18GetValuedResourceRequest\x12\x42\n\x04name\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\n,securitycenter.googleapis.com/ValuedResource\"\x89\x01\n\x1aListBigQueryExportsRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\x12,securitycenter.googleapis.com/BigQueryExport\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x81\x01\n\x1bListBigQueryExportsResponse\x12I\n\x11\x62ig_query_exports\x18\x01 \x03(\x0b\x32..google.cloud.securitycenter.v2.BigQueryExport\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xcc\x01\n\x13ListFindingsRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\n$securitycenter.googleapis.com/Source\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x10\n\x08order_by\x18\x03 \x01(\t\x12.\n\nfield_mask\x18\x07 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\x12\x12\n\npage_token\x18\x08 \x01(\t\x12\x11\n\tpage_size\x18\t \x01(\x05\"\xdf\x06\n\x14ListFindingsResponse\x12\x66\n\x15list_findings_results\x18\x01 \x03(\x0b\x32G.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult\x12\x17\n\x0fnext_page_token\x18\x03 \x01(\t\x12\x12\n\ntotal_size\x18\x04 \x01(\x05\x1a\xb1\x05\n\x12ListFindingsResult\x12\x38\n\x07\x66inding\x18\x01 \x01(\x0b\x32\'.google.cloud.securitycenter.v2.Finding\x12g\n\x08resource\x18\x03 \x01(\x0b\x32P.google.cloud.securitycenter.v2.ListFindingsResponse.ListFindingsResult.ResourceB\x03\xe0\x41\x03\x1a\xf7\x03\n\x08Resource\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x02 \x01(\t\x12\x0c\n\x04type\x18\x03 \x01(\t\x12\x45\n\x0e\x63loud_provider\x18\x04 \x01(\x0e\x32-.google.cloud.securitycenter.v2.CloudProvider\x12\x0f\n\x07service\x18\x05 \x01(\t\x12\x10\n\x08location\x18\x06 \x01(\t\x12\x43\n\x0cgcp_metadata\x18\x07 \x01(\x0b\x32+.google.cloud.securitycenter.v2.GcpMetadataH\x00\x12\x43\n\x0c\x61ws_metadata\x18\x08 \x01(\x0b\x32+.google.cloud.securitycenter.v2.AwsMetadataH\x00\x12G\n\x0e\x61zure_metadata\x18\t \x01(\x0b\x32-.google.cloud.securitycenter.v2.AzureMetadataH\x00\x12\x43\n\rresource_path\x18\n \x01(\x0b\x32,.google.cloud.securitycenter.v2.ResourcePath\x12\x1c\n\x14resource_path_string\x18\x0b \x01(\tB\x19\n\x17\x63loud_provider_metadata\"\x81\x01\n\x16ListMuteConfigsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(securitycenter.googleapis.com/MuteConfig\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"t\n\x17ListMuteConfigsResponse\x12@\n\x0cmute_configs\x18\x01 \x03(\x0b\x32*.google.cloud.securitycenter.v2.MuteConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x91\x01\n\x1eListNotificationConfigsRequest\x12H\n\x06parent\x18\x01 \x01(\tB8\xe0\x41\x02\xfa\x41\x32\x12\x30securitycenter.googleapis.com/NotificationConfig\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\"\x8c\x01\n\x1fListNotificationConfigsResponse\x12P\n\x14notification_configs\x18\x01 \x03(\x0b\x32\x32.google.cloud.securitycenter.v2.NotificationConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x93\x01\n\x1fListResourceValueConfigsRequest\x12I\n\x06parent\x18\x01 \x01(\tB9\xe0\x41\x02\xfa\x41\x33\x12\x31securitycenter.googleapis.com/ResourceValueConfig\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x90\x01\n ListResourceValueConfigsResponse\x12S\n\x16resource_value_configs\x18\x01 \x03(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfig\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"y\n\x12ListSourcesRequest\x12<\n\x06parent\x18\x01 \x01(\tB,\xe0\x41\x02\xfa\x41&\x12$securitycenter.googleapis.com/Source\x12\x12\n\npage_token\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x07 \x01(\x05\"g\n\x13ListSourcesResponse\x12\x37\n\x07sources\x18\x01 \x03(\x0b\x32&.google.cloud.securitycenter.v2.Source\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\xb0\x01\n\x1aListValuedResourcesRequest\x12\x44\n\x06parent\x18\x01 \x01(\tB4\xe0\x41\x02\xfa\x41.\x12,securitycenter.googleapis.com/ValuedResource\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x12\n\npage_token\x18\x03 \x01(\t\x12\x11\n\tpage_size\x18\x04 \x01(\x05\x12\x15\n\x08order_by\x18\x05 \x01(\tB\x03\xe0\x41\x01\"\x94\x01\n\x1bListValuedResourcesResponse\x12H\n\x10valued_resources\x18\x01 \x03(\x0b\x32..google.cloud.securitycenter.v2.ValuedResource\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\x12\x12\n\ntotal_size\x18\x03 \x01(\x05\"\x98\x01\n\x16SetFindingStateRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%securitycenter.googleapis.com/Finding\x12\x41\n\x05state\x18\x02 \x01(\x0e\x32-.google.cloud.securitycenter.v2.Finding.StateB\x03\xe0\x41\x02\"\x8e\x01\n\x0eSetMuteRequest\x12;\n\x04name\x18\x01 \x01(\tB-\xe0\x41\x02\xfa\x41\'\n%securitycenter.googleapis.com/Finding\x12?\n\x04mute\x18\x02 \x01(\x0e\x32,.google.cloud.securitycenter.v2.Finding.MuteB\x03\xe0\x41\x02\"\x9d\x01\n\x1bUpdateBigQueryExportRequest\x12M\n\x10\x62ig_query_export\x18\x01 \x01(\x0b\x32..google.cloud.securitycenter.v2.BigQueryExportB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x9c\x01\n\x1bUpdateExternalSystemRequest\x12L\n\x0f\x65xternal_system\x18\x01 \x01(\x0b\x32..google.cloud.securitycenter.v2.ExternalSystemB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x86\x01\n\x14UpdateFindingRequest\x12=\n\x07\x66inding\x18\x01 \x01(\x0b\x32\'.google.cloud.securitycenter.v2.FindingB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x90\x01\n\x17UpdateMuteConfigRequest\x12\x44\n\x0bmute_config\x18\x01 \x01(\x0b\x32*.google.cloud.securitycenter.v2.MuteConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xa8\x01\n\x1fUpdateNotificationConfigRequest\x12T\n\x13notification_config\x18\x01 \x01(\x0b\x32\x32.google.cloud.securitycenter.v2.NotificationConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\xac\x01\n UpdateResourceValueConfigRequest\x12W\n\x15resource_value_config\x18\x01 \x01(\x0b\x32\x33.google.cloud.securitycenter.v2.ResourceValueConfigB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x99\x01\n\x1aUpdateSecurityMarksRequest\x12J\n\x0esecurity_marks\x18\x01 \x01(\x0b\x32-.google.cloud.securitycenter.v2.SecurityMarksB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask\"\x83\x01\n\x13UpdateSourceRequest\x12;\n\x06source\x18\x01 \x01(\x0b\x32&.google.cloud.securitycenter.v2.SourceB\x03\xe0\x41\x02\x12/\n\x0bupdate_mask\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.FieldMask2\x86\x81\x01\n\x0eSecurityCenter\x12\xe0\x02\n\x1f\x42\x61tchCreateResourceValueConfigs\x12\x46.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsRequest\x1aG.google.cloud.securitycenter.v2.BatchCreateResourceValueConfigsResponse\"\xab\x01\xda\x41\x0fparent,requests\x82\xd3\xe4\x93\x02\x92\x01\"=/v2/{parent=organizations/*}/resourceValueConfigs:batchCreate:\x01*ZN\"I/v2/{parent=organizations/*/locations/*}/resourceValueConfigs:batchCreate:\x01*\x12\x9a\x04\n\x10\x42ulkMuteFindings\x12\x37.google.cloud.securitycenter.v2.BulkMuteFindingsRequest\x1a\x1d.google.longrunning.Operation\"\xad\x03\xca\x41P\n7google.cloud.securitycenter.v2.BulkMuteFindingsResponse\x12\x15google.protobuf.Empty\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xca\x02\"./v2/{parent=organizations/*}/findings:bulkMute:\x01*Z?\":/v2/{parent=organizations/*/locations/*}/findings:bulkMute:\x01*Z-\"(/v2/{parent=folders/*}/findings:bulkMute:\x01*Z9\"4/v2/{parent=folders/*/locations/*}/findings:bulkMute:\x01*Z.\")/v2/{parent=projects/*}/findings:bulkMute:\x01*Z:\"5/v2/{parent=projects/*/locations/*}/findings:bulkMute:\x01*\x12\x98\x03\n\x14\x43reateBigQueryExport\x12;.google.cloud.securitycenter.v2.CreateBigQueryExportRequest\x1a..google.cloud.securitycenter.v2.BigQueryExport\"\x92\x02\xda\x41+parent,big_query_export,big_query_export_id\x82\xd3\xe4\x93\x02\xdd\x01\"8/v2/{parent=organizations/*/locations/*}/bigQueryExports:\x10\x62ig_query_exportZF\"2/v2/{parent=folders/*/locations/*}/bigQueryExports:\x10\x62ig_query_exportZG\"3/v2/{parent=projects/*/locations/*}/bigQueryExports:\x10\x62ig_query_export\x12\x96\x02\n\rCreateFinding\x12\x34.google.cloud.securitycenter.v2.CreateFindingRequest\x1a\'.google.cloud.securitycenter.v2.Finding\"\xa5\x01\xda\x41\x19parent,finding,finding_id\x82\xd3\xe4\x93\x02\x82\x01\";/v2/{parent=organizations/*/sources/*/locations/*}/findings:\x07\x66indingZ:\"//v2/{parent=organizations/*/sources/*}/findings:\x07\x66inding\x12\x99\x05\n\x10\x43reateMuteConfig\x12\x37.google.cloud.securitycenter.v2.CreateMuteConfigRequest\x1a*.google.cloud.securitycenter.v2.MuteConfig\"\x9f\x04\xda\x41!parent,mute_config,mute_config_id\x82\xd3\xe4\x93\x02\xe2\x02\"4/v2/{parent=organizations/*/locations/*}/muteConfigs:\x0bmute_configZ=\"./v2/{parent=folders/*/locations/*}/muteConfigs:\x0bmute_configZ>\"//v2/{parent=projects/*/locations/*}/muteConfigs:\x0bmute_configZ7\"(/v2/{parent=organizations/*}/muteConfigs:\x0bmute_configZ1\"\"/v2/{parent=folders/*}/muteConfigs:\x0bmute_configZ2\"#/v2/{parent=projects/*}/muteConfigs:\x0bmute_config\x8a\xd3\xe4\x93\x02\x8b\x01\x12+\n\x06parent\x12!projects/*/locations/{location=*}\x12\x30\n\x06parent\x12&organizations/*/locations/{location=*}\x12*\n\x06parent\x12 folders/*/locations/{location=*}\x12\xb2\x03\n\x18\x43reateNotificationConfig\x12?.google.cloud.securitycenter.v2.CreateNotificationConfigRequest\x1a\x32.google.cloud.securitycenter.v2.NotificationConfig\"\xa0\x02\xda\x41$parent,notification_config,config_id\x82\xd3\xe4\x93\x02\xf2\x01\".google.cloud.securitycenter.v2.ListNotificationConfigsRequest\x1a?.google.cloud.securitycenter.v2.ListNotificationConfigsResponse\"\xc3\x01\xda\x41\x06parent\x82\xd3\xe4\x93\x02\xb3\x01\x12/v2/{name=folders/*/sources/*/locations/*/findings/*}:setState:\x01*Z8\"3/v2/{name=projects/*/sources/*/findings/*}:setState:\x01*ZD\"?/v2/{name=projects/*/sources/*/locations/*/findings/*}:setState:\x01*\x12\x9d\x01\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"R\xda\x41\x0fresource,policy\x82\xd3\xe4\x93\x02:\"5/v2/{resource=organizations/*/sources/*}:setIamPolicy:\x01*\x12\xf8\x03\n\x07SetMute\x12..google.cloud.securitycenter.v2.SetMuteRequest\x1a\'.google.cloud.securitycenter.v2.Finding\"\x93\x03\xda\x41\tname,mute\x82\xd3\xe4\x93\x02\x80\x03\"7/v2/{name=organizations/*/sources/*/findings/*}:setMute:\x01*ZH\"C/v2/{name=organizations/*/sources/*/locations/*/findings/*}:setMute:\x01*Z6\"1/v2/{name=folders/*/sources/*/findings/*}:setMute:\x01*ZB\"=/v2/{name=folders/*/sources/*/locations/*/findings/*}:setMute:\x01*Z7\"2/v2/{name=projects/*/sources/*/findings/*}:setMute:\x01*ZC\">/v2/{name=projects/*/sources/*/locations/*/findings/*}:setMute:\x01*\x12\xc8\x01\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"]\xda\x41\x14resource,permissions\x82\xd3\xe4\x93\x02@\";/v2/{resource=organizations/*/sources/*}:testIamPermissions:\x01*\x12\xbc\x03\n\x14UpdateBigQueryExport\x12;.google.cloud.securitycenter.v2.UpdateBigQueryExportRequest\x1a..google.cloud.securitycenter.v2.BigQueryExport\"\xb6\x02\xda\x41\x1c\x62ig_query_export,update_mask\x82\xd3\xe4\x93\x02\x90\x02\x32I/v2/{big_query_export.name=organizations/*/locations/*/bigQueryExports/*}:\x10\x62ig_query_exportZW2C/v2/{big_query_export.name=folders/*/locations/*/bigQueryExports/*}:\x10\x62ig_query_exportZX2D/v2/{big_query_export.name=projects/*/locations/*/bigQueryExports/*}:\x10\x62ig_query_export\x12\x9b\x06\n\x14UpdateExternalSystem\x12;.google.cloud.securitycenter.v2.UpdateExternalSystemRequest\x1a..google.cloud.securitycenter.v2.ExternalSystem\"\x95\x05\xda\x41\x1b\x65xternal_system,update_mask\x82\xd3\xe4\x93\x02\xf0\x04\x32Q/v2/{external_system.name=organizations/*/sources/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZp2]/v2/{external_system.name=organizations/*/sources/*/locations/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZ^2K/v2/{external_system.name=folders/*/sources/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZj2W/v2/{external_system.name=folders/*/sources/*/locations/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZ_2L/v2/{external_system.name=projects/*/sources/*/findings/*/externalSystems/*}:\x0f\x65xternal_systemZk2X/v2/{external_system.name=projects/*/sources/*/locations/*/findings/*/externalSystems/*}:\x0f\x65xternal_system\x12\xb2\x04\n\rUpdateFinding\x12\x34.google.cloud.securitycenter.v2.UpdateFindingRequest\x1a\'.google.cloud.securitycenter.v2.Finding\"\xc1\x03\xda\x41\x13\x66inding,update_mask\x82\xd3\xe4\x93\x02\xa4\x03\x32\x37/v2/{finding.name=organizations/*/sources/*/findings/*}:\x07\x66indingZN2C/v2/{finding.name=organizations/*/sources/*/locations/*/findings/*}:\x07\x66indingZ<21/v2/{finding.name=folders/*/sources/*/findings/*}:\x07\x66indingZH2=/v2/{finding.name=folders/*/sources/*/locations/*/findings/*}:\x07\x66indingZ=22/v2/{finding.name=projects/*/sources/*/findings/*}:\x07\x66indingZI2>/v2/{finding.name=projects/*/sources/*/locations/*/findings/*}:\x07\x66inding\x12\x9f\x06\n\x10UpdateMuteConfig\x12\x37.google.cloud.securitycenter.v2.UpdateMuteConfigRequest\x1a*.google.cloud.securitycenter.v2.MuteConfig\"\xa5\x05\xda\x41\x17mute_config,update_mask\x82\xd3\xe4\x93\x02\xaa\x03\x32\x34/v2/{mute_config.name=organizations/*/muteConfigs/*}:\x0bmute_configZO2@/v2/{mute_config.name=organizations/*/locations/*/muteConfigs/*}:\x0bmute_configZ=2./v2/{mute_config.name=folders/*/muteConfigs/*}:\x0bmute_configZI2:/v2/{mute_config.name=folders/*/locations/*/muteConfigs/*}:\x0bmute_configZ>2//v2/{mute_config.name=projects/*/muteConfigs/*}:\x0bmute_configZJ2;/v2/{mute_config.name=projects/*/locations/*/muteConfigs/*}:\x0bmute_config\x8a\xd3\xe4\x93\x02\xd3\x01\x12\x43\n\x10mute_config.name\x12/projects/*/locations/{location=*}/muteConfigs/*\x12H\n\x10mute_config.name\x12\x34organizations/*/locations/{location=*}/muteConfigs/*\x12\x42\n\x10mute_config.name\x12.folders/*/locations/{location=*}/muteConfigs/*\x12\xe9\x03\n\x18UpdateNotificationConfig\x12?.google.cloud.securitycenter.v2.UpdateNotificationConfigRequest\x1a\x32.google.cloud.securitycenter.v2.NotificationConfig\"\xd7\x02\xda\x41\x1fnotification_config,update_mask\x82\xd3\xe4\x93\x02\xae\x02\x32P/v2/{notification_config.name=organizations/*/locations/*/notificationConfigs/*}:\x13notification_configZa2J/v2/{notification_config.name=folders/*/locations/*/notificationConfigs/*}:\x13notification_configZb2K/v2/{notification_config.name=projects/*/locations/*/notificationConfigs/*}:\x13notification_config\x12\x8e\x03\n\x19UpdateResourceValueConfig\x12@.google.cloud.securitycenter.v2.UpdateResourceValueConfigRequest\x1a\x33.google.cloud.securitycenter.v2.ResourceValueConfig\"\xf9\x01\xda\x41!resource_value_config,update_mask\x82\xd3\xe4\x93\x02\xce\x01\x32G/v2/{resource_value_config.name=organizations/*/resourceValueConfigs/*}:\x15resource_value_configZl2S/v2/{resource_value_config.name=organizations/*/locations/*/resourceValueConfigs/*}:\x15resource_value_config\x12\xe4\x07\n\x13UpdateSecurityMarks\x12:.google.cloud.securitycenter.v2.UpdateSecurityMarksRequest\x1a-.google.cloud.securitycenter.v2.SecurityMarks\"\xe1\x06\xda\x41\x1asecurity_marks,update_mask\x82\xd3\xe4\x93\x02\xbd\x06\x32L/v2/{security_marks.name=organizations/*/sources/*/findings/*/securityMarks}:\x0esecurity_marksZR2@/v2/{security_marks.name=organizations/*/assets/*/securityMarks}:\x0esecurity_marksZj2X/v2/{security_marks.name=organizations/*/sources/*/locations/*/findings/*/securityMarks}:\x0esecurity_marksZX2F/v2/{security_marks.name=folders/*/sources/*/findings/*/securityMarks}:\x0esecurity_marksZL2:/v2/{security_marks.name=folders/*/assets/*/securityMarks}:\x0esecurity_marksZd2R/v2/{security_marks.name=folders/*/sources/*/locations/*/findings/*/securityMarks}:\x0esecurity_marksZY2G/v2/{security_marks.name=projects/*/sources/*/findings/*/securityMarks}:\x0esecurity_marksZM2;/v2/{security_marks.name=projects/*/assets/*/securityMarks}:\x0esecurity_marksZe2S/v2/{security_marks.name=projects/*/sources/*/locations/*/findings/*/securityMarks}:\x0esecurity_marks\x12\xbd\x01\n\x0cUpdateSource\x12\x33.google.cloud.securitycenter.v2.UpdateSourceRequest\x1a&.google.cloud.securitycenter.v2.Source\"P\xda\x41\x12source,update_mask\x82\xd3\xe4\x93\x02\x35\x32+/v2/{source.name=organizations/*/sources/*}:\x06source\x1aQ\xca\x41\x1dsecuritycenter.googleapis.com\xd2\x41.https://www.googleapis.com/auth/cloud-platformB\xe2\x04\n\"com.google.cloud.securitycenter.v2B\x1aSecuritycenterServiceProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2\xea\x41g\n2securitycenter.googleapis.com/OrganizationLocation\x12\x31organizations/{organization}/locations/{location}\xea\x41U\n,securitycenter.googleapis.com/FolderLocation\x12%folders/{folder}/locations/{location}\xea\x41\xa8\x01\n8securitycenter.googleapis.com/OrganizationValuedResource\x12lorganizations/{organization}/locations/{location}/simulations/{simulation}/valuedResources/{valued_resource}b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool @@ -52,6 +53,7 @@ ["google.protobuf.Value", "google/protobuf/struct.proto"], ["google.cloud.securitycenter.v2.AttackPath", "google/cloud/securitycenter/v2/attack_path.proto"], ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"], + ["google.cloud.securitycenter.v2.GcpMetadata", "google/cloud/securitycenter/v2/resource.proto"], ["google.cloud.securitycenter.v2.ValuedResource", "google/cloud/securitycenter/v2/valued_resource.proto"], ["google.cloud.securitycenter.v2.ExternalSystem", "google/cloud/securitycenter/v2/external_system.proto"], ["google.cloud.securitycenter.v2.SecurityMarks", "google/cloud/securitycenter/v2/security_marks.proto"], diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/simulation_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/simulation_pb.rb index 77e7ad2c51de..44fcf35985f4 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/simulation_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/simulation_pb.rb @@ -6,11 +6,12 @@ require 'google/api/field_behavior_pb' require 'google/api/resource_pb' +require 'google/cloud/securitycenter/v2/resource_pb' require 'google/cloud/securitycenter/v2/valued_resource_pb' require 'google/protobuf/timestamp_pb' -descriptor_data = "\n/google/cloud/securitycenter/v2/simulation.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x34google/cloud/securitycenter/v2/valued_resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xb5\x02\n\nSimulation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x64\n\x1fresource_value_configs_metadata\x18\x03 \x03(\x0b\x32;.google.cloud.securitycenter.v2.ResourceValueConfigMetadata:}\xea\x41z\n(securitycenter.googleapis.com/Simulation\x12\x35organizations/{organization}/simulations/{simulation}*\x0bsimulations2\nsimulationB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0fSimulationProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n/google/cloud/securitycenter/v2/simulation.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a-google/cloud/securitycenter/v2/resource.proto\x1a\x34google/cloud/securitycenter/v2/valued_resource.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\xca\x03\n\nSimulation\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x34\n\x0b\x63reate_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x64\n\x1fresource_value_configs_metadata\x18\x03 \x03(\x0b\x32;.google.cloud.securitycenter.v2.ResourceValueConfigMetadata\x12\x45\n\x0e\x63loud_provider\x18\x04 \x01(\x0e\x32-.google.cloud.securitycenter.v2.CloudProvider:\xca\x01\xea\x41\xc6\x01\n(securitycenter.googleapis.com/Simulation\x12\x35organizations/{organization}/simulations/{simulation}\x12Jorganizations/{organization}/locations/{location}/simulations/{simluation}*\x0bsimulations2\nsimulationB\xe9\x01\n\"com.google.cloud.securitycenter.v2B\x0fSimulationProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb index 07e72eefd7e3..017e44b93c28 100644 --- a/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb +++ b/google-cloud-security_center-v2/lib/google/cloud/securitycenter/v2/valued_resource_pb.rb @@ -7,7 +7,7 @@ require 'google/api/resource_pb' -descriptor_data = "\n4google/cloud/securitycenter/v2/valued_resource.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x19google/api/resource.proto\"\xd8\x04\n\x0eValuedResource\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08resource\x18\x02 \x01(\t\x12\x15\n\rresource_type\x18\x03 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12T\n\x0eresource_value\x18\x05 \x01(\x0e\x32<.google.cloud.securitycenter.v2.ValuedResource.ResourceValue\x12\x15\n\rexposed_score\x18\x06 \x01(\x01\x12`\n\x1bresource_value_configs_used\x18\x07 \x03(\x0b\x32;.google.cloud.securitycenter.v2.ResourceValueConfigMetadata\"{\n\rResourceValue\x12\x1e\n\x1aRESOURCE_VALUE_UNSPECIFIED\x10\x00\x12\x16\n\x12RESOURCE_VALUE_LOW\x10\x01\x12\x19\n\x15RESOURCE_VALUE_MEDIUM\x10\x02\x12\x17\n\x13RESOURCE_VALUE_HIGH\x10\x03:\xac\x01\xea\x41\xa8\x01\n,securitycenter.googleapis.com/ValuedResource\x12Worganizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}*\x0fvaluedResources2\x0evaluedResource\"+\n\x1bResourceValueConfigMetadata\x12\x0c\n\x04name\x18\x01 \x01(\tB\xed\x01\n\"com.google.cloud.securitycenter.v2B\x13ValuedResourceProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" +descriptor_data = "\n4google/cloud/securitycenter/v2/valued_resource.proto\x12\x1egoogle.cloud.securitycenter.v2\x1a\x19google/api/resource.proto\"\xc6\x05\n\x0eValuedResource\x12\x0c\n\x04name\x18\x01 \x01(\t\x12\x10\n\x08resource\x18\x02 \x01(\t\x12\x15\n\rresource_type\x18\x03 \x01(\t\x12\x14\n\x0c\x64isplay_name\x18\x04 \x01(\t\x12T\n\x0eresource_value\x18\x05 \x01(\x0e\x32<.google.cloud.securitycenter.v2.ValuedResource.ResourceValue\x12\x15\n\rexposed_score\x18\x06 \x01(\x01\x12`\n\x1bresource_value_configs_used\x18\x07 \x03(\x0b\x32;.google.cloud.securitycenter.v2.ResourceValueConfigMetadata\"{\n\rResourceValue\x12\x1e\n\x1aRESOURCE_VALUE_UNSPECIFIED\x10\x00\x12\x16\n\x12RESOURCE_VALUE_LOW\x10\x01\x12\x19\n\x15RESOURCE_VALUE_MEDIUM\x10\x02\x12\x17\n\x13RESOURCE_VALUE_HIGH\x10\x03:\x9a\x02\xea\x41\x96\x02\n,securitycenter.googleapis.com/ValuedResource\x12Worganizations/{organization}/simulations/{simulation}/valuedResources/{valued_resource}\x12lorganizations/{organization}/locations/{location}/simulations/{simluation}/valuedResources/{valued_resource}*\x0fvaluedResources2\x0evaluedResource\"+\n\x1bResourceValueConfigMetadata\x12\x0c\n\x04name\x18\x01 \x01(\tB\xed\x01\n\"com.google.cloud.securitycenter.v2B\x13ValuedResourceProtoP\x01ZJcloud.google.com/go/securitycenter/apiv2/securitycenterpb;securitycenterpb\xaa\x02\x1eGoogle.Cloud.SecurityCenter.V2\xca\x02\x1eGoogle\\Cloud\\SecurityCenter\\V2\xea\x02!Google::Cloud::SecurityCenter::V2b\x06proto3" pool = Google::Protobuf::DescriptorPool.generated_pool diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/cloud_armor.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/cloud_armor.rb new file mode 100644 index 000000000000..1ef31edca12a --- /dev/null +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/cloud_armor.rb @@ -0,0 +1,128 @@ +# frozen_string_literal: true + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Cloud + module SecurityCenter + module V2 + # Fields related to Google Cloud Armor findings. + # @!attribute [rw] security_policy + # @return [::Google::Cloud::SecurityCenter::V2::SecurityPolicy] + # Information about the [Google Cloud Armor security + # policy](https://cloud.google.com/armor/docs/security-policy-overview) + # relevant to the finding. + # @!attribute [rw] requests + # @return [::Google::Cloud::SecurityCenter::V2::Requests] + # Information about incoming requests evaluated by [Google Cloud Armor + # security + # policies](https://cloud.google.com/armor/docs/security-policy-overview). + # @!attribute [rw] adaptive_protection + # @return [::Google::Cloud::SecurityCenter::V2::AdaptiveProtection] + # Information about potential Layer 7 DDoS attacks identified by [Google + # Cloud Armor Adaptive + # Protection](https://cloud.google.com/armor/docs/adaptive-protection-overview). + # @!attribute [rw] attack + # @return [::Google::Cloud::SecurityCenter::V2::Attack] + # Information about DDoS attack volume and classification. + # @!attribute [rw] threat_vector + # @return [::String] + # Distinguish between volumetric & protocol DDoS attack and + # application layer attacks. For example, "L3_4" for Layer 3 and Layer 4 DDoS + # attacks, or "L_7" for Layer 7 DDoS attacks. + # @!attribute [rw] duration + # @return [::Google::Protobuf::Duration] + # Duration of attack from the start until the current moment (updated every 5 + # minutes). + class CloudArmor + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Information about the [Google Cloud Armor security + # policy](https://cloud.google.com/armor/docs/security-policy-overview) + # relevant to the finding. + # @!attribute [rw] name + # @return [::String] + # The name of the Google Cloud Armor security policy, for example, + # "my-security-policy". + # @!attribute [rw] type + # @return [::String] + # The type of Google Cloud Armor security policy for example, 'backend + # security policy', 'edge security policy', 'network edge security policy', + # or 'always-on DDoS protection'. + # @!attribute [rw] preview + # @return [::Boolean] + # Whether or not the associated rule or policy is in preview mode. + class SecurityPolicy + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Information about the requests relevant to the finding. + # @!attribute [rw] ratio + # @return [::Float] + # For 'Increasing deny ratio', the ratio is the denied traffic divided by the + # allowed traffic. For 'Allowed traffic spike', the ratio is the allowed + # traffic in the short term divided by allowed traffic in the long term. + # @!attribute [rw] short_term_allowed + # @return [::Integer] + # Allowed RPS (requests per second) in the short term. + # @!attribute [rw] long_term_allowed + # @return [::Integer] + # Allowed RPS (requests per second) over the long term. + # @!attribute [rw] long_term_denied + # @return [::Integer] + # Denied RPS (requests per second) over the long term. + class Requests + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Information about [Google Cloud Armor Adaptive + # Protection](https://cloud.google.com/armor/docs/cloud-armor-overview#google-cloud-armor-adaptive-protection). + # @!attribute [rw] confidence + # @return [::Float] + # A score of 0 means that there is low confidence that the detected event is + # an actual attack. A score of 1 means that there is high confidence that the + # detected event is an attack. See the [Adaptive Protection + # documentation](https://cloud.google.com/armor/docs/adaptive-protection-overview#configure-alert-tuning) + # for further explanation. + class AdaptiveProtection + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Information about DDoS attack volume and classification. + # @!attribute [rw] volume_pps + # @return [::Integer] + # Total PPS (packets per second) volume of attack. + # @!attribute [rw] volume_bps + # @return [::Integer] + # Total BPS (bytes per second) volume of attack. + # @!attribute [rw] classification + # @return [::String] + # Type of attack, for example, 'SYN-flood', 'NTP-udp', or 'CHARGEN-udp'. + class Attack + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + end +end diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/finding.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/finding.rb index f409d984cac7..9905cf09ee19 100644 --- a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/finding.rb +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/finding.rb @@ -259,6 +259,12 @@ module V2 # @!attribute [rw] load_balancers # @return [::Array<::Google::Cloud::SecurityCenter::V2::LoadBalancer>] # The load balancers associated with the finding. + # @!attribute [rw] cloud_armor + # @return [::Google::Cloud::SecurityCenter::V2::CloudArmor] + # Fields related to Cloud Armor findings. + # @!attribute [rw] notebook + # @return [::Google::Cloud::SecurityCenter::V2::Notebook] + # Notebook associated with the finding. # @!attribute [rw] toxic_combination # @return [::Google::Cloud::SecurityCenter::V2::ToxicCombination] # Contains details about a group of security issues that, when the issues diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/folder.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/folder.rb new file mode 100644 index 000000000000..ececf3c326f2 --- /dev/null +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/folder.rb @@ -0,0 +1,40 @@ +# frozen_string_literal: true + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Cloud + module SecurityCenter + module V2 + # Message that contains the resource name and display name of a folder + # resource. + # @!attribute [rw] resource_folder + # @return [::String] + # Full resource name of this folder. See: + # https://cloud.google.com/apis/design/resource_names#full_resource_name + # @!attribute [rw] resource_folder_display_name + # @return [::String] + # The user defined display name for this folder. + class Folder + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + end +end diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb index 168d6ddb8957..1d7cf11eebe6 100644 --- a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/mitre_attack.rb @@ -99,7 +99,7 @@ module Tactic # MITRE ATT&CK techniques that can be referenced by SCC findings. # See: https://attack.mitre.org/techniques/enterprise/ - # Next ID: 59 + # Next ID: 63 module Technique # Unspecified value. TECHNIQUE_UNSPECIFIED = 0 @@ -128,6 +128,9 @@ module Technique # T1059.004 UNIX_SHELL = 7 + # T1059.006 + PYTHON = 59 + # T1069 PERMISSION_GROUPS_DISCOVERY = 18 @@ -275,8 +278,17 @@ module Technique # T1595.001 SCANNING_IP_BLOCKS = 2 + # T1613 + CONTAINER_ADMINISTRATION_COMMAND = 60 + + # T1611 + ESCAPE_TO_HOST = 61 + # T1613 CONTAINER_AND_RESOURCE_DISCOVERY = 57 + + # T1649 + STEAL_OR_FORGE_AUTHENTICATION_CERTIFICATES = 62 end end end diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/notebook.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/notebook.rb new file mode 100644 index 000000000000..a46efdf70fc9 --- /dev/null +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/notebook.rb @@ -0,0 +1,46 @@ +# frozen_string_literal: true + +# Copyright 2024 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +# Auto-generated by gapic-generator-ruby. DO NOT EDIT! + + +module Google + module Cloud + module SecurityCenter + module V2 + # Represents a Jupyter notebook IPYNB file, such as a [Colab Enterprise + # notebook](https://cloud.google.com/colab/docs/introduction) file, that is + # associated with a finding. + # @!attribute [rw] name + # @return [::String] + # The name of the notebook. + # @!attribute [rw] service + # @return [::String] + # The source notebook service, for example, "Colab Enterprise". + # @!attribute [rw] last_author + # @return [::String] + # The user ID of the latest author to modify the notebook. + # @!attribute [rw] notebook_update_time + # @return [::Google::Protobuf::Timestamp] + # The most recent time the notebook was updated. + class Notebook + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + end + end +end diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource.rb index 81c9b409a18a..9add94dc8e75 100644 --- a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource.rb +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource.rb @@ -32,10 +32,257 @@ module V2 # @!attribute [rw] type # @return [::String] # The full resource type of the resource. + # @!attribute [rw] cloud_provider + # @return [::Google::Cloud::SecurityCenter::V2::CloudProvider] + # Indicates which cloud provider the finding is from. + # @!attribute [rw] service + # @return [::String] + # The service or resource provider associated with the resource. + # @!attribute [rw] location + # @return [::String] + # The region or location of the service (if applicable). + # @!attribute [rw] gcp_metadata + # @return [::Google::Cloud::SecurityCenter::V2::GcpMetadata] + # The GCP metadata associated with the finding. + # @!attribute [rw] aws_metadata + # @return [::Google::Cloud::SecurityCenter::V2::AwsMetadata] + # The AWS metadata associated with the finding. + # @!attribute [rw] azure_metadata + # @return [::Google::Cloud::SecurityCenter::V2::AzureMetadata] + # The Azure metadata associated with the finding. + # @!attribute [rw] resource_path + # @return [::Google::Cloud::SecurityCenter::V2::ResourcePath] + # Provides the path to the resource within the resource hierarchy. + # @!attribute [rw] resource_path_string + # @return [::String] + # A string representation of the resource path. + # For Google Cloud, it has the format of + # organizations/\\{organization_id}/folders/\\{folder_id}/folders/\\{folder_id}/projects/\\{project_id} + # where there can be any number of folders. + # For AWS, it has the format of + # org/\\{organization_id}/ou/\\{organizational_unit_id}/ou/\\{organizational_unit_id}/account/\\{account_id} + # where there can be any number of organizational units. + # For Azure, it has the format of + # mg/\\{management_group_id}/mg/\\{management_group_id}/subscription/\\{subscription_id}/rg/\\{resource_group_name} + # where there can be any number of management groups. class Resource include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end + + # GCP metadata associated with the resource, only applicable if the finding's + # cloud provider is Google Cloud Platform. + # @!attribute [rw] project + # @return [::String] + # The full resource name of project that the resource belongs to. + # @!attribute [rw] project_display_name + # @return [::String] + # The project ID that the resource belongs to. + # @!attribute [rw] parent + # @return [::String] + # The full resource name of resource's parent. + # @!attribute [rw] parent_display_name + # @return [::String] + # The human readable name of resource's parent. + # @!attribute [r] folders + # @return [::Array<::Google::Cloud::SecurityCenter::V2::Folder>] + # Output only. Contains a Folder message for each folder in the assets + # ancestry. The first folder is the deepest nested folder, and the last + # folder is the folder directly under the Organization. + # @!attribute [rw] organization + # @return [::String] + # The name of the organization that the resource belongs to. + class GcpMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # AWS metadata associated with the resource, only applicable if the finding's + # cloud provider is Amazon Web Services. + # @!attribute [rw] organization + # @return [::Google::Cloud::SecurityCenter::V2::AwsMetadata::AwsOrganization] + # The AWS organization associated with the resource. + # @!attribute [rw] organizational_units + # @return [::Array<::Google::Cloud::SecurityCenter::V2::AwsMetadata::AwsOrganizationalUnit>] + # A list of AWS organizational units associated with the resource, ordered + # from lowest level (closest to the account) to highest level. + # @!attribute [rw] account + # @return [::Google::Cloud::SecurityCenter::V2::AwsMetadata::AwsAccount] + # The AWS account associated with the resource. + class AwsMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # An organization is a collection of accounts that are centrally managed + # together using consolidated billing, organized hierarchically with + # organizational units (OUs), and controlled with policies. + # @!attribute [rw] id + # @return [::String] + # The unique identifier (ID) for the organization. The regex pattern for an + # organization ID string requires "o-" followed by from 10 to 32 lowercase + # letters or digits. + class AwsOrganization + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # An Organizational Unit (OU) is a container of AWS accounts within a root of + # an organization. Policies that are attached to an OU apply to all accounts + # contained in that OU and in any child OUs. + # @!attribute [rw] id + # @return [::String] + # The unique identifier (ID) associated with this OU. The regex pattern for + # an organizational unit ID string requires "ou-" followed by from 4 to 32 + # lowercase letters or digits (the ID of the root that contains the OU). + # This string is followed by a second "-" dash and from 8 to 32 additional + # lowercase letters or digits. For example, "ou-ab12-cd34ef56". + # @!attribute [rw] name + # @return [::String] + # The friendly name of the OU. + class AwsOrganizationalUnit + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # An AWS account that is a member of an organization. + # @!attribute [rw] id + # @return [::String] + # The unique identifier (ID) of the account, containing exactly 12 digits. + # @!attribute [rw] name + # @return [::String] + # The friendly name of this account. + class AwsAccount + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Azure metadata associated with the resource, only applicable if the finding's + # cloud provider is Microsoft Azure. + # @!attribute [rw] management_groups + # @return [::Array<::Google::Cloud::SecurityCenter::V2::AzureMetadata::AzureManagementGroup>] + # A list of Azure management groups associated with the resource, ordered + # from lowest level (closest to the subscription) to highest level. + # @!attribute [rw] subscription + # @return [::Google::Cloud::SecurityCenter::V2::AzureMetadata::AzureSubscription] + # The Azure subscription associated with the resource. + # @!attribute [rw] resource_group + # @return [::Google::Cloud::SecurityCenter::V2::AzureMetadata::AzureResourceGroup] + # The Azure resource group associated with the resource. + class AzureMetadata + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # Represents an Azure management group. + # @!attribute [rw] id + # @return [::String] + # The UUID of the Azure management group, for example, + # "20000000-0001-0000-0000-000000000000". + # @!attribute [rw] display_name + # @return [::String] + # The display name of the Azure management group. + class AzureManagementGroup + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Represents an Azure subscription. + # @!attribute [rw] id + # @return [::String] + # The UUID of the Azure subscription, for example, + # "291bba3f-e0a5-47bc-a099-3bdcb2a50a05". + # @!attribute [rw] display_name + # @return [::String] + # The display name of the Azure subscription. + class AzureSubscription + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # Represents an Azure resource group. + # @!attribute [rw] name + # @return [::String] + # The name of the Azure resource group. This is not a UUID. + class AzureResourceGroup + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + end + + # Represents the path of resources leading up to the resource this finding is + # about. + # @!attribute [rw] nodes + # @return [::Array<::Google::Cloud::SecurityCenter::V2::ResourcePath::ResourcePathNode>] + # The list of nodes that make the up resource path, ordered from lowest + # level to highest level. + class ResourcePath + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + + # A node within the resource path. Each node represents a resource within the + # resource hierarchy. + # @!attribute [rw] node_type + # @return [::Google::Cloud::SecurityCenter::V2::ResourcePath::ResourcePathNodeType] + # The type of resource this node represents. + # @!attribute [rw] id + # @return [::String] + # The ID of the resource this node represents. + # @!attribute [rw] display_name + # @return [::String] + # The display name of the resource this node represents. + class ResourcePathNode + include ::Google::Protobuf::MessageExts + extend ::Google::Protobuf::MessageExts::ClassMethods + end + + # The type of resource the node represents. + module ResourcePathNodeType + # Node type is unspecified. + RESOURCE_PATH_NODE_TYPE_UNSPECIFIED = 0 + + # The node represents a Google Cloud organization. + GCP_ORGANIZATION = 1 + + # The node represents a Google Cloud folder. + GCP_FOLDER = 2 + + # The node represents a Google Cloud project. + GCP_PROJECT = 3 + + # The node represents an AWS organization. + AWS_ORGANIZATION = 4 + + # The node represents an AWS organizational unit. + AWS_ORGANIZATIONAL_UNIT = 5 + + # The node represents an AWS account. + AWS_ACCOUNT = 6 + + # The node represents an Azure management group. + AZURE_MANAGEMENT_GROUP = 7 + + # The node represents an Azure subscription. + AZURE_SUBSCRIPTION = 8 + + # The node represents an Azure resource group. + AZURE_RESOURCE_GROUP = 9 + end + end + + # The cloud provider the finding pertains to. + module CloudProvider + # The cloud provider is unspecified. + CLOUD_PROVIDER_UNSPECIFIED = 0 + + # The cloud provider is Google Cloud Platform. + GOOGLE_CLOUD_PLATFORM = 1 + + # The cloud provider is Amazon Web Services. + AMAZON_WEB_SERVICES = 2 + + # The cloud provider is Microsoft Azure. + MICROSOFT_AZURE = 3 + end end end end diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb index 0f945eff09b5..802d17276f1b 100644 --- a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/resource_value_config.rb @@ -21,48 +21,52 @@ module Google module Cloud module SecurityCenter module V2 - # A resource value config (RVC) is a mapping configuration of user's resources - # to resource values. Used in Attack path simulations. + # A resource value configuration (RVC) is a mapping configuration of user's + # resources to resource values. Used in Attack path simulations. # @!attribute [rw] name # @return [::String] - # Name for the resource value config + # Name for the resource value configuration # @!attribute [rw] resource_value # @return [::Google::Cloud::SecurityCenter::V2::ResourceValue] # Resource value level this expression represents # Only required when there is no SDP mapping in the request # @!attribute [rw] tag_values # @return [::Array<::String>] - # Required. Tag values combined with AND to check against. + # Required. Tag values combined with AND to check against. # Values in the form "tagValues/123" - # E.g. [ "tagValues/123", "tagValues/456", "tagValues/789" ] + # Example: [ "tagValues/123", "tagValues/456", "tagValues/789" ] # https://cloud.google.com/resource-manager/docs/tags/tags-creating-and-managing # @!attribute [rw] resource_type # @return [::String] # Apply resource_value only to resources that match resource_type. - # resource_type will be checked with "AND" of other resources. - # E.g. "storage.googleapis.com/Bucket" with resource_value "HIGH" will - # apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. + # resource_type will be checked with AND of other resources. + # For example, "storage.googleapis.com/Bucket" with resource_value "HIGH" + # will apply "HIGH" value only to "storage.googleapis.com/Bucket" resources. # @!attribute [rw] scope # @return [::String] - # Project or folder to scope this config to. - # For example, "project/456" would apply this config only to resources in - # "project/456" - # scope will be checked with "AND" of other resources. + # Project or folder to scope this configuration to. + # For example, "project/456" would apply this configuration only to resources + # in "project/456" scope will be checked with AND of other + # resources. # @!attribute [rw] resource_labels_selector # @return [::Google::Protobuf::Map{::String => ::String}] - # List of resource labels to search for, evaluated with AND. - # E.g. "resource_labels_selector": \\{"key": "value", "env": "prod"} - # will match resources with labels "key": "value" AND "env": "prod" + # List of resource labels to search for, evaluated with AND. + # For example, "resource_labels_selector": \\{"key": "value", "env": "prod"} + # will match resources with labels "key": "value" AND "env": + # "prod" # https://cloud.google.com/resource-manager/docs/creating-managing-labels # @!attribute [rw] description # @return [::String] - # Description of the resource value config. + # Description of the resource value configuration. # @!attribute [r] create_time # @return [::Google::Protobuf::Timestamp] - # Output only. Timestamp this resource value config was created. + # Output only. Timestamp this resource value configuration was created. # @!attribute [r] update_time # @return [::Google::Protobuf::Timestamp] - # Output only. Timestamp this resource value config was last updated. + # Output only. Timestamp this resource value configuration was last updated. + # @!attribute [rw] cloud_provider + # @return [::Google::Cloud::SecurityCenter::V2::CloudProvider] + # Cloud provider this configuration applies to # @!attribute [rw] sensitive_data_protection_mapping # @return [::Google::Cloud::SecurityCenter::V2::ResourceValueConfig::SensitiveDataProtectionMapping] # A mapping of the sensitivity on Sensitive Data Protection finding to diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb index 2d49d49ce035..8142e0c37206 100644 --- a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/securitycenter_service.rb @@ -418,14 +418,6 @@ class GetSourceRequest # Required. Expression that defines what assets fields to use for grouping. # The string value should follow SQL syntax: comma separated list of fields. # For example: "parent,resource_name". - # - # The following fields are supported: - # - # * resource_name - # * category - # * state - # * parent - # * severity # @!attribute [rw] page_token # @return [::String] # The value returned by the last `GroupFindingsResponse`; indicates @@ -738,6 +730,39 @@ class ListFindingsResult # @!attribute [rw] type # @return [::String] # The full resource type of the resource. + # @!attribute [rw] cloud_provider + # @return [::Google::Cloud::SecurityCenter::V2::CloudProvider] + # Indicates which cloud provider the finding is from. + # @!attribute [rw] service + # @return [::String] + # The service or resource provider associated with the resource. + # @!attribute [rw] location + # @return [::String] + # The region or location of the service (if applicable). + # @!attribute [rw] gcp_metadata + # @return [::Google::Cloud::SecurityCenter::V2::GcpMetadata] + # The GCP metadata associated with the finding. + # @!attribute [rw] aws_metadata + # @return [::Google::Cloud::SecurityCenter::V2::AwsMetadata] + # The AWS metadata associated with the finding. + # @!attribute [rw] azure_metadata + # @return [::Google::Cloud::SecurityCenter::V2::AzureMetadata] + # The Azure metadata associated with the finding. + # @!attribute [rw] resource_path + # @return [::Google::Cloud::SecurityCenter::V2::ResourcePath] + # Provides the path to the resource within the resource hierarchy. + # @!attribute [rw] resource_path_string + # @return [::String] + # A string representation of the resource path. + # For Google Cloud, it has the format of + # organizations/\\{organization_id}/folders/\\{folder_id}/folders/\\{folder_id}/projects/\\{project_id} + # where there can be any number of folders. + # For AWS, it has the format of + # org/\\{organization_id}/ou/\\{organizational_unit_id}/ou/\\{organizational_unit_id}/account/\\{account_id} + # where there can be any number of organizational units. + # For Azure, it has the format of + # mg/\\{management_group_id}/mg/\\{management_group_id}/subscription/\\{subscription_id}/rg/\\{resource_group_name} + # where there can be any number of management groups. class Resource include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods @@ -1096,6 +1121,10 @@ class UpdateNotificationConfigRequest # @return [::Google::Protobuf::FieldMask] # The list of fields to be updated. # If empty all mutable fields will be updated. + # + # To update nested fields, include the top level field in the mask + # For example, to update gcp_metadata.resource_type, include the + # "gcp_metadata" field mask class UpdateResourceValueConfigRequest include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/simulation.rb b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/simulation.rb index ce485515b7ab..1b6b69b8e678 100644 --- a/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/simulation.rb +++ b/google-cloud-security_center-v2/proto_docs/google/cloud/securitycenter/v2/simulation.rb @@ -33,6 +33,9 @@ module V2 # @return [::Array<::Google::Cloud::SecurityCenter::V2::ResourceValueConfigMetadata>] # Resource value configurations' metadata used in this simulation. Maximum of # 100. + # @!attribute [rw] cloud_provider + # @return [::Google::Cloud::SecurityCenter::V2::CloudProvider] + # Indicates which cloud provider was used in this simulation. class Simulation include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods diff --git a/google-cloud-security_center-v2/test/google/cloud/security_center/v2/security_center_paths_test.rb b/google-cloud-security_center-v2/test/google/cloud/security_center/v2/security_center_paths_test.rb index eb8c9d01bc24..c1e56a1f6da1 100644 --- a/google-cloud-security_center-v2/test/google/cloud/security_center/v2/security_center_paths_test.rb +++ b/google-cloud-security_center-v2/test/google/cloud/security_center/v2/security_center_paths_test.rb @@ -225,6 +225,18 @@ def test_organization_location_path end end + def test_organization_valued_resource_path + grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure + ::Gapic::ServiceStub.stub :new, DummyStub.new do + client = ::Google::Cloud::SecurityCenter::V2::SecurityCenter::Client.new do |config| + config.credentials = grpc_channel + end + + path = client.organization_valued_resource_path organization: "value0", location: "value1", simulation: "value2", valued_resource: "value3" + assert_equal "organizations/value0/locations/value1/simulations/value2/valuedResources/value3", path + end + end + def test_policy_path grpc_channel = ::GRPC::Core::Channel.new "localhost:8888", nil, :this_channel_is_insecure ::Gapic::ServiceStub.stub :new, DummyStub.new do @@ -264,6 +276,9 @@ def test_resource_value_config_path path = client.resource_value_config_path organization: "value0", resource_value_config: "value1" assert_equal "organizations/value0/resourceValueConfigs/value1", path + + path = client.resource_value_config_path organization: "value0", location: "value1", resource_value_config: "value2" + assert_equal "organizations/value0/locations/value1/resourceValueConfigs/value2", path end end @@ -312,6 +327,9 @@ def test_simulation_path path = client.simulation_path organization: "value0", simulation: "value1" assert_equal "organizations/value0/simulations/value1", path + + path = client.simulation_path organization: "value0", location: "value1", simluation: "value2" + assert_equal "organizations/value0/locations/value1/simulations/value2", path end end @@ -369,6 +387,9 @@ def test_valued_resource_path path = client.valued_resource_path organization: "value0", simulation: "value1", valued_resource: "value2" assert_equal "organizations/value0/simulations/value1/valuedResources/value2", path + + path = client.valued_resource_path organization: "value0", location: "value1", simluation: "value2", valued_resource: "value3" + assert_equal "organizations/value0/locations/value1/simulations/value2/valuedResources/value3", path end end end