aws-cdk-lib 2.147.3__py3-none-any.whl → 2.148.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.
Files changed (291) hide show
  1. aws_cdk/__init__.py +7 -5
  2. aws_cdk/_jsii/__init__.py +1 -1
  3. aws_cdk/_jsii/{aws-cdk-lib@2.147.3.jsii.tgz → aws-cdk-lib@2.148.0.jsii.tgz} +0 -0
  4. aws_cdk/alexa_ask/__init__.py +1 -1
  5. aws_cdk/assertions/__init__.py +1 -1
  6. aws_cdk/aws_accessanalyzer/__init__.py +1 -1
  7. aws_cdk/aws_acmpca/__init__.py +1 -1
  8. aws_cdk/aws_amazonmq/__init__.py +1 -1
  9. aws_cdk/aws_amplify/__init__.py +1 -1
  10. aws_cdk/aws_amplifyuibuilder/__init__.py +1 -1
  11. aws_cdk/aws_apigateway/__init__.py +1 -1
  12. aws_cdk/aws_apigatewayv2/__init__.py +1 -1
  13. aws_cdk/aws_apigatewayv2_authorizers/__init__.py +1 -1
  14. aws_cdk/aws_apigatewayv2_integrations/__init__.py +1 -1
  15. aws_cdk/aws_appconfig/__init__.py +1 -1
  16. aws_cdk/aws_appflow/__init__.py +1 -1
  17. aws_cdk/aws_appintegrations/__init__.py +1 -1
  18. aws_cdk/aws_applicationautoscaling/__init__.py +1 -1
  19. aws_cdk/aws_applicationinsights/__init__.py +1 -1
  20. aws_cdk/aws_applicationsignals/__init__.py +143 -87
  21. aws_cdk/aws_appmesh/__init__.py +1 -1
  22. aws_cdk/aws_apprunner/__init__.py +1 -1
  23. aws_cdk/aws_appstream/__init__.py +1 -1
  24. aws_cdk/aws_appsync/__init__.py +1 -1
  25. aws_cdk/aws_apptest/__init__.py +3042 -0
  26. aws_cdk/aws_aps/__init__.py +1 -1
  27. aws_cdk/aws_arczonalshift/__init__.py +1 -1
  28. aws_cdk/aws_athena/__init__.py +1 -1
  29. aws_cdk/aws_auditmanager/__init__.py +1 -1
  30. aws_cdk/aws_autoscaling/__init__.py +1 -1
  31. aws_cdk/aws_autoscaling_common/__init__.py +1 -1
  32. aws_cdk/aws_autoscaling_hooktargets/__init__.py +1 -1
  33. aws_cdk/aws_autoscalingplans/__init__.py +1 -1
  34. aws_cdk/aws_b2bi/__init__.py +1 -1
  35. aws_cdk/aws_backup/__init__.py +4 -6
  36. aws_cdk/aws_backupgateway/__init__.py +1 -1
  37. aws_cdk/aws_batch/__init__.py +1 -216
  38. aws_cdk/aws_bcmdataexports/__init__.py +1 -1
  39. aws_cdk/aws_bedrock/__init__.py +178 -1
  40. aws_cdk/aws_billingconductor/__init__.py +1 -1
  41. aws_cdk/aws_budgets/__init__.py +1 -1
  42. aws_cdk/aws_cassandra/__init__.py +1 -1
  43. aws_cdk/aws_ce/__init__.py +1 -1
  44. aws_cdk/aws_certificatemanager/__init__.py +1 -1
  45. aws_cdk/aws_chatbot/__init__.py +1 -1
  46. aws_cdk/aws_cleanrooms/__init__.py +1 -1
  47. aws_cdk/aws_cleanroomsml/__init__.py +1 -1
  48. aws_cdk/aws_cloud9/__init__.py +1 -1
  49. aws_cdk/aws_cloudformation/__init__.py +1 -1
  50. aws_cdk/aws_cloudfront/__init__.py +1 -1
  51. aws_cdk/aws_cloudfront/experimental/__init__.py +44 -0
  52. aws_cdk/aws_cloudfront_origins/__init__.py +1 -1
  53. aws_cdk/aws_cloudtrail/__init__.py +20 -12
  54. aws_cdk/aws_cloudwatch/__init__.py +1 -1
  55. aws_cdk/aws_cloudwatch_actions/__init__.py +1 -1
  56. aws_cdk/aws_codeartifact/__init__.py +11 -9
  57. aws_cdk/aws_codebuild/__init__.py +193 -6
  58. aws_cdk/aws_codecommit/__init__.py +1 -1
  59. aws_cdk/aws_codeconnections/__init__.py +1 -1
  60. aws_cdk/aws_codedeploy/__init__.py +35 -4
  61. aws_cdk/aws_codeguruprofiler/__init__.py +1 -1
  62. aws_cdk/aws_codegurureviewer/__init__.py +1 -1
  63. aws_cdk/aws_codepipeline/__init__.py +1 -1
  64. aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
  65. aws_cdk/aws_codestar/__init__.py +1 -1
  66. aws_cdk/aws_codestarconnections/__init__.py +1 -1
  67. aws_cdk/aws_codestarnotifications/__init__.py +1 -1
  68. aws_cdk/aws_cognito/__init__.py +56 -18
  69. aws_cdk/aws_comprehend/__init__.py +1 -1
  70. aws_cdk/aws_config/__init__.py +1 -1
  71. aws_cdk/aws_connect/__init__.py +1 -1
  72. aws_cdk/aws_connectcampaigns/__init__.py +1 -1
  73. aws_cdk/aws_controltower/__init__.py +1 -1
  74. aws_cdk/aws_cur/__init__.py +1 -1
  75. aws_cdk/aws_customerprofiles/__init__.py +1 -1
  76. aws_cdk/aws_databrew/__init__.py +1 -1
  77. aws_cdk/aws_datapipeline/__init__.py +1 -1
  78. aws_cdk/aws_datasync/__init__.py +12 -12
  79. aws_cdk/aws_datazone/__init__.py +1 -1
  80. aws_cdk/aws_dax/__init__.py +1 -1
  81. aws_cdk/aws_deadline/__init__.py +3 -2
  82. aws_cdk/aws_detective/__init__.py +1 -1
  83. aws_cdk/aws_devicefarm/__init__.py +1 -1
  84. aws_cdk/aws_devopsguru/__init__.py +1 -1
  85. aws_cdk/aws_directoryservice/__init__.py +1 -1
  86. aws_cdk/aws_dlm/__init__.py +1 -1
  87. aws_cdk/aws_dms/__init__.py +2 -2
  88. aws_cdk/aws_docdb/__init__.py +1 -1
  89. aws_cdk/aws_docdbelastic/__init__.py +1 -1
  90. aws_cdk/aws_dynamodb/__init__.py +1 -1
  91. aws_cdk/aws_ec2/__init__.py +24 -26
  92. aws_cdk/aws_ecr/__init__.py +1 -1
  93. aws_cdk/aws_ecr_assets/__init__.py +1 -1
  94. aws_cdk/aws_ecs/__init__.py +29 -25
  95. aws_cdk/aws_ecs_patterns/__init__.py +1 -1
  96. aws_cdk/aws_efs/__init__.py +1 -1
  97. aws_cdk/aws_eks/__init__.py +619 -31
  98. aws_cdk/aws_elasticache/__init__.py +29 -18
  99. aws_cdk/aws_elasticbeanstalk/__init__.py +1 -1
  100. aws_cdk/aws_elasticloadbalancing/__init__.py +1 -1
  101. aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -4
  102. aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +1 -1
  103. aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +1 -1
  104. aws_cdk/aws_elasticsearch/__init__.py +1 -1
  105. aws_cdk/aws_emr/__init__.py +1 -1
  106. aws_cdk/aws_emrcontainers/__init__.py +1 -1
  107. aws_cdk/aws_emrserverless/__init__.py +34 -7
  108. aws_cdk/aws_entityresolution/__init__.py +1 -1
  109. aws_cdk/aws_events/__init__.py +1 -1
  110. aws_cdk/aws_events_targets/__init__.py +1 -1
  111. aws_cdk/aws_eventschemas/__init__.py +1 -1
  112. aws_cdk/aws_evidently/__init__.py +1 -1
  113. aws_cdk/aws_finspace/__init__.py +1 -1
  114. aws_cdk/aws_fis/__init__.py +1 -1
  115. aws_cdk/aws_fms/__init__.py +1 -1
  116. aws_cdk/aws_forecast/__init__.py +1 -1
  117. aws_cdk/aws_frauddetector/__init__.py +1 -1
  118. aws_cdk/aws_fsx/__init__.py +186 -2
  119. aws_cdk/aws_gamelift/__init__.py +10 -6
  120. aws_cdk/aws_globalaccelerator/__init__.py +1 -1
  121. aws_cdk/aws_globalaccelerator_endpoints/__init__.py +1 -1
  122. aws_cdk/aws_glue/__init__.py +18 -14
  123. aws_cdk/aws_grafana/__init__.py +9 -5
  124. aws_cdk/aws_greengrass/__init__.py +1 -1
  125. aws_cdk/aws_greengrassv2/__init__.py +1 -1
  126. aws_cdk/aws_groundstation/__init__.py +1 -1
  127. aws_cdk/aws_guardduty/__init__.py +171 -132
  128. aws_cdk/aws_healthimaging/__init__.py +1 -1
  129. aws_cdk/aws_healthlake/__init__.py +1 -1
  130. aws_cdk/aws_iam/__init__.py +1 -1
  131. aws_cdk/aws_identitystore/__init__.py +1 -1
  132. aws_cdk/aws_imagebuilder/__init__.py +1 -1
  133. aws_cdk/aws_inspector/__init__.py +1 -1
  134. aws_cdk/aws_inspectorv2/__init__.py +1 -1
  135. aws_cdk/aws_internetmonitor/__init__.py +1 -1
  136. aws_cdk/aws_iot/__init__.py +1 -1
  137. aws_cdk/aws_iot1click/__init__.py +1 -1
  138. aws_cdk/aws_iotanalytics/__init__.py +1 -1
  139. aws_cdk/aws_iotcoredeviceadvisor/__init__.py +1 -1
  140. aws_cdk/aws_iotevents/__init__.py +1 -1
  141. aws_cdk/aws_iotfleethub/__init__.py +1 -1
  142. aws_cdk/aws_iotfleetwise/__init__.py +1 -1
  143. aws_cdk/aws_iotsitewise/__init__.py +1 -1
  144. aws_cdk/aws_iotthingsgraph/__init__.py +1 -1
  145. aws_cdk/aws_iottwinmaker/__init__.py +1 -1
  146. aws_cdk/aws_iotwireless/__init__.py +1 -1
  147. aws_cdk/aws_ivs/__init__.py +1 -1
  148. aws_cdk/aws_ivschat/__init__.py +1 -1
  149. aws_cdk/aws_kafkaconnect/__init__.py +1 -1
  150. aws_cdk/aws_kendra/__init__.py +1 -1
  151. aws_cdk/aws_kendraranking/__init__.py +1 -1
  152. aws_cdk/aws_kinesis/__init__.py +1 -1
  153. aws_cdk/aws_kinesisanalytics/__init__.py +93 -1
  154. aws_cdk/aws_kinesisanalyticsv2/__init__.py +93 -1
  155. aws_cdk/aws_kinesisfirehose/__init__.py +301 -94
  156. aws_cdk/aws_kinesisvideo/__init__.py +1 -1
  157. aws_cdk/aws_kms/__init__.py +16 -15
  158. aws_cdk/aws_lakeformation/__init__.py +1 -1
  159. aws_cdk/aws_lambda/__init__.py +160 -1
  160. aws_cdk/aws_lambda_destinations/__init__.py +1 -1
  161. aws_cdk/aws_lambda_event_sources/__init__.py +1 -1
  162. aws_cdk/aws_lambda_nodejs/__init__.py +1 -1
  163. aws_cdk/aws_lex/__init__.py +1 -1
  164. aws_cdk/aws_licensemanager/__init__.py +1 -1
  165. aws_cdk/aws_lightsail/__init__.py +1 -1
  166. aws_cdk/aws_location/__init__.py +1 -1
  167. aws_cdk/aws_logs/__init__.py +1 -1
  168. aws_cdk/aws_logs_destinations/__init__.py +1 -1
  169. aws_cdk/aws_lookoutequipment/__init__.py +1 -1
  170. aws_cdk/aws_lookoutmetrics/__init__.py +1 -1
  171. aws_cdk/aws_lookoutvision/__init__.py +1 -1
  172. aws_cdk/aws_m2/__init__.py +1 -1
  173. aws_cdk/aws_macie/__init__.py +1 -1
  174. aws_cdk/aws_managedblockchain/__init__.py +1 -1
  175. aws_cdk/aws_mediaconnect/__init__.py +1 -1
  176. aws_cdk/aws_mediaconvert/__init__.py +1 -1
  177. aws_cdk/aws_medialive/__init__.py +1 -1
  178. aws_cdk/aws_mediapackage/__init__.py +1 -1
  179. aws_cdk/aws_mediapackagev2/__init__.py +33 -1
  180. aws_cdk/aws_mediastore/__init__.py +1 -1
  181. aws_cdk/aws_mediatailor/__init__.py +1 -1
  182. aws_cdk/aws_memorydb/__init__.py +1 -1
  183. aws_cdk/aws_msk/__init__.py +1 -1
  184. aws_cdk/aws_mwaa/__init__.py +1 -1
  185. aws_cdk/aws_neptune/__init__.py +1 -1
  186. aws_cdk/aws_neptunegraph/__init__.py +1 -1
  187. aws_cdk/aws_networkfirewall/__init__.py +1 -1
  188. aws_cdk/aws_networkmanager/__init__.py +10 -10
  189. aws_cdk/aws_nimblestudio/__init__.py +1 -1
  190. aws_cdk/aws_oam/__init__.py +1 -1
  191. aws_cdk/aws_omics/__init__.py +2 -2
  192. aws_cdk/aws_opensearchserverless/__init__.py +1 -1
  193. aws_cdk/aws_opensearchservice/__init__.py +1 -1
  194. aws_cdk/aws_opsworks/__init__.py +1 -1
  195. aws_cdk/aws_opsworkscm/__init__.py +8 -4
  196. aws_cdk/aws_organizations/__init__.py +1 -1
  197. aws_cdk/aws_osis/__init__.py +1 -1
  198. aws_cdk/aws_panorama/__init__.py +1 -1
  199. aws_cdk/aws_paymentcryptography/__init__.py +1 -1
  200. aws_cdk/aws_pcaconnectorad/__init__.py +1 -1
  201. aws_cdk/aws_personalize/__init__.py +1 -1
  202. aws_cdk/aws_pinpoint/__init__.py +1 -1
  203. aws_cdk/aws_pinpointemail/__init__.py +1 -1
  204. aws_cdk/aws_pipes/__init__.py +1 -1
  205. aws_cdk/aws_proton/__init__.py +1 -1
  206. aws_cdk/aws_qbusiness/__init__.py +1 -1
  207. aws_cdk/aws_qldb/__init__.py +1 -1
  208. aws_cdk/aws_quicksight/__init__.py +1 -1
  209. aws_cdk/aws_ram/__init__.py +1 -1
  210. aws_cdk/aws_rds/__init__.py +515 -34
  211. aws_cdk/aws_redshift/__init__.py +10 -10
  212. aws_cdk/aws_redshiftserverless/__init__.py +1 -1
  213. aws_cdk/aws_refactorspaces/__init__.py +1 -1
  214. aws_cdk/aws_rekognition/__init__.py +1 -1
  215. aws_cdk/aws_resiliencehub/__init__.py +1 -1
  216. aws_cdk/aws_resourceexplorer2/__init__.py +1 -1
  217. aws_cdk/aws_resourcegroups/__init__.py +1 -1
  218. aws_cdk/aws_robomaker/__init__.py +1 -1
  219. aws_cdk/aws_rolesanywhere/__init__.py +1 -1
  220. aws_cdk/aws_route53/__init__.py +1 -1
  221. aws_cdk/aws_route53_patterns/__init__.py +1 -1
  222. aws_cdk/aws_route53_targets/__init__.py +1 -1
  223. aws_cdk/aws_route53profiles/__init__.py +1 -1
  224. aws_cdk/aws_route53recoverycontrol/__init__.py +1 -1
  225. aws_cdk/aws_route53recoveryreadiness/__init__.py +1 -1
  226. aws_cdk/aws_route53resolver/__init__.py +1 -1
  227. aws_cdk/aws_rum/__init__.py +1 -1
  228. aws_cdk/aws_s3/__init__.py +30 -6
  229. aws_cdk/aws_s3_assets/__init__.py +1 -1
  230. aws_cdk/aws_s3_deployment/__init__.py +1 -1
  231. aws_cdk/aws_s3_notifications/__init__.py +1 -1
  232. aws_cdk/aws_s3express/__init__.py +1 -1
  233. aws_cdk/aws_s3objectlambda/__init__.py +1 -1
  234. aws_cdk/aws_s3outposts/__init__.py +1 -1
  235. aws_cdk/aws_sagemaker/__init__.py +1 -1
  236. aws_cdk/aws_sam/__init__.py +1 -1
  237. aws_cdk/aws_scheduler/__init__.py +1 -1
  238. aws_cdk/aws_sdb/__init__.py +1 -1
  239. aws_cdk/aws_secretsmanager/__init__.py +1 -1
  240. aws_cdk/aws_securityhub/__init__.py +1 -1
  241. aws_cdk/aws_securitylake/__init__.py +1 -1
  242. aws_cdk/aws_servicecatalog/__init__.py +1 -1
  243. aws_cdk/aws_servicecatalogappregistry/__init__.py +1 -1
  244. aws_cdk/aws_servicediscovery/__init__.py +21 -4
  245. aws_cdk/aws_ses/__init__.py +86 -1
  246. aws_cdk/aws_ses_actions/__init__.py +1 -1
  247. aws_cdk/aws_shield/__init__.py +1 -1
  248. aws_cdk/aws_signer/__init__.py +42 -1
  249. aws_cdk/aws_simspaceweaver/__init__.py +1 -1
  250. aws_cdk/aws_sns/__init__.py +1 -1
  251. aws_cdk/aws_sns_subscriptions/__init__.py +1 -1
  252. aws_cdk/aws_sqs/__init__.py +7 -9
  253. aws_cdk/aws_ssm/__init__.py +106 -37
  254. aws_cdk/aws_ssmcontacts/__init__.py +1 -1
  255. aws_cdk/aws_ssmincidents/__init__.py +1 -1
  256. aws_cdk/aws_sso/__init__.py +1 -1
  257. aws_cdk/aws_stepfunctions/__init__.py +1 -1
  258. aws_cdk/aws_stepfunctions_tasks/__init__.py +793 -152
  259. aws_cdk/aws_supportapp/__init__.py +1 -1
  260. aws_cdk/aws_synthetics/__init__.py +1 -1
  261. aws_cdk/aws_systemsmanagersap/__init__.py +1 -1
  262. aws_cdk/aws_timestream/__init__.py +1 -1
  263. aws_cdk/aws_transfer/__init__.py +1 -1
  264. aws_cdk/aws_verifiedpermissions/__init__.py +602 -9
  265. aws_cdk/aws_voiceid/__init__.py +1 -1
  266. aws_cdk/aws_vpclattice/__init__.py +1 -1
  267. aws_cdk/aws_waf/__init__.py +1 -1
  268. aws_cdk/aws_wafregional/__init__.py +1 -1
  269. aws_cdk/aws_wafv2/__init__.py +1 -1
  270. aws_cdk/aws_wisdom/__init__.py +1 -1
  271. aws_cdk/aws_workspaces/__init__.py +774 -1
  272. aws_cdk/aws_workspacesthinclient/__init__.py +1 -1
  273. aws_cdk/aws_workspacesweb/__init__.py +5 -5
  274. aws_cdk/aws_xray/__init__.py +1 -1
  275. aws_cdk/cloud_assembly_schema/__init__.py +1 -1
  276. aws_cdk/cloudformation_include/__init__.py +1 -1
  277. aws_cdk/custom_resources/__init__.py +1 -1
  278. aws_cdk/cx_api/__init__.py +19 -1
  279. aws_cdk/lambda_layer_awscli/__init__.py +1 -1
  280. aws_cdk/lambda_layer_kubectl/__init__.py +1 -1
  281. aws_cdk/lambda_layer_node_proxy_agent/__init__.py +1 -1
  282. aws_cdk/pipelines/__init__.py +2 -2
  283. aws_cdk/region_info/__init__.py +1 -1
  284. aws_cdk/triggers/__init__.py +1 -1
  285. {aws_cdk_lib-2.147.3.dist-info → aws_cdk_lib-2.148.0.dist-info}/METADATA +2 -2
  286. aws_cdk_lib-2.148.0.dist-info/RECORD +291 -0
  287. aws_cdk_lib-2.147.3.dist-info/RECORD +0 -290
  288. {aws_cdk_lib-2.147.3.dist-info → aws_cdk_lib-2.148.0.dist-info}/LICENSE +0 -0
  289. {aws_cdk_lib-2.147.3.dist-info → aws_cdk_lib-2.148.0.dist-info}/NOTICE +0 -0
  290. {aws_cdk_lib-2.147.3.dist-info → aws_cdk_lib-2.148.0.dist-info}/WHEEL +0 -0
  291. {aws_cdk_lib-2.147.3.dist-info → aws_cdk_lib-2.148.0.dist-info}/top_level.txt +0 -0
