aws-cdk-lib 2.181.1__py3-none-any.whl → 2.183.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.

Files changed (69) hide show
  1. aws_cdk/__init__.py +751 -41
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.181.1.jsii.tgz → aws-cdk-lib@2.183.0.jsii.tgz} +0 -0
  4. aws_cdk/assertions/__init__.py +59 -0
  5. aws_cdk/aws_apigateway/__init__.py +122 -66
  6. aws_cdk/aws_applicationautoscaling/__init__.py +4 -0
  7. aws_cdk/aws_appsync/__init__.py +30 -4
  8. aws_cdk/aws_autoscaling/__init__.py +409 -36
  9. aws_cdk/aws_batch/__init__.py +638 -14
  10. aws_cdk/aws_bedrock/__init__.py +6009 -2326
  11. aws_cdk/aws_ce/__init__.py +141 -3
  12. aws_cdk/aws_certificatemanager/__init__.py +24 -0
  13. aws_cdk/aws_cloudformation/__init__.py +310 -35
  14. aws_cdk/aws_cloudfront/__init__.py +1 -0
  15. aws_cdk/aws_cloudtrail/__init__.py +8 -8
  16. aws_cdk/aws_codebuild/__init__.py +4 -10
  17. aws_cdk/aws_cognito/__init__.py +3 -3
  18. aws_cdk/aws_datazone/__init__.py +82 -0
  19. aws_cdk/aws_dms/__init__.py +350 -0
  20. aws_cdk/aws_ec2/__init__.py +95 -17
  21. aws_cdk/aws_ecr/__init__.py +10 -4
  22. aws_cdk/aws_ecs/__init__.py +58 -9
  23. aws_cdk/aws_eks/__init__.py +32 -3
  24. aws_cdk/aws_elasticache/__init__.py +3 -3
  25. aws_cdk/aws_emr/__init__.py +9 -3
  26. aws_cdk/aws_fsx/__init__.py +2 -0
  27. aws_cdk/aws_gameliftstreams/__init__.py +1205 -0
  28. aws_cdk/aws_guardduty/__init__.py +38 -26
  29. aws_cdk/aws_iam/__init__.py +295 -37
  30. aws_cdk/aws_inspector/__init__.py +180 -1
  31. aws_cdk/aws_iot/__init__.py +616 -22
  32. aws_cdk/aws_iotfleetwise/__init__.py +72 -10
  33. aws_cdk/aws_iotsitewise/__init__.py +14 -11
  34. aws_cdk/aws_kafkaconnect/__init__.py +4 -2
  35. aws_cdk/aws_kinesisfirehose/__init__.py +6 -0
  36. aws_cdk/aws_lambda/__init__.py +17 -0
  37. aws_cdk/aws_logs/__init__.py +135 -0
  38. aws_cdk/aws_medialive/__init__.py +86 -86
  39. aws_cdk/aws_mediapackagev2/__init__.py +22 -14
  40. aws_cdk/aws_msk/__init__.py +236 -128
  41. aws_cdk/aws_neptunegraph/__init__.py +3 -3
  42. aws_cdk/aws_opensearchserverless/__init__.py +1031 -0
  43. aws_cdk/aws_opensearchservice/__init__.py +261 -1
  44. aws_cdk/aws_pcaconnectorad/__init__.py +30 -4
  45. aws_cdk/aws_pipes/__init__.py +6 -2
  46. aws_cdk/aws_quicksight/__init__.py +6712 -20758
  47. aws_cdk/aws_rds/__init__.py +174 -30
  48. aws_cdk/aws_redshift/__init__.py +8 -8
  49. aws_cdk/aws_s3/__init__.py +8 -0
  50. aws_cdk/aws_sagemaker/__init__.py +80 -18
  51. aws_cdk/aws_securitylake/__init__.py +3 -0
  52. aws_cdk/aws_sns/__init__.py +76 -1
  53. aws_cdk/aws_synthetics/__init__.py +2 -0
  54. aws_cdk/aws_transfer/__init__.py +241 -40
  55. aws_cdk/aws_vpclattice/__init__.py +144 -9
  56. aws_cdk/aws_wafv2/__init__.py +790 -0
  57. aws_cdk/aws_wisdom/__init__.py +3 -110
  58. aws_cdk/aws_workspacesthinclient/__init__.py +4 -4
  59. aws_cdk/aws_workspacesweb/__init__.py +179 -2
  60. aws_cdk/aws_xray/__init__.py +195 -0
  61. aws_cdk/cloud_assembly_schema/__init__.py +224 -4
  62. aws_cdk/custom_resources/__init__.py +65 -8
  63. aws_cdk/cx_api/__init__.py +2 -1
  64. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/METADATA +2 -2
  65. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/RECORD +69 -68
  66. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/LICENSE +0 -0
  67. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/NOTICE +0 -0
  68. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/WHEEL +0 -0
  69. {aws_cdk_lib-2.181.1.dist-info → aws_cdk_lib-2.183.0.dist-info}/top_level.txt +0 -0
