aws-cdk-lib 2.179.0__py3-none-any.whl → 2.181.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 (70) hide show
  1. aws_cdk/__init__.py +92 -34
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.179.0.jsii.tgz → aws-cdk-lib@2.181.0.jsii.tgz} +0 -0
  4. aws_cdk/aws_acmpca/__init__.py +48 -1
  5. aws_cdk/aws_apigateway/__init__.py +6 -6
  6. aws_cdk/aws_appsync/__init__.py +4 -3
  7. aws_cdk/aws_backup/__init__.py +89 -0
  8. aws_cdk/aws_batch/__init__.py +89 -50
  9. aws_cdk/aws_bedrock/__init__.py +1265 -62
  10. aws_cdk/aws_chatbot/__init__.py +80 -53
  11. aws_cdk/aws_cloudformation/__init__.py +40 -8
  12. aws_cdk/aws_cloudfront/__init__.py +1046 -155
  13. aws_cdk/aws_cloudfront_origins/__init__.py +1338 -144
  14. aws_cdk/aws_cloudtrail/__init__.py +4 -8
  15. aws_cdk/aws_cloudwatch/__init__.py +1 -1
  16. aws_cdk/aws_codebuild/__init__.py +2 -2
  17. aws_cdk/aws_codepipeline/__init__.py +24 -0
  18. aws_cdk/aws_codepipeline_actions/__init__.py +28 -1
  19. aws_cdk/aws_codestar/__init__.py +2 -1
  20. aws_cdk/aws_cognito/__init__.py +100 -13
  21. aws_cdk/aws_config/__init__.py +3 -3
  22. aws_cdk/aws_connect/__init__.py +257 -0
  23. aws_cdk/aws_datasync/__init__.py +279 -50
  24. aws_cdk/aws_deadline/__init__.py +683 -6
  25. aws_cdk/aws_directoryservice/__init__.py +9 -4
  26. aws_cdk/aws_dlm/__init__.py +2 -2
  27. aws_cdk/aws_dms/__init__.py +3 -3
  28. aws_cdk/aws_dynamodb/__init__.py +4 -58
  29. aws_cdk/aws_ec2/__init__.py +377 -121
  30. aws_cdk/aws_ecs/__init__.py +37 -46
  31. aws_cdk/aws_efs/__init__.py +1 -1
  32. aws_cdk/aws_eks/__init__.py +19 -13
  33. aws_cdk/aws_elasticloadbalancingv2/__init__.py +13 -27
  34. aws_cdk/aws_emrcontainers/__init__.py +44 -1
  35. aws_cdk/aws_events/__init__.py +8 -11
  36. aws_cdk/aws_fms/__init__.py +5 -5
  37. aws_cdk/aws_fsx/__init__.py +5 -4
  38. aws_cdk/aws_glue/__init__.py +161 -0
  39. aws_cdk/aws_groundstation/__init__.py +23 -1
  40. aws_cdk/aws_iam/__init__.py +12 -12
  41. aws_cdk/aws_iot/__init__.py +7 -0
  42. aws_cdk/aws_ivs/__init__.py +17 -8
  43. aws_cdk/aws_kinesis/__init__.py +689 -35
  44. aws_cdk/aws_lambda/__init__.py +10 -15
  45. aws_cdk/aws_lambda_event_sources/__init__.py +175 -2
  46. aws_cdk/aws_medialive/__init__.py +314 -4
  47. aws_cdk/aws_mediapackagev2/__init__.py +228 -0
  48. aws_cdk/aws_networkfirewall/__init__.py +3 -3
  49. aws_cdk/aws_opensearchserverless/__init__.py +31 -8
  50. aws_cdk/aws_organizations/__init__.py +3 -3
  51. aws_cdk/aws_pcaconnectorscep/__init__.py +1 -1
  52. aws_cdk/aws_rds/__init__.py +456 -100
  53. aws_cdk/aws_s3/__init__.py +278 -0
  54. aws_cdk/aws_s3objectlambda/__init__.py +2 -2
  55. aws_cdk/aws_ses/__init__.py +228 -8
  56. aws_cdk/aws_ssm/__init__.py +9 -10
  57. aws_cdk/aws_stepfunctions/__init__.py +345 -70
  58. aws_cdk/aws_stepfunctions_tasks/__init__.py +142 -142
  59. aws_cdk/aws_supportapp/__init__.py +7 -7
  60. aws_cdk/aws_transfer/__init__.py +829 -4
  61. aws_cdk/aws_wafv2/__init__.py +17 -9
  62. aws_cdk/aws_wisdom/__init__.py +149 -4
  63. aws_cdk/custom_resources/__init__.py +23 -26
  64. aws_cdk/cx_api/__init__.py +16 -0
  65. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/METADATA +1 -1
  66. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/RECORD +70 -70
  67. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/LICENSE +0 -0
  68. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/NOTICE +0 -0
  69. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/WHEEL +0 -0
  70. {aws_cdk_lib-2.179.0.dist-info → aws_cdk_lib-2.181.0.dist-info}/top_level.txt +0 -0
@@ -64,6 +64,7 @@ from .. import (
64
64
  IInspectable as _IInspectable_c2943556,
65
65
  IResolvable as _IResolvable_da3f097b,
66
66
  ITaggable as _ITaggable_36806126,
67
+ ITaggableV2 as _ITaggableV2_4e6798f8,
67
68
  TagManager as _TagManager_0a598cb3,
68
69
  TreeInspector as _TreeInspector_488e0dd5,
69
70
  )
