Source code for troposphere.transfer

# 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 double, integer
from .validators.transfer import validate_homedirectory_type


[docs]class Agreement(AWSObject): """ `Agreement <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html>`__ """ resource_type = "AWS::Transfer::Agreement" props: PropsDictType = { "AccessRole": (str, True), "BaseDirectory": (str, True), "Description": (str, False), "LocalProfileId": (str, True), "PartnerProfileId": (str, True), "ServerId": (str, True), "Status": (str, False), "Tags": (Tags, False), }
[docs]class Certificate(AWSObject): """ `Certificate <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html>`__ """ resource_type = "AWS::Transfer::Certificate" props: PropsDictType = { "ActiveDate": (str, False), "Certificate": (str, True), "CertificateChain": (str, False), "Description": (str, False), "InactiveDate": (str, False), "PrivateKey": (str, False), "Tags": (Tags, False), "Usage": (str, True), }
[docs]class As2Config(AWSProperty): """ `As2Config <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-as2config.html>`__ """ props: PropsDictType = { "BasicAuthSecretId": (str, False), "Compression": (str, False), "EncryptionAlgorithm": (str, False), "LocalProfileId": (str, False), "MdnResponse": (str, False), "MdnSigningAlgorithm": (str, False), "MessageSubject": (str, False), "PartnerProfileId": (str, False), "SigningAlgorithm": (str, False), }
[docs]class SftpConfig(AWSProperty): """ `SftpConfig <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html>`__ """ props: PropsDictType = { "TrustedHostKeys": ([str], False), "UserSecretId": (str, False), }
[docs]class Connector(AWSObject): """ `Connector <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html>`__ """ resource_type = "AWS::Transfer::Connector" props: PropsDictType = { "AccessRole": (str, True), "As2Config": (As2Config, False), "LoggingRole": (str, False), "SftpConfig": (SftpConfig, False), "Tags": (Tags, False), "Url": (str, True), }
[docs]class Profile(AWSObject): """ `Profile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-profile.html>`__ """ resource_type = "AWS::Transfer::Profile" props: PropsDictType = { "As2Id": (str, True), "CertificateIds": ([str], False), "ProfileType": (str, True), "Tags": (Tags, False), }
[docs]class EndpointDetails(AWSProperty): """ `EndpointDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html>`__ """ props: PropsDictType = { "AddressAllocationIds": ([str], False), "SecurityGroupIds": ([str], False), "SubnetIds": ([str], False), "VpcEndpointId": (str, False), "VpcId": (str, False), }
[docs]class IdentityProviderDetails(AWSProperty): """ `IdentityProviderDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-identityproviderdetails.html>`__ """ props: PropsDictType = { "DirectoryId": (str, False), "Function": (str, False), "InvocationRole": (str, False), "SftpAuthenticationMethods": (str, False), "Url": (str, False), }
[docs]class ProtocolDetails(AWSProperty): """ `ProtocolDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-protocoldetails.html>`__ """ props: PropsDictType = { "As2Transports": ([str], False), "PassiveIp": (str, False), "SetStatOption": (str, False), "TlsSessionResumptionMode": (str, False), }
[docs]class S3StorageOptions(AWSProperty): """ `S3StorageOptions <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-s3storageoptions.html>`__ """ props: PropsDictType = { "DirectoryListingOptimization": (str, False), }
[docs]class WorkflowDetail(AWSProperty): """ `WorkflowDetail <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetail.html>`__ """ props: PropsDictType = { "ExecutionRole": (str, True), "WorkflowId": (str, True), }
[docs]class WorkflowDetails(AWSProperty): """ `WorkflowDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-workflowdetails.html>`__ """ props: PropsDictType = { "OnPartialUpload": ([WorkflowDetail], False), "OnUpload": ([WorkflowDetail], False), }
[docs]class Server(AWSObject): """ `Server <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html>`__ """ resource_type = "AWS::Transfer::Server" props: PropsDictType = { "Certificate": (str, False), "Domain": (str, False), "EndpointDetails": (EndpointDetails, False), "EndpointType": (str, False), "IdentityProviderDetails": (IdentityProviderDetails, False), "IdentityProviderType": (str, False), "LoggingRole": (str, False), "PostAuthenticationLoginBanner": (str, False), "PreAuthenticationLoginBanner": (str, False), "ProtocolDetails": (ProtocolDetails, False), "Protocols": ([str], False), "S3StorageOptions": (S3StorageOptions, False), "SecurityPolicyName": (str, False), "StructuredLogDestinations": ([str], False), "Tags": (Tags, False), "WorkflowDetails": (WorkflowDetails, False), }
[docs]class HomeDirectoryMapEntry(AWSProperty): """ `HomeDirectoryMapEntry <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-homedirectorymapentry.html>`__ """ props: PropsDictType = { "Entry": (str, True), "Target": (str, True), "Type": (str, False), }
[docs]class PosixProfile(AWSProperty): """ `PosixProfile <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-user-posixprofile.html>`__ """ props: PropsDictType = { "Gid": (double, True), "SecondaryGids": ([double], False), "Uid": (double, True), }
[docs]class User(AWSObject): """ `User <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html>`__ """ resource_type = "AWS::Transfer::User" props: PropsDictType = { "HomeDirectory": (str, False), "HomeDirectoryMappings": ([HomeDirectoryMapEntry], False), "HomeDirectoryType": (validate_homedirectory_type, False), "Policy": (str, False), "PosixProfile": (PosixProfile, False), "Role": (str, True), "ServerId": (str, True), "SshPublicKeys": ([str], False), "Tags": (Tags, False), "UserName": (str, True), }
[docs]class S3InputFileLocation(AWSProperty): """ `S3InputFileLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-s3inputfilelocation.html>`__ """ props: PropsDictType = { "Bucket": (str, False), "Key": (str, False), }
[docs]class S3FileLocation(AWSProperty): """ `S3FileLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-s3filelocation.html>`__ """ props: PropsDictType = { "S3FileLocation": (S3InputFileLocation, False), }
[docs]class CopyStepDetails(AWSProperty): """ `CopyStepDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-copystepdetails.html>`__ """ props: PropsDictType = { "DestinationFileLocation": (S3FileLocation, False), "Name": (str, False), "OverwriteExisting": (str, False), "SourceFileLocation": (str, False), }
[docs]class CustomStepDetails(AWSProperty): """ `CustomStepDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-customstepdetails.html>`__ """ props: PropsDictType = { "Name": (str, False), "SourceFileLocation": (str, False), "Target": (str, False), "TimeoutSeconds": (integer, False), }
[docs]class EfsInputFileLocation(AWSProperty): """ `EfsInputFileLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-efsinputfilelocation.html>`__ """ props: PropsDictType = { "FileSystemId": (str, False), "Path": (str, False), }
[docs]class InputFileLocation(AWSProperty): """ `InputFileLocation <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-inputfilelocation.html>`__ """ props: PropsDictType = { "EfsFileLocation": (EfsInputFileLocation, False), "S3FileLocation": (S3InputFileLocation, False), }
[docs]class DecryptStepDetails(AWSProperty): """ `DecryptStepDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-decryptstepdetails.html>`__ """ props: PropsDictType = { "DestinationFileLocation": (InputFileLocation, False), "Name": (str, False), "OverwriteExisting": (str, False), "SourceFileLocation": (str, False), "Type": (str, False), }
[docs]class DeleteStepDetails(AWSProperty): """ `DeleteStepDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-deletestepdetails.html>`__ """ props: PropsDictType = { "Name": (str, False), "SourceFileLocation": (str, False), }
[docs]class S3Tag(AWSProperty): """ `S3Tag <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-s3tag.html>`__ """ props: PropsDictType = { "Key": (str, True), "Value": (str, True), }
[docs]class TagStepDetails(AWSProperty): """ `TagStepDetails <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-tagstepdetails.html>`__ """ props: PropsDictType = { "Name": (str, False), "SourceFileLocation": (str, False), "Tags": ([S3Tag], False), }
[docs]class WorkflowStep(AWSProperty): """ `WorkflowStep <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-workflow-workflowstep.html>`__ """ props: PropsDictType = { "CopyStepDetails": (CopyStepDetails, False), "CustomStepDetails": (CustomStepDetails, False), "DecryptStepDetails": (DecryptStepDetails, False), "DeleteStepDetails": (DeleteStepDetails, False), "TagStepDetails": (TagStepDetails, False), "Type": (str, False), }
[docs]class Workflow(AWSObject): """ `Workflow <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-workflow.html>`__ """ resource_type = "AWS::Transfer::Workflow" props: PropsDictType = { "Description": (str, False), "OnExceptionSteps": ([WorkflowStep], False), "Steps": ([WorkflowStep], True), "Tags": (Tags, False), }