@@ -97,12 +97,19 @@ class CfnAgreement(
97
97
 
98
98
  cfn_agreement = transfer.CfnAgreement(self, "MyCfnAgreement",
99
99
  access_role="accessRole",
100
- base_directory="baseDirectory",
101
100
  local_profile_id="localProfileId",
102
101
  partner_profile_id="partnerProfileId",
103
102
  server_id="serverId",
104
103
 
105
104
  # the properties below are optional
105
+ base_directory="baseDirectory",
106
+ custom_directories=transfer.CfnAgreement.CustomDirectoriesProperty(
107
+ failed_files_directory="failedFilesDirectory",
108
+ mdn_files_directory="mdnFilesDirectory",
109
+ payload_files_directory="payloadFilesDirectory",
110
+ status_files_directory="statusFilesDirectory",
111
+ temporary_files_directory="temporaryFilesDirectory"
112
+ ),
106
113
  description="description",
107
114
  enforce_message_signing="enforceMessageSigning",
108
115
  preserve_filename="preserveFilename",
@@ -120,10 +127,11 @@ class CfnAgreement(
120
127
  id: builtins.str,
121
128
  *,
122
129
  access_role: builtins.str,
123
- base_directory: builtins.str,
124
130
  local_profile_id: builtins.str,
125
131
  partner_profile_id: builtins.str,
126
132
  server_id: builtins.str,
133
+ base_directory: typing.Optional[builtins.str] = None,
134
+ custom_directories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnAgreement.CustomDirectoriesProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
127
135
  description: typing.Optional[builtins.str] = None,
128
136
  enforce_message_signing: typing.Optional[builtins.str] = None,
129
137
  preserve_filename: typing.Optional[builtins.str] = None,
@@ -134,10 +142,11 @@ class CfnAgreement(
134
142
  :param scope: Scope in which this resource is defined.
135
143
  :param id: Construct identifier for this resource (unique in its scope).
136
144
  :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 .
137
- :param base_directory: The landing directory (folder) for files that are transferred by using the AS2 protocol.
138
145
  :param local_profile_id: A unique identifier for the AS2 local profile.
139
146
  :param partner_profile_id: A unique identifier for the partner profile used in the agreement.
140
147
  :param server_id: A system-assigned unique identifier for a server instance. This identifier indicates the specific server that the agreement uses.
148
+ :param base_directory: The landing directory (folder) for files that are transferred by using the AS2 protocol.
149
+ :param custom_directories: A ``CustomDirectoriesType`` structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files. - Failed files - MDN files - Payload files - Status files - Temporary files
141
150
  :param description: The name or short description that's used to identify the agreement.
142
151
  :param enforce_message_signing: Determines whether or not unsigned messages from your trading partners will be accepted. - ``ENABLED`` : Transfer Family rejects unsigned messages from your trading partner. - ``DISABLED`` (default value): Transfer Family accepts unsigned messages from your trading partner.
143
152
  :param preserve_filename: Determines whether or not Transfer Family appends a unique string of characters to the end of the AS2 message payload filename when saving it. - ``ENABLED`` : the filename provided by your trading parter is preserved when the file is saved. - ``DISABLED`` (default value): when Transfer Family saves the file, the filename is adjusted, as described in `File names and locations <https://docs.aws.amazon.com/transfer/latest/userguide/send-as2-messages.html#file-names-as2>`_ .
@@ -150,10 +159,11 @@ class CfnAgreement(
150
159
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
151
160
  props = CfnAgreementProps(
152
161
  access_role=access_role,
153
- base_directory=base_directory,
154
162
  local_profile_id=local_profile_id,
155
163
  partner_profile_id=partner_profile_id,
156
164
  server_id=server_id,
165
+ base_directory=base_directory,
166
+ custom_directories=custom_directories,
157
167
  description=description,
158
168
  enforce_message_signing=enforce_message_signing,
159
169
  preserve_filename=preserve_filename,
@@ -235,19 +245,6 @@ class CfnAgreement(
235
245
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
236
246
  jsii.set(self, "accessRole", value) # pyright: ignore[reportArgumentType]
237
247
 
238
- @builtins.property
239
- @jsii.member(jsii_name="baseDirectory")
240
- def base_directory(self) -> builtins.str:
241
- '''The landing directory (folder) for files that are transferred by using the AS2 protocol.'''
242
- return typing.cast(builtins.str, jsii.get(self, "baseDirectory"))
243
-
244
- @base_directory.setter
245
- def base_directory(self, value: builtins.str) -> None:
246
- if __debug__:
247
- type_hints = typing.get_type_hints(_typecheckingstub__e95a046a6530138645bcc3d9ea79bf173c25ac44d2324af6ecc4137b705bfc28)
248
- check_type(argname="argument value", value=value, expected_type=type_hints["value"])
249
- jsii.set(self, "baseDirectory", value) # pyright: ignore[reportArgumentType]
250
-
251
248
  @builtins.property
252
249
  @jsii.member(jsii_name="localProfileId")
253
250
  def local_profile_id(self) -> builtins.str:
@@ -287,6 +284,37 @@ class CfnAgreement(
287
284
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
288
285
  jsii.set(self, "serverId", value) # pyright: ignore[reportArgumentType]
289
286
 
287
+ @builtins.property
288
+ @jsii.member(jsii_name="baseDirectory")
289
+ def base_directory(self) -> typing.Optional[builtins.str]:
290
+ '''The landing directory (folder) for files that are transferred by using the AS2 protocol.'''
291
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "baseDirectory"))
292
+
293
+ @base_directory.setter
294
+ def base_directory(self, value: typing.Optional[builtins.str]) -> None:
295
+ if __debug__:
296
+ type_hints = typing.get_type_hints(_typecheckingstub__e95a046a6530138645bcc3d9ea79bf173c25ac44d2324af6ecc4137b705bfc28)
297
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
298
+ jsii.set(self, "baseDirectory", value) # pyright: ignore[reportArgumentType]
299
+
300
+ @builtins.property
301
+ @jsii.member(jsii_name="customDirectories")
302
+ def custom_directories(
303
+ self,
304
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgreement.CustomDirectoriesProperty"]]:
305
+ '''A ``CustomDirectoriesType`` structure.'''
306
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgreement.CustomDirectoriesProperty"]], jsii.get(self, "customDirectories"))
307
+
308
+ @custom_directories.setter
309
+ def custom_directories(
310
+ self,
311
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnAgreement.CustomDirectoriesProperty"]],
312
+ ) -> None:
313
+ if __debug__:
314
+ type_hints = typing.get_type_hints(_typecheckingstub__0dfcc069ad404f24e1d3d66293208f393508273f19347e58f547f45ba5f8a952)
315
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
316
+ jsii.set(self, "customDirectories", value) # pyright: ignore[reportArgumentType]
317
+
290
318
  @builtins.property
291
319
  @jsii.member(jsii_name="description")
292
320
  def description(self) -> typing.Optional[builtins.str]:
@@ -352,16 +380,139 @@ class CfnAgreement(
352
380
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
353
381
  jsii.set(self, "tagsRaw", value) # pyright: ignore[reportArgumentType]
354
382
 
383
+ @jsii.data_type(
384
+ jsii_type="aws-cdk-lib.aws_transfer.CfnAgreement.CustomDirectoriesProperty",
385
+ jsii_struct_bases=[],
386
+ name_mapping={
387
+ "failed_files_directory": "failedFilesDirectory",
388
+ "mdn_files_directory": "mdnFilesDirectory",
389
+ "payload_files_directory": "payloadFilesDirectory",
390
+ "status_files_directory": "statusFilesDirectory",
391
+ "temporary_files_directory": "temporaryFilesDirectory",
392
+ },
393
+ )
394
+ class CustomDirectoriesProperty:
395
+ def __init__(
396
+ self,
397
+ *,
398
+ failed_files_directory: builtins.str,
399
+ mdn_files_directory: builtins.str,
400
+ payload_files_directory: builtins.str,
401
+ status_files_directory: builtins.str,
402
+ temporary_files_directory: builtins.str,
403
+ ) -> None:
404
+ '''Specifies a separate directory for each type of file to store for an AS2 message.
405
+
406
+ :param failed_files_directory: Specifies a location to store the failed files for an AS2 message.
407
+ :param mdn_files_directory: Specifies a location to store the MDN file for an AS2 message.
408
+ :param payload_files_directory: Specifies a location to store the payload file for an AS2 message.
409
+ :param status_files_directory: Specifies a location to store the status file for an AS2 message.
410
+ :param temporary_files_directory: Specifies a location to store the temporary processing file for an AS2 message.
411
+
412
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-agreement-customdirectories.html
413
+ :exampleMetadata: fixture=_generated
414
+
415
+ Example::
416
+
417
+ # The code below shows an example of how to instantiate this type.
418
+ # The values are placeholders you should change.
419
+ from aws_cdk import aws_transfer as transfer
420
+
421
+ custom_directories_property = transfer.CfnAgreement.CustomDirectoriesProperty(
422
+ failed_files_directory="failedFilesDirectory",
423
+ mdn_files_directory="mdnFilesDirectory",
424
+ payload_files_directory="payloadFilesDirectory",
425
+ status_files_directory="statusFilesDirectory",
426
+ temporary_files_directory="temporaryFilesDirectory"
427
+ )
428
+ '''
429
+ if __debug__:
430
+ type_hints = typing.get_type_hints(_typecheckingstub__98a40a95fd9ad9ea9bb69f5fdf7379c4b40ddd5a529d08076025691033961aa4)
431
+ check_type(argname="argument failed_files_directory", value=failed_files_directory, expected_type=type_hints["failed_files_directory"])
432
+ check_type(argname="argument mdn_files_directory", value=mdn_files_directory, expected_type=type_hints["mdn_files_directory"])
433
+ check_type(argname="argument payload_files_directory", value=payload_files_directory, expected_type=type_hints["payload_files_directory"])
434
+ check_type(argname="argument status_files_directory", value=status_files_directory, expected_type=type_hints["status_files_directory"])
435
+ check_type(argname="argument temporary_files_directory", value=temporary_files_directory, expected_type=type_hints["temporary_files_directory"])
436
+ self._values: typing.Dict[builtins.str, typing.Any] = {
437
+ "failed_files_directory": failed_files_directory,
438
+ "mdn_files_directory": mdn_files_directory,
439
+ "payload_files_directory": payload_files_directory,
440
+ "status_files_directory": status_files_directory,
441
+ "temporary_files_directory": temporary_files_directory,
442
+ }
443
+
444
+ @builtins.property
445
+ def failed_files_directory(self) -> builtins.str:
446
+ '''Specifies a location to store the failed files for an AS2 message.
447
+
448
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-agreement-customdirectories.html#cfn-transfer-agreement-customdirectories-failedfilesdirectory
449
+ '''
450
+ result = self._values.get("failed_files_directory")
451
+ assert result is not None, "Required property 'failed_files_directory' is missing"
452
+ return typing.cast(builtins.str, result)
453
+
454
+ @builtins.property
455
+ def mdn_files_directory(self) -> builtins.str:
456
+ '''Specifies a location to store the MDN file for an AS2 message.
457
+
458
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-agreement-customdirectories.html#cfn-transfer-agreement-customdirectories-mdnfilesdirectory
459
+ '''
460
+ result = self._values.get("mdn_files_directory")
461
+ assert result is not None, "Required property 'mdn_files_directory' is missing"
462
+ return typing.cast(builtins.str, result)
463
+
464
+ @builtins.property
465
+ def payload_files_directory(self) -> builtins.str:
466
+ '''Specifies a location to store the payload file for an AS2 message.
467
+
468
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-agreement-customdirectories.html#cfn-transfer-agreement-customdirectories-payloadfilesdirectory
469
+ '''
470
+ result = self._values.get("payload_files_directory")
471
+ assert result is not None, "Required property 'payload_files_directory' is missing"
472
+ return typing.cast(builtins.str, result)
473
+
474
+ @builtins.property
475
+ def status_files_directory(self) -> builtins.str:
476
+ '''Specifies a location to store the status file for an AS2 message.
477
+
478
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-agreement-customdirectories.html#cfn-transfer-agreement-customdirectories-statusfilesdirectory
479
+ '''
480
+ result = self._values.get("status_files_directory")
481
+ assert result is not None, "Required property 'status_files_directory' is missing"
482
+ return typing.cast(builtins.str, result)
483
+
484
+ @builtins.property
485
+ def temporary_files_directory(self) -> builtins.str:
486
+ '''Specifies a location to store the temporary processing file for an AS2 message.
487
+
488
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-agreement-customdirectories.html#cfn-transfer-agreement-customdirectories-temporaryfilesdirectory
489
+ '''
490
+ result = self._values.get("temporary_files_directory")
491
+ assert result is not None, "Required property 'temporary_files_directory' is missing"
492
+ return typing.cast(builtins.str, result)
493
+
494
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
495
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
496
+
497
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
498
+ return not (rhs == self)
499
+
500
+ def __repr__(self) -> str:
501
+ return "CustomDirectoriesProperty(%s)" % ", ".join(
502
+ k + "=" + repr(v) for k, v in self._values.items()
503
+ )
504
+
355
505
 
356
506
  @jsii.data_type(
357
507
  jsii_type="aws-cdk-lib.aws_transfer.CfnAgreementProps",
358
508
  jsii_struct_bases=[],
359
509
  name_mapping={
360
510
  "access_role": "accessRole",
361
- "base_directory": "baseDirectory",
362
511
  "local_profile_id": "localProfileId",
363
512
  "partner_profile_id": "partnerProfileId",
364
513
  "server_id": "serverId",
514
+ "base_directory": "baseDirectory",
515
+ "custom_directories": "customDirectories",
365
516
  "description": "description",
366
517
  "enforce_message_signing": "enforceMessageSigning",
367
518
  "preserve_filename": "preserveFilename",
@@ -374,10 +525,11 @@ class CfnAgreementProps:
374
525
  self,
375
526
  *,
376
527
  access_role: builtins.str,
377
- base_directory: builtins.str,
378
528
  local_profile_id: builtins.str,
379
529
  partner_profile_id: builtins.str,
380
530
  server_id: builtins.str,
531
+ base_directory: typing.Optional[builtins.str] = None,
532
+ custom_directories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgreement.CustomDirectoriesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
381
533
  description: typing.Optional[builtins.str] = None,
382
534
  enforce_message_signing: typing.Optional[builtins.str] = None,
383
535
  preserve_filename: typing.Optional[builtins.str] = None,
@@ -387,10 +539,11 @@ class CfnAgreementProps:
387
539
  '''Properties for defining a ``CfnAgreement``.
388
540
 
389
541
  :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 .
390
- :param base_directory: The landing directory (folder) for files that are transferred by using the AS2 protocol.
391
542
  :param local_profile_id: A unique identifier for the AS2 local profile.
392
543
  :param partner_profile_id: A unique identifier for the partner profile used in the agreement.
393
544
  :param server_id: A system-assigned unique identifier for a server instance. This identifier indicates the specific server that the agreement uses.
545
+ :param base_directory: The landing directory (folder) for files that are transferred by using the AS2 protocol.
546
+ :param custom_directories: A ``CustomDirectoriesType`` structure. This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files. - Failed files - MDN files - Payload files - Status files - Temporary files
394
547
  :param description: The name or short description that's used to identify the agreement.
395
548
  :param enforce_message_signing: Determines whether or not unsigned messages from your trading partners will be accepted. - ``ENABLED`` : Transfer Family rejects unsigned messages from your trading partner. - ``DISABLED`` (default value): Transfer Family accepts unsigned messages from your trading partner.
396
549
  :param preserve_filename: Determines whether or not Transfer Family appends a unique string of characters to the end of the AS2 message payload filename when saving it. - ``ENABLED`` : the filename provided by your trading parter is preserved when the file is saved. - ``DISABLED`` (default value): when Transfer Family saves the file, the filename is adjusted, as described in `File names and locations <https://docs.aws.amazon.com/transfer/latest/userguide/send-as2-messages.html#file-names-as2>`_ .
@@ -408,12 +561,19 @@ class CfnAgreementProps:
408
561
 
409
562
  cfn_agreement_props = transfer.CfnAgreementProps(
410
563
  access_role="accessRole",
411
- base_directory="baseDirectory",
412
564
  local_profile_id="localProfileId",
413
565
  partner_profile_id="partnerProfileId",
414
566
  server_id="serverId",
415
567
 
416
568
  # the properties below are optional
569
+ base_directory="baseDirectory",
570
+ custom_directories=transfer.CfnAgreement.CustomDirectoriesProperty(
571
+ failed_files_directory="failedFilesDirectory",
572
+ mdn_files_directory="mdnFilesDirectory",
573
+ payload_files_directory="payloadFilesDirectory",
574
+ status_files_directory="statusFilesDirectory",
575
+ temporary_files_directory="temporaryFilesDirectory"
576
+ ),
417
577
  description="description",
418
578
  enforce_message_signing="enforceMessageSigning",
419
579
  preserve_filename="preserveFilename",
@@ -427,10 +587,11 @@ class CfnAgreementProps:
427
587
  if __debug__:
428
588
  type_hints = typing.get_type_hints(_typecheckingstub__c92e8cdff7d6f57ae5fd00ef4190544d79a76c01e88d32b21b88588eeb47ba2e)
429
589
  check_type(argname="argument access_role", value=access_role, expected_type=type_hints["access_role"])
430
- check_type(argname="argument base_directory", value=base_directory, expected_type=type_hints["base_directory"])
431
590
  check_type(argname="argument local_profile_id", value=local_profile_id, expected_type=type_hints["local_profile_id"])
432
591
  check_type(argname="argument partner_profile_id", value=partner_profile_id, expected_type=type_hints["partner_profile_id"])
433
592
  check_type(argname="argument server_id", value=server_id, expected_type=type_hints["server_id"])
593
+ check_type(argname="argument base_directory", value=base_directory, expected_type=type_hints["base_directory"])
594
+ check_type(argname="argument custom_directories", value=custom_directories, expected_type=type_hints["custom_directories"])
434
595
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
435
596
  check_type(argname="argument enforce_message_signing", value=enforce_message_signing, expected_type=type_hints["enforce_message_signing"])
436
597
  check_type(argname="argument preserve_filename", value=preserve_filename, expected_type=type_hints["preserve_filename"])
@@ -438,11 +599,14 @@ class CfnAgreementProps:
438
599
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
439
600
  self._values: typing.Dict[builtins.str, typing.Any] = {
440
601
  "access_role": access_role,
441
- "base_directory": base_directory,
442
602
  "local_profile_id": local_profile_id,
443
603
  "partner_profile_id": partner_profile_id,
444
604
  "server_id": server_id,
445
605
  }
606
+ if base_directory is not None:
607
+ self._values["base_directory"] = base_directory
608
+ if custom_directories is not None:
609
+ self._values["custom_directories"] = custom_directories
446
610
  if description is not None:
447
611
  self._values["description"] = description
448
612
  if enforce_message_signing is not None:
@@ -476,16 +640,6 @@ class CfnAgreementProps:
476
640
  assert result is not None, "Required property 'access_role' is missing"
477
641
  return typing.cast(builtins.str, result)
478
642
 
479
- @builtins.property
480
- def base_directory(self) -> builtins.str:
481
- '''The landing directory (folder) for files that are transferred by using the AS2 protocol.
482
-
483
- :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-basedirectory
484
- '''
485
- result = self._values.get("base_directory")
486
- assert result is not None, "Required property 'base_directory' is missing"
487
- return typing.cast(builtins.str, result)
488
-
489
643
  @builtins.property
490
644
  def local_profile_id(self) -> builtins.str:
491
645
  '''A unique identifier for the AS2 local profile.
@@ -518,6 +672,34 @@ class CfnAgreementProps:
518
672
  assert result is not None, "Required property 'server_id' is missing"
519
673
  return typing.cast(builtins.str, result)
520
674
 
675
+ @builtins.property
676
+ def base_directory(self) -> typing.Optional[builtins.str]:
677
+ '''The landing directory (folder) for files that are transferred by using the AS2 protocol.
678
+
679
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-basedirectory
680
+ '''
681
+ result = self._values.get("base_directory")
682
+ return typing.cast(typing.Optional[builtins.str], result)
683
+
684
+ @builtins.property
685
+ def custom_directories(
686
+ self,
687
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAgreement.CustomDirectoriesProperty]]:
688
+ '''A ``CustomDirectoriesType`` structure.
689
+
690
+ This structure specifies custom directories for storing various AS2 message files. You can specify directories for the following types of files.
691
+
692
+ - Failed files
693
+ - MDN files
694
+ - Payload files
695
+ - Status files
696
+ - Temporary files
697
+
698
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-customdirectories
699
+ '''
700
+ result = self._values.get("custom_directories")
701
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAgreement.CustomDirectoriesProperty]], result)
702
+
521
703
  @builtins.property
522
704
  def description(self) -> typing.Optional[builtins.str]:
523
705
  '''The name or short description that's used to identify the agreement.
@@ -6607,10 +6789,11 @@ def _typecheckingstub__f95ec07e6c4ee624e4f9374f7db0e66b46af64fa8c86e2e41aa290c72
6607
6789
  id: builtins.str,
6608
6790
  *,
6609
6791
  access_role: builtins.str,
6610
- base_directory: builtins.str,
6611
6792
  local_profile_id: builtins.str,
6612
6793
  partner_profile_id: builtins.str,
6613
6794
  server_id: builtins.str,
6795
+ base_directory: typing.Optional[builtins.str] = None,
6796
+ custom_directories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgreement.CustomDirectoriesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6614
6797
  description: typing.Optional[builtins.str] = None,
6615
6798
  enforce_message_signing: typing.Optional[builtins.str] = None,
6616
6799
  preserve_filename: typing.Optional[builtins.str] = None,
@@ -6638,26 +6821,32 @@ def _typecheckingstub__6846ae06100d907ce47940f1c737179b266cb64b8ba5e2c4167475979
6638
6821
  """Type checking stubs"""
6639
6822
  pass
6640
6823
 
6641
- def _typecheckingstub__e95a046a6530138645bcc3d9ea79bf173c25ac44d2324af6ecc4137b705bfc28(
6824
+ def _typecheckingstub__fb3167bad2c7efdb7b3e0dd7d0402156f8d6e14fae7c15dd40a5fccd0b81e057(
6642
6825
  value: builtins.str,
6643
6826
  ) -> None:
6644
6827
  """Type checking stubs"""
6645
6828
  pass
6646
6829
 
6647
- def _typecheckingstub__fb3167bad2c7efdb7b3e0dd7d0402156f8d6e14fae7c15dd40a5fccd0b81e057(
6830
+ def _typecheckingstub__bd438983791db4dad3b3d480a6bf25cacd9537198e1ed06c6a676fa3b408f77a(
6648
6831
  value: builtins.str,
6649
6832
  ) -> None:
6650
6833
  """Type checking stubs"""
6651
6834
  pass
6652
6835
 
6653
- def _typecheckingstub__bd438983791db4dad3b3d480a6bf25cacd9537198e1ed06c6a676fa3b408f77a(
6836
+ def _typecheckingstub__14dc2bb42fd7d8e680f89ab4bbef23a05ad685bb8ba0ece9fc2d04ff9c7d508a(
6654
6837
  value: builtins.str,
6655
6838
  ) -> None:
6656
6839
  """Type checking stubs"""
6657
6840
  pass
6658
6841
 
6659
- def _typecheckingstub__14dc2bb42fd7d8e680f89ab4bbef23a05ad685bb8ba0ece9fc2d04ff9c7d508a(
6660
- value: builtins.str,
6842
+ def _typecheckingstub__e95a046a6530138645bcc3d9ea79bf173c25ac44d2324af6ecc4137b705bfc28(
6843
+ value: typing.Optional[builtins.str],
6844
+ ) -> None:
6845
+ """Type checking stubs"""
6846
+ pass
6847
+
6848
+ def _typecheckingstub__0dfcc069ad404f24e1d3d66293208f393508273f19347e58f547f45ba5f8a952(
6849
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnAgreement.CustomDirectoriesProperty]],
6661
6850
  ) -> None:
6662
6851
  """Type checking stubs"""
6663
6852
  pass
@@ -6692,13 +6881,25 @@ def _typecheckingstub__dbeccb7f697f73180ad5ee02e1bc0a8b54212c0eb54c653977d2989de
6692
6881
  """Type checking stubs"""
6693
6882
  pass
6694
6883
 
6884
+ def _typecheckingstub__98a40a95fd9ad9ea9bb69f5fdf7379c4b40ddd5a529d08076025691033961aa4(
6885
+ *,
6886
+ failed_files_directory: builtins.str,
6887
+ mdn_files_directory: builtins.str,
6888
+ payload_files_directory: builtins.str,
6889
+ status_files_directory: builtins.str,
6890
+ temporary_files_directory: builtins.str,
6891
+ ) -> None:
6892
+ """Type checking stubs"""
6893
+ pass
6894
+
6695
6895
  def _typecheckingstub__c92e8cdff7d6f57ae5fd00ef4190544d79a76c01e88d32b21b88588eeb47ba2e(
6696
6896
  *,
6697
6897
  access_role: builtins.str,
6698
- base_directory: builtins.str,
6699
6898
  local_profile_id: builtins.str,
6700
6899
  partner_profile_id: builtins.str,
6701
6900
  server_id: builtins.str,
6901
+ base_directory: typing.Optional[builtins.str] = None,
6902
+ custom_directories: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnAgreement.CustomDirectoriesProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6702
6903
  description: typing.Optional[builtins.str] = None,
6703
6904
  enforce_message_signing: typing.Optional[builtins.str] = None,
6704
6905
  preserve_filename: typing.Optional[builtins.str] = None,