@@ -103,6 +104,8 @@ class CfnAgreement(
103
104
 
104
105
  # the properties below are optional
105
106
  description="description",
107
+ enforce_message_signing="enforceMessageSigning",
108
+ preserve_filename="preserveFilename",
106
109
  status="status",
107
110
  tags=[CfnTag(
108
111
  key="key",
@@ -122,6 +125,8 @@ class CfnAgreement(
122
125
  partner_profile_id: builtins.str,
123
126
  server_id: builtins.str,
124
127
  description: typing.Optional[builtins.str] = None,
128
+ enforce_message_signing: typing.Optional[builtins.str] = None,
129
+ preserve_filename: typing.Optional[builtins.str] = None,
125
130
  status: typing.Optional[builtins.str] = None,
126
131
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
127
132
  ) -> None:
@@ -134,6 +139,8 @@ class CfnAgreement(
134
139
  :param partner_profile_id: A unique identifier for the partner profile used in the agreement.
135
140
  :param server_id: A system-assigned unique identifier for a server instance. This identifier indicates the specific server that the agreement uses.
136
141
  :param description: The name or short description that's used to identify the agreement.
142
+ :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
+ :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>`_ .
137
144
  :param status: The current status of the agreement, either ``ACTIVE`` or ``INACTIVE`` .
138
145
  :param tags: Key-value pairs that can be used to group and search for agreements.
139
146
  '''
@@ -148,6 +155,8 @@ class CfnAgreement(
148
155
  partner_profile_id=partner_profile_id,
149
156
  server_id=server_id,
150
157
  description=description,
158
+ enforce_message_signing=enforce_message_signing,
159
+ preserve_filename=preserve_filename,
151
160
  status=status,
152
161
  tags=tags,
153
162
  )
@@ -291,6 +300,32 @@ class CfnAgreement(
291
300
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
292
301
  jsii.set(self, "description", value) # pyright: ignore[reportArgumentType]
293
302
 
303
+ @builtins.property
304
+ @jsii.member(jsii_name="enforceMessageSigning")
305
+ def enforce_message_signing(self) -> typing.Optional[builtins.str]:
306
+ '''Determines whether or not unsigned messages from your trading partners will be accepted.'''
307
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "enforceMessageSigning"))
308
+
309
+ @enforce_message_signing.setter
310
+ def enforce_message_signing(self, value: typing.Optional[builtins.str]) -> None:
311
+ if __debug__:
312
+ type_hints = typing.get_type_hints(_typecheckingstub__21309644320e7387ed8b8bad8e7f1cae3841efd58a7ee09e263313c3ed573fe0)
313
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
314
+ jsii.set(self, "enforceMessageSigning", value) # pyright: ignore[reportArgumentType]
315
+
316
+ @builtins.property
317
+ @jsii.member(jsii_name="preserveFilename")
318
+ def preserve_filename(self) -> typing.Optional[builtins.str]:
319
+ '''Determines whether or not Transfer Family appends a unique string of characters to the end of the AS2 message payload filename when saving it.'''
320
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "preserveFilename"))
321
+
322
+ @preserve_filename.setter
323
+ def preserve_filename(self, value: typing.Optional[builtins.str]) -> None:
324
+ if __debug__:
325
+ type_hints = typing.get_type_hints(_typecheckingstub__a8e3dcc245fac0e15a9dfed2729f9d36d2a9bf94ddf00d1e9da1c45cfafec37b)
326
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
327
+ jsii.set(self, "preserveFilename", value) # pyright: ignore[reportArgumentType]
328
+
294
329
  @builtins.property
295
330
  @jsii.member(jsii_name="status")
296
331
  def status(self) -> typing.Optional[builtins.str]:
@@ -328,6 +363,8 @@ class CfnAgreement(
328
363
  "partner_profile_id": "partnerProfileId",
329
364
  "server_id": "serverId",
330
365
  "description": "description",
366
+ "enforce_message_signing": "enforceMessageSigning",
367
+ "preserve_filename": "preserveFilename",
331
368
  "status": "status",
332
369
  "tags": "tags",
333
370
  },
@@ -342,6 +379,8 @@ class CfnAgreementProps:
342
379
  partner_profile_id: builtins.str,
343
380
  server_id: builtins.str,
344
381
  description: typing.Optional[builtins.str] = None,
382
+ enforce_message_signing: typing.Optional[builtins.str] = None,
383
+ preserve_filename: typing.Optional[builtins.str] = None,
345
384
  status: typing.Optional[builtins.str] = None,
346
385
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
347
386
  ) -> None:
@@ -353,6 +392,8 @@ class CfnAgreementProps:
353
392
  :param partner_profile_id: A unique identifier for the partner profile used in the agreement.
354
393
  :param server_id: A system-assigned unique identifier for a server instance. This identifier indicates the specific server that the agreement uses.
355
394
  :param description: The name or short description that's used to identify the agreement.
395
+ :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
+ :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>`_ .
356
397
  :param status: The current status of the agreement, either ``ACTIVE`` or ``INACTIVE`` .
357
398
  :param tags: Key-value pairs that can be used to group and search for agreements.
358
399
 
@@ -374,6 +415,8 @@ class CfnAgreementProps:
374
415
 
375
416
  # the properties below are optional
376
417
  description="description",
418
+ enforce_message_signing="enforceMessageSigning",
419
+ preserve_filename="preserveFilename",
377
420
  status="status",
378
421
  tags=[CfnTag(
379
422
  key="key",
@@ -389,6 +432,8 @@ class CfnAgreementProps:
389
432
  check_type(argname="argument partner_profile_id", value=partner_profile_id, expected_type=type_hints["partner_profile_id"])
390
433
  check_type(argname="argument server_id", value=server_id, expected_type=type_hints["server_id"])
391
434
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
435
+ check_type(argname="argument enforce_message_signing", value=enforce_message_signing, expected_type=type_hints["enforce_message_signing"])
436
+ check_type(argname="argument preserve_filename", value=preserve_filename, expected_type=type_hints["preserve_filename"])
392
437
  check_type(argname="argument status", value=status, expected_type=type_hints["status"])
393
438
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
394
439
  self._values: typing.Dict[builtins.str, typing.Any] = {
@@ -400,6 +445,10 @@ class CfnAgreementProps:
400
445
  }
401
446
  if description is not None:
402
447
  self._values["description"] = description
448
+ if enforce_message_signing is not None:
449
+ self._values["enforce_message_signing"] = enforce_message_signing
450
+ if preserve_filename is not None:
451
+ self._values["preserve_filename"] = preserve_filename
403
452
  if status is not None:
404
453
  self._values["status"] = status
405
454
  if tags is not None:
@@ -478,6 +527,30 @@ class CfnAgreementProps:
478
527
  result = self._values.get("description")
479
528
  return typing.cast(typing.Optional[builtins.str], result)
480
529
 
530
+ @builtins.property
531
+ def enforce_message_signing(self) -> typing.Optional[builtins.str]:
532
+ '''Determines whether or not unsigned messages from your trading partners will be accepted.
533
+
534
+ - ``ENABLED`` : Transfer Family rejects unsigned messages from your trading partner.
535
+ - ``DISABLED`` (default value): Transfer Family accepts unsigned messages from your trading partner.
536
+
537
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-enforcemessagesigning
538
+ '''
539
+ result = self._values.get("enforce_message_signing")
540
+ return typing.cast(typing.Optional[builtins.str], result)
541
+
542
+ @builtins.property
543
+ def preserve_filename(self) -> typing.Optional[builtins.str]:
544
+ '''Determines whether or not Transfer Family appends a unique string of characters to the end of the AS2 message payload filename when saving it.
545
+
546
+ - ``ENABLED`` : the filename provided by your trading parter is preserved when the file is saved.
547
+ - ``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>`_ .
548
+
549
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-agreement.html#cfn-transfer-agreement-preservefilename
550
+ '''
551
+ result = self._values.get("preserve_filename")
552
+ return typing.cast(typing.Optional[builtins.str], result)
553
+
481
554
  @builtins.property
482
555
  def status(self) -> typing.Optional[builtins.str]:
483
556
  '''The current status of the agreement, either ``ACTIVE`` or ``INACTIVE`` .
@@ -1246,6 +1319,7 @@ class CfnConnector(
1246
1319
  "mdn_signing_algorithm": "mdnSigningAlgorithm",
1247
1320
  "message_subject": "messageSubject",
1248
1321
  "partner_profile_id": "partnerProfileId",
1322
+ "preserve_content_type": "preserveContentType",
1249
1323
  "signing_algorithm": "signingAlgorithm",
1250
1324
  },
1251
1325
  )
@@ -1261,6 +1335,7 @@ class CfnConnector(
1261
1335
  mdn_signing_algorithm: typing.Optional[builtins.str] = None,
1262
1336
  message_subject: typing.Optional[builtins.str] = None,
1263
1337
  partner_profile_id: typing.Optional[builtins.str] = None,
1338
+ preserve_content_type: typing.Optional[builtins.str] = None,
1264
1339
  signing_algorithm: typing.Optional[builtins.str] = None,
1265
1340
  ) -> None:
1266
1341
  '''A structure that contains the parameters for an AS2 connector object.
@@ -1273,6 +1348,7 @@ class CfnConnector(
1273
1348
  :param mdn_signing_algorithm: The signing algorithm for the MDN response. .. epigraph:: If set to DEFAULT (or not set at all), the value for ``SigningAlgorithm`` is used.
1274
1349
  :param message_subject: Used as the ``Subject`` HTTP header attribute in AS2 messages that are being sent with the connector.
1275
1350
  :param partner_profile_id: A unique identifier for the partner profile for the connector.
1351
+ :param preserve_content_type: Specifies whether to use the AWS S3 object content-type as the content-type for the AS2 message.
1276
1352
  :param signing_algorithm: The algorithm that is used to sign the AS2 messages sent with the connector.
1277
1353
 
1278
1354
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-as2config.html
@@ -1293,6 +1369,7 @@ class CfnConnector(
1293
1369
  mdn_signing_algorithm="mdnSigningAlgorithm",
1294
1370
  message_subject="messageSubject",
1295
1371
  partner_profile_id="partnerProfileId",
1372
+ preserve_content_type="preserveContentType",
1296
1373
  signing_algorithm="signingAlgorithm"
1297
1374
  )
1298
1375
  '''
@@ -1306,6 +1383,7 @@ class CfnConnector(
1306
1383
  check_type(argname="argument mdn_signing_algorithm", value=mdn_signing_algorithm, expected_type=type_hints["mdn_signing_algorithm"])
1307
1384
  check_type(argname="argument message_subject", value=message_subject, expected_type=type_hints["message_subject"])
1308
1385
  check_type(argname="argument partner_profile_id", value=partner_profile_id, expected_type=type_hints["partner_profile_id"])
1386
+ check_type(argname="argument preserve_content_type", value=preserve_content_type, expected_type=type_hints["preserve_content_type"])
1309
1387
  check_type(argname="argument signing_algorithm", value=signing_algorithm, expected_type=type_hints["signing_algorithm"])
1310
1388
  self._values: typing.Dict[builtins.str, typing.Any] = {}
1311
1389
  if basic_auth_secret_id is not None:
@@ -1324,6 +1402,8 @@ class CfnConnector(
1324
1402
  self._values["message_subject"] = message_subject
1325
1403
  if partner_profile_id is not None:
1326
1404
  self._values["partner_profile_id"] = partner_profile_id
1405
+ if preserve_content_type is not None:
1406
+ self._values["preserve_content_type"] = preserve_content_type
1327
1407
  if signing_algorithm is not None:
1328
1408
  self._values["signing_algorithm"] = signing_algorithm
1329
1409
 
@@ -1432,6 +1512,15 @@ class CfnConnector(
1432
1512
  result = self._values.get("partner_profile_id")
1433
1513
  return typing.cast(typing.Optional[builtins.str], result)
1434
1514
 
1515
+ @builtins.property
1516
+ def preserve_content_type(self) -> typing.Optional[builtins.str]:
1517
+ '''Specifies whether to use the AWS S3 object content-type as the content-type for the AS2 message.
1518
+
1519
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-connector-as2config.html#cfn-transfer-connector-as2config-preservecontenttype
1520
+ '''
1521
+ result = self._values.get("preserve_content_type")
1522
+ return typing.cast(typing.Optional[builtins.str], result)
1523
+
1435
1524
  @builtins.property
1436
1525
  def signing_algorithm(self) -> typing.Optional[builtins.str]:
1437
1526
  '''The algorithm that is used to sign the AS2 messages sent with the connector.
@@ -2203,7 +2292,9 @@ class CfnServer(
2203
2292
  def attr_as2_service_managed_egress_ip_addresses(self) -> typing.List[builtins.str]:
2204
2293
  '''The list of egress IP addresses of this server.
2205
2294
 
2206
- These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs. These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.
2295
+ These IP addresses are only relevant for servers that use the AS2 protocol. They are used for sending asynchronous MDNs.
2296
+
2297
+ These IP addresses are assigned automatically when you create an AS2 server. Additionally, if you update an existing server and add the AS2 protocol, static IP addresses are assigned as well.
2207
2298
 
2208
2299
  :cloudformationAttribute: As2ServiceManagedEgressIpAddresses
2209
2300
  '''
@@ -2221,7 +2312,12 @@ class CfnServer(
2221
2312
  @builtins.property
2222
2313
  @jsii.member(jsii_name="attrState")
2223
2314
  def attr_state(self) -> builtins.str:
2224
- '''
2315
+ '''The condition of the server that was described.
2316
+
2317
+ A value of ``ONLINE`` indicates that the server can accept jobs and transfer files. A ``State`` value of ``OFFLINE`` means that the server cannot perform file transfer operations.
2318
+
2319
+ The states of ``STARTING`` and ``STOPPING`` indicate that the server is in an intermediate state, either not fully able to respond, or not fully offline. The values of ``START_FAILED`` or ``STOP_FAILED`` can indicate an error condition.
2320
+
2225
2321
  :cloudformationAttribute: State
2226
2322
  '''
2227
2323
  return typing.cast(builtins.str, jsii.get(self, "attrState"))
@@ -3651,7 +3747,7 @@ class CfnUser(
3651
3747
  :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.
3652
3748
  :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* .
3653
3749
  :param posix_profile: Specifies the full POSIX identity, including user ID ( ``Uid`` ), group ID ( ``Gid`` ), and any secondary groups IDs ( ``SecondaryGids`` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems.
3654
- :param ssh_public_keys: Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
3750
+ :param ssh_public_keys: Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user. .. epigraph:: To delete the public key body, set its value to zero keys, as shown here: ``SshPublicKeys: []``
3655
3751
  :param tags: Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.
3656
3752
  '''
3657
3753
  if __debug__:
@@ -4117,7 +4213,7 @@ class CfnUserProps:
4117
4213
  :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.
4118
4214
  :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* .
4119
4215
  :param posix_profile: Specifies the full POSIX identity, including user ID ( ``Uid`` ), group ID ( ``Gid`` ), and any secondary groups IDs ( ``SecondaryGids`` ), that controls your users' access to your Amazon Elastic File System (Amazon EFS) file systems. The POSIX permissions that are set on files and directories in your file system determine the level of access your users get when transferring files into and out of your Amazon EFS file systems.
4120
- :param ssh_public_keys: Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
4216
+ :param ssh_public_keys: Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user. .. epigraph:: To delete the public key body, set its value to zero keys, as shown here: ``SshPublicKeys: []``
4121
4217
  :param tags: Key-value pairs that can be used to group and search for users. Tags are metadata attached to users for any purpose.
4122
4218
 
4123
4219
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html
@@ -4313,6 +4409,12 @@ class CfnUserProps:
4313
4409
  def ssh_public_keys(self) -> typing.Optional[typing.List[builtins.str]]:
4314
4410
  '''Specifies the public key portion of the Secure Shell (SSH) keys stored for the described user.
4315
4411
 
4412
+ .. epigraph::
4413
+
4414
+ To delete the public key body, set its value to zero keys, as shown here:
4415
+
4416
+ ``SshPublicKeys: []``
4417
+
4316
4418
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-user.html#cfn-transfer-user-sshpublickeys
4317
4419
  '''
4318
4420
  result = self._values.get("ssh_public_keys")
@@ -4341,6 +4443,619 @@ class CfnUserProps:
4341
4443
  )
4342
4444
 
4343
4445
 
4446
+ @jsii.implements(_IInspectable_c2943556, _ITaggableV2_4e6798f8)
4447
+ class CfnWebApp(
4448
+ _CfnResource_9df397a6,
4449
+ metaclass=jsii.JSIIMeta,
4450
+ jsii_type="aws-cdk-lib.aws_transfer.CfnWebApp",
4451
+ ):
4452
+ '''Creates a web app based on specified parameters, and returns the ID for the new web app.
4453
+
4454
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html
4455
+ :cloudformationResource: AWS::Transfer::WebApp
4456
+ :exampleMetadata: fixture=_generated
4457
+
4458
+ Example::
4459
+
4460
+ # The code below shows an example of how to instantiate this type.
4461
+ # The values are placeholders you should change.
4462
+ from aws_cdk import aws_transfer as transfer
4463
+
4464
+ cfn_web_app = transfer.CfnWebApp(self, "MyCfnWebApp",
4465
+ identity_provider_details=transfer.CfnWebApp.IdentityProviderDetailsProperty(
4466
+ application_arn="applicationArn",
4467
+ instance_arn="instanceArn",
4468
+ role="role"
4469
+ ),
4470
+
4471
+ # the properties below are optional
4472
+ access_endpoint="accessEndpoint",
4473
+ tags=[CfnTag(
4474
+ key="key",
4475
+ value="value"
4476
+ )],
4477
+ web_app_customization=transfer.CfnWebApp.WebAppCustomizationProperty(
4478
+ favicon_file="faviconFile",
4479
+ logo_file="logoFile",
4480
+ title="title"
4481
+ ),
4482
+ web_app_units=transfer.CfnWebApp.WebAppUnitsProperty(
4483
+ provisioned=123
4484
+ )
4485
+ )
4486
+ '''
4487
+
4488
+ def __init__(
4489
+ self,
4490
+ scope: _constructs_77d1e7e8.Construct,
4491
+ id: builtins.str,
4492
+ *,
4493
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebApp.IdentityProviderDetailsProperty", typing.Dict[builtins.str, typing.Any]]],
4494
+ access_endpoint: typing.Optional[builtins.str] = None,
4495
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4496
+ web_app_customization: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebApp.WebAppCustomizationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4497
+ web_app_units: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebApp.WebAppUnitsProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4498
+ ) -> None:
4499
+ '''
4500
+ :param scope: Scope in which this resource is defined.
4501
+ :param id: Construct identifier for this resource (unique in its scope).
4502
+ :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>`_ .
4503
+ :param access_endpoint: The ``AccessEndpoint`` is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value. Before you enter a custom URL for this parameter, follow the steps described in `Update your access endpoint with a custom URL <https://docs.aws.amazon.com//transfer/latest/userguide/webapp-customize.html>`_ .
4504
+ :param tags: Key-value pairs that can be used to group and search for web apps. Tags are metadata attached to web apps for any purpose.
4505
+ :param web_app_customization: A structure that contains the customization fields for the web app. You can provide a title, logo, and icon to customize the appearance of your web app.
4506
+ :param web_app_units: A union that contains the value for number of concurrent connections or the user sessions on your web app.
4507
+ '''
4508
+ if __debug__:
4509
+ type_hints = typing.get_type_hints(_typecheckingstub__7e725b505349ad94c74b92c89fcff0a41d3c479d533cc008fb193cc8b30c0f70)
4510
+ check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
4511
+ check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4512
+ props = CfnWebAppProps(
4513
+ identity_provider_details=identity_provider_details,
4514
+ access_endpoint=access_endpoint,
4515
+ tags=tags,
4516
+ web_app_customization=web_app_customization,
4517
+ web_app_units=web_app_units,
4518
+ )
4519
+
4520
+ jsii.create(self.__class__, self, [scope, id, props])
4521
+
4522
+ @jsii.member(jsii_name="inspect")
4523
+ def inspect(self, inspector: _TreeInspector_488e0dd5) -> None:
4524
+ '''Examines the CloudFormation resource and discloses attributes.
4525
+
4526
+ :param inspector: tree inspector to collect and process attributes.
4527
+ '''
4528
+ if __debug__:
4529
+ type_hints = typing.get_type_hints(_typecheckingstub__08aaa0faf06441ae9c1523d4ebf9fdfeccaf68e85c8fdc160642ec400dfa1faa)
4530
+ check_type(argname="argument inspector", value=inspector, expected_type=type_hints["inspector"])
4531
+ return typing.cast(None, jsii.invoke(self, "inspect", [inspector]))
4532
+
4533
+ @jsii.member(jsii_name="renderProperties")
4534
+ def _render_properties(
4535
+ self,
4536
+ props: typing.Mapping[builtins.str, typing.Any],
4537
+ ) -> typing.Mapping[builtins.str, typing.Any]:
4538
+ '''
4539
+ :param props: -
4540
+ '''
4541
+ if __debug__:
4542
+ type_hints = typing.get_type_hints(_typecheckingstub__35cc75162657b9202a49840d4e0aa4c3d918e09af68ff376e538710cee1cb6cb)
4543
+ check_type(argname="argument props", value=props, expected_type=type_hints["props"])
4544
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.invoke(self, "renderProperties", [props]))
4545
+
4546
+ @jsii.python.classproperty
4547
+ @jsii.member(jsii_name="CFN_RESOURCE_TYPE_NAME")
4548
+ def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str:
4549
+ '''The CloudFormation resource type name for this resource class.'''
4550
+ return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
4551
+
4552
+ @builtins.property
4553
+ @jsii.member(jsii_name="attrArn")
4554
+ def attr_arn(self) -> builtins.str:
4555
+ '''The Amazon Resource Name (ARN) of the web app.
4556
+
4557
+ :cloudformationAttribute: Arn
4558
+ '''
4559
+ return typing.cast(builtins.str, jsii.get(self, "attrArn"))
4560
+
4561
+ @builtins.property
4562
+ @jsii.member(jsii_name="attrIdentityProviderDetailsApplicationArn")
4563
+ def attr_identity_provider_details_application_arn(self) -> builtins.str:
4564
+ '''The Amazon Resource Name (ARN) for the IAM Identity Center application: this value is set automatically when you create your web app.
4565
+
4566
+ :cloudformationAttribute: IdentityProviderDetails.ApplicationArn
4567
+ '''
4568
+ return typing.cast(builtins.str, jsii.get(self, "attrIdentityProviderDetailsApplicationArn"))
4569
+
4570
+ @builtins.property
4571
+ @jsii.member(jsii_name="attrWebAppId")
4572
+ def attr_web_app_id(self) -> builtins.str:
4573
+ '''The unique identifier for the web app.
4574
+
4575
+ :cloudformationAttribute: WebAppId
4576
+ '''
4577
+ return typing.cast(builtins.str, jsii.get(self, "attrWebAppId"))
4578
+
4579
+ @builtins.property
4580
+ @jsii.member(jsii_name="cdkTagManager")
4581
+ def cdk_tag_manager(self) -> _TagManager_0a598cb3:
4582
+ '''Tag Manager which manages the tags for this resource.'''
4583
+ return typing.cast(_TagManager_0a598cb3, jsii.get(self, "cdkTagManager"))
4584
+
4585
+ @builtins.property
4586
+ @jsii.member(jsii_name="cfnProperties")
4587
+ def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
4588
+ return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
4589
+
4590
+ @builtins.property
4591
+ @jsii.member(jsii_name="identityProviderDetails")
4592
+ def identity_provider_details(
4593
+ self,
4594
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnWebApp.IdentityProviderDetailsProperty"]:
4595
+ '''You can provide a structure that contains the details for the identity provider to use with your web app.'''
4596
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnWebApp.IdentityProviderDetailsProperty"], jsii.get(self, "identityProviderDetails"))
4597
+
4598
+ @identity_provider_details.setter
4599
+ def identity_provider_details(
4600
+ self,
4601
+ value: typing.Union[_IResolvable_da3f097b, "CfnWebApp.IdentityProviderDetailsProperty"],
4602
+ ) -> None:
4603
+ if __debug__:
4604
+ type_hints = typing.get_type_hints(_typecheckingstub__a143104dc72055a6346499a1c42dc1e9a55e0a2fac758a5fdb73cc172530fe8b)
4605
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4606
+ jsii.set(self, "identityProviderDetails", value) # pyright: ignore[reportArgumentType]
4607
+
4608
+ @builtins.property
4609
+ @jsii.member(jsii_name="accessEndpoint")
4610
+ def access_endpoint(self) -> typing.Optional[builtins.str]:
4611
+ '''The ``AccessEndpoint`` is the URL that you provide to your users for them to interact with the Transfer Family web app.'''
4612
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "accessEndpoint"))
4613
+
4614
+ @access_endpoint.setter
4615
+ def access_endpoint(self, value: typing.Optional[builtins.str]) -> None:
4616
+ if __debug__:
4617
+ type_hints = typing.get_type_hints(_typecheckingstub__b49260e5a1b945671ba6797a35aa7d7bf93a577eac3292e024438feec4dc1976)
4618
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4619
+ jsii.set(self, "accessEndpoint", value) # pyright: ignore[reportArgumentType]
4620
+
4621
+ @builtins.property
4622
+ @jsii.member(jsii_name="tags")
4623
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
4624
+ '''Key-value pairs that can be used to group and search for web apps.'''
4625
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], jsii.get(self, "tags"))
4626
+
4627
+ @tags.setter
4628
+ def tags(self, value: typing.Optional[typing.List[_CfnTag_f6864754]]) -> None:
4629
+ if __debug__:
4630
+ type_hints = typing.get_type_hints(_typecheckingstub__30b2b42c451b5cf18bc021ed1ab027f439a56a366c31b4bec2874a1319670127)
4631
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4632
+ jsii.set(self, "tags", value) # pyright: ignore[reportArgumentType]
4633
+
4634
+ @builtins.property
4635
+ @jsii.member(jsii_name="webAppCustomization")
4636
+ def web_app_customization(
4637
+ self,
4638
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebApp.WebAppCustomizationProperty"]]:
4639
+ '''A structure that contains the customization fields for the web app.'''
4640
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebApp.WebAppCustomizationProperty"]], jsii.get(self, "webAppCustomization"))
4641
+
4642
+ @web_app_customization.setter
4643
+ def web_app_customization(
4644
+ self,
4645
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebApp.WebAppCustomizationProperty"]],
4646
+ ) -> None:
4647
+ if __debug__:
4648
+ type_hints = typing.get_type_hints(_typecheckingstub__06cf7fb4d03ba1e31e57310f7a4e5b9ee65fd97449295a5fcca203aa59c8b3df)
4649
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4650
+ jsii.set(self, "webAppCustomization", value) # pyright: ignore[reportArgumentType]
4651
+
4652
+ @builtins.property
4653
+ @jsii.member(jsii_name="webAppUnits")
4654
+ def web_app_units(
4655
+ self,
4656
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebApp.WebAppUnitsProperty"]]:
4657
+ '''A union that contains the value for number of concurrent connections or the user sessions on your web app.'''
4658
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebApp.WebAppUnitsProperty"]], jsii.get(self, "webAppUnits"))
4659
+
4660
+ @web_app_units.setter
4661
+ def web_app_units(
4662
+ self,
4663
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebApp.WebAppUnitsProperty"]],
4664
+ ) -> None:
4665
+ if __debug__:
4666
+ type_hints = typing.get_type_hints(_typecheckingstub__05c81ce4f64dae1408aa42ef29823b95b141813512df0fe6ef85a451fc930f0a)
4667
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4668
+ jsii.set(self, "webAppUnits", value) # pyright: ignore[reportArgumentType]
4669
+
4670
+ @jsii.data_type(
4671
+ jsii_type="aws-cdk-lib.aws_transfer.CfnWebApp.IdentityProviderDetailsProperty",
4672
+ jsii_struct_bases=[],
4673
+ name_mapping={
4674
+ "application_arn": "applicationArn",
4675
+ "instance_arn": "instanceArn",
4676
+ "role": "role",
4677
+ },
4678
+ )
4679
+ class IdentityProviderDetailsProperty:
4680
+ def __init__(
4681
+ self,
4682
+ *,
4683
+ application_arn: typing.Optional[builtins.str] = None,
4684
+ instance_arn: typing.Optional[builtins.str] = None,
4685
+ role: typing.Optional[builtins.str] = None,
4686
+ ) -> None:
4687
+ '''A structure that describes the values to use for the IAM Identity Center settings when you create or update a web app.
4688
+
4689
+ :param application_arn: The Amazon Resource Name (ARN) for the IAM Identity Center application: this value is set automatically when you create your web app.
4690
+ :param instance_arn: The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.
4691
+ :param role: The IAM role in IAM Identity Center used for the web app.
4692
+
4693
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-identityproviderdetails.html
4694
+ :exampleMetadata: fixture=_generated
4695
+
4696
+ Example::
4697
+
4698
+ # The code below shows an example of how to instantiate this type.
4699
+ # The values are placeholders you should change.
4700
+ from aws_cdk import aws_transfer as transfer
4701
+
4702
+ identity_provider_details_property = transfer.CfnWebApp.IdentityProviderDetailsProperty(
4703
+ application_arn="applicationArn",
4704
+ instance_arn="instanceArn",
4705
+ role="role"
4706
+ )
4707
+ '''
4708
+ if __debug__:
4709
+ type_hints = typing.get_type_hints(_typecheckingstub__b302a4e89f0273c2f4ecb9d1e9d455f99c8de91db6c0a9f929e41a9c0140a4a4)
4710
+ check_type(argname="argument application_arn", value=application_arn, expected_type=type_hints["application_arn"])
4711
+ check_type(argname="argument instance_arn", value=instance_arn, expected_type=type_hints["instance_arn"])
4712
+ check_type(argname="argument role", value=role, expected_type=type_hints["role"])
4713
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4714
+ if application_arn is not None:
4715
+ self._values["application_arn"] = application_arn
4716
+ if instance_arn is not None:
4717
+ self._values["instance_arn"] = instance_arn
4718
+ if role is not None:
4719
+ self._values["role"] = role
4720
+
4721
+ @builtins.property
4722
+ def application_arn(self) -> typing.Optional[builtins.str]:
4723
+ '''The Amazon Resource Name (ARN) for the IAM Identity Center application: this value is set automatically when you create your web app.
4724
+
4725
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-identityproviderdetails.html#cfn-transfer-webapp-identityproviderdetails-applicationarn
4726
+ '''
4727
+ result = self._values.get("application_arn")
4728
+ return typing.cast(typing.Optional[builtins.str], result)
4729
+
4730
+ @builtins.property
4731
+ def instance_arn(self) -> typing.Optional[builtins.str]:
4732
+ '''The Amazon Resource Name (ARN) for the IAM Identity Center used for the web app.
4733
+
4734
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-identityproviderdetails.html#cfn-transfer-webapp-identityproviderdetails-instancearn
4735
+ '''
4736
+ result = self._values.get("instance_arn")
4737
+ return typing.cast(typing.Optional[builtins.str], result)
4738
+
4739
+ @builtins.property
4740
+ def role(self) -> typing.Optional[builtins.str]:
4741
+ '''The IAM role in IAM Identity Center used for the web app.
4742
+
4743
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-identityproviderdetails.html#cfn-transfer-webapp-identityproviderdetails-role
4744
+ '''
4745
+ result = self._values.get("role")
4746
+ return typing.cast(typing.Optional[builtins.str], result)
4747
+
4748
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4749
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4750
+
4751
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4752
+ return not (rhs == self)
4753
+
4754
+ def __repr__(self) -> str:
4755
+ return "IdentityProviderDetailsProperty(%s)" % ", ".join(
4756
+ k + "=" + repr(v) for k, v in self._values.items()
4757
+ )
4758
+
4759
+ @jsii.data_type(
4760
+ jsii_type="aws-cdk-lib.aws_transfer.CfnWebApp.WebAppCustomizationProperty",
4761
+ jsii_struct_bases=[],
4762
+ name_mapping={
4763
+ "favicon_file": "faviconFile",
4764
+ "logo_file": "logoFile",
4765
+ "title": "title",
4766
+ },
4767
+ )
4768
+ class WebAppCustomizationProperty:
4769
+ def __init__(
4770
+ self,
4771
+ *,
4772
+ favicon_file: typing.Optional[builtins.str] = None,
4773
+ logo_file: typing.Optional[builtins.str] = None,
4774
+ title: typing.Optional[builtins.str] = None,
4775
+ ) -> None:
4776
+ '''A structure that contains the customization fields for the web app.
4777
+
4778
+ You can provide a title, logo, and icon to customize the appearance of your web app.
4779
+
4780
+ :param favicon_file: Returns an icon file data string (in base64 encoding).
4781
+ :param logo_file: Returns a logo file data string (in base64 encoding).
4782
+ :param title: Returns the page title that you defined for your web app.
4783
+
4784
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-webappcustomization.html
4785
+ :exampleMetadata: fixture=_generated
4786
+
4787
+ Example::
4788
+
4789
+ # The code below shows an example of how to instantiate this type.
4790
+ # The values are placeholders you should change.
4791
+ from aws_cdk import aws_transfer as transfer
4792
+
4793
+ web_app_customization_property = transfer.CfnWebApp.WebAppCustomizationProperty(
4794
+ favicon_file="faviconFile",
4795
+ logo_file="logoFile",
4796
+ title="title"
4797
+ )
4798
+ '''
4799
+ if __debug__:
4800
+ type_hints = typing.get_type_hints(_typecheckingstub__e7ad602329ec3c900c7027cebb12a5f6509c389ad77660ed02d37f445d17a053)
4801
+ check_type(argname="argument favicon_file", value=favicon_file, expected_type=type_hints["favicon_file"])
4802
+ check_type(argname="argument logo_file", value=logo_file, expected_type=type_hints["logo_file"])
4803
+ check_type(argname="argument title", value=title, expected_type=type_hints["title"])
4804
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
4805
+ if favicon_file is not None:
4806
+ self._values["favicon_file"] = favicon_file
4807
+ if logo_file is not None:
4808
+ self._values["logo_file"] = logo_file
4809
+ if title is not None:
4810
+ self._values["title"] = title
4811
+
4812
+ @builtins.property
4813
+ def favicon_file(self) -> typing.Optional[builtins.str]:
4814
+ '''Returns an icon file data string (in base64 encoding).
4815
+
4816
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-webappcustomization.html#cfn-transfer-webapp-webappcustomization-faviconfile
4817
+ '''
4818
+ result = self._values.get("favicon_file")
4819
+ return typing.cast(typing.Optional[builtins.str], result)
4820
+
4821
+ @builtins.property
4822
+ def logo_file(self) -> typing.Optional[builtins.str]:
4823
+ '''Returns a logo file data string (in base64 encoding).
4824
+
4825
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-webappcustomization.html#cfn-transfer-webapp-webappcustomization-logofile
4826
+ '''
4827
+ result = self._values.get("logo_file")
4828
+ return typing.cast(typing.Optional[builtins.str], result)
4829
+
4830
+ @builtins.property
4831
+ def title(self) -> typing.Optional[builtins.str]:
4832
+ '''Returns the page title that you defined for your web app.
4833
+
4834
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-webappcustomization.html#cfn-transfer-webapp-webappcustomization-title
4835
+ '''
4836
+ result = self._values.get("title")
4837
+ return typing.cast(typing.Optional[builtins.str], result)
4838
+
4839
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4840
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4841
+
4842
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4843
+ return not (rhs == self)
4844
+
4845
+ def __repr__(self) -> str:
4846
+ return "WebAppCustomizationProperty(%s)" % ", ".join(
4847
+ k + "=" + repr(v) for k, v in self._values.items()
4848
+ )
4849
+
4850
+ @jsii.data_type(
4851
+ jsii_type="aws-cdk-lib.aws_transfer.CfnWebApp.WebAppUnitsProperty",
4852
+ jsii_struct_bases=[],
4853
+ name_mapping={"provisioned": "provisioned"},
4854
+ )
4855
+ class WebAppUnitsProperty:
4856
+ def __init__(self, *, provisioned: jsii.Number) -> None:
4857
+ '''Contains an integer value that represents the value for number of concurrent connections or the user sessions on your web app.
4858
+
4859
+ :param provisioned: An integer that represents the number of units for your desired number of concurrent connections, or the number of user sessions on your web app at the same time. Each increment allows an additional 250 concurrent sessions: a value of ``1`` sets the number of concurrent sessions to 250; ``2`` sets a value of 500, and so on.
4860
+
4861
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-webappunits.html
4862
+ :exampleMetadata: fixture=_generated
4863
+
4864
+ Example::
4865
+
4866
+ # The code below shows an example of how to instantiate this type.
4867
+ # The values are placeholders you should change.
4868
+ from aws_cdk import aws_transfer as transfer
4869
+
4870
+ web_app_units_property = transfer.CfnWebApp.WebAppUnitsProperty(
4871
+ provisioned=123
4872
+ )
4873
+ '''
4874
+ if __debug__:
4875
+ type_hints = typing.get_type_hints(_typecheckingstub__f60d6cda63c7834db5b6c31f65165e63d01404bdd2c426d37d6fba8f40916107)
4876
+ check_type(argname="argument provisioned", value=provisioned, expected_type=type_hints["provisioned"])
4877
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4878
+ "provisioned": provisioned,
4879
+ }
4880
+
4881
+ @builtins.property
4882
+ def provisioned(self) -> jsii.Number:
4883
+ '''An integer that represents the number of units for your desired number of concurrent connections, or the number of user sessions on your web app at the same time.
4884
+
4885
+ Each increment allows an additional 250 concurrent sessions: a value of ``1`` sets the number of concurrent sessions to 250; ``2`` sets a value of 500, and so on.
4886
+
4887
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-transfer-webapp-webappunits.html#cfn-transfer-webapp-webappunits-provisioned
4888
+ '''
4889
+ result = self._values.get("provisioned")
4890
+ assert result is not None, "Required property 'provisioned' is missing"
4891
+ return typing.cast(jsii.Number, result)
4892
+
4893
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
4894
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
4895
+
4896
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
4897
+ return not (rhs == self)
4898
+
4899
+ def __repr__(self) -> str:
4900
+ return "WebAppUnitsProperty(%s)" % ", ".join(
4901
+ k + "=" + repr(v) for k, v in self._values.items()
4902
+ )
4903
+
4904
+
4905
+ @jsii.data_type(
4906
+ jsii_type="aws-cdk-lib.aws_transfer.CfnWebAppProps",
4907
+ jsii_struct_bases=[],
4908
+ name_mapping={
4909
+ "identity_provider_details": "identityProviderDetails",
4910
+ "access_endpoint": "accessEndpoint",
4911
+ "tags": "tags",
4912
+ "web_app_customization": "webAppCustomization",
4913
+ "web_app_units": "webAppUnits",
4914
+ },
4915
+ )
4916
+ class CfnWebAppProps:
4917
+ def __init__(
4918
+ self,
4919
+ *,
4920
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.IdentityProviderDetailsProperty, typing.Dict[builtins.str, typing.Any]]],
4921
+ access_endpoint: typing.Optional[builtins.str] = None,
4922
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
4923
+ web_app_customization: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.WebAppCustomizationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4924
+ web_app_units: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.WebAppUnitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4925
+ ) -> None:
4926
+ '''Properties for defining a ``CfnWebApp``.
4927
+
4928
+ :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>`_ .
4929
+ :param access_endpoint: The ``AccessEndpoint`` is the URL that you provide to your users for them to interact with the Transfer Family web app. You can specify a custom URL or use the default value. Before you enter a custom URL for this parameter, follow the steps described in `Update your access endpoint with a custom URL <https://docs.aws.amazon.com//transfer/latest/userguide/webapp-customize.html>`_ .
4930
+ :param tags: Key-value pairs that can be used to group and search for web apps. Tags are metadata attached to web apps for any purpose.
4931
+ :param web_app_customization: A structure that contains the customization fields for the web app. You can provide a title, logo, and icon to customize the appearance of your web app.
4932
+ :param web_app_units: A union that contains the value for number of concurrent connections or the user sessions on your web app.
4933
+
4934
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html
4935
+ :exampleMetadata: fixture=_generated
4936
+
4937
+ Example::
4938
+
4939
+ # The code below shows an example of how to instantiate this type.
4940
+ # The values are placeholders you should change.
4941
+ from aws_cdk import aws_transfer as transfer
4942
+
4943
+ cfn_web_app_props = transfer.CfnWebAppProps(
4944
+ identity_provider_details=transfer.CfnWebApp.IdentityProviderDetailsProperty(
4945
+ application_arn="applicationArn",
4946
+ instance_arn="instanceArn",
4947
+ role="role"
4948
+ ),
4949
+
4950
+ # the properties below are optional
4951
+ access_endpoint="accessEndpoint",
4952
+ tags=[CfnTag(
4953
+ key="key",
4954
+ value="value"
4955
+ )],
4956
+ web_app_customization=transfer.CfnWebApp.WebAppCustomizationProperty(
4957
+ favicon_file="faviconFile",
4958
+ logo_file="logoFile",
4959
+ title="title"
4960
+ ),
4961
+ web_app_units=transfer.CfnWebApp.WebAppUnitsProperty(
4962
+ provisioned=123
4963
+ )
4964
+ )
4965
+ '''
4966
+ if __debug__:
4967
+ type_hints = typing.get_type_hints(_typecheckingstub__fbc7bdd479da7eca2bd2264125d2580878fa82f5b9dcf4a35fe4aca05da20d4d)
4968
+ check_type(argname="argument identity_provider_details", value=identity_provider_details, expected_type=type_hints["identity_provider_details"])
4969
+ check_type(argname="argument access_endpoint", value=access_endpoint, expected_type=type_hints["access_endpoint"])
4970
+ check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
4971
+ check_type(argname="argument web_app_customization", value=web_app_customization, expected_type=type_hints["web_app_customization"])
4972
+ check_type(argname="argument web_app_units", value=web_app_units, expected_type=type_hints["web_app_units"])
4973
+ self._values: typing.Dict[builtins.str, typing.Any] = {
4974
+ "identity_provider_details": identity_provider_details,
4975
+ }
4976
+ if access_endpoint is not None:
4977
+ self._values["access_endpoint"] = access_endpoint
4978
+ if tags is not None:
4979
+ self._values["tags"] = tags
4980
+ if web_app_customization is not None:
4981
+ self._values["web_app_customization"] = web_app_customization
4982
+ if web_app_units is not None:
4983
+ self._values["web_app_units"] = web_app_units
4984
+
4985
+ @builtins.property
4986
+ def identity_provider_details(
4987
+ self,
4988
+ ) -> typing.Union[_IResolvable_da3f097b, CfnWebApp.IdentityProviderDetailsProperty]:
4989
+ '''You can provide a structure that contains the details for the identity provider to use with your web app.
4990
+
4991
+ 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>`_ .
4992
+
4993
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html#cfn-transfer-webapp-identityproviderdetails
4994
+ '''
4995
+ result = self._values.get("identity_provider_details")
4996
+ assert result is not None, "Required property 'identity_provider_details' is missing"
4997
+ return typing.cast(typing.Union[_IResolvable_da3f097b, CfnWebApp.IdentityProviderDetailsProperty], result)
4998
+
4999
+ @builtins.property
5000
+ def access_endpoint(self) -> typing.Optional[builtins.str]:
5001
+ '''The ``AccessEndpoint`` is the URL that you provide to your users for them to interact with the Transfer Family web app.
5002
+
5003
+ You can specify a custom URL or use the default value.
5004
+
5005
+ Before you enter a custom URL for this parameter, follow the steps described in `Update your access endpoint with a custom URL <https://docs.aws.amazon.com//transfer/latest/userguide/webapp-customize.html>`_ .
5006
+
5007
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html#cfn-transfer-webapp-accessendpoint
5008
+ '''
5009
+ result = self._values.get("access_endpoint")
5010
+ return typing.cast(typing.Optional[builtins.str], result)
5011
+
5012
+ @builtins.property
5013
+ def tags(self) -> typing.Optional[typing.List[_CfnTag_f6864754]]:
5014
+ '''Key-value pairs that can be used to group and search for web apps.
5015
+
5016
+ Tags are metadata attached to web apps for any purpose.
5017
+
5018
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html#cfn-transfer-webapp-tags
5019
+ '''
5020
+ result = self._values.get("tags")
5021
+ return typing.cast(typing.Optional[typing.List[_CfnTag_f6864754]], result)
5022
+
5023
+ @builtins.property
5024
+ def web_app_customization(
5025
+ self,
5026
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebApp.WebAppCustomizationProperty]]:
5027
+ '''A structure that contains the customization fields for the web app.
5028
+
5029
+ You can provide a title, logo, and icon to customize the appearance of your web app.
5030
+
5031
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html#cfn-transfer-webapp-webappcustomization
5032
+ '''
5033
+ result = self._values.get("web_app_customization")
5034
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebApp.WebAppCustomizationProperty]], result)
5035
+
5036
+ @builtins.property
5037
+ def web_app_units(
5038
+ self,
5039
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebApp.WebAppUnitsProperty]]:
5040
+ '''A union that contains the value for number of concurrent connections or the user sessions on your web app.
5041
+
5042
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-transfer-webapp.html#cfn-transfer-webapp-webappunits
5043
+ '''
5044
+ result = self._values.get("web_app_units")
5045
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebApp.WebAppUnitsProperty]], result)
5046
+
5047
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5048
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5049
+
5050
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5051
+ return not (rhs == self)
5052
+
5053
+ def __repr__(self) -> str:
5054
+ return "CfnWebAppProps(%s)" % ", ".join(
5055
+ k + "=" + repr(v) for k, v in self._values.items()
5056
+ )
5057
+
5058
+
4344
5059
  @jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