@@ -1,4 +1,4 @@
1
- '''
1
+ r'''
2
2
  # AWS::VerifiedPermissions Construct Library
3
3
 
4
4
  <!--BEGIN STABILITY BANNER-->---
@@ -102,6 +102,26 @@ class CfnIdentitySource(
102
102
  group_configuration=verifiedpermissions.CfnIdentitySource.CognitoGroupConfigurationProperty(
103
103
  group_entity_type="groupEntityType"
104
104
  )
105
+ ),
106
+ open_id_connect_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectConfigurationProperty(
107
+ issuer="issuer",
108
+ token_selection=verifiedpermissions.CfnIdentitySource.OpenIdConnectTokenSelectionProperty(
109
+ access_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty(
110
+ audiences=["audiences"],
111
+ principal_id_claim="principalIdClaim"
112
+ ),
113
+ identity_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty(
114
+ client_ids=["clientIds"],
115
+ principal_id_claim="principalIdClaim"
116
+ )
117
+ ),
118
+
119
+ # the properties below are optional
120
+ entity_id_prefix="entityIdPrefix",
121
+ group_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectGroupConfigurationProperty(
122
+ group_claim="groupClaim",
123
+ group_entity_type="groupEntityType"
124
+ )
105
125
  )
106
126
  ),
