# frozen_string_literal: true

# Copyright 2025 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 Grafeas
  module V1
    # The note representing a secret.
    class SecretNote
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The occurrence provides details of a secret.
    # @!attribute [rw] kind
    #   @return [::Grafeas::V1::SecretKind]
    #     Type of secret.
    # @!attribute [rw] locations
    #   @return [::Array<::Grafeas::V1::SecretLocation>]
    #     Locations where the secret is detected.
    # @!attribute [rw] statuses
    #   @return [::Array<::Grafeas::V1::SecretStatus>]
    #     Status of the secret.
    class SecretOccurrence
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The location of the secret.
    # @!attribute [rw] file_location
    #   @return [::Grafeas::V1::FileLocation]
    #     The secret is found from a file.
    class SecretLocation
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods
    end

    # The status of the secret with a timestamp.
    # @!attribute [rw] status
    #   @return [::Grafeas::V1::SecretStatus::Status]
    #     The status of the secret.
    # @!attribute [rw] update_time
    #   @return [::Google::Protobuf::Timestamp]
    #     The time the secret status was last updated.
    # @!attribute [rw] message
    #   @return [::String]
    #     Optional message about the status code.
    class SecretStatus
      include ::Google::Protobuf::MessageExts
      extend ::Google::Protobuf::MessageExts::ClassMethods

      # The status of the secret.
      module Status
        # Unspecified
        STATUS_UNSPECIFIED = 0

        # The status of the secret is unknown.
        UNKNOWN = 1

        # The secret is valid.
        VALID = 2

        # The secret is invalid.
        INVALID = 3
      end
    end

    # Kind of secret.
    module SecretKind
      # Unspecified
      SECRET_KIND_UNSPECIFIED = 0

      # The secret kind is unknown.
      SECRET_KIND_UNKNOWN = 1

      # A GCP service account key per:
      # https://cloud.google.com/iam/docs/creating-managing-service-account-keys
      SECRET_KIND_GCP_SERVICE_ACCOUNT_KEY = 2
    end
  end
end
