aws-cdk-lib 2.156.0__py3-none-any.whl → 2.158.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 (294) hide show
  1. aws_cdk/__init__.py +42 -23
  2. aws_cdk/_jsii/__init__.py +17 -2
  3. aws_cdk/_jsii/{aws-cdk-lib@2.156.0.jsii.tgz → aws-cdk-lib@2.158.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +16 -1
  5. aws_cdk/assertions/__init__.py +16 -1
  6. aws_cdk/aws_accessanalyzer/__init__.py +16 -1
  7. aws_cdk/aws_acmpca/__init__.py +26 -76
  8. aws_cdk/aws_amazonmq/__init__.py +16 -1
  9. aws_cdk/aws_amplify/__init__.py +122 -1
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +16 -1
  11. aws_cdk/aws_apigateway/__init__.py +16 -1
  12. aws_cdk/aws_apigatewayv2/__init__.py +97 -14
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +16 -1
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +16 -1
  15. aws_cdk/aws_appconfig/__init__.py +16 -1
  16. aws_cdk/aws_appflow/__init__.py +16 -1
  17. aws_cdk/aws_appintegrations/__init__.py +30 -15
  18. aws_cdk/aws_applicationautoscaling/__init__.py +16 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +16 -1
  20. aws_cdk/aws_applicationsignals/__init__.py +766 -2
  21. aws_cdk/aws_appmesh/__init__.py +16 -1
  22. aws_cdk/aws_apprunner/__init__.py +16 -1
  23. aws_cdk/aws_appstream/__init__.py +16 -1
  24. aws_cdk/aws_appsync/__init__.py +66 -19
  25. aws_cdk/aws_apptest/__init__.py +16 -1
  26. aws_cdk/aws_aps/__init__.py +16 -1
  27. aws_cdk/aws_arczonalshift/__init__.py +16 -1
  28. aws_cdk/aws_athena/__init__.py +16 -1
  29. aws_cdk/aws_auditmanager/__init__.py +16 -1
  30. aws_cdk/aws_autoscaling/__init__.py +22 -7
  31. aws_cdk/aws_autoscaling_common/__init__.py +16 -1
  32. aws_cdk/aws_autoscaling_hooktargets/__init__.py +16 -1
  33. aws_cdk/aws_autoscalingplans/__init__.py +16 -1
  34. aws_cdk/aws_b2bi/__init__.py +16 -1
  35. aws_cdk/aws_backup/__init__.py +55 -1
  36. aws_cdk/aws_backupgateway/__init__.py +16 -1
  37. aws_cdk/aws_batch/__init__.py +57 -1
  38. aws_cdk/aws_bcmdataexports/__init__.py +16 -1
  39. aws_cdk/aws_bedrock/__init__.py +1529 -95
  40. aws_cdk/aws_billingconductor/__init__.py +16 -1
  41. aws_cdk/aws_budgets/__init__.py +16 -1
  42. aws_cdk/aws_cassandra/__init__.py +16 -1
  43. aws_cdk/aws_ce/__init__.py +16 -1
  44. aws_cdk/aws_certificatemanager/__init__.py +16 -1
  45. aws_cdk/aws_chatbot/__init__.py +22 -7
  46. aws_cdk/aws_cleanrooms/__init__.py +16 -1
  47. aws_cdk/aws_cleanroomsml/__init__.py +16 -1
  48. aws_cdk/aws_cloud9/__init__.py +16 -1
  49. aws_cdk/aws_cloudformation/__init__.py +38 -23
  50. aws_cdk/aws_cloudfront/__init__.py +16 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +46 -4
  52. aws_cdk/aws_cloudfront_origins/__init__.py +16 -1
  53. aws_cdk/aws_cloudtrail/__init__.py +16 -1
  54. aws_cdk/aws_cloudwatch/__init__.py +16 -1
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +16 -1
  56. aws_cdk/aws_codeartifact/__init__.py +16 -1
  57. aws_cdk/aws_codebuild/__init__.py +16 -1
  58. aws_cdk/aws_codecommit/__init__.py +16 -1
  59. aws_cdk/aws_codeconnections/__init__.py +16 -1
  60. aws_cdk/aws_codedeploy/__init__.py +16 -1
  61. aws_cdk/aws_codeguruprofiler/__init__.py +16 -1
  62. aws_cdk/aws_codegurureviewer/__init__.py +16 -1
  63. aws_cdk/aws_codepipeline/__init__.py +16 -1
  64. aws_cdk/aws_codepipeline_actions/__init__.py +16 -1
  65. aws_cdk/aws_codestar/__init__.py +16 -1
  66. aws_cdk/aws_codestarconnections/__init__.py +16 -1
  67. aws_cdk/aws_codestarnotifications/__init__.py +16 -1
  68. aws_cdk/aws_cognito/__init__.py +16 -1
  69. aws_cdk/aws_comprehend/__init__.py +16 -1
  70. aws_cdk/aws_config/__init__.py +16 -1
  71. aws_cdk/aws_connect/__init__.py +16 -1
  72. aws_cdk/aws_connectcampaigns/__init__.py +16 -1
  73. aws_cdk/aws_controltower/__init__.py +16 -1
  74. aws_cdk/aws_cur/__init__.py +16 -1
  75. aws_cdk/aws_customerprofiles/__init__.py +16 -1
  76. aws_cdk/aws_databrew/__init__.py +16 -1
  77. aws_cdk/aws_datapipeline/__init__.py +16 -1
  78. aws_cdk/aws_datasync/__init__.py +56 -30
  79. aws_cdk/aws_datazone/__init__.py +16 -1
  80. aws_cdk/aws_dax/__init__.py +16 -1
  81. aws_cdk/aws_deadline/__init__.py +16 -1
  82. aws_cdk/aws_detective/__init__.py +16 -1
  83. aws_cdk/aws_devicefarm/__init__.py +16 -1
  84. aws_cdk/aws_devopsguru/__init__.py +16 -1
  85. aws_cdk/aws_directoryservice/__init__.py +16 -1
  86. aws_cdk/aws_dlm/__init__.py +16 -1
  87. aws_cdk/aws_dms/__init__.py +16 -1
  88. aws_cdk/aws_docdb/__init__.py +16 -1
  89. aws_cdk/aws_docdbelastic/__init__.py +16 -1
  90. aws_cdk/aws_dynamodb/__init__.py +16 -1
  91. aws_cdk/aws_ec2/__init__.py +389 -50
  92. aws_cdk/aws_ecr/__init__.py +16 -1
  93. aws_cdk/aws_ecr_assets/__init__.py +16 -1
  94. aws_cdk/aws_ecs/__init__.py +269 -88
  95. aws_cdk/aws_ecs_patterns/__init__.py +16 -1
  96. aws_cdk/aws_efs/__init__.py +16 -1
  97. aws_cdk/aws_eks/__init__.py +16 -1
  98. aws_cdk/aws_elasticache/__init__.py +16 -1
  99. aws_cdk/aws_elasticbeanstalk/__init__.py +16 -1
  100. aws_cdk/aws_elasticloadbalancing/__init__.py +16 -1
  101. aws_cdk/aws_elasticloadbalancingv2/__init__.py +20 -5
  102. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +16 -1
  103. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +16 -1
  104. aws_cdk/aws_elasticsearch/__init__.py +16 -1
  105. aws_cdk/aws_emr/__init__.py +16 -1
  106. aws_cdk/aws_emrcontainers/__init__.py +16 -1
  107. aws_cdk/aws_emrserverless/__init__.py +16 -1
  108. aws_cdk/aws_entityresolution/__init__.py +133 -5
  109. aws_cdk/aws_events/__init__.py +16 -1
  110. aws_cdk/aws_events_targets/__init__.py +16 -1
  111. aws_cdk/aws_eventschemas/__init__.py +16 -1
  112. aws_cdk/aws_evidently/__init__.py +16 -1
  113. aws_cdk/aws_finspace/__init__.py +16 -1
  114. aws_cdk/aws_fis/__init__.py +16 -1
  115. aws_cdk/aws_fms/__init__.py +16 -1
  116. aws_cdk/aws_forecast/__init__.py +16 -1
  117. aws_cdk/aws_frauddetector/__init__.py +16 -1
  118. aws_cdk/aws_fsx/__init__.py +16 -1
  119. aws_cdk/aws_gamelift/__init__.py +16 -1
  120. aws_cdk/aws_globalaccelerator/__init__.py +16 -1
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +16 -1
  122. aws_cdk/aws_glue/__init__.py +16 -9
  123. aws_cdk/aws_grafana/__init__.py +16 -1
  124. aws_cdk/aws_greengrass/__init__.py +16 -1
  125. aws_cdk/aws_greengrassv2/__init__.py +16 -1
  126. aws_cdk/aws_groundstation/__init__.py +43 -17
  127. aws_cdk/aws_guardduty/__init__.py +42 -15
  128. aws_cdk/aws_healthimaging/__init__.py +16 -1
  129. aws_cdk/aws_healthlake/__init__.py +16 -1
  130. aws_cdk/aws_iam/__init__.py +16 -1
  131. aws_cdk/aws_identitystore/__init__.py +16 -1
  132. aws_cdk/aws_imagebuilder/__init__.py +16 -1
  133. aws_cdk/aws_inspector/__init__.py +16 -1
  134. aws_cdk/aws_inspectorv2/__init__.py +16 -1
  135. aws_cdk/aws_internetmonitor/__init__.py +16 -1
  136. aws_cdk/aws_iot/__init__.py +16 -1
  137. aws_cdk/aws_iot1click/__init__.py +16 -1
  138. aws_cdk/aws_iotanalytics/__init__.py +16 -1
  139. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +16 -1
  140. aws_cdk/aws_iotevents/__init__.py +16 -1
  141. aws_cdk/aws_iotfleethub/__init__.py +16 -1
  142. aws_cdk/aws_iotfleetwise/__init__.py +124 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +16 -1
  144. aws_cdk/aws_iotthingsgraph/__init__.py +16 -1
  145. aws_cdk/aws_iottwinmaker/__init__.py +16 -1
  146. aws_cdk/aws_iotwireless/__init__.py +16 -1
  147. aws_cdk/aws_ivs/__init__.py +16 -1
  148. aws_cdk/aws_ivschat/__init__.py +16 -1
  149. aws_cdk/aws_kafkaconnect/__init__.py +16 -1
  150. aws_cdk/aws_kendra/__init__.py +16 -1
  151. aws_cdk/aws_kendraranking/__init__.py +16 -1
  152. aws_cdk/aws_kinesis/__init__.py +16 -1
  153. aws_cdk/aws_kinesisanalytics/__init__.py +16 -1
  154. aws_cdk/aws_kinesisanalyticsv2/__init__.py +16 -1
  155. aws_cdk/aws_kinesisfirehose/__init__.py +16 -1
  156. aws_cdk/aws_kinesisvideo/__init__.py +16 -1
  157. aws_cdk/aws_kms/__init__.py +16 -1
  158. aws_cdk/aws_lakeformation/__init__.py +16 -1
  159. aws_cdk/aws_lambda/__init__.py +163 -18
  160. aws_cdk/aws_lambda_destinations/__init__.py +16 -1
  161. aws_cdk/aws_lambda_event_sources/__init__.py +16 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +46 -4
  163. aws_cdk/aws_launchwizard/__init__.py +16 -1
  164. aws_cdk/aws_lex/__init__.py +16 -1
  165. aws_cdk/aws_licensemanager/__init__.py +16 -1
  166. aws_cdk/aws_lightsail/__init__.py +16 -1
  167. aws_cdk/aws_location/__init__.py +16 -1
  168. aws_cdk/aws_logs/__init__.py +16 -1
  169. aws_cdk/aws_logs_destinations/__init__.py +16 -1
  170. aws_cdk/aws_lookoutequipment/__init__.py +16 -1
  171. aws_cdk/aws_lookoutmetrics/__init__.py +16 -1
  172. aws_cdk/aws_lookoutvision/__init__.py +16 -1
  173. aws_cdk/aws_m2/__init__.py +16 -1
  174. aws_cdk/aws_macie/__init__.py +20 -5
  175. aws_cdk/aws_managedblockchain/__init__.py +16 -1
  176. aws_cdk/aws_mediaconnect/__init__.py +16 -1
  177. aws_cdk/aws_mediaconvert/__init__.py +16 -1
  178. aws_cdk/aws_medialive/__init__.py +364 -1
  179. aws_cdk/aws_mediapackage/__init__.py +16 -1
  180. aws_cdk/aws_mediapackagev2/__init__.py +54 -39
  181. aws_cdk/aws_mediastore/__init__.py +16 -1
  182. aws_cdk/aws_mediatailor/__init__.py +16 -1
  183. aws_cdk/aws_memorydb/__init__.py +16 -1
  184. aws_cdk/aws_msk/__init__.py +16 -1
  185. aws_cdk/aws_mwaa/__init__.py +16 -1
  186. aws_cdk/aws_neptune/__init__.py +30 -9
  187. aws_cdk/aws_neptunegraph/__init__.py +16 -1
  188. aws_cdk/aws_networkfirewall/__init__.py +16 -1
  189. aws_cdk/aws_networkmanager/__init__.py +16 -1
  190. aws_cdk/aws_nimblestudio/__init__.py +16 -1
  191. aws_cdk/aws_oam/__init__.py +16 -1
  192. aws_cdk/aws_omics/__init__.py +16 -1
  193. aws_cdk/aws_opensearchserverless/__init__.py +16 -1
  194. aws_cdk/aws_opensearchservice/__init__.py +210 -1
  195. aws_cdk/aws_opsworks/__init__.py +16 -1
  196. aws_cdk/aws_opsworkscm/__init__.py +16 -1
  197. aws_cdk/aws_organizations/__init__.py +16 -1
  198. aws_cdk/aws_osis/__init__.py +16 -1
  199. aws_cdk/aws_panorama/__init__.py +16 -1
  200. aws_cdk/aws_paymentcryptography/__init__.py +16 -1
  201. aws_cdk/aws_pcaconnectorad/__init__.py +16 -1
  202. aws_cdk/aws_pcaconnectorscep/__init__.py +899 -0
  203. aws_cdk/aws_personalize/__init__.py +18 -3
  204. aws_cdk/aws_pinpoint/__init__.py +16 -1
  205. aws_cdk/aws_pinpointemail/__init__.py +16 -1
  206. aws_cdk/aws_pipes/__init__.py +38 -23
  207. aws_cdk/aws_proton/__init__.py +16 -1
  208. aws_cdk/aws_qbusiness/__init__.py +691 -7
  209. aws_cdk/aws_qldb/__init__.py +16 -1
  210. aws_cdk/aws_quicksight/__init__.py +3301 -1
  211. aws_cdk/aws_ram/__init__.py +16 -1
  212. aws_cdk/aws_rds/__init__.py +58 -5
  213. aws_cdk/aws_redshift/__init__.py +16 -1
  214. aws_cdk/aws_redshiftserverless/__init__.py +16 -1
  215. aws_cdk/aws_refactorspaces/__init__.py +16 -1
  216. aws_cdk/aws_rekognition/__init__.py +16 -1
  217. aws_cdk/aws_resiliencehub/__init__.py +16 -1
  218. aws_cdk/aws_resourceexplorer2/__init__.py +16 -1
  219. aws_cdk/aws_resourcegroups/__init__.py +16 -1
  220. aws_cdk/aws_robomaker/__init__.py +16 -1
  221. aws_cdk/aws_rolesanywhere/__init__.py +16 -1
  222. aws_cdk/aws_route53/__init__.py +16 -1
  223. aws_cdk/aws_route53_patterns/__init__.py +16 -1
  224. aws_cdk/aws_route53_targets/__init__.py +16 -1
  225. aws_cdk/aws_route53profiles/__init__.py +16 -1
  226. aws_cdk/aws_route53recoverycontrol/__init__.py +16 -1
  227. aws_cdk/aws_route53recoveryreadiness/__init__.py +16 -1
  228. aws_cdk/aws_route53resolver/__init__.py +16 -1
  229. aws_cdk/aws_rum/__init__.py +16 -1
  230. aws_cdk/aws_s3/__init__.py +16 -1
  231. aws_cdk/aws_s3_assets/__init__.py +16 -1
  232. aws_cdk/aws_s3_deployment/__init__.py +16 -1
  233. aws_cdk/aws_s3_notifications/__init__.py +16 -1
  234. aws_cdk/aws_s3express/__init__.py +16 -1
  235. aws_cdk/aws_s3objectlambda/__init__.py +16 -1
  236. aws_cdk/aws_s3outposts/__init__.py +16 -1
  237. aws_cdk/aws_sagemaker/__init__.py +1183 -1
  238. aws_cdk/aws_sam/__init__.py +16 -1
  239. aws_cdk/aws_scheduler/__init__.py +16 -1
  240. aws_cdk/aws_sdb/__init__.py +16 -1
  241. aws_cdk/aws_secretsmanager/__init__.py +18 -4
  242. aws_cdk/aws_securityhub/__init__.py +124 -104
  243. aws_cdk/aws_securitylake/__init__.py +16 -1
  244. aws_cdk/aws_servicecatalog/__init__.py +16 -1
  245. aws_cdk/aws_servicecatalogappregistry/__init__.py +16 -1
  246. aws_cdk/aws_servicediscovery/__init__.py +16 -1
  247. aws_cdk/aws_ses/__init__.py +47 -1
  248. aws_cdk/aws_ses_actions/__init__.py +16 -1
  249. aws_cdk/aws_shield/__init__.py +16 -1
  250. aws_cdk/aws_signer/__init__.py +16 -1
  251. aws_cdk/aws_simspaceweaver/__init__.py +16 -1
  252. aws_cdk/aws_sns/__init__.py +35 -14
  253. aws_cdk/aws_sns_subscriptions/__init__.py +16 -1
  254. aws_cdk/aws_sqs/__init__.py +16 -1
  255. aws_cdk/aws_ssm/__init__.py +26 -7
  256. aws_cdk/aws_ssmcontacts/__init__.py +16 -1
  257. aws_cdk/aws_ssmincidents/__init__.py +16 -1
  258. aws_cdk/aws_ssmquicksetup/__init__.py +982 -0
  259. aws_cdk/aws_sso/__init__.py +16 -1
  260. aws_cdk/aws_stepfunctions/__init__.py +16 -1
  261. aws_cdk/aws_stepfunctions_tasks/__init__.py +20 -5
  262. aws_cdk/aws_supportapp/__init__.py +16 -1
  263. aws_cdk/aws_synthetics/__init__.py +16 -1
  264. aws_cdk/aws_systemsmanagersap/__init__.py +16 -1
  265. aws_cdk/aws_timestream/__init__.py +16 -1
  266. aws_cdk/aws_transfer/__init__.py +16 -1
  267. aws_cdk/aws_verifiedpermissions/__init__.py +16 -1
  268. aws_cdk/aws_voiceid/__init__.py +16 -1
  269. aws_cdk/aws_vpclattice/__init__.py +16 -1
  270. aws_cdk/aws_waf/__init__.py +16 -1
  271. aws_cdk/aws_wafregional/__init__.py +16 -1
  272. aws_cdk/aws_wafv2/__init__.py +16 -1
  273. aws_cdk/aws_wisdom/__init__.py +16 -1
  274. aws_cdk/aws_workspaces/__init__.py +16 -1
  275. aws_cdk/aws_workspacesthinclient/__init__.py +16 -1
  276. aws_cdk/aws_workspacesweb/__init__.py +16 -1
  277. aws_cdk/aws_xray/__init__.py +16 -1
  278. aws_cdk/cloud_assembly_schema/__init__.py +16 -1
  279. aws_cdk/cloudformation_include/__init__.py +16 -1
  280. aws_cdk/custom_resources/__init__.py +16 -1
  281. aws_cdk/cx_api/__init__.py +16 -1
  282. aws_cdk/lambda_layer_awscli/__init__.py +16 -1
  283. aws_cdk/lambda_layer_kubectl/__init__.py +16 -1
  284. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +16 -1
  285. aws_cdk/pipelines/__init__.py +16 -1
  286. aws_cdk/region_info/__init__.py +16 -1
  287. aws_cdk/triggers/__init__.py +46 -4
  288. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/METADATA +5 -5
  289. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/NOTICE +27 -8
  290. aws_cdk_lib-2.158.0.dist-info/RECORD +294 -0
  291. aws_cdk_lib-2.156.0.dist-info/RECORD +0 -292
  292. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/LICENSE +0 -0
  293. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/WHEEL +0 -0
  294. {aws_cdk_lib-2.156.0.dist-info → aws_cdk_lib-2.158.0.dist-info}/top_level.txt +0 -0
@@ -48,7 +48,22 @@ import jsii
48
48
  import publication
49
49
  import typing_extensions
50
50
 
51
- from typeguard import check_type
51
+ import typeguard
52
+ from importlib.metadata import version as _metadata_package_version
53
+ TYPEGUARD_MAJOR_VERSION = int(_metadata_package_version('typeguard').split('.')[0])
54
+
55
+ def check_type(argname: str, value: object, expected_type: typing.Any) -> typing.Any:
56
+ if TYPEGUARD_MAJOR_VERSION <= 2:
57
+ return typeguard.check_type(argname=argname, value=value, expected_type=expected_type) # type:ignore
58
+ else:
59
+ if isinstance(value, jsii._reference_map.InterfaceDynamicProxy): # pyright: ignore [reportAttributeAccessIssue]
60
+ pass
61
+ else:
62
+ if TYPEGUARD_MAJOR_VERSION == 3:
63
+ typeguard.config.collection_check_strategy = typeguard.CollectionCheckStrategy.ALL_ITEMS # type:ignore
64
+ typeguard.check_type(value=value, expected_type=expected_type) # type:ignore
65
+ else:
66
+ typeguard.check_type(value=value, expected_type=expected_type, collection_check_strategy=typeguard.CollectionCheckStrategy.ALL_ITEMS) # type:ignore
52
67
 
53
68
  from .._jsii import *
54
69
 
@@ -93,11 +108,23 @@ class CfnApplication(
93
108
  attachments_configuration=qbusiness.CfnApplication.AttachmentsConfigurationProperty(
94
109
  attachments_control_mode="attachmentsControlMode"
95
110
  ),
111
+ auto_subscription_configuration=qbusiness.CfnApplication.AutoSubscriptionConfigurationProperty(
112
+ auto_subscribe="autoSubscribe",
113
+
114
+ # the properties below are optional
115
+ default_subscription_type="defaultSubscriptionType"
116
+ ),
117
+ client_ids_for_oidc=["clientIdsForOidc"],
96
118
  description="description",
97
119
  encryption_configuration=qbusiness.CfnApplication.EncryptionConfigurationProperty(
98
120
  kms_key_id="kmsKeyId"
99
121
  ),
122
+ iam_identity_provider_arn="iamIdentityProviderArn",
100
123
  identity_center_instance_arn="identityCenterInstanceArn",
124
+ identity_type="identityType",
125
+ personalization_configuration=qbusiness.CfnApplication.PersonalizationConfigurationProperty(
126
+ personalization_control_mode="personalizationControlMode"
127
+ ),
101
128
  q_apps_configuration=qbusiness.CfnApplication.QAppsConfigurationProperty(
102
129
  q_apps_control_mode="qAppsControlMode"
103
130
  ),
@@ -116,9 +143,14 @@ class CfnApplication(
116
143
  *,
117
144
  display_name: builtins.str,
118
145
  attachments_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.AttachmentsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
146
+ auto_subscription_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.AutoSubscriptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
147
+ client_ids_for_oidc: typing.Optional[typing.Sequence[builtins.str]] = None,
119
148
  description: typing.Optional[builtins.str] = None,
120
149
  encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.EncryptionConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
150
+ iam_identity_provider_arn: typing.Optional[builtins.str] = None,
121
151
  identity_center_instance_arn: typing.Optional[builtins.str] = None,
152
+ identity_type: typing.Optional[builtins.str] = None,
153
+ personalization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.PersonalizationConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
122
154
  q_apps_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnApplication.QAppsConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
123
155
  role_arn: typing.Optional[builtins.str] = None,
124
156
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -128,10 +160,15 @@ class CfnApplication(
128
160
  :param id: Construct identifier for this resource (unique in its scope).
129
161
  :param display_name: The name of the Amazon Q Business application.
130
162
  :param attachments_configuration: Configuration information for the file upload during chat feature.
163
+ :param auto_subscription_configuration: Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
164
+ :param client_ids_for_oidc:
131
165
  :param description: A description for the Amazon Q Business application.
132
166
  :param encryption_configuration: Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business. Amazon Q Business doesn't support asymmetric keys.
167
+ :param iam_identity_provider_arn: The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.
133
168
  :param identity_center_instance_arn: The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application. *Required* : ``Yes``
134
- :param q_apps_configuration: Configuration information about Amazon Q Apps. (preview feature)
169
+ :param identity_type: The authentication type being used by a Amazon Q Business application.
170
+ :param personalization_configuration: Configuration information about chat response personalization. For more information, see `Personalizing chat responses <https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html>`_ .
171
+ :param q_apps_configuration: Configuration information about Amazon Q Apps.
135
172
  :param role_arn: The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
136
173
  :param tags: A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
137
174
  '''
@@ -142,9 +179,14 @@ class CfnApplication(
142
179
  props = CfnApplicationProps(
143
180
  display_name=display_name,
144
181
  attachments_configuration=attachments_configuration,
182
+ auto_subscription_configuration=auto_subscription_configuration,
183
+ client_ids_for_oidc=client_ids_for_oidc,
145
184
  description=description,
146
185
  encryption_configuration=encryption_configuration,
186
+ iam_identity_provider_arn=iam_identity_provider_arn,
147
187
  identity_center_instance_arn=identity_center_instance_arn,
188
+ identity_type=identity_type,
189
+ personalization_configuration=personalization_configuration,
148
190
  q_apps_configuration=q_apps_configuration,
149
191
  role_arn=role_arn,
150
192
  tags=tags,
@@ -280,6 +322,39 @@ class CfnApplication(
280
322
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
281
323
  jsii.set(self, "attachmentsConfiguration", value) # pyright: ignore[reportArgumentType]
282
324
 
325
+ @builtins.property
326
+ @jsii.member(jsii_name="autoSubscriptionConfiguration")
327
+ def auto_subscription_configuration(
328
+ self,
329
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.AutoSubscriptionConfigurationProperty"]]:
330
+ '''Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.'''
331
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.AutoSubscriptionConfigurationProperty"]], jsii.get(self, "autoSubscriptionConfiguration"))
332
+
333
+ @auto_subscription_configuration.setter
334
+ def auto_subscription_configuration(
335
+ self,
336
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.AutoSubscriptionConfigurationProperty"]],
337
+ ) -> None:
338
+ if __debug__:
339
+ type_hints = typing.get_type_hints(_typecheckingstub__2b35a2b0fba0b74bf88677e8d09b2943fd8623f4b30bfa5113d4dd6400769370)
340
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
341
+ jsii.set(self, "autoSubscriptionConfiguration", value) # pyright: ignore[reportArgumentType]
342
+
343
+ @builtins.property
344
+ @jsii.member(jsii_name="clientIdsForOidc")
345
+ def client_ids_for_oidc(self) -> typing.Optional[typing.List[builtins.str]]:
346
+ return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, "clientIdsForOidc"))
347
+
348
+ @client_ids_for_oidc.setter
349
+ def client_ids_for_oidc(
350
+ self,
351
+ value: typing.Optional[typing.List[builtins.str]],
352
+ ) -> None:
353
+ if __debug__:
354
+ type_hints = typing.get_type_hints(_typecheckingstub__e16dbf7c72949c3994e85619024d1169320455f5129fc42720ee3369ccfe5013)
355
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
356
+ jsii.set(self, "clientIdsForOidc", value) # pyright: ignore[reportArgumentType]
357
+
283
358
  @builtins.property
284
359
  @jsii.member(jsii_name="description")
285
360
  def description(self) -> typing.Optional[builtins.str]:
@@ -311,6 +386,19 @@ class CfnApplication(
311
386
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
312
387
  jsii.set(self, "encryptionConfiguration", value) # pyright: ignore[reportArgumentType]
313
388
 
389
+ @builtins.property
390
+ @jsii.member(jsii_name="iamIdentityProviderArn")
391
+ def iam_identity_provider_arn(self) -> typing.Optional[builtins.str]:
392
+ '''The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.'''
393
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "iamIdentityProviderArn"))
394
+
395
+ @iam_identity_provider_arn.setter
396
+ def iam_identity_provider_arn(self, value: typing.Optional[builtins.str]) -> None:
397
+ if __debug__:
398
+ type_hints = typing.get_type_hints(_typecheckingstub__2b960c5b2a263370b2ed8902e4658a930ce9de4e1d95a848786663e3d07945d0)
399
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
400
+ jsii.set(self, "iamIdentityProviderArn", value) # pyright: ignore[reportArgumentType]
401
+
314
402
  @builtins.property
315
403
  @jsii.member(jsii_name="identityCenterInstanceArn")
316
404
  def identity_center_instance_arn(self) -> typing.Optional[builtins.str]:
@@ -327,6 +415,37 @@ class CfnApplication(
327
415
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
328
416
  jsii.set(self, "identityCenterInstanceArn", value) # pyright: ignore[reportArgumentType]
329
417
 
418
+ @builtins.property
419
+ @jsii.member(jsii_name="identityType")
420
+ def identity_type(self) -> typing.Optional[builtins.str]:
421
+ '''The authentication type being used by a Amazon Q Business application.'''
422
+ return typing.cast(typing.Optional[builtins.str], jsii.get(self, "identityType"))
423
+
424
+ @identity_type.setter
425
+ def identity_type(self, value: typing.Optional[builtins.str]) -> None:
426
+ if __debug__:
427
+ type_hints = typing.get_type_hints(_typecheckingstub__44221a178b075fcdd809e631de43085ff6e3f91b9741304fd15e1a0dc442eae1)
428
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
429
+ jsii.set(self, "identityType", value) # pyright: ignore[reportArgumentType]
430
+
431
+ @builtins.property
432
+ @jsii.member(jsii_name="personalizationConfiguration")
433
+ def personalization_configuration(
434
+ self,
435
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.PersonalizationConfigurationProperty"]]:
436
+ '''Configuration information about chat response personalization.'''
437
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.PersonalizationConfigurationProperty"]], jsii.get(self, "personalizationConfiguration"))
438
+
439
+ @personalization_configuration.setter
440
+ def personalization_configuration(
441
+ self,
442
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnApplication.PersonalizationConfigurationProperty"]],
443
+ ) -> None:
444
+ if __debug__:
445
+ type_hints = typing.get_type_hints(_typecheckingstub__aa9c62867ef8fd21c925099f5633037e806bdc6c1fd8880e42968edf98de8ec2)
446
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
447
+ jsii.set(self, "personalizationConfiguration", value) # pyright: ignore[reportArgumentType]
448
+
330
449
  @builtins.property
331
450
  @jsii.member(jsii_name="qAppsConfiguration")
332
451
  def q_apps_configuration(
@@ -423,6 +542,84 @@ class CfnApplication(
423
542
  k + "=" + repr(v) for k, v in self._values.items()
424
543
  )
425
544
 
545
+ @jsii.data_type(
546
+ jsii_type="aws-cdk-lib.aws_qbusiness.CfnApplication.AutoSubscriptionConfigurationProperty",
547
+ jsii_struct_bases=[],
548
+ name_mapping={
549
+ "auto_subscribe": "autoSubscribe",
550
+ "default_subscription_type": "defaultSubscriptionType",
551
+ },
552
+ )
553
+ class AutoSubscriptionConfigurationProperty:
554
+ def __init__(
555
+ self,
556
+ *,
557
+ auto_subscribe: builtins.str,
558
+ default_subscription_type: typing.Optional[builtins.str] = None,
559
+ ) -> None:
560
+ '''Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
561
+
562
+ :param auto_subscribe: Describes whether automatic subscriptions are enabled for an Amazon Q Business application using IAM identity federation for user management.
563
+ :param default_subscription_type: Describes the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management. If the value for ``autoSubscribe`` is set to ``ENABLED`` you must select a value for this field.
564
+
565
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-autosubscriptionconfiguration.html
566
+ :exampleMetadata: fixture=_generated
567
+
568
+ Example::
569
+
570
+ # The code below shows an example of how to instantiate this type.
571
+ # The values are placeholders you should change.
572
+ from aws_cdk import aws_qbusiness as qbusiness
573
+
574
+ auto_subscription_configuration_property = qbusiness.CfnApplication.AutoSubscriptionConfigurationProperty(
575
+ auto_subscribe="autoSubscribe",
576
+
577
+ # the properties below are optional
578
+ default_subscription_type="defaultSubscriptionType"
579
+ )
580
+ '''
581
+ if __debug__:
582
+ type_hints = typing.get_type_hints(_typecheckingstub__14d50e4994c3366ddeb7da76131ecc6e103dc3ed4c7bb2ec4ce982b547d2ab3b)
583
+ check_type(argname="argument auto_subscribe", value=auto_subscribe, expected_type=type_hints["auto_subscribe"])
584
+ check_type(argname="argument default_subscription_type", value=default_subscription_type, expected_type=type_hints["default_subscription_type"])
585
+ self._values: typing.Dict[builtins.str, typing.Any] = {
586
+ "auto_subscribe": auto_subscribe,
587
+ }
588
+ if default_subscription_type is not None:
589
+ self._values["default_subscription_type"] = default_subscription_type
590
+
591
+ @builtins.property
592
+ def auto_subscribe(self) -> builtins.str:
593
+ '''Describes whether automatic subscriptions are enabled for an Amazon Q Business application using IAM identity federation for user management.
594
+
595
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-autosubscriptionconfiguration.html#cfn-qbusiness-application-autosubscriptionconfiguration-autosubscribe
596
+ '''
597
+ result = self._values.get("auto_subscribe")
598
+ assert result is not None, "Required property 'auto_subscribe' is missing"
599
+ return typing.cast(builtins.str, result)
600
+
601
+ @builtins.property
602
+ def default_subscription_type(self) -> typing.Optional[builtins.str]:
603
+ '''Describes the default subscription type assigned to an Amazon Q Business application using IAM identity federation for user management.
604
+
605
+ If the value for ``autoSubscribe`` is set to ``ENABLED`` you must select a value for this field.
606
+
607
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-autosubscriptionconfiguration.html#cfn-qbusiness-application-autosubscriptionconfiguration-defaultsubscriptiontype
608
+ '''
609
+ result = self._values.get("default_subscription_type")
610
+ return typing.cast(typing.Optional[builtins.str], result)
611
+
612
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
613
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
614
+
615
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
616
+ return not (rhs == self)
617
+
618
+ def __repr__(self) -> str:
619
+ return "AutoSubscriptionConfigurationProperty(%s)" % ", ".join(
620
+ k + "=" + repr(v) for k, v in self._values.items()
621
+ )
622
+
426
623
  @jsii.data_type(
427
624
  jsii_type="aws-cdk-lib.aws_qbusiness.CfnApplication.EncryptionConfigurationProperty",
428
625
  jsii_struct_bases=[],
@@ -478,6 +675,60 @@ class CfnApplication(
478
675
  k + "=" + repr(v) for k, v in self._values.items()
479
676
  )
480
677
 
678
+ @jsii.data_type(
679
+ jsii_type="aws-cdk-lib.aws_qbusiness.CfnApplication.PersonalizationConfigurationProperty",
680
+ jsii_struct_bases=[],
681
+ name_mapping={"personalization_control_mode": "personalizationControlMode"},
682
+ )
683
+ class PersonalizationConfigurationProperty:
684
+ def __init__(self, *, personalization_control_mode: builtins.str) -> None:
685
+ '''Configuration information about chat response personalization.
686
+
687
+ For more information, see `Personalizing chat responses <https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html>`_ .
688
+
689
+ :param personalization_control_mode: An option to allow Amazon Q Business to customize chat responses using user specific metadata—specifically, location and job information—in your IAM Identity Center instance.
690
+
691
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-personalizationconfiguration.html
692
+ :exampleMetadata: fixture=_generated
693
+
694
+ Example::
695
+
696
+ # The code below shows an example of how to instantiate this type.
697
+ # The values are placeholders you should change.
698
+ from aws_cdk import aws_qbusiness as qbusiness
699
+
700
+ personalization_configuration_property = qbusiness.CfnApplication.PersonalizationConfigurationProperty(
701
+ personalization_control_mode="personalizationControlMode"
702
+ )
703
+ '''
704
+ if __debug__:
705
+ type_hints = typing.get_type_hints(_typecheckingstub__05c530a7a40f7de7f808af2f7755372bf178629a393e2508771fc91224c8446f)
706
+ check_type(argname="argument personalization_control_mode", value=personalization_control_mode, expected_type=type_hints["personalization_control_mode"])
707
+ self._values: typing.Dict[builtins.str, typing.Any] = {
708
+ "personalization_control_mode": personalization_control_mode,
709
+ }
710
+
711
+ @builtins.property
712
+ def personalization_control_mode(self) -> builtins.str:
713
+ '''An option to allow Amazon Q Business to customize chat responses using user specific metadata—specifically, location and job information—in your IAM Identity Center instance.
714
+
715
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-personalizationconfiguration.html#cfn-qbusiness-application-personalizationconfiguration-personalizationcontrolmode
716
+ '''
717
+ result = self._values.get("personalization_control_mode")
718
+ assert result is not None, "Required property 'personalization_control_mode' is missing"
719
+ return typing.cast(builtins.str, result)
720
+
721
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
722
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
723
+
724
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
725
+ return not (rhs == self)
726
+
727
+ def __repr__(self) -> str:
728
+ return "PersonalizationConfigurationProperty(%s)" % ", ".join(
729
+ k + "=" + repr(v) for k, v in self._values.items()
730
+ )
731
+
481
732
  @jsii.data_type(
482
733
  jsii_type="aws-cdk-lib.aws_qbusiness.CfnApplication.QAppsConfigurationProperty",
483
734
  jsii_struct_bases=[],
@@ -487,8 +738,6 @@ class CfnApplication(
487
738
  def __init__(self, *, q_apps_control_mode: builtins.str) -> None:
488
739
  '''Configuration information about Amazon Q Apps.
489
740
 
490
- (preview feature)
491
-
492
741
  :param q_apps_control_mode: Status information about whether end users can create and use Amazon Q Apps in the web experience.
493
742
 
494
743
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-application-qappsconfiguration.html
@@ -539,9 +788,14 @@ class CfnApplication(
539
788
  name_mapping={
540
789
  "display_name": "displayName",
541
790
  "attachments_configuration": "attachmentsConfiguration",
791
+ "auto_subscription_configuration": "autoSubscriptionConfiguration",
792
+ "client_ids_for_oidc": "clientIdsForOidc",
542
793
  "description": "description",
543
794
  "encryption_configuration": "encryptionConfiguration",
795
+ "iam_identity_provider_arn": "iamIdentityProviderArn",
544
796
  "identity_center_instance_arn": "identityCenterInstanceArn",
797
+ "identity_type": "identityType",
798
+ "personalization_configuration": "personalizationConfiguration",
545
799
  "q_apps_configuration": "qAppsConfiguration",
546
800
  "role_arn": "roleArn",
547
801
  "tags": "tags",
@@ -553,9 +807,14 @@ class CfnApplicationProps:
553
807
  *,
554
808
  display_name: builtins.str,
555
809
  attachments_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.AttachmentsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
810
+ auto_subscription_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.AutoSubscriptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
811
+ client_ids_for_oidc: typing.Optional[typing.Sequence[builtins.str]] = None,
556
812
  description: typing.Optional[builtins.str] = None,
557
813
  encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
814
+ iam_identity_provider_arn: typing.Optional[builtins.str] = None,
558
815
  identity_center_instance_arn: typing.Optional[builtins.str] = None,
816
+ identity_type: typing.Optional[builtins.str] = None,
817
+ personalization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.PersonalizationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
559
818
  q_apps_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.QAppsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
560
819
  role_arn: typing.Optional[builtins.str] = None,
561
820
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -564,10 +823,15 @@ class CfnApplicationProps:
564
823
 
565
824
  :param display_name: The name of the Amazon Q Business application.
566
825
  :param attachments_configuration: Configuration information for the file upload during chat feature.
826
+ :param auto_subscription_configuration: Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
827
+ :param client_ids_for_oidc:
567
828
  :param description: A description for the Amazon Q Business application.
568
829
  :param encryption_configuration: Provides the identifier of the AWS KMS key used to encrypt data indexed by Amazon Q Business. Amazon Q Business doesn't support asymmetric keys.
830
+ :param iam_identity_provider_arn: The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.
569
831
  :param identity_center_instance_arn: The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application. *Required* : ``Yes``
570
- :param q_apps_configuration: Configuration information about Amazon Q Apps. (preview feature)
832
+ :param identity_type: The authentication type being used by a Amazon Q Business application.
833
+ :param personalization_configuration: Configuration information about chat response personalization. For more information, see `Personalizing chat responses <https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html>`_ .
834
+ :param q_apps_configuration: Configuration information about Amazon Q Apps.
571
835
  :param role_arn: The Amazon Resource Name (ARN) of an IAM role with permissions to access your Amazon CloudWatch logs and metrics.
572
836
  :param tags: A list of key-value pairs that identify or categorize your Amazon Q Business application. You can also use tags to help control access to the application. Tag keys and values can consist of Unicode letters, digits, white space, and any of the following symbols: _ . : / = + -
573
837
 
@@ -587,11 +851,23 @@ class CfnApplicationProps:
587
851
  attachments_configuration=qbusiness.CfnApplication.AttachmentsConfigurationProperty(
588
852
  attachments_control_mode="attachmentsControlMode"
589
853
  ),
854
+ auto_subscription_configuration=qbusiness.CfnApplication.AutoSubscriptionConfigurationProperty(
855
+ auto_subscribe="autoSubscribe",
856
+
857
+ # the properties below are optional
858
+ default_subscription_type="defaultSubscriptionType"
859
+ ),
860
+ client_ids_for_oidc=["clientIdsForOidc"],
590
861
  description="description",
591
862
  encryption_configuration=qbusiness.CfnApplication.EncryptionConfigurationProperty(
592
863
  kms_key_id="kmsKeyId"
593
864
  ),
865
+ iam_identity_provider_arn="iamIdentityProviderArn",
594
866
  identity_center_instance_arn="identityCenterInstanceArn",
867
+ identity_type="identityType",
868
+ personalization_configuration=qbusiness.CfnApplication.PersonalizationConfigurationProperty(
869
+ personalization_control_mode="personalizationControlMode"
870
+ ),
595
871
  q_apps_configuration=qbusiness.CfnApplication.QAppsConfigurationProperty(
596
872
  q_apps_control_mode="qAppsControlMode"
597
873
  ),
@@ -606,9 +882,14 @@ class CfnApplicationProps:
606
882
  type_hints = typing.get_type_hints(_typecheckingstub__cd218bde3aa6ce3304b30e1d4799c501a50db8db5cef8926c28924af066170bb)
607
883
  check_type(argname="argument display_name", value=display_name, expected_type=type_hints["display_name"])
608
884
  check_type(argname="argument attachments_configuration", value=attachments_configuration, expected_type=type_hints["attachments_configuration"])
885
+ check_type(argname="argument auto_subscription_configuration", value=auto_subscription_configuration, expected_type=type_hints["auto_subscription_configuration"])
886
+ check_type(argname="argument client_ids_for_oidc", value=client_ids_for_oidc, expected_type=type_hints["client_ids_for_oidc"])
609
887
  check_type(argname="argument description", value=description, expected_type=type_hints["description"])
610
888
  check_type(argname="argument encryption_configuration", value=encryption_configuration, expected_type=type_hints["encryption_configuration"])
889
+ check_type(argname="argument iam_identity_provider_arn", value=iam_identity_provider_arn, expected_type=type_hints["iam_identity_provider_arn"])
611
890
  check_type(argname="argument identity_center_instance_arn", value=identity_center_instance_arn, expected_type=type_hints["identity_center_instance_arn"])
891
+ check_type(argname="argument identity_type", value=identity_type, expected_type=type_hints["identity_type"])
892
+ check_type(argname="argument personalization_configuration", value=personalization_configuration, expected_type=type_hints["personalization_configuration"])
612
893
  check_type(argname="argument q_apps_configuration", value=q_apps_configuration, expected_type=type_hints["q_apps_configuration"])
613
894
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
614
895
  check_type(argname="argument tags", value=tags, expected_type=type_hints["tags"])
@@ -617,12 +898,22 @@ class CfnApplicationProps:
617
898
  }
618
899
  if attachments_configuration is not None:
619
900
  self._values["attachments_configuration"] = attachments_configuration
901
+ if auto_subscription_configuration is not None:
902
+ self._values["auto_subscription_configuration"] = auto_subscription_configuration
903
+ if client_ids_for_oidc is not None:
904
+ self._values["client_ids_for_oidc"] = client_ids_for_oidc
620
905
  if description is not None:
621
906
  self._values["description"] = description
622
907
  if encryption_configuration is not None:
623
908
  self._values["encryption_configuration"] = encryption_configuration
909
+ if iam_identity_provider_arn is not None:
910
+ self._values["iam_identity_provider_arn"] = iam_identity_provider_arn
624
911
  if identity_center_instance_arn is not None:
625
912
  self._values["identity_center_instance_arn"] = identity_center_instance_arn
913
+ if identity_type is not None:
914
+ self._values["identity_type"] = identity_type
915
+ if personalization_configuration is not None:
916
+ self._values["personalization_configuration"] = personalization_configuration
626
917
  if q_apps_configuration is not None:
627
918
  self._values["q_apps_configuration"] = q_apps_configuration
628
919
  if role_arn is not None:
@@ -651,6 +942,25 @@ class CfnApplicationProps:
651
942
  result = self._values.get("attachments_configuration")
652
943
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.AttachmentsConfigurationProperty]], result)
653
944
 
945
+ @builtins.property
946
+ def auto_subscription_configuration(
947
+ self,
948
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.AutoSubscriptionConfigurationProperty]]:
949
+ '''Subscription configuration information for an Amazon Q Business application using IAM identity federation for user management.
950
+
951
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-autosubscriptionconfiguration
952
+ '''
953
+ result = self._values.get("auto_subscription_configuration")
954
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.AutoSubscriptionConfigurationProperty]], result)
955
+
956
+ @builtins.property
957
+ def client_ids_for_oidc(self) -> typing.Optional[typing.List[builtins.str]]:
958
+ '''
959
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-clientidsforoidc
960
+ '''
961
+ result = self._values.get("client_ids_for_oidc")
962
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
963
+
654
964
  @builtins.property