107
127
  policy_store_id="policyStoreId",
@@ -426,13 +446,15 @@ class CfnIdentitySource(
426
446
  jsii_struct_bases=[],
427
447
  name_mapping={
428
448
  "cognito_user_pool_configuration": "cognitoUserPoolConfiguration",
449
+ "open_id_connect_configuration": "openIdConnectConfiguration",
429
450
  },
430
451
  )
431
452
  class IdentitySourceConfigurationProperty:
432
453
  def __init__(
433
454
  self,
434
455
  *,
435
- cognito_user_pool_configuration: typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.CognitoUserPoolConfigurationProperty", typing.Dict[builtins.str, typing.Any]]],
456
+ cognito_user_pool_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.CognitoUserPoolConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
457
+ open_id_connect_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.OpenIdConnectConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
436
458
  ) -> None:
437
459
  '''A structure that contains configuration information used when creating or updating a new identity source.
438
460
 
@@ -443,6 +465,7 @@ class CfnIdentitySource(
443
465
  You must specify a ``userPoolArn`` , and optionally, a ``ClientId`` .
444
466
 
445
467
  :param cognito_user_pool_configuration: A structure that contains configuration information used when creating or updating an identity source that represents a connection to an Amazon Cognito user pool used as an identity provider for Verified Permissions .
468
+ :param open_id_connect_configuration:
446
469
 
447
470
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-identitysourceconfiguration.html
448
471
  :exampleMetadata: fixture=_generated
@@ -462,27 +485,59 @@ class CfnIdentitySource(
462
485
  group_configuration=verifiedpermissions.CfnIdentitySource.CognitoGroupConfigurationProperty(
463
486
  group_entity_type="groupEntityType"
464
487
  )
488
+ ),
489
+ open_id_connect_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectConfigurationProperty(
490
+ issuer="issuer",
491
+ token_selection=verifiedpermissions.CfnIdentitySource.OpenIdConnectTokenSelectionProperty(
492
+ access_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty(
493
+ audiences=["audiences"],
494
+ principal_id_claim="principalIdClaim"
495
+ ),
496
+ identity_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty(
497
+ client_ids=["clientIds"],
498
+ principal_id_claim="principalIdClaim"
499
+ )
500
+ ),
501
+
502
+ # the properties below are optional
503
+ entity_id_prefix="entityIdPrefix",
504
+ group_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectGroupConfigurationProperty(
505
+ group_claim="groupClaim",
506
+ group_entity_type="groupEntityType"
507
+ )
465
508
  )
466
509
  )
467
510
  '''
