@@ -2884,6 +2884,101 @@ def update!(**args)
28842884 end
28852885 end
28862886
2887+ # Details about the externally exposed resource associated with the finding.
2888+ class ExternalExposure
2889+ include Google::Apis::Core::Hashable
2890+
2891+ # The full resource name of load balancer backend service, for example, "//
2892+ # compute.googleapis.com/projects/`project-id`/global/backendServices/`name`".
2893+ # Corresponds to the JSON property `backendService`
2894+ # @return [String]
2895+ attr_accessor :backend_service
2896+
2897+ # The resource which is running the exposed service, for example, "//compute.
2898+ # googleapis.com/projects/`project-id`/zones/`zone`/instances/`instance`.”
2899+ # Corresponds to the JSON property `exposedEndpoint`
2900+ # @return [String]
2901+ attr_accessor :exposed_endpoint
2902+
2903+ # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
2904+ # Corresponds to the JSON property `exposedService`
2905+ # @return [String]
2906+ attr_accessor :exposed_service
2907+
2908+ # The full resource name of the forwarding rule, for example, "//compute.
2909+ # googleapis.com/projects/`project-id`/global/forwardingRules/`forwarding-rule-
2910+ # name`".
2911+ # Corresponds to the JSON property `forwardingRule`
2912+ # @return [String]
2913+ attr_accessor :forwarding_rule
2914+
2915+ # The full resource name of the instance group, for example, "//compute.
2916+ # googleapis.com/projects/`project-id`/global/instanceGroups/`name`".
2917+ # Corresponds to the JSON property `instanceGroup`
2918+ # @return [String]
2919+ attr_accessor :instance_group
2920+
2921+ # The full resource name of the load balancer firewall policy, for example, "//
2922+ # compute.googleapis.com/projects/`project-id`/global/firewallPolicies/`policy-
2923+ # name`".
2924+ # Corresponds to the JSON property `loadBalancerFirewallPolicy`
2925+ # @return [String]
2926+ attr_accessor :load_balancer_firewall_policy
2927+
2928+ # The full resource name of the network endpoint group, for example, "//compute.
2929+ # googleapis.com/projects/`project-id`/global/networkEndpointGroups/`name`".
2930+ # Corresponds to the JSON property `networkEndpointGroup`
2931+ # @return [String]
2932+ attr_accessor :network_endpoint_group
2933+
2934+ # Private IP address of the exposed endpoint.
2935+ # Corresponds to the JSON property `privateIpAddress`
2936+ # @return [String]
2937+ attr_accessor :private_ip_address
2938+
2939+ # Port number associated with private IP address.
2940+ # Corresponds to the JSON property `privatePort`
2941+ # @return [String]
2942+ attr_accessor :private_port
2943+
2944+ # Public IP address of the exposed endpoint.
2945+ # Corresponds to the JSON property `publicIpAddress`
2946+ # @return [String]
2947+ attr_accessor :public_ip_address
2948+
2949+ # Public port number of the exposed endpoint.
2950+ # Corresponds to the JSON property `publicPort`
2951+ # @return [String]
2952+ attr_accessor :public_port
2953+
2954+ # The full resource name of the firewall policy of the exposed service, for
2955+ # example, "//compute.googleapis.com/projects/`project-id`/global/
2956+ # firewallPolicies/`policy-name`".
2957+ # Corresponds to the JSON property `serviceFirewallPolicy`
2958+ # @return [String]
2959+ attr_accessor :service_firewall_policy
2960+
2961+ def initialize(**args)
2962+ update!(**args)
2963+ end
2964+
2965+ # Update properties of this object
2966+ def update!(**args)
2967+ @backend_service = args[:backend_service] if args.key?(:backend_service)
2968+ @exposed_endpoint = args[:exposed_endpoint] if args.key?(:exposed_endpoint)
2969+ @exposed_service = args[:exposed_service] if args.key?(:exposed_service)
2970+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
2971+ @instance_group = args[:instance_group] if args.key?(:instance_group)
2972+ @load_balancer_firewall_policy = args[:load_balancer_firewall_policy] if args.key?(:load_balancer_firewall_policy)
2973+ @network_endpoint_group = args[:network_endpoint_group] if args.key?(:network_endpoint_group)
2974+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
2975+ @private_port = args[:private_port] if args.key?(:private_port)
2976+ @public_ip_address = args[:public_ip_address] if args.key?(:public_ip_address)
2977+ @public_port = args[:public_port] if args.key?(:public_port)
2978+ @service_firewall_policy = args[:service_firewall_policy] if args.key?(:service_firewall_policy)
2979+ end
2980+ end
2981+
28872982 # File information about the related binary/library used by an executable, or
28882983 # the script used by a script interpreter
28892984 class File
@@ -3149,6 +3244,11 @@ class Finding
31493244 # @return [Google::Apis::SecuritycenterV1::Exfiltration]
31503245 attr_accessor :exfiltration
31513246
3247+ # Details about the externally exposed resource associated with the finding.
3248+ # Corresponds to the JSON property `externalExposure`
3249+ # @return [Google::Apis::SecuritycenterV1::ExternalExposure]
3250+ attr_accessor :external_exposure
3251+
31523252 # Output only. Third party SIEM/SOAR fields within SCC, contains external system
31533253 # information and external system finding fields.
31543254 # Corresponds to the JSON property `externalSystems`
@@ -3409,6 +3509,7 @@ def update!(**args)
34093509 @disk = args[:disk] if args.key?(:disk)
34103510 @event_time = args[:event_time] if args.key?(:event_time)
34113511 @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
3512+ @external_exposure = args[:external_exposure] if args.key?(:external_exposure)
34123513 @external_systems = args[:external_systems] if args.key?(:external_systems)
34133514 @external_uri = args[:external_uri] if args.key?(:external_uri)
34143515 @files = args[:files] if args.key?(:files)
@@ -7149,6 +7250,101 @@ def update!(**args)
71497250 end
71507251 end
71517252
7253+ # Details about the externally exposed resource associated with the finding.
7254+ class GoogleCloudSecuritycenterV2ExternalExposure
7255+ include Google::Apis::Core::Hashable
7256+
7257+ # The full resource name of load balancer backend service, for example, "//
7258+ # compute.googleapis.com/projects/`project-id`/global/backendServices/`name`".
7259+ # Corresponds to the JSON property `backendService`
7260+ # @return [String]
7261+ attr_accessor :backend_service
7262+
7263+ # The resource which is running the exposed service, for example, "//compute.
7264+ # googleapis.com/projects/`project-id`/zones/`zone`/instances/`instance`.”
7265+ # Corresponds to the JSON property `exposedEndpoint`
7266+ # @return [String]
7267+ attr_accessor :exposed_endpoint
7268+
7269+ # The name and version of the service, for example, "Jupyter Notebook 6.14.0".
7270+ # Corresponds to the JSON property `exposedService`
7271+ # @return [String]
7272+ attr_accessor :exposed_service
7273+
7274+ # The full resource name of the forwarding rule, for example, "//compute.
7275+ # googleapis.com/projects/`project-id`/global/forwardingRules/`forwarding-rule-
7276+ # name`".
7277+ # Corresponds to the JSON property `forwardingRule`
7278+ # @return [String]
7279+ attr_accessor :forwarding_rule
7280+
7281+ # The full resource name of the instance group, for example, "//compute.
7282+ # googleapis.com/projects/`project-id`/global/instanceGroups/`name`".
7283+ # Corresponds to the JSON property `instanceGroup`
7284+ # @return [String]
7285+ attr_accessor :instance_group
7286+
7287+ # The full resource name of the load balancer firewall policy, for example, "//
7288+ # compute.googleapis.com/projects/`project-id`/global/firewallPolicies/`policy-
7289+ # name`".
7290+ # Corresponds to the JSON property `loadBalancerFirewallPolicy`
7291+ # @return [String]
7292+ attr_accessor :load_balancer_firewall_policy
7293+
7294+ # The full resource name of the network endpoint group, for example, "//compute.
7295+ # googleapis.com/projects/`project-id`/global/networkEndpointGroups/`name`".
7296+ # Corresponds to the JSON property `networkEndpointGroup`
7297+ # @return [String]
7298+ attr_accessor :network_endpoint_group
7299+
7300+ # Private IP address of the exposed endpoint.
7301+ # Corresponds to the JSON property `privateIpAddress`
7302+ # @return [String]
7303+ attr_accessor :private_ip_address
7304+
7305+ # Port number associated with private IP address.
7306+ # Corresponds to the JSON property `privatePort`
7307+ # @return [String]
7308+ attr_accessor :private_port
7309+
7310+ # Public IP address of the exposed endpoint.
7311+ # Corresponds to the JSON property `publicIpAddress`
7312+ # @return [String]
7313+ attr_accessor :public_ip_address
7314+
7315+ # Public port number of the exposed endpoint.
7316+ # Corresponds to the JSON property `publicPort`
7317+ # @return [String]
7318+ attr_accessor :public_port
7319+
7320+ # The full resource name of the firewall policy of the exposed service, for
7321+ # example, "//compute.googleapis.com/projects/`project-id`/global/
7322+ # firewallPolicies/`policy-name`".
7323+ # Corresponds to the JSON property `serviceFirewallPolicy`
7324+ # @return [String]
7325+ attr_accessor :service_firewall_policy
7326+
7327+ def initialize(**args)
7328+ update!(**args)
7329+ end
7330+
7331+ # Update properties of this object
7332+ def update!(**args)
7333+ @backend_service = args[:backend_service] if args.key?(:backend_service)
7334+ @exposed_endpoint = args[:exposed_endpoint] if args.key?(:exposed_endpoint)
7335+ @exposed_service = args[:exposed_service] if args.key?(:exposed_service)
7336+ @forwarding_rule = args[:forwarding_rule] if args.key?(:forwarding_rule)
7337+ @instance_group = args[:instance_group] if args.key?(:instance_group)
7338+ @load_balancer_firewall_policy = args[:load_balancer_firewall_policy] if args.key?(:load_balancer_firewall_policy)
7339+ @network_endpoint_group = args[:network_endpoint_group] if args.key?(:network_endpoint_group)
7340+ @private_ip_address = args[:private_ip_address] if args.key?(:private_ip_address)
7341+ @private_port = args[:private_port] if args.key?(:private_port)
7342+ @public_ip_address = args[:public_ip_address] if args.key?(:public_ip_address)
7343+ @public_port = args[:public_port] if args.key?(:public_port)
7344+ @service_firewall_policy = args[:service_firewall_policy] if args.key?(:service_firewall_policy)
7345+ end
7346+ end
7347+
71527348 # Representation of third party SIEM/SOAR fields within SCC.
71537349 class GoogleCloudSecuritycenterV2ExternalSystem
71547350 include Google::Apis::Core::Hashable
@@ -7511,6 +7707,11 @@ class GoogleCloudSecuritycenterV2Finding
75117707 # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2Exfiltration]
75127708 attr_accessor :exfiltration
75137709
7710+ # Details about the externally exposed resource associated with the finding.
7711+ # Corresponds to the JSON property `externalExposure`
7712+ # @return [Google::Apis::SecuritycenterV1::GoogleCloudSecuritycenterV2ExternalExposure]
7713+ attr_accessor :external_exposure
7714+
75147715 # Output only. Third party SIEM/SOAR fields within SCC, contains external system
75157716 # information and external system finding fields.
75167717 # Corresponds to the JSON property `externalSystems`
@@ -7781,6 +7982,7 @@ def update!(**args)
77817982 @disk = args[:disk] if args.key?(:disk)
77827983 @event_time = args[:event_time] if args.key?(:event_time)
77837984 @exfiltration = args[:exfiltration] if args.key?(:exfiltration)
7985+ @external_exposure = args[:external_exposure] if args.key?(:external_exposure)
77847986 @external_systems = args[:external_systems] if args.key?(:external_systems)
77857987 @external_uri = args[:external_uri] if args.key?(:external_uri)
77867988 @files = args[:files] if args.key?(:files)
0 commit comments