# coding=utf-8
# *** WARNING: this file was generated by the Pulumi SDK Generator. ***
# *** Do not edit by hand unless you're certain you know what you are doing! ***

from enum import Enum

__all__ = [
    'AgentEndpointType',
    'LocationNFSMountOptionsVersion',
    'LocationObjectStorageServerProtocol',
    'LocationS3S3StorageClass',
    'LocationSMBMountOptionsVersion',
    'TaskFilterRuleFilterType',
    'TaskOptionsAtime',
    'TaskOptionsGid',
    'TaskOptionsLogLevel',
    'TaskOptionsMtime',
    'TaskOptionsOverwriteMode',
    'TaskOptionsPosixPermissions',
    'TaskOptionsPreserveDeletedFiles',
    'TaskOptionsPreserveDevices',
    'TaskOptionsSecurityDescriptorCopyFlags',
    'TaskOptionsTaskQueueing',
    'TaskOptionsTransferMode',
    'TaskOptionsUid',
    'TaskOptionsVerifyMode',
    'TaskStatus',
]


class AgentEndpointType(str, Enum):
    """
    The service endpoints that the agent will connect to.
    """
    FIPS = "FIPS"
    PUBLIC = "PUBLIC"
    PRIVATE_LINK = "PRIVATE_LINK"


class LocationNFSMountOptionsVersion(str, Enum):
    """
    The specific NFS version that you want DataSync to use to mount your NFS share.
    """
    AUTOMATIC = "AUTOMATIC"
    NFS3 = "NFS3"
    NFS40 = "NFS4_0"
    NFS41 = "NFS4_1"


class LocationObjectStorageServerProtocol(str, Enum):
    """
    The protocol that the object storage server uses to communicate.
    """
    HTTPS = "HTTPS"
    HTTP = "HTTP"


class LocationS3S3StorageClass(str, Enum):
    """
    The Amazon S3 storage class you want to store your files in when this location is used as a task destination.
    """
    STANDARD = "STANDARD"
    STANDARD_IA = "STANDARD_IA"
    ONEZONE_IA = "ONEZONE_IA"
    INTELLIGENT_TIERING = "INTELLIGENT_TIERING"
    GLACIER = "GLACIER"
    DEEP_ARCHIVE = "DEEP_ARCHIVE"


class LocationSMBMountOptionsVersion(str, Enum):
    """
    The specific SMB version that you want DataSync to use to mount your SMB share.
    """
    AUTOMATIC = "AUTOMATIC"
    SMB2 = "SMB2"
    SMB3 = "SMB3"


class TaskFilterRuleFilterType(str, Enum):
    """
    The type of filter rule to apply. AWS DataSync only supports the SIMPLE_PATTERN rule type.
    """
    SIMPLE_PATTERN = "SIMPLE_PATTERN"


class TaskOptionsAtime(str, Enum):
    """
    A file metadata value that shows the last time a file was accessed (that is, when the file was read or written to).
    """
    NONE = "NONE"
    BEST_EFFORT = "BEST_EFFORT"


class TaskOptionsGid(str, Enum):
    """
    The group ID (GID) of the file's owners.
    """
    NONE = "NONE"
    INT_VALUE = "INT_VALUE"
    NAME = "NAME"
    BOTH = "BOTH"


class TaskOptionsLogLevel(str, Enum):
    """
    A value that determines the types of logs that DataSync publishes to a log stream in the Amazon CloudWatch log group that you provide.
    """
    OFF = "OFF"
    BASIC = "BASIC"
    TRANSFER = "TRANSFER"


class TaskOptionsMtime(str, Enum):
    """
    A value that indicates the last time that a file was modified (that is, a file was written to) before the PREPARING phase.
    """
    NONE = "NONE"
    PRESERVE = "PRESERVE"


class TaskOptionsOverwriteMode(str, Enum):
    """
    A value that determines whether files at the destination should be overwritten or preserved when copying files.
    """
    ALWAYS = "ALWAYS"
    NEVER = "NEVER"


class TaskOptionsPosixPermissions(str, Enum):
    """
    A value that determines which users or groups can access a file for a specific purpose such as reading, writing, or execution of the file.
    """
    NONE = "NONE"
    PRESERVE = "PRESERVE"


class TaskOptionsPreserveDeletedFiles(str, Enum):
    """
    A value that specifies whether files in the destination that don't exist in the source file system should be preserved.
    """
    PRESERVE = "PRESERVE"
    REMOVE = "REMOVE"


class TaskOptionsPreserveDevices(str, Enum):
    """
    A value that determines whether AWS DataSync should preserve the metadata of block and character devices in the source file system, and recreate the files with that device name and metadata on the destination.
    """
    NONE = "NONE"
    PRESERVE = "PRESERVE"


class TaskOptionsSecurityDescriptorCopyFlags(str, Enum):
    """
    A value that determines which components of the SMB security descriptor are copied during transfer.
    """
    NONE = "NONE"
    OWNER_DACL = "OWNER_DACL"
    OWNER_DACL_SACL = "OWNER_DACL_SACL"


class TaskOptionsTaskQueueing(str, Enum):
    """
    A value that determines whether tasks should be queued before executing the tasks.
    """
    ENABLED = "ENABLED"
    DISABLED = "DISABLED"


class TaskOptionsTransferMode(str, Enum):
    """
    A value that determines whether DataSync transfers only the data and metadata that differ between the source and the destination location, or whether DataSync transfers all the content from the source, without comparing to the destination location.
    """
    CHANGED = "CHANGED"
    ALL = "ALL"


class TaskOptionsUid(str, Enum):
    """
    The user ID (UID) of the file's owner.
    """
    NONE = "NONE"
    INT_VALUE = "INT_VALUE"
    NAME = "NAME"
    BOTH = "BOTH"


class TaskOptionsVerifyMode(str, Enum):
    """
    A value that determines whether a data integrity verification should be performed at the end of a task execution after all data and metadata have been transferred.
    """
    POINT_IN_TIME_CONSISTENT = "POINT_IN_TIME_CONSISTENT"
    ONLY_FILES_TRANSFERRED = "ONLY_FILES_TRANSFERRED"
    NONE = "NONE"


class TaskStatus(str, Enum):
    """
    The status of the task that was described.
    """
    AVAILABLE = "AVAILABLE"
    CREATING = "CREATING"
    QUEUED = "QUEUED"
    RUNNING = "RUNNING"
    UNAVAILABLE = "UNAVAILABLE"