468
511
  if __debug__:
469
512
  type_hints = typing.get_type_hints(_typecheckingstub__cb8ac8b859528aa35f38e7ba0f1da77e89bd8aa3f424fb5dcd81661032e5a44e)
470
513
  check_type(argname="argument cognito_user_pool_configuration", value=cognito_user_pool_configuration, expected_type=type_hints["cognito_user_pool_configuration"])
471
- self._values: typing.Dict[builtins.str, typing.Any] = {
472
- "cognito_user_pool_configuration": cognito_user_pool_configuration,
473
- }
514
+ check_type(argname="argument open_id_connect_configuration", value=open_id_connect_configuration, expected_type=type_hints["open_id_connect_configuration"])
515
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
516
+ if cognito_user_pool_configuration is not None:
517
+ self._values["cognito_user_pool_configuration"] = cognito_user_pool_configuration
518
+ if open_id_connect_configuration is not None:
519
+ self._values["open_id_connect_configuration"] = open_id_connect_configuration
474
520
 
475
521
  @builtins.property
476
522
  def cognito_user_pool_configuration(
477
523
  self,
478
- ) -> typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.CognitoUserPoolConfigurationProperty"]:
524
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.CognitoUserPoolConfigurationProperty"]]:
479
525
  '''A structure that contains configuration information used when creating or updating an identity source that represents a connection to an Amazon Cognito user pool used as an identity provider for Verified Permissions .
480
526
 
481
527
  :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-identitysourceconfiguration.html#cfn-verifiedpermissions-identitysource-identitysourceconfiguration-cognitouserpoolconfiguration
482
528
  '''
483
529
  result = self._values.get("cognito_user_pool_configuration")