4345
5060
  class CfnWorkflow(
4346
5061
  _CfnResource_9df397a6,
@@ -5879,6 +6594,8 @@ __all__ = [
5879
6594
  "CfnServerProps",
5880
6595
  "CfnUser",
5881
6596
  "CfnUserProps",
6597
+ "CfnWebApp",
6598
+ "CfnWebAppProps",
5882
6599
  "CfnWorkflow",
5883
6600
  "CfnWorkflowProps",
5884
6601
  ]
@@ -5895,6 +6612,8 @@ def _typecheckingstub__f95ec07e6c4ee624e4f9374f7db0e66b46af64fa8c86e2e41aa290c72
5895
6612
  partner_profile_id: builtins.str,
5896
6613
  server_id: builtins.str,
5897
6614
  description: typing.Optional[builtins.str] = None,
6615
+ enforce_message_signing: typing.Optional[builtins.str] = None,
6616
+ preserve_filename: typing.Optional[builtins.str] = None,
5898
6617
  status: typing.Optional[builtins.str] = None,
5899
6618
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5900
6619
  ) -> None:
@@ -5949,6 +6668,18 @@ def _typecheckingstub__53c57c4c1fcab40ff6fbf72d1b3a40161b6904921f0e56930629bce8d
5949
6668
  """Type checking stubs"""
