Source code for troposphere.datasync

# Copyright (c) 2012-2024, Mark Peek <mark@peek.org>
# All rights reserved.
#
# See LICENSE file for full license.
#
# *** Do not modify - this file is autogenerated ***


from . import AWSObject, AWSProperty, PropsDictType, Tags
from .validators import integer


[docs]class Agent(AWSObject): """ `Agent <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-agent.html>`__ """ resource_type = "AWS::DataSync::Agent" props: PropsDictType = { "ActivationKey": (str, False), "AgentName": (str, False), "SecurityGroupArns": ([str], False), "SubnetArns": ([str], False), "Tags": (Tags, False), "VpcEndpointId": (str, False), }
[docs]class AzureBlobSasConfiguration(AWSProperty): """ `AzureBlobSasConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationazureblob-azureblobsasconfiguration.html>`__ """ props: PropsDictType = { "AzureBlobSasToken": (str, True), }
[docs]class LocationAzureBlob(AWSObject): """ `LocationAzureBlob <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationazureblob.html>`__ """ resource_type = "AWS::DataSync::LocationAzureBlob" props: PropsDictType = { "AgentArns": ([str], True), "AzureAccessTier": (str, False), "AzureBlobAuthenticationType": (str, True), "AzureBlobContainerUrl": (str, False), "AzureBlobSasConfiguration": (AzureBlobSasConfiguration, False), "AzureBlobType": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class Ec2Config(AWSProperty): """ `Ec2Config <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationefs-ec2config.html>`__ """ props: PropsDictType = { "SecurityGroupArns": ([str], True), "SubnetArn": (str, True), }
[docs]class LocationEFS(AWSObject): """ `LocationEFS <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationefs.html>`__ """ resource_type = "AWS::DataSync::LocationEFS" props: PropsDictType = { "AccessPointArn": (str, False), "Ec2Config": (Ec2Config, True), "EfsFilesystemArn": (str, False), "FileSystemAccessRoleArn": (str, False), "InTransitEncryption": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class LocationFSxLustre(AWSObject): """ `LocationFSxLustre <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxlustre.html>`__ """ resource_type = "AWS::DataSync::LocationFSxLustre" props: PropsDictType = { "FsxFilesystemArn": (str, False), "SecurityGroupArns": ([str], True), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class MountOptions(AWSProperty): """ `MountOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationsmb-mountoptions.html>`__ """ props: PropsDictType = { "Version": (str, False), }
[docs]class NFS(AWSProperty): """ `NFS <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-nfs.html>`__ """ props: PropsDictType = { "MountOptions": (MountOptions, True), }
[docs]class SmbMountOptions(AWSProperty): """ `SmbMountOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxontap-smbmountoptions.html>`__ """ props: PropsDictType = { "Version": (str, False), }
[docs]class SMB(AWSProperty): """ `SMB <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxontap-smb.html>`__ """ props: PropsDictType = { "Domain": (str, False), "MountOptions": (SmbMountOptions, True), "Password": (str, True), "User": (str, True), }
[docs]class ONTAPProtocol(AWSProperty): """ `ONTAPProtocol <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxontap-protocol.html>`__ """ props: PropsDictType = { "NFS": (NFS, False), "SMB": (SMB, False), }
[docs]class LocationFSxONTAP(AWSObject): """ `LocationFSxONTAP <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxontap.html>`__ """ resource_type = "AWS::DataSync::LocationFSxONTAP" props: PropsDictType = { "Protocol": (ONTAPProtocol, False), "SecurityGroupArns": ([str], True), "StorageVirtualMachineArn": (str, True), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class Protocol(AWSProperty): """ `Protocol <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxopenzfs-protocol.html>`__ """ props: PropsDictType = { "NFS": (NFS, False), }
[docs]class LocationFSxOpenZFS(AWSObject): """ `LocationFSxOpenZFS <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxopenzfs.html>`__ """ resource_type = "AWS::DataSync::LocationFSxOpenZFS" props: PropsDictType = { "FsxFilesystemArn": (str, False), "Protocol": (Protocol, True), "SecurityGroupArns": ([str], True), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class LocationFSxWindows(AWSObject): """ `LocationFSxWindows <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationfsxwindows.html>`__ """ resource_type = "AWS::DataSync::LocationFSxWindows" props: PropsDictType = { "Domain": (str, False), "FsxFilesystemArn": (str, False), "Password": (str, False), "SecurityGroupArns": ([str], True), "Subdirectory": (str, False), "Tags": (Tags, False), "User": (str, True), }
[docs]class NameNode(AWSProperty): """ `NameNode <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationhdfs-namenode.html>`__ """ props: PropsDictType = { "Hostname": (str, True), "Port": (integer, True), }
[docs]class QopConfiguration(AWSProperty): """ `QopConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationhdfs-qopconfiguration.html>`__ """ props: PropsDictType = { "DataTransferProtection": (str, False), "RpcProtection": (str, False), }
[docs]class LocationHDFS(AWSObject): """ `LocationHDFS <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationhdfs.html>`__ """ resource_type = "AWS::DataSync::LocationHDFS" props: PropsDictType = { "AgentArns": ([str], True), "AuthenticationType": (str, True), "BlockSize": (integer, False), "KerberosKeytab": (str, False), "KerberosKrb5Conf": (str, False), "KerberosPrincipal": (str, False), "KmsKeyProviderUri": (str, False), "NameNodes": ([NameNode], True), "QopConfiguration": (QopConfiguration, False), "ReplicationFactor": (integer, False), "SimpleUser": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class OnPremConfig(AWSProperty): """ `OnPremConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationnfs-onpremconfig.html>`__ """ props: PropsDictType = { "AgentArns": ([str], True), }
[docs]class LocationNFS(AWSObject): """ `LocationNFS <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationnfs.html>`__ """ resource_type = "AWS::DataSync::LocationNFS" props: PropsDictType = { "MountOptions": (MountOptions, False), "OnPremConfig": (OnPremConfig, True), "ServerHostname": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class LocationObjectStorage(AWSObject): """ `LocationObjectStorage <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationobjectstorage.html>`__ """ resource_type = "AWS::DataSync::LocationObjectStorage" props: PropsDictType = { "AccessKey": (str, False), "AgentArns": ([str], True), "BucketName": (str, False), "SecretKey": (str, False), "ServerCertificate": (str, False), "ServerHostname": (str, False), "ServerPort": (integer, False), "ServerProtocol": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class S3Config(AWSProperty): """ `S3Config <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locations3-s3config.html>`__ """ props: PropsDictType = { "BucketAccessRoleArn": (str, True), }
[docs]class LocationS3(AWSObject): """ `LocationS3 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locations3.html>`__ """ resource_type = "AWS::DataSync::LocationS3" props: PropsDictType = { "S3BucketArn": (str, False), "S3Config": (S3Config, True), "S3StorageClass": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), }
[docs]class LocationSMB(AWSObject): """ `LocationSMB <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-locationsmb.html>`__ """ resource_type = "AWS::DataSync::LocationSMB" props: PropsDictType = { "AgentArns": ([str], True), "Domain": (str, False), "MountOptions": (MountOptions, False), "Password": (str, False), "ServerHostname": (str, False), "Subdirectory": (str, False), "Tags": (Tags, False), "User": (str, True), }
[docs]class ServerConfiguration(AWSProperty): """ `ServerConfiguration <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-serverconfiguration.html>`__ """ props: PropsDictType = { "ServerHostname": (str, True), "ServerPort": (integer, False), }
[docs]class ServerCredentials(AWSProperty): """ `ServerCredentials <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-storagesystem-servercredentials.html>`__ """ props: PropsDictType = { "Password": (str, True), "Username": (str, True), }
[docs]class StorageSystem(AWSObject): """ `StorageSystem <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-storagesystem.html>`__ """ resource_type = "AWS::DataSync::StorageSystem" props: PropsDictType = { "AgentArns": ([str], True), "CloudWatchLogGroupArn": (str, False), "Name": (str, False), "ServerConfiguration": (ServerConfiguration, True), "ServerCredentials": (ServerCredentials, False), "SystemType": (str, True), "Tags": (Tags, False), }
[docs]class FilterRule(AWSProperty): """ `FilterRule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-filterrule.html>`__ """ props: PropsDictType = { "FilterType": (str, False), "Value": (str, False), }
[docs]class ManifestConfigSourceS3(AWSProperty): """ `ManifestConfigSourceS3 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfigsources3.html>`__ """ props: PropsDictType = { "BucketAccessRoleArn": (str, False), "ManifestObjectPath": (str, False), "ManifestObjectVersionId": (str, False), "S3BucketArn": (str, False), }
[docs]class Source(AWSProperty): """ `Source <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-source.html>`__ """ props: PropsDictType = { "S3": (ManifestConfigSourceS3, False), }
[docs]class ManifestConfig(AWSProperty): """ `ManifestConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-manifestconfig.html>`__ """ props: PropsDictType = { "Action": (str, False), "Format": (str, False), "Source": (Source, True), }
[docs]class Options(AWSProperty): """ `Options <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-options.html>`__ """ props: PropsDictType = { "Atime": (str, False), "BytesPerSecond": (integer, False), "Gid": (str, False), "LogLevel": (str, False), "Mtime": (str, False), "ObjectTags": (str, False), "OverwriteMode": (str, False), "PosixPermissions": (str, False), "PreserveDeletedFiles": (str, False), "PreserveDevices": (str, False), "SecurityDescriptorCopyFlags": (str, False), "TaskQueueing": (str, False), "TransferMode": (str, False), "Uid": (str, False), "VerifyMode": (str, False), }
[docs]class TaskReportConfigDestinationS3(AWSProperty): """ `TaskReportConfigDestinationS3 <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfigdestinations3.html>`__ """ props: PropsDictType = { "BucketAccessRoleArn": (str, False), "S3BucketArn": (str, False), "Subdirectory": (str, False), }
[docs]class Destination(AWSProperty): """ `Destination <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-destination.html>`__ """ props: PropsDictType = { "S3": (TaskReportConfigDestinationS3, False), }
[docs]class Deleted(AWSProperty): """ `Deleted <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-deleted.html>`__ """ props: PropsDictType = { "ReportLevel": (str, False), }
[docs]class Skipped(AWSProperty): """ `Skipped <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-skipped.html>`__ """ props: PropsDictType = { "ReportLevel": (str, False), }
[docs]class Transferred(AWSProperty): """ `Transferred <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-transferred.html>`__ """ props: PropsDictType = { "ReportLevel": (str, False), }
[docs]class Verified(AWSProperty): """ `Verified <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-verified.html>`__ """ props: PropsDictType = { "ReportLevel": (str, False), }
[docs]class Overrides(AWSProperty): """ `Overrides <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-overrides.html>`__ """ props: PropsDictType = { "Deleted": (Deleted, False), "Skipped": (Skipped, False), "Transferred": (Transferred, False), "Verified": (Verified, False), }
[docs]class TaskReportConfig(AWSProperty): """ `TaskReportConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskreportconfig.html>`__ """ props: PropsDictType = { "Destination": (Destination, True), "ObjectVersionIds": (str, False), "OutputType": (str, True), "Overrides": (Overrides, False), "ReportLevel": (str, False), }
[docs]class TaskSchedule(AWSProperty): """ `TaskSchedule <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-task-taskschedule.html>`__ """ props: PropsDictType = { "ScheduleExpression": (str, False), "Status": (str, False), }
[docs]class Task(AWSObject): """ `Task <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-datasync-task.html>`__ """ resource_type = "AWS::DataSync::Task" props: PropsDictType = { "CloudWatchLogGroupArn": (str, False), "DestinationLocationArn": (str, True), "Excludes": ([FilterRule], False), "Includes": ([FilterRule], False), "ManifestConfig": (ManifestConfig, False), "Name": (str, False), "Options": (Options, False), "Schedule": (TaskSchedule, False), "SourceLocationArn": (str, True), "Tags": (Tags, False), "TaskReportConfig": (TaskReportConfig, False), }
[docs]class NfsMountOptions(AWSProperty): """ `NfsMountOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-datasync-locationfsxontap-nfsmountoptions.html>`__ """ props: PropsDictType = { "Version": (str, False), }