aws-cdk-lib 2.200.2__py3-none-any.whl → 2.224.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +1349 -373
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.200.2.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +12 -2
- aws_cdk/aws_accessanalyzer/__init__.py +323 -6
- aws_cdk/aws_acmpca/__init__.py +53 -10
- aws_cdk/aws_aiops/__init__.py +1019 -0
- aws_cdk/aws_amazonmq/__init__.py +357 -313
- aws_cdk/aws_amplify/__init__.py +173 -17
- aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
- aws_cdk/aws_apigateway/__init__.py +1017 -155
- aws_cdk/aws_apigatewayv2/__init__.py +2796 -379
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
- aws_cdk/aws_appconfig/__init__.py +298 -43
- aws_cdk/aws_appflow/__init__.py +151 -6
- aws_cdk/aws_appintegrations/__init__.py +546 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +29 -6
- aws_cdk/aws_applicationinsights/__init__.py +13 -2
- aws_cdk/aws_applicationsignals/__init__.py +374 -6
- aws_cdk/aws_appmesh/__init__.py +94 -26
- aws_cdk/aws_apprunner/__init__.py +66 -18
- aws_cdk/aws_appstream/__init__.py +309 -55
- aws_cdk/aws_appsync/__init__.py +227 -53
- aws_cdk/aws_apptest/__init__.py +71 -2
- aws_cdk/aws_aps/__init__.py +1875 -132
- aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
- aws_cdk/aws_arczonalshift/__init__.py +39 -12
- aws_cdk/aws_athena/__init__.py +365 -29
- aws_cdk/aws_auditmanager/__init__.py +71 -2
- aws_cdk/aws_autoscaling/__init__.py +135 -55
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +13 -2
- aws_cdk/aws_b2bi/__init__.py +1819 -99
- aws_cdk/aws_backup/__init__.py +317 -28
- aws_cdk/aws_backupgateway/__init__.py +13 -2
- aws_cdk/aws_batch/__init__.py +1405 -178
- aws_cdk/aws_bcmdataexports/__init__.py +21 -2
- aws_cdk/aws_bedrock/__init__.py +6747 -627
- aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
- aws_cdk/aws_billingconductor/__init__.py +197 -11
- aws_cdk/aws_budgets/__init__.py +42 -4
- aws_cdk/aws_cassandra/__init__.py +247 -6
- aws_cdk/aws_ce/__init__.py +35 -6
- aws_cdk/aws_certificatemanager/__init__.py +237 -32
- aws_cdk/aws_chatbot/__init__.py +70 -6
- aws_cdk/aws_cleanrooms/__init__.py +709 -206
- aws_cdk/aws_cleanroomsml/__init__.py +13 -2
- aws_cdk/aws_cloud9/__init__.py +13 -2
- aws_cdk/aws_cloudformation/__init__.py +345 -166
- aws_cdk/aws_cloudfront/__init__.py +2101 -680
- aws_cdk/aws_cloudfront/experimental/__init__.py +108 -16
- aws_cdk/aws_cloudfront_origins/__init__.py +614 -73
- aws_cdk/aws_cloudtrail/__init__.py +301 -17
- aws_cdk/aws_cloudwatch/__init__.py +1414 -153
- aws_cdk/aws_codeartifact/__init__.py +35 -6
- aws_cdk/aws_codebuild/__init__.py +1103 -118
- aws_cdk/aws_codecommit/__init__.py +23 -9
- aws_cdk/aws_codeconnections/__init__.py +13 -2
- aws_cdk/aws_codedeploy/__init__.py +67 -6
- aws_cdk/aws_codeguruprofiler/__init__.py +74 -2
- aws_cdk/aws_codegurureviewer/__init__.py +13 -2
- aws_cdk/aws_codepipeline/__init__.py +127 -64
- aws_cdk/aws_codepipeline_actions/__init__.py +749 -0
- aws_cdk/aws_codestar/__init__.py +13 -2
- aws_cdk/aws_codestarconnections/__init__.py +35 -6
- aws_cdk/aws_codestarnotifications/__init__.py +16 -2
- aws_cdk/aws_cognito/__init__.py +814 -80
- aws_cdk/aws_cognito_identitypool/__init__.py +17 -12
- aws_cdk/aws_comprehend/__init__.py +24 -4
- aws_cdk/aws_config/__init__.py +191 -30
- aws_cdk/aws_connect/__init__.py +2736 -191
- aws_cdk/aws_connectcampaigns/__init__.py +13 -2
- aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
- aws_cdk/aws_controltower/__init__.py +35 -6
- aws_cdk/aws_cur/__init__.py +100 -4
- aws_cdk/aws_customerprofiles/__init__.py +617 -27
- aws_cdk/aws_databrew/__init__.py +68 -12
- aws_cdk/aws_datapipeline/__init__.py +42 -2
- aws_cdk/aws_datasync/__init__.py +723 -203
- aws_cdk/aws_datazone/__init__.py +4425 -608
- aws_cdk/aws_dax/__init__.py +83 -6
- aws_cdk/aws_deadline/__init__.py +321 -32
- aws_cdk/aws_detective/__init__.py +35 -6
- aws_cdk/aws_devicefarm/__init__.py +68 -12
- aws_cdk/aws_devopsguru/__init__.py +37 -6
- aws_cdk/aws_directoryservice/__init__.py +53 -4
- aws_cdk/aws_dlm/__init__.py +13 -2
- aws_cdk/aws_dms/__init__.py +184 -27
- aws_cdk/aws_docdb/__init__.py +323 -46
- aws_cdk/aws_docdbelastic/__init__.py +13 -2
- aws_cdk/aws_dsql/__init__.py +340 -12
- aws_cdk/aws_dynamodb/__init__.py +1463 -166
- aws_cdk/aws_ec2/__init__.py +9636 -1120
- aws_cdk/aws_ecr/__init__.py +631 -43
- aws_cdk/aws_ecr_assets/__init__.py +4 -0
- aws_cdk/aws_ecs/__init__.py +6524 -497
- aws_cdk/aws_ecs_patterns/__init__.py +2 -0
- aws_cdk/aws_efs/__init__.py +264 -24
- aws_cdk/aws_eks/__init__.py +1050 -218
- aws_cdk/aws_elasticache/__init__.py +373 -20
- aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +16 -2
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1670 -106
- aws_cdk/aws_elasticsearch/__init__.py +282 -9
- aws_cdk/aws_emr/__init__.py +187 -20
- aws_cdk/aws_emrcontainers/__init__.py +71 -2
- aws_cdk/aws_emrserverless/__init__.py +188 -3
- aws_cdk/aws_entityresolution/__init__.py +585 -58
- aws_cdk/aws_events/__init__.py +969 -124
- aws_cdk/aws_events_targets/__init__.py +310 -54
- aws_cdk/aws_eventschemas/__init__.py +46 -8
- aws_cdk/aws_evidently/__init__.py +57 -10
- aws_cdk/aws_evs/__init__.py +2244 -0
- aws_cdk/aws_finspace/__init__.py +71 -2
- aws_cdk/aws_fis/__init__.py +26 -4
- aws_cdk/aws_fms/__init__.py +35 -6
- aws_cdk/aws_forecast/__init__.py +24 -4
- aws_cdk/aws_frauddetector/__init__.py +79 -14
- aws_cdk/aws_fsx/__init__.py +1236 -142
- aws_cdk/aws_gamelift/__init__.py +653 -78
- aws_cdk/aws_gameliftstreams/__init__.py +38 -16
- aws_cdk/aws_globalaccelerator/__init__.py +55 -14
- aws_cdk/aws_glue/__init__.py +1368 -320
- aws_cdk/aws_grafana/__init__.py +13 -2
- aws_cdk/aws_greengrass/__init__.py +654 -32
- aws_cdk/aws_greengrassv2/__init__.py +53 -4
- aws_cdk/aws_groundstation/__init__.py +122 -6
- aws_cdk/aws_guardduty/__init__.py +1613 -123
- aws_cdk/aws_healthimaging/__init__.py +71 -2
- aws_cdk/aws_healthlake/__init__.py +42 -2
- aws_cdk/aws_iam/__init__.py +480 -140
- aws_cdk/aws_identitystore/__init__.py +24 -4
- aws_cdk/aws_imagebuilder/__init__.py +1433 -183
- aws_cdk/aws_inspector/__init__.py +38 -6
- aws_cdk/aws_inspectorv2/__init__.py +2285 -243
- aws_cdk/aws_internetmonitor/__init__.py +71 -2
- aws_cdk/aws_invoicing/__init__.py +13 -2
- aws_cdk/aws_iot/__init__.py +1730 -86
- aws_cdk/aws_iotanalytics/__init__.py +162 -8
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
- aws_cdk/aws_iotevents/__init__.py +122 -6
- aws_cdk/aws_iotfleethub/__init__.py +71 -2
- aws_cdk/aws_iotfleetwise/__init__.py +195 -14
- aws_cdk/aws_iotsitewise/__init__.py +1837 -89
- aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
- aws_cdk/aws_iottwinmaker/__init__.py +115 -10
- aws_cdk/aws_iotwireless/__init__.py +649 -22
- aws_cdk/aws_ivs/__init__.py +561 -57
- aws_cdk/aws_ivschat/__init__.py +24 -4
- aws_cdk/aws_kafkaconnect/__init__.py +35 -6
- aws_cdk/aws_kendra/__init__.py +120 -28
- aws_cdk/aws_kendraranking/__init__.py +13 -2
- aws_cdk/aws_kinesis/__init__.py +622 -22
- aws_cdk/aws_kinesisanalytics/__init__.py +467 -94
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +201 -11
- aws_cdk/aws_kinesisfirehose/__init__.py +3077 -295
- aws_cdk/aws_kinesisvideo/__init__.py +24 -4
- aws_cdk/aws_kms/__init__.py +188 -41
- aws_cdk/aws_lakeformation/__init__.py +80 -15
- aws_cdk/aws_lambda/__init__.py +2101 -252
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
- aws_cdk/aws_launchwizard/__init__.py +13 -2
- aws_cdk/aws_lex/__init__.py +871 -8
- aws_cdk/aws_licensemanager/__init__.py +24 -4
- aws_cdk/aws_lightsail/__init__.py +2159 -975
- aws_cdk/aws_location/__init__.py +618 -14
- aws_cdk/aws_logs/__init__.py +5904 -956
- aws_cdk/aws_lookoutequipment/__init__.py +13 -2
- aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
- aws_cdk/aws_lookoutvision/__init__.py +71 -2
- aws_cdk/aws_m2/__init__.py +94 -19
- aws_cdk/aws_macie/__init__.py +49 -11
- aws_cdk/aws_managedblockchain/__init__.py +180 -6
- aws_cdk/aws_mediaconnect/__init__.py +101 -18
- aws_cdk/aws_mediaconvert/__init__.py +35 -6
- aws_cdk/aws_medialive/__init__.py +1239 -35
- aws_cdk/aws_mediapackage/__init__.py +59 -12
- aws_cdk/aws_mediapackagev2/__init__.py +1607 -225
- aws_cdk/aws_mediastore/__init__.py +13 -2
- aws_cdk/aws_mediatailor/__init__.py +583 -12
- aws_cdk/aws_memorydb/__init__.py +271 -12
- aws_cdk/aws_mpa/__init__.py +1495 -0
- aws_cdk/aws_msk/__init__.py +104 -18
- aws_cdk/aws_mwaa/__init__.py +121 -9
- aws_cdk/aws_neptune/__init__.py +290 -78
- aws_cdk/aws_neptunegraph/__init__.py +24 -4
- aws_cdk/aws_networkfirewall/__init__.py +1289 -273
- aws_cdk/aws_networkmanager/__init__.py +349 -33
- aws_cdk/aws_nimblestudio/__init__.py +75 -8
- aws_cdk/aws_notifications/__init__.py +317 -12
- aws_cdk/aws_notificationscontacts/__init__.py +13 -2
- aws_cdk/aws_oam/__init__.py +24 -4
- aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
- aws_cdk/aws_odb/__init__.py +5872 -0
- aws_cdk/aws_omics/__init__.py +2495 -529
- aws_cdk/aws_opensearchserverless/__init__.py +312 -37
- aws_cdk/aws_opensearchservice/__init__.py +495 -19
- aws_cdk/aws_opsworks/__init__.py +235 -139
- aws_cdk/aws_opsworkscm/__init__.py +16 -52
- aws_cdk/aws_organizations/__init__.py +70 -10
- aws_cdk/aws_osis/__init__.py +167 -2
- aws_cdk/aws_panorama/__init__.py +151 -6
- aws_cdk/aws_paymentcryptography/__init__.py +24 -4
- aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
- aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
- aws_cdk/aws_pcs/__init__.py +387 -68
- aws_cdk/aws_personalize/__init__.py +46 -8
- aws_cdk/aws_pinpoint/__init__.py +329 -38
- aws_cdk/aws_pinpointemail/__init__.py +48 -8
- aws_cdk/aws_pipes/__init__.py +12 -2
- aws_cdk/aws_proton/__init__.py +37 -6
- aws_cdk/aws_qbusiness/__init__.py +635 -34
- aws_cdk/aws_qldb/__init__.py +24 -4
- aws_cdk/aws_quicksight/__init__.py +7900 -1160
- aws_cdk/aws_ram/__init__.py +24 -4
- aws_cdk/aws_rbin/__init__.py +12 -2
- aws_cdk/aws_rds/__init__.py +3345 -512
- aws_cdk/aws_redshift/__init__.py +143 -20
- aws_cdk/aws_redshiftserverless/__init__.py +692 -4
- aws_cdk/aws_refactorspaces/__init__.py +64 -14
- aws_cdk/aws_rekognition/__init__.py +93 -6
- aws_cdk/aws_resiliencehub/__init__.py +24 -4
- aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
- aws_cdk/aws_resourcegroups/__init__.py +82 -4
- aws_cdk/aws_robomaker/__init__.py +72 -12
- aws_cdk/aws_rolesanywhere/__init__.py +180 -6
- aws_cdk/aws_route53/__init__.py +3273 -1442
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53profiles/__init__.py +37 -6
- aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
- aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
- aws_cdk/aws_route53resolver/__init__.py +226 -36
- aws_cdk/aws_rtbfabric/__init__.py +3498 -0
- aws_cdk/aws_rum/__init__.py +13 -2
- aws_cdk/aws_s3/__init__.py +1291 -158
- aws_cdk/aws_s3_assets/__init__.py +11 -11
- aws_cdk/aws_s3_deployment/__init__.py +147 -11
- aws_cdk/aws_s3_notifications/__init__.py +7 -7
- aws_cdk/aws_s3express/__init__.py +266 -8
- aws_cdk/aws_s3objectlambda/__init__.py +68 -16
- aws_cdk/aws_s3outposts/__init__.py +46 -8
- aws_cdk/aws_s3tables/__init__.py +2000 -323
- aws_cdk/aws_s3vectors/__init__.py +1378 -0
- aws_cdk/aws_sagemaker/__init__.py +6617 -363
- aws_cdk/aws_sam/__init__.py +79 -14
- aws_cdk/aws_scheduler/__init__.py +237 -4
- aws_cdk/aws_sdb/__init__.py +12 -2
- aws_cdk/aws_secretsmanager/__init__.py +170 -14
- aws_cdk/aws_securityhub/__init__.py +3121 -176
- aws_cdk/aws_securitylake/__init__.py +46 -8
- aws_cdk/aws_servicecatalog/__init__.py +405 -246
- aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
- aws_cdk/aws_servicediscovery/__init__.py +140 -47
- aws_cdk/aws_ses/__init__.py +1231 -140
- aws_cdk/aws_shield/__init__.py +46 -8
- aws_cdk/aws_signer/__init__.py +27 -4
- aws_cdk/aws_simspaceweaver/__init__.py +42 -2
- aws_cdk/aws_smsvoice/__init__.py +4716 -0
- aws_cdk/aws_sns/__init__.py +245 -29
- aws_cdk/aws_sns_subscriptions/__init__.py +3 -1
- aws_cdk/aws_sqs/__init__.py +211 -14
- aws_cdk/aws_ssm/__init__.py +401 -58
- aws_cdk/aws_ssmcontacts/__init__.py +46 -8
- aws_cdk/aws_ssmguiconnect/__init__.py +13 -2
- aws_cdk/aws_ssmincidents/__init__.py +24 -4
- aws_cdk/aws_ssmquicksetup/__init__.py +383 -6
- aws_cdk/aws_sso/__init__.py +70 -12
- aws_cdk/aws_stepfunctions/__init__.py +615 -70
- aws_cdk/aws_stepfunctions_tasks/__init__.py +781 -144
- aws_cdk/aws_supportapp/__init__.py +39 -6
- aws_cdk/aws_synthetics/__init__.py +861 -75
- aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
- aws_cdk/aws_timestream/__init__.py +104 -8
- aws_cdk/aws_transfer/__init__.py +784 -87
- aws_cdk/aws_verifiedpermissions/__init__.py +145 -17
- aws_cdk/aws_voiceid/__init__.py +41 -2
- aws_cdk/aws_vpclattice/__init__.py +376 -30
- aws_cdk/aws_waf/__init__.py +79 -14
- aws_cdk/aws_wafregional/__init__.py +123 -22
- aws_cdk/aws_wafv2/__init__.py +1179 -60
- aws_cdk/aws_wisdom/__init__.py +1401 -90
- aws_cdk/aws_workspaces/__init__.py +93 -6
- aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
- aws_cdk/aws_workspacesweb/__init__.py +1057 -141
- aws_cdk/aws_xray/__init__.py +48 -8
- aws_cdk/cloud_assembly_schema/__init__.py +231 -6
- aws_cdk/custom_resources/__init__.py +40 -12
- aws_cdk/cx_api/__init__.py +85 -14
- aws_cdk/interfaces/__init__.py +739 -0
- aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
- aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
- aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
- aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
- aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
- aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
- aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
- aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
- aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
- aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
- aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
- aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
- aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
- aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
- aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
- aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
- aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
- aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
- aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
- aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
- aws_cdk/interfaces/aws_aps/__init__.py +558 -0
- aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
- aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
- aws_cdk/interfaces/aws_athena/__init__.py +575 -0
- aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
- aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
- aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
- aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
- aws_cdk/interfaces/aws_backup/__init__.py +955 -0
- aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
- aws_cdk/interfaces/aws_batch/__init__.py +681 -0
- aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
- aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
- aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
- aws_cdk/interfaces/aws_billing/__init__.py +146 -0
- aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
- aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
- aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
- aws_cdk/interfaces/aws_ce/__init__.py +352 -0
- aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
- aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
- aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
- aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
- aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
- aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
- aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
- aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
- aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
- aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
- aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
- aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
- aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
- aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
- aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
- aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
- aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
- aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
- aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
- aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
- aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
- aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
- aws_cdk/interfaces/aws_config/__init__.py +1165 -0
- aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
- aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
- aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
- aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
- aws_cdk/interfaces/aws_cur/__init__.py +146 -0
- aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
- aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
- aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
- aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
- aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
- aws_cdk/interfaces/aws_dax/__init__.py +364 -0
- aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
- aws_cdk/interfaces/aws_detective/__init__.py +364 -0
- aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
- aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
- aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
- aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
- aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
- aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
- aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
- aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
- aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
- aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
- aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
- aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
- aws_cdk/interfaces/aws_efs/__init__.py +392 -0
- aws_cdk/interfaces/aws_eks/__init__.py +948 -0
- aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
- aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
- aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
- aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
- aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
- aws_cdk/interfaces/aws_emr/__init__.py +913 -0
- aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
- aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
- aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
- aws_cdk/interfaces/aws_events/__init__.py +872 -0
- aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
- aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
- aws_cdk/interfaces/aws_evs/__init__.py +166 -0
- aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
- aws_cdk/interfaces/aws_fis/__init__.py +271 -0
- aws_cdk/interfaces/aws_fms/__init__.py +364 -0
- aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
- aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
- aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
- aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
- aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
- aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
- aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
- aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
- aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
- aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
- aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
- aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
- aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
- aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
- aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
- aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
- aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
- aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
- aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
- aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
- aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
- aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
- aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
- aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
- aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
- aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
- aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
- aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
- aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
- aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
- aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
- aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
- aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
- aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
- aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
- aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
- aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
- aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
- aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
- aws_cdk/interfaces/aws_kms/__init__.py +376 -0
- aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
- aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
- aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
- aws_cdk/interfaces/aws_lex/__init__.py +513 -0
- aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
- aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
- aws_cdk/interfaces/aws_location/__init__.py +879 -0
- aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
- aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
- aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
- aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
- aws_cdk/interfaces/aws_m2/__init__.py +352 -0
- aws_cdk/interfaces/aws_macie/__init__.py +512 -0
- aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
- aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
- aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
- aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
- aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
- aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
- aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
- aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
- aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
- aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
- aws_cdk/interfaces/aws_msk/__init__.py +764 -0
- aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
- aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
- aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
- aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
- aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
- aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
- aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
- aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
- aws_cdk/interfaces/aws_oam/__init__.py +249 -0
- aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
- aws_cdk/interfaces/aws_odb/__init__.py +562 -0
- aws_cdk/interfaces/aws_omics/__init__.py +838 -0
- aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
- aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
- aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
- aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
- aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
- aws_cdk/interfaces/aws_osis/__init__.py +146 -0
- aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
- aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
- aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
- aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
- aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
- aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
- aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
- aws_cdk/interfaces/aws_proton/__init__.py +360 -0
- aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
- aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
- aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
- aws_cdk/interfaces/aws_ram/__init__.py +249 -0
- aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
- aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
- aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
- aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
- aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
- aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
- aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
- aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
- aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
- aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
- aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
- aws_cdk/interfaces/aws_route53/__init__.py +804 -0
- aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
- aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
- aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
- aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
- aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
- aws_cdk/interfaces/aws_rum/__init__.py +146 -0
- aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
- aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
- aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
- aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
- aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
- aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
- aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
- aws_cdk/interfaces/aws_sam/__init__.py +603 -0
- aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
- aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
- aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
- aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
- aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
- aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
- aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
- aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
- aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
- aws_cdk/interfaces/aws_shield/__init__.py +455 -0
- aws_cdk/interfaces/aws_signer/__init__.py +266 -0
- aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
- aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
- aws_cdk/interfaces/aws_sns/__init__.py +455 -0
- aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
- aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
- aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
- aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
- aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
- aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
- aws_cdk/interfaces/aws_sso/__init__.py +797 -0
- aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
- aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
- aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
- aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
- aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
- aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
- aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
- aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
- aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
- aws_cdk/interfaces/aws_waf/__init__.py +764 -0
- aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
- aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
- aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
- aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
- aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
- aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
- aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
- aws_cdk/interfaces/aws_xray/__init__.py +457 -0
- aws_cdk/pipelines/__init__.py +192 -42
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +60 -18
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +338 -16
- aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
- aws_cdk_lib-2.200.2.dist-info/RECORD +0 -304
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.200.2.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_transfer/__init__.py
CHANGED
|
@@ -68,9 +68,27 @@ from .. import (
|
|
|
68
68
|
TagManager as _TagManager_0a598cb3,
|
|
69
69
|
TreeInspector as _TreeInspector_488e0dd5,
|
|
70
70
|
)
|
|
71
|
+
from ..interfaces.aws_transfer import (
|
|
72
|
+
AgreementReference as _AgreementReference_1bc96f6e,
|
|
73
|
+
CertificateReference as _CertificateReference_5d56fe88,
|
|
74
|
+
ConnectorReference as _ConnectorReference_32f54b47,
|
|
75
|
+
IAgreementRef as _IAgreementRef_d820bcad,
|
|
76
|
+
ICertificateRef as _ICertificateRef_0de2a67f,
|
|
77
|
+
IConnectorRef as _IConnectorRef_b3a29b7e,
|
|
78
|
+
IProfileRef as _IProfileRef_fed8deac,
|
|
79
|
+
IServerRef as _IServerRef_6fa6fa22,
|
|
80
|
+
IUserRef as _IUserRef_344ece73,
|
|
81
|
+
IWebAppRef as _IWebAppRef_5ec8f507,
|
|
82
|
+
IWorkflowRef as _IWorkflowRef_1a79a531,
|
|
83
|
+
ProfileReference as _ProfileReference_0268b426,
|
|
84
|
+
ServerReference as _ServerReference_ef7b9b24,
|
|
85
|
+
UserReference as _UserReference_c3e4eb82,
|
|
86
|
+
WebAppReference as _WebAppReference_b5630dd4,
|
|
87
|
+
WorkflowReference as _WorkflowReference_25a0bf6c,
|
|
88
|
+
)
|
|
71
89
|
|
|
72
90
|
|
|
73
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
91
|
+
@jsii.implements(_IInspectable_c2943556, _IAgreementRef_d820bcad, _ITaggable_36806126)
|
|
74
92
|
class CfnAgreement(
|
|
75
93
|
_CfnResource_9df397a6,
|
|
76
94
|
metaclass=jsii.JSIIMeta,
|
|
@@ -138,7 +156,8 @@ class CfnAgreement(
|
|
|
138
156
|
status: typing.Optional[builtins.str] = None,
|
|
139
157
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
140
158
|
) -> None:
|
|
141
|
-
'''
|
|
159
|
+
'''Create a new ``AWS::Transfer::Agreement``.
|
|
160
|
+
|
|
142
161
|
:param scope: Scope in which this resource is defined.
|
|
143
162
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
144
163
|
:param access_role: Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use. *For AS2 connectors* With AS2, you can send files by calling ``StartFileTransfer`` and specifying the file paths in the request parameter, ``SendFilePaths`` . We use the file’s parent directory (for example, for ``--send-file-paths /bucket/dir/file.txt`` , parent directory is ``/bucket/dir/`` ) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the ``AccessRole`` needs to provide read and write access to the parent directory of the file location used in the ``StartFileTransfer`` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with ``StartFileTransfer`` . If you are using Basic authentication for your AS2 connector, the access role requires the ``secretsmanager:GetSecretValue`` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the ``kms:Decrypt`` permission for that key. *For SFTP connectors* Make sure that the access role provides read and write access to the parent directory of the file location that's used in the ``StartFileTransfer`` request. Additionally, make sure that the role provides ``secretsmanager:GetSecretValue`` permission to AWS Secrets Manager .
|
|
@@ -203,6 +222,12 @@ class CfnAgreement(
|
|
|
203
222
|
'''The CloudFormation resource type name for this resource class.'''
|
|
204
223
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
205
224
|
|
|
225
|
+
@builtins.property
|
|
226
|
+
@jsii.member(jsii_name="agreementRef")
|
|
227
|
+
def agreement_ref(self) -> _AgreementReference_1bc96f6e:
|
|
228
|
+
'''A reference to a Agreement resource.'''
|
|
229
|
+
return typing.cast(_AgreementReference_1bc96f6e, jsii.get(self, "agreementRef"))
|
|
230
|
+
|
|
206
231
|
@builtins.property
|
|
207
232
|
@jsii.member(jsii_name="attrAgreementId")
|
|
208
233
|
def attr_agreement_id(self) -> builtins.str:
|
|
@@ -763,7 +788,7 @@ class CfnAgreementProps:
|
|
|
763
788
|
)
|
|
764
789
|
|
|
765
790
|
|
|
766
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
791
|
+
@jsii.implements(_IInspectable_c2943556, _ICertificateRef_0de2a67f, _ITaggable_36806126)
|
|
767
792
|
class CfnCertificate(
|
|
768
793
|
_CfnResource_9df397a6,
|
|
769
794
|
metaclass=jsii.JSIIMeta,
|
|
@@ -772,9 +797,20 @@ class CfnCertificate(
|
|
|
772
797
|
'''Imports the signing and encryption certificates that you need to create local (AS2) profiles and partner profiles.
|
|
773
798
|
|
|
774
799
|
You can import both the certificate and its chain in the ``Certificate`` parameter.
|
|
800
|
+
|
|
801
|
+
After importing a certificate, AWS Transfer Family automatically creates a Amazon CloudWatch metric called ``DaysUntilExpiry`` that tracks the number of days until the certificate expires. The metric is based on the ``InactiveDate`` parameter and is published daily in the ``AWS/Transfer`` namespace.
|
|
775
802
|
.. epigraph::
|
|
776
803
|
|
|
777
|
-
If you use the ``Certificate`` parameter to upload both the certificate and its chain, don't use the ``CertificateChain`` parameter.
|
|
804
|
+
It can take up to a full day after importing a certificate for Transfer Family to emit the ``DaysUntilExpiry`` metric to your account. > If you use the ``Certificate`` parameter to upload both the certificate and its chain, don't use the ``CertificateChain`` parameter.
|
|
805
|
+
|
|
806
|
+
*CloudWatch monitoring*
|
|
807
|
+
|
|
808
|
+
The ``DaysUntilExpiry`` metric includes the following specifications:
|
|
809
|
+
|
|
810
|
+
- *Units:* Count (days)
|
|
811
|
+
- *Dimensions:* ``CertificateId`` (always present), ``Description`` (if provided during certificate import)
|
|
812
|
+
- *Statistics:* Minimum, Maximum, Average
|
|
813
|
+
- *Frequency:* Published daily
|
|
778
814
|
|
|
779
815
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-certificate.html
|
|
780
816
|
:cloudformationResource: AWS::Transfer::Certificate
|
|
@@ -817,7 +853,8 @@ class CfnCertificate(
|
|
|
817
853
|
private_key: typing.Optional[builtins.str] = None,
|
|
818
854
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
819
855
|
) -> None:
|
|
820
|
-
'''
|
|
856
|
+
'''Create a new ``AWS::Transfer::Certificate``.
|
|
857
|
+
|
|
821
858
|
:param scope: Scope in which this resource is defined.
|
|
822
859
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
823
860
|
:param certificate: The file name for the certificate.
|
|
@@ -846,6 +883,48 @@ class CfnCertificate(
|
|
|
846
883
|
|
|
847
884
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
848
885
|
|
|
886
|
+
@jsii.member(jsii_name="fromCertificateArn")
|
|
887
|
+
@builtins.classmethod
|
|
888
|
+
def from_certificate_arn(
|
|
889
|
+
cls,
|
|
890
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
891
|
+
id: builtins.str,
|
|
892
|
+
arn: builtins.str,
|
|
893
|
+
) -> _ICertificateRef_0de2a67f:
|
|
894
|
+
'''Creates a new ICertificateRef from an ARN.
|
|
895
|
+
|
|
896
|
+
:param scope: -
|
|
897
|
+
:param id: -
|
|
898
|
+
:param arn: -
|
|
899
|
+
'''
|
|
900
|
+
if __debug__:
|
|
901
|
+
type_hints = typing.get_type_hints(_typecheckingstub__dc4fb6b44e5c3b46d7a4b6d2cddd238e6967e5ba869d0beec1e241cd289794f0)
|
|
902
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
903
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
904
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
905
|
+
return typing.cast(_ICertificateRef_0de2a67f, jsii.sinvoke(cls, "fromCertificateArn", [scope, id, arn]))
|
|
906
|
+
|
|
907
|
+
@jsii.member(jsii_name="fromCertificateId")
|
|
908
|
+
@builtins.classmethod
|
|
909
|
+
def from_certificate_id(
|
|
910
|
+
cls,
|
|
911
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
912
|
+
id: builtins.str,
|
|
913
|
+
certificate_id: builtins.str,
|
|
914
|
+
) -> _ICertificateRef_0de2a67f:
|
|
915
|
+
'''Creates a new ICertificateRef from a certificateId.
|
|
916
|
+
|
|
917
|
+
:param scope: -
|
|
918
|
+
:param id: -
|
|
919
|
+
:param certificate_id: -
|
|
920
|
+
'''
|
|
921
|
+
if __debug__:
|
|
922
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5ac0c4753dbb35aa2c4992fbcf97129e0a6a0be0b5fee455f1416d86edcba9ea)
|
|
923
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
924
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
925
|
+
check_type(argname="argument certificate_id", value=certificate_id, expected_type=type_hints["certificate_id"])
|
|
926
|
+
return typing.cast(_ICertificateRef_0de2a67f, jsii.sinvoke(cls, "fromCertificateId", [scope, id, certificate_id]))
|
|
927
|
+
|
|
849
928
|
@jsii.member(jsii_name="inspect")
|
|
850
929
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
851
930
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -945,6 +1024,12 @@ class CfnCertificate(
|
|
|
945
1024
|
'''
|
|
946
1025
|
return typing.cast(builtins.str, jsii.get(self, "attrType"))
|
|
947
1026
|
|
|
1027
|
+
@builtins.property
|
|
1028
|
+
@jsii.member(jsii_name="certificateRef")
|
|
1029
|
+
def certificate_ref(self) -> _CertificateReference_5d56fe88:
|
|
1030
|
+
'''A reference to a Certificate resource.'''
|
|
1031
|
+
return typing.cast(_CertificateReference_5d56fe88, jsii.get(self, "certificateRef"))
|
|
1032
|
+
|
|
948
1033
|
@builtins.property
|
|
949
1034
|
@jsii.member(jsii_name="cfnProperties")
|
|
950
1035
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
@@ -1248,7 +1333,7 @@ class CfnCertificateProps:
|
|
|
1248
1333
|
)
|
|
1249
1334
|
|
|
1250
1335
|
|
|
1251
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
1336
|
+
@jsii.implements(_IInspectable_c2943556, _IConnectorRef_b3a29b7e, _ITaggable_36806126)
|
|
1252
1337
|
class CfnConnector(
|
|
1253
1338
|
_CfnResource_9df397a6,
|
|
1254
1339
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1275,20 +1360,30 @@ class CfnConnector(
|
|
|
1275
1360
|
|
|
1276
1361
|
cfn_connector = transfer.CfnConnector(self, "MyCfnConnector",
|
|
1277
1362
|
access_role="accessRole",
|
|
1278
|
-
url="url",
|
|
1279
1363
|
|
|
1280
1364
|
# the properties below are optional
|
|
1281
1365
|
as2_config=as2_config,
|
|
1366
|
+
egress_config=transfer.CfnConnector.ConnectorEgressConfigProperty(
|
|
1367
|
+
vpc_lattice=transfer.CfnConnector.ConnectorVpcLatticeEgressConfigProperty(
|
|
1368
|
+
resource_configuration_arn="resourceConfigurationArn",
|
|
1369
|
+
|
|
1370
|
+
# the properties below are optional
|
|
1371
|
+
port_number=123
|
|
1372
|
+
)
|
|
1373
|
+
),
|
|
1374
|
+
egress_type="egressType",
|
|
1282
1375
|
logging_role="loggingRole",
|
|
1283
1376
|
security_policy_name="securityPolicyName",
|
|
1284
1377
|
sftp_config=transfer.CfnConnector.SftpConfigProperty(
|
|
1378
|
+
max_concurrent_connections=123,
|
|
1285
1379
|
trusted_host_keys=["trustedHostKeys"],
|
|
1286
1380
|
user_secret_id="userSecretId"
|
|
1287
1381
|
),
|
|
1288
1382
|
tags=[CfnTag(
|
|
1289
1383
|
key="key",
|
|
1290
1384
|
value="value"
|
|
1291
|
-
)]
|
|
1385
|
+
)],
|
|
1386
|
+
url="url"
|
|
1292
1387
|
)
|
|
1293
1388
|
'''
|
|
1294
1389
|
|
|
@@ -1298,23 +1393,28 @@ class CfnConnector(
|
|
|
1298
1393
|
id: builtins.str,
|
|
1299
1394
|
*,
|
|
1300
1395
|
access_role: builtins.str,
|
|
1301
|
-
url: builtins.str,
|
|
1302
1396
|
as2_config: typing.Any = None,
|
|
1397
|
+
egress_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnector.ConnectorEgressConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1398
|
+
egress_type: typing.Optional[builtins.str] = None,
|
|
1303
1399
|
logging_role: typing.Optional[builtins.str] = None,
|
|
1304
1400
|
security_policy_name: typing.Optional[builtins.str] = None,
|
|
1305
1401
|
sftp_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnector.SftpConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1306
1402
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1403
|
+
url: typing.Optional[builtins.str] = None,
|
|
1307
1404
|
) -> None:
|
|
1308
|
-
'''
|
|
1405
|
+
'''Create a new ``AWS::Transfer::Connector``.
|
|
1406
|
+
|
|
1309
1407
|
:param scope: Scope in which this resource is defined.
|
|
1310
1408
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1311
1409
|
:param access_role: Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use. *For AS2 connectors* With AS2, you can send files by calling ``StartFileTransfer`` and specifying the file paths in the request parameter, ``SendFilePaths`` . We use the file’s parent directory (for example, for ``--send-file-paths /bucket/dir/file.txt`` , parent directory is ``/bucket/dir/`` ) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the ``AccessRole`` needs to provide read and write access to the parent directory of the file location used in the ``StartFileTransfer`` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with ``StartFileTransfer`` . If you are using Basic authentication for your AS2 connector, the access role requires the ``secretsmanager:GetSecretValue`` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the ``kms:Decrypt`` permission for that key. *For SFTP connectors* Make sure that the access role provides read and write access to the parent directory of the file location that's used in the ``StartFileTransfer`` request. Additionally, make sure that the role provides ``secretsmanager:GetSecretValue`` permission to AWS Secrets Manager .
|
|
1312
|
-
:param url: The URL of the partner's AS2 or SFTP endpoint.
|
|
1313
1410
|
:param as2_config: A structure that contains the parameters for an AS2 connector object.
|
|
1411
|
+
:param egress_config: Current egress configuration of the connector, showing how traffic is routed to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type. When using the VPC_LATTICE egress type, AWS Transfer Family uses a managed Service Network to simplify the resource sharing process.
|
|
1412
|
+
:param egress_type: Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.
|
|
1314
1413
|
:param logging_role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.
|
|
1315
1414
|
:param security_policy_name: The text name of the security policy for the specified connector.
|
|
1316
1415
|
:param sftp_config: A structure that contains the parameters for an SFTP connector object.
|
|
1317
1416
|
:param tags: Key-value pairs that can be used to group and search for connectors.
|
|
1417
|
+
:param url: The URL of the partner's AS2 or SFTP endpoint. When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.
|
|
1318
1418
|
'''
|
|
1319
1419
|
if __debug__:
|
|
1320
1420
|
type_hints = typing.get_type_hints(_typecheckingstub__2a3d92be7ab611ebe6dbf531ad899c2a95b3655fb829aeffdf52fdb11aae9d07)
|
|
@@ -1322,16 +1422,60 @@ class CfnConnector(
|
|
|
1322
1422
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1323
1423
|
props = CfnConnectorProps(
|
|
1324
1424
|
access_role=access_role,
|
|
1325
|
-
url=url,
|
|
1326
1425
|
as2_config=as2_config,
|
|
1426
|
+
egress_config=egress_config,
|
|
1427
|
+
egress_type=egress_type,
|
|
1327
1428
|
logging_role=logging_role,
|
|
1328
1429
|
security_policy_name=security_policy_name,
|
|
1329
1430
|
sftp_config=sftp_config,
|
|
1330
1431
|
tags=tags,
|
|
1432
|
+
url=url,
|
|
1331
1433
|
)
|
|
1332
1434
|
|
|
1333
1435
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
1334
1436
|
|
|
1437
|
+
@jsii.member(jsii_name="fromConnectorArn")
|
|
1438
|
+
@builtins.classmethod
|
|
1439
|
+
def from_connector_arn(
|
|
1440
|
+
cls,
|
|
1441
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1442
|
+
id: builtins.str,
|
|
1443
|
+
arn: builtins.str,
|
|
1444
|
+
) -> _IConnectorRef_b3a29b7e:
|
|
1445
|
+
'''Creates a new IConnectorRef from an ARN.
|
|
1446
|
+
|
|
1447
|
+
:param scope: -
|
|
1448
|
+
:param id: -
|
|
1449
|
+
:param arn: -
|
|
1450
|
+
'''
|
|
1451
|
+
if __debug__:
|
|
1452
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a59af73cca17d333ea4e8a725b5ea84947fbdf727ceaa58fb5d37dde8ba99e43)
|
|
1453
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1454
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1455
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
1456
|
+
return typing.cast(_IConnectorRef_b3a29b7e, jsii.sinvoke(cls, "fromConnectorArn", [scope, id, arn]))
|
|
1457
|
+
|
|
1458
|
+
@jsii.member(jsii_name="fromConnectorId")
|
|
1459
|
+
@builtins.classmethod
|
|
1460
|
+
def from_connector_id(
|
|
1461
|
+
cls,
|
|
1462
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
1463
|
+
id: builtins.str,
|
|
1464
|
+
connector_id: builtins.str,
|
|
1465
|
+
) -> _IConnectorRef_b3a29b7e:
|
|
1466
|
+
'''Creates a new IConnectorRef from a connectorId.
|
|
1467
|
+
|
|
1468
|
+
:param scope: -
|
|
1469
|
+
:param id: -
|
|
1470
|
+
:param connector_id: -
|
|
1471
|
+
'''
|
|
1472
|
+
if __debug__:
|
|
1473
|
+
type_hints = typing.get_type_hints(_typecheckingstub__38a8932f140563c5eae5ee417477d8ef0fb37d560d4497ce233ca03fcfedea17)
|
|
1474
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
1475
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
1476
|
+
check_type(argname="argument connector_id", value=connector_id, expected_type=type_hints["connector_id"])
|
|
1477
|
+
return typing.cast(_IConnectorRef_b3a29b7e, jsii.sinvoke(cls, "fromConnectorId", [scope, id, connector_id]))
|
|
1478
|
+
|
|
1335
1479
|
@jsii.member(jsii_name="inspect")
|
|
1336
1480
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
1337
1481
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -1391,11 +1535,28 @@ class CfnConnector(
|
|
|
1391
1535
|
'''
|
|
1392
1536
|
return typing.cast(typing.List[builtins.str], jsii.get(self, "attrServiceManagedEgressIpAddresses"))
|
|
1393
1537
|
|
|
1538
|
+
@builtins.property
|
|
1539
|
+
@jsii.member(jsii_name="attrStatus")
|
|
1540
|
+
def attr_status(self) -> builtins.str:
|
|
1541
|
+
'''Current status of the connector.
|
|
1542
|
+
|
|
1543
|
+
PENDING indicates creation/update in progress, ACTIVE means ready for operations, and ERRORED indicates a failure requiring attention.
|
|
1544
|
+
|
|
1545
|
+
:cloudformationAttribute: Status
|
|
1546
|
+
'''
|
|
1547
|
+
return typing.cast(builtins.str, jsii.get(self, "attrStatus"))
|
|
1548
|
+
|
|
1394
1549
|
@builtins.property
|
|
1395
1550
|
@jsii.member(jsii_name="cfnProperties")
|
|
1396
1551
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1397
1552
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
1398
1553
|
|
|
1554
|
+
@builtins.property
|
|
1555
|
+
@jsii.member(jsii_name="connectorRef")
|
|
1556
|
+
def connector_ref(self) -> _ConnectorReference_32f54b47:
|
|
1557
|
+
'''A reference to a Connector resource.'''
|
|
1558
|
+
return typing.cast(_ConnectorReference_32f54b47, jsii.get(self, "connectorRef"))
|
|
1559
|
+
|
|
1399
1560
|
@builtins.property
|
|
1400
1561
|
@jsii.member(jsii_name="tags")
|
|
1401
1562
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -1415,19 +1576,6 @@ class CfnConnector(
|
|
|
1415
1576
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1416
1577
|
jsii.set(self, "accessRole", value) # pyright: ignore[reportArgumentType]
|
|
1417
1578
|
|
|
1418
|
-
@builtins.property
|
|
1419
|
-
@jsii.member(jsii_name="url")
|
|
1420
|
-
def url(self) -> builtins.str:
|
|
1421
|
-
'''The URL of the partner's AS2 or SFTP endpoint.'''
|
|
1422
|
-
return typing.cast(builtins.str, jsii.get(self, "url"))
|
|
1423
|
-
|
|
1424
|
-
@url.setter
|
|
1425
|
-
def url(self, value: builtins.str) -> None:
|
|
1426
|
-
if __debug__:
|
|
1427
|
-
type_hints = typing.get_type_hints(_typecheckingstub__7f2f8d48aab925fcdb11fb86f8b12aeae11aa8b85048a7ded27a817b5864536d)
|
|
1428
|
-
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1429
|
-
jsii.set(self, "url", value) # pyright: ignore[reportArgumentType]
|
|
1430
|
-
|
|
1431
1579
|
@builtins.property
|
|
1432
1580
|
@jsii.member(jsii_name="as2Config")
|
|
1433
1581
|
def as2_config(self) -> typing.Any:
|
|
@@ -1441,6 +1589,37 @@ class CfnConnector(
|
|
|
1441
1589
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1442
1590
|
jsii.set(self, "as2Config", value) # pyright: ignore[reportArgumentType]
|
|
1443
1591
|
|
|
1592
|
+
@builtins.property
|
|
1593
|
+
@jsii.member(jsii_name="egressConfig")
|
|
1594
|
+
def egress_config(
|
|
1595
|
+
self,
|
|
1596
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnector.ConnectorEgressConfigProperty"]]:
|
|
1597
|
+
'''Current egress configuration of the connector, showing how traffic is routed to the SFTP server.'''
|
|
1598
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnector.ConnectorEgressConfigProperty"]], jsii.get(self, "egressConfig"))
|
|
1599
|
+
|
|
1600
|
+
@egress_config.setter
|
|
1601
|
+
def egress_config(
|
|
1602
|
+
self,
|
|
1603
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnConnector.ConnectorEgressConfigProperty"]],
|
|
1604
|
+
) -> None:
|
|
1605
|
+
if __debug__:
|
|
1606
|
+
type_hints = typing.get_type_hints(_typecheckingstub__55aea3d9a7ecfbca3e7720afc14e3094de156e071c5256ed2311a1836a9c6b83)
|
|
1607
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1608
|
+
jsii.set(self, "egressConfig", value) # pyright: ignore[reportArgumentType]
|
|
1609
|
+
|
|
1610
|
+
@builtins.property
|
|
1611
|
+
@jsii.member(jsii_name="egressType")
|
|
1612
|
+
def egress_type(self) -> typing.Optional[builtins.str]:
|
|
1613
|
+
'''Type of egress configuration for the connector.'''
|
|
1614
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "egressType"))
|
|
1615
|
+
|
|
1616
|
+
@egress_type.setter
|
|
1617
|
+
def egress_type(self, value: typing.Optional[builtins.str]) -> None:
|
|
1618
|
+
if __debug__:
|
|
1619
|
+
type_hints = typing.get_type_hints(_typecheckingstub__76cb18c9a86ea56efbf380e02f9b601550c701ceae1cc70d08ec7b3e6acf483f)
|
|
1620
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1621
|
+
jsii.set(self, "egressType", value) # pyright: ignore[reportArgumentType]
|
|
1622
|
+
|
|
1444
1623
|
@builtins.property
|
|
1445
1624
|
@jsii.member(jsii_name="loggingRole")
|
|
1446
1625
|
def logging_role(self) -> typing.Optional[builtins.str]:
|
|
@@ -1498,6 +1677,19 @@ class CfnConnector(
|
|
|
1498
1677
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1499
1678
|
jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
|
|
1500
1679
|
|
|
1680
|
+
@builtins.property
|
|
1681
|
+
@jsii.member(jsii_name="url")
|
|
1682
|
+
def url(self) -> typing.Optional[builtins.str]:
|
|
1683
|
+
'''The URL of the partner's AS2 or SFTP endpoint.'''
|
|
1684
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "url"))
|
|
1685
|
+
|
|
1686
|
+
@url.setter
|
|
1687
|
+
def url(self, value: typing.Optional[builtins.str]) -> None:
|
|
1688
|
+
if __debug__:
|
|
1689
|
+
type_hints = typing.get_type_hints(_typecheckingstub__7f2f8d48aab925fcdb11fb86f8b12aeae11aa8b85048a7ded27a817b5864536d)
|
|
1690
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
1691
|
+
jsii.set(self, "url", value) # pyright: ignore[reportArgumentType]
|
|
1692
|
+
|
|
1501
1693
|
@jsii.data_type(
|
|
1502
1694
|
jsii_type="aws-cdk-lib.aws_transfer.CfnConnector.As2ConfigProperty",
|
|
1503
1695
|
jsii_struct_bases=[],
|
|
@@ -1732,10 +1924,160 @@ class CfnConnector(
|
|
|
1732
1924
|
k + "=" + repr(v) for k, v in self._values.items()
|
|
1733
1925
|
)
|
|
1734
1926
|
|
|
1927
|
+
@jsii.data_type(
|
|
1928
|
+
jsii_type="aws-cdk-lib.aws_transfer.CfnConnector.ConnectorEgressConfigProperty",
|
|
1929
|
+
jsii_struct_bases=[],
|
|
1930
|
+
name_mapping={"vpc_lattice": "vpcLattice"},
|
|
1931
|
+
)
|
|
1932
|
+
class ConnectorEgressConfigProperty:
|
|
1933
|
+
def __init__(
|
|
1934
|
+
self,
|
|
1935
|
+
*,
|
|
1936
|
+
vpc_lattice: typing.Union[_IResolvable_da3f097b, typing.Union["CfnConnector.ConnectorVpcLatticeEgressConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
1937
|
+
) -> None:
|
|
1938
|
+
'''Configuration structure that defines how traffic is routed from the connector to the SFTP server.
|
|
1939
|
+
|
|
1940
|
+
Contains VPC Lattice settings when using VPC_LATTICE egress type for private connectivity through customer VPCs.
|
|
1941
|
+
|
|
1942
|
+
:param vpc_lattice: VPC_LATTICE configuration for routing connector traffic through customer VPCs. Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations.
|
|
1943
|
+
|
|
1944
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-connectoregressconfig.html
|
|
1945
|
+
:exampleMetadata: fixture=_generated
|
|
1946
|
+
|
|
1947
|
+
Example::
|
|
1948
|
+
|
|
1949
|
+
# The code below shows an example of how to instantiate this type.
|
|
1950
|
+
# The values are placeholders you should change.
|
|
1951
|
+
from aws_cdk import aws_transfer as transfer
|
|
1952
|
+
|
|
1953
|
+
connector_egress_config_property = transfer.CfnConnector.ConnectorEgressConfigProperty(
|
|
1954
|
+
vpc_lattice=transfer.CfnConnector.ConnectorVpcLatticeEgressConfigProperty(
|
|
1955
|
+
resource_configuration_arn="resourceConfigurationArn",
|
|
1956
|
+
|
|
1957
|
+
# the properties below are optional
|
|
1958
|
+
port_number=123
|
|
1959
|
+
)
|
|
1960
|
+
)
|
|
1961
|
+
'''
|
|
1962
|
+
if __debug__:
|
|
1963
|
+
type_hints = typing.get_type_hints(_typecheckingstub__3c92ac24e9baf6146c2fe287847ce0fba33a6a7c52ec7e38c13aebcf95a5687a)
|
|
1964
|
+
check_type(argname="argument vpc_lattice", value=vpc_lattice, expected_type=type_hints["vpc_lattice"])
|
|
1965
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1966
|
+
"vpc_lattice": vpc_lattice,
|
|
1967
|
+
}
|
|
1968
|
+
|
|
1969
|
+
@builtins.property
|
|
1970
|
+
def vpc_lattice(
|
|
1971
|
+
self,
|
|
1972
|
+
) -> typing.Union[_IResolvable_da3f097b, "CfnConnector.ConnectorVpcLatticeEgressConfigProperty"]:
|
|
1973
|
+
'''VPC_LATTICE configuration for routing connector traffic through customer VPCs.
|
|
1974
|
+
|
|
1975
|
+
Enables private connectivity to SFTP servers without requiring public internet access or complex network configurations.
|
|
1976
|
+
|
|
1977
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-connectoregressconfig.html#cfn-transfer-connector-connectoregressconfig-vpclattice
|
|
1978
|
+
'''
|
|
1979
|
+
result = self._values.get("vpc_lattice")
|
|
1980
|
+
assert result is not None, "Required property 'vpc_lattice' is missing"
|
|
1981
|
+
return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnConnector.ConnectorVpcLatticeEgressConfigProperty"], result)
|
|
1982
|
+
|
|
1983
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
1984
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
1985
|
+
|
|
1986
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
1987
|
+
return not (rhs == self)
|
|
1988
|
+
|
|
1989
|
+
def __repr__(self) -> str:
|
|
1990
|
+
return "ConnectorEgressConfigProperty(%s)" % ", ".join(
|
|
1991
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
1992
|
+
)
|
|
1993
|
+
|
|
1994
|
+
@jsii.data_type(
|
|
1995
|
+
jsii_type="aws-cdk-lib.aws_transfer.CfnConnector.ConnectorVpcLatticeEgressConfigProperty",
|
|
1996
|
+
jsii_struct_bases=[],
|
|
1997
|
+
name_mapping={
|
|
1998
|
+
"resource_configuration_arn": "resourceConfigurationArn",
|
|
1999
|
+
"port_number": "portNumber",
|
|
2000
|
+
},
|
|
2001
|
+
)
|
|
2002
|
+
class ConnectorVpcLatticeEgressConfigProperty:
|
|
2003
|
+
def __init__(
|
|
2004
|
+
self,
|
|
2005
|
+
*,
|
|
2006
|
+
resource_configuration_arn: builtins.str,
|
|
2007
|
+
port_number: typing.Optional[jsii.Number] = None,
|
|
2008
|
+
) -> None:
|
|
2009
|
+
'''VPC_LATTICE egress configuration that specifies the Resource Configuration ARN and port for connecting to SFTP servers through customer VPCs.
|
|
2010
|
+
|
|
2011
|
+
Requires a valid Resource Configuration with appropriate network access.
|
|
2012
|
+
|
|
2013
|
+
:param resource_configuration_arn: ARN of the VPC_LATTICE Resource Configuration that defines the target SFTP server location. Must point to a valid Resource Configuration in the customer's VPC with appropriate network connectivity to the SFTP server.
|
|
2014
|
+
:param port_number: Port number for connecting to the SFTP server through VPC_LATTICE. Defaults to 22 if not specified. Must match the port on which the target SFTP server is listening.
|
|
2015
|
+
|
|
2016
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-connectorvpclatticeegressconfig.html
|
|
2017
|
+
:exampleMetadata: fixture=_generated
|
|
2018
|
+
|
|
2019
|
+
Example::
|
|
2020
|
+
|
|
2021
|
+
# The code below shows an example of how to instantiate this type.
|
|
2022
|
+
# The values are placeholders you should change.
|
|
2023
|
+
from aws_cdk import aws_transfer as transfer
|
|
2024
|
+
|
|
2025
|
+
connector_vpc_lattice_egress_config_property = transfer.CfnConnector.ConnectorVpcLatticeEgressConfigProperty(
|
|
2026
|
+
resource_configuration_arn="resourceConfigurationArn",
|
|
2027
|
+
|
|
2028
|
+
# the properties below are optional
|
|
2029
|
+
port_number=123
|
|
2030
|
+
)
|
|
2031
|
+
'''
|
|
2032
|
+
if __debug__:
|
|
2033
|
+
type_hints = typing.get_type_hints(_typecheckingstub__53a48f28bdc82ead21fcc7f4a6cb2d63a8b7bb31c09769a4d8ab452c1da15927)
|
|
2034
|
+
check_type(argname="argument resource_configuration_arn", value=resource_configuration_arn, expected_type=type_hints["resource_configuration_arn"])
|
|
2035
|
+
check_type(argname="argument port_number", value=port_number, expected_type=type_hints["port_number"])
|
|
2036
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2037
|
+
"resource_configuration_arn": resource_configuration_arn,
|
|
2038
|
+
}
|
|
2039
|
+
if port_number is not None:
|
|
2040
|
+
self._values["port_number"] = port_number
|
|
2041
|
+
|
|
2042
|
+
@builtins.property
|
|
2043
|
+
def resource_configuration_arn(self) -> builtins.str:
|
|
2044
|
+
'''ARN of the VPC_LATTICE Resource Configuration that defines the target SFTP server location.
|
|
2045
|
+
|
|
2046
|
+
Must point to a valid Resource Configuration in the customer's VPC with appropriate network connectivity to the SFTP server.
|
|
2047
|
+
|
|
2048
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-connectorvpclatticeegressconfig.html#cfn-transfer-connector-connectorvpclatticeegressconfig-resourceconfigurationarn
|
|
2049
|
+
'''
|
|
2050
|
+
result = self._values.get("resource_configuration_arn")
|
|
2051
|
+
assert result is not None, "Required property 'resource_configuration_arn' is missing"
|
|
2052
|
+
return typing.cast(builtins.str, result)
|
|
2053
|
+
|
|
2054
|
+
@builtins.property
|
|
2055
|
+
def port_number(self) -> typing.Optional[jsii.Number]:
|
|
2056
|
+
'''Port number for connecting to the SFTP server through VPC_LATTICE.
|
|
2057
|
+
|
|
2058
|
+
Defaults to 22 if not specified. Must match the port on which the target SFTP server is listening.
|
|
2059
|
+
|
|
2060
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-connectorvpclatticeegressconfig.html#cfn-transfer-connector-connectorvpclatticeegressconfig-portnumber
|
|
2061
|
+
'''
|
|
2062
|
+
result = self._values.get("port_number")
|
|
2063
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2064
|
+
|
|
2065
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2066
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2067
|
+
|
|
2068
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2069
|
+
return not (rhs == self)
|
|
2070
|
+
|
|
2071
|
+
def __repr__(self) -> str:
|
|
2072
|
+
return "ConnectorVpcLatticeEgressConfigProperty(%s)" % ", ".join(
|
|
2073
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2074
|
+
)
|
|
2075
|
+
|
|
1735
2076
|
@jsii.data_type(
|
|
1736
2077
|
jsii_type="aws-cdk-lib.aws_transfer.CfnConnector.SftpConfigProperty",
|
|
1737
2078
|
jsii_struct_bases=[],
|
|
1738
2079
|
name_mapping={
|
|
2080
|
+
"max_concurrent_connections": "maxConcurrentConnections",
|
|
1739
2081
|
"trusted_host_keys": "trustedHostKeys",
|
|
1740
2082
|
"user_secret_id": "userSecretId",
|
|
1741
2083
|
},
|
|
@@ -1744,12 +2086,14 @@ class CfnConnector(
|
|
|
1744
2086
|
def __init__(
|
|
1745
2087
|
self,
|
|
1746
2088
|
*,
|
|
2089
|
+
max_concurrent_connections: typing.Optional[jsii.Number] = None,
|
|
1747
2090
|
trusted_host_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
1748
2091
|
user_secret_id: typing.Optional[builtins.str] = None,
|
|
1749
2092
|
) -> None:
|
|
1750
2093
|
'''A structure that contains the parameters for an SFTP connector object.
|
|
1751
2094
|
|
|
1752
|
-
:param
|
|
2095
|
+
:param max_concurrent_connections: Specify the number of concurrent connections that your connector creates to the remote server. The default value is ``1`` . The maximum values is ``5`` . .. epigraph:: If you are using the AWS Management Console , the default value is ``5`` . This parameter specifies the number of active connections that your connector can establish with the remote server at the same time. Increasing this value can enhance connector performance when transferring large file batches by enabling parallel operations. Default: - 1
|
|
2096
|
+
:param trusted_host_keys: The public portion of the host key, or keys, that are used to identify the external server to which you are connecting. You can use the ``ssh-keyscan`` command against the SFTP server to retrieve the necessary key. .. epigraph:: ``TrustedHostKeys`` is optional for ``CreateConnector`` . If not provided, you can use ``TestConnection`` to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key. When creating connectors with egress config (VPC_LATTICE type connectors), since host name is not something we can verify, the only accepted trusted host key format is ``key-type key-body`` without the host name. For example: ``ssh-rsa AAAAB3Nza...<long-string-for-public-key>`` The three standard SSH public key format elements are ``<key type>`` , ``<body base64>`` , and an optional ``<comment>`` , with spaces between each element. Specify only the ``<key type>`` and ``<body base64>`` : do not enter the ``<comment>`` portion of the key. For the trusted host key, AWS Transfer Family accepts RSA and ECDSA keys. - For RSA keys, the ``<key type>`` string is ``ssh-rsa`` . - For ECDSA keys, the ``<key type>`` string is either ``ecdsa-sha2-nistp256`` , ``ecdsa-sha2-nistp384`` , or ``ecdsa-sha2-nistp521`` , depending on the size of the key you generated. Run this command to retrieve the SFTP server host key, where your SFTP server name is ``ftp.host.com`` . ``ssh-keyscan ftp.host.com`` This prints the public host key to standard output. ``ftp.host.com ssh-rsa AAAAB3Nza...<long-string-for-public-key>`` Copy and paste this string into the ``TrustedHostKeys`` field for the ``create-connector`` command or into the *Trusted host keys* field in the console. For VPC Lattice type connectors (VPC_LATTICE), remove the hostname from the key and use only the ``key-type key-body`` format. In this example, it should be: ``ssh-rsa AAAAB3Nza...<long-string-for-public-key>``
|
|
1753
2097
|
:param user_secret_id: The identifier for the secret (in AWS Secrets Manager) that contains the SFTP user's private key, password, or both. The identifier must be the Amazon Resource Name (ARN) of the secret. .. epigraph:: - Required when creating an SFTP connector - Optional when updating an existing SFTP connector
|
|
1754
2098
|
|
|
1755
2099
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html
|
|
@@ -1762,20 +2106,42 @@ class CfnConnector(
|
|
|
1762
2106
|
from aws_cdk import aws_transfer as transfer
|
|
1763
2107
|
|
|
1764
2108
|
sftp_config_property = transfer.CfnConnector.SftpConfigProperty(
|
|
2109
|
+
max_concurrent_connections=123,
|
|
1765
2110
|
trusted_host_keys=["trustedHostKeys"],
|
|
1766
2111
|
user_secret_id="userSecretId"
|
|
1767
2112
|
)
|
|
1768
2113
|
'''
|
|
1769
2114
|
if __debug__:
|
|
1770
2115
|
type_hints = typing.get_type_hints(_typecheckingstub__f4f8d4be2ad63a06a458c41605c9c21318e1d9117d48f21b9ee2ea6bb109d2e8)
|
|
2116
|
+
check_type(argname="argument max_concurrent_connections", value=max_concurrent_connections, expected_type=type_hints["max_concurrent_connections"])
|
|
1771
2117
|
check_type(argname="argument trusted_host_keys", value=trusted_host_keys, expected_type=type_hints["trusted_host_keys"])
|
|
1772
2118
|
check_type(argname="argument user_secret_id", value=user_secret_id, expected_type=type_hints["user_secret_id"])
|
|
1773
2119
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
2120
|
+
if max_concurrent_connections is not None:
|
|
2121
|
+
self._values["max_concurrent_connections"] = max_concurrent_connections
|
|
1774
2122
|
if trusted_host_keys is not None:
|
|
1775
2123
|
self._values["trusted_host_keys"] = trusted_host_keys
|
|
1776
2124
|
if user_secret_id is not None:
|
|
1777
2125
|
self._values["user_secret_id"] = user_secret_id
|
|
1778
2126
|
|
|
2127
|
+
@builtins.property
|
|
2128
|
+
def max_concurrent_connections(self) -> typing.Optional[jsii.Number]:
|
|
2129
|
+
'''Specify the number of concurrent connections that your connector creates to the remote server.
|
|
2130
|
+
|
|
2131
|
+
The default value is ``1`` . The maximum values is ``5`` .
|
|
2132
|
+
.. epigraph::
|
|
2133
|
+
|
|
2134
|
+
If you are using the AWS Management Console , the default value is ``5`` .
|
|
2135
|
+
|
|
2136
|
+
This parameter specifies the number of active connections that your connector can establish with the remote server at the same time. Increasing this value can enhance connector performance when transferring large file batches by enabling parallel operations.
|
|
2137
|
+
|
|
2138
|
+
:default: - 1
|
|
2139
|
+
|
|
2140
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html#cfn-transfer-connector-sftpconfig-maxconcurrentconnections
|
|
2141
|
+
'''
|
|
2142
|
+
result = self._values.get("max_concurrent_connections")
|
|
2143
|
+
return typing.cast(typing.Optional[jsii.Number], result)
|
|
2144
|
+
|
|
1779
2145
|
@builtins.property
|
|
1780
2146
|
def trusted_host_keys(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
1781
2147
|
'''The public portion of the host key, or keys, that are used to identify the external server to which you are connecting.
|
|
@@ -1785,6 +2151,8 @@ class CfnConnector(
|
|
|
1785
2151
|
|
|
1786
2152
|
``TrustedHostKeys`` is optional for ``CreateConnector`` . If not provided, you can use ``TestConnection`` to retrieve the server host key during the initial connection attempt, and subsequently update the connector with the observed host key.
|
|
1787
2153
|
|
|
2154
|
+
When creating connectors with egress config (VPC_LATTICE type connectors), since host name is not something we can verify, the only accepted trusted host key format is ``key-type key-body`` without the host name. For example: ``ssh-rsa AAAAB3Nza...<long-string-for-public-key>``
|
|
2155
|
+
|
|
1788
2156
|
The three standard SSH public key format elements are ``<key type>`` , ``<body base64>`` , and an optional ``<comment>`` , with spaces between each element. Specify only the ``<key type>`` and ``<body base64>`` : do not enter the ``<comment>`` portion of the key.
|
|
1789
2157
|
|
|
1790
2158
|
For the trusted host key, AWS Transfer Family accepts RSA and ECDSA keys.
|
|
@@ -1798,10 +2166,12 @@ class CfnConnector(
|
|
|
1798
2166
|
|
|
1799
2167
|
This prints the public host key to standard output.
|
|
1800
2168
|
|
|
1801
|
-
``ftp.host.com ssh-rsa AAAAB3Nza...<long-string-for-public-key
|
|
2169
|
+
``ftp.host.com ssh-rsa AAAAB3Nza...<long-string-for-public-key>``
|
|
1802
2170
|
|
|
1803
2171
|
Copy and paste this string into the ``TrustedHostKeys`` field for the ``create-connector`` command or into the *Trusted host keys* field in the console.
|
|
1804
2172
|
|
|
2173
|
+
For VPC Lattice type connectors (VPC_LATTICE), remove the hostname from the key and use only the ``key-type key-body`` format. In this example, it should be: ``ssh-rsa AAAAB3Nza...<long-string-for-public-key>``
|
|
2174
|
+
|
|
1805
2175
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-sftpconfig.html#cfn-transfer-connector-sftpconfig-trustedhostkeys
|
|
1806
2176
|
'''
|
|
1807
2177
|
result = self._values.get("trusted_host_keys")
|
|
@@ -1839,12 +2209,14 @@ class CfnConnector(
|
|
|
1839
2209
|
jsii_struct_bases=[],
|
|
1840
2210
|
name_mapping={
|
|
1841
2211
|
"access_role": "accessRole",
|
|
1842
|
-
"url": "url",
|
|
1843
2212
|
"as2_config": "as2Config",
|
|
2213
|
+
"egress_config": "egressConfig",
|
|
2214
|
+
"egress_type": "egressType",
|
|
1844
2215
|
"logging_role": "loggingRole",
|
|
1845
2216
|
"security_policy_name": "securityPolicyName",
|
|
1846
2217
|
"sftp_config": "sftpConfig",
|
|
1847
2218
|
"tags": "tags",
|
|
2219
|
+
"url": "url",
|
|
1848
2220
|
},
|
|
1849
2221
|
)
|
|
1850
2222
|
class CfnConnectorProps:
|
|
@@ -1852,22 +2224,26 @@ class CfnConnectorProps:
|
|
|
1852
2224
|
self,
|
|
1853
2225
|
*,
|
|
1854
2226
|
access_role: builtins.str,
|
|
1855
|
-
url: builtins.str,
|
|
1856
2227
|
as2_config: typing.Any = None,
|
|
2228
|
+
egress_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.ConnectorEgressConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2229
|
+
egress_type: typing.Optional[builtins.str] = None,
|
|
1857
2230
|
logging_role: typing.Optional[builtins.str] = None,
|
|
1858
2231
|
security_policy_name: typing.Optional[builtins.str] = None,
|
|
1859
2232
|
sftp_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.SftpConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
1860
2233
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2234
|
+
url: typing.Optional[builtins.str] = None,
|
|
1861
2235
|
) -> None:
|
|
1862
2236
|
'''Properties for defining a ``CfnConnector``.
|
|
1863
2237
|
|
|
1864
2238
|
:param access_role: Connectors are used to send files using either the AS2 or SFTP protocol. For the access role, provide the Amazon Resource Name (ARN) of the AWS Identity and Access Management role to use. *For AS2 connectors* With AS2, you can send files by calling ``StartFileTransfer`` and specifying the file paths in the request parameter, ``SendFilePaths`` . We use the file’s parent directory (for example, for ``--send-file-paths /bucket/dir/file.txt`` , parent directory is ``/bucket/dir/`` ) to temporarily store a processed AS2 message file, store the MDN when we receive them from the partner, and write a final JSON file containing relevant metadata of the transmission. So, the ``AccessRole`` needs to provide read and write access to the parent directory of the file location used in the ``StartFileTransfer`` request. Additionally, you need to provide read and write access to the parent directory of the files that you intend to send with ``StartFileTransfer`` . If you are using Basic authentication for your AS2 connector, the access role requires the ``secretsmanager:GetSecretValue`` permission for the secret. If the secret is encrypted using a customer-managed key instead of the AWS managed key in Secrets Manager, then the role also needs the ``kms:Decrypt`` permission for that key. *For SFTP connectors* Make sure that the access role provides read and write access to the parent directory of the file location that's used in the ``StartFileTransfer`` request. Additionally, make sure that the role provides ``secretsmanager:GetSecretValue`` permission to AWS Secrets Manager .
|
|
1865
|
-
:param url: The URL of the partner's AS2 or SFTP endpoint.
|
|
1866
2239
|
:param as2_config: A structure that contains the parameters for an AS2 connector object.
|
|
2240
|
+
:param egress_config: Current egress configuration of the connector, showing how traffic is routed to the SFTP server. Contains VPC Lattice settings when using VPC_LATTICE egress type. When using the VPC_LATTICE egress type, AWS Transfer Family uses a managed Service Network to simplify the resource sharing process.
|
|
2241
|
+
:param egress_type: Type of egress configuration for the connector. SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.
|
|
1867
2242
|
:param logging_role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events. When set, you can view connector activity in your CloudWatch logs.
|
|
1868
2243
|
:param security_policy_name: The text name of the security policy for the specified connector.
|
|
1869
2244
|
:param sftp_config: A structure that contains the parameters for an SFTP connector object.
|
|
1870
2245
|
:param tags: Key-value pairs that can be used to group and search for connectors.
|
|
2246
|
+
:param url: The URL of the partner's AS2 or SFTP endpoint. When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.
|
|
1871
2247
|
|
|
1872
2248
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html
|
|
1873
2249
|
:exampleMetadata: fixture=_generated
|
|
@@ -1882,37 +2258,52 @@ class CfnConnectorProps:
|
|
|
1882
2258
|
|
|
1883
2259
|
cfn_connector_props = transfer.CfnConnectorProps(
|
|
1884
2260
|
access_role="accessRole",
|
|
1885
|
-
url="url",
|
|
1886
2261
|
|
|
1887
2262
|
# the properties below are optional
|
|
1888
2263
|
as2_config=as2_config,
|
|
2264
|
+
egress_config=transfer.CfnConnector.ConnectorEgressConfigProperty(
|
|
2265
|
+
vpc_lattice=transfer.CfnConnector.ConnectorVpcLatticeEgressConfigProperty(
|
|
2266
|
+
resource_configuration_arn="resourceConfigurationArn",
|
|
2267
|
+
|
|
2268
|
+
# the properties below are optional
|
|
2269
|
+
port_number=123
|
|
2270
|
+
)
|
|
2271
|
+
),
|
|
2272
|
+
egress_type="egressType",
|
|
1889
2273
|
logging_role="loggingRole",
|
|
1890
2274
|
security_policy_name="securityPolicyName",
|
|
1891
2275
|
sftp_config=transfer.CfnConnector.SftpConfigProperty(
|
|
2276
|
+
max_concurrent_connections=123,
|
|
1892
2277
|
trusted_host_keys=["trustedHostKeys"],
|
|
1893
2278
|
user_secret_id="userSecretId"
|
|
1894
2279
|
),
|
|
1895
2280
|
tags=[CfnTag(
|
|
1896
2281
|
key="key",
|
|
1897
2282
|
value="value"
|
|
1898
|
-
)]
|
|
2283
|
+
)],
|
|
2284
|
+
url="url"
|
|
1899
2285
|
)
|
|
1900
2286
|
'''
|
|
1901
2287
|
if __debug__:
|
|
1902
2288
|
type_hints = typing.get_type_hints(_typecheckingstub__7675f9dcded8f51977cf70f499821100319fe5d62996cb917457f772cfcc9a2e)
|
|
1903
2289
|
check_type(argname="argument access_role", value=access_role, expected_type=type_hints["access_role"])
|
|
1904
|
-
check_type(argname="argument url", value=url, expected_type=type_hints["url"])
|
|
1905
2290
|
check_type(argname="argument as2_config", value=as2_config, expected_type=type_hints["as2_config"])
|
|
2291
|
+
check_type(argname="argument egress_config", value=egress_config, expected_type=type_hints["egress_config"])
|
|
2292
|
+
check_type(argname="argument egress_type", value=egress_type, expected_type=type_hints["egress_type"])
|
|
1906
2293
|
check_type(argname="argument logging_role", value=logging_role, expected_type=type_hints["logging_role"])
|
|
1907
2294
|
check_type(argname="argument security_policy_name", value=security_policy_name, expected_type=type_hints["security_policy_name"])
|
|
1908
2295
|
check_type(argname="argument sftp_config", value=sftp_config, expected_type=type_hints["sftp_config"])
|
|
1909
2296
|
check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
|
|
2297
|
+
check_type(argname="argument url", value=url, expected_type=type_hints["url"])
|
|
1910
2298
|
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
1911
2299
|
"access_role": access_role,
|
|
1912
|
-
"url": url,
|
|
1913
2300
|
}
|
|
1914
2301
|
if as2_config is not None:
|
|
1915
2302
|
self._values["as2_config"] = as2_config
|
|
2303
|
+
if egress_config is not None:
|
|
2304
|
+
self._values["egress_config"] = egress_config
|
|
2305
|
+
if egress_type is not None:
|
|
2306
|
+
self._values["egress_type"] = egress_type
|
|
1916
2307
|
if logging_role is not None:
|
|
1917
2308
|
self._values["logging_role"] = logging_role
|
|
1918
2309
|
if security_policy_name is not None:
|
|
@@ -1921,6 +2312,8 @@ class CfnConnectorProps:
|
|
|
1921
2312
|
self._values["sftp_config"] = sftp_config
|
|
1922
2313
|
if tags is not None:
|
|
1923
2314
|
self._values["tags"] = tags
|
|
2315
|
+
if url is not None:
|
|
2316
|
+
self._values["url"] = url
|
|
1924
2317
|
|
|
1925
2318
|
@builtins.property
|
|
1926
2319
|
def access_role(self) -> builtins.str:
|
|
@@ -1944,16 +2337,6 @@ class CfnConnectorProps:
|
|
|
1944
2337
|
assert result is not None, "Required property 'access_role' is missing"
|
|
1945
2338
|
return typing.cast(builtins.str, result)
|
|
1946
2339
|
|
|
1947
|
-
@builtins.property
|
|
1948
|
-
def url(self) -> builtins.str:
|
|
1949
|
-
'''The URL of the partner's AS2 or SFTP endpoint.
|
|
1950
|
-
|
|
1951
|
-
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-url
|
|
1952
|
-
'''
|
|
1953
|
-
result = self._values.get("url")
|
|
1954
|
-
assert result is not None, "Required property 'url' is missing"
|
|
1955
|
-
return typing.cast(builtins.str, result)
|
|
1956
|
-
|
|
1957
2340
|
@builtins.property
|
|
1958
2341
|
def as2_config(self) -> typing.Any:
|
|
1959
2342
|
'''A structure that contains the parameters for an AS2 connector object.
|
|
@@ -1963,6 +2346,32 @@ class CfnConnectorProps:
|
|
|
1963
2346
|
result = self._values.get("as2_config")
|
|
1964
2347
|
return typing.cast(typing.Any, result)
|
|
1965
2348
|
|
|
2349
|
+
@builtins.property
|
|
2350
|
+
def egress_config(
|
|
2351
|
+
self,
|
|
2352
|
+
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConnector.ConnectorEgressConfigProperty]]:
|
|
2353
|
+
'''Current egress configuration of the connector, showing how traffic is routed to the SFTP server.
|
|
2354
|
+
|
|
2355
|
+
Contains VPC Lattice settings when using VPC_LATTICE egress type.
|
|
2356
|
+
|
|
2357
|
+
When using the VPC_LATTICE egress type, AWS Transfer Family uses a managed Service Network to simplify the resource sharing process.
|
|
2358
|
+
|
|
2359
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-egressconfig
|
|
2360
|
+
'''
|
|
2361
|
+
result = self._values.get("egress_config")
|
|
2362
|
+
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConnector.ConnectorEgressConfigProperty]], result)
|
|
2363
|
+
|
|
2364
|
+
@builtins.property
|
|
2365
|
+
def egress_type(self) -> typing.Optional[builtins.str]:
|
|
2366
|
+
'''Type of egress configuration for the connector.
|
|
2367
|
+
|
|
2368
|
+
SERVICE_MANAGED uses Transfer Family managed NAT gateways, while VPC_LATTICE routes traffic through customer VPCs using VPC Lattice.
|
|
2369
|
+
|
|
2370
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-egresstype
|
|
2371
|
+
'''
|
|
2372
|
+
result = self._values.get("egress_type")
|
|
2373
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2374
|
+
|
|
1966
2375
|
@builtins.property
|
|
1967
2376
|
def logging_role(self) -> typing.Optional[builtins.str]:
|
|
1968
2377
|
'''The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a connector to turn on CloudWatch logging for Amazon S3 events.
|
|
@@ -2003,6 +2412,17 @@ class CfnConnectorProps:
|
|
|
2003
2412
|
result = self._values.get("tags")
|
|
2004
2413
|
return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
|
|
2005
2414
|
|
|
2415
|
+
@builtins.property
|
|
2416
|
+
def url(self) -> typing.Optional[builtins.str]:
|
|
2417
|
+
'''The URL of the partner's AS2 or SFTP endpoint.
|
|
2418
|
+
|
|
2419
|
+
When creating AS2 connectors or service-managed SFTP connectors (connectors without egress configuration), you must provide a URL to specify the remote server endpoint. For VPC Lattice type connectors, the URL must be null.
|
|
2420
|
+
|
|
2421
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-connector.html#cfn-transfer-connector-url
|
|
2422
|
+
'''
|
|
2423
|
+
result = self._values.get("url")
|
|
2424
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2425
|
+
|
|
2006
2426
|
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2007
2427
|
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2008
2428
|
|
|
@@ -2015,7 +2435,7 @@ class CfnConnectorProps:
|
|
|
2015
2435
|
)
|
|
2016
2436
|
|
|
2017
2437
|
|
|
2018
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
2438
|
+
@jsii.implements(_IInspectable_c2943556, _IProfileRef_fed8deac, _ITaggable_36806126)
|
|
2019
2439
|
class CfnProfile(
|
|
2020
2440
|
_CfnResource_9df397a6,
|
|
2021
2441
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2056,7 +2476,8 @@ class CfnProfile(
|
|
|
2056
2476
|
certificate_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2057
2477
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2058
2478
|
) -> None:
|
|
2059
|
-
'''
|
|
2479
|
+
'''Create a new ``AWS::Transfer::Profile``.
|
|
2480
|
+
|
|
2060
2481
|
:param scope: Scope in which this resource is defined.
|
|
2061
2482
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2062
2483
|
:param as2_id: The ``As2Id`` is the *AS2-name* , as defined in the `RFC 4130 <https://docs.aws.amazon.com/https://datatracker.ietf.org/doc/html/rfc4130>`_ . For inbound transfers, this is the ``AS2-From`` header for the AS2 messages sent from the partner. For outbound connectors, this is the ``AS2-To`` header for the AS2 messages sent to the partner using the ``StartFileTransfer`` API operation. This ID cannot include spaces.
|
|
@@ -2077,6 +2498,48 @@ class CfnProfile(
|
|
|
2077
2498
|
|
|
2078
2499
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
2079
2500
|
|
|
2501
|
+
@jsii.member(jsii_name="fromProfileArn")
|
|
2502
|
+
@builtins.classmethod
|
|
2503
|
+
def from_profile_arn(
|
|
2504
|
+
cls,
|
|
2505
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2506
|
+
id: builtins.str,
|
|
2507
|
+
arn: builtins.str,
|
|
2508
|
+
) -> _IProfileRef_fed8deac:
|
|
2509
|
+
'''Creates a new IProfileRef from an ARN.
|
|
2510
|
+
|
|
2511
|
+
:param scope: -
|
|
2512
|
+
:param id: -
|
|
2513
|
+
:param arn: -
|
|
2514
|
+
'''
|
|
2515
|
+
if __debug__:
|
|
2516
|
+
type_hints = typing.get_type_hints(_typecheckingstub__06008f4a63def34bd89f1208264539fe9dfb8dc17a9fd244d185273546799142)
|
|
2517
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2518
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2519
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
2520
|
+
return typing.cast(_IProfileRef_fed8deac, jsii.sinvoke(cls, "fromProfileArn", [scope, id, arn]))
|
|
2521
|
+
|
|
2522
|
+
@jsii.member(jsii_name="fromProfileId")
|
|
2523
|
+
@builtins.classmethod
|
|
2524
|
+
def from_profile_id(
|
|
2525
|
+
cls,
|
|
2526
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
2527
|
+
id: builtins.str,
|
|
2528
|
+
profile_id: builtins.str,
|
|
2529
|
+
) -> _IProfileRef_fed8deac:
|
|
2530
|
+
'''Creates a new IProfileRef from a profileId.
|
|
2531
|
+
|
|
2532
|
+
:param scope: -
|
|
2533
|
+
:param id: -
|
|
2534
|
+
:param profile_id: -
|
|
2535
|
+
'''
|
|
2536
|
+
if __debug__:
|
|
2537
|
+
type_hints = typing.get_type_hints(_typecheckingstub__feb8675e38aa0953f2ede297f189ff49cd5a30c0b0176aac11fd742a2fda9b49)
|
|
2538
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
2539
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
2540
|
+
check_type(argname="argument profile_id", value=profile_id, expected_type=type_hints["profile_id"])
|
|
2541
|
+
return typing.cast(_IProfileRef_fed8deac, jsii.sinvoke(cls, "fromProfileId", [scope, id, profile_id]))
|
|
2542
|
+
|
|
2080
2543
|
@jsii.member(jsii_name="inspect")
|
|
2081
2544
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
2082
2545
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -2130,6 +2593,12 @@ class CfnProfile(
|
|
|
2130
2593
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2131
2594
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
2132
2595
|
|
|
2596
|
+
@builtins.property
|
|
2597
|
+
@jsii.member(jsii_name="profileRef")
|
|
2598
|
+
def profile_ref(self) -> _ProfileReference_0268b426:
|
|
2599
|
+
'''A reference to a Profile resource.'''
|
|
2600
|
+
return typing.cast(_ProfileReference_0268b426, jsii.get(self, "profileRef"))
|
|
2601
|
+
|
|
2133
2602
|
@builtins.property
|
|
2134
2603
|
@jsii.member(jsii_name="tags")
|
|
2135
2604
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -2308,7 +2777,7 @@ class CfnProfileProps:
|
|
|
2308
2777
|
)
|
|
2309
2778
|
|
|
2310
2779
|
|
|
2311
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
2780
|
+
@jsii.implements(_IInspectable_c2943556, _IServerRef_6fa6fa22, _ITaggable_36806126)
|
|
2312
2781
|
class CfnServer(
|
|
2313
2782
|
_CfnResource_9df397a6,
|
|
2314
2783
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2347,6 +2816,7 @@ class CfnServer(
|
|
|
2347
2816
|
url="url"
|
|
2348
2817
|
),
|
|
2349
2818
|
identity_provider_type="identityProviderType",
|
|
2819
|
+
ip_address_type="ipAddressType",
|
|
2350
2820
|
logging_role="loggingRole",
|
|
2351
2821
|
post_authentication_login_banner="postAuthenticationLoginBanner",
|
|
2352
2822
|
pre_authentication_login_banner="preAuthenticationLoginBanner",
|
|
@@ -2390,6 +2860,7 @@ class CfnServer(
|
|
|
2390
2860
|
endpoint_type: typing.Optional[builtins.str] = None,
|
|
2391
2861
|
identity_provider_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServer.IdentityProviderDetailsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2392
2862
|
identity_provider_type: typing.Optional[builtins.str] = None,
|
|
2863
|
+
ip_address_type: typing.Optional[builtins.str] = None,
|
|
2393
2864
|
logging_role: typing.Optional[builtins.str] = None,
|
|
2394
2865
|
post_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
2395
2866
|
pre_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
@@ -2401,21 +2872,23 @@ class CfnServer(
|
|
|
2401
2872
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2402
2873
|
workflow_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnServer.WorkflowDetailsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
2403
2874
|
) -> None:
|
|
2404
|
-
'''
|
|
2875
|
+
'''Create a new ``AWS::Transfer::Server``.
|
|
2876
|
+
|
|
2405
2877
|
:param scope: Scope in which this resource is defined.
|
|
2406
2878
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2407
|
-
:param certificate: The Amazon Resource Name (ARN) of the
|
|
2879
|
+
:param certificate: The Amazon Resource Name (ARN) of the Certificate Manager (ACM) certificate. Required when ``Protocols`` is set to ``FTPS`` . To request a new public certificate, see `Request a public certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html>`_ in the *Certificate Manager User Guide* . To import an existing certificate into ACM, see `Importing certificates into ACM <https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html>`_ in the *Certificate Manager User Guide* . To request a private certificate to use FTPS through private IP addresses, see `Request a private certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html>`_ in the *Certificate Manager User Guide* . Certificates with the following cryptographic algorithms and key sizes are supported: - 2048-bit RSA (RSA_2048) - 4096-bit RSA (RSA_4096) - Elliptic Prime Curve 256 bit (EC_prime256v1) - Elliptic Prime Curve 384 bit (EC_secp384r1) - Elliptic Prime Curve 521 bit (EC_secp521r1) .. epigraph:: The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.
|
|
2408
2880
|
:param domain: Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.
|
|
2409
2881
|
:param endpoint_details: The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.
|
|
2410
2882
|
:param endpoint_type: The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. .. epigraph:: After May 19, 2021, you won't be able to create a server using ``EndpointType=VPC_ENDPOINT`` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with ``EndpointType=VPC_ENDPOINT`` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use ``EndpointType`` = ``VPC`` . For more information, see `Discontinuing the use of VPC_ENDPOINT <https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint>`_ . It is recommended that you use ``VPC`` as the ``EndpointType`` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with ``EndpointType`` set to ``VPC_ENDPOINT`` .
|
|
2411
2883
|
:param identity_provider_details: Required when ``IdentityProviderType`` is set to ``AWS_DIRECTORY_SERVICE`` , ``AWS _LAMBDA`` or ``API_GATEWAY`` . Accepts an array containing all of the information required to use a directory in ``AWS_DIRECTORY_SERVICE`` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when ``IdentityProviderType`` is set to ``SERVICE_MANAGED`` .
|
|
2412
2884
|
:param identity_provider_type: The mode of authentication for a server. The default value is ``SERVICE_MANAGED`` , which allows you to store and access user credentials within the AWS Transfer Family service. Use ``AWS_DIRECTORY_SERVICE`` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the ``IdentityProviderDetails`` parameter. Use the ``API_GATEWAY`` value to integrate with an identity provider of your choosing. The ``API_GATEWAY`` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the ``IdentityProviderDetails`` parameter. Use the ``AWS_LAMBDA`` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the ``Function`` parameter for the ``IdentityProviderDetails`` data type.
|
|
2885
|
+
:param ip_address_type: Specifies whether to use IPv4 only, or to use dual-stack (IPv4 and IPv6) for your AWS Transfer Family endpoint. The default value is ``IPV4`` . .. epigraph:: The ``IpAddressType`` parameter has the following limitations: - It cannot be changed while the server is online. You must stop the server before modifying this parameter. - It cannot be updated to ``DUALSTACK`` if the server has ``AddressAllocationIds`` specified. > When using ``DUALSTACK`` as the ``IpAddressType`` , you cannot set the ``AddressAllocationIds`` parameter for the `EndpointDetails <https://docs.aws.amazon.com/transfer/latest/APIReference/API_EndpointDetails.html>`_ for the server.
|
|
2413
2886
|
:param logging_role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, you can view user activity in your CloudWatch logs.
|
|
2414
2887
|
:param post_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. .. epigraph:: The SFTP protocol does not support post-authentication display banners.
|
|
2415
2888
|
:param pre_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: ``This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.``
|
|
2416
2889
|
:param protocol_details: The protocol settings that are configured for your server. - To indicate passive mode (for FTP and FTPS protocols), use the ``PassiveIp`` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. - To ignore the error that is generated when the client attempts to use the ``SETSTAT`` command on a file that you are uploading to an Amazon S3 bucket, use the ``SetStatOption`` parameter. To have the AWS Transfer Family server ignore the ``SETSTAT`` command and upload files without needing to make any changes to your SFTP client, set the value to ``ENABLE_NO_OP`` . If you set the ``SetStatOption`` parameter to ``ENABLE_NO_OP`` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a ``SETSTAT`` call. - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the ``TlsSessionResumptionMode`` parameter. - ``As2Transports`` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. The ``Protocols`` parameter is an array of strings. *Allowed values* : One or more of ``SFTP`` , ``FTPS`` , ``FTP`` , ``AS2``
|
|
2417
|
-
:param protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: - ``SFTP`` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH - ``FTPS`` (File Transfer Protocol Secure): File transfer with TLS encryption - ``FTP`` (File Transfer Protocol): Unencrypted file transfer - ``AS2`` (Applicability Statement 2): used for transporting structured business-to-business data .. epigraph:: - If you select ``FTPS`` , you must choose a certificate stored in
|
|
2418
|
-
:param s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
2890
|
+
:param protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: - ``SFTP`` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH - ``FTPS`` (File Transfer Protocol Secure): File transfer with TLS encryption - ``FTP`` (File Transfer Protocol): Unencrypted file transfer - ``AS2`` (Applicability Statement 2): used for transporting structured business-to-business data .. epigraph:: - If you select ``FTPS`` , you must choose a certificate stored in Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. - If ``Protocol`` includes either ``FTP`` or ``FTPS`` , then the ``EndpointType`` must be ``VPC`` and the ``IdentityProviderType`` must be either ``AWS_DIRECTORY_SERVICE`` , ``AWS_LAMBDA`` , or ``API_GATEWAY`` . - If ``Protocol`` includes ``FTP`` , then ``AddressAllocationIds`` cannot be associated. - If ``Protocol`` is set only to ``SFTP`` , the ``EndpointType`` can be set to ``PUBLIC`` and the ``IdentityProviderType`` can be set any of the supported identity types: ``SERVICE_MANAGED`` , ``AWS_DIRECTORY_SERVICE`` , ``AWS_LAMBDA`` , or ``API_GATEWAY`` . - If ``Protocol`` includes ``AS2`` , then the ``EndpointType`` must be ``VPC`` , and domain must be Amazon S3. The ``Protocols`` parameter is an array of strings. *Allowed values* : One or more of ``SFTP`` , ``FTPS`` , ``FTP`` , ``AS2``
|
|
2891
|
+
:param s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. - If using the console, this is enabled by default. - If using the API or CLI, this is disabled by default. By default, home directory mappings have a ``TYPE`` of ``DIRECTORY`` . If you enable this option, you would then need to explicitly set the ``HomeDirectoryMapEntry`` ``Type`` to ``FILE`` if you want a mapping to have a file target.
|
|
2419
2892
|
:param security_policy_name: Specifies the name of the security policy for the server.
|
|
2420
2893
|
:param structured_log_destinations: Specifies the log groups to which your server logs are sent. To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: ``arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`` For example, ``arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`` If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an ``update-server`` call. For example: ``update-server --server-id s-1234567890abcdef0 --structured-log-destinations``
|
|
2421
2894
|
:param tags: Key-value pairs that can be used to group and search for servers.
|
|
@@ -2432,6 +2905,7 @@ class CfnServer(
|
|
|
2432
2905
|
endpoint_type=endpoint_type,
|
|
2433
2906
|
identity_provider_details=identity_provider_details,
|
|
2434
2907
|
identity_provider_type=identity_provider_type,
|
|
2908
|
+
ip_address_type=ip_address_type,
|
|
2435
2909
|
logging_role=logging_role,
|
|
2436
2910
|
post_authentication_login_banner=post_authentication_login_banner,
|
|
2437
2911
|
pre_authentication_login_banner=pre_authentication_login_banner,
|
|
@@ -2525,6 +2999,12 @@ class CfnServer(
|
|
|
2525
2999
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2526
3000
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
2527
3001
|
|
|
3002
|
+
@builtins.property
|
|
3003
|
+
@jsii.member(jsii_name="serverRef")
|
|
3004
|
+
def server_ref(self) -> _ServerReference_ef7b9b24:
|
|
3005
|
+
'''A reference to a Server resource.'''
|
|
3006
|
+
return typing.cast(_ServerReference_ef7b9b24, jsii.get(self, "serverRef"))
|
|
3007
|
+
|
|
2528
3008
|
@builtins.property
|
|
2529
3009
|
@jsii.member(jsii_name="tags")
|
|
2530
3010
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -2534,7 +3014,10 @@ class CfnServer(
|
|
|
2534
3014
|
@builtins.property
|
|
2535
3015
|
@jsii.member(jsii_name="certificate")
|
|
2536
3016
|
def certificate(self) -> typing.Optional[builtins.str]:
|
|
2537
|
-
'''The Amazon Resource Name (ARN) of the
|
|
3017
|
+
'''The Amazon Resource Name (ARN) of the Certificate Manager (ACM) certificate.
|
|
3018
|
+
|
|
3019
|
+
Required when ``Protocols`` is set to ``FTPS`` .
|
|
3020
|
+
'''
|
|
2538
3021
|
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "certificate"))
|
|
2539
3022
|
|
|
2540
3023
|
@certificate.setter
|
|
@@ -2619,6 +3102,19 @@ class CfnServer(
|
|
|
2619
3102
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
2620
3103
|
jsii.set(self, "identityProviderType", value) # pyright: ignore[reportArgumentType]
|
|
2621
3104
|
|
|
3105
|
+
@builtins.property
|
|
3106
|
+
@jsii.member(jsii_name="ipAddressType")
|
|
3107
|
+
def ip_address_type(self) -> typing.Optional[builtins.str]:
|
|
3108
|
+
'''Specifies whether to use IPv4 only, or to use dual-stack (IPv4 and IPv6) for your AWS Transfer Family endpoint.'''
|
|
3109
|
+
return typing.cast(typing.Optional[builtins.str], jsii.get(self, "ipAddressType"))
|
|
3110
|
+
|
|
3111
|
+
@ip_address_type.setter
|
|
3112
|
+
def ip_address_type(self, value: typing.Optional[builtins.str]) -> None:
|
|
3113
|
+
if __debug__:
|
|
3114
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8cfe7d7f7218e63daf2394f025140f03c85b4b448857853b83b58f4e59a3eee0)
|
|
3115
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
3116
|
+
jsii.set(self, "ipAddressType", value) # pyright: ignore[reportArgumentType]
|
|
3117
|
+
|
|
2622
3118
|
@builtins.property
|
|
2623
3119
|
@jsii.member(jsii_name="loggingRole")
|
|
2624
3120
|
def logging_role(self) -> typing.Optional[builtins.str]:
|
|
@@ -2703,10 +3199,7 @@ class CfnServer(
|
|
|
2703
3199
|
def s3_storage_options(
|
|
2704
3200
|
self,
|
|
2705
3201
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServer.S3StorageOptionsProperty"]]:
|
|
2706
|
-
'''Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
2707
|
-
|
|
2708
|
-
This is disabled by default.
|
|
2709
|
-
'''
|
|
3202
|
+
'''Specifies whether or not performance for your Amazon S3 directories is optimized.'''
|
|
2710
3203
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnServer.S3StorageOptionsProperty"]], jsii.get(self, "s3StorageOptions"))
|
|
2711
3204
|
|
|
2712
3205
|
@s3_storage_options.setter
|
|
@@ -2804,8 +3297,8 @@ class CfnServer(
|
|
|
2804
3297
|
|
|
2805
3298
|
When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.
|
|
2806
3299
|
|
|
2807
|
-
:param address_allocation_ids: A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the ``allocationId`` field from the Amazon EC2 `Address <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html>`_ data type. One way to retrieve this value is by calling the EC2 `DescribeAddresses <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html>`_ API. This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see `Create an internet-facing endpoint for your server <https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint>`_ . .. epigraph:: This property can only be set as follows: - ``EndpointType`` must be set to ``VPC`` - The Transfer Family server must be offline. - You cannot set this parameter for Transfer Family servers that use the FTP protocol. - The server must already have ``SubnetIds`` populated ( ``SubnetIds`` and ``AddressAllocationIds`` cannot be updated simultaneously). - ``AddressAllocationIds`` can't contain duplicates, and must be equal in length to ``SubnetIds`` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. - Call the ``UpdateServer`` API to set or change this parameter.
|
|
2808
|
-
:param security_group_ids: A list of security groups IDs that are available to attach to your server's endpoint. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC`` . You can edit the ``SecurityGroupIds`` property in the `UpdateServer <https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html>`_ API only if you are changing the ``EndpointType`` from ``PUBLIC`` or ``VPC_ENDPOINT`` to ``VPC`` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 `ModifyVpcEndpoint <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html>`_ API.
|
|
3300
|
+
:param address_allocation_ids: A list of address allocation IDs that are required to attach an Elastic IP address to your server's endpoint. An address allocation ID corresponds to the allocation ID of an Elastic IP address. This value can be retrieved from the ``allocationId`` field from the Amazon EC2 `Address <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_Address.html>`_ data type. One way to retrieve this value is by calling the EC2 `DescribeAddresses <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_DescribeAddresses.html>`_ API. This parameter is optional. Set this parameter if you want to make your VPC endpoint public-facing. For details, see `Create an internet-facing endpoint for your server <https://docs.aws.amazon.com/transfer/latest/userguide/create-server-in-vpc.html#create-internet-facing-endpoint>`_ . .. epigraph:: This property can only be set as follows: - ``EndpointType`` must be set to ``VPC`` - The Transfer Family server must be offline. - You cannot set this parameter for Transfer Family servers that use the FTP protocol. - The server must already have ``SubnetIds`` populated ( ``SubnetIds`` and ``AddressAllocationIds`` cannot be updated simultaneously). - ``AddressAllocationIds`` can't contain duplicates, and must be equal in length to ``SubnetIds`` . For example, if you have three subnet IDs, you must also specify three address allocation IDs. - Call the ``UpdateServer`` API to set or change this parameter. - You can't set address allocation IDs for servers that have an ``IpAddressType`` set to ``DUALSTACK`` You can only set this property if ``IpAddressType`` is set to ``IPV4`` .
|
|
3301
|
+
:param security_group_ids: A list of security groups IDs that are available to attach to your server's endpoint. .. epigraph:: While ``SecurityGroupIds`` appears in the response syntax for consistency with ``CreateServer`` and ``UpdateServer`` operations, this field is not populated in ``DescribeServer`` responses. Security groups are managed at the VPC endpoint level and can be modified outside of the Transfer Family service. To retrieve current security group information, use the EC2 ``DescribeVpcEndpoints`` API with the ``VpcEndpointId`` returned in the response. This property can only be set when ``EndpointType`` is set to ``VPC`` . You can edit the ``SecurityGroupIds`` property in the `UpdateServer <https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html>`_ API only if you are changing the ``EndpointType`` from ``PUBLIC`` or ``VPC_ENDPOINT`` to ``VPC`` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 `ModifyVpcEndpoint <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html>`_ API.
|
|
2809
3302
|
:param subnet_ids: A list of subnet IDs that are required to host your server endpoint in your VPC. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC`` .
|
|
2810
3303
|
:param vpc_endpoint_id: The ID of the VPC endpoint. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC_ENDPOINT`` .
|
|
2811
3304
|
:param vpc_id: The VPC ID of the virtual private cloud in which the server's endpoint will be hosted. .. epigraph:: This property can only be set when ``EndpointType`` is set to ``VPC`` .
|
|
@@ -2863,6 +3356,7 @@ class CfnServer(
|
|
|
2863
3356
|
- The server must already have ``SubnetIds`` populated ( ``SubnetIds`` and ``AddressAllocationIds`` cannot be updated simultaneously).
|
|
2864
3357
|
- ``AddressAllocationIds`` can't contain duplicates, and must be equal in length to ``SubnetIds`` . For example, if you have three subnet IDs, you must also specify three address allocation IDs.
|
|
2865
3358
|
- Call the ``UpdateServer`` API to set or change this parameter.
|
|
3359
|
+
- You can't set address allocation IDs for servers that have an ``IpAddressType`` set to ``DUALSTACK`` You can only set this property if ``IpAddressType`` is set to ``IPV4`` .
|
|
2866
3360
|
|
|
2867
3361
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-endpointdetails.html#cfn-transfer-server-endpointdetails-addressallocationids
|
|
2868
3362
|
'''
|
|
@@ -2875,6 +3369,8 @@ class CfnServer(
|
|
|
2875
3369
|
|
|
2876
3370
|
.. epigraph::
|
|
2877
3371
|
|
|
3372
|
+
While ``SecurityGroupIds`` appears in the response syntax for consistency with ``CreateServer`` and ``UpdateServer`` operations, this field is not populated in ``DescribeServer`` responses. Security groups are managed at the VPC endpoint level and can be modified outside of the Transfer Family service. To retrieve current security group information, use the EC2 ``DescribeVpcEndpoints`` API with the ``VpcEndpointId`` returned in the response.
|
|
3373
|
+
|
|
2878
3374
|
This property can only be set when ``EndpointType`` is set to ``VPC`` .
|
|
2879
3375
|
|
|
2880
3376
|
You can edit the ``SecurityGroupIds`` property in the `UpdateServer <https://docs.aws.amazon.com/transfer/latest/userguide/API_UpdateServer.html>`_ API only if you are changing the ``EndpointType`` from ``PUBLIC`` or ``VPC_ENDPOINT`` to ``VPC`` . To change security groups associated with your server's VPC endpoint after creation, use the Amazon EC2 `ModifyVpcEndpoint <https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_ModifyVpcEndpoint.html>`_ API.
|
|
@@ -3085,13 +3581,17 @@ class CfnServer(
|
|
|
3085
3581
|
) -> None:
|
|
3086
3582
|
'''The protocol settings that are configured for your server.
|
|
3087
3583
|
|
|
3584
|
+
.. epigraph::
|
|
3585
|
+
|
|
3586
|
+
Avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers, as this increases costs and can cause performance issues, including reduced connection limits for FTPS. For more details, see `Avoid placing NLBs and NATs in front of AWS Transfer Family <https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations>`_ .
|
|
3587
|
+
|
|
3088
3588
|
- To indicate passive mode (for FTP and FTPS protocols), use the ``PassiveIp`` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer.
|
|
3089
3589
|
- To ignore the error that is generated when the client attempts to use the ``SETSTAT`` command on a file that you are uploading to an Amazon S3 bucket, use the ``SetStatOption`` parameter. To have the AWS Transfer Family server ignore the ``SETSTAT`` command and upload files without needing to make any changes to your SFTP client, set the value to ``ENABLE_NO_OP`` . If you set the ``SetStatOption`` parameter to ``ENABLE_NO_OP`` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a ``SETSTAT`` call.
|
|
3090
3590
|
- To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the ``TlsSessionResumptionMode`` parameter.
|
|
3091
3591
|
- ``As2Transports`` indicates the transport method for the AS2 messages. Currently, only HTTP is supported.
|
|
3092
3592
|
|
|
3093
3593
|
:param as2_transports: List of ``As2Transport`` objects.
|
|
3094
|
-
:param passive_ip: Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: ``aws transfer update-server --protocol-details PassiveIp=0.0.0.0`` Replace ``0.0.0.0`` in the example above with the actual IP address you want to use. .. epigraph:: If you change the ``PassiveIp`` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see `Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family <https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/>`_ . *Special values* The ``AUTO`` and ``0.0.0.0`` are special values for the ``PassiveIp`` parameter. The value ``PassiveIp=AUTO`` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. ``PassiveIp=0.0.0.0`` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the ``PassiveIp`` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify ``PassiveIp=0.0.0.0`` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the ``PassiveIp=0.0.0.0`` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the ``PassiveIp=0.0.0.0`` response.
|
|
3594
|
+
:param passive_ip: Indicates passive mode, for FTP and FTPS protocols. Enter a single IPv4 address, such as the public IP address of a firewall, router, or load balancer. For example: ``aws transfer update-server --protocol-details PassiveIp=0.0.0.0`` Replace ``0.0.0.0`` in the example above with the actual IP address you want to use. .. epigraph:: If you change the ``PassiveIp`` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see `Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family <https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/>`_ . Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting ``TlsSessionResumptionMode = ENFORCED`` . For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see `Avoid placing NLBs and NATs in front of AWS Transfer Family <https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations>`_ . *Special values* The ``AUTO`` and ``0.0.0.0`` are special values for the ``PassiveIp`` parameter. The value ``PassiveIp=AUTO`` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. ``PassiveIp=0.0.0.0`` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the ``PassiveIp`` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify ``PassiveIp=0.0.0.0`` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the ``PassiveIp=0.0.0.0`` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the ``PassiveIp=0.0.0.0`` response.
|
|
3095
3595
|
:param set_stat_option: Use the ``SetStatOption`` to ignore the error that is generated when the client attempts to use ``SETSTAT`` on a file you are uploading to an S3 bucket. Some SFTP file transfer clients can attempt to change the attributes of remote files, including timestamp and permissions, using commands, such as ``SETSTAT`` when uploading the file. However, these commands are not compatible with object storage systems, such as Amazon S3. Due to this incompatibility, file uploads from these clients can result in errors even when the file is otherwise successfully uploaded. Set the value to ``ENABLE_NO_OP`` to have the Transfer Family server ignore the ``SETSTAT`` command, and upload files without needing to make any changes to your SFTP client. While the ``SetStatOption`` ``ENABLE_NO_OP`` setting ignores the error, it does generate a log entry in Amazon CloudWatch Logs, so you can determine when the client is making a ``SETSTAT`` call. .. epigraph:: If you want to preserve the original timestamp for your file, and modify other file attributes using ``SETSTAT`` , you can use Amazon EFS as backend storage with Transfer Family.
|
|
3096
3596
|
:param tls_session_resumption_mode: A property used with Transfer Family servers that use the FTPS protocol. TLS Session Resumption provides a mechanism to resume or share a negotiated secret key between the control and data connection for an FTPS session. ``TlsSessionResumptionMode`` determines whether or not the server resumes recent, negotiated sessions through a unique session ID. This property is available during ``CreateServer`` and ``UpdateServer`` calls. If a ``TlsSessionResumptionMode`` value is not specified during ``CreateServer`` , it is set to ``ENFORCED`` by default. - ``DISABLED`` : the server does not process TLS session resumption client requests and creates a new TLS session for each request. - ``ENABLED`` : the server processes and accepts clients that are performing TLS session resumption. The server doesn't reject client data connections that do not perform the TLS session resumption client processing. - ``ENFORCED`` : the server processes and accepts clients that are performing TLS session resumption. The server rejects client data connections that do not perform the TLS session resumption client processing. Before you set the value to ``ENFORCED`` , test your clients. .. epigraph:: Not all FTPS clients perform TLS session resumption. So, if you choose to enforce TLS session resumption, you prevent any connections from FTPS clients that don't perform the protocol negotiation. To determine whether or not you can use the ``ENFORCED`` value, you need to test your clients.
|
|
3097
3597
|
|
|
@@ -3149,6 +3649,8 @@ class CfnServer(
|
|
|
3149
3649
|
|
|
3150
3650
|
If you change the ``PassiveIp`` value, you must stop and then restart your Transfer Family server for the change to take effect. For details on using passive mode (PASV) in a NAT environment, see `Configuring your FTPS server behind a firewall or NAT with AWS Transfer Family <https://docs.aws.amazon.com/storage/configuring-your-ftps-server-behind-a-firewall-or-nat-with-aws-transfer-family/>`_ .
|
|
3151
3651
|
|
|
3652
|
+
Additionally, avoid placing Network Load Balancers (NLBs) or NAT gateways in front of AWS Transfer Family servers. This configuration increases costs and can cause performance issues. When NLBs or NATs are in the communication path, Transfer Family cannot accurately recognize client IP addresses, which impacts connection sharding and limits FTPS servers to only 300 simultaneous connections instead of 10,000. If you must use an NLB, use port 21 for health checks and enable TLS session resumption by setting ``TlsSessionResumptionMode = ENFORCED`` . For optimal performance, migrate to VPC endpoints with Elastic IP addresses instead of using NLBs. For more details, see `Avoid placing NLBs and NATs in front of AWS Transfer Family <https://docs.aws.amazon.com/transfer/latest/userguide/infrastructure-security.html#nlb-considerations>`_ .
|
|
3653
|
+
|
|
3152
3654
|
*Special values*
|
|
3153
3655
|
|
|
3154
3656
|
The ``AUTO`` and ``0.0.0.0`` are special values for the ``PassiveIp`` parameter. The value ``PassiveIp=AUTO`` is assigned by default to FTP and FTPS type servers. In this case, the server automatically responds with one of the endpoint IPs within the PASV response. ``PassiveIp=0.0.0.0`` has a more unique application for its usage. For example, if you have a High Availability (HA) Network Load Balancer (NLB) environment, where you have 3 subnets, you can only specify a single IP address using the ``PassiveIp`` parameter. This reduces the effectiveness of having High Availability. In this case, you can specify ``PassiveIp=0.0.0.0`` . This tells the client to use the same IP address as the Control connection and utilize all AZs for their connections. Note, however, that not all FTP clients support the ``PassiveIp=0.0.0.0`` response. FileZilla and WinSCP do support it. If you are using other clients, check to see if your client supports the ``PassiveIp=0.0.0.0`` response.
|
|
@@ -3219,7 +3721,7 @@ class CfnServer(
|
|
|
3219
3721
|
) -> None:
|
|
3220
3722
|
'''The Amazon S3 storage options that are configured for your server.
|
|
3221
3723
|
|
|
3222
|
-
:param directory_listing_optimization: Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
3724
|
+
:param directory_listing_optimization: Specifies whether or not performance for your Amazon S3 directories is optimized. - If using the console, this is enabled by default. - If using the API or CLI, this is disabled by default. By default, home directory mappings have a ``TYPE`` of ``DIRECTORY`` . If you enable this option, you would then need to explicitly set the ``HomeDirectoryMapEntry`` ``Type`` to ``FILE`` if you want a mapping to have a file target.
|
|
3223
3725
|
|
|
3224
3726
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-server-s3storageoptions.html
|
|
3225
3727
|
:exampleMetadata: fixture=_generated
|
|
@@ -3243,7 +3745,10 @@ class CfnServer(
|
|
|
3243
3745
|
|
|
3244
3746
|
@builtins.property
|
|
3245
3747
|
def directory_listing_optimization(self) -> typing.Optional[builtins.str]:
|
|
3246
|
-
'''Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
3748
|
+
'''Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
3749
|
+
|
|
3750
|
+
- If using the console, this is enabled by default.
|
|
3751
|
+
- If using the API or CLI, this is disabled by default.
|
|
3247
3752
|
|
|
3248
3753
|
By default, home directory mappings have a ``TYPE`` of ``DIRECTORY`` . If you enable this option, you would then need to explicitly set the ``HomeDirectoryMapEntry`` ``Type`` to ``FILE`` if you want a mapping to have a file target.
|
|
3249
3754
|
|
|
@@ -3443,6 +3948,7 @@ class CfnServer(
|
|
|
3443
3948
|
"endpoint_type": "endpointType",
|
|
3444
3949
|
"identity_provider_details": "identityProviderDetails",
|
|
3445
3950
|
"identity_provider_type": "identityProviderType",
|
|
3951
|
+
"ip_address_type": "ipAddressType",
|
|
3446
3952
|
"logging_role": "loggingRole",
|
|
3447
3953
|
"post_authentication_login_banner": "postAuthenticationLoginBanner",
|
|
3448
3954
|
"pre_authentication_login_banner": "preAuthenticationLoginBanner",
|
|
@@ -3465,6 +3971,7 @@ class CfnServerProps:
|
|
|
3465
3971
|
endpoint_type: typing.Optional[builtins.str] = None,
|
|
3466
3972
|
identity_provider_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServer.IdentityProviderDetailsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3467
3973
|
identity_provider_type: typing.Optional[builtins.str] = None,
|
|
3974
|
+
ip_address_type: typing.Optional[builtins.str] = None,
|
|
3468
3975
|
logging_role: typing.Optional[builtins.str] = None,
|
|
3469
3976
|
post_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
3470
3977
|
pre_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
@@ -3478,18 +3985,19 @@ class CfnServerProps:
|
|
|
3478
3985
|
) -> None:
|
|
3479
3986
|
'''Properties for defining a ``CfnServer``.
|
|
3480
3987
|
|
|
3481
|
-
:param certificate: The Amazon Resource Name (ARN) of the
|
|
3988
|
+
:param certificate: The Amazon Resource Name (ARN) of the Certificate Manager (ACM) certificate. Required when ``Protocols`` is set to ``FTPS`` . To request a new public certificate, see `Request a public certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html>`_ in the *Certificate Manager User Guide* . To import an existing certificate into ACM, see `Importing certificates into ACM <https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html>`_ in the *Certificate Manager User Guide* . To request a private certificate to use FTPS through private IP addresses, see `Request a private certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html>`_ in the *Certificate Manager User Guide* . Certificates with the following cryptographic algorithms and key sizes are supported: - 2048-bit RSA (RSA_2048) - 4096-bit RSA (RSA_4096) - Elliptic Prime Curve 256 bit (EC_prime256v1) - Elliptic Prime Curve 384 bit (EC_secp384r1) - Elliptic Prime Curve 521 bit (EC_secp521r1) .. epigraph:: The certificate must be a valid SSL/TLS X.509 version 3 certificate with FQDN or IP address specified and information about the issuer.
|
|
3482
3989
|
:param domain: Specifies the domain of the storage system that is used for file transfers. There are two domains available: Amazon Simple Storage Service (Amazon S3) and Amazon Elastic File System (Amazon EFS). The default value is S3.
|
|
3483
3990
|
:param endpoint_details: The virtual private cloud (VPC) endpoint settings that are configured for your server. When you host your endpoint within your VPC, you can make your endpoint accessible only to resources within your VPC, or you can attach Elastic IP addresses and make your endpoint accessible to clients over the internet. Your VPC's default security groups are automatically assigned to your endpoint.
|
|
3484
3991
|
:param endpoint_type: The type of endpoint that you want your server to use. You can choose to make your server's endpoint publicly accessible (PUBLIC) or host it inside your VPC. With an endpoint that is hosted in a VPC, you can restrict access to your server and resources only within your VPC or choose to make it internet facing by attaching Elastic IP addresses directly to it. .. epigraph:: After May 19, 2021, you won't be able to create a server using ``EndpointType=VPC_ENDPOINT`` in your AWS account if your account hasn't already done so before May 19, 2021. If you have already created servers with ``EndpointType=VPC_ENDPOINT`` in your AWS account on or before May 19, 2021, you will not be affected. After this date, use ``EndpointType`` = ``VPC`` . For more information, see `Discontinuing the use of VPC_ENDPOINT <https://docs.aws.amazon.com//transfer/latest/userguide/create-server-in-vpc.html#deprecate-vpc-endpoint>`_ . It is recommended that you use ``VPC`` as the ``EndpointType`` . With this endpoint type, you have the option to directly associate up to three Elastic IPv4 addresses (BYO IP included) with your server's endpoint and use VPC security groups to restrict traffic by the client's public IP address. This is not possible with ``EndpointType`` set to ``VPC_ENDPOINT`` .
|
|
3485
3992
|
:param identity_provider_details: Required when ``IdentityProviderType`` is set to ``AWS_DIRECTORY_SERVICE`` , ``AWS _LAMBDA`` or ``API_GATEWAY`` . Accepts an array containing all of the information required to use a directory in ``AWS_DIRECTORY_SERVICE`` or invoke a customer-supplied authentication API, including the API Gateway URL. Cannot be specified when ``IdentityProviderType`` is set to ``SERVICE_MANAGED`` .
|
|
3486
3993
|
:param identity_provider_type: The mode of authentication for a server. The default value is ``SERVICE_MANAGED`` , which allows you to store and access user credentials within the AWS Transfer Family service. Use ``AWS_DIRECTORY_SERVICE`` to provide access to Active Directory groups in AWS Directory Service for Microsoft Active Directory or Microsoft Active Directory in your on-premises environment or in AWS using AD Connector. This option also requires you to provide a Directory ID by using the ``IdentityProviderDetails`` parameter. Use the ``API_GATEWAY`` value to integrate with an identity provider of your choosing. The ``API_GATEWAY`` setting requires you to provide an Amazon API Gateway endpoint URL to call for authentication by using the ``IdentityProviderDetails`` parameter. Use the ``AWS_LAMBDA`` value to directly use an AWS Lambda function as your identity provider. If you choose this value, you must specify the ARN for the Lambda function in the ``Function`` parameter for the ``IdentityProviderDetails`` data type.
|
|
3994
|
+
:param ip_address_type: Specifies whether to use IPv4 only, or to use dual-stack (IPv4 and IPv6) for your AWS Transfer Family endpoint. The default value is ``IPV4`` . .. epigraph:: The ``IpAddressType`` parameter has the following limitations: - It cannot be changed while the server is online. You must stop the server before modifying this parameter. - It cannot be updated to ``DUALSTACK`` if the server has ``AddressAllocationIds`` specified. > When using ``DUALSTACK`` as the ``IpAddressType`` , you cannot set the ``AddressAllocationIds`` parameter for the `EndpointDetails <https://docs.aws.amazon.com/transfer/latest/APIReference/API_EndpointDetails.html>`_ for the server.
|
|
3487
3995
|
:param logging_role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events. When set, you can view user activity in your CloudWatch logs.
|
|
3488
3996
|
:param post_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed after the user authenticates. .. epigraph:: The SFTP protocol does not support post-authentication display banners.
|
|
3489
3997
|
:param pre_authentication_login_banner: Specifies a string to display when users connect to a server. This string is displayed before the user authenticates. For example, the following banner displays details about using the system: ``This system is for the use of authorized users only. Individuals using this computer system without authority, or in excess of their authority, are subject to having all of their activities on this system monitored and recorded by system personnel.``
|
|
3490
3998
|
:param protocol_details: The protocol settings that are configured for your server. - To indicate passive mode (for FTP and FTPS protocols), use the ``PassiveIp`` parameter. Enter a single dotted-quad IPv4 address, such as the external IP address of a firewall, router, or load balancer. - To ignore the error that is generated when the client attempts to use the ``SETSTAT`` command on a file that you are uploading to an Amazon S3 bucket, use the ``SetStatOption`` parameter. To have the AWS Transfer Family server ignore the ``SETSTAT`` command and upload files without needing to make any changes to your SFTP client, set the value to ``ENABLE_NO_OP`` . If you set the ``SetStatOption`` parameter to ``ENABLE_NO_OP`` , Transfer Family generates a log entry to Amazon CloudWatch Logs, so that you can determine when the client is making a ``SETSTAT`` call. - To determine whether your AWS Transfer Family server resumes recent, negotiated sessions through a unique session ID, use the ``TlsSessionResumptionMode`` parameter. - ``As2Transports`` indicates the transport method for the AS2 messages. Currently, only HTTP is supported. The ``Protocols`` parameter is an array of strings. *Allowed values* : One or more of ``SFTP`` , ``FTPS`` , ``FTP`` , ``AS2``
|
|
3491
|
-
:param protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: - ``SFTP`` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH - ``FTPS`` (File Transfer Protocol Secure): File transfer with TLS encryption - ``FTP`` (File Transfer Protocol): Unencrypted file transfer - ``AS2`` (Applicability Statement 2): used for transporting structured business-to-business data .. epigraph:: - If you select ``FTPS`` , you must choose a certificate stored in
|
|
3492
|
-
:param s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
3999
|
+
:param protocols: Specifies the file transfer protocol or protocols over which your file transfer protocol client can connect to your server's endpoint. The available protocols are: - ``SFTP`` (Secure Shell (SSH) File Transfer Protocol): File transfer over SSH - ``FTPS`` (File Transfer Protocol Secure): File transfer with TLS encryption - ``FTP`` (File Transfer Protocol): Unencrypted file transfer - ``AS2`` (Applicability Statement 2): used for transporting structured business-to-business data .. epigraph:: - If you select ``FTPS`` , you must choose a certificate stored in Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS. - If ``Protocol`` includes either ``FTP`` or ``FTPS`` , then the ``EndpointType`` must be ``VPC`` and the ``IdentityProviderType`` must be either ``AWS_DIRECTORY_SERVICE`` , ``AWS_LAMBDA`` , or ``API_GATEWAY`` . - If ``Protocol`` includes ``FTP`` , then ``AddressAllocationIds`` cannot be associated. - If ``Protocol`` is set only to ``SFTP`` , the ``EndpointType`` can be set to ``PUBLIC`` and the ``IdentityProviderType`` can be set any of the supported identity types: ``SERVICE_MANAGED`` , ``AWS_DIRECTORY_SERVICE`` , ``AWS_LAMBDA`` , or ``API_GATEWAY`` . - If ``Protocol`` includes ``AS2`` , then the ``EndpointType`` must be ``VPC`` , and domain must be Amazon S3. The ``Protocols`` parameter is an array of strings. *Allowed values* : One or more of ``SFTP`` , ``FTPS`` , ``FTP`` , ``AS2``
|
|
4000
|
+
:param s3_storage_options: Specifies whether or not performance for your Amazon S3 directories is optimized. - If using the console, this is enabled by default. - If using the API or CLI, this is disabled by default. By default, home directory mappings have a ``TYPE`` of ``DIRECTORY`` . If you enable this option, you would then need to explicitly set the ``HomeDirectoryMapEntry`` ``Type`` to ``FILE`` if you want a mapping to have a file target.
|
|
3493
4001
|
:param security_policy_name: Specifies the name of the security policy for the server.
|
|
3494
4002
|
:param structured_log_destinations: Specifies the log groups to which your server logs are sent. To specify a log group, you must provide the ARN for an existing log group. In this case, the format of the log group is as follows: ``arn:aws:logs:region-name:amazon-account-id:log-group:log-group-name:*`` For example, ``arn:aws:logs:us-east-1:111122223333:log-group:mytestgroup:*`` If you have previously specified a log group for a server, you can clear it, and in effect turn off structured logging, by providing an empty value for this parameter in an ``update-server`` call. For example: ``update-server --server-id s-1234567890abcdef0 --structured-log-destinations``
|
|
3495
4003
|
:param tags: Key-value pairs that can be used to group and search for servers.
|
|
@@ -3523,6 +4031,7 @@ class CfnServerProps:
|
|
|
3523
4031
|
url="url"
|
|
3524
4032
|
),
|
|
3525
4033
|
identity_provider_type="identityProviderType",
|
|
4034
|
+
ip_address_type="ipAddressType",
|
|
3526
4035
|
logging_role="loggingRole",
|
|
3527
4036
|
post_authentication_login_banner="postAuthenticationLoginBanner",
|
|
3528
4037
|
pre_authentication_login_banner="preAuthenticationLoginBanner",
|
|
@@ -3562,6 +4071,7 @@ class CfnServerProps:
|
|
|
3562
4071
|
check_type(argname="argument endpoint_type", value=endpoint_type, expected_type=type_hints["endpoint_type"])
|
|
3563
4072
|
check_type(argname="argument identity_provider_details", value=identity_provider_details, expected_type=type_hints["identity_provider_details"])
|
|
3564
4073
|
check_type(argname="argument identity_provider_type", value=identity_provider_type, expected_type=type_hints["identity_provider_type"])
|
|
4074
|
+
check_type(argname="argument ip_address_type", value=ip_address_type, expected_type=type_hints["ip_address_type"])
|
|
3565
4075
|
check_type(argname="argument logging_role", value=logging_role, expected_type=type_hints["logging_role"])
|
|
3566
4076
|
check_type(argname="argument post_authentication_login_banner", value=post_authentication_login_banner, expected_type=type_hints["post_authentication_login_banner"])
|
|
3567
4077
|
check_type(argname="argument pre_authentication_login_banner", value=pre_authentication_login_banner, expected_type=type_hints["pre_authentication_login_banner"])
|
|
@@ -3585,6 +4095,8 @@ class CfnServerProps:
|
|
|
3585
4095
|
self._values["identity_provider_details"] = identity_provider_details
|
|
3586
4096
|
if identity_provider_type is not None:
|
|
3587
4097
|
self._values["identity_provider_type"] = identity_provider_type
|
|
4098
|
+
if ip_address_type is not None:
|
|
4099
|
+
self._values["ip_address_type"] = ip_address_type
|
|
3588
4100
|
if logging_role is not None:
|
|
3589
4101
|
self._values["logging_role"] = logging_role
|
|
3590
4102
|
if post_authentication_login_banner is not None:
|
|
@@ -3608,15 +4120,13 @@ class CfnServerProps:
|
|
|
3608
4120
|
|
|
3609
4121
|
@builtins.property
|
|
3610
4122
|
def certificate(self) -> typing.Optional[builtins.str]:
|
|
3611
|
-
'''The Amazon Resource Name (ARN) of the
|
|
4123
|
+
'''The Amazon Resource Name (ARN) of the Certificate Manager (ACM) certificate. Required when ``Protocols`` is set to ``FTPS`` .
|
|
3612
4124
|
|
|
3613
|
-
|
|
4125
|
+
To request a new public certificate, see `Request a public certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-public.html>`_ in the *Certificate Manager User Guide* .
|
|
3614
4126
|
|
|
3615
|
-
To
|
|
4127
|
+
To import an existing certificate into ACM, see `Importing certificates into ACM <https://docs.aws.amazon.com/acm/latest/userguide/import-certificate.html>`_ in the *Certificate Manager User Guide* .
|
|
3616
4128
|
|
|
3617
|
-
To
|
|
3618
|
-
|
|
3619
|
-
To request a private certificate to use FTPS through private IP addresses, see `Request a private certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html>`_ in the *AWS Certificate Manager User Guide* .
|
|
4129
|
+
To request a private certificate to use FTPS through private IP addresses, see `Request a private certificate <https://docs.aws.amazon.com/acm/latest/userguide/gs-acm-request-private.html>`_ in the *Certificate Manager User Guide* .
|
|
3620
4130
|
|
|
3621
4131
|
Certificates with the following cryptographic algorithms and key sizes are supported:
|
|
3622
4132
|
|
|
@@ -3707,6 +4217,23 @@ class CfnServerProps:
|
|
|
3707
4217
|
result = self._values.get("identity_provider_type")
|
|
3708
4218
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
3709
4219
|
|
|
4220
|
+
@builtins.property
|
|
4221
|
+
def ip_address_type(self) -> typing.Optional[builtins.str]:
|
|
4222
|
+
'''Specifies whether to use IPv4 only, or to use dual-stack (IPv4 and IPv6) for your AWS Transfer Family endpoint.
|
|
4223
|
+
|
|
4224
|
+
The default value is ``IPV4`` .
|
|
4225
|
+
.. epigraph::
|
|
4226
|
+
|
|
4227
|
+
The ``IpAddressType`` parameter has the following limitations:
|
|
4228
|
+
|
|
4229
|
+
- It cannot be changed while the server is online. You must stop the server before modifying this parameter.
|
|
4230
|
+
- It cannot be updated to ``DUALSTACK`` if the server has ``AddressAllocationIds`` specified. > When using ``DUALSTACK`` as the ``IpAddressType`` , you cannot set the ``AddressAllocationIds`` parameter for the `EndpointDetails <https://docs.aws.amazon.com/transfer/latest/APIReference/API_EndpointDetails.html>`_ for the server.
|
|
4231
|
+
|
|
4232
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-server.html#cfn-transfer-server-ipaddresstype
|
|
4233
|
+
'''
|
|
4234
|
+
result = self._values.get("ip_address_type")
|
|
4235
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
4236
|
+
|
|
3710
4237
|
@builtins.property
|
|
3711
4238
|
def logging_role(self) -> typing.Optional[builtins.str]:
|
|
3712
4239
|
'''The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that allows a server to turn on Amazon CloudWatch logging for Amazon S3 or Amazon EFS events.
|
|
@@ -3777,7 +4304,7 @@ class CfnServerProps:
|
|
|
3777
4304
|
|
|
3778
4305
|
.. epigraph::
|
|
3779
4306
|
|
|
3780
|
-
- If you select ``FTPS`` , you must choose a certificate stored in
|
|
4307
|
+
- If you select ``FTPS`` , you must choose a certificate stored in Certificate Manager (ACM) which is used to identify your server when clients connect to it over FTPS.
|
|
3781
4308
|
- If ``Protocol`` includes either ``FTP`` or ``FTPS`` , then the ``EndpointType`` must be ``VPC`` and the ``IdentityProviderType`` must be either ``AWS_DIRECTORY_SERVICE`` , ``AWS_LAMBDA`` , or ``API_GATEWAY`` .
|
|
3782
4309
|
- If ``Protocol`` includes ``FTP`` , then ``AddressAllocationIds`` cannot be associated.
|
|
3783
4310
|
- If ``Protocol`` is set only to ``SFTP`` , the ``EndpointType`` can be set to ``PUBLIC`` and the ``IdentityProviderType`` can be set any of the supported identity types: ``SERVICE_MANAGED`` , ``AWS_DIRECTORY_SERVICE`` , ``AWS_LAMBDA`` , or ``API_GATEWAY`` .
|
|
@@ -3796,7 +4323,10 @@ class CfnServerProps:
|
|
|
3796
4323
|
def s3_storage_options(
|
|
3797
4324
|
self,
|
|
3798
4325
|
) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnServer.S3StorageOptionsProperty]]:
|
|
3799
|
-
'''Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
4326
|
+
'''Specifies whether or not performance for your Amazon S3 directories is optimized.
|
|
4327
|
+
|
|
4328
|
+
- If using the console, this is enabled by default.
|
|
4329
|
+
- If using the API or CLI, this is disabled by default.
|
|
3800
4330
|
|
|
3801
4331
|
By default, home directory mappings have a ``TYPE`` of ``DIRECTORY`` . If you enable this option, you would then need to explicitly set the ``HomeDirectoryMapEntry`` ``Type`` to ``FILE`` if you want a mapping to have a file target.
|
|
3802
4332
|
|
|
@@ -3867,7 +4397,7 @@ class CfnServerProps:
|
|
|
3867
4397
|
)
|
|
3868
4398
|
|
|
3869
4399
|
|
|
3870
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
4400
|
+
@jsii.implements(_IInspectable_c2943556, _IUserRef_344ece73, _ITaggable_36806126)
|
|
3871
4401
|
class CfnUser(
|
|
3872
4402
|
_CfnResource_9df397a6,
|
|
3873
4403
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3934,13 +4464,14 @@ class CfnUser(
|
|
|
3934
4464
|
ssh_public_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3935
4465
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3936
4466
|
) -> None:
|
|
3937
|
-
'''
|
|
4467
|
+
'''Create a new ``AWS::Transfer::User``.
|
|
4468
|
+
|
|
3938
4469
|
:param scope: Scope in which this resource is defined.
|
|
3939
4470
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3940
4471
|
:param role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.
|
|
3941
4472
|
:param server_id: A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.
|
|
3942
4473
|
:param user_name: A unique string that identifies a user and is associated with a ``ServerId`` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.
|
|
3943
|
-
:param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph::
|
|
4474
|
+
:param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph:: You can use the ``HomeDirectory`` parameter for ``HomeDirectoryType`` when it is set to either ``PATH`` or ``LOGICAL`` .
|
|
3944
4475
|
:param home_directory_mappings: Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the ``Entry`` and ``Target`` pair, where ``Entry`` shows how the path is made visible and ``Target`` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in ``Target`` . This value can be set only when ``HomeDirectoryType`` is set to *LOGICAL* . The following is an ``Entry`` and ``Target`` pair example. ``[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`` In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (" ``chroot`` "). To do this, you can set ``Entry`` to ``/`` and set ``Target`` to the value the user should see for their home directory when they log in. The following is an ``Entry`` and ``Target`` pair example for ``chroot`` . ``[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]``
|
|
3945
4476
|
:param home_directory_type: The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to ``PATH`` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to ``LOGICAL`` , you need to provide mappings in the ``HomeDirectoryMappings`` for how you want to make Amazon S3 or Amazon EFS paths visible to your users. .. epigraph:: If ``HomeDirectoryType`` is ``LOGICAL`` , you must provide mappings, using the ``HomeDirectoryMappings`` parameter. If, on the other hand, ``HomeDirectoryType`` is ``PATH`` , you provide an absolute path using the ``HomeDirectory`` parameter. You cannot have both ``HomeDirectory`` and ``HomeDirectoryMappings`` in your template.
|
|
3946
4477
|
:param policy: A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ``${Transfer:UserName}`` , ``${Transfer:HomeDirectory}`` , and ``${Transfer:HomeBucket}`` . .. epigraph:: For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the ``Policy`` argument. For an example of a session policy, see `Example session policy <https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html>`_ . For more information, see `AssumeRole <https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html>`_ in the *AWS Security Token Service API Reference* .
|
|
@@ -4041,6 +4572,12 @@ class CfnUser(
|
|
|
4041
4572
|
'''Tag Manager which manages the tags for this resource.'''
|
|
4042
4573
|
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
|
|
4043
4574
|
|
|
4575
|
+
@builtins.property
|
|
4576
|
+
@jsii.member(jsii_name="userRef")
|
|
4577
|
+
def user_ref(self) -> _UserReference_c3e4eb82:
|
|
4578
|
+
'''A reference to a User resource.'''
|
|
4579
|
+
return typing.cast(_UserReference_c3e4eb82, jsii.get(self, "userRef"))
|
|
4580
|
+
|
|
4044
4581
|
@builtins.property
|
|
4045
4582
|
@jsii.member(jsii_name="role")
|
|
4046
4583
|
def role(self) -> builtins.str:
|
|
@@ -4406,7 +4943,7 @@ class CfnUserProps:
|
|
|
4406
4943
|
:param role: The Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role that controls your users' access to your Amazon S3 bucket or Amazon EFS file system. The policies attached to this role determine the level of access that you want to provide your users when transferring files into and out of your Amazon S3 bucket or Amazon EFS file system. The IAM role should also contain a trust relationship that allows the server to access your resources when servicing your users' transfer requests.
|
|
4407
4944
|
:param server_id: A system-assigned unique identifier for a server instance. This is the specific server that you added your user to.
|
|
4408
4945
|
:param user_name: A unique string that identifies a user and is associated with a ``ServerId`` . This user name must be a minimum of 3 and a maximum of 100 characters long. The following are valid characters: a-z, A-Z, 0-9, underscore '_', hyphen '-', period '.', and at sign '@'. The user name can't start with a hyphen, period, or at sign.
|
|
4409
|
-
:param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph::
|
|
4946
|
+
:param home_directory: The landing directory (folder) for a user when they log in to the server using the client. A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` . .. epigraph:: You can use the ``HomeDirectory`` parameter for ``HomeDirectoryType`` when it is set to either ``PATH`` or ``LOGICAL`` .
|
|
4410
4947
|
:param home_directory_mappings: Logical directory mappings that specify what Amazon S3 or Amazon EFS paths and keys should be visible to your user and how you want to make them visible. You must specify the ``Entry`` and ``Target`` pair, where ``Entry`` shows how the path is made visible and ``Target`` is the actual Amazon S3 or Amazon EFS path. If you only specify a target, it is displayed as is. You also must ensure that your AWS Identity and Access Management (IAM) role provides access to paths in ``Target`` . This value can be set only when ``HomeDirectoryType`` is set to *LOGICAL* . The following is an ``Entry`` and ``Target`` pair example. ``[ { "Entry": "/directory1", "Target": "/bucket_name/home/mydirectory" } ]`` In most cases, you can use this value instead of the session policy to lock your user down to the designated home directory (" ``chroot`` "). To do this, you can set ``Entry`` to ``/`` and set ``Target`` to the value the user should see for their home directory when they log in. The following is an ``Entry`` and ``Target`` pair example for ``chroot`` . ``[ { "Entry": "/", "Target": "/bucket_name/home/mydirectory" } ]``
|
|
4411
4948
|
:param home_directory_type: The type of landing directory (folder) that you want your users' home directory to be when they log in to the server. If you set it to ``PATH`` , the user will see the absolute Amazon S3 bucket or Amazon EFS path as is in their file transfer protocol clients. If you set it to ``LOGICAL`` , you need to provide mappings in the ``HomeDirectoryMappings`` for how you want to make Amazon S3 or Amazon EFS paths visible to your users. .. epigraph:: If ``HomeDirectoryType`` is ``LOGICAL`` , you must provide mappings, using the ``HomeDirectoryMappings`` parameter. If, on the other hand, ``HomeDirectoryType`` is ``PATH`` , you provide an absolute path using the ``HomeDirectory`` parameter. You cannot have both ``HomeDirectory`` and ``HomeDirectoryMappings`` in your template.
|
|
4412
4949
|
:param policy: A session policy for your user so you can use the same IAM role across multiple users. This policy restricts user access to portions of their Amazon S3 bucket. Variables that you can use inside this policy include ``${Transfer:UserName}`` , ``${Transfer:HomeDirectory}`` , and ``${Transfer:HomeBucket}`` . .. epigraph:: For session policies, AWS Transfer Family stores the policy as a JSON blob, instead of the Amazon Resource Name (ARN) of the policy. You save the policy as a JSON blob and pass it in the ``Policy`` argument. For an example of a session policy, see `Example session policy <https://docs.aws.amazon.com/transfer/latest/userguide/session-policy.html>`_ . For more information, see `AssumeRole <https://docs.aws.amazon.com/STS/latest/APIReference/API_AssumeRole.html>`_ in the *AWS Security Token Service API Reference* .
|
|
@@ -4528,7 +5065,7 @@ class CfnUserProps:
|
|
|
4528
5065
|
A ``HomeDirectory`` example is ``/bucket_name/home/mydirectory`` .
|
|
4529
5066
|
.. epigraph::
|
|
4530
5067
|
|
|
4531
|
-
|
|
5068
|
+
You can use the ``HomeDirectory`` parameter for ``HomeDirectoryType`` when it is set to either ``PATH`` or ``LOGICAL`` .
|
|
4532
5069
|
|
|
4533
5070
|
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-homedirectory
|
|
4534
5071
|
'''
|
|
@@ -4641,7 +5178,7 @@ class CfnUserProps:
|
|
|
4641
5178
|
)
|
|
4642
5179
|
|
|
4643
5180
|
|
|
4644
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
|
|
5181
|
+
@jsii.implements(_IInspectable_c2943556, _IWebAppRef_5ec8f507, _ITaggableV2_4e6798f8)
|
|
4645
5182
|
class CfnWebApp(
|
|
4646
5183
|
_CfnResource_9df397a6,
|
|
4647
5184
|
metaclass=jsii.JSIIMeta,
|
|
@@ -4696,7 +5233,8 @@ class CfnWebApp(
|
|
|
4696
5233
|
web_app_endpoint_policy: typing.Optional[builtins.str] = None,
|
|
4697
5234
|
web_app_units: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebApp.WebAppUnitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4698
5235
|
) -> None:
|
|
4699
|
-
'''
|
|
5236
|
+
'''Create a new ``AWS::Transfer::WebApp``.
|
|
5237
|
+
|
|
4700
5238
|
:param scope: Scope in which this resource is defined.
|
|
4701
5239
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
4702
5240
|
:param identity_provider_details: You can provide a structure that contains the details for the identity provider to use with your web app. For more details about this parameter, see `Configure your identity provider for Transfer Family web apps <https://docs.aws.amazon.com//transfer/latest/userguide/webapp-identity-center.html>`_ .
|
|
@@ -4789,6 +5327,12 @@ class CfnWebApp(
|
|
|
4789
5327
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
4790
5328
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
4791
5329
|
|
|
5330
|
+
@builtins.property
|
|
5331
|
+
@jsii.member(jsii_name="webAppRef")
|
|
5332
|
+
def web_app_ref(self) -> _WebAppReference_b5630dd4:
|
|
5333
|
+
'''A reference to a WebApp resource.'''
|
|
5334
|
+
return typing.cast(_WebAppReference_b5630dd4, jsii.get(self, "webAppRef"))
|
|
5335
|
+
|
|
4792
5336
|
@builtins.property
|
|
4793
5337
|
@jsii.member(jsii_name="identityProviderDetails")
|
|
4794
5338
|
def identity_provider_details(
|
|
@@ -5292,7 +5836,7 @@ class CfnWebAppProps:
|
|
|
5292
5836
|
)
|
|
5293
5837
|
|
|
5294
5838
|
|
|
5295
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
5839
|
+
@jsii.implements(_IInspectable_c2943556, _IWorkflowRef_1a79a531, _ITaggable_36806126)
|
|
5296
5840
|
class CfnWorkflow(
|
|
5297
5841
|
_CfnResource_9df397a6,
|
|
5298
5842
|
metaclass=jsii.JSIIMeta,
|
|
@@ -5388,7 +5932,8 @@ class CfnWorkflow(
|
|
|
5388
5932
|
on_exception_steps: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWorkflow.WorkflowStepProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5389
5933
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5390
5934
|
) -> None:
|
|
5391
|
-
'''
|
|
5935
|
+
'''Create a new ``AWS::Transfer::Workflow``.
|
|
5936
|
+
|
|
5392
5937
|
:param scope: Scope in which this resource is defined.
|
|
5393
5938
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
5394
5939
|
:param steps: Specifies the details for the steps that are in the specified workflow.
|
|
@@ -5409,6 +5954,48 @@ class CfnWorkflow(
|
|
|
5409
5954
|
|
|
5410
5955
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
5411
5956
|
|
|
5957
|
+
@jsii.member(jsii_name="fromWorkflowArn")
|
|
5958
|
+
@builtins.classmethod
|
|
5959
|
+
def from_workflow_arn(
|
|
5960
|
+
cls,
|
|
5961
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5962
|
+
id: builtins.str,
|
|
5963
|
+
arn: builtins.str,
|
|
5964
|
+
) -> _IWorkflowRef_1a79a531:
|
|
5965
|
+
'''Creates a new IWorkflowRef from an ARN.
|
|
5966
|
+
|
|
5967
|
+
:param scope: -
|
|
5968
|
+
:param id: -
|
|
5969
|
+
:param arn: -
|
|
5970
|
+
'''
|
|
5971
|
+
if __debug__:
|
|
5972
|
+
type_hints = typing.get_type_hints(_typecheckingstub__fe53c79c7532b3619e6be4cd157702c5cab36a8777950667b5647332a0038621)
|
|
5973
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
5974
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
5975
|
+
check_type(argname="argument arn", value=arn, expected_type=type_hints["arn"])
|
|
5976
|
+
return typing.cast(_IWorkflowRef_1a79a531, jsii.sinvoke(cls, "fromWorkflowArn", [scope, id, arn]))
|
|
5977
|
+
|
|
5978
|
+
@jsii.member(jsii_name="fromWorkflowId")
|
|
5979
|
+
@builtins.classmethod
|
|
5980
|
+
def from_workflow_id(
|
|
5981
|
+
cls,
|
|
5982
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
5983
|
+
id: builtins.str,
|
|
5984
|
+
workflow_id: builtins.str,
|
|
5985
|
+
) -> _IWorkflowRef_1a79a531:
|
|
5986
|
+
'''Creates a new IWorkflowRef from a workflowId.
|
|
5987
|
+
|
|
5988
|
+
:param scope: -
|
|
5989
|
+
:param id: -
|
|
5990
|
+
:param workflow_id: -
|
|
5991
|
+
'''
|
|
5992
|
+
if __debug__:
|
|
5993
|
+
type_hints = typing.get_type_hints(_typecheckingstub__42c6ff2311d814991108aadd101319b04b1b334b1daf50bcd421d633d00c8645)
|
|
5994
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
5995
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
5996
|
+
check_type(argname="argument workflow_id", value=workflow_id, expected_type=type_hints["workflow_id"])
|
|
5997
|
+
return typing.cast(_IWorkflowRef_1a79a531, jsii.sinvoke(cls, "fromWorkflowId", [scope, id, workflow_id]))
|
|
5998
|
+
|
|
5412
5999
|
@jsii.member(jsii_name="inspect")
|
|
5413
6000
|
def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
|
|
5414
6001
|
'''Examines the CloudFormation resource and discloses attributes.
|
|
@@ -5468,6 +6055,12 @@ class CfnWorkflow(
|
|
|
5468
6055
|
'''Tag Manager which manages the tags for this resource.'''
|
|
5469
6056
|
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
|
|
5470
6057
|
|
|
6058
|
+
@builtins.property
|
|
6059
|
+
@jsii.member(jsii_name="workflowRef")
|
|
6060
|
+
def workflow_ref(self) -> _WorkflowReference_25a0bf6c:
|
|
6061
|
+
'''A reference to a Workflow resource.'''
|
|
6062
|
+
return typing.cast(_WorkflowReference_25a0bf6c, jsii.get(self, "workflowRef"))
|
|
6063
|
+
|
|
5471
6064
|
@builtins.property
|
|
5472
6065
|
@jsii.member(jsii_name="steps")
|
|
5473
6066
|
def steps(
|
|
@@ -6979,6 +7572,22 @@ def _typecheckingstub__0f95ee160137bed43b6b325f0de8dc95bc0d10db792e4492913f9d664
|
|
|
6979
7572
|
"""Type checking stubs"""
|
|
6980
7573
|
pass
|
|
6981
7574
|
|
|
7575
|
+
def _typecheckingstub__dc4fb6b44e5c3b46d7a4b6d2cddd238e6967e5ba869d0beec1e241cd289794f0(
|
|
7576
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7577
|
+
id: builtins.str,
|
|
7578
|
+
arn: builtins.str,
|
|
7579
|
+
) -> None:
|
|
7580
|
+
"""Type checking stubs"""
|
|
7581
|
+
pass
|
|
7582
|
+
|
|
7583
|
+
def _typecheckingstub__5ac0c4753dbb35aa2c4992fbcf97129e0a6a0be0b5fee455f1416d86edcba9ea(
|
|
7584
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7585
|
+
id: builtins.str,
|
|
7586
|
+
certificate_id: builtins.str,
|
|
7587
|
+
) -> None:
|
|
7588
|
+
"""Type checking stubs"""
|
|
7589
|
+
pass
|
|
7590
|
+
|
|
6982
7591
|
def _typecheckingstub__f1474a816abc465fbde815216c7dd03f20d910c99fb002aee78d0f01c8d4f55c(
|
|
6983
7592
|
inspector: _TreeInspector_488e0dd5,
|
|
6984
7593
|
) -> None:
|
|
@@ -7058,12 +7667,30 @@ def _typecheckingstub__2a3d92be7ab611ebe6dbf531ad899c2a95b3655fb829aeffdf52fdb11
|
|
|
7058
7667
|
id: builtins.str,
|
|
7059
7668
|
*,
|
|
7060
7669
|
access_role: builtins.str,
|
|
7061
|
-
url: builtins.str,
|
|
7062
7670
|
as2_config: typing.Any = None,
|
|
7671
|
+
egress_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.ConnectorEgressConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7672
|
+
egress_type: typing.Optional[builtins.str] = None,
|
|
7063
7673
|
logging_role: typing.Optional[builtins.str] = None,
|
|
7064
7674
|
security_policy_name: typing.Optional[builtins.str] = None,
|
|
7065
7675
|
sftp_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.SftpConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7066
7676
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7677
|
+
url: typing.Optional[builtins.str] = None,
|
|
7678
|
+
) -> None:
|
|
7679
|
+
"""Type checking stubs"""
|
|
7680
|
+
pass
|
|
7681
|
+
|
|
7682
|
+
def _typecheckingstub__a59af73cca17d333ea4e8a725b5ea84947fbdf727ceaa58fb5d37dde8ba99e43(
|
|
7683
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7684
|
+
id: builtins.str,
|
|
7685
|
+
arn: builtins.str,
|
|
7686
|
+
) -> None:
|
|
7687
|
+
"""Type checking stubs"""
|
|
7688
|
+
pass
|
|
7689
|
+
|
|
7690
|
+
def _typecheckingstub__38a8932f140563c5eae5ee417477d8ef0fb37d560d4497ce233ca03fcfedea17(
|
|
7691
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7692
|
+
id: builtins.str,
|
|
7693
|
+
connector_id: builtins.str,
|
|
7067
7694
|
) -> None:
|
|
7068
7695
|
"""Type checking stubs"""
|
|
7069
7696
|
pass
|
|
@@ -7086,14 +7713,20 @@ def _typecheckingstub__9f4bab9f1a3e47eaac0c429ed6125ef23e8b2d8f33fac6396c2ef4a60
|
|
|
7086
7713
|
"""Type checking stubs"""
|
|
7087
7714
|
pass
|
|
7088
7715
|
|
|
7089
|
-
def
|
|
7090
|
-
value:
|
|
7716
|
+
def _typecheckingstub__b16726d88010ccba3b94afdf2e5c9f9c1e8e4dc3d9f7d56e2edf0140e687d75c(
|
|
7717
|
+
value: typing.Any,
|
|
7091
7718
|
) -> None:
|
|
7092
7719
|
"""Type checking stubs"""
|
|
7093
7720
|
pass
|
|
7094
7721
|
|
|
7095
|
-
def
|
|
7096
|
-
value: typing.
|
|
7722
|
+
def _typecheckingstub__55aea3d9a7ecfbca3e7720afc14e3094de156e071c5256ed2311a1836a9c6b83(
|
|
7723
|
+
value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnConnector.ConnectorEgressConfigProperty]],
|
|
7724
|
+
) -> None:
|
|
7725
|
+
"""Type checking stubs"""
|
|
7726
|
+
pass
|
|
7727
|
+
|
|
7728
|
+
def _typecheckingstub__76cb18c9a86ea56efbf380e02f9b601550c701ceae1cc70d08ec7b3e6acf483f(
|
|
7729
|
+
value: typing.Optional[builtins.str],
|
|
7097
7730
|
) -> None:
|
|
7098
7731
|
"""Type checking stubs"""
|
|
7099
7732
|
pass
|
|
@@ -7122,6 +7755,12 @@ def _typecheckingstub__207f7abcb769a2e1717d82ad1c8c7df0c05b8d8d3d89a23127362727d
|
|
|
7122
7755
|
"""Type checking stubs"""
|
|
7123
7756
|
pass
|
|
7124
7757
|
|
|
7758
|
+
def _typecheckingstub__7f2f8d48aab925fcdb11fb86f8b12aeae11aa8b85048a7ded27a817b5864536d(
|
|
7759
|
+
value: typing.Optional[builtins.str],
|
|
7760
|
+
) -> None:
|
|
7761
|
+
"""Type checking stubs"""
|
|
7762
|
+
pass
|
|
7763
|
+
|
|
7125
7764
|
def _typecheckingstub__328497a7bbb181a996e0747268f6105731221ad3f578e8a5ca68e405dcdd7e63(
|
|
7126
7765
|
*,
|
|
7127
7766
|
basic_auth_secret_id: typing.Optional[builtins.str] = None,
|
|
@@ -7138,8 +7777,24 @@ def _typecheckingstub__328497a7bbb181a996e0747268f6105731221ad3f578e8a5ca68e405d
|
|
|
7138
7777
|
"""Type checking stubs"""
|
|
7139
7778
|
pass
|
|
7140
7779
|
|
|
7780
|
+
def _typecheckingstub__3c92ac24e9baf6146c2fe287847ce0fba33a6a7c52ec7e38c13aebcf95a5687a(
|
|
7781
|
+
*,
|
|
7782
|
+
vpc_lattice: typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.ConnectorVpcLatticeEgressConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
7783
|
+
) -> None:
|
|
7784
|
+
"""Type checking stubs"""
|
|
7785
|
+
pass
|
|
7786
|
+
|
|
7787
|
+
def _typecheckingstub__53a48f28bdc82ead21fcc7f4a6cb2d63a8b7bb31c09769a4d8ab452c1da15927(
|
|
7788
|
+
*,
|
|
7789
|
+
resource_configuration_arn: builtins.str,
|
|
7790
|
+
port_number: typing.Optional[jsii.Number] = None,
|
|
7791
|
+
) -> None:
|
|
7792
|
+
"""Type checking stubs"""
|
|
7793
|
+
pass
|
|
7794
|
+
|
|
7141
7795
|
def _typecheckingstub__f4f8d4be2ad63a06a458c41605c9c21318e1d9117d48f21b9ee2ea6bb109d2e8(
|
|
7142
7796
|
*,
|
|
7797
|
+
max_concurrent_connections: typing.Optional[jsii.Number] = None,
|
|
7143
7798
|
trusted_host_keys: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7144
7799
|
user_secret_id: typing.Optional[builtins.str] = None,
|
|
7145
7800
|
) -> None:
|
|
@@ -7149,12 +7804,14 @@ def _typecheckingstub__f4f8d4be2ad63a06a458c41605c9c21318e1d9117d48f21b9ee2ea6bb
|
|
|
7149
7804
|
def _typecheckingstub__7675f9dcded8f51977cf70f499821100319fe5d62996cb917457f772cfcc9a2e(
|
|
7150
7805
|
*,
|
|
7151
7806
|
access_role: builtins.str,
|
|
7152
|
-
url: builtins.str,
|
|
7153
7807
|
as2_config: typing.Any = None,
|
|
7808
|
+
egress_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.ConnectorEgressConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7809
|
+
egress_type: typing.Optional[builtins.str] = None,
|
|
7154
7810
|
logging_role: typing.Optional[builtins.str] = None,
|
|
7155
7811
|
security_policy_name: typing.Optional[builtins.str] = None,
|
|
7156
7812
|
sftp_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnConnector.SftpConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7157
7813
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7814
|
+
url: typing.Optional[builtins.str] = None,
|
|
7158
7815
|
) -> None:
|
|
7159
7816
|
"""Type checking stubs"""
|
|
7160
7817
|
pass
|
|
@@ -7171,6 +7828,22 @@ def _typecheckingstub__f5b82428b7fd1ac13f1a57b868694175d216c1f61c671da5b091d46d8
|
|
|
7171
7828
|
"""Type checking stubs"""
|
|
7172
7829
|
pass
|
|
7173
7830
|
|
|
7831
|
+
def _typecheckingstub__06008f4a63def34bd89f1208264539fe9dfb8dc17a9fd244d185273546799142(
|
|
7832
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7833
|
+
id: builtins.str,
|
|
7834
|
+
arn: builtins.str,
|
|
7835
|
+
) -> None:
|
|
7836
|
+
"""Type checking stubs"""
|
|
7837
|
+
pass
|
|
7838
|
+
|
|
7839
|
+
def _typecheckingstub__feb8675e38aa0953f2ede297f189ff49cd5a30c0b0176aac11fd742a2fda9b49(
|
|
7840
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
7841
|
+
id: builtins.str,
|
|
7842
|
+
profile_id: builtins.str,
|
|
7843
|
+
) -> None:
|
|
7844
|
+
"""Type checking stubs"""
|
|
7845
|
+
pass
|
|
7846
|
+
|
|
7174
7847
|
def _typecheckingstub__56325834528256f6c2bd12b40bde80e132a645d3bffd84876d0f808ee64a8d81(
|
|
7175
7848
|
inspector: _TreeInspector_488e0dd5,
|
|
7176
7849
|
) -> None:
|
|
@@ -7227,6 +7900,7 @@ def _typecheckingstub__bf4192baa4fd5a52c9092a6bab5b78398f0e5f14bdad138f58e799069
|
|
|
7227
7900
|
endpoint_type: typing.Optional[builtins.str] = None,
|
|
7228
7901
|
identity_provider_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServer.IdentityProviderDetailsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7229
7902
|
identity_provider_type: typing.Optional[builtins.str] = None,
|
|
7903
|
+
ip_address_type: typing.Optional[builtins.str] = None,
|
|
7230
7904
|
logging_role: typing.Optional[builtins.str] = None,
|
|
7231
7905
|
post_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
7232
7906
|
pre_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
@@ -7289,6 +7963,12 @@ def _typecheckingstub__08a6cb2bcf7a55379e6b89fa02d0735271e11fc131bf9d9b0693cea39
|
|
|
7289
7963
|
"""Type checking stubs"""
|
|
7290
7964
|
pass
|
|
7291
7965
|
|
|
7966
|
+
def _typecheckingstub__8cfe7d7f7218e63daf2394f025140f03c85b4b448857853b83b58f4e59a3eee0(
|
|
7967
|
+
value: typing.Optional[builtins.str],
|
|
7968
|
+
) -> None:
|
|
7969
|
+
"""Type checking stubs"""
|
|
7970
|
+
pass
|
|
7971
|
+
|
|
7292
7972
|
def _typecheckingstub__85db09859b7fcfcae20f45283fb5e74d7f731e8583b8055856472647123250d9(
|
|
7293
7973
|
value: typing.Optional[builtins.str],
|
|
7294
7974
|
) -> None:
|
|
@@ -7412,6 +8092,7 @@ def _typecheckingstub__755735299782e941527b817551c61582134dc6f25d12aff5d9120aeeb
|
|
|
7412
8092
|
endpoint_type: typing.Optional[builtins.str] = None,
|
|
7413
8093
|
identity_provider_details: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnServer.IdentityProviderDetailsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
7414
8094
|
identity_provider_type: typing.Optional[builtins.str] = None,
|
|
8095
|
+
ip_address_type: typing.Optional[builtins.str] = None,
|
|
7415
8096
|
logging_role: typing.Optional[builtins.str] = None,
|
|
7416
8097
|
post_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
7417
8098
|
pre_authentication_login_banner: typing.Optional[builtins.str] = None,
|
|
@@ -7661,6 +8342,22 @@ def _typecheckingstub__9a86ecf6f123d228f6edf61149bc2542f6ce02d9365ac8986ec7c6468
|
|
|
7661
8342
|
"""Type checking stubs"""
|
|
7662
8343
|
pass
|
|
7663
8344
|
|
|
8345
|
+
def _typecheckingstub__fe53c79c7532b3619e6be4cd157702c5cab36a8777950667b5647332a0038621(
|
|
8346
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
8347
|
+
id: builtins.str,
|
|
8348
|
+
arn: builtins.str,
|
|
8349
|
+
) -> None:
|
|
8350
|
+
"""Type checking stubs"""
|
|
8351
|
+
pass
|
|
8352
|
+
|
|
8353
|
+
def _typecheckingstub__42c6ff2311d814991108aadd101319b04b1b334b1daf50bcd421d633d00c8645(
|
|
8354
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
8355
|
+
id: builtins.str,
|
|
8356
|
+
workflow_id: builtins.str,
|
|
8357
|
+
) -> None:
|
|
8358
|
+
"""Type checking stubs"""
|
|
8359
|
+
pass
|
|
8360
|
+
|
|
7664
8361
|
def _typecheckingstub__fcf8488f51b3aba3af306d264af9434fa1e0040f1b353a0381fc97849f0e69f1(
|
|
7665
8362
|
inspector: _TreeInspector_488e0dd5,
|
|
7666
8363
|
) -> None:
|