655
965
  def description(self) -> typing.Optional[builtins.str]:
656
966
  '''A description for the Amazon Q Business application.
@@ -673,6 +983,15 @@ class CfnApplicationProps:
673
983
  result = self._values.get("encryption_configuration")
674
984
  return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.EncryptionConfigurationProperty]], result)
675
985
 
986
+ @builtins.property
987
+ def iam_identity_provider_arn(self) -> typing.Optional[builtins.str]:
988
+ '''The Amazon Resource Name (ARN) of an identity provider being used by an Amazon Q Business application.
989
+
990
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-iamidentityproviderarn
991
+ '''
992
+ result = self._values.get("iam_identity_provider_arn")
993
+ return typing.cast(typing.Optional[builtins.str], result)
994
+
676
995
  @builtins.property
677
996
  def identity_center_instance_arn(self) -> typing.Optional[builtins.str]:
678
997
  '''The Amazon Resource Name (ARN) of the IAM Identity Center instance you are either creating for—or connecting to—your Amazon Q Business application.
@@ -684,14 +1003,34 @@ class CfnApplicationProps:
684
1003
  result = self._values.get("identity_center_instance_arn")
685
1004
  return typing.cast(typing.Optional[builtins.str], result)
686
1005
 
1006
+ @builtins.property
1007
+ def identity_type(self) -> typing.Optional[builtins.str]:
1008
+ '''The authentication type being used by a Amazon Q Business application.
1009
+
1010
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-identitytype
1011
+ '''
1012
+ result = self._values.get("identity_type")
1013
+ return typing.cast(typing.Optional[builtins.str], result)
1014
+
1015
+ @builtins.property
1016
+ def personalization_configuration(
1017
+ self,
1018
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.PersonalizationConfigurationProperty]]:
1019
+ '''Configuration information about chat response personalization.
1020
+
1021
+ For more information, see `Personalizing chat responses <https://docs.aws.amazon.com/amazonq/latest/qbusiness-ug/personalizing-chat-responses.html>`_ .
1022
+
1023
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-personalizationconfiguration
1024
+ '''
1025
+ result = self._values.get("personalization_configuration")
1026
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.PersonalizationConfigurationProperty]], result)
1027
+
687
1028
  @builtins.property
