"""
@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 qwak.ecosystem.v0.azure_credentials_pb2
import sys

if sys.version_info >= (3, 8):
    import typing as typing_extensions
else:
    import typing_extensions

DESCRIPTOR: google.protobuf.descriptor.FileDescriptor

class CloudCredentials(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    AWS_TEMPORARY_CREDENTIALS_FIELD_NUMBER: builtins.int
    GCP_TEMPORARY_CREDENTIALS_FIELD_NUMBER: builtins.int
    AZURE_TEMPORARY_CREDENTIALS_FIELD_NUMBER: builtins.int
    @property
    def aws_temporary_credentials(self) -> global___AwsTemporaryCredentials: ...
    @property
    def gcp_temporary_credentials(self) -> global___GcpTemporaryCredentials: ...
    @property
    def azure_temporary_credentials(self) -> qwak.ecosystem.v0.azure_credentials_pb2.AzureTemporaryCredentials: ...
    def __init__(
        self,
        *,
        aws_temporary_credentials: global___AwsTemporaryCredentials | None = ...,
        gcp_temporary_credentials: global___GcpTemporaryCredentials | None = ...,
        azure_temporary_credentials: qwak.ecosystem.v0.azure_credentials_pb2.AzureTemporaryCredentials | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["aws_temporary_credentials", b"aws_temporary_credentials", "azure_temporary_credentials", b"azure_temporary_credentials", "credentials", b"credentials", "gcp_temporary_credentials", b"gcp_temporary_credentials"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["aws_temporary_credentials", b"aws_temporary_credentials", "azure_temporary_credentials", b"azure_temporary_credentials", "credentials", b"credentials", "gcp_temporary_credentials", b"gcp_temporary_credentials"]) -> None: ...
    def WhichOneof(self, oneof_group: typing_extensions.Literal["credentials", b"credentials"]) -> typing_extensions.Literal["aws_temporary_credentials", "gcp_temporary_credentials", "azure_temporary_credentials"] | None: ...

global___CloudCredentials = CloudCredentials

class AwsTemporaryCredentials(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCESS_KEY_ID_FIELD_NUMBER: builtins.int
    SECRET_ACCESS_KEY_FIELD_NUMBER: builtins.int
    SESSION_TOKEN_FIELD_NUMBER: builtins.int
    EXPIRATION_TIME_FIELD_NUMBER: builtins.int
    REGION_FIELD_NUMBER: builtins.int
    access_key_id: builtins.str
    """Aws access key id"""
    secret_access_key: builtins.str
    """Aws secret access key"""
    session_token: builtins.str
    """Aws session token"""
    @property
    def expiration_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Expiration timestamp of the credentials"""
    region: builtins.str
    """Aws region"""
    def __init__(
        self,
        *,
        access_key_id: builtins.str = ...,
        secret_access_key: builtins.str = ...,
        session_token: builtins.str = ...,
        expiration_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
        region: builtins.str = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["expiration_time", b"expiration_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_key_id", b"access_key_id", "expiration_time", b"expiration_time", "region", b"region", "secret_access_key", b"secret_access_key", "session_token", b"session_token"]) -> None: ...

global___AwsTemporaryCredentials = AwsTemporaryCredentials

class GcpTemporaryCredentials(google.protobuf.message.Message):
    DESCRIPTOR: google.protobuf.descriptor.Descriptor

    ACCESS_TOKEN_FIELD_NUMBER: builtins.int
    EXPIRATION_TIME_FIELD_NUMBER: builtins.int
    access_token: builtins.str
    """Gcp access token"""
    @property
    def expiration_time(self) -> google.protobuf.timestamp_pb2.Timestamp:
        """Expiration timestamp of the credentials"""
    def __init__(
        self,
        *,
        access_token: builtins.str = ...,
        expiration_time: google.protobuf.timestamp_pb2.Timestamp | None = ...,
    ) -> None: ...
    def HasField(self, field_name: typing_extensions.Literal["expiration_time", b"expiration_time"]) -> builtins.bool: ...
    def ClearField(self, field_name: typing_extensions.Literal["access_token", b"access_token", "expiration_time", b"expiration_time"]) -> None: ...

global___GcpTemporaryCredentials = GcpTemporaryCredentials