484
- assert result is not None, "Required property 'cognito_user_pool_configuration' is missing"
485
- return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.CognitoUserPoolConfigurationProperty"], result)
530
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.CognitoUserPoolConfigurationProperty"]], result)
531
+
532
+ @builtins.property
533
+ def open_id_connect_configuration(
534
+ self,
535
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectConfigurationProperty"]]:
536
+ '''
537
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-identitysourceconfiguration.html#cfn-verifiedpermissions-identitysource-identitysourceconfiguration-openidconnectconfiguration
538
+ '''
539
+ result = self._values.get("open_id_connect_configuration")
540
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectConfigurationProperty"]], result)
486
541
 
487
542
  def __eq__(self, rhs: typing.Any) -> builtins.bool:
488
543
  return isinstance(rhs, self.__class__) and rhs._values == self._values
@@ -595,6 +650,481 @@ class CfnIdentitySource(
595
650
  k + "=" + repr(v) for k, v in self._values.items()
596
651
  )
597
652
 
653
+ @jsii.data_type(
654
+ jsii_type="aws-cdk-lib.aws_verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty",
655
+ jsii_struct_bases=[],
656
+ name_mapping={
657
+ "audiences": "audiences",
658
+ "principal_id_claim": "principalIdClaim",
659
+ },
660
+ )
661
+ class OpenIdConnectAccessTokenConfigurationProperty:
662
+ def __init__(
663
+ self,
664
+ *,
665
+ audiences: typing.Optional[typing.Sequence[builtins.str]] = None,
666
+ principal_id_claim: typing.Optional[builtins.str] = None,
667
+ ) -> None:
668
+ '''The configuration of an OpenID Connect (OIDC) identity source for handling access token claims.
669
+
670
+ Contains the claim that you want to identify as the principal in an authorization request, and the values of the ``aud`` claim, or audiences, that you want to accept.
671
+
672
+ This data type is part of a `OpenIdConnectTokenSelection <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelection.html>`_ structure, which is a parameter of `CreateIdentitySource <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html>`_ .
673
+
674
+ :param audiences: The access token ``aud`` claim values that you want to accept in your policy store. For example, ``https://myapp.example.com, https://myapp2.example.com`` .
675
+ :param principal_id_claim: The claim that determines the principal in OIDC access tokens. For example, ``sub`` . Default: - "sub"
676
+
677
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectaccesstokenconfiguration.html
678
+ :exampleMetadata: fixture=_generated
679
+
680
+ Example::
681
+
682
+ # The code below shows an example of how to instantiate this type.
683
+ # The values are placeholders you should change.
684
+ from aws_cdk import aws_verifiedpermissions as verifiedpermissions
685
+
686
+ open_id_connect_access_token_configuration_property = verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty(
687
+ audiences=["audiences"],
688
+ principal_id_claim="principalIdClaim"
689
+ )
690
+ '''
691
+ if __debug__:
692
+ type_hints = typing.get_type_hints(_typecheckingstub__7998706a4a9cc38da1ed0db6b698971ec488a63fd69b5cdbdb293f77c241aa10)
693
+ check_type(argname="argument audiences", value=audiences, expected_type=type_hints["audiences"])
694
+ check_type(argname="argument principal_id_claim", value=principal_id_claim, expected_type=type_hints["principal_id_claim"])
695
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
696
+ if audiences is not None:
697
+ self._values["audiences"] = audiences
698
+ if principal_id_claim is not None:
699
+ self._values["principal_id_claim"] = principal_id_claim
700
+
701
+ @builtins.property
702
+ def audiences(self) -> typing.Optional[typing.List[builtins.str]]:
703
+ '''The access token ``aud`` claim values that you want to accept in your policy store.
704
+
705
+ For example, ``https://myapp.example.com, https://myapp2.example.com`` .
706
+
707
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectaccesstokenconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectaccesstokenconfiguration-audiences
708
+ '''
709
+ result = self._values.get("audiences")
710
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
711
+
712
+ @builtins.property
713
+ def principal_id_claim(self) -> typing.Optional[builtins.str]:
714
+ '''The claim that determines the principal in OIDC access tokens.
715
+
716
+ For example, ``sub`` .
717
+
718
+ :default: - "sub"
719
+
720
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectaccesstokenconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectaccesstokenconfiguration-principalidclaim
721
+ '''
722
+ result = self._values.get("principal_id_claim")
723
+ return typing.cast(typing.Optional[builtins.str], result)
724
+
725
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
726
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
727
+
728
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
729
+ return not (rhs == self)
730
+
731
+ def __repr__(self) -> str:
732
+ return "OpenIdConnectAccessTokenConfigurationProperty(%s)" % ", ".join(
733
+ k + "=" + repr(v) for k, v in self._values.items()
734
+ )
735
+
736
+ @jsii.data_type(
737
+ jsii_type="aws-cdk-lib.aws_verifiedpermissions.CfnIdentitySource.OpenIdConnectConfigurationProperty",
738
+ jsii_struct_bases=[],
739
+ name_mapping={
740
+ "issuer": "issuer",
741
+ "token_selection": "tokenSelection",
742
+ "entity_id_prefix": "entityIdPrefix",
743
+ "group_configuration": "groupConfiguration",
744
+ },
745
+ )
746
+ class OpenIdConnectConfigurationProperty:
747
+ def __init__(
748
+ self,
749
+ *,
750
+ issuer: builtins.str,
751
+ token_selection: typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.OpenIdConnectTokenSelectionProperty", typing.Dict[builtins.str, typing.Any]]],
752
+ entity_id_prefix: typing.Optional[builtins.str] = None,
753
+ group_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.OpenIdConnectGroupConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
754
+ ) -> None:
755
+ '''Contains configuration details of an OpenID Connect (OIDC) identity provider, or identity source, that Verified Permissions can use to generate entities from authenticated identities.
756
+
757
+ It specifies the issuer URL, token type that you want to use, and policy store entity details.
758
+
759
+ This data type is part of a `Configuration <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_Configuration.html>`_ structure, which is a parameter to `CreateIdentitySource <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html>`_ .
760
+
761
+ :param issuer: The issuer URL of an OIDC identity provider. This URL must have an OIDC discovery endpoint at the path ``.well-known/openid-configuration`` .
762
+ :param token_selection: The token type that you want to process from your OIDC identity provider. Your policy store can process either identity (ID) or access tokens from a given OIDC identity source.
763
+ :param entity_id_prefix: A descriptive string that you want to prefix to user entities from your OIDC identity provider. For example, if you set an ``entityIdPrefix`` of ``MyOIDCProvider`` , you can reference principals in your policies in the format ``MyCorp::User::MyOIDCProvider|Carlos`` .
764
+ :param group_configuration: The claim in OIDC identity provider tokens that indicates a user's group membership, and the entity type that you want to map it to. For example, this object can map the contents of a ``groups`` claim to ``MyCorp::UserGroup`` .
765
+
766
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectconfiguration.html
767
+ :exampleMetadata: fixture=_generated
768
+
769
+ Example::
770
+
771
+ # The code below shows an example of how to instantiate this type.
772
+ # The values are placeholders you should change.
773
+ from aws_cdk import aws_verifiedpermissions as verifiedpermissions
774
+
775
+ open_id_connect_configuration_property = verifiedpermissions.CfnIdentitySource.OpenIdConnectConfigurationProperty(
776
+ issuer="issuer",
777
+ token_selection=verifiedpermissions.CfnIdentitySource.OpenIdConnectTokenSelectionProperty(
778
+ access_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty(
779
+ audiences=["audiences"],
780
+ principal_id_claim="principalIdClaim"
781
+ ),
782
+ identity_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty(
783
+ client_ids=["clientIds"],
784
+ principal_id_claim="principalIdClaim"
785
+ )
786
+ ),
787
+
788
+ # the properties below are optional
789
+ entity_id_prefix="entityIdPrefix",
790
+ group_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectGroupConfigurationProperty(
791
+ group_claim="groupClaim",
792
+ group_entity_type="groupEntityType"
793
+ )
794
+ )
795
+ '''
796
+ if __debug__:
797
+ type_hints = typing.get_type_hints(_typecheckingstub__f2cbaf9f8e84c4afb5efd9d601c7545c48652b8f118e22b861f76e11a0491e58)
798
+ check_type(argname="argument issuer", value=issuer, expected_type=type_hints["issuer"])
799
+ check_type(argname="argument token_selection", value=token_selection, expected_type=type_hints["token_selection"])
800
+ check_type(argname="argument entity_id_prefix", value=entity_id_prefix, expected_type=type_hints["entity_id_prefix"])
801
+ check_type(argname="argument group_configuration", value=group_configuration, expected_type=type_hints["group_configuration"])
802
+ self._values: typing.Dict[builtins.str, typing.Any] = {
803
+ "issuer": issuer,
804
+ "token_selection": token_selection,
805
+ }
806
+ if entity_id_prefix is not None:
807
+ self._values["entity_id_prefix"] = entity_id_prefix
808
+ if group_configuration is not None:
809
+ self._values["group_configuration"] = group_configuration
810
+
811
+ @builtins.property
812
+ def issuer(self) -> builtins.str:
813
+ '''The issuer URL of an OIDC identity provider.
814
+
815
+ This URL must have an OIDC discovery endpoint at the path ``.well-known/openid-configuration`` .
816
+
817
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectconfiguration-issuer
818
+ '''
819
+ result = self._values.get("issuer")
820
+ assert result is not None, "Required property 'issuer' is missing"
821
+ return typing.cast(builtins.str, result)
822
+
823
+ @builtins.property
824
+ def token_selection(
825
+ self,
826
+ ) -> typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectTokenSelectionProperty"]:
827
+ '''The token type that you want to process from your OIDC identity provider.
828
+
829
+ Your policy store can process either identity (ID) or access tokens from a given OIDC identity source.
830
+
831
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectconfiguration-tokenselection
832
+ '''
833
+ result = self._values.get("token_selection")
834
+ assert result is not None, "Required property 'token_selection' is missing"
835
+ return typing.cast(typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectTokenSelectionProperty"], result)
836
+
837
+ @builtins.property
838
+ def entity_id_prefix(self) -> typing.Optional[builtins.str]:
839
+ '''A descriptive string that you want to prefix to user entities from your OIDC identity provider.
840
+
841
+ For example, if you set an ``entityIdPrefix`` of ``MyOIDCProvider`` , you can reference principals in your policies in the format ``MyCorp::User::MyOIDCProvider|Carlos`` .
842
+
843
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectconfiguration-entityidprefix
844
+ '''
845
+ result = self._values.get("entity_id_prefix")
846
+ return typing.cast(typing.Optional[builtins.str], result)
847
+
848
+ @builtins.property
849
+ def group_configuration(
850
+ self,
851
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectGroupConfigurationProperty"]]:
852
+ '''The claim in OIDC identity provider tokens that indicates a user's group membership, and the entity type that you want to map it to.
853
+
854
+ For example, this object can map the contents of a ``groups`` claim to ``MyCorp::UserGroup`` .
855
+
856
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectconfiguration-groupconfiguration
857
+ '''
858
+ result = self._values.get("group_configuration")
859
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectGroupConfigurationProperty"]], result)
860
+
861
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
862
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
863
+
864
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
865
+ return not (rhs == self)
866
+
867
+ def __repr__(self) -> str:
868
+ return "OpenIdConnectConfigurationProperty(%s)" % ", ".join(
869
+ k + "=" + repr(v) for k, v in self._values.items()
870
+ )
871
+
872
+ @jsii.data_type(
873
+ jsii_type="aws-cdk-lib.aws_verifiedpermissions.CfnIdentitySource.OpenIdConnectGroupConfigurationProperty",
874
+ jsii_struct_bases=[],
875
+ name_mapping={
876
+ "group_claim": "groupClaim",
877
+ "group_entity_type": "groupEntityType",
878
+ },
879
+ )
880
+ class OpenIdConnectGroupConfigurationProperty:
881
+ def __init__(
882
+ self,
883
+ *,
884
+ group_claim: builtins.str,
885
+ group_entity_type: builtins.str,
886
+ ) -> None:
887
+ '''The claim in OIDC identity provider tokens that indicates a user's group membership, and the entity type that you want to map it to.
888
+
889
+ For example, this object can map the contents of a ``groups`` claim to ``MyCorp::UserGroup`` .
890
+
891
+ This data type is part of a `OpenIdConnectConfiguration <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfiguration.html>`_ structure, which is a parameter of `CreateIdentitySource <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html>`_ .
892
+
893
+ :param group_claim: The token claim that you want Verified Permissions to interpret as group membership. For example, ``groups`` .
894
+ :param group_entity_type: The policy store entity type that you want to map your users' group claim to. For example, ``MyCorp::UserGroup`` . A group entity type is an entity that can have a user entity type as a member.
895
+
896
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectgroupconfiguration.html
897
+ :exampleMetadata: fixture=_generated
898
+
899
+ Example::
900
+
901
+ # The code below shows an example of how to instantiate this type.
902
+ # The values are placeholders you should change.
903
+ from aws_cdk import aws_verifiedpermissions as verifiedpermissions
904
+
905
+ open_id_connect_group_configuration_property = verifiedpermissions.CfnIdentitySource.OpenIdConnectGroupConfigurationProperty(
906
+ group_claim="groupClaim",
907
+ group_entity_type="groupEntityType"
908
+ )
909
+ '''
910
+ if __debug__:
911
+ type_hints = typing.get_type_hints(_typecheckingstub__ab6d245db8c3db5a35fe4e1c5a4195b5633475440923b68ec4da0c666bb4a554)
912
+ check_type(argname="argument group_claim", value=group_claim, expected_type=type_hints["group_claim"])
913
+ check_type(argname="argument group_entity_type", value=group_entity_type, expected_type=type_hints["group_entity_type"])
914
+ self._values: typing.Dict[builtins.str, typing.Any] = {
915
+ "group_claim": group_claim,
916
+ "group_entity_type": group_entity_type,
917
+ }
918
+
919
+ @builtins.property
920
+ def group_claim(self) -> builtins.str:
921
+ '''The token claim that you want Verified Permissions to interpret as group membership.
922
+
923
+ For example, ``groups`` .
924
+
925
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectgroupconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectgroupconfiguration-groupclaim
926
+ '''
927
+ result = self._values.get("group_claim")
928
+ assert result is not None, "Required property 'group_claim' is missing"
929
+ return typing.cast(builtins.str, result)
930
+
931
+ @builtins.property
932
+ def group_entity_type(self) -> builtins.str:
933
+ '''The policy store entity type that you want to map your users' group claim to.
934
+
935
+ For example, ``MyCorp::UserGroup`` . A group entity type is an entity that can have a user entity type as a member.
936
+
937
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectgroupconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectgroupconfiguration-groupentitytype
938
+ '''
939
+ result = self._values.get("group_entity_type")
940
+ assert result is not None, "Required property 'group_entity_type' is missing"
941
+ return typing.cast(builtins.str, result)
942
+
943
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
944
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
945
+
946
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
947
+ return not (rhs == self)
948
+
949
+ def __repr__(self) -> str:
950
+ return "OpenIdConnectGroupConfigurationProperty(%s)" % ", ".join(
951
+ k + "=" + repr(v) for k, v in self._values.items()
952
+ )
953
+
954
+ @jsii.data_type(
955
+ jsii_type="aws-cdk-lib.aws_verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty",
956
+ jsii_struct_bases=[],
957
+ name_mapping={
958
+ "client_ids": "clientIds",
959
+ "principal_id_claim": "principalIdClaim",
960
+ },
961
+ )
962
+ class OpenIdConnectIdentityTokenConfigurationProperty:
963
+ def __init__(
964
+ self,
965
+ *,
966
+ client_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
967
+ principal_id_claim: typing.Optional[builtins.str] = None,
968
+ ) -> None:
969
+ '''The configuration of an OpenID Connect (OIDC) identity source for handling identity (ID) token claims.
970
+
971
+ Contains the claim that you want to identify as the principal in an authorization request, and the values of the ``aud`` claim, or audiences, that you want to accept.
972
+
973
+ This data type is part of a `OpenIdConnectTokenSelection <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectTokenSelection.html>`_ structure, which is a parameter of `CreateIdentitySource <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html>`_ .
974
+
975
+ :param client_ids: The ID token audience, or client ID, claim values that you want to accept in your policy store from an OIDC identity provider. For example, ``1example23456789, 2example10111213`` .
976
+ :param principal_id_claim: The claim that determines the principal in OIDC access tokens. For example, ``sub`` . Default: - "sub"
977
+
978
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectidentitytokenconfiguration.html
979
+ :exampleMetadata: fixture=_generated
980
+
981
+ Example::
982
+
983
+ # The code below shows an example of how to instantiate this type.
984
+ # The values are placeholders you should change.
985
+ from aws_cdk import aws_verifiedpermissions as verifiedpermissions
986
+
987
+ open_id_connect_identity_token_configuration_property = verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty(
988
+ client_ids=["clientIds"],
989
+ principal_id_claim="principalIdClaim"
990
+ )
991
+ '''
992
+ if __debug__:
993
+ type_hints = typing.get_type_hints(_typecheckingstub__99f6b4ca1823509344404edb31bf292b51c5620a674212be5ce0be65dc78575d)
994
+ check_type(argname="argument client_ids", value=client_ids, expected_type=type_hints["client_ids"])
995
+ check_type(argname="argument principal_id_claim", value=principal_id_claim, expected_type=type_hints["principal_id_claim"])
996
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
997
+ if client_ids is not None:
998
+ self._values["client_ids"] = client_ids
999
+ if principal_id_claim is not None:
1000
+ self._values["principal_id_claim"] = principal_id_claim
1001
+
1002
+ @builtins.property
1003
+ def client_ids(self) -> typing.Optional[typing.List[builtins.str]]:
1004
+ '''The ID token audience, or client ID, claim values that you want to accept in your policy store from an OIDC identity provider.
1005
+
1006
+ For example, ``1example23456789, 2example10111213`` .
1007
+
1008
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectidentitytokenconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectidentitytokenconfiguration-clientids
1009
+ '''
1010
+ result = self._values.get("client_ids")
1011
+ return typing.cast(typing.Optional[typing.List[builtins.str]], result)
1012
+
1013
+ @builtins.property
1014
+ def principal_id_claim(self) -> typing.Optional[builtins.str]:
1015
+ '''The claim that determines the principal in OIDC access tokens.
1016
+
1017
+ For example, ``sub`` .
1018
+
1019
+ :default: - "sub"
1020
+
1021
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnectidentitytokenconfiguration.html#cfn-verifiedpermissions-identitysource-openidconnectidentitytokenconfiguration-principalidclaim
1022
+ '''
1023
+ result = self._values.get("principal_id_claim")
1024
+ return typing.cast(typing.Optional[builtins.str], result)
1025
+
1026
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1027
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1028
+
1029
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1030
+ return not (rhs == self)
1031
+
1032
+ def __repr__(self) -> str:
1033
+ return "OpenIdConnectIdentityTokenConfigurationProperty(%s)" % ", ".join(
1034
+ k + "=" + repr(v) for k, v in self._values.items()
1035
+ )
1036
+
1037
+ @jsii.data_type(
1038
+ jsii_type="aws-cdk-lib.aws_verifiedpermissions.CfnIdentitySource.OpenIdConnectTokenSelectionProperty",
1039
+ jsii_struct_bases=[],
1040
+ name_mapping={
1041
+ "access_token_only": "accessTokenOnly",
1042
+ "identity_token_only": "identityTokenOnly",
1043
+ },
1044
+ )
1045
+ class OpenIdConnectTokenSelectionProperty:
1046
+ def __init__(
1047
+ self,
1048
+ *,
1049
+ access_token_only: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1050
+ identity_token_only: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
1051
+ ) -> None:
1052
+ '''The token type that you want to process from your OIDC identity provider.
1053
+
1054
+ Your policy store can process either identity (ID) or access tokens from a given OIDC identity source.
1055
+
1056
+ This data type is part of a `OpenIdConnectConfiguration <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_OpenIdConnectConfiguration.html>`_ structure, which is a parameter of `CreateIdentitySource <https://docs.aws.amazon.com/verifiedpermissions/latest/apireference/API_CreateIdentitySource.html>`_ .
1057
+
1058
+ :param access_token_only: The OIDC configuration for processing access tokens. Contains allowed audience claims, for example ``https://auth.example.com`` , and the claim that you want to map to the principal, for example ``sub`` .
1059
+ :param identity_token_only: The OIDC configuration for processing identity (ID) tokens. Contains allowed client ID claims, for example ``1example23456789`` , and the claim that you want to map to the principal, for example ``sub`` .
1060
+
1061
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnecttokenselection.html
1062
+ :exampleMetadata: fixture=_generated
1063
+
1064
+ Example::
1065
+
1066
+ # The code below shows an example of how to instantiate this type.
1067
+ # The values are placeholders you should change.
1068
+ from aws_cdk import aws_verifiedpermissions as verifiedpermissions
1069
+
1070
+ open_id_connect_token_selection_property = verifiedpermissions.CfnIdentitySource.OpenIdConnectTokenSelectionProperty(
1071
+ access_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty(
1072
+ audiences=["audiences"],
1073
+ principal_id_claim="principalIdClaim"
1074
+ ),
1075
+ identity_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty(
1076
+ client_ids=["clientIds"],
1077
+ principal_id_claim="principalIdClaim"
1078
+ )
1079
+ )
1080
+ '''
1081
+ if __debug__:
1082
+ type_hints = typing.get_type_hints(_typecheckingstub__70c96a791508272a0d3c3378e83ae61f563c50846f156b3664ab9d4f13f24e41)
1083
+ check_type(argname="argument access_token_only", value=access_token_only, expected_type=type_hints["access_token_only"])
1084
+ check_type(argname="argument identity_token_only", value=identity_token_only, expected_type=type_hints["identity_token_only"])
1085
+ self._values: typing.Dict[builtins.str, typing.Any] = {}
1086
+ if access_token_only is not None:
1087
+ self._values["access_token_only"] = access_token_only
1088
+ if identity_token_only is not None:
1089
+ self._values["identity_token_only"] = identity_token_only
1090
+
1091
+ @builtins.property
1092
+ def access_token_only(
1093
+ self,
1094
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty"]]:
1095
+ '''The OIDC configuration for processing access tokens.
1096
+
1097
+ Contains allowed audience claims, for example ``https://auth.example.com`` , and the claim that you want to map to the principal, for example ``sub`` .
1098
+
1099
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnecttokenselection.html#cfn-verifiedpermissions-identitysource-openidconnecttokenselection-accesstokenonly
1100
+ '''
1101
+ result = self._values.get("access_token_only")
1102
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty"]], result)
1103
+
1104
+ @builtins.property
1105
+ def identity_token_only(
1106
+ self,
1107
+ ) -> typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty"]]:
1108
+ '''The OIDC configuration for processing identity (ID) tokens.
1109
+
1110
+ Contains allowed client ID claims, for example ``1example23456789`` , and the claim that you want to map to the principal, for example ``sub`` .
1111
+
1112
+ :see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-verifiedpermissions-identitysource-openidconnecttokenselection.html#cfn-verifiedpermissions-identitysource-openidconnecttokenselection-identitytokenonly
1113
+ '''
1114
+ result = self._values.get("identity_token_only")
1115
+ return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, "CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty"]], result)
1116
+
1117
+ def __eq__(self, rhs: typing.Any) -> builtins.bool:
1118
+ return isinstance(rhs, self.__class__) and rhs._values == self._values
1119
+
1120
+ def __ne__(self, rhs: typing.Any) -> builtins.bool:
1121
+ return not (rhs == self)
1122
+
1123
+ def __repr__(self) -> str:
1124
+ return "OpenIdConnectTokenSelectionProperty(%s)" % ", ".join(
1125
+ k + "=" + repr(v) for k, v in self._values.items()
1126
+ )
1127
+
598
1128
 
599
1129
  @jsii.data_type(
600
1130
  jsii_type="aws-cdk-lib.aws_verifiedpermissions.CfnIdentitySourceProps",
@@ -638,6 +1168,26 @@ class CfnIdentitySourceProps:
638
1168
  group_configuration=verifiedpermissions.CfnIdentitySource.CognitoGroupConfigurationProperty(
639
1169
  group_entity_type="groupEntityType"
640
1170
  )
1171
+ ),
1172
+ open_id_connect_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectConfigurationProperty(
1173
+ issuer="issuer",
1174
+ token_selection=verifiedpermissions.CfnIdentitySource.OpenIdConnectTokenSelectionProperty(
1175
+ access_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty(
1176
+ audiences=["audiences"],
1177
+ principal_id_claim="principalIdClaim"
1178
+ ),
1179
+ identity_token_only=verifiedpermissions.CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty(
1180
+ client_ids=["clientIds"],
1181
+ principal_id_claim="principalIdClaim"
1182
+ )
1183
+ ),
1184
+
1185
+ # the properties below are optional
1186
+ entity_id_prefix="entityIdPrefix",
1187
+ group_configuration=verifiedpermissions.CfnIdentitySource.OpenIdConnectGroupConfigurationProperty(
1188
+ group_claim="groupClaim",
1189
+ group_entity_type="groupEntityType"
1190
+ )
641
1191
  )
642
1192
  ),