688
1029
  def q_apps_configuration(
689
1030
  self,
690
1031
  ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.QAppsConfigurationProperty]]:
691
1032
  '''Configuration information about Amazon Q Apps.
692
1033
 
693
- (preview feature)
694
-
695
1034
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-application.html#cfn-qbusiness-application-qappsconfiguration
696
1035
  '''
697
1036
  result = self._values.get("q_apps_configuration")
@@ -4574,6 +4913,15 @@ class CfnWebExperience(
4574
4913
  application_id="applicationId",
4575
4914
 
4576
4915
  # the properties below are optional
4916
+ identity_provider_configuration=qbusiness.CfnWebExperience.IdentityProviderConfigurationProperty(
4917
+ open_id_connect_configuration=qbusiness.CfnWebExperience.OpenIDConnectProviderConfigurationProperty(
4918
+ secrets_arn="secretsArn",
4919
+ secrets_role="secretsRole"
4920
+ ),
4921
+ saml_configuration=qbusiness.CfnWebExperience.SamlProviderConfigurationProperty(
4922
+ authentication_url="authenticationUrl"
4923
+ )
4924
+ ),
4577
4925
  role_arn="roleArn",
4578
4926
  sample_prompts_control_mode="samplePromptsControlMode",
4579
4927
  subtitle="subtitle",
@@ -4592,6 +4940,7 @@ class CfnWebExperience(
4592
4940
  id: builtins.str,
4593
4941
  *,
4594
4942
  application_id: builtins.str,
4943
+ identity_provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebExperience.IdentityProviderConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
4595
4944
  role_arn: typing.Optional[builtins.str] = None,
4596
4945
  sample_prompts_control_mode: typing.Optional[builtins.str] = None,
4597
4946
  subtitle: typing.Optional[builtins.str] = None,
@@ -4603,6 +4952,7 @@ class CfnWebExperience(
4603
4952
  :param scope: Scope in which this resource is defined.
4604
4953
  :param id: Construct identifier for this resource (unique in its scope).
4605
4954
  :param application_id: The identifier of the Amazon Q Business web experience.
4955
+ :param identity_provider_configuration: Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
4606
4956
  :param role_arn: The Amazon Resource Name (ARN) of the service role attached to your web experience. .. epigraph:: You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value.
4607
4957
  :param sample_prompts_control_mode: Determines whether sample prompts are enabled in the web experience for an end user.
4608
4958
  :param subtitle: A subtitle to personalize your Amazon Q Business web experience.
@@ -4616,6 +4966,7 @@ class CfnWebExperience(
4616
4966
  check_type(argname="argument id", value=id, expected_type=type_hints["id"])
4617
4967
  props = CfnWebExperienceProps(
4618
4968
  application_id=application_id,
4969
+ identity_provider_configuration=identity_provider_configuration,
4619
4970
  role_arn=role_arn,
4620
4971
  sample_prompts_control_mode=sample_prompts_control_mode,
4621
4972
  subtitle=subtitle,
@@ -4736,6 +5087,24 @@ class CfnWebExperience(
4736
5087
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4737
5088
  jsii.set(self, "applicationId", value) # pyright: ignore[reportArgumentType]
4738
5089
 
5090
+ @builtins.property
5091
+ @jsii.member(jsii_name="identityProviderConfiguration")
5092
+ def identity_provider_configuration(
5093
+ self,
5094
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.IdentityProviderConfigurationProperty"]]:
5095
+ '''Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.'''
5096
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.IdentityProviderConfigurationProperty"]], jsii.get(self, "identityProviderConfiguration"))
5097
+
5098
+ @identity_provider_configuration.setter
5099
+ def identity_provider_configuration(
5100
+ self,
5101
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.IdentityProviderConfigurationProperty"]],
5102
+ ) -> None:
5103
+ if __debug__:
5104
+ type_hints = typing.get_type_hints(_typecheckingstub__037151dbe9f2f36da364495e39b2467a261694df042a6b81d84e5c2c34771ac4)
5105
+ check_type(argname="argument value", value=value, expected_type=type_hints["value"])
5106
+ jsii.set(self, "identityProviderConfiguration", value) # pyright: ignore[reportArgumentType]
5107
+
4739
5108
  @builtins.property
4740
5109
  @jsii.member(jsii_name="roleArn")
4741
5110
  def role_arn(self) -> typing.Optional[builtins.str]:
@@ -4814,12 +5183,216 @@ class CfnWebExperience(
4814
5183
  check_type(argname="argument value", value=value, expected_type=type_hints["value"])
4815
5184
  jsii.set(self, "welcomeMessage", value) # pyright: ignore[reportArgumentType]
4816
5185
 
5186
+ @jsii.data_type(
5187
+ jsii_type="aws-cdk-lib.aws_qbusiness.CfnWebExperience.IdentityProviderConfigurationProperty",
5188
+ jsii_struct_bases=[],
5189
+ name_mapping={
5190
+ "open_id_connect_configuration": "openIdConnectConfiguration",
5191
+ "saml_configuration": "samlConfiguration",
5192
+ },
5193
+ )
5194
+ class IdentityProviderConfigurationProperty:
5195
+ def __init__(
5196
+ self,
5197
+ *,
5198
+ open_id_connect_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebExperience.OpenIDConnectProviderConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5199
+ saml_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnWebExperience.SamlProviderConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
5200
+ ) -> None:
5201
+ '''Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
5202
+
5203
+ :param open_id_connect_configuration:
5204
+ :param saml_configuration:
5205
+
5206
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-identityproviderconfiguration.html
5207
+ :exampleMetadata: fixture=_generated
5208
+
5209
+ Example::
5210
+
5211
+ # The code below shows an example of how to instantiate this type.
5212
+ # The values are placeholders you should change.
5213
+ from aws_cdk import aws_qbusiness as qbusiness
5214
+
5215
+ identity_provider_configuration_property = qbusiness.CfnWebExperience.IdentityProviderConfigurationProperty(
5216
+ open_id_connect_configuration=qbusiness.CfnWebExperience.OpenIDConnectProviderConfigurationProperty(
5217
+ secrets_arn="secretsArn",
5218
+ secrets_role="secretsRole"
5219
+ ),
5220
+ saml_configuration=qbusiness.CfnWebExperience.SamlProviderConfigurationProperty(
5221
+ authentication_url="authenticationUrl"
5222
+ )
5223
+ )
5224
+ '''
5225
+ if __debug__:
5226
+ type_hints = typing.get_type_hints(_typecheckingstub__f792f47d6a0722e8b808ad22d67aec07629a1e7351865cae0ee890cff9ba5c1a)
5227
+ check_type(argname="argument open_id_connect_configuration", value=open_id_connect_configuration, expected_type=type_hints["open_id_connect_configuration"])
5228
+ check_type(argname="argument saml_configuration", value=saml_configuration, expected_type=type_hints["saml_configuration"])
5229
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
5230
+ if open_id_connect_configuration is not None:
5231
+ self._values["open_id_connect_configuration"] = open_id_connect_configuration
5232
+ if saml_configuration is not None:
5233
+ self._values["saml_configuration"] = saml_configuration
5234
+
5235
+ @builtins.property
5236
+ def open_id_connect_configuration(
5237
+ self,
5238
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.OpenIDConnectProviderConfigurationProperty"]]:
5239
+ '''
5240
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-identityproviderconfiguration.html#cfn-qbusiness-webexperience-identityproviderconfiguration-openidconnectconfiguration
5241
+ '''
5242
+ result = self._values.get("open_id_connect_configuration")
5243
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.OpenIDConnectProviderConfigurationProperty"]], result)
5244
+
5245
+ @builtins.property
5246
+ def saml_configuration(
5247
+ self,
5248
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.SamlProviderConfigurationProperty"]]:
5249
+ '''
5250
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-identityproviderconfiguration.html#cfn-qbusiness-webexperience-identityproviderconfiguration-samlconfiguration
5251
+ '''
5252
+ result = self._values.get("saml_configuration")
5253
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnWebExperience.SamlProviderConfigurationProperty"]], result)
5254
+
5255
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5256
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5257
+
5258
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5259
+ return not (rhs == self)
5260
+
5261
+ def __repr__(self) -> str:
5262
+ return "IdentityProviderConfigurationProperty(%s)" % ", ".join(
5263
+ k + "=" + repr(v) for k, v in self._values.items()
5264
+ )
5265
+
5266
+ @jsii.data_type(
5267
+ jsii_type="aws-cdk-lib.aws_qbusiness.CfnWebExperience.OpenIDConnectProviderConfigurationProperty",
5268
+ jsii_struct_bases=[],
5269
+ name_mapping={"secrets_arn": "secretsArn", "secrets_role": "secretsRole"},
5270
+ )
5271
+ class OpenIDConnectProviderConfigurationProperty:
5272
+ def __init__(
5273
+ self,
5274
+ *,
5275
+ secrets_arn: builtins.str,
5276
+ secrets_role: builtins.str,
5277
+ ) -> None:
5278
+ '''Information about the OIDC-compliant identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
5279
+
5280
+ :param secrets_arn: The Amazon Resource Name (ARN) of a Secrets Manager secret containing the OIDC client secret.
5281
+ :param secrets_role: An IAM role with permissions to access AWS KMS to decrypt the Secrets Manager secret containing your OIDC client secret.
5282
+
5283
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-openidconnectproviderconfiguration.html
5284
+ :exampleMetadata: fixture=_generated
5285
+
5286
+ Example::
5287
+
5288
+ # The code below shows an example of how to instantiate this type.
5289
+ # The values are placeholders you should change.
5290
+ from aws_cdk import aws_qbusiness as qbusiness
5291
+
5292
+ open_iDConnect_provider_configuration_property = qbusiness.CfnWebExperience.OpenIDConnectProviderConfigurationProperty(
5293
+ secrets_arn="secretsArn",
5294
+ secrets_role="secretsRole"
5295
+ )
5296
+ '''
5297
+ if __debug__:
5298
+ type_hints = typing.get_type_hints(_typecheckingstub__83ea977b859d6c4c1e46fa972ce0e7d691c60d57b7c59adbe13d851526eb765e)
5299
+ check_type(argname="argument secrets_arn", value=secrets_arn, expected_type=type_hints["secrets_arn"])
5300
+ check_type(argname="argument secrets_role", value=secrets_role, expected_type=type_hints["secrets_role"])
5301
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5302
+ "secrets_arn": secrets_arn,
5303
+ "secrets_role": secrets_role,
5304
+ }
5305
+
5306
+ @builtins.property
5307
+ def secrets_arn(self) -> builtins.str:
5308
+ '''The Amazon Resource Name (ARN) of a Secrets Manager secret containing the OIDC client secret.
5309
+
5310
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-openidconnectproviderconfiguration.html#cfn-qbusiness-webexperience-openidconnectproviderconfiguration-secretsarn
5311
+ '''
5312
+ result = self._values.get("secrets_arn")
5313
+ assert result is not None, "Required property 'secrets_arn' is missing"
5314
+ return typing.cast(builtins.str, result)
5315
+
5316
+ @builtins.property
5317
+ def secrets_role(self) -> builtins.str:
5318
+ '''An IAM role with permissions to access AWS KMS to decrypt the Secrets Manager secret containing your OIDC client secret.
5319
+
5320
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-openidconnectproviderconfiguration.html#cfn-qbusiness-webexperience-openidconnectproviderconfiguration-secretsrole
5321
+ '''
5322
+ result = self._values.get("secrets_role")
5323
+ assert result is not None, "Required property 'secrets_role' is missing"
5324
+ return typing.cast(builtins.str, result)
5325
+
5326
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5327
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5328
+
5329
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5330
+ return not (rhs == self)
5331
+
5332
+ def __repr__(self) -> str:
5333
+ return "OpenIDConnectProviderConfigurationProperty(%s)" % ", ".join(
5334
+ k + "=" + repr(v) for k, v in self._values.items()
5335
+ )
5336
+
5337
+ @jsii.data_type(
5338
+ jsii_type="aws-cdk-lib.aws_qbusiness.CfnWebExperience.SamlProviderConfigurationProperty",
5339
+ jsii_struct_bases=[],
5340
+ name_mapping={"authentication_url": "authenticationUrl"},
5341
+ )
5342
+ class SamlProviderConfigurationProperty:
5343
+ def __init__(self, *, authentication_url: builtins.str) -> None:
5344
+ '''Information about the SAML 2.0-compliant identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
5345
+
5346
+ :param authentication_url: The URL where Amazon Q Business end users will be redirected for authentication.
5347
+
5348
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-samlproviderconfiguration.html
5349
+ :exampleMetadata: fixture=_generated
5350
+
5351
+ Example::
5352
+
5353
+ # The code below shows an example of how to instantiate this type.
5354
+ # The values are placeholders you should change.
5355
+ from aws_cdk import aws_qbusiness as qbusiness
5356
+
5357
+ saml_provider_configuration_property = qbusiness.CfnWebExperience.SamlProviderConfigurationProperty(
5358
+ authentication_url="authenticationUrl"
5359
+ )
5360
+ '''
5361
+ if __debug__:
5362
+ type_hints = typing.get_type_hints(_typecheckingstub__7f19a9da1f3a1cf2eefff3580476a949609debe65a8fc477af11c893d5b4453b)
5363
+ check_type(argname="argument authentication_url", value=authentication_url, expected_type=type_hints["authentication_url"])
5364
+ self._values: typing.Dict[builtins.str, typing.Any] = {
5365
+ "authentication_url": authentication_url,
5366
+ }
5367
+
5368
+ @builtins.property
5369
+ def authentication_url(self) -> builtins.str:
5370
+ '''The URL where Amazon Q Business end users will be redirected for authentication.
5371
+
5372
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-qbusiness-webexperience-samlproviderconfiguration.html#cfn-qbusiness-webexperience-samlproviderconfiguration-authenticationurl
5373
+ '''
5374
+ result = self._values.get("authentication_url")
5375
+ assert result is not None, "Required property 'authentication_url' is missing"
5376
+ return typing.cast(builtins.str, result)
5377
+
5378
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
5379
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
5380
+
5381
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
5382
+ return not (rhs == self)
5383
+
5384
+ def __repr__(self) -> str:
5385
+ return "SamlProviderConfigurationProperty(%s)" % ", ".join(
5386
+ k + "=" + repr(v) for k, v in self._values.items()
5387
+ )
5388
+
4817
5389
 
4818
5390
  @jsii.data_type(
4819
5391
  jsii_type="aws-cdk-lib.aws_qbusiness.CfnWebExperienceProps",
4820
5392
  jsii_struct_bases=[],
4821
5393
  name_mapping={
4822
5394
  "application_id": "applicationId",
5395
+ "identity_provider_configuration": "identityProviderConfiguration",
4823
5396
  "role_arn": "roleArn",
4824
5397
  "sample_prompts_control_mode": "samplePromptsControlMode",
4825
5398
  "subtitle": "subtitle",
@@ -4833,6 +5406,7 @@ class CfnWebExperienceProps:
4833
5406
  self,
4834
5407
  *,
4835
5408
  application_id: builtins.str,
5409
+ identity_provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebExperience.IdentityProviderConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
4836
5410
  role_arn: typing.Optional[builtins.str] = None,
4837
5411
  sample_prompts_control_mode: typing.Optional[builtins.str] = None,
4838
5412
  subtitle: typing.Optional[builtins.str] = None,
@@ -4843,6 +5417,7 @@ class CfnWebExperienceProps:
4843
5417
  '''Properties for defining a ``CfnWebExperience``.
4844
5418
 
4845
5419
  :param application_id: The identifier of the Amazon Q Business web experience.
5420
+ :param identity_provider_configuration: Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
4846
5421
  :param role_arn: The Amazon Resource Name (ARN) of the service role attached to your web experience. .. epigraph:: You must provide this value if you're using IAM Identity Center to manage end user access to your application. If you're using legacy identity management to manage user access, you don't need to provide this value.
4847
5422
  :param sample_prompts_control_mode: Determines whether sample prompts are enabled in the web experience for an end user.
4848
5423
  :param subtitle: A subtitle to personalize your Amazon Q Business web experience.
@@ -4863,6 +5438,15 @@ class CfnWebExperienceProps:
4863
5438
  application_id="applicationId",
4864
5439
 
4865
5440
  # the properties below are optional
5441
+ identity_provider_configuration=qbusiness.CfnWebExperience.IdentityProviderConfigurationProperty(
5442
+ open_id_connect_configuration=qbusiness.CfnWebExperience.OpenIDConnectProviderConfigurationProperty(
5443
+ secrets_arn="secretsArn",
5444
+ secrets_role="secretsRole"
5445
+ ),
5446
+ saml_configuration=qbusiness.CfnWebExperience.SamlProviderConfigurationProperty(
5447
+ authentication_url="authenticationUrl"
5448
+ )
5449
+ ),
4866
5450
  role_arn="roleArn",
4867
5451
  sample_prompts_control_mode="samplePromptsControlMode",
4868
5452
  subtitle="subtitle",
@@ -4877,6 +5461,7 @@ class CfnWebExperienceProps:
4877
5461
  if __debug__:
4878
5462
  type_hints = typing.get_type_hints(_typecheckingstub__58d2b12e60ffd88803f1746b34f5f9b5b77805b460b8074165db15b9de292293)
4879
5463
  check_type(argname="argument application_id", value=application_id, expected_type=type_hints["application_id"])
5464
+ check_type(argname="argument identity_provider_configuration", value=identity_provider_configuration, expected_type=type_hints["identity_provider_configuration"])
4880
5465
  check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
4881
5466
  check_type(argname="argument sample_prompts_control_mode", value=sample_prompts_control_mode, expected_type=type_hints["sample_prompts_control_mode"])
4882
5467
  check_type(argname="argument subtitle", value=subtitle, expected_type=type_hints["subtitle"])
@@ -4886,6 +5471,8 @@ class CfnWebExperienceProps:
4886
5471
  self._values: typing.Dict[builtins.str, typing.Any] = {
4887
5472
  "application_id": application_id,
4888
5473
  }
5474
+ if identity_provider_configuration is not None:
5475
+ self._values["identity_provider_configuration"] = identity_provider_configuration
4889
5476
  if role_arn is not None:
4890
5477
  self._values["role_arn"] = role_arn
4891
5478
  if sample_prompts_control_mode is not None:
@@ -4909,6 +5496,17 @@ class CfnWebExperienceProps:
4909
5496
  assert result is not None, "Required property 'application_id' is missing"
4910
5497
  return typing.cast(builtins.str, result)
4911
5498
 
5499
+ @builtins.property
5500
+ def identity_provider_configuration(
5501
+ self,
5502
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebExperience.IdentityProviderConfigurationProperty]]:
5503
+ '''Provides information about the identity provider (IdP) used to authenticate end users of an Amazon Q Business web experience.
5504
+
5505
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-qbusiness-webexperience.html#cfn-qbusiness-webexperience-identityproviderconfiguration
5506
+ '''
5507
+ result = self._values.get("identity_provider_configuration")
5508
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebExperience.IdentityProviderConfigurationProperty]], result)
5509
+
4912
5510
  @builtins.property
4913
5511
  def role_arn(self) -> typing.Optional[builtins.str]:
4914
5512
  '''The Amazon Resource Name (ARN) of the service role attached to your web experience.
@@ -5005,9 +5603,14 @@ def _typecheckingstub__e2c95edfee8896187b03149b15ce3604b3a59bfb3b08abd73c5672b7c
5005
5603
  *,
5006
5604
  display_name: builtins.str,
5007
5605
  attachments_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.AttachmentsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5606
+ auto_subscription_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.AutoSubscriptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5607
+ client_ids_for_oidc: typing.Optional[typing.Sequence[builtins.str]] = None,
5008
5608
  description: typing.Optional[builtins.str] = None,
5009
5609
  encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5610
+ iam_identity_provider_arn: typing.Optional[builtins.str] = None,
5010
5611
  identity_center_instance_arn: typing.Optional[builtins.str] = None,
5612
+ identity_type: typing.Optional[builtins.str] = None,
5613
+ personalization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.PersonalizationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5011
5614
  q_apps_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.QAppsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5012
5615
  role_arn: typing.Optional[builtins.str] = None,
5013
5616
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -5039,6 +5642,18 @@ def _typecheckingstub__57c12a095537be640da7b57fecbf3b07e85d4c25f19b33011eba52664
5039
5642
  """Type checking stubs"""
5040
5643
  pass
5041
5644
 
5645
+ def _typecheckingstub__2b35a2b0fba0b74bf88677e8d09b2943fd8623f4b30bfa5113d4dd6400769370(
5646
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.AutoSubscriptionConfigurationProperty]],
5647
+ ) -> None:
5648
+ """Type checking stubs"""
5649
+ pass
5650
+
5651
+ def _typecheckingstub__e16dbf7c72949c3994e85619024d1169320455f5129fc42720ee3369ccfe5013(
5652
+ value: typing.Optional[typing.List[builtins.str]],
5653
+ ) -> None:
5654
+ """Type checking stubs"""
5655
+ pass
5656
+
5042
5657
  def _typecheckingstub__cc81ccdbed36f390524b7f7b30696df462f8857fc5dbadb944cf0de3caf79186(
5043
5658
  value: typing.Optional[builtins.str],
5044
5659
  ) -> None:
@@ -5051,12 +5666,30 @@ def _typecheckingstub__6de90c5382cc0edcebad422dab80436e0194a3dee33a2061cee4fd766
5051
5666
  """Type checking stubs"""
5052
5667
  pass
5053
5668
 
5669
+ def _typecheckingstub__2b960c5b2a263370b2ed8902e4658a930ce9de4e1d95a848786663e3d07945d0(
5670
+ value: typing.Optional[builtins.str],
5671
+ ) -> None:
5672
+ """Type checking stubs"""
5673
+ pass
5674
+
5054
5675
  def _typecheckingstub__0e51ab74f20033849c9b717566b2c1f59a066782ff0aafb4adb05ce552f5019a(
5055
5676
  value: typing.Optional[builtins.str],
5056
5677
  ) -> None:
5057
5678
  """Type checking stubs"""
5058
5679
  pass
5059
5680
 
5681
+ def _typecheckingstub__44221a178b075fcdd809e631de43085ff6e3f91b9741304fd15e1a0dc442eae1(
5682
+ value: typing.Optional[builtins.str],
5683
+ ) -> None:
5684
+ """Type checking stubs"""
5685
+ pass
5686
+
5687
+ def _typecheckingstub__aa9c62867ef8fd21c925099f5633037e806bdc6c1fd8880e42968edf98de8ec2(
5688
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.PersonalizationConfigurationProperty]],
5689
+ ) -> None:
5690
+ """Type checking stubs"""
5691
+ pass
5692
+
5060
5693
  def _typecheckingstub__53d92c70961aea8a11ca2bb523fd9f10d2b780d9bda90114e0350e538ef5bd70(
5061
5694
  value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnApplication.QAppsConfigurationProperty]],
5062
5695
  ) -> None:
@@ -5082,6 +5715,14 @@ def _typecheckingstub__e846388f34383d4a53c1ad7c73621d6c0612dd1cab1047d5850af6842
5082
5715
  """Type checking stubs"""
5083
5716
  pass
5084
5717
 
5718
+ def _typecheckingstub__14d50e4994c3366ddeb7da76131ecc6e103dc3ed4c7bb2ec4ce982b547d2ab3b(
5719
+ *,
5720
+ auto_subscribe: builtins.str,
5721
+ default_subscription_type: typing.Optional[builtins.str] = None,
5722
+ ) -> None:
5723
+ """Type checking stubs"""
5724
+ pass
5725
+
5085
5726
  def _typecheckingstub__e3ddb5009b3c1bf36876f4e9d68c61c40a1e8a10287a7a292f89a801fcc9ca73(
5086
5727
  *,
5087
5728
  kms_key_id: typing.Optional[builtins.str] = None,
@@ -5089,6 +5730,13 @@ def _typecheckingstub__e3ddb5009b3c1bf36876f4e9d68c61c40a1e8a10287a7a292f89a801f
5089
5730
  """Type checking stubs"""
5090
5731
  pass
5091
5732
 
5733
+ def _typecheckingstub__05c530a7a40f7de7f808af2f7755372bf178629a393e2508771fc91224c8446f(
5734
+ *,
5735
+ personalization_control_mode: builtins.str,
5736
+ ) -> None:
5737
+ """Type checking stubs"""
5738
+ pass
5739
+
5092
5740
  def _typecheckingstub__6b7142160185e09a91c9d85e4a5dafc98a64398c744201a937b09ca7cc1de37e(
5093
5741
  *,
5094
5742
  q_apps_control_mode: builtins.str,
@@ -5100,9 +5748,14 @@ def _typecheckingstub__cd218bde3aa6ce3304b30e1d4799c501a50db8db5cef8926c28924af0
5100
5748
  *,
5101
5749
  display_name: builtins.str,
5102
5750
  attachments_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.AttachmentsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5751
+ auto_subscription_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.AutoSubscriptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5752
+ client_ids_for_oidc: typing.Optional[typing.Sequence[builtins.str]] = None,
5103
5753
  description: typing.Optional[builtins.str] = None,
5104
5754
  encryption_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.EncryptionConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5755
+ iam_identity_provider_arn: typing.Optional[builtins.str] = None,
5105
5756
  identity_center_instance_arn: typing.Optional[builtins.str] = None,
5757
+ identity_type: typing.Optional[builtins.str] = None,
5758
+ personalization_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.PersonalizationConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5106
5759
  q_apps_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnApplication.QAppsConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5107
5760
  role_arn: typing.Optional[builtins.str] = None,
5108
5761
  tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
@@ -5634,6 +6287,7 @@ def _typecheckingstub__357871375e43a0ed6fbb398668ece13df26dff3afca5c98268a56fffd
5634
6287
  id: builtins.str,
5635
6288
  *,
5636
6289
  application_id: builtins.str,
6290
+ identity_provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebExperience.IdentityProviderConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5637
6291
  role_arn: typing.Optional[builtins.str] = None,
5638
6292
  sample_prompts_control_mode: typing.Optional[builtins.str] = None,
5639
6293
  subtitle: typing.Optional[builtins.str] = None,
@@ -5662,6 +6316,12 @@ def _typecheckingstub__994b24302ed92226579fa1ecdeef04d0cb66956019e467efcd9374ab2
5662
6316
  """Type checking stubs"""
5663
6317
  pass
5664
6318
 
6319
+ def _typecheckingstub__037151dbe9f2f36da364495e39b2467a261694df042a6b81d84e5c2c34771ac4(
6320
+ value: typing.Optional[typing.Union[_IResolvable_da3f097b, CfnWebExperience.IdentityProviderConfigurationProperty]],
6321
+ ) -> None:
6322
+ """Type checking stubs"""
6323
+ pass
6324
+
5665
6325
  def _typecheckingstub__9e93af1c8c50a8fbbba5f2f4c0d1013951bd550b401230f1ec2637c4955cea1b(
5666
6326
  value: typing.Optional[builtins.str],
5667
6327
  ) -> None:
@@ -5698,9 +6358,33 @@ def _typecheckingstub__4dc11f2c0364936c993f550de31ea07513a76ae6f389384341e03770b
5698
6358
  """Type checking stubs"""
5699
6359
  pass
5700
6360
 
6361
+ def _typecheckingstub__f792f47d6a0722e8b808ad22d67aec07629a1e7351865cae0ee890cff9ba5c1a(
6362
+ *,
6363
+ open_id_connect_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebExperience.OpenIDConnectProviderConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6364
+ saml_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebExperience.SamlProviderConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
6365
+ ) -> None:
6366
+ """Type checking stubs"""
6367
+ pass
6368
+
6369
+ def _typecheckingstub__83ea977b859d6c4c1e46fa972ce0e7d691c60d57b7c59adbe13d851526eb765e(
6370
+ *,
6371
+ secrets_arn: builtins.str,
6372
+ secrets_role: builtins.str,
6373
+ ) -> None:
6374
+ """Type checking stubs"""
6375
+ pass
6376
+
6377
+ def _typecheckingstub__7f19a9da1f3a1cf2eefff3580476a949609debe65a8fc477af11c893d5b4453b(
6378
+ *,
6379
+ authentication_url: builtins.str,
6380
+ ) -> None:
6381
+ """Type checking stubs"""
6382
+ pass
6383
+
5701
6384
  def _typecheckingstub__58d2b12e60ffd88803f1746b34f5f9b5b77805b460b8074165db15b9de292293(
5702
6385
  *,
5703
6386
  application_id: builtins.str,
6387
+ identity_provider_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnWebExperience.IdentityProviderConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
5704
6388
  role_arn: typing.Optional[builtins.str] = None,
5705
6389
  sample_prompts_control_mode: typing.Optional[builtins.str] = None,
5706
6390
  subtitle: typing.Optional[builtins.str] = None,