"""
@generated by mypy-protobuf.  Do not edit manually!
isort:skip_file
"""

import builtins
import google.protobuf.descriptor
import google.protobuf.message
import google.protobuf.timestamp_pb2
import typing

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

@typing.final
class FederatedCredential(google.protobuf.message.Message):
    """A federated credential."""

    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ID_FIELD_NUMBER: builtins.int
    SERVICE_ACCOUNT_ID_FIELD_NUMBER: builtins.int
    FEDERATION_ID_FIELD_NUMBER: builtins.int
    EXTERNAL_SUBJECT_ID_FIELD_NUMBER: builtins.int
    CREATED_AT_FIELD_NUMBER: builtins.int
    id: builtins.str
    """Id of the federated credential."""
    service_account_id: builtins.str
    """Id of the service account that the federated credential belongs to."""
    federation_id: builtins.str
    """ID of the workload identity federation which is used for authentication."""
    external_subject_id: builtins.str
    """Id of the external subject."""
    @property
    def created_at(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Creation timestamp."""

    def __init__(
        self,
        *,
        id: builtins.str = ...,
        service_account_id: builtins.str = ...,
        federation_id: builtins.str = ...,
        external_subject_id: builtins.str = ...,
        created_at: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing.Literal["created_at", b"created_at"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing.Literal["created_at", b"created_at", "external_subject_id", b"external_subject_id", "federation_id", b"federation_id", "id", b"id", "service_account_id", b"service_account_id"]) -> None: ...

global___FederatedCredential = FederatedCredential