643
1193
  policy_store_id="policyStoreId",
@@ -2028,7 +2578,8 @@ def _typecheckingstub__75fd393134ee256da001941239770b4cb04ba63bc1c52b04b0d0a17fc
2028
2578
 
2029
2579
  def _typecheckingstub__cb8ac8b859528aa35f38e7ba0f1da77e89bd8aa3f424fb5dcd81661032e5a44e(
2030
2580
  *,
2031
- cognito_user_pool_configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.CognitoUserPoolConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],
2581
+ cognito_user_pool_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.CognitoUserPoolConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2582
+ open_id_connect_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.OpenIdConnectConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2032
2583
  ) -> None:
2033
2584
  """Type checking stubs"""
2034
2585
  pass
@@ -2043,6 +2594,48 @@ def _typecheckingstub__7de43a4292ffc2c919be30326e38112109b1f65de4681523bb84b29e2
2043
2594
  """Type checking stubs"""
2044
2595
  pass
2045
2596
 
2597
+ def _typecheckingstub__7998706a4a9cc38da1ed0db6b698971ec488a63fd69b5cdbdb293f77c241aa10(
2598
+ *,
2599
+ audiences: typing.Optional[typing.Sequence[builtins.str]] = None,
2600
+ principal_id_claim: typing.Optional[builtins.str] = None,
2601
+ ) -> None:
2602
+ """Type checking stubs"""
2603
+ pass
2604
+
2605
+ def _typecheckingstub__f2cbaf9f8e84c4afb5efd9d601c7545c48652b8f118e22b861f76e11a0491e58(
2606
+ *,
2607
+ issuer: builtins.str,
2608
+ token_selection: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.OpenIdConnectTokenSelectionProperty, typing.Dict[builtins.str, typing.Any]]],
2609
+ entity_id_prefix: typing.Optional[builtins.str] = None,
2610
+ group_configuration: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.OpenIdConnectGroupConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2611
+ ) -> None:
2612
+ """Type checking stubs"""
2613
+ pass
2614
+
2615
+ def _typecheckingstub__ab6d245db8c3db5a35fe4e1c5a4195b5633475440923b68ec4da0c666bb4a554(
2616
+ *,
2617
+ group_claim: builtins.str,
2618
+ group_entity_type: builtins.str,
2619
+ ) -> None:
2620
+ """Type checking stubs"""
2621
+ pass
2622
+
2623
+ def _typecheckingstub__99f6b4ca1823509344404edb31bf292b51c5620a674212be5ce0be65dc78575d(
2624
+ *,
2625
+ client_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
2626
+ principal_id_claim: typing.Optional[builtins.str] = None,
2627
+ ) -> None:
2628
+ """Type checking stubs"""
2629
+ pass
2630
+
2631
+ def _typecheckingstub__70c96a791508272a0d3c3378e83ae61f563c50846f156b3664ab9d4f13f24e41(
2632
+ *,
2633
+ access_token_only: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.OpenIdConnectAccessTokenConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2634
+ identity_token_only: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.OpenIdConnectIdentityTokenConfigurationProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
2635
+ ) -> None:
2636
+ """Type checking stubs"""
2637
+ pass
2638
+
2046
2639
  def _typecheckingstub__2c26583940e2aa6e9d220c2c5b1722091a1344919725a0cfeb5b794a1ef3dc30(
2047
2640
  *,
2048
2641
  configuration: typing.Union[_IResolvable_da3f097b, typing.Union[CfnIdentitySource.IdentitySourceConfigurationProperty, typing.Dict[builtins.str, typing.Any]]],