5950
6669
  pass
5951
6670
 
6671
+ def _typecheckingstub__21309644320e7387ed8b8bad8e7f1cae3841efd58a7ee09e263313c3ed573fe0(
6672
+ value: typing.Optional[builtins.str],
6673
+ ) -> None:
6674
+ """Type checking stubs"""
6675
+ pass
6676
+
6677
+ def _typecheckingstub__a8e3dcc245fac0e15a9dfed2729f9d36d2a9bf94ddf00d1e9da1c45cfafec37b(
6678
+ value: typing.Optional[builtins.str],
6679
+ ) -> None:
6680
+ """Type checking stubs"""
6681
+ pass
6682
+
5952
6683
  def _typecheckingstub__78211aad1a50ad3834dcb7a48092349fa0f45f77997fe33f6e8cab4593032c48(
5953
6684
  value: typing.Optional[builtins.str],
5954
6685
  ) -> None:
@@ -5969,6 +6700,8 @@ def _typecheckingstub__c92e8cdff7d6f57ae5fd00ef4190544d79a76c01e88d32b21b88588ee
5969
6700
  partner_profile_id: builtins.str,
5970
6701
  server_id: builtins.str,
5971
6702
  description: typing.Optional[builtins.str] = None,
6703
+ enforce_message_signing: typing.Optional[builtins.str] = None,
6704
+ preserve_filename: typing.Optional[builtins.str] = None,
5972
6705
  status: typing.Optional[builtins.str] = None,
