# 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 # Cloud Security Command Center (Cloud SCC) notification configs. # # A notification config is a Cloud SCC resource that contains the configuration # to send notifications for create/update events of findings, assets and etc. # @!attribute [rw] name # @return [::String] # The relative resource name of this notification config. See: # https://cloud.google.com/apis/design/resource_names#relative_resource_name # The following list shows some examples: # + # `organizations/{organization_id}/locations/{location_id}/notificationConfigs/notify_public_bucket` # + # `folders/{folder_id}/locations/{location_id}/notificationConfigs/notify_public_bucket` # + # `projects/{project_id}/locations/{location_id}/notificationConfigs/notify_public_bucket` # @!attribute [rw] description # @return [::String] # The description of the notification config (max of 1024 characters). # @!attribute [rw] pubsub_topic # @return [::String] # The Pub/Sub topic to send notifications to. Its format is # "projects/[project_id]/topics/[topic]". # @!attribute [r] service_account # @return [::String] # Output only. The service account that needs "pubsub.topics.publish" # permission to publish to the Pub/Sub topic. # @!attribute [rw] streaming_config # @return [::Google::Cloud::SecurityCenter::V2::NotificationConfig::StreamingConfig] # The config for triggering streaming-based notifications. class NotificationConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods # The config for streaming-based notifications, which send each event as soon # as it is detected. # @!attribute [rw] filter # @return [::String] # Expression that defines the filter to apply across create/update events # of assets or findings as specified by the event type. The expression is a # list of zero or more restrictions combined via logical operators `AND` # and `OR`. Parentheses are supported, and `OR` has higher precedence than # `AND`. # # Restrictions have the form ` ` and may have a # `-` character in front of them to indicate negation. The fields map to # those defined in the corresponding resource. # # The supported operators are: # # * `=` for all value types. # * `>`, `<`, `>=`, `<=` for integer values. # * `:`, meaning substring matching, for strings. # # The supported value types are: # # * string literals in quotes. # * integer literals without quotes. # * boolean literals `true` and `false` without quotes. class StreamingConfig include ::Google::Protobuf::MessageExts extend ::Google::Protobuf::MessageExts::ClassMethods end end end end end end