lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.9.0 vs lib/google/apis/securitycenter_v1beta2/classes.rb in google-apis-securitycenter_v1beta2-0.10.0

- old
+ new

@@ -319,10 +319,16 @@ # value greater than the current timestamp. # Corresponds to the JSON property `eventTime` # @return [String] attr_accessor :event_time + # Output only. Third party SIEM/SOAR fields within SCC, contains external system + # information and external system finding fields. + # Corresponds to the JSON property `externalSystems` + # @return [Hash<String,Google::Apis::SecuritycenterV1beta2::GoogleCloudSecuritycenterV1ExternalSystem>] + attr_accessor :external_systems + # The URI that, if available, points to a web page outside of Security Command # Center where additional information about the finding can be found. This field # is guaranteed to be either empty or a well formed URL. # Corresponds to the JSON property `externalUri` # @return [String] @@ -339,10 +345,28 @@ # Reference: https://en.wikipedia.org/wiki/Indicator_of_compromise # Corresponds to the JSON property `indicator` # @return [Google::Apis::SecuritycenterV1beta2::Indicator] attr_accessor :indicator + # Indicates the mute state of a finding (either unspecified, muted, unmuted or + # undefined). + # Corresponds to the JSON property `mute` + # @return [String] + attr_accessor :mute + + # First known as mute_annotation. Records additional information about the mute + # operation e.g. mute config that muted the finding, user who muted the finding, + # etc. + # Corresponds to the JSON property `muteInitiator` + # @return [String] + attr_accessor :mute_initiator + + # Output only. The most recent time this finding was muted or unmuted. + # Corresponds to the JSON property `muteUpdateTime` + # @return [String] + attr_accessor :mute_update_time + # The relative resource name of this finding. See: https://cloud.google.com/apis/ # design/resource_names#relative_resource_name Example: "organizations/` # organization_id`/sources/`source_id`/findings/`finding_id`" # Corresponds to the JSON property `name` # @return [String] @@ -405,13 +429,17 @@ def update!(**args) @canonical_name = args[:canonical_name] if args.key?(:canonical_name) @category = args[:category] if args.key?(:category) @create_time = args[:create_time] if args.key?(:create_time) @event_time = args[:event_time] if args.key?(:event_time) + @external_systems = args[:external_systems] if args.key?(:external_systems) @external_uri = args[:external_uri] if args.key?(:external_uri) @finding_class = args[:finding_class] if args.key?(:finding_class) @indicator = args[:indicator] if args.key?(:indicator) + @mute = args[:mute] if args.key?(:mute) + @mute_initiator = args[:mute_initiator] if args.key?(:mute_initiator) + @mute_update_time = args[:mute_update_time] if args.key?(:mute_update_time) @name = args[:name] if args.key?(:name) @parent = args[:parent] if args.key?(:parent) @resource_name = args[:resource_name] if args.key?(:resource_name) @security_marks = args[:security_marks] if args.key?(:security_marks) @severity = args[:severity] if args.key?(:severity) @@ -442,9 +470,129 @@ # Update properties of this object def update!(**args) @resource_folder = args[:resource_folder] if args.key?(:resource_folder) @resource_folder_display_name = args[:resource_folder_display_name] if args.key?(:resource_folder_display_name) + end + end + + # Representation of third party SIEM/SOAR fields within SCC. + class GoogleCloudSecuritycenterV1ExternalSystem + include Google::Apis::Core::Hashable + + # References primary/secondary etc assignees in the external system. + # Corresponds to the JSON property `assignees` + # @return [Array<String>] + attr_accessor :assignees + + # The most recent time when the corresponding finding's ticket/tracker was + # updated in the external system. + # Corresponds to the JSON property `externalSystemUpdateTime` + # @return [String] + attr_accessor :external_system_update_time + + # Identifier that's used to track the given finding in the external system. + # Corresponds to the JSON property `externalUid` + # @return [String] + attr_accessor :external_uid + + # External System Name e.g. jira, demisto, etc. e.g.: organizations/1234/sources/ + # 5678/findings/123456/externalSystems/jira folders/1234/sources/5678/findings/ + # 123456/externalSystems/jira projects/1234/sources/5678/findings/123456/ + # externalSystems/jira + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Most recent status of the corresponding finding's ticket/tracker in the + # external system. + # Corresponds to the JSON property `status` + # @return [String] + attr_accessor :status + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @assignees = args[:assignees] if args.key?(:assignees) + @external_system_update_time = args[:external_system_update_time] if args.key?(:external_system_update_time) + @external_uid = args[:external_uid] if args.key?(:external_uid) + @name = args[:name] if args.key?(:name) + @status = args[:status] if args.key?(:status) + end + end + + # A mute config is a Cloud SCC resource that contains the configuration to mute + # create/update events of findings. + class GoogleCloudSecuritycenterV1MuteConfig + include Google::Apis::Core::Hashable + + # Output only. The time at which the mute config was created. This field is set + # by the server and will be ignored if provided on config creation. + # Corresponds to the JSON property `createTime` + # @return [String] + attr_accessor :create_time + + # A description of the mute config. + # Corresponds to the JSON property `description` + # @return [String] + attr_accessor :description + + # The human readable name to be displayed for the mute config. + # Corresponds to the JSON property `displayName` + # @return [String] + attr_accessor :display_name + + # Required. An expression that defines the filter to apply across create/update + # events of findings. While creating a filter string, be mindful of the scope in + # which the mute configuration is being created. E.g., If a filter contains + # project = X but is created under the project = Y scope, it might not match any + # findings. The following field and operator combinations are supported: * + # severity: `=`, `:` * category: `=`, `:` * resource.name: `=`, `:` * resource. + # project_name: `=`, `:` * resource.project_display_name: `=`, `:` * resource. + # folders.resource_folder: `=`, `:` * resource.parent_name: `=`, `:` * resource. + # parent_display_name: `=`, `:` * resource.type: `=`, `:` * finding_class: `=`, ` + # :` * indicator.ip_addresses: `=`, `:` * indicator.domains: `=`, `:` + # Corresponds to the JSON property `filter` + # @return [String] + attr_accessor :filter + + # Output only. Email address of the user who last edited the mute config. This + # field is set by the server and will be ignored if provided on config creation + # or update. + # Corresponds to the JSON property `mostRecentEditor` + # @return [String] + attr_accessor :most_recent_editor + + # This field will be ignored if provided on config creation. Format " + # organizations/`organization`/muteConfigs/`mute_config`" "folders/`folder`/ + # muteConfigs/`mute_config`" "projects/`project`/muteConfigs/`mute_config`" + # Corresponds to the JSON property `name` + # @return [String] + attr_accessor :name + + # Output only. The most recent time at which the mute config was updated. This + # field is set by the server and will be ignored if provided on config creation + # or update. + # Corresponds to the JSON property `updateTime` + # @return [String] + attr_accessor :update_time + + def initialize(**args) + update!(**args) + end + + # Update properties of this object + def update!(**args) + @create_time = args[:create_time] if args.key?(:create_time) + @description = args[:description] if args.key?(:description) + @display_name = args[:display_name] if args.key?(:display_name) + @filter = args[:filter] if args.key?(:filter) + @most_recent_editor = args[:most_recent_editor] if args.key?(:most_recent_editor) + @name = args[:name] if args.key?(:name) + @update_time = args[:update_time] if args.key?(:update_time) end end # Cloud SCC's Notification class GoogleCloudSecuritycenterV1NotificationMessage