@@ -2401,6 +2401,101 @@ def update!(**args)
24012401 end
24022402 end
24032403
2404+ # Details about the externally exposed resource associated with the finding.
2405+ class ExternalExposure
2406+ include Google::Apis::Core::Hashable
2407+
2408+ # The full resource name of load balancer backend service, for example, "//
2409+ # compute.googleapis.com/projects/`project-id`/global/backendServices/`name`".
2410+ # Corresponds to the JSON property `backendService`
2411+ # @return [String]
2412+ attr_accessor :backend_service
2413+
2414+ # The resource which is running the exposed service, for example, "//compute.
2415+ # googleapis.com/projects/`project-id`/zones/`zone`/instances/`instance`.”
2416+ # Corresponds to the JSON property `exposedEndpoint`
2417+ # @return [String]
2418+ attr_accessor :exposed_endpoint
2419+
2420+ # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
2421+ # Corresponds to the JSON property `exposedService`
2422+ # @return [String]
2423+ attr_accessor :exposed_service
2424+
2425+ # The full resource name of the forwarding rule, for example, "//compute.
2426+ # googleapis.com/projects/`project-id`/global/forwardingRules/`forwarding-rule-
2427+ # name`".
2428+ # Corresponds to the JSON property `forwardingRule`
2429+ # @return [String]
2430+ attr_accessor :forwarding_rule
2431+
2432+ # The full resource name of the instance group, for example, "//compute.
2433+ # googleapis.com/projects/`project-id`/global/instanceGroups/`name`".
2434+ # Corresponds to the JSON property `instanceGroup`
2435+ # @return [String]
2436+ attr_accessor :instance_group
2437+
2438+ # The full resource name of the load balancer firewall policy, for example, "//
2439+ # compute.googleapis.com/projects/`project-id`/global/firewallPolicies/`policy-
2440+ # name`".
2441+ # Corresponds to the JSON property `loadBalancerFirewallPolicy`
2442+ # @return [String]
2443+ attr_accessor :load_balancer_firewall_policy
2444+
2445+ # The full resource name of the network endpoint group, for example, "//compute.
2446+ # googleapis.com/projects/`project-id`/global/networkEndpointGroups/`name`".
2447+ # Corresponds to the JSON property `networkEndpointGroup`
2448+ # @return [String]
2449+ attr_accessor :network_endpoint_group
2450+
2451+ # Private IP address of the exposed endpoint.
2452+ # Corresponds to the JSON property `privateIpAddress`
2453+ # @return [String]
2454+ attr_accessor :private_ip_address
2455+
2456+ # Port number associated with private IP address.
2457+ # Corresponds to the JSON property `privatePort`
2458+ # @return [String]
2459+ attr_accessor :private_port
2460+
2461+ # Public IP address of the exposed endpoint.
2462+ # Corresponds to the JSON property `publicIpAddress`
2463+ # @return [String]
2464+ attr_accessor :public_ip_address
2465+
2466+ # Public port number of the exposed endpoint.
2467+ # Corresponds to the JSON property `publicPort`
2468+ # @return [String]
2469+ attr_accessor :public_port
2470+
2471+ # The full resource name of the firewall policy of the exposed service, for
2472+ # example, "//compute.googleapis.com/projects/`project-id`/global/
2473+ # firewallPolicies/`policy-name`".
2474+ # Corresponds to the JSON property `serviceFirewallPolicy`
2475+ # @return [String]
2476+ attr_accessor :service_firewall_policy
2477+
2478+ def initialize(**args)
2479+ update!(**args)
2480+ end
2481+
2482+ # Update properties of this object
2483+ def update!(**args)
2484+ @backend_service = args[:backend_service] if args.key?(:backend_service)
2485+ @exposed_endpoint = args[:exposed_endpoint] if args.key?(:exposed_endpoint)
2486+ @exposed_service = args[:exposed_service] if args.key?(:exposed_service)
2487+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2488+ @instance_group = args[:instance_group] if args.key?(:instance_group)
2489+ @load_balancer_firewall_policy = args[:load_balancer_firewall_policy] if args.key?(:load_balancer_firewall_policy)
2490+ @network_endpoint_group = args[:network_endpoint_group] if args.key?(:network_endpoint_group)
2491+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
2492+ @private_port = args[:private_port] if args.key?(:private_port)
2493+ @public_ip_address = args[:public_ip_address] if args.key?(:public_ip_address)
2494+ @public_port = args[:public_port] if args.key?(:public_port)
2495+ @service_firewall_policy = args[:service_firewall_policy] if args.key?(:service_firewall_policy)
2496+ end
2497+ end
2498+
24042499 # File information about the related binary/library used by an executable, or
24052500 # the script used by a script interpreter
24062501 class File
@@ -2666,6 +2761,11 @@ class Finding
26662761 # @return [Google::Apis::SecuritycenterV1beta1::Exfiltration]
26672762 attr_accessor :exfiltration
26682763
2764+ # Details about the externally exposed resource associated with the finding.
2765+ # Corresponds to the JSON property `externalExposure`
2766+ # @return [Google::Apis::SecuritycenterV1beta1::ExternalExposure]
2767+ attr_accessor :external_exposure
2768+
26692769 # Output only. Third party SIEM/SOAR fields within SCC, contains external system
26702770 # information and external system finding fields.
26712771 # Corresponds to the JSON property `externalSystems`
@@ -2926,6 +3026,7 @@ def update!(**args)
29263026 @disk = args[:disk] if args.key?(:disk)
29273027 @event_time = args[:event_time] if args.key?(:event_time)
29283028 @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
3029+ @external_exposure = args[:external_exposure] if args.key?(:external_exposure)
29293030 @external_systems = args[:external_systems] if args.key?(:external_systems)
29303031 @external_uri = args[:external_uri] if args.key?(:external_uri)
29313032 @files = args[:files] if args.key?(:files)
@@ -6799,6 +6900,101 @@ def update!(**args)
67996900 end
68006901 end
68016902
6903+ # Details about the externally exposed resource associated with the finding.
6904+ class GoogleCloudSecuritycenterV2ExternalExposure
6905+ include Google::Apis::Core::Hashable
6906+
6907+ # The full resource name of load balancer backend service, for example, "//
6908+ # compute.googleapis.com/projects/`project-id`/global/backendServices/`name`".
6909+ # Corresponds to the JSON property `backendService`
6910+ # @return [String]
6911+ attr_accessor :backend_service
6912+
6913+ # The resource which is running the exposed service, for example, "//compute.
6914+ # googleapis.com/projects/`project-id`/zones/`zone`/instances/`instance`.”
6915+ # Corresponds to the JSON property `exposedEndpoint`
6916+ # @return [String]
6917+ attr_accessor :exposed_endpoint
6918+
6919+ # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
6920+ # Corresponds to the JSON property `exposedService`
6921+ # @return [String]
6922+ attr_accessor :exposed_service
6923+
6924+ # The full resource name of the forwarding rule, for example, "//compute.
6925+ # googleapis.com/projects/`project-id`/global/forwardingRules/`forwarding-rule-
6926+ # name`".
6927+ # Corresponds to the JSON property `forwardingRule`
6928+ # @return [String]
6929+ attr_accessor :forwarding_rule
6930+
6931+ # The full resource name of the instance group, for example, "//compute.
6932+ # googleapis.com/projects/`project-id`/global/instanceGroups/`name`".
6933+ # Corresponds to the JSON property `instanceGroup`
6934+ # @return [String]
6935+ attr_accessor :instance_group
6936+
6937+ # The full resource name of the load balancer firewall policy, for example, "//
6938+ # compute.googleapis.com/projects/`project-id`/global/firewallPolicies/`policy-
6939+ # name`".
6940+ # Corresponds to the JSON property `loadBalancerFirewallPolicy`
6941+ # @return [String]
6942+ attr_accessor :load_balancer_firewall_policy
6943+
6944+ # The full resource name of the network endpoint group, for example, "//compute.
6945+ # googleapis.com/projects/`project-id`/global/networkEndpointGroups/`name`".
6946+ # Corresponds to the JSON property `networkEndpointGroup`
6947+ # @return [String]
6948+ attr_accessor :network_endpoint_group
6949+
6950+ # Private IP address of the exposed endpoint.
6951+ # Corresponds to the JSON property `privateIpAddress`
6952+ # @return [String]
6953+ attr_accessor :private_ip_address
6954+
6955+ # Port number associated with private IP address.
6956+ # Corresponds to the JSON property `privatePort`
6957+ # @return [String]
6958+ attr_accessor :private_port
6959+
6960+ # Public IP address of the exposed endpoint.
6961+ # Corresponds to the JSON property `publicIpAddress`
6962+ # @return [String]
6963+ attr_accessor :public_ip_address
6964+
6965+ # Public port number of the exposed endpoint.
6966+ # Corresponds to the JSON property `publicPort`
6967+ # @return [String]
6968+ attr_accessor :public_port
6969+
6970+ # The full resource name of the firewall policy of the exposed service, for
6971+ # example, "//compute.googleapis.com/projects/`project-id`/global/
6972+ # firewallPolicies/`policy-name`".
6973+ # Corresponds to the JSON property `serviceFirewallPolicy`
6974+ # @return [String]
6975+ attr_accessor :service_firewall_policy
6976+
6977+ def initialize(**args)
6978+ update!(**args)
6979+ end
6980+
6981+ # Update properties of this object
6982+ def update!(**args)
6983+ @backend_service = args[:backend_service] if args.key?(:backend_service)
6984+ @exposed_endpoint = args[:exposed_endpoint] if args.key?(:exposed_endpoint)
6985+ @exposed_service = args[:exposed_service] if args.key?(:exposed_service)
6986+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
6987+ @instance_group = args[:instance_group] if args.key?(:instance_group)
6988+ @load_balancer_firewall_policy = args[:load_balancer_firewall_policy] if args.key?(:load_balancer_firewall_policy)
6989+ @network_endpoint_group = args[:network_endpoint_group] if args.key?(:network_endpoint_group)
6990+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
6991+ @private_port = args[:private_port] if args.key?(:private_port)
6992+ @public_ip_address = args[:public_ip_address] if args.key?(:public_ip_address)
6993+ @public_port = args[:public_port] if args.key?(:public_port)
6994+ @service_firewall_policy = args[:service_firewall_policy] if args.key?(:service_firewall_policy)
6995+ end
6996+ end
6997+
68026998 # Representation of third party SIEM/SOAR fields within SCC.
68036999 class GoogleCloudSecuritycenterV2ExternalSystem
68047000 include Google::Apis::Core::Hashable
@@ -7161,6 +7357,11 @@ class GoogleCloudSecuritycenterV2Finding
71617357 # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2Exfiltration]
71627358 attr_accessor :exfiltration
71637359
7360+ # Details about the externally exposed resource associated with the finding.
7361+ # Corresponds to the JSON property `externalExposure`
7362+ # @return [Google::Apis::SecuritycenterV1beta1::GoogleCloudSecuritycenterV2ExternalExposure]
7363+ attr_accessor :external_exposure
7364+
71647365 # Output only. Third party SIEM/SOAR fields within SCC, contains external system
71657366 # information and external system finding fields.
71667367 # Corresponds to the JSON property `externalSystems`
@@ -7431,6 +7632,7 @@ def update!(**args)
74317632 @disk = args[:disk] if args.key?(:disk)
74327633 @event_time = args[:event_time] if args.key?(:event_time)
74337634 @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
7635+ @external_exposure = args[:external_exposure] if args.key?(:external_exposure)
74347636 @external_systems = args[:external_systems] if args.key?(:external_systems)
74357637 @external_uri = args[:external_uri] if args.key?(:external_uri)
74367638 @files = args[:files] if args.key?(:files)
0 commit comments