5973
6706
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
5974
6707
  ) -> None:
@@ -6144,6 +6877,7 @@ def _typecheckingstub__328497a7bbb181a996e0747268f6105731221ad3f578e8a5ca68e405d
6144
6877
  mdn_signing_algorithm: typing.Optional[builtins.str] = None,
6145
6878
  message_subject: typing.Optional[builtins.str] = None,
6146
6879
  partner_profile_id: typing.Optional[builtins.str] = None,
6880
+ preserve_content_type: typing.Optional[builtins.str] = None,
6147
6881
  signing_algorithm: typing.Optional[builtins.str] = None,
6148
6882
  ) -> None:
6149
6883
  """Type checking stubs"""
@@ -6561,6 +7295,97 @@ def _typecheckingstub__ad0aa64ea17d55d9634df57b389b841e68b583b0c7f4818453a5cb087
6561
7295
  """Type checking stubs"""
6562
7296
  pass
6563
7297
 
7298
+ def _typecheckingstub__7e725b505349ad94c74b92c89fcff0a41d3c479d533cc008fb193cc8b30c0f70(
7299
+ scope: _constructs_77d1e7e8.Construct,
7300
+ id: builtins.str,
7301
+ *,
7302
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.IdentityProviderDetailsProperty, typing.Dict[builtins.str, typing.Any]]],
7303
+ access_endpoint: typing.Optional[builtins.str] = None,
7304
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7305
+ web_app_customization: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.WebAppCustomizationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7306
+ web_app_units: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.WebAppUnitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7307
+ ) -> None:
7308
+ """Type checking stubs"""
7309
+ pass
7310
+
7311
+ def _typecheckingstub__08aaa0faf06441ae9c1523d4ebf9fdfeccaf68e85c8fdc160642ec400dfa1faa(
7312
+ inspector: _TreeInspector_488e0dd5,
7313
+ ) -> None:
7314
+ """Type checking stubs"""
7315
+ pass
7316
+
7317
+ def _typecheckingstub__35cc75162657b9202a49840d4e0aa4c3d918e09af68ff376e538710cee1cb6cb(
7318
+ props: typing.Mapping[builtins.str, typing.Any],
7319
+ ) -> None:
7320
+ """Type checking stubs"""
7321
+ pass
7322
+
7323
+ def _typecheckingstub__a143104dc72055a6346499a1c42dc1e9a55e0a2fac758a5fdb73cc172530fe8b(
7324
+ value: typing.Union[_IResolvable_da3f097b, CfnWebApp.IdentityProviderDetailsProperty],
7325
+ ) -> None:
7326
+ """Type checking stubs"""
7327
+ pass
7328
+
7329
+ def _typecheckingstub__b49260e5a1b945671ba6797a35aa7d7bf93a577eac3292e024438feec4dc1976(
7330
+ value: typing.Optional[builtins.str],
7331
+ ) -> None:
7332
+ """Type checking stubs"""
7333
+ pass
7334
+
7335
+ def _typecheckingstub__30b2b42c451b5cf18bc021ed1ab027f439a56a366c31b4bec2874a1319670127(
7336
+ value: typing.Optional[typing.List[_CfnTag_f6864754]],
7337
+ ) -> None:
7338
+ """Type checking stubs"""
7339
+ pass
7340
+
7341
+ def _typecheckingstub__06cf7fb4d03ba1e31e57310f7a4e5b9ee65fd97449295a5fcca203aa59c8b3df(
7342
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebApp.WebAppCustomizationProperty]],
7343
+ ) -> None:
7344
+ """Type checking stubs"""
7345
+ pass
7346
+
7347
+ def _typecheckingstub__05c81ce4f64dae1408aa42ef29823b95b141813512df0fe6ef85a451fc930f0a(
7348
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebApp.WebAppUnitsProperty]],
7349
+ ) -> None:
7350
+ """Type checking stubs"""
7351
+ pass
7352
+
7353
+ def _typecheckingstub__b302a4e89f0273c2f4ecb9d1e9d455f99c8de91db6c0a9f929e41a9c0140a4a4(
7354
+ *,
7355
+ application_arn: typing.Optional[builtins.str] = None,
7356
+ instance_arn: typing.Optional[builtins.str] = None,
7357
+ role: typing.Optional[builtins.str] = None,
7358
+ ) -> None:
7359
+ """Type checking stubs"""
7360
+ pass
7361
+
7362
+ def _typecheckingstub__e7ad602329ec3c900c7027cebb12a5f6509c389ad77660ed02d37f445d17a053(
7363
+ *,
7364
+ favicon_file: typing.Optional[builtins.str] = None,
7365
+ logo_file: typing.Optional[builtins.str] = None,
7366
+ title: typing.Optional[builtins.str] = None,
7367
+ ) -> None:
7368
+ """Type checking stubs"""
7369
+ pass
7370
+
7371
+ def _typecheckingstub__f60d6cda63c7834db5b6c31f65165e63d01404bdd2c426d37d6fba8f40916107(
7372
+ *,
7373
+ provisioned: jsii.Number,
7374
+ ) -> None:
7375
+ """Type checking stubs"""
7376
+ pass
7377
+
7378
+ def _typecheckingstub__fbc7bdd479da7eca2bd2264125d2580878fa82f5b9dcf4a35fe4aca05da20d4d(
7379
+ *,
7380
+ identity_provider_details: typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.IdentityProviderDetailsProperty, typing.Dict[builtins.str, typing.Any]]],
7381
+ access_endpoint: typing.Optional[builtins.str] = None,
7382
+ tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
7383
+ web_app_customization: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.WebAppCustomizationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7384
+ web_app_units: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebApp.WebAppUnitsProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
7385
+ ) -> None:
7386
+ """Type checking stubs"""
7387
+ pass
7388
+
6564
7389
  def _typecheckingstub__9a86ecf6f123d228f6edf61149bc2542f6ce02d9365ac8986ec7c6468379f655(
6565
7390
  scope: _constructs_77d1e7e8.Construct,
6566
7391
  id: builtins.str,