aws-cdk-lib 2.195.0__py3-none-any.whl → 2.224.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of aws-cdk-lib might be problematic. Click here for more details.
- aws_cdk/__init__.py +1806 -417
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.195.0.jsii.tgz → aws-cdk-lib@2.224.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +12 -2
- aws_cdk/aws_accessanalyzer/__init__.py +323 -6
- aws_cdk/aws_acmpca/__init__.py +53 -10
- aws_cdk/aws_aiops/__init__.py +1019 -0
- aws_cdk/aws_amazonmq/__init__.py +357 -313
- aws_cdk/aws_amplify/__init__.py +173 -17
- aws_cdk/aws_amplifyuibuilder/__init__.py +35 -6
- aws_cdk/aws_apigateway/__init__.py +1245 -215
- aws_cdk/aws_apigatewayv2/__init__.py +3890 -476
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +94 -16
- aws_cdk/aws_appconfig/__init__.py +618 -91
- aws_cdk/aws_appflow/__init__.py +151 -6
- aws_cdk/aws_appintegrations/__init__.py +546 -6
- aws_cdk/aws_applicationautoscaling/__init__.py +75 -10
- aws_cdk/aws_applicationinsights/__init__.py +13 -2
- aws_cdk/aws_applicationsignals/__init__.py +374 -6
- aws_cdk/aws_appmesh/__init__.py +136 -26
- aws_cdk/aws_apprunner/__init__.py +66 -18
- aws_cdk/aws_appstream/__init__.py +309 -55
- aws_cdk/aws_appsync/__init__.py +350 -94
- aws_cdk/aws_apptest/__init__.py +71 -2
- aws_cdk/aws_aps/__init__.py +2188 -94
- aws_cdk/aws_arcregionswitch/__init__.py +5095 -0
- aws_cdk/aws_arczonalshift/__init__.py +39 -12
- aws_cdk/aws_athena/__init__.py +365 -29
- aws_cdk/aws_auditmanager/__init__.py +71 -2
- aws_cdk/aws_autoscaling/__init__.py +165 -60
- aws_cdk/aws_autoscaling_common/__init__.py +3 -0
- aws_cdk/aws_autoscalingplans/__init__.py +13 -2
- aws_cdk/aws_b2bi/__init__.py +1819 -99
- aws_cdk/aws_backup/__init__.py +370 -42
- aws_cdk/aws_backupgateway/__init__.py +13 -2
- aws_cdk/aws_batch/__init__.py +1462 -163
- aws_cdk/aws_bcmdataexports/__init__.py +21 -2
- aws_cdk/aws_bedrock/__init__.py +7867 -727
- aws_cdk/aws_bedrockagentcore/__init__.py +10425 -0
- aws_cdk/aws_billingconductor/__init__.py +197 -11
- aws_cdk/aws_budgets/__init__.py +611 -4
- aws_cdk/aws_cassandra/__init__.py +247 -6
- aws_cdk/aws_ce/__init__.py +35 -6
- aws_cdk/aws_certificatemanager/__init__.py +258 -32
- aws_cdk/aws_chatbot/__init__.py +76 -6
- aws_cdk/aws_cleanrooms/__init__.py +709 -206
- aws_cdk/aws_cleanroomsml/__init__.py +13 -2
- aws_cdk/aws_cloud9/__init__.py +13 -2
- aws_cdk/aws_cloudformation/__init__.py +362 -189
- aws_cdk/aws_cloudfront/__init__.py +2188 -674
- aws_cdk/aws_cloudfront/experimental/__init__.py +114 -16
- aws_cdk/aws_cloudfront_origins/__init__.py +615 -74
- aws_cdk/aws_cloudtrail/__init__.py +311 -21
- aws_cdk/aws_cloudwatch/__init__.py +3093 -1038
- aws_cdk/aws_cloudwatch_actions/__init__.py +75 -1
- aws_cdk/aws_codeartifact/__init__.py +35 -6
- aws_cdk/aws_codebuild/__init__.py +1303 -135
- aws_cdk/aws_codecommit/__init__.py +29 -9
- aws_cdk/aws_codeconnections/__init__.py +13 -2
- aws_cdk/aws_codedeploy/__init__.py +130 -6
- aws_cdk/aws_codeguruprofiler/__init__.py +80 -2
- aws_cdk/aws_codegurureviewer/__init__.py +13 -2
- aws_cdk/aws_codepipeline/__init__.py +177 -71
- aws_cdk/aws_codepipeline_actions/__init__.py +753 -4
- aws_cdk/aws_codestar/__init__.py +13 -2
- aws_cdk/aws_codestarconnections/__init__.py +35 -6
- aws_cdk/aws_codestarnotifications/__init__.py +22 -2
- aws_cdk/aws_cognito/__init__.py +905 -92
- aws_cdk/aws_cognito_identitypool/__init__.py +23 -12
- aws_cdk/aws_comprehend/__init__.py +24 -4
- aws_cdk/aws_config/__init__.py +227 -30
- aws_cdk/aws_connect/__init__.py +2736 -191
- aws_cdk/aws_connectcampaigns/__init__.py +13 -2
- aws_cdk/aws_connectcampaignsv2/__init__.py +268 -6
- aws_cdk/aws_controltower/__init__.py +35 -6
- aws_cdk/aws_cur/__init__.py +100 -4
- aws_cdk/aws_customerprofiles/__init__.py +617 -27
- aws_cdk/aws_databrew/__init__.py +68 -12
- aws_cdk/aws_datapipeline/__init__.py +42 -2
- aws_cdk/aws_datasync/__init__.py +1514 -977
- aws_cdk/aws_datazone/__init__.py +7426 -1763
- aws_cdk/aws_dax/__init__.py +83 -6
- aws_cdk/aws_deadline/__init__.py +511 -36
- aws_cdk/aws_detective/__init__.py +35 -6
- aws_cdk/aws_devicefarm/__init__.py +68 -12
- aws_cdk/aws_devopsguru/__init__.py +37 -6
- aws_cdk/aws_directoryservice/__init__.py +53 -4
- aws_cdk/aws_dlm/__init__.py +13 -2
- aws_cdk/aws_dms/__init__.py +184 -27
- aws_cdk/aws_docdb/__init__.py +350 -49
- aws_cdk/aws_docdbelastic/__init__.py +13 -2
- aws_cdk/aws_dsql/__init__.py +386 -16
- aws_cdk/aws_dynamodb/__init__.py +1479 -170
- aws_cdk/aws_ec2/__init__.py +10465 -1335
- aws_cdk/aws_ecr/__init__.py +637 -43
- aws_cdk/aws_ecr_assets/__init__.py +10 -0
- aws_cdk/aws_ecs/__init__.py +6629 -490
- aws_cdk/aws_ecs_patterns/__init__.py +124 -12
- aws_cdk/aws_efs/__init__.py +276 -24
- aws_cdk/aws_eks/__init__.py +1132 -227
- aws_cdk/aws_elasticache/__init__.py +378 -25
- aws_cdk/aws_elasticbeanstalk/__init__.py +75 -8
- aws_cdk/aws_elasticloadbalancing/__init__.py +22 -2
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +1796 -123
- aws_cdk/aws_elasticsearch/__init__.py +291 -9
- aws_cdk/aws_emr/__init__.py +219 -18
- aws_cdk/aws_emrcontainers/__init__.py +71 -2
- aws_cdk/aws_emrserverless/__init__.py +188 -3
- aws_cdk/aws_entityresolution/__init__.py +585 -58
- aws_cdk/aws_events/__init__.py +1007 -126
- aws_cdk/aws_events_targets/__init__.py +398 -65
- aws_cdk/aws_eventschemas/__init__.py +46 -8
- aws_cdk/aws_evidently/__init__.py +57 -10
- aws_cdk/aws_evs/__init__.py +2244 -0
- aws_cdk/aws_finspace/__init__.py +71 -2
- aws_cdk/aws_fis/__init__.py +26 -4
- aws_cdk/aws_fms/__init__.py +35 -6
- aws_cdk/aws_forecast/__init__.py +24 -4
- aws_cdk/aws_frauddetector/__init__.py +79 -14
- aws_cdk/aws_fsx/__init__.py +1349 -127
- aws_cdk/aws_gamelift/__init__.py +755 -94
- aws_cdk/aws_gameliftstreams/__init__.py +44 -22
- aws_cdk/aws_globalaccelerator/__init__.py +73 -14
- aws_cdk/aws_glue/__init__.py +1455 -378
- aws_cdk/aws_grafana/__init__.py +13 -2
- aws_cdk/aws_greengrass/__init__.py +654 -32
- aws_cdk/aws_greengrassv2/__init__.py +53 -4
- aws_cdk/aws_groundstation/__init__.py +122 -6
- aws_cdk/aws_guardduty/__init__.py +1613 -123
- aws_cdk/aws_healthimaging/__init__.py +71 -2
- aws_cdk/aws_healthlake/__init__.py +42 -2
- aws_cdk/aws_iam/__init__.py +921 -141
- aws_cdk/aws_identitystore/__init__.py +24 -4
- aws_cdk/aws_imagebuilder/__init__.py +1454 -199
- aws_cdk/aws_inspector/__init__.py +44 -6
- aws_cdk/aws_inspectorv2/__init__.py +2285 -243
- aws_cdk/aws_internetmonitor/__init__.py +71 -2
- aws_cdk/aws_invoicing/__init__.py +13 -2
- aws_cdk/aws_iot/__init__.py +1760 -64
- aws_cdk/aws_iotanalytics/__init__.py +162 -8
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +106 -40
- aws_cdk/aws_iotevents/__init__.py +122 -6
- aws_cdk/aws_iotfleethub/__init__.py +71 -2
- aws_cdk/aws_iotfleetwise/__init__.py +195 -14
- aws_cdk/aws_iotsitewise/__init__.py +1837 -89
- aws_cdk/aws_iotthingsgraph/__init__.py +13 -2
- aws_cdk/aws_iottwinmaker/__init__.py +115 -10
- aws_cdk/aws_iotwireless/__init__.py +649 -22
- aws_cdk/aws_ivs/__init__.py +561 -57
- aws_cdk/aws_ivschat/__init__.py +24 -4
- aws_cdk/aws_kafkaconnect/__init__.py +35 -6
- aws_cdk/aws_kendra/__init__.py +120 -28
- aws_cdk/aws_kendraranking/__init__.py +13 -2
- aws_cdk/aws_kinesis/__init__.py +641 -23
- aws_cdk/aws_kinesisanalytics/__init__.py +467 -96
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +207 -19
- aws_cdk/aws_kinesisfirehose/__init__.py +3087 -295
- aws_cdk/aws_kinesisvideo/__init__.py +24 -4
- aws_cdk/aws_kms/__init__.py +204 -45
- aws_cdk/aws_lakeformation/__init__.py +80 -15
- aws_cdk/aws_lambda/__init__.py +2236 -297
- aws_cdk/aws_lambda_event_sources/__init__.py +638 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +63 -24
- aws_cdk/aws_launchwizard/__init__.py +13 -2
- aws_cdk/aws_lex/__init__.py +2162 -212
- aws_cdk/aws_licensemanager/__init__.py +24 -4
- aws_cdk/aws_lightsail/__init__.py +2958 -1322
- aws_cdk/aws_location/__init__.py +618 -14
- aws_cdk/aws_logs/__init__.py +6014 -923
- aws_cdk/aws_lookoutequipment/__init__.py +13 -2
- aws_cdk/aws_lookoutmetrics/__init__.py +38 -6
- aws_cdk/aws_lookoutvision/__init__.py +71 -2
- aws_cdk/aws_m2/__init__.py +94 -19
- aws_cdk/aws_macie/__init__.py +49 -11
- aws_cdk/aws_managedblockchain/__init__.py +180 -6
- aws_cdk/aws_mediaconnect/__init__.py +101 -18
- aws_cdk/aws_mediaconvert/__init__.py +35 -6
- aws_cdk/aws_medialive/__init__.py +1938 -532
- aws_cdk/aws_mediapackage/__init__.py +59 -12
- aws_cdk/aws_mediapackagev2/__init__.py +1616 -233
- aws_cdk/aws_mediastore/__init__.py +13 -2
- aws_cdk/aws_mediatailor/__init__.py +583 -12
- aws_cdk/aws_memorydb/__init__.py +271 -12
- aws_cdk/aws_mpa/__init__.py +1495 -0
- aws_cdk/aws_msk/__init__.py +108 -22
- aws_cdk/aws_mwaa/__init__.py +121 -9
- aws_cdk/aws_neptune/__init__.py +290 -78
- aws_cdk/aws_neptunegraph/__init__.py +24 -4
- aws_cdk/aws_networkfirewall/__init__.py +1184 -164
- aws_cdk/aws_networkmanager/__init__.py +349 -33
- aws_cdk/aws_nimblestudio/__init__.py +283 -408
- aws_cdk/aws_notifications/__init__.py +317 -12
- aws_cdk/aws_notificationscontacts/__init__.py +13 -2
- aws_cdk/aws_oam/__init__.py +24 -4
- aws_cdk/aws_observabilityadmin/__init__.py +2561 -0
- aws_cdk/aws_odb/__init__.py +5872 -0
- aws_cdk/aws_omics/__init__.py +2967 -162
- aws_cdk/aws_opensearchserverless/__init__.py +312 -37
- aws_cdk/aws_opensearchservice/__init__.py +501 -19
- aws_cdk/aws_opsworks/__init__.py +235 -139
- aws_cdk/aws_opsworkscm/__init__.py +16 -52
- aws_cdk/aws_organizations/__init__.py +70 -10
- aws_cdk/aws_osis/__init__.py +167 -2
- aws_cdk/aws_panorama/__init__.py +181 -9
- aws_cdk/aws_paymentcryptography/__init__.py +24 -4
- aws_cdk/aws_pcaconnectorad/__init__.py +59 -10
- aws_cdk/aws_pcaconnectorscep/__init__.py +24 -4
- aws_cdk/aws_pcs/__init__.py +516 -64
- aws_cdk/aws_personalize/__init__.py +46 -8
- aws_cdk/aws_pinpoint/__init__.py +329 -38
- aws_cdk/aws_pinpointemail/__init__.py +48 -8
- aws_cdk/aws_pipes/__init__.py +12 -2
- aws_cdk/aws_proton/__init__.py +37 -6
- aws_cdk/aws_qbusiness/__init__.py +635 -34
- aws_cdk/aws_qldb/__init__.py +24 -4
- aws_cdk/aws_quicksight/__init__.py +7900 -1160
- aws_cdk/aws_ram/__init__.py +24 -4
- aws_cdk/aws_rbin/__init__.py +12 -2
- aws_cdk/aws_rds/__init__.py +3721 -573
- aws_cdk/aws_redshift/__init__.py +143 -20
- aws_cdk/aws_redshiftserverless/__init__.py +699 -11
- aws_cdk/aws_refactorspaces/__init__.py +64 -14
- aws_cdk/aws_rekognition/__init__.py +93 -6
- aws_cdk/aws_resiliencehub/__init__.py +24 -4
- aws_cdk/aws_resourceexplorer2/__init__.py +35 -6
- aws_cdk/aws_resourcegroups/__init__.py +82 -4
- aws_cdk/aws_robomaker/__init__.py +72 -12
- aws_cdk/aws_rolesanywhere/__init__.py +194 -19
- aws_cdk/aws_route53/__init__.py +3965 -1436
- aws_cdk/aws_route53_targets/__init__.py +3 -0
- aws_cdk/aws_route53profiles/__init__.py +37 -6
- aws_cdk/aws_route53recoverycontrol/__init__.py +46 -8
- aws_cdk/aws_route53recoveryreadiness/__init__.py +104 -8
- aws_cdk/aws_route53resolver/__init__.py +189 -40
- aws_cdk/aws_rtbfabric/__init__.py +3498 -0
- aws_cdk/aws_rum/__init__.py +13 -2
- aws_cdk/aws_s3/__init__.py +1742 -221
- aws_cdk/aws_s3_assets/__init__.py +11 -11
- aws_cdk/aws_s3_deployment/__init__.py +153 -11
- aws_cdk/aws_s3_notifications/__init__.py +7 -7
- aws_cdk/aws_s3express/__init__.py +1053 -6
- aws_cdk/aws_s3objectlambda/__init__.py +68 -16
- aws_cdk/aws_s3outposts/__init__.py +46 -8
- aws_cdk/aws_s3tables/__init__.py +2000 -323
- aws_cdk/aws_s3vectors/__init__.py +1378 -0
- aws_cdk/aws_sagemaker/__init__.py +6848 -373
- aws_cdk/aws_sam/__init__.py +79 -14
- aws_cdk/aws_scheduler/__init__.py +249 -4
- aws_cdk/aws_sdb/__init__.py +12 -2
- aws_cdk/aws_secretsmanager/__init__.py +194 -14
- aws_cdk/aws_securityhub/__init__.py +3121 -176
- aws_cdk/aws_securitylake/__init__.py +46 -8
- aws_cdk/aws_servicecatalog/__init__.py +429 -246
- aws_cdk/aws_servicecatalogappregistry/__init__.py +164 -8
- aws_cdk/aws_servicediscovery/__init__.py +188 -47
- aws_cdk/aws_ses/__init__.py +2265 -369
- aws_cdk/aws_shield/__init__.py +46 -8
- aws_cdk/aws_signer/__init__.py +33 -4
- aws_cdk/aws_simspaceweaver/__init__.py +42 -2
- aws_cdk/aws_smsvoice/__init__.py +4716 -0
- aws_cdk/aws_sns/__init__.py +263 -29
- aws_cdk/aws_sns_subscriptions/__init__.py +265 -2
- aws_cdk/aws_sqs/__init__.py +223 -14
- aws_cdk/aws_ssm/__init__.py +413 -58
- aws_cdk/aws_ssmcontacts/__init__.py +98 -9
- aws_cdk/aws_ssmguiconnect/__init__.py +20 -9
- aws_cdk/aws_ssmincidents/__init__.py +24 -4
- aws_cdk/aws_ssmquicksetup/__init__.py +393 -8
- aws_cdk/aws_sso/__init__.py +70 -12
- aws_cdk/aws_stepfunctions/__init__.py +823 -94
- aws_cdk/aws_stepfunctions_tasks/__init__.py +2323 -150
- aws_cdk/aws_supportapp/__init__.py +39 -6
- aws_cdk/aws_synthetics/__init__.py +1088 -126
- aws_cdk/aws_systemsmanagersap/__init__.py +13 -2
- aws_cdk/aws_timestream/__init__.py +104 -8
- aws_cdk/aws_transfer/__init__.py +784 -87
- aws_cdk/aws_verifiedpermissions/__init__.py +306 -13
- aws_cdk/aws_voiceid/__init__.py +54 -5
- aws_cdk/aws_vpclattice/__init__.py +589 -231
- aws_cdk/aws_waf/__init__.py +79 -14
- aws_cdk/aws_wafregional/__init__.py +123 -22
- aws_cdk/aws_wafv2/__init__.py +1183 -64
- aws_cdk/aws_wisdom/__init__.py +1403 -90
- aws_cdk/aws_workspaces/__init__.py +134 -6
- aws_cdk/aws_workspacesinstances/__init__.py +3940 -0
- aws_cdk/aws_workspacesthinclient/__init__.py +79 -10
- aws_cdk/aws_workspacesweb/__init__.py +1057 -141
- aws_cdk/aws_xray/__init__.py +48 -8
- aws_cdk/cloud_assembly_schema/__init__.py +368 -48
- aws_cdk/custom_resources/__init__.py +58 -12
- aws_cdk/cx_api/__init__.py +125 -21
- aws_cdk/interfaces/__init__.py +739 -0
- aws_cdk/interfaces/alexa_ask/__init__.py +146 -0
- aws_cdk/interfaces/aws_accessanalyzer/__init__.py +146 -0
- aws_cdk/interfaces/aws_acmpca/__init__.py +501 -0
- aws_cdk/interfaces/aws_aiops/__init__.py +146 -0
- aws_cdk/interfaces/aws_amazonmq/__init__.py +386 -0
- aws_cdk/interfaces/aws_amplify/__init__.py +352 -0
- aws_cdk/interfaces/aws_amplifyuibuilder/__init__.py +454 -0
- aws_cdk/interfaces/aws_apigateway/__init__.py +2486 -0
- aws_cdk/interfaces/aws_apigatewayv2/__init__.py +1651 -0
- aws_cdk/interfaces/aws_appconfig/__init__.py +1020 -0
- aws_cdk/interfaces/aws_appflow/__init__.py +404 -0
- aws_cdk/interfaces/aws_appintegrations/__init__.py +396 -0
- aws_cdk/interfaces/aws_applicationautoscaling/__init__.py +307 -0
- aws_cdk/interfaces/aws_applicationinsights/__init__.py +148 -0
- aws_cdk/interfaces/aws_applicationsignals/__init__.py +358 -0
- aws_cdk/interfaces/aws_appmesh/__init__.py +888 -0
- aws_cdk/interfaces/aws_apprunner/__init__.py +564 -0
- aws_cdk/interfaces/aws_appstream/__init__.py +1482 -0
- aws_cdk/interfaces/aws_appsync/__init__.py +1326 -0
- aws_cdk/interfaces/aws_apptest/__init__.py +163 -0
- aws_cdk/interfaces/aws_aps/__init__.py +558 -0
- aws_cdk/interfaces/aws_arcregionswitch/__init__.py +146 -0
- aws_cdk/interfaces/aws_arczonalshift/__init__.py +273 -0
- aws_cdk/interfaces/aws_athena/__init__.py +575 -0
- aws_cdk/interfaces/aws_auditmanager/__init__.py +163 -0
- aws_cdk/interfaces/aws_autoscaling/__init__.py +705 -0
- aws_cdk/interfaces/aws_autoscalingplans/__init__.py +148 -0
- aws_cdk/interfaces/aws_b2bi/__init__.py +524 -0
- aws_cdk/interfaces/aws_backup/__init__.py +955 -0
- aws_cdk/interfaces/aws_backupgateway/__init__.py +146 -0
- aws_cdk/interfaces/aws_batch/__init__.py +681 -0
- aws_cdk/interfaces/aws_bcmdataexports/__init__.py +146 -0
- aws_cdk/interfaces/aws_bedrock/__init__.py +1942 -0
- aws_cdk/interfaces/aws_bedrockagentcore/__init__.py +934 -0
- aws_cdk/interfaces/aws_billing/__init__.py +146 -0
- aws_cdk/interfaces/aws_billingconductor/__init__.py +463 -0
- aws_cdk/interfaces/aws_budgets/__init__.py +261 -0
- aws_cdk/interfaces/aws_cassandra/__init__.py +381 -0
- aws_cdk/interfaces/aws_ce/__init__.py +352 -0
- aws_cdk/interfaces/aws_certificatemanager/__init__.py +251 -0
- aws_cdk/interfaces/aws_chatbot/__init__.py +366 -0
- aws_cdk/interfaces/aws_cleanrooms/__init__.py +1103 -0
- aws_cdk/interfaces/aws_cleanroomsml/__init__.py +148 -0
- aws_cdk/interfaces/aws_cloud9/__init__.py +166 -0
- aws_cdk/interfaces/aws_cloudformation/__init__.py +1919 -0
- aws_cdk/interfaces/aws_cloudfront/__init__.py +1998 -0
- aws_cdk/interfaces/aws_cloudtrail/__init__.py +570 -0
- aws_cdk/interfaces/aws_cloudwatch/__init__.py +733 -0
- aws_cdk/interfaces/aws_codeartifact/__init__.py +352 -0
- aws_cdk/interfaces/aws_codebuild/__init__.py +487 -0
- aws_cdk/interfaces/aws_codecommit/__init__.py +163 -0
- aws_cdk/interfaces/aws_codeconnections/__init__.py +146 -0
- aws_cdk/interfaces/aws_codedeploy/__init__.py +352 -0
- aws_cdk/interfaces/aws_codeguruprofiler/__init__.py +168 -0
- aws_cdk/interfaces/aws_codegurureviewer/__init__.py +148 -0
- aws_cdk/interfaces/aws_codepipeline/__init__.py +388 -0
- aws_cdk/interfaces/aws_codestar/__init__.py +146 -0
- aws_cdk/interfaces/aws_codestarconnections/__init__.py +370 -0
- aws_cdk/interfaces/aws_codestarnotifications/__init__.py +148 -0
- aws_cdk/interfaces/aws_cognito/__init__.py +1929 -0
- aws_cdk/interfaces/aws_comprehend/__init__.py +251 -0
- aws_cdk/interfaces/aws_config/__init__.py +1165 -0
- aws_cdk/interfaces/aws_connect/__init__.py +2949 -0
- aws_cdk/interfaces/aws_connectcampaigns/__init__.py +146 -0
- aws_cdk/interfaces/aws_connectcampaignsv2/__init__.py +146 -0
- aws_cdk/interfaces/aws_controltower/__init__.py +394 -0
- aws_cdk/interfaces/aws_cur/__init__.py +146 -0
- aws_cdk/interfaces/aws_customerprofiles/__init__.py +915 -0
- aws_cdk/interfaces/aws_databrew/__init__.py +661 -0
- aws_cdk/interfaces/aws_datapipeline/__init__.py +146 -0
- aws_cdk/interfaces/aws_datasync/__init__.py +1384 -0
- aws_cdk/interfaces/aws_datazone/__init__.py +2238 -0
- aws_cdk/interfaces/aws_dax/__init__.py +364 -0
- aws_cdk/interfaces/aws_deadline/__init__.py +1303 -0
- aws_cdk/interfaces/aws_detective/__init__.py +364 -0
- aws_cdk/interfaces/aws_devicefarm/__init__.py +663 -0
- aws_cdk/interfaces/aws_devopsguru/__init__.py +362 -0
- aws_cdk/interfaces/aws_directoryservice/__init__.py +251 -0
- aws_cdk/interfaces/aws_dlm/__init__.py +166 -0
- aws_cdk/interfaces/aws_dms/__init__.py +1176 -0
- aws_cdk/interfaces/aws_docdb/__init__.py +560 -0
- aws_cdk/interfaces/aws_docdbelastic/__init__.py +146 -0
- aws_cdk/interfaces/aws_dsql/__init__.py +146 -0
- aws_cdk/interfaces/aws_dynamodb/__init__.py +278 -0
- aws_cdk/interfaces/aws_ec2/__init__.py +11963 -0
- aws_cdk/interfaces/aws_ecr/__init__.py +814 -0
- aws_cdk/interfaces/aws_ecs/__init__.py +845 -0
- aws_cdk/interfaces/aws_efs/__init__.py +392 -0
- aws_cdk/interfaces/aws_eks/__init__.py +948 -0
- aws_cdk/interfaces/aws_elasticache/__init__.py +1108 -0
- aws_cdk/interfaces/aws_elasticbeanstalk/__init__.py +503 -0
- aws_cdk/interfaces/aws_elasticloadbalancing/__init__.py +148 -0
- aws_cdk/interfaces/aws_elasticloadbalancingv2/__init__.py +795 -0
- aws_cdk/interfaces/aws_elasticsearch/__init__.py +158 -0
- aws_cdk/interfaces/aws_emr/__init__.py +913 -0
- aws_cdk/interfaces/aws_emrcontainers/__init__.py +168 -0
- aws_cdk/interfaces/aws_emrserverless/__init__.py +166 -0
- aws_cdk/interfaces/aws_entityresolution/__init__.py +608 -0
- aws_cdk/interfaces/aws_events/__init__.py +872 -0
- aws_cdk/interfaces/aws_eventschemas/__init__.py +455 -0
- aws_cdk/interfaces/aws_evidently/__init__.py +558 -0
- aws_cdk/interfaces/aws_evs/__init__.py +166 -0
- aws_cdk/interfaces/aws_finspace/__init__.py +166 -0
- aws_cdk/interfaces/aws_fis/__init__.py +271 -0
- aws_cdk/interfaces/aws_fms/__init__.py +364 -0
- aws_cdk/interfaces/aws_forecast/__init__.py +249 -0
- aws_cdk/interfaces/aws_frauddetector/__init__.py +764 -0
- aws_cdk/interfaces/aws_fsx/__init__.py +663 -0
- aws_cdk/interfaces/aws_gamelift/__init__.py +1325 -0
- aws_cdk/interfaces/aws_gameliftstreams/__init__.py +249 -0
- aws_cdk/interfaces/aws_globalaccelerator/__init__.py +461 -0
- aws_cdk/interfaces/aws_glue/__init__.py +2377 -0
- aws_cdk/interfaces/aws_grafana/__init__.py +146 -0
- aws_cdk/interfaces/aws_greengrass/__init__.py +1871 -0
- aws_cdk/interfaces/aws_greengrassv2/__init__.py +251 -0
- aws_cdk/interfaces/aws_groundstation/__init__.py +396 -0
- aws_cdk/interfaces/aws_guardduty/__init__.py +1225 -0
- aws_cdk/interfaces/aws_healthimaging/__init__.py +163 -0
- aws_cdk/interfaces/aws_healthlake/__init__.py +146 -0
- aws_cdk/interfaces/aws_iam/__init__.py +1803 -0
- aws_cdk/interfaces/aws_identitystore/__init__.py +288 -0
- aws_cdk/interfaces/aws_imagebuilder/__init__.py +984 -0
- aws_cdk/interfaces/aws_inspector/__init__.py +354 -0
- aws_cdk/interfaces/aws_inspectorv2/__init__.py +467 -0
- aws_cdk/interfaces/aws_internetmonitor/__init__.py +163 -0
- aws_cdk/interfaces/aws_invoicing/__init__.py +146 -0
- aws_cdk/interfaces/aws_iot/__init__.py +3483 -0
- aws_cdk/interfaces/aws_iotanalytics/__init__.py +455 -0
- aws_cdk/interfaces/aws_iotcoredeviceadvisor/__init__.py +168 -0
- aws_cdk/interfaces/aws_iotevents/__init__.py +352 -0
- aws_cdk/interfaces/aws_iotfleethub/__init__.py +166 -0
- aws_cdk/interfaces/aws_iotfleetwise/__init__.py +892 -0
- aws_cdk/interfaces/aws_iotsitewise/__init__.py +1097 -0
- aws_cdk/interfaces/aws_iotthingsgraph/__init__.py +146 -0
- aws_cdk/interfaces/aws_iottwinmaker/__init__.py +711 -0
- aws_cdk/interfaces/aws_iotwireless/__init__.py +1401 -0
- aws_cdk/interfaces/aws_ivs/__init__.py +1075 -0
- aws_cdk/interfaces/aws_ivschat/__init__.py +251 -0
- aws_cdk/interfaces/aws_kafkaconnect/__init__.py +354 -0
- aws_cdk/interfaces/aws_kendra/__init__.py +428 -0
- aws_cdk/interfaces/aws_kendraranking/__init__.py +166 -0
- aws_cdk/interfaces/aws_kinesis/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalytics/__init__.py +364 -0
- aws_cdk/interfaces/aws_kinesisanalyticsv2/__init__.py +479 -0
- aws_cdk/interfaces/aws_kinesisfirehose/__init__.py +168 -0
- aws_cdk/interfaces/aws_kinesisvideo/__init__.py +283 -0
- aws_cdk/interfaces/aws_kms/__init__.py +376 -0
- aws_cdk/interfaces/aws_lakeformation/__init__.py +860 -0
- aws_cdk/interfaces/aws_lambda/__init__.py +1141 -0
- aws_cdk/interfaces/aws_launchwizard/__init__.py +146 -0
- aws_cdk/interfaces/aws_lex/__init__.py +513 -0
- aws_cdk/interfaces/aws_licensemanager/__init__.py +249 -0
- aws_cdk/interfaces/aws_lightsail/__init__.py +1744 -0
- aws_cdk/interfaces/aws_location/__init__.py +879 -0
- aws_cdk/interfaces/aws_logs/__init__.py +1667 -0
- aws_cdk/interfaces/aws_lookoutequipment/__init__.py +168 -0
- aws_cdk/interfaces/aws_lookoutmetrics/__init__.py +251 -0
- aws_cdk/interfaces/aws_lookoutvision/__init__.py +163 -0
- aws_cdk/interfaces/aws_m2/__init__.py +352 -0
- aws_cdk/interfaces/aws_macie/__init__.py +512 -0
- aws_cdk/interfaces/aws_managedblockchain/__init__.py +381 -0
- aws_cdk/interfaces/aws_mediaconnect/__init__.py +1028 -0
- aws_cdk/interfaces/aws_mediaconvert/__init__.py +396 -0
- aws_cdk/interfaces/aws_medialive/__init__.py +1755 -0
- aws_cdk/interfaces/aws_mediapackage/__init__.py +644 -0
- aws_cdk/interfaces/aws_mediapackagev2/__init__.py +618 -0
- aws_cdk/interfaces/aws_mediastore/__init__.py +146 -0
- aws_cdk/interfaces/aws_mediatailor/__init__.py +788 -0
- aws_cdk/interfaces/aws_memorydb/__init__.py +685 -0
- aws_cdk/interfaces/aws_mpa/__init__.py +249 -0
- aws_cdk/interfaces/aws_msk/__init__.py +764 -0
- aws_cdk/interfaces/aws_mwaa/__init__.py +166 -0
- aws_cdk/interfaces/aws_neptune/__init__.py +663 -0
- aws_cdk/interfaces/aws_neptunegraph/__init__.py +265 -0
- aws_cdk/interfaces/aws_networkfirewall/__init__.py +669 -0
- aws_cdk/interfaces/aws_networkmanager/__init__.py +1832 -0
- aws_cdk/interfaces/aws_nimblestudio/__init__.py +388 -0
- aws_cdk/interfaces/aws_notifications/__init__.py +868 -0
- aws_cdk/interfaces/aws_notificationscontacts/__init__.py +148 -0
- aws_cdk/interfaces/aws_oam/__init__.py +249 -0
- aws_cdk/interfaces/aws_observabilityadmin/__init__.py +362 -0
- aws_cdk/interfaces/aws_odb/__init__.py +562 -0
- aws_cdk/interfaces/aws_omics/__init__.py +838 -0
- aws_cdk/interfaces/aws_opensearchserverless/__init__.py +859 -0
- aws_cdk/interfaces/aws_opensearchservice/__init__.py +283 -0
- aws_cdk/interfaces/aws_opsworks/__init__.py +772 -0
- aws_cdk/interfaces/aws_opsworkscm/__init__.py +146 -0
- aws_cdk/interfaces/aws_organizations/__init__.py +646 -0
- aws_cdk/interfaces/aws_osis/__init__.py +146 -0
- aws_cdk/interfaces/aws_panorama/__init__.py +420 -0
- aws_cdk/interfaces/aws_paymentcryptography/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcaconnectorad/__init__.py +608 -0
- aws_cdk/interfaces/aws_pcaconnectorscep/__init__.py +249 -0
- aws_cdk/interfaces/aws_pcs/__init__.py +352 -0
- aws_cdk/interfaces/aws_personalize/__init__.py +455 -0
- aws_cdk/interfaces/aws_pinpoint/__init__.py +2125 -0
- aws_cdk/interfaces/aws_pinpointemail/__init__.py +467 -0
- aws_cdk/interfaces/aws_pipes/__init__.py +158 -0
- aws_cdk/interfaces/aws_proton/__init__.py +360 -0
- aws_cdk/interfaces/aws_qbusiness/__init__.py +1122 -0
- aws_cdk/interfaces/aws_qldb/__init__.py +283 -0
- aws_cdk/interfaces/aws_quicksight/__init__.py +1566 -0
- aws_cdk/interfaces/aws_ram/__init__.py +249 -0
- aws_cdk/interfaces/aws_rbin/__init__.py +146 -0
- aws_cdk/interfaces/aws_rds/__init__.py +1780 -0
- aws_cdk/interfaces/aws_redshift/__init__.py +1104 -0
- aws_cdk/interfaces/aws_redshiftserverless/__init__.py +356 -0
- aws_cdk/interfaces/aws_refactorspaces/__init__.py +605 -0
- aws_cdk/interfaces/aws_rekognition/__init__.py +406 -0
- aws_cdk/interfaces/aws_resiliencehub/__init__.py +251 -0
- aws_cdk/interfaces/aws_resourceexplorer2/__init__.py +354 -0
- aws_cdk/interfaces/aws_resourcegroups/__init__.py +261 -0
- aws_cdk/interfaces/aws_robomaker/__init__.py +673 -0
- aws_cdk/interfaces/aws_rolesanywhere/__init__.py +384 -0
- aws_cdk/interfaces/aws_route53/__init__.py +804 -0
- aws_cdk/interfaces/aws_route53profiles/__init__.py +368 -0
- aws_cdk/interfaces/aws_route53recoverycontrol/__init__.py +463 -0
- aws_cdk/interfaces/aws_route53recoveryreadiness/__init__.py +535 -0
- aws_cdk/interfaces/aws_route53resolver/__init__.py +1356 -0
- aws_cdk/interfaces/aws_rtbfabric/__init__.py +352 -0
- aws_cdk/interfaces/aws_rum/__init__.py +146 -0
- aws_cdk/interfaces/aws_s3/__init__.py +1171 -0
- aws_cdk/interfaces/aws_s3express/__init__.py +392 -0
- aws_cdk/interfaces/aws_s3objectlambda/__init__.py +271 -0
- aws_cdk/interfaces/aws_s3outposts/__init__.py +455 -0
- aws_cdk/interfaces/aws_s3tables/__init__.py +575 -0
- aws_cdk/interfaces/aws_s3vectors/__init__.py +354 -0
- aws_cdk/interfaces/aws_sagemaker/__init__.py +3797 -0
- aws_cdk/interfaces/aws_sam/__init__.py +603 -0
- aws_cdk/interfaces/aws_scheduler/__init__.py +286 -0
- aws_cdk/interfaces/aws_sdb/__init__.py +146 -0
- aws_cdk/interfaces/aws_secretsmanager/__init__.py +461 -0
- aws_cdk/interfaces/aws_securityhub/__init__.py +1499 -0
- aws_cdk/interfaces/aws_securitylake/__init__.py +474 -0
- aws_cdk/interfaces/aws_servicecatalog/__init__.py +1829 -0
- aws_cdk/interfaces/aws_servicecatalogappregistry/__init__.py +557 -0
- aws_cdk/interfaces/aws_servicediscovery/__init__.py +636 -0
- aws_cdk/interfaces/aws_ses/__init__.py +2018 -0
- aws_cdk/interfaces/aws_shield/__init__.py +455 -0
- aws_cdk/interfaces/aws_signer/__init__.py +266 -0
- aws_cdk/interfaces/aws_simspaceweaver/__init__.py +146 -0
- aws_cdk/interfaces/aws_smsvoice/__init__.py +892 -0
- aws_cdk/interfaces/aws_sns/__init__.py +455 -0
- aws_cdk/interfaces/aws_sqs/__init__.py +364 -0
- aws_cdk/interfaces/aws_ssm/__init__.py +982 -0
- aws_cdk/interfaces/aws_ssmcontacts/__init__.py +455 -0
- aws_cdk/interfaces/aws_ssmguiconnect/__init__.py +146 -0
- aws_cdk/interfaces/aws_ssmincidents/__init__.py +249 -0
- aws_cdk/interfaces/aws_ssmquicksetup/__init__.py +253 -0
- aws_cdk/interfaces/aws_sso/__init__.py +797 -0
- aws_cdk/interfaces/aws_stepfunctions/__init__.py +459 -0
- aws_cdk/interfaces/aws_supportapp/__init__.py +372 -0
- aws_cdk/interfaces/aws_synthetics/__init__.py +249 -0
- aws_cdk/interfaces/aws_systemsmanagersap/__init__.py +148 -0
- aws_cdk/interfaces/aws_timestream/__init__.py +526 -0
- aws_cdk/interfaces/aws_transfer/__init__.py +967 -0
- aws_cdk/interfaces/aws_verifiedpermissions/__init__.py +538 -0
- aws_cdk/interfaces/aws_voiceid/__init__.py +146 -0
- aws_cdk/interfaces/aws_vpclattice/__init__.py +1418 -0
- aws_cdk/interfaces/aws_waf/__init__.py +764 -0
- aws_cdk/interfaces/aws_wafregional/__init__.py +1182 -0
- aws_cdk/interfaces/aws_wafv2/__init__.py +870 -0
- aws_cdk/interfaces/aws_wisdom/__init__.py +1556 -0
- aws_cdk/interfaces/aws_workspaces/__init__.py +352 -0
- aws_cdk/interfaces/aws_workspacesinstances/__init__.py +390 -0
- aws_cdk/interfaces/aws_workspacesthinclient/__init__.py +168 -0
- aws_cdk/interfaces/aws_workspacesweb/__init__.py +1085 -0
- aws_cdk/interfaces/aws_xray/__init__.py +457 -0
- aws_cdk/lambda_layer_awscli/__init__.py +6 -0
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +6 -0
- aws_cdk/pipelines/__init__.py +202 -52
- aws_cdk/region_info/__init__.py +3 -0
- aws_cdk/triggers/__init__.py +66 -18
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/METADATA +418 -18
- aws_cdk_lib-2.224.0.dist-info/RECORD +584 -0
- aws_cdk_lib-2.195.0.dist-info/RECORD +0 -304
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.195.0.dist-info → aws_cdk_lib-2.224.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_iam/__init__.py
CHANGED
|
@@ -720,6 +720,36 @@ The following examples defines an OpenID Connect provider. Two client IDs
|
|
|
720
720
|
(audiences) are will be able to send authentication requests to
|
|
721
721
|
[https://openid/connect](https://openid/connect).
|
|
722
722
|
|
|
723
|
+
It is recommended to use the new `OidcProviderNative` which native CloudFormation resource `AWS::IAM::OIDCProvider` over the old `OpenIdConnectProvider` which uses a custom resource.
|
|
724
|
+
|
|
725
|
+
```python
|
|
726
|
+
native_provider = iam.OidcProviderNative(self, "MyProvider",
|
|
727
|
+
url="https://openid/connect",
|
|
728
|
+
client_ids=["myclient1", "myclient2"],
|
|
729
|
+
thumbprints=["aa00aa1122aa00aa1122aa00aa1122aa00aa1122"]
|
|
730
|
+
)
|
|
731
|
+
```
|
|
732
|
+
|
|
733
|
+
For the new `OidcProviderNative`, you must provide at least one thumbprint when creating an IAM OIDC
|
|
734
|
+
provider. For example, assume that the OIDC provider is server.example.com
|
|
735
|
+
and the provider stores its keys at
|
|
736
|
+
https://keys.server.example.com/openid-connect. In that case, the
|
|
737
|
+
thumbprint string would be the hex-encoded SHA-1 hash value of the
|
|
738
|
+
certificate used by https://keys.server.example.com.
|
|
739
|
+
|
|
740
|
+
The server certificate thumbprint is the hex-encoded SHA-1 hash value of
|
|
741
|
+
the X.509 certificate used by the domain where the OpenID Connect provider
|
|
742
|
+
makes its keys available. It is always a 40-character string.
|
|
743
|
+
|
|
744
|
+
Typically this list includes only one entry. However, IAM lets you have up
|
|
745
|
+
to five thumbprints for an OIDC provider. This lets you maintain multiple
|
|
746
|
+
thumbprints if the identity provider is rotating certificates.
|
|
747
|
+
|
|
748
|
+
Obtain the thumbprint of the root certificate authority from the provider's
|
|
749
|
+
server as described in https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
|
|
750
|
+
|
|
751
|
+
The older `OpenIdConnectProvider` is still supported but it is recommended to use the new `OidcProviderNative` instead.
|
|
752
|
+
|
|
723
753
|
```python
|
|
724
754
|
provider = iam.OpenIdConnectProvider(self, "MyProvider",
|
|
725
755
|
url="https://openid/connect",
|
|
@@ -727,12 +757,12 @@ provider = iam.OpenIdConnectProvider(self, "MyProvider",
|
|
|
727
757
|
)
|
|
728
758
|
```
|
|
729
759
|
|
|
730
|
-
|
|
760
|
+
For the older `OpenIdConnectProvider`, you can specify an optional list of `thumbprints`. If not specified, the
|
|
731
761
|
thumbprint of the root certificate authority (CA) will automatically be obtained
|
|
732
762
|
from the host as described
|
|
733
763
|
[here](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html).
|
|
734
764
|
|
|
735
|
-
|
|
765
|
+
By default, the custom resource enforces strict security practices by rejecting
|
|
736
766
|
any unauthorized connections when downloading CA thumbprints from the issuer URL.
|
|
737
767
|
If you need to connect to an unauthorized OIDC identity provider and understand the
|
|
738
768
|
implications, you can disable this behavior by setting the feature flag
|
|
@@ -999,6 +1029,41 @@ from .. import (
|
|
|
999
1029
|
TagManager as _TagManager_0a598cb3,
|
|
1000
1030
|
TreeInspector as _TreeInspector_488e0dd5,
|
|
1001
1031
|
)
|
|
1032
|
+
from ..interfaces import IEnvironmentAware as _IEnvironmentAware_f39049ee
|
|
1033
|
+
from ..interfaces.aws_iam import (
|
|
1034
|
+
AccessKeyReference as _AccessKeyReference_2bdfd122,
|
|
1035
|
+
GroupPolicyReference as _GroupPolicyReference_d179b98e,
|
|
1036
|
+
GroupReference as _GroupReference_cd6b1d81,
|
|
1037
|
+
IAccessKeyRef as _IAccessKeyRef_e97ef40a,
|
|
1038
|
+
IGroupPolicyRef as _IGroupPolicyRef_35f73c8c,
|
|
1039
|
+
IGroupRef as _IGroupRef_aeb1d9f6,
|
|
1040
|
+
IInstanceProfileRef as _IInstanceProfileRef_d6832c90,
|
|
1041
|
+
IManagedPolicyRef as _IManagedPolicyRef_a7a65687,
|
|
1042
|
+
IOIDCProviderRef as _IOIDCProviderRef_a866c7c8,
|
|
1043
|
+
IPolicyRef as _IPolicyRef_5e74a0ba,
|
|
1044
|
+
IRolePolicyRef as _IRolePolicyRef_26b13525,
|
|
1045
|
+
IRoleRef as _IRoleRef_8400221f,
|
|
1046
|
+
ISAMLProviderRef as _ISAMLProviderRef_6e369856,
|
|
1047
|
+
IServerCertificateRef as _IServerCertificateRef_005ddfcc,
|
|
1048
|
+
IServiceLinkedRoleRef as _IServiceLinkedRoleRef_ba92e11b,
|
|
1049
|
+
IUserPolicyRef as _IUserPolicyRef_e6abac3e,
|
|
1050
|
+
IUserRef as _IUserRef_b0ccca76,
|
|
1051
|
+
IUserToGroupAdditionRef as _IUserToGroupAdditionRef_e1276f9a,
|
|
1052
|
+
IVirtualMFADeviceRef as _IVirtualMFADeviceRef_fec1f13e,
|
|
1053
|
+
InstanceProfileReference as _InstanceProfileReference_5eee4bbb,
|
|
1054
|
+
ManagedPolicyReference as _ManagedPolicyReference_078bf7cb,
|
|
1055
|
+
OIDCProviderReference as _OIDCProviderReference_9a12fabd,
|
|
1056
|
+
PolicyReference as _PolicyReference_b83371a5,
|
|
1057
|
+
RolePolicyReference as _RolePolicyReference_0cf19357,
|
|
1058
|
+
RoleReference as _RoleReference_447077bb,
|
|
1059
|
+
SAMLProviderReference as _SAMLProviderReference_08e1fac1,
|
|
1060
|
+
ServerCertificateReference as _ServerCertificateReference_0e96ef93,
|
|
1061
|
+
ServiceLinkedRoleReference as _ServiceLinkedRoleReference_863fd3da,
|
|
1062
|
+
UserPolicyReference as _UserPolicyReference_4aa6daa0,
|
|
1063
|
+
UserReference as _UserReference_6bf884c6,
|
|
1064
|
+
UserToGroupAdditionReference as _UserToGroupAdditionReference_94731a73,
|
|
1065
|
+
VirtualMFADeviceReference as _VirtualMFADeviceReference_dd7d7c2b,
|
|
1066
|
+
)
|
|
1002
1067
|
|
|
1003
1068
|
|
|
1004
1069
|
@jsii.data_type(
|
|
@@ -1106,6 +1171,8 @@ class AccessKeyStatus(enum.Enum):
|
|
|
1106
1171
|
|
|
1107
1172
|
An inactive key cannot be used to make API calls.
|
|
1108
1173
|
'''
|
|
1174
|
+
EXPIRED = "EXPIRED"
|
|
1175
|
+
'''An expired access key.'''
|
|
1109
1176
|
|
|
1110
1177
|
|
|
1111
1178
|
@jsii.data_type(
|
|
@@ -1259,7 +1326,7 @@ class AddToResourcePolicyResult:
|
|
|
1259
1326
|
)
|
|
1260
1327
|
|
|
1261
1328
|
|
|
1262
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
1329
|
+
@jsii.implements(_IInspectable_c2943556, _IAccessKeyRef_e97ef40a)
|
|
1263
1330
|
class CfnAccessKey(
|
|
1264
1331
|
_CfnResource_9df397a6,
|
|
1265
1332
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1302,7 +1369,8 @@ class CfnAccessKey(
|
|
|
1302
1369
|
serial: typing.Optional[jsii.Number] = None,
|
|
1303
1370
|
status: typing.Optional[builtins.str] = None,
|
|
1304
1371
|
) -> None:
|
|
1305
|
-
'''
|
|
1372
|
+
'''Create a new ``AWS::IAM::AccessKey``.
|
|
1373
|
+
|
|
1306
1374
|
:param scope: Scope in which this resource is defined.
|
|
1307
1375
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1308
1376
|
:param user_name: The name of the IAM user that the new key will belong to. This parameter allows (through its `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-
|
|
@@ -1347,6 +1415,12 @@ class CfnAccessKey(
|
|
|
1347
1415
|
'''The CloudFormation resource type name for this resource class.'''
|
|
1348
1416
|
return typing.cast(builtins.str, jsii.sget(cls, "CFN_RESOURCE_TYPE_NAME"))
|
|
1349
1417
|
|
|
1418
|
+
@builtins.property
|
|
1419
|
+
@jsii.member(jsii_name="accessKeyRef")
|
|
1420
|
+
def access_key_ref(self) -> _AccessKeyReference_2bdfd122:
|
|
1421
|
+
'''A reference to a AccessKey resource.'''
|
|
1422
|
+
return typing.cast(_AccessKeyReference_2bdfd122, jsii.get(self, "accessKeyRef"))
|
|
1423
|
+
|
|
1350
1424
|
@builtins.property
|
|
1351
1425
|
@jsii.member(jsii_name="attrId")
|
|
1352
1426
|
def attr_id(self) -> builtins.str:
|
|
@@ -1507,7 +1581,7 @@ class CfnAccessKeyProps:
|
|
|
1507
1581
|
)
|
|
1508
1582
|
|
|
1509
1583
|
|
|
1510
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
1584
|
+
@jsii.implements(_IInspectable_c2943556, _IGroupRef_aeb1d9f6)
|
|
1511
1585
|
class CfnGroup(
|
|
1512
1586
|
_CfnResource_9df397a6,
|
|
1513
1587
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1550,7 +1624,8 @@ class CfnGroup(
|
|
|
1550
1624
|
path: typing.Optional[builtins.str] = None,
|
|
1551
1625
|
policies: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnGroup.PolicyProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
1552
1626
|
) -> None:
|
|
1553
|
-
'''
|
|
1627
|
+
'''Create a new ``AWS::IAM::Group``.
|
|
1628
|
+
|
|
1554
1629
|
:param scope: Scope in which this resource is defined.
|
|
1555
1630
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1556
1631
|
:param group_name: The name of the group to create. Do not include the path in this value. The group name must be unique within the account. Group names are not distinguished by case. For example, you cannot create groups named both "ADMINS" and "admins". If you don't specify a name, AWS CloudFormation generates a unique physical ID and uses that ID for the group name. .. epigraph:: If you specify a name, you cannot perform updates that require replacement of this resource. You can perform updates that require no or some interruption. If you must replace the resource, specify a new name. If you specify a name, you must specify the ``CAPABILITY_NAMED_IAM`` value to acknowledge your template's capabilities. For more information, see `Acknowledging IAM Resources in AWS CloudFormation Templates <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-template.html#using-iam-capabilities>`_ . .. epigraph:: Naming an IAM resource can cause an unrecoverable error if you reuse the same template in multiple Regions. To prevent this, we recommend using ``Fn::Join`` and ``AWS::Region`` to create a Region-specific name, as in the following example: ``{"Fn::Join": ["", [{"Ref": "AWS::Region"}, {"Ref": "MyResourceName"}]]}`` .
|
|
@@ -1617,6 +1692,12 @@ class CfnGroup(
|
|
|
1617
1692
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1618
1693
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
1619
1694
|
|
|
1695
|
+
@builtins.property
|
|
1696
|
+
@jsii.member(jsii_name="groupRef")
|
|
1697
|
+
def group_ref(self) -> _GroupReference_cd6b1d81:
|
|
1698
|
+
'''A reference to a Group resource.'''
|
|
1699
|
+
return typing.cast(_GroupReference_cd6b1d81, jsii.get(self, "groupRef"))
|
|
1700
|
+
|
|
1620
1701
|
@builtins.property
|
|
1621
1702
|
@jsii.member(jsii_name="groupName")
|
|
1622
1703
|
def group_name(self) -> typing.Optional[builtins.str]:
|
|
@@ -1764,7 +1845,7 @@ class CfnGroup(
|
|
|
1764
1845
|
)
|
|
1765
1846
|
|
|
1766
1847
|
|
|
1767
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
1848
|
+
@jsii.implements(_IInspectable_c2943556, _IGroupPolicyRef_35f73c8c)
|
|
1768
1849
|
class CfnGroupPolicy(
|
|
1769
1850
|
_CfnResource_9df397a6,
|
|
1770
1851
|
metaclass=jsii.JSIIMeta,
|
|
@@ -1806,7 +1887,8 @@ class CfnGroupPolicy(
|
|
|
1806
1887
|
policy_name: builtins.str,
|
|
1807
1888
|
policy_document: typing.Any = None,
|
|
1808
1889
|
) -> None:
|
|
1809
|
-
'''
|
|
1890
|
+
'''Create a new ``AWS::IAM::GroupPolicy``.
|
|
1891
|
+
|
|
1810
1892
|
:param scope: Scope in which this resource is defined.
|
|
1811
1893
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
1812
1894
|
:param group_name: The name of the group to associate the policy with. This parameter allows (through its `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-.
|
|
@@ -1860,6 +1942,12 @@ class CfnGroupPolicy(
|
|
|
1860
1942
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
1861
1943
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
1862
1944
|
|
|
1945
|
+
@builtins.property
|
|
1946
|
+
@jsii.member(jsii_name="groupPolicyRef")
|
|
1947
|
+
def group_policy_ref(self) -> _GroupPolicyReference_d179b98e:
|
|
1948
|
+
'''A reference to a GroupPolicy resource.'''
|
|
1949
|
+
return typing.cast(_GroupPolicyReference_d179b98e, jsii.get(self, "groupPolicyRef"))
|
|
1950
|
+
|
|
1863
1951
|
@builtins.property
|
|
1864
1952
|
@jsii.member(jsii_name="groupName")
|
|
1865
1953
|
def group_name(self) -> builtins.str:
|
|
@@ -2143,7 +2231,7 @@ class CfnGroupProps:
|
|
|
2143
2231
|
)
|
|
2144
2232
|
|
|
2145
2233
|
|
|
2146
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
2234
|
+
@jsii.implements(_IInspectable_c2943556, _IInstanceProfileRef_d6832c90)
|
|
2147
2235
|
class CfnInstanceProfile(
|
|
2148
2236
|
_CfnResource_9df397a6,
|
|
2149
2237
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2181,7 +2269,8 @@ class CfnInstanceProfile(
|
|
|
2181
2269
|
instance_profile_name: typing.Optional[builtins.str] = None,
|
|
2182
2270
|
path: typing.Optional[builtins.str] = None,
|
|
2183
2271
|
) -> None:
|
|
2184
|
-
'''
|
|
2272
|
+
'''Create a new ``AWS::IAM::InstanceProfile``.
|
|
2273
|
+
|
|
2185
2274
|
:param scope: Scope in which this resource is defined.
|
|
2186
2275
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2187
2276
|
:param roles: The name of the role to associate with the instance profile. Only one role can be assigned to an EC2 instance at a time, and all applications on the instance share the same role and permissions.
|
|
@@ -2246,6 +2335,12 @@ class CfnInstanceProfile(
|
|
|
2246
2335
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2247
2336
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
2248
2337
|
|
|
2338
|
+
@builtins.property
|
|
2339
|
+
@jsii.member(jsii_name="instanceProfileRef")
|
|
2340
|
+
def instance_profile_ref(self) -> _InstanceProfileReference_5eee4bbb:
|
|
2341
|
+
'''A reference to a InstanceProfile resource.'''
|
|
2342
|
+
return typing.cast(_InstanceProfileReference_5eee4bbb, jsii.get(self, "instanceProfileRef"))
|
|
2343
|
+
|
|
2249
2344
|
@builtins.property
|
|
2250
2345
|
@jsii.member(jsii_name="roles")
|
|
2251
2346
|
def roles(self) -> typing.List[builtins.str]:
|
|
@@ -2389,7 +2484,7 @@ class CfnInstanceProfileProps:
|
|
|
2389
2484
|
)
|
|
2390
2485
|
|
|
2391
2486
|
|
|
2392
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
2487
|
+
@jsii.implements(_IInspectable_c2943556, _IManagedPolicyRef_a7a65687)
|
|
2393
2488
|
class CfnManagedPolicy(
|
|
2394
2489
|
_CfnResource_9df397a6,
|
|
2395
2490
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2441,7 +2536,8 @@ class CfnManagedPolicy(
|
|
|
2441
2536
|
roles: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2442
2537
|
users: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2443
2538
|
) -> None:
|
|
2444
|
-
'''
|
|
2539
|
+
'''Create a new ``AWS::IAM::ManagedPolicy``.
|
|
2540
|
+
|
|
2445
2541
|
:param scope: Scope in which this resource is defined.
|
|
2446
2542
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2447
2543
|
:param policy_document: The JSON policy document that you want to use as the content for the new policy. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The maximum length of the policy document that you can pass in this operation, including whitespace, is listed below. To view the maximum character counts of a managed policy with no whitespaces, see `IAM and AWS STS character quotas <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_iam-quotas.html#reference_iam-quotas-entity-length>`_ . To learn more about JSON policy grammar, see `Grammar of the IAM JSON policy language <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_grammar.html>`_ in the *IAM User Guide* . The `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ used to validate this parameter is a string of characters consisting of the following: - Any printable ASCII character ranging from the space character ( ``\\u0020`` ) through the end of the ASCII character range - The printable characters in the Basic Latin and Latin-1 Supplement character set (through ``\\u00FF`` ) - The special characters tab ( ``\\u0009`` ), line feed ( ``\\u000A`` ), and carriage return ( ``\\u000D`` )
|
|
@@ -2585,6 +2681,12 @@ class CfnManagedPolicy(
|
|
|
2585
2681
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
2586
2682
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
2587
2683
|
|
|
2684
|
+
@builtins.property
|
|
2685
|
+
@jsii.member(jsii_name="managedPolicyRef")
|
|
2686
|
+
def managed_policy_ref(self) -> _ManagedPolicyReference_078bf7cb:
|
|
2687
|
+
'''A reference to a ManagedPolicy resource.'''
|
|
2688
|
+
return typing.cast(_ManagedPolicyReference_078bf7cb, jsii.get(self, "managedPolicyRef"))
|
|
2689
|
+
|
|
2588
2690
|
@builtins.property
|
|
2589
2691
|
@jsii.member(jsii_name="policyDocument")
|
|
2590
2692
|
def policy_document(self) -> typing.Any:
|
|
@@ -2881,7 +2983,7 @@ class CfnManagedPolicyProps:
|
|
|
2881
2983
|
)
|
|
2882
2984
|
|
|
2883
2985
|
|
|
2884
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
2986
|
+
@jsii.implements(_IInspectable_c2943556, _IOIDCProviderRef_a866c7c8, _ITaggable_36806126)
|
|
2885
2987
|
class CfnOIDCProvider(
|
|
2886
2988
|
_CfnResource_9df397a6,
|
|
2887
2989
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2942,7 +3044,8 @@ class CfnOIDCProvider(
|
|
|
2942
3044
|
thumbprint_list: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2943
3045
|
url: typing.Optional[builtins.str] = None,
|
|
2944
3046
|
) -> None:
|
|
2945
|
-
'''
|
|
3047
|
+
'''Create a new ``AWS::IAM::OIDCProvider``.
|
|
3048
|
+
|
|
2946
3049
|
:param scope: Scope in which this resource is defined.
|
|
2947
3050
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
2948
3051
|
:param client_id_list: A list of client IDs (also known as audiences) that are associated with the specified IAM OIDC provider resource object. For more information, see `CreateOpenIDConnectProvider <https://docs.aws.amazon.com/IAM/latest/APIReference/API_CreateOpenIDConnectProvider.html>`_ .
|
|
@@ -3007,6 +3110,12 @@ class CfnOIDCProvider(
|
|
|
3007
3110
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3008
3111
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3009
3112
|
|
|
3113
|
+
@builtins.property
|
|
3114
|
+
@jsii.member(jsii_name="oidcProviderRef")
|
|
3115
|
+
def oidc_provider_ref(self) -> _OIDCProviderReference_9a12fabd:
|
|
3116
|
+
'''A reference to a OIDCProvider resource.'''
|
|
3117
|
+
return typing.cast(_OIDCProviderReference_9a12fabd, jsii.get(self, "oidcProviderRef"))
|
|
3118
|
+
|
|
3010
3119
|
@builtins.property
|
|
3011
3120
|
@jsii.member(jsii_name="tags")
|
|
3012
3121
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -3188,7 +3297,7 @@ class CfnOIDCProviderProps:
|
|
|
3188
3297
|
)
|
|
3189
3298
|
|
|
3190
3299
|
|
|
3191
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
3300
|
+
@jsii.implements(_IInspectable_c2943556, _IPolicyRef_5e74a0ba)
|
|
3192
3301
|
class CfnPolicy(
|
|
3193
3302
|
_CfnResource_9df397a6,
|
|
3194
3303
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3200,7 +3309,7 @@ class CfnPolicy(
|
|
|
3200
3309
|
|
|
3201
3310
|
The Groups, Roles, and Users properties are optional. However, you must specify at least one of these properties.
|
|
3202
3311
|
|
|
3203
|
-
For information about policy documents see `Creating IAM policies <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html>`_ in the *IAM User Guide* .
|
|
3312
|
+
For information about policy documents, see `Creating IAM policies <https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_create.html>`_ in the *IAM User Guide* .
|
|
3204
3313
|
|
|
3205
3314
|
For information about limits on the number of inline policies that you can embed in an identity, see `Limitations on IAM Entities <https://docs.aws.amazon.com/IAM/latest/UserGuide/LimitationsOnEntities.html>`_ in the *IAM User Guide* .
|
|
3206
3315
|
.. epigraph::
|
|
@@ -3245,7 +3354,8 @@ class CfnPolicy(
|
|
|
3245
3354
|
roles: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3246
3355
|
users: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
3247
3356
|
) -> None:
|
|
3248
|
-
'''
|
|
3357
|
+
'''Create a new ``AWS::IAM::Policy``.
|
|
3358
|
+
|
|
3249
3359
|
:param scope: Scope in which this resource is defined.
|
|
3250
3360
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3251
3361
|
:param policy_document: The policy document. You must provide policies in JSON format in IAM. However, for AWS CloudFormation templates formatted in YAML, you can provide the policy in JSON or YAML format. AWS CloudFormation always converts a YAML policy to JSON format before submitting it to IAM. The `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ used to validate this parameter is a string of characters consisting of the following: - Any printable ASCII character ranging from the space character ( ``\\u0020`` ) through the end of the ASCII character range - The printable characters in the Basic Latin and Latin-1 Supplement character set (through ``\\u00FF`` ) - The special characters tab ( ``\\u0009`` ), line feed ( ``\\u000A`` ), and carriage return ( ``\\u000D`` )
|
|
@@ -3314,6 +3424,12 @@ class CfnPolicy(
|
|
|
3314
3424
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3315
3425
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3316
3426
|
|
|
3427
|
+
@builtins.property
|
|
3428
|
+
@jsii.member(jsii_name="policyRef")
|
|
3429
|
+
def policy_ref(self) -> _PolicyReference_b83371a5:
|
|
3430
|
+
'''A reference to a Policy resource.'''
|
|
3431
|
+
return typing.cast(_PolicyReference_b83371a5, jsii.get(self, "policyRef"))
|
|
3432
|
+
|
|
3317
3433
|
@builtins.property
|
|
3318
3434
|
@jsii.member(jsii_name="policyDocument")
|
|
3319
3435
|
def policy_document(self) -> typing.Any:
|
|
@@ -3526,7 +3642,7 @@ class CfnPolicyProps:
|
|
|
3526
3642
|
)
|
|
3527
3643
|
|
|
3528
3644
|
|
|
3529
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
3645
|
+
@jsii.implements(_IInspectable_c2943556, _IRoleRef_8400221f, _ITaggable_36806126)
|
|
3530
3646
|
class CfnRole(
|
|
3531
3647
|
_CfnResource_9df397a6,
|
|
3532
3648
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3585,7 +3701,8 @@ class CfnRole(
|
|
|
3585
3701
|
role_name: typing.Optional[builtins.str] = None,
|
|
3586
3702
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
3587
3703
|
) -> None:
|
|
3588
|
-
'''
|
|
3704
|
+
'''Create a new ``AWS::IAM::Role``.
|
|
3705
|
+
|
|
3589
3706
|
:param scope: Scope in which this resource is defined.
|
|
3590
3707
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3591
3708
|
:param assume_role_policy_document: The trust policy that is associated with this role. Trust policies define which entities can assume the role. You can associate only one trust policy with a role. For an example of a policy that can be used to assume a role, see `Template Examples <https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-iam-role.html#aws-resource-iam-role--examples>`_ . For more information about the elements that you can use in an IAM policy, see `IAM Policy Elements Reference <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements.html>`_ in the *IAM User Guide* .
|
|
@@ -3675,6 +3792,12 @@ class CfnRole(
|
|
|
3675
3792
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3676
3793
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3677
3794
|
|
|
3795
|
+
@builtins.property
|
|
3796
|
+
@jsii.member(jsii_name="roleRef")
|
|
3797
|
+
def role_ref(self) -> _RoleReference_447077bb:
|
|
3798
|
+
'''A reference to a Role resource.'''
|
|
3799
|
+
return typing.cast(_RoleReference_447077bb, jsii.get(self, "roleRef"))
|
|
3800
|
+
|
|
3678
3801
|
@builtins.property
|
|
3679
3802
|
@jsii.member(jsii_name="tags")
|
|
3680
3803
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -3892,7 +4015,7 @@ class CfnRole(
|
|
|
3892
4015
|
)
|
|
3893
4016
|
|
|
3894
4017
|
|
|
3895
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
4018
|
+
@jsii.implements(_IInspectable_c2943556, _IRolePolicyRef_26b13525)
|
|
3896
4019
|
class CfnRolePolicy(
|
|
3897
4020
|
_CfnResource_9df397a6,
|
|
3898
4021
|
metaclass=jsii.JSIIMeta,
|
|
@@ -3936,7 +4059,8 @@ class CfnRolePolicy(
|
|
|
3936
4059
|
role_name: builtins.str,
|
|
3937
4060
|
policy_document: typing.Any = None,
|
|
3938
4061
|
) -> None:
|
|
3939
|
-
'''
|
|
4062
|
+
'''Create a new ``AWS::IAM::RolePolicy``.
|
|
4063
|
+
|
|
3940
4064
|
:param scope: Scope in which this resource is defined.
|
|
3941
4065
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
3942
4066
|
:param policy_name: The name of the policy document. This parameter allows (through its `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-
|
|
@@ -3990,6 +4114,12 @@ class CfnRolePolicy(
|
|
|
3990
4114
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
3991
4115
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
3992
4116
|
|
|
4117
|
+
@builtins.property
|
|
4118
|
+
@jsii.member(jsii_name="rolePolicyRef")
|
|
4119
|
+
def role_policy_ref(self) -> _RolePolicyReference_0cf19357:
|
|
4120
|
+
'''A reference to a RolePolicy resource.'''
|
|
4121
|
+
return typing.cast(_RolePolicyReference_0cf19357, jsii.get(self, "rolePolicyRef"))
|
|
4122
|
+
|
|
3993
4123
|
@builtins.property
|
|
3994
4124
|
@jsii.member(jsii_name="policyName")
|
|
3995
4125
|
def policy_name(self) -> builtins.str:
|
|
@@ -4375,7 +4505,7 @@ class CfnRoleProps:
|
|
|
4375
4505
|
)
|
|
4376
4506
|
|
|
4377
4507
|
|
|
4378
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
4508
|
+
@jsii.implements(_IInspectable_c2943556, _ISAMLProviderRef_6e369856, _ITaggable_36806126)
|
|
4379
4509
|
class CfnSAMLProvider(
|
|
4380
4510
|
_CfnResource_9df397a6,
|
|
4381
4511
|
metaclass=jsii.JSIIMeta,
|
|
@@ -4432,7 +4562,8 @@ class CfnSAMLProvider(
|
|
|
4432
4562
|
saml_metadata_document: typing.Optional[builtins.str] = None,
|
|
4433
4563
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4434
4564
|
) -> None:
|
|
4435
|
-
'''
|
|
4565
|
+
'''Create a new ``AWS::IAM::SAMLProvider``.
|
|
4566
|
+
|
|
4436
4567
|
:param scope: Scope in which this resource is defined.
|
|
4437
4568
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
4438
4569
|
:param add_private_key: Specifies the new private key from your external identity provider. The private key must be a .pem file that uses AES-GCM or AES-CBC encryption algorithm to decrypt SAML assertions.
|
|
@@ -4512,6 +4643,12 @@ class CfnSAMLProvider(
|
|
|
4512
4643
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
4513
4644
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
4514
4645
|
|
|
4646
|
+
@builtins.property
|
|
4647
|
+
@jsii.member(jsii_name="samlProviderRef")
|
|
4648
|
+
def saml_provider_ref(self) -> _SAMLProviderReference_08e1fac1:
|
|
4649
|
+
'''A reference to a SAMLProvider resource.'''
|
|
4650
|
+
return typing.cast(_SAMLProviderReference_08e1fac1, jsii.get(self, "samlProviderRef"))
|
|
4651
|
+
|
|
4515
4652
|
@builtins.property
|
|
4516
4653
|
@jsii.member(jsii_name="tags")
|
|
4517
4654
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -4856,7 +4993,7 @@ class CfnSAMLProviderProps:
|
|
|
4856
4993
|
)
|
|
4857
4994
|
|
|
4858
4995
|
|
|
4859
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
4996
|
+
@jsii.implements(_IInspectable_c2943556, _IServerCertificateRef_005ddfcc, _ITaggable_36806126)
|
|
4860
4997
|
class CfnServerCertificate(
|
|
4861
4998
|
_CfnResource_9df397a6,
|
|
4862
4999
|
metaclass=jsii.JSIIMeta,
|
|
@@ -4866,7 +5003,7 @@ class CfnServerCertificate(
|
|
|
4866
5003
|
|
|
4867
5004
|
The server certificate entity includes a public key certificate, a private key, and an optional certificate chain, which should all be PEM-encoded.
|
|
4868
5005
|
|
|
4869
|
-
We recommend that you use `
|
|
5006
|
+
We recommend that you use `Certificate Manager <https://docs.aws.amazon.com/acm/>`_ to provision, manage, and deploy your server certificates. With ACM you can request a certificate, deploy it to AWS resources, and let ACM handle certificate renewals for you. Certificates provided by ACM are free. For more information about using ACM, see the `Certificate Manager User Guide <https://docs.aws.amazon.com/acm/latest/userguide/>`_ .
|
|
4870
5007
|
|
|
4871
5008
|
For more information about working with server certificates, see `Working with server certificates <https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_server-certs.html>`_ in the *IAM User Guide* . This topic includes a list of AWS services that can use the server certificates that you manage with IAM.
|
|
4872
5009
|
|
|
@@ -4910,7 +5047,8 @@ class CfnServerCertificate(
|
|
|
4910
5047
|
server_certificate_name: typing.Optional[builtins.str] = None,
|
|
4911
5048
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
4912
5049
|
) -> None:
|
|
4913
|
-
'''
|
|
5050
|
+
'''Create a new ``AWS::IAM::ServerCertificate``.
|
|
5051
|
+
|
|
4914
5052
|
:param scope: Scope in which this resource is defined.
|
|
4915
5053
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
4916
5054
|
:param certificate_body: The contents of the public key certificate.
|
|
@@ -4979,6 +5117,12 @@ class CfnServerCertificate(
|
|
|
4979
5117
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
4980
5118
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
4981
5119
|
|
|
5120
|
+
@builtins.property
|
|
5121
|
+
@jsii.member(jsii_name="serverCertificateRef")
|
|
5122
|
+
def server_certificate_ref(self) -> _ServerCertificateReference_0e96ef93:
|
|
5123
|
+
'''A reference to a ServerCertificate resource.'''
|
|
5124
|
+
return typing.cast(_ServerCertificateReference_0e96ef93, jsii.get(self, "serverCertificateRef"))
|
|
5125
|
+
|
|
4982
5126
|
@builtins.property
|
|
4983
5127
|
@jsii.member(jsii_name="tags")
|
|
4984
5128
|
def tags(self) -> _TagManager_0a598cb3:
|
|
@@ -5224,7 +5368,7 @@ class CfnServerCertificateProps:
|
|
|
5224
5368
|
)
|
|
5225
5369
|
|
|
5226
5370
|
|
|
5227
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
5371
|
+
@jsii.implements(_IInspectable_c2943556, _IServiceLinkedRoleRef_ba92e11b)
|
|
5228
5372
|
class CfnServiceLinkedRole(
|
|
5229
5373
|
_CfnResource_9df397a6,
|
|
5230
5374
|
metaclass=jsii.JSIIMeta,
|
|
@@ -5256,7 +5400,8 @@ class CfnServiceLinkedRole(
|
|
|
5256
5400
|
custom_suffix: typing.Optional[builtins.str] = None,
|
|
5257
5401
|
description: typing.Optional[builtins.str] = None,
|
|
5258
5402
|
) -> None:
|
|
5259
|
-
'''
|
|
5403
|
+
'''Create a new ``AWS::IAM::ServiceLinkedRole``.
|
|
5404
|
+
|
|
5260
5405
|
:param scope: Scope in which this resource is defined.
|
|
5261
5406
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
5262
5407
|
:param aws_service_name: The service principal for the AWS service to which this role is attached. You use a string similar to a URL but without the http:// in front. For example: ``elasticbeanstalk.amazonaws.com`` . Service principals are unique and case-sensitive. To find the exact service principal for your service-linked role, see `AWS services that work with IAM <https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_aws-services-that-work-with-iam.html>`_ in the *IAM User Guide* . Look for the services that have *Yes* in the *Service-Linked Role* column. Choose the *Yes* link to view the service-linked role documentation for that service.
|
|
@@ -5321,6 +5466,12 @@ class CfnServiceLinkedRole(
|
|
|
5321
5466
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
5322
5467
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
5323
5468
|
|
|
5469
|
+
@builtins.property
|
|
5470
|
+
@jsii.member(jsii_name="serviceLinkedRoleRef")
|
|
5471
|
+
def service_linked_role_ref(self) -> _ServiceLinkedRoleReference_863fd3da:
|
|
5472
|
+
'''A reference to a ServiceLinkedRole resource.'''
|
|
5473
|
+
return typing.cast(_ServiceLinkedRoleReference_863fd3da, jsii.get(self, "serviceLinkedRoleRef"))
|
|
5474
|
+
|
|
5324
5475
|
@builtins.property
|
|
5325
5476
|
@jsii.member(jsii_name="awsServiceName")
|
|
5326
5477
|
def aws_service_name(self) -> typing.Optional[builtins.str]:
|
|
@@ -5453,7 +5604,7 @@ class CfnServiceLinkedRoleProps:
|
|
|
5453
5604
|
)
|
|
5454
5605
|
|
|
5455
5606
|
|
|
5456
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
5607
|
+
@jsii.implements(_IInspectable_c2943556, _IUserRef_b0ccca76, _ITaggable_36806126)
|
|
5457
5608
|
class CfnUser(
|
|
5458
5609
|
_CfnResource_9df397a6,
|
|
5459
5610
|
metaclass=jsii.JSIIMeta,
|
|
@@ -5512,7 +5663,8 @@ class CfnUser(
|
|
|
5512
5663
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5513
5664
|
user_name: typing.Optional[builtins.str] = None,
|
|
5514
5665
|
) -> None:
|
|
5515
|
-
'''
|
|
5666
|
+
'''Create a new ``AWS::IAM::User``.
|
|
5667
|
+
|
|
5516
5668
|
:param scope: Scope in which this resource is defined.
|
|
5517
5669
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
5518
5670
|
:param groups: A list of group names to which you want to add the user.
|
|
@@ -5593,6 +5745,12 @@ class CfnUser(
|
|
|
5593
5745
|
'''Tag Manager which manages the tags for this resource.'''
|
|
5594
5746
|
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
|
|
5595
5747
|
|
|
5748
|
+
@builtins.property
|
|
5749
|
+
@jsii.member(jsii_name="userRef")
|
|
5750
|
+
def user_ref(self) -> _UserReference_6bf884c6:
|
|
5751
|
+
'''A reference to a User resource.'''
|
|
5752
|
+
return typing.cast(_UserReference_6bf884c6, jsii.get(self, "userRef"))
|
|
5753
|
+
|
|
5596
5754
|
@builtins.property
|
|
5597
5755
|
@jsii.member(jsii_name="groups")
|
|
5598
5756
|
def groups(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
@@ -5876,7 +6034,7 @@ class CfnUser(
|
|
|
5876
6034
|
)
|
|
5877
6035
|
|
|
5878
6036
|
|
|
5879
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
6037
|
+
@jsii.implements(_IInspectable_c2943556, _IUserPolicyRef_e6abac3e)
|
|
5880
6038
|
class CfnUserPolicy(
|
|
5881
6039
|
_CfnResource_9df397a6,
|
|
5882
6040
|
metaclass=jsii.JSIIMeta,
|
|
@@ -5918,7 +6076,8 @@ class CfnUserPolicy(
|
|
|
5918
6076
|
user_name: builtins.str,
|
|
5919
6077
|
policy_document: typing.Any = None,
|
|
5920
6078
|
) -> None:
|
|
5921
|
-
'''
|
|
6079
|
+
'''Create a new ``AWS::IAM::UserPolicy``.
|
|
6080
|
+
|
|
5922
6081
|
:param scope: Scope in which this resource is defined.
|
|
5923
6082
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
5924
6083
|
:param policy_name: The name of the policy document. This parameter allows (through its `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-
|
|
@@ -5972,6 +6131,12 @@ class CfnUserPolicy(
|
|
|
5972
6131
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
5973
6132
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
5974
6133
|
|
|
6134
|
+
@builtins.property
|
|
6135
|
+
@jsii.member(jsii_name="userPolicyRef")
|
|
6136
|
+
def user_policy_ref(self) -> _UserPolicyReference_4aa6daa0:
|
|
6137
|
+
'''A reference to a UserPolicy resource.'''
|
|
6138
|
+
return typing.cast(_UserPolicyReference_4aa6daa0, jsii.get(self, "userPolicyRef"))
|
|
6139
|
+
|
|
5975
6140
|
@builtins.property
|
|
5976
6141
|
@jsii.member(jsii_name="policyName")
|
|
5977
6142
|
def policy_name(self) -> builtins.str:
|
|
@@ -6345,7 +6510,7 @@ class CfnUserProps:
|
|
|
6345
6510
|
)
|
|
6346
6511
|
|
|
6347
6512
|
|
|
6348
|
-
@jsii.implements(_IInspectable_c2943556)
|
|
6513
|
+
@jsii.implements(_IInspectable_c2943556, _IUserToGroupAdditionRef_e1276f9a)
|
|
6349
6514
|
class CfnUserToGroupAddition(
|
|
6350
6515
|
_CfnResource_9df397a6,
|
|
6351
6516
|
metaclass=jsii.JSIIMeta,
|
|
@@ -6377,7 +6542,8 @@ class CfnUserToGroupAddition(
|
|
|
6377
6542
|
group_name: builtins.str,
|
|
6378
6543
|
users: typing.Sequence[builtins.str],
|
|
6379
6544
|
) -> None:
|
|
6380
|
-
'''
|
|
6545
|
+
'''Create a new ``AWS::IAM::UserToGroupAddition``.
|
|
6546
|
+
|
|
6381
6547
|
:param scope: Scope in which this resource is defined.
|
|
6382
6548
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
6383
6549
|
:param group_name: The name of the group to update. This parameter allows (through its `regex pattern <https://docs.aws.amazon.com/http://wikipedia.org/wiki/regex>`_ ) a string of characters consisting of upper and lowercase alphanumeric characters with no spaces. You can also include any of the following characters: _+=,.@-
|
|
@@ -6437,6 +6603,12 @@ class CfnUserToGroupAddition(
|
|
|
6437
6603
|
def _cfn_properties(self) -> typing.Mapping[builtins.str, typing.Any]:
|
|
6438
6604
|
return typing.cast(typing.Mapping[builtins.str, typing.Any], jsii.get(self, "cfnProperties"))
|
|
6439
6605
|
|
|
6606
|
+
@builtins.property
|
|
6607
|
+
@jsii.member(jsii_name="userToGroupAdditionRef")
|
|
6608
|
+
def user_to_group_addition_ref(self) -> _UserToGroupAdditionReference_94731a73:
|
|
6609
|
+
'''A reference to a UserToGroupAddition resource.'''
|
|
6610
|
+
return typing.cast(_UserToGroupAdditionReference_94731a73, jsii.get(self, "userToGroupAdditionRef"))
|
|
6611
|
+
|
|
6440
6612
|
@builtins.property
|
|
6441
6613
|
@jsii.member(jsii_name="groupName")
|
|
6442
6614
|
def group_name(self) -> builtins.str:
|
|
@@ -6538,7 +6710,7 @@ class CfnUserToGroupAdditionProps:
|
|
|
6538
6710
|
)
|
|
6539
6711
|
|
|
6540
6712
|
|
|
6541
|
-
@jsii.implements(_IInspectable_c2943556, _ITaggable_36806126)
|
|
6713
|
+
@jsii.implements(_IInspectable_c2943556, _IVirtualMFADeviceRef_fec1f13e, _ITaggable_36806126)
|
|
6542
6714
|
class CfnVirtualMFADevice(
|
|
6543
6715
|
_CfnResource_9df397a6,
|
|
6544
6716
|
metaclass=jsii.JSIIMeta,
|
|
@@ -6586,7 +6758,8 @@ class CfnVirtualMFADevice(
|
|
|
6586
6758
|
tags: typing.Optional[typing.Sequence[typing.Union[_CfnTag_f6864754, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6587
6759
|
virtual_mfa_device_name: typing.Optional[builtins.str] = None,
|
|
6588
6760
|
) -> None:
|
|
6589
|
-
'''
|
|
6761
|
+
'''Create a new ``AWS::IAM::VirtualMFADevice``.
|
|
6762
|
+
|
|
6590
6763
|
:param scope: Scope in which this resource is defined.
|
|
6591
6764
|
:param id: Construct identifier for this resource (unique in its scope).
|
|
6592
6765
|
:param users: The IAM user associated with this virtual MFA device.
|
|
@@ -6657,6 +6830,12 @@ class CfnVirtualMFADevice(
|
|
|
6657
6830
|
'''Tag Manager which manages the tags for this resource.'''
|
|
6658
6831
|
return typing.cast(_TagManager_0a598cb3, jsii.get(self, "tags"))
|
|
6659
6832
|
|
|
6833
|
+
@builtins.property
|
|
6834
|
+
@jsii.member(jsii_name="virtualMfaDeviceRef")
|
|
6835
|
+
def virtual_mfa_device_ref(self) -> _VirtualMFADeviceReference_dd7d7c2b:
|
|
6836
|
+
'''A reference to a VirtualMFADevice resource.'''
|
|
6837
|
+
return typing.cast(_VirtualMFADeviceReference_dd7d7c2b, jsii.get(self, "virtualMfaDeviceRef"))
|
|
6838
|
+
|
|
6660
6839
|
@builtins.property
|
|
6661
6840
|
@jsii.member(jsii_name="users")
|
|
6662
6841
|
def users(self) -> typing.List[builtins.str]:
|
|
@@ -7392,7 +7571,7 @@ class Grant(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_iam.Grant"):
|
|
|
7392
7571
|
cls,
|
|
7393
7572
|
*,
|
|
7394
7573
|
statement: "PolicyStatement",
|
|
7395
|
-
resource: "
|
|
7574
|
+
resource: "IResourceWithPolicyV2",
|
|
7396
7575
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7397
7576
|
actions: typing.Sequence[builtins.str],
|
|
7398
7577
|
grantee: "IGrantable",
|
|
@@ -7419,7 +7598,7 @@ class Grant(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_iam.Grant"):
|
|
|
7419
7598
|
from the provided statement, depending on the resource's implementation of
|
|
7420
7599
|
addToResourcePolicy.
|
|
7421
7600
|
|
|
7422
|
-
:param statement: The policy statement to add to the resource's policy. This statement will be passed to the resource's addToResourcePolicy method. The actual handling of the statement depends on the specific
|
|
7601
|
+
:param statement: The policy statement to add to the resource's policy. This statement will be passed to the resource's addToResourcePolicy method. The actual handling of the statement depends on the specific IResourceWithPolicyV2 implementation.
|
|
7423
7602
|
:param resource: The resource with a resource policy. The statement will be added to the resource policy if it couldn't be added to the principal policy.
|
|
7424
7603
|
:param resource_self_arns: When referring to the resource in a resource policy, use this as ARN. (Depending on the resource type, this needs to be '*' in a resource policy). Default: Same as regular resource ARNs
|
|
7425
7604
|
:param actions: The actions to grant.
|
|
@@ -7483,7 +7662,7 @@ class Grant(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_iam.Grant"):
|
|
|
7483
7662
|
Absence of a principal leads to a warning, but failing to add
|
|
7484
7663
|
the permissions to a present principal is not an error.
|
|
7485
7664
|
|
|
7486
|
-
:param scope: Construct to report warnings on in case grant could not be registered. Default: - the construct in which this construct is defined
|
|
7665
|
+
:param scope: (deprecated) Construct to report warnings on in case grant could not be registered. Default: - the construct in which this construct is defined
|
|
7487
7666
|
:param actions: The actions to grant.
|
|
7488
7667
|
:param grantee: The principal to grant to. Default: if principal is undefined, no work is done.
|
|
7489
7668
|
:param resource_arns: The resource ARNs to grant to.
|
|
@@ -7504,7 +7683,7 @@ class Grant(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_iam.Grant"):
|
|
|
7504
7683
|
def add_to_principal_and_resource(
|
|
7505
7684
|
cls,
|
|
7506
7685
|
*,
|
|
7507
|
-
resource: "
|
|
7686
|
+
resource: "IResourceWithPolicyV2",
|
|
7508
7687
|
resource_policy_principal: typing.Optional["IPrincipal"] = None,
|
|
7509
7688
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7510
7689
|
actions: typing.Sequence[builtins.str],
|
|
@@ -7545,7 +7724,7 @@ class Grant(metaclass=jsii.JSIIMeta, jsii_type="aws-cdk-lib.aws_iam.Grant"):
|
|
|
7545
7724
|
def add_to_principal_or_resource(
|
|
7546
7725
|
cls,
|
|
7547
7726
|
*,
|
|
7548
|
-
resource: "
|
|
7727
|
+
resource: "IResourceWithPolicyV2",
|
|
7549
7728
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7550
7729
|
actions: typing.Sequence[builtins.str],
|
|
7551
7730
|
grantee: "IGrantable",
|
|
@@ -7691,7 +7870,7 @@ class GrantOnPrincipalAndResourceOptions(CommonGrantOptions):
|
|
|
7691
7870
|
grantee: "IGrantable",
|
|
7692
7871
|
resource_arns: typing.Sequence[builtins.str],
|
|
7693
7872
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]] = None,
|
|
7694
|
-
resource: "
|
|
7873
|
+
resource: "IResourceWithPolicyV2",
|
|
7695
7874
|
resource_policy_principal: typing.Optional["IPrincipal"] = None,
|
|
7696
7875
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7697
7876
|
) -> None:
|
|
@@ -7716,12 +7895,12 @@ class GrantOnPrincipalAndResourceOptions(CommonGrantOptions):
|
|
|
7716
7895
|
# conditions: Any
|
|
7717
7896
|
# grantable: iam.IGrantable
|
|
7718
7897
|
# principal: iam.IPrincipal
|
|
7719
|
-
#
|
|
7898
|
+
# resource_with_policy_v2: iam.IResourceWithPolicyV2
|
|
7720
7899
|
|
|
7721
7900
|
grant_on_principal_and_resource_options = iam.GrantOnPrincipalAndResourceOptions(
|
|
7722
7901
|
actions=["actions"],
|
|
7723
7902
|
grantee=grantable,
|
|
7724
|
-
resource=
|
|
7903
|
+
resource=resource_with_policy_v2,
|
|
7725
7904
|
resource_arns=["resourceArns"],
|
|
7726
7905
|
|
|
7727
7906
|
# the properties below are optional
|
|
@@ -7792,14 +7971,14 @@ class GrantOnPrincipalAndResourceOptions(CommonGrantOptions):
|
|
|
7792
7971
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]], result)
|
|
7793
7972
|
|
|
7794
7973
|
@builtins.property
|
|
7795
|
-
def resource(self) -> "
|
|
7974
|
+
def resource(self) -> "IResourceWithPolicyV2":
|
|
7796
7975
|
'''The resource with a resource policy.
|
|
7797
7976
|
|
|
7798
7977
|
The statement will always be added to the resource policy.
|
|
7799
7978
|
'''
|
|
7800
7979
|
result = self._values.get("resource")
|
|
7801
7980
|
assert result is not None, "Required property 'resource' is missing"
|
|
7802
|
-
return typing.cast("
|
|
7981
|
+
return typing.cast("IResourceWithPolicyV2", result)
|
|
7803
7982
|
|
|
7804
7983
|
@builtins.property
|
|
7805
7984
|
def resource_policy_principal(self) -> typing.Optional["IPrincipal"]:
|
|
@@ -7860,7 +8039,7 @@ class GrantOnPrincipalOptions(CommonGrantOptions):
|
|
|
7860
8039
|
:param grantee: The principal to grant to. Default: if principal is undefined, no work is done.
|
|
7861
8040
|
:param resource_arns: The resource ARNs to grant to.
|
|
7862
8041
|
:param conditions: Any conditions to attach to the grant. Default: - No conditions
|
|
7863
|
-
:param scope: Construct to report warnings on in case grant could not be registered. Default: - the construct in which this construct is defined
|
|
8042
|
+
:param scope: (deprecated) Construct to report warnings on in case grant could not be registered. Default: - the construct in which this construct is defined
|
|
7864
8043
|
|
|
7865
8044
|
:exampleMetadata: fixture=_generated
|
|
7866
8045
|
|
|
@@ -7943,9 +8122,13 @@ class GrantOnPrincipalOptions(CommonGrantOptions):
|
|
|
7943
8122
|
|
|
7944
8123
|
@builtins.property
|
|
7945
8124
|
def scope(self) -> typing.Optional[_constructs_77d1e7e8.IConstruct]:
|
|
7946
|
-
'''Construct to report warnings on in case grant could not be registered.
|
|
8125
|
+
'''(deprecated) Construct to report warnings on in case grant could not be registered.
|
|
7947
8126
|
|
|
7948
8127
|
:default: - the construct in which this construct is defined
|
|
8128
|
+
|
|
8129
|
+
:deprecated: The scope argument is currently unused.
|
|
8130
|
+
|
|
8131
|
+
:stability: deprecated
|
|
7949
8132
|
'''
|
|
7950
8133
|
result = self._values.get("scope")
|
|
7951
8134
|
return typing.cast(typing.Optional[_constructs_77d1e7e8.IConstruct], result)
|
|
@@ -7982,7 +8165,7 @@ class GrantWithResourceOptions(CommonGrantOptions):
|
|
|
7982
8165
|
grantee: "IGrantable",
|
|
7983
8166
|
resource_arns: typing.Sequence[builtins.str],
|
|
7984
8167
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]] = None,
|
|
7985
|
-
resource: "
|
|
8168
|
+
resource: "IResourceWithPolicyV2",
|
|
7986
8169
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
7987
8170
|
) -> None:
|
|
7988
8171
|
'''Options for a grant operation.
|
|
@@ -8004,12 +8187,12 @@ class GrantWithResourceOptions(CommonGrantOptions):
|
|
|
8004
8187
|
|
|
8005
8188
|
# conditions: Any
|
|
8006
8189
|
# grantable: iam.IGrantable
|
|
8007
|
-
#
|
|
8190
|
+
# resource_with_policy_v2: iam.IResourceWithPolicyV2
|
|
8008
8191
|
|
|
8009
8192
|
grant_with_resource_options = iam.GrantWithResourceOptions(
|
|
8010
8193
|
actions=["actions"],
|
|
8011
8194
|
grantee=grantable,
|
|
8012
|
-
resource=
|
|
8195
|
+
resource=resource_with_policy_v2,
|
|
8013
8196
|
resource_arns=["resourceArns"],
|
|
8014
8197
|
|
|
8015
8198
|
# the properties below are optional
|
|
@@ -8076,7 +8259,7 @@ class GrantWithResourceOptions(CommonGrantOptions):
|
|
|
8076
8259
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]], result)
|
|
8077
8260
|
|
|
8078
8261
|
@builtins.property
|
|
8079
|
-
def resource(self) -> "
|
|
8262
|
+
def resource(self) -> "IResourceWithPolicyV2":
|
|
8080
8263
|
'''The resource with a resource policy.
|
|
8081
8264
|
|
|
8082
8265
|
The statement will be added to the resource policy if it couldn't be
|
|
@@ -8084,7 +8267,7 @@ class GrantWithResourceOptions(CommonGrantOptions):
|
|
|
8084
8267
|
'''
|
|
8085
8268
|
result = self._values.get("resource")
|
|
8086
8269
|
assert result is not None, "Required property 'resource' is missing"
|
|
8087
|
-
return typing.cast("
|
|
8270
|
+
return typing.cast("IResourceWithPolicyV2", result)
|
|
8088
8271
|
|
|
8089
8272
|
@builtins.property
|
|
8090
8273
|
def resource_self_arns(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
@@ -8217,7 +8400,11 @@ class GroupProps:
|
|
|
8217
8400
|
|
|
8218
8401
|
|
|
8219
8402
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IAccessKey")
|
|
8220
|
-
class IAccessKey(
|
|
8403
|
+
class IAccessKey(
|
|
8404
|
+
_IResource_c80c4260,
|
|
8405
|
+
_IAccessKeyRef_e97ef40a,
|
|
8406
|
+
typing_extensions.Protocol,
|
|
8407
|
+
):
|
|
8221
8408
|
'''Represents an IAM Access Key.
|
|
8222
8409
|
|
|
8223
8410
|
:see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html
|
|
@@ -8244,6 +8431,7 @@ class IAccessKey(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
8244
8431
|
|
|
8245
8432
|
class _IAccessKeyProxy(
|
|
8246
8433
|
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
8434
|
+
jsii.proxy_for(_IAccessKeyRef_e97ef40a), # type: ignore[misc]
|
|
8247
8435
|
):
|
|
8248
8436
|
'''Represents an IAM Access Key.
|
|
8249
8437
|
|
|
@@ -8301,7 +8489,11 @@ typing.cast(typing.Any, IGrantable).__jsii_proxy_class__ = lambda : _IGrantableP
|
|
|
8301
8489
|
|
|
8302
8490
|
|
|
8303
8491
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IInstanceProfile")
|
|
8304
|
-
class IInstanceProfile(
|
|
8492
|
+
class IInstanceProfile(
|
|
8493
|
+
_IResource_c80c4260,
|
|
8494
|
+
_IInstanceProfileRef_d6832c90,
|
|
8495
|
+
typing_extensions.Protocol,
|
|
8496
|
+
):
|
|
8305
8497
|
'''Represents an IAM Instance Profile.'''
|
|
8306
8498
|
|
|
8307
8499
|
@builtins.property
|
|
@@ -8331,6 +8523,7 @@ class IInstanceProfile(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
8331
8523
|
|
|
8332
8524
|
class _IInstanceProfileProxy(
|
|
8333
8525
|
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
8526
|
+
jsii.proxy_for(_IInstanceProfileRef_d6832c90), # type: ignore[misc]
|
|
8334
8527
|
):
|
|
8335
8528
|
'''Represents an IAM Instance Profile.'''
|
|
8336
8529
|
|
|
@@ -8365,7 +8558,7 @@ typing.cast(typing.Any, IInstanceProfile).__jsii_proxy_class__ = lambda : _IInst
|
|
|
8365
8558
|
|
|
8366
8559
|
|
|
8367
8560
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IManagedPolicy")
|
|
8368
|
-
class IManagedPolicy(typing_extensions.Protocol):
|
|
8561
|
+
class IManagedPolicy(_IManagedPolicyRef_a7a65687, typing_extensions.Protocol):
|
|
8369
8562
|
'''A managed policy.'''
|
|
8370
8563
|
|
|
8371
8564
|
@builtins.property
|
|
@@ -8378,7 +8571,9 @@ class IManagedPolicy(typing_extensions.Protocol):
|
|
|
8378
8571
|
...
|
|
8379
8572
|
|
|
8380
8573
|
|
|
8381
|
-
class _IManagedPolicyProxy
|
|
8574
|
+
class _IManagedPolicyProxy(
|
|
8575
|
+
jsii.proxy_for(_IManagedPolicyRef_a7a65687), # type: ignore[misc]
|
|
8576
|
+
):
|
|
8382
8577
|
'''A managed policy.'''
|
|
8383
8578
|
|
|
8384
8579
|
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_iam.IManagedPolicy"
|
|
@@ -8396,8 +8591,69 @@ class _IManagedPolicyProxy:
|
|
|
8396
8591
|
typing.cast(typing.Any, IManagedPolicy).__jsii_proxy_class__ = lambda : _IManagedPolicyProxy
|
|
8397
8592
|
|
|
8398
8593
|
|
|
8594
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IOidcProvider")
|
|
8595
|
+
class IOidcProvider(
|
|
8596
|
+
_IResource_c80c4260,
|
|
8597
|
+
_IOIDCProviderRef_a866c7c8,
|
|
8598
|
+
typing_extensions.Protocol,
|
|
8599
|
+
):
|
|
8600
|
+
'''Represents an IAM OpenID Connect provider.'''
|
|
8601
|
+
|
|
8602
|
+
@builtins.property
|
|
8603
|
+
@jsii.member(jsii_name="oidcProviderArn")
|
|
8604
|
+
def oidc_provider_arn(self) -> builtins.str:
|
|
8605
|
+
'''The Amazon Resource Name (ARN) of the IAM OpenID Connect provider.
|
|
8606
|
+
|
|
8607
|
+
:attribute: true
|
|
8608
|
+
'''
|
|
8609
|
+
...
|
|
8610
|
+
|
|
8611
|
+
@builtins.property
|
|
8612
|
+
@jsii.member(jsii_name="oidcProviderIssuer")
|
|
8613
|
+
def oidc_provider_issuer(self) -> builtins.str:
|
|
8614
|
+
'''The issuer for OIDC Provider.
|
|
8615
|
+
|
|
8616
|
+
:attribute: true
|
|
8617
|
+
'''
|
|
8618
|
+
...
|
|
8619
|
+
|
|
8620
|
+
|
|
8621
|
+
class _IOidcProviderProxy(
|
|
8622
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
8623
|
+
jsii.proxy_for(_IOIDCProviderRef_a866c7c8), # type: ignore[misc]
|
|
8624
|
+
):
|
|
8625
|
+
'''Represents an IAM OpenID Connect provider.'''
|
|
8626
|
+
|
|
8627
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_iam.IOidcProvider"
|
|
8628
|
+
|
|
8629
|
+
@builtins.property
|
|
8630
|
+
@jsii.member(jsii_name="oidcProviderArn")
|
|
8631
|
+
def oidc_provider_arn(self) -> builtins.str:
|
|
8632
|
+
'''The Amazon Resource Name (ARN) of the IAM OpenID Connect provider.
|
|
8633
|
+
|
|
8634
|
+
:attribute: true
|
|
8635
|
+
'''
|
|
8636
|
+
return typing.cast(builtins.str, jsii.get(self, "oidcProviderArn"))
|
|
8637
|
+
|
|
8638
|
+
@builtins.property
|
|
8639
|
+
@jsii.member(jsii_name="oidcProviderIssuer")
|
|
8640
|
+
def oidc_provider_issuer(self) -> builtins.str:
|
|
8641
|
+
'''The issuer for OIDC Provider.
|
|
8642
|
+
|
|
8643
|
+
:attribute: true
|
|
8644
|
+
'''
|
|
8645
|
+
return typing.cast(builtins.str, jsii.get(self, "oidcProviderIssuer"))
|
|
8646
|
+
|
|
8647
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
8648
|
+
typing.cast(typing.Any, IOidcProvider).__jsii_proxy_class__ = lambda : _IOidcProviderProxy
|
|
8649
|
+
|
|
8650
|
+
|
|
8399
8651
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IOpenIdConnectProvider")
|
|
8400
|
-
class IOpenIdConnectProvider(
|
|
8652
|
+
class IOpenIdConnectProvider(
|
|
8653
|
+
_IResource_c80c4260,
|
|
8654
|
+
_IOIDCProviderRef_a866c7c8,
|
|
8655
|
+
typing_extensions.Protocol,
|
|
8656
|
+
):
|
|
8401
8657
|
'''Represents an IAM OpenID Connect provider.'''
|
|
8402
8658
|
|
|
8403
8659
|
@builtins.property
|
|
@@ -8415,6 +8671,7 @@ class IOpenIdConnectProvider(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
8415
8671
|
|
|
8416
8672
|
class _IOpenIdConnectProviderProxy(
|
|
8417
8673
|
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
8674
|
+
jsii.proxy_for(_IOIDCProviderRef_a866c7c8), # type: ignore[misc]
|
|
8418
8675
|
):
|
|
8419
8676
|
'''Represents an IAM OpenID Connect provider.'''
|
|
8420
8677
|
|
|
@@ -8437,7 +8694,7 @@ typing.cast(typing.Any, IOpenIdConnectProvider).__jsii_proxy_class__ = lambda :
|
|
|
8437
8694
|
|
|
8438
8695
|
|
|
8439
8696
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IPolicy")
|
|
8440
|
-
class IPolicy(_IResource_c80c4260, typing_extensions.Protocol):
|
|
8697
|
+
class IPolicy(_IResource_c80c4260, _IPolicyRef_5e74a0ba, typing_extensions.Protocol):
|
|
8441
8698
|
'''Represents an IAM Policy.
|
|
8442
8699
|
|
|
8443
8700
|
:see: https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage.html
|
|
@@ -8455,6 +8712,7 @@ class IPolicy(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
8455
8712
|
|
|
8456
8713
|
class _IPolicyProxy(
|
|
8457
8714
|
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
8715
|
+
jsii.proxy_for(_IPolicyRef_5e74a0ba), # type: ignore[misc]
|
|
8458
8716
|
):
|
|
8459
8717
|
'''Represents an IAM Policy.
|
|
8460
8718
|
|
|
@@ -8595,8 +8853,8 @@ class _IPrincipalProxy(
|
|
|
8595
8853
|
typing.cast(typing.Any, IPrincipal).__jsii_proxy_class__ = lambda : _IPrincipalProxy
|
|
8596
8854
|
|
|
8597
8855
|
|
|
8598
|
-
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.
|
|
8599
|
-
class
|
|
8856
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IResourceWithPolicyV2")
|
|
8857
|
+
class IResourceWithPolicyV2(_IEnvironmentAware_f39049ee, typing_extensions.Protocol):
|
|
8600
8858
|
'''A resource with a resource policy that can be added to.'''
|
|
8601
8859
|
|
|
8602
8860
|
@jsii.member(jsii_name="addToResourcePolicy")
|
|
@@ -8611,12 +8869,12 @@ class IResourceWithPolicy(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
8611
8869
|
...
|
|
8612
8870
|
|
|
8613
8871
|
|
|
8614
|
-
class
|
|
8615
|
-
jsii.proxy_for(
|
|
8872
|
+
class _IResourceWithPolicyV2Proxy(
|
|
8873
|
+
jsii.proxy_for(_IEnvironmentAware_f39049ee), # type: ignore[misc]
|
|
8616
8874
|
):
|
|
8617
8875
|
'''A resource with a resource policy that can be added to.'''
|
|
8618
8876
|
|
|
8619
|
-
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_iam.
|
|
8877
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_iam.IResourceWithPolicyV2"
|
|
8620
8878
|
|
|
8621
8879
|
@jsii.member(jsii_name="addToResourcePolicy")
|
|
8622
8880
|
def add_to_resource_policy(
|
|
@@ -8628,16 +8886,20 @@ class _IResourceWithPolicyProxy(
|
|
|
8628
8886
|
:param statement: -
|
|
8629
8887
|
'''
|
|
8630
8888
|
if __debug__:
|
|
8631
|
-
type_hints = typing.get_type_hints(
|
|
8889
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d0411047245e16030f540e191ce067fdd2216fb84afd5f47032486efe2dddfda)
|
|
8632
8890
|
check_type(argname="argument statement", value=statement, expected_type=type_hints["statement"])
|
|
8633
8891
|
return typing.cast(AddToResourcePolicyResult, jsii.invoke(self, "addToResourcePolicy", [statement]))
|
|
8634
8892
|
|
|
8635
8893
|
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
8636
|
-
typing.cast(typing.Any,
|
|
8894
|
+
typing.cast(typing.Any, IResourceWithPolicyV2).__jsii_proxy_class__ = lambda : _IResourceWithPolicyV2Proxy
|
|
8637
8895
|
|
|
8638
8896
|
|
|
8639
8897
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.ISamlProvider")
|
|
8640
|
-
class ISamlProvider(
|
|
8898
|
+
class ISamlProvider(
|
|
8899
|
+
_IResource_c80c4260,
|
|
8900
|
+
_ISAMLProviderRef_6e369856,
|
|
8901
|
+
typing_extensions.Protocol,
|
|
8902
|
+
):
|
|
8641
8903
|
'''A SAML provider.'''
|
|
8642
8904
|
|
|
8643
8905
|
@builtins.property
|
|
@@ -8652,6 +8914,7 @@ class ISamlProvider(_IResource_c80c4260, typing_extensions.Protocol):
|
|
|
8652
8914
|
|
|
8653
8915
|
class _ISamlProviderProxy(
|
|
8654
8916
|
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
8917
|
+
jsii.proxy_for(_ISAMLProviderRef_6e369856), # type: ignore[misc]
|
|
8655
8918
|
):
|
|
8656
8919
|
'''A SAML provider.'''
|
|
8657
8920
|
|
|
@@ -8682,14 +8945,25 @@ class InstanceProfile(
|
|
|
8682
8945
|
|
|
8683
8946
|
Example::
|
|
8684
8947
|
|
|
8948
|
+
# vpc: ec2.Vpc
|
|
8949
|
+
|
|
8950
|
+
|
|
8685
8951
|
role = iam.Role(self, "Role",
|
|
8686
8952
|
assumed_by=iam.ServicePrincipal("ec2.amazonaws.com")
|
|
8687
8953
|
)
|
|
8688
|
-
|
|
8689
|
-
instance_profile = iam.InstanceProfile.from_instance_profile_attributes(self, "ImportedInstanceProfile",
|
|
8690
|
-
instance_profile_arn="arn:aws:iam::account-id:instance-profile/MyInstanceProfile",
|
|
8954
|
+
instance_profile = iam.InstanceProfile(self, "InstanceProfile",
|
|
8691
8955
|
role=role
|
|
8692
8956
|
)
|
|
8957
|
+
|
|
8958
|
+
template = ec2.LaunchTemplate(self, "LaunchTemplate",
|
|
8959
|
+
launch_template_name="MyTemplateV1",
|
|
8960
|
+
version_description="This is my v1 template",
|
|
8961
|
+
machine_image=ec2.MachineImage.latest_amazon_linux2023(),
|
|
8962
|
+
security_group=ec2.SecurityGroup(self, "LaunchTemplateSG",
|
|
8963
|
+
vpc=vpc
|
|
8964
|
+
),
|
|
8965
|
+
instance_profile=instance_profile
|
|
8966
|
+
)
|
|
8693
8967
|
'''
|
|
8694
8968
|
|
|
8695
8969
|
def __init__(
|
|
@@ -8793,6 +9067,12 @@ class InstanceProfile(
|
|
|
8793
9067
|
check_type(argname="argument instance_profile_name", value=instance_profile_name, expected_type=type_hints["instance_profile_name"])
|
|
8794
9068
|
return typing.cast(IInstanceProfile, jsii.sinvoke(cls, "fromInstanceProfileName", [scope, id, instance_profile_name]))
|
|
8795
9069
|
|
|
9070
|
+
@jsii.python.classproperty
|
|
9071
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
9072
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
9073
|
+
'''Uniquely identifies this class.'''
|
|
9074
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
9075
|
+
|
|
8796
9076
|
@builtins.property
|
|
8797
9077
|
@jsii.member(jsii_name="instanceProfileArn")
|
|
8798
9078
|
def instance_profile_arn(self) -> builtins.str:
|
|
@@ -8805,6 +9085,12 @@ class InstanceProfile(
|
|
|
8805
9085
|
'''Returns the name of this InstanceProfile.'''
|
|
8806
9086
|
return typing.cast(builtins.str, jsii.get(self, "instanceProfileName"))
|
|
8807
9087
|
|
|
9088
|
+
@builtins.property
|
|
9089
|
+
@jsii.member(jsii_name="instanceProfileRef")
|
|
9090
|
+
def instance_profile_ref(self) -> _InstanceProfileReference_5eee4bbb:
|
|
9091
|
+
'''A reference to a InstanceProfile resource.'''
|
|
9092
|
+
return typing.cast(_InstanceProfileReference_5eee4bbb, jsii.get(self, "instanceProfileRef"))
|
|
9093
|
+
|
|
8808
9094
|
@builtins.property
|
|
8809
9095
|
@jsii.member(jsii_name="role")
|
|
8810
9096
|
def role(self) -> typing.Optional["IRole"]:
|
|
@@ -8910,14 +9196,24 @@ class InstanceProfileProps:
|
|
|
8910
9196
|
|
|
8911
9197
|
Example::
|
|
8912
9198
|
|
|
9199
|
+
# vpc: ec2.Vpc
|
|
9200
|
+
|
|
9201
|
+
|
|
8913
9202
|
role = iam.Role(self, "Role",
|
|
8914
9203
|
assumed_by=iam.ServicePrincipal("ec2.amazonaws.com")
|
|
8915
9204
|
)
|
|
8916
|
-
|
|
8917
9205
|
instance_profile = iam.InstanceProfile(self, "InstanceProfile",
|
|
8918
|
-
role=role
|
|
8919
|
-
|
|
8920
|
-
|
|
9206
|
+
role=role
|
|
9207
|
+
)
|
|
9208
|
+
|
|
9209
|
+
template = ec2.LaunchTemplate(self, "LaunchTemplate",
|
|
9210
|
+
launch_template_name="MyTemplateV1",
|
|
9211
|
+
version_description="This is my v1 template",
|
|
9212
|
+
machine_image=ec2.MachineImage.latest_amazon_linux2023(),
|
|
9213
|
+
security_group=ec2.SecurityGroup(self, "LaunchTemplateSG",
|
|
9214
|
+
vpc=vpc
|
|
9215
|
+
),
|
|
9216
|
+
instance_profile=instance_profile
|
|
8921
9217
|
)
|
|
8922
9218
|
'''
|
|
8923
9219
|
if __debug__:
|
|
@@ -9022,7 +9318,7 @@ class ManagedPolicy(
|
|
|
9022
9318
|
*,
|
|
9023
9319
|
description: typing.Optional[builtins.str] = None,
|
|
9024
9320
|
document: typing.Optional["PolicyDocument"] = None,
|
|
9025
|
-
groups: typing.Optional[typing.Sequence[
|
|
9321
|
+
groups: typing.Optional[typing.Sequence[_IGroupRef_aeb1d9f6]] = None,
|
|
9026
9322
|
managed_policy_name: typing.Optional[builtins.str] = None,
|
|
9027
9323
|
path: typing.Optional[builtins.str] = None,
|
|
9028
9324
|
roles: typing.Optional[typing.Sequence["IRole"]] = None,
|
|
@@ -9147,7 +9443,7 @@ class ManagedPolicy(
|
|
|
9147
9443
|
return typing.cast(None, jsii.invoke(self, "addStatements", [*statement]))
|
|
9148
9444
|
|
|
9149
9445
|
@jsii.member(jsii_name="attachToGroup")
|
|
9150
|
-
def attach_to_group(self, group:
|
|
9446
|
+
def attach_to_group(self, group: _IGroupRef_aeb1d9f6) -> None:
|
|
9151
9447
|
'''Attaches this policy to a group.
|
|
9152
9448
|
|
|
9153
9449
|
:param group: -
|
|
@@ -9169,7 +9465,7 @@ class ManagedPolicy(
|
|
|
9169
9465
|
return typing.cast(None, jsii.invoke(self, "attachToRole", [role]))
|
|
9170
9466
|
|
|
9171
9467
|
@jsii.member(jsii_name="attachToUser")
|
|
9172
|
-
def attach_to_user(self, user:
|
|
9468
|
+
def attach_to_user(self, user: _IUserRef_b0ccca76) -> None:
|
|
9173
9469
|
'''Attaches this policy to a user.
|
|
9174
9470
|
|
|
9175
9471
|
:param user: -
|
|
@@ -9179,6 +9475,12 @@ class ManagedPolicy(
|
|
|
9179
9475
|
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
9180
9476
|
return typing.cast(None, jsii.invoke(self, "attachToUser", [user]))
|
|
9181
9477
|
|
|
9478
|
+
@jsii.python.classproperty
|
|
9479
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
9480
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
9481
|
+
'''Uniquely identifies this class.'''
|
|
9482
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
9483
|
+
|
|
9182
9484
|
@builtins.property
|
|
9183
9485
|
@jsii.member(jsii_name="description")
|
|
9184
9486
|
def description(self) -> builtins.str:
|
|
@@ -9218,6 +9520,12 @@ class ManagedPolicy(
|
|
|
9218
9520
|
'''
|
|
9219
9521
|
return typing.cast(builtins.str, jsii.get(self, "managedPolicyName"))
|
|
9220
9522
|
|
|
9523
|
+
@builtins.property
|
|
9524
|
+
@jsii.member(jsii_name="managedPolicyRef")
|
|
9525
|
+
def managed_policy_ref(self) -> _ManagedPolicyReference_078bf7cb:
|
|
9526
|
+
'''A reference to a ManagedPolicy resource.'''
|
|
9527
|
+
return typing.cast(_ManagedPolicyReference_078bf7cb, jsii.get(self, "managedPolicyRef"))
|
|
9528
|
+
|
|
9221
9529
|
@builtins.property
|
|
9222
9530
|
@jsii.member(jsii_name="path")
|
|
9223
9531
|
def path(self) -> builtins.str:
|
|
@@ -9248,7 +9556,7 @@ class ManagedPolicyProps:
|
|
|
9248
9556
|
*,
|
|
9249
9557
|
description: typing.Optional[builtins.str] = None,
|
|
9250
9558
|
document: typing.Optional["PolicyDocument"] = None,
|
|
9251
|
-
groups: typing.Optional[typing.Sequence[
|
|
9559
|
+
groups: typing.Optional[typing.Sequence[_IGroupRef_aeb1d9f6]] = None,
|
|
9252
9560
|
managed_policy_name: typing.Optional[builtins.str] = None,
|
|
9253
9561
|
path: typing.Optional[builtins.str] = None,
|
|
9254
9562
|
roles: typing.Optional[typing.Sequence["IRole"]] = None,
|
|
@@ -9360,7 +9668,7 @@ class ManagedPolicyProps:
|
|
|
9360
9668
|
return typing.cast(typing.Optional["PolicyDocument"], result)
|
|
9361
9669
|
|
|
9362
9670
|
@builtins.property
|
|
9363
|
-
def groups(self) -> typing.Optional[typing.List[
|
|
9671
|
+
def groups(self) -> typing.Optional[typing.List[_IGroupRef_aeb1d9f6]]:
|
|
9364
9672
|
'''Groups to attach this policy to.
|
|
9365
9673
|
|
|
9366
9674
|
You can also use ``attachToGroup(group)`` to attach this policy to a group.
|
|
@@ -9368,7 +9676,7 @@ class ManagedPolicyProps:
|
|
|
9368
9676
|
:default: - No groups.
|
|
9369
9677
|
'''
|
|
9370
9678
|
result = self._values.get("groups")
|
|
9371
|
-
return typing.cast(typing.Optional[typing.List[
|
|
9679
|
+
return typing.cast(typing.Optional[typing.List[_IGroupRef_aeb1d9f6]], result)
|
|
9372
9680
|
|
|
9373
9681
|
@builtins.property
|
|
9374
9682
|
def managed_policy_name(self) -> typing.Optional[builtins.str]:
|
|
@@ -9444,6 +9752,271 @@ class ManagedPolicyProps:
|
|
|
9444
9752
|
)
|
|
9445
9753
|
|
|
9446
9754
|
|
|
9755
|
+
@jsii.implements(IOidcProvider)
|
|
9756
|
+
class OidcProviderNative(
|
|
9757
|
+
_Resource_45bc6135,
|
|
9758
|
+
metaclass=jsii.JSIIMeta,
|
|
9759
|
+
jsii_type="aws-cdk-lib.aws_iam.OidcProviderNative",
|
|
9760
|
+
):
|
|
9761
|
+
'''IAM OIDC identity providers are entities in IAM that describe an external identity provider (IdP) service that supports the OpenID Connect (OIDC) standard, such as Google or Salesforce.
|
|
9762
|
+
|
|
9763
|
+
You use an IAM OIDC identity provider
|
|
9764
|
+
when you want to establish trust between an OIDC-compatible IdP and your AWS
|
|
9765
|
+
account. This is useful when creating a mobile app or web application that
|
|
9766
|
+
requires access to AWS resources, but you don't want to create custom sign-in
|
|
9767
|
+
code or manage your own user identities.
|
|
9768
|
+
|
|
9769
|
+
:see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html
|
|
9770
|
+
:resource: AWS::IAM::OIDCProvider
|
|
9771
|
+
:exampleMetadata: infused
|
|
9772
|
+
|
|
9773
|
+
Example::
|
|
9774
|
+
|
|
9775
|
+
native_provider = iam.OidcProviderNative(self, "MyProvider",
|
|
9776
|
+
url="https://openid/connect",
|
|
9777
|
+
client_ids=["myclient1", "myclient2"],
|
|
9778
|
+
thumbprints=["aa00aa1122aa00aa1122aa00aa1122aa00aa1122"]
|
|
9779
|
+
)
|
|
9780
|
+
'''
|
|
9781
|
+
|
|
9782
|
+
def __init__(
|
|
9783
|
+
self,
|
|
9784
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
9785
|
+
id: builtins.str,
|
|
9786
|
+
*,
|
|
9787
|
+
url: builtins.str,
|
|
9788
|
+
client_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9789
|
+
oidc_provider_name: typing.Optional[builtins.str] = None,
|
|
9790
|
+
thumbprints: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9791
|
+
) -> None:
|
|
9792
|
+
'''Defines a Native OpenID Connect provider.
|
|
9793
|
+
|
|
9794
|
+
:param scope: The definition scope.
|
|
9795
|
+
:param id: Construct ID.
|
|
9796
|
+
:param url: The URL of the identity provider. The URL must begin with https:// and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com. You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error. Warning: This URL cannot contain any port numbers
|
|
9797
|
+
:param client_ids: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider. Client IDs are up to 255 characters long. Default: - no clients are allowed
|
|
9798
|
+
:param oidc_provider_name: The name of the Native OIDC Provider. Default: - A name is automatically generated.
|
|
9799
|
+
:param thumbprints: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only 1 entry or empty. However, IAM lets you have up to 5 thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates. The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com. This property is optional. If it is not included, IAM will retrieve and use the top intermediate certificate authority (CA) thumbprint of the OpenID Connect identity provider server certificate. Obtain the thumbprint of the root certificate authority from the provider's server as described in https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html Default: - no thumbprints are allowed. IAM will retrieve and use thumbprint of idenity provider server cerctificate
|
|
9800
|
+
'''
|
|
9801
|
+
if __debug__:
|
|
9802
|
+
type_hints = typing.get_type_hints(_typecheckingstub__680e816817bfe60e999b472326e5b4b238c62d88192645c5b0bfcd07a0a2a70a)
|
|
9803
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
9804
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
9805
|
+
props = OidcProviderNativeProps(
|
|
9806
|
+
url=url,
|
|
9807
|
+
client_ids=client_ids,
|
|
9808
|
+
oidc_provider_name=oidc_provider_name,
|
|
9809
|
+
thumbprints=thumbprints,
|
|
9810
|
+
)
|
|
9811
|
+
|
|
9812
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
9813
|
+
|
|
9814
|
+
@jsii.member(jsii_name="fromOidcProviderArn")
|
|
9815
|
+
@builtins.classmethod
|
|
9816
|
+
def from_oidc_provider_arn(
|
|
9817
|
+
cls,
|
|
9818
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
9819
|
+
id: builtins.str,
|
|
9820
|
+
oidc_provider_arn: builtins.str,
|
|
9821
|
+
) -> IOidcProvider:
|
|
9822
|
+
'''Imports an Open ID connect provider from an ARN.
|
|
9823
|
+
|
|
9824
|
+
:param scope: The definition scope.
|
|
9825
|
+
:param id: ID of the construct.
|
|
9826
|
+
:param oidc_provider_arn: the ARN to import.
|
|
9827
|
+
'''
|
|
9828
|
+
if __debug__:
|
|
9829
|
+
type_hints = typing.get_type_hints(_typecheckingstub__2bbbb35dca97e313a334486d4f1f9ad4d587da8ed7cab00044df51dcffea77cc)
|
|
9830
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
9831
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
9832
|
+
check_type(argname="argument oidc_provider_arn", value=oidc_provider_arn, expected_type=type_hints["oidc_provider_arn"])
|
|
9833
|
+
return typing.cast(IOidcProvider, jsii.sinvoke(cls, "fromOidcProviderArn", [scope, id, oidc_provider_arn]))
|
|
9834
|
+
|
|
9835
|
+
@jsii.python.classproperty
|
|
9836
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
9837
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
9838
|
+
'''Uniquely identifies this class.'''
|
|
9839
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
9840
|
+
|
|
9841
|
+
@builtins.property
|
|
9842
|
+
@jsii.member(jsii_name="oidcProviderArn")
|
|
9843
|
+
def oidc_provider_arn(self) -> builtins.str:
|
|
9844
|
+
'''The Amazon Resource Name (ARN) of the Native IAM OpenID Connect provider.
|
|
9845
|
+
|
|
9846
|
+
:attribute: true
|
|
9847
|
+
'''
|
|
9848
|
+
return typing.cast(builtins.str, jsii.get(self, "oidcProviderArn"))
|
|
9849
|
+
|
|
9850
|
+
@builtins.property
|
|
9851
|
+
@jsii.member(jsii_name="oidcProviderIssuer")
|
|
9852
|
+
def oidc_provider_issuer(self) -> builtins.str:
|
|
9853
|
+
'''The issuer for the Native OIDC Provider.
|
|
9854
|
+
|
|
9855
|
+
:attribute: true
|
|
9856
|
+
'''
|
|
9857
|
+
return typing.cast(builtins.str, jsii.get(self, "oidcProviderIssuer"))
|
|
9858
|
+
|
|
9859
|
+
@builtins.property
|
|
9860
|
+
@jsii.member(jsii_name="oidcProviderRef")
|
|
9861
|
+
def oidc_provider_ref(self) -> _OIDCProviderReference_9a12fabd:
|
|
9862
|
+
'''A reference to a OIDCProvider resource.'''
|
|
9863
|
+
return typing.cast(_OIDCProviderReference_9a12fabd, jsii.get(self, "oidcProviderRef"))
|
|
9864
|
+
|
|
9865
|
+
@builtins.property
|
|
9866
|
+
@jsii.member(jsii_name="oidcProviderThumbprints")
|
|
9867
|
+
def oidc_provider_thumbprints(self) -> builtins.str:
|
|
9868
|
+
'''The thumbprints configured for this provider.
|
|
9869
|
+
|
|
9870
|
+
:attribute: true
|
|
9871
|
+
'''
|
|
9872
|
+
return typing.cast(builtins.str, jsii.get(self, "oidcProviderThumbprints"))
|
|
9873
|
+
|
|
9874
|
+
|
|
9875
|
+
@jsii.data_type(
|
|
9876
|
+
jsii_type="aws-cdk-lib.aws_iam.OidcProviderNativeProps",
|
|
9877
|
+
jsii_struct_bases=[],
|
|
9878
|
+
name_mapping={
|
|
9879
|
+
"url": "url",
|
|
9880
|
+
"client_ids": "clientIds",
|
|
9881
|
+
"oidc_provider_name": "oidcProviderName",
|
|
9882
|
+
"thumbprints": "thumbprints",
|
|
9883
|
+
},
|
|
9884
|
+
)
|
|
9885
|
+
class OidcProviderNativeProps:
|
|
9886
|
+
def __init__(
|
|
9887
|
+
self,
|
|
9888
|
+
*,
|
|
9889
|
+
url: builtins.str,
|
|
9890
|
+
client_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9891
|
+
oidc_provider_name: typing.Optional[builtins.str] = None,
|
|
9892
|
+
thumbprints: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
9893
|
+
) -> None:
|
|
9894
|
+
'''Initialization properties for ``OIDCProviderNative``.
|
|
9895
|
+
|
|
9896
|
+
:param url: The URL of the identity provider. The URL must begin with https:// and should correspond to the iss claim in the provider's OpenID Connect ID tokens. Per the OIDC standard, path components are allowed but query parameters are not. Typically the URL consists of only a hostname, like https://server.example.org or https://example.com. You cannot register the same provider multiple times in a single AWS account. If you try to submit a URL that has already been used for an OpenID Connect provider in the AWS account, you will get an error. Warning: This URL cannot contain any port numbers
|
|
9897
|
+
:param client_ids: A list of client IDs (also known as audiences). When a mobile or web app registers with an OpenID Connect provider, they establish a value that identifies the application. (This is the value that's sent as the client_id parameter on OAuth requests.) You can register multiple client IDs with the same provider. For example, you might have multiple applications that use the same OIDC provider. You cannot register more than 100 client IDs with a single IAM OIDC provider. Client IDs are up to 255 characters long. Default: - no clients are allowed
|
|
9898
|
+
:param oidc_provider_name: The name of the Native OIDC Provider. Default: - A name is automatically generated.
|
|
9899
|
+
:param thumbprints: A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates. Typically this list includes only 1 entry or empty. However, IAM lets you have up to 5 thumbprints for an OIDC provider. This lets you maintain multiple thumbprints if the identity provider is rotating certificates. The server certificate thumbprint is the hex-encoded SHA-1 hash value of the X.509 certificate used by the domain where the OpenID Connect provider makes its keys available. It is always a 40-character string. For example, assume that the OIDC provider is server.example.com and the provider stores its keys at https://keys.server.example.com/openid-connect. In that case, the thumbprint string would be the hex-encoded SHA-1 hash value of the certificate used by https://keys.server.example.com. This property is optional. If it is not included, IAM will retrieve and use the top intermediate certificate authority (CA) thumbprint of the OpenID Connect identity provider server certificate. Obtain the thumbprint of the root certificate authority from the provider's server as described in https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html Default: - no thumbprints are allowed. IAM will retrieve and use thumbprint of idenity provider server cerctificate
|
|
9900
|
+
|
|
9901
|
+
:exampleMetadata: infused
|
|
9902
|
+
|
|
9903
|
+
Example::
|
|
9904
|
+
|
|
9905
|
+
native_provider = iam.OidcProviderNative(self, "MyProvider",
|
|
9906
|
+
url="https://openid/connect",
|
|
9907
|
+
client_ids=["myclient1", "myclient2"],
|
|
9908
|
+
thumbprints=["aa00aa1122aa00aa1122aa00aa1122aa00aa1122"]
|
|
9909
|
+
)
|
|
9910
|
+
'''
|
|
9911
|
+
if __debug__:
|
|
9912
|
+
type_hints = typing.get_type_hints(_typecheckingstub__6981defdaab974b803e9671371e547d5d70ee03239eed02c8d458e1a2e5aa307)
|
|
9913
|
+
check_type(argname="argument url", value=url, expected_type=type_hints["url"])
|
|
9914
|
+
check_type(argname="argument client_ids", value=client_ids, expected_type=type_hints["client_ids"])
|
|
9915
|
+
check_type(argname="argument oidc_provider_name", value=oidc_provider_name, expected_type=type_hints["oidc_provider_name"])
|
|
9916
|
+
check_type(argname="argument thumbprints", value=thumbprints, expected_type=type_hints["thumbprints"])
|
|
9917
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
9918
|
+
"url": url,
|
|
9919
|
+
}
|
|
9920
|
+
if client_ids is not None:
|
|
9921
|
+
self._values["client_ids"] = client_ids
|
|
9922
|
+
if oidc_provider_name is not None:
|
|
9923
|
+
self._values["oidc_provider_name"] = oidc_provider_name
|
|
9924
|
+
if thumbprints is not None:
|
|
9925
|
+
self._values["thumbprints"] = thumbprints
|
|
9926
|
+
|
|
9927
|
+
@builtins.property
|
|
9928
|
+
def url(self) -> builtins.str:
|
|
9929
|
+
'''The URL of the identity provider.
|
|
9930
|
+
|
|
9931
|
+
The URL must begin with https:// and
|
|
9932
|
+
should correspond to the iss claim in the provider's OpenID Connect ID
|
|
9933
|
+
tokens. Per the OIDC standard, path components are allowed but query
|
|
9934
|
+
parameters are not. Typically the URL consists of only a hostname, like
|
|
9935
|
+
https://server.example.org or https://example.com.
|
|
9936
|
+
|
|
9937
|
+
You cannot register the same provider multiple times in a single AWS
|
|
9938
|
+
account. If you try to submit a URL that has already been used for an
|
|
9939
|
+
OpenID Connect provider in the AWS account, you will get an error.
|
|
9940
|
+
|
|
9941
|
+
Warning: This URL cannot contain any port numbers
|
|
9942
|
+
'''
|
|
9943
|
+
result = self._values.get("url")
|
|
9944
|
+
assert result is not None, "Required property 'url' is missing"
|
|
9945
|
+
return typing.cast(builtins.str, result)
|
|
9946
|
+
|
|
9947
|
+
@builtins.property
|
|
9948
|
+
def client_ids(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
9949
|
+
'''A list of client IDs (also known as audiences).
|
|
9950
|
+
|
|
9951
|
+
When a mobile or web app
|
|
9952
|
+
registers with an OpenID Connect provider, they establish a value that
|
|
9953
|
+
identifies the application. (This is the value that's sent as the client_id
|
|
9954
|
+
parameter on OAuth requests.)
|
|
9955
|
+
|
|
9956
|
+
You can register multiple client IDs with the same provider. For example,
|
|
9957
|
+
you might have multiple applications that use the same OIDC provider. You
|
|
9958
|
+
cannot register more than 100 client IDs with a single IAM OIDC provider.
|
|
9959
|
+
|
|
9960
|
+
Client IDs are up to 255 characters long.
|
|
9961
|
+
|
|
9962
|
+
:default: - no clients are allowed
|
|
9963
|
+
'''
|
|
9964
|
+
result = self._values.get("client_ids")
|
|
9965
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
9966
|
+
|
|
9967
|
+
@builtins.property
|
|
9968
|
+
def oidc_provider_name(self) -> typing.Optional[builtins.str]:
|
|
9969
|
+
'''The name of the Native OIDC Provider.
|
|
9970
|
+
|
|
9971
|
+
:default: - A name is automatically generated.
|
|
9972
|
+
'''
|
|
9973
|
+
result = self._values.get("oidc_provider_name")
|
|
9974
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
9975
|
+
|
|
9976
|
+
@builtins.property
|
|
9977
|
+
def thumbprints(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
9978
|
+
'''A list of server certificate thumbprints for the OpenID Connect (OIDC) identity provider's server certificates.
|
|
9979
|
+
|
|
9980
|
+
Typically this list includes only 1 entry or empty. However, IAM lets
|
|
9981
|
+
you have up to 5 thumbprints for an OIDC provider. This lets you maintain
|
|
9982
|
+
multiple thumbprints if the identity provider is rotating certificates.
|
|
9983
|
+
|
|
9984
|
+
The server certificate thumbprint is the hex-encoded SHA-1 hash value of
|
|
9985
|
+
the X.509 certificate used by the domain where the OpenID Connect provider
|
|
9986
|
+
makes its keys available. It is always a 40-character string.
|
|
9987
|
+
|
|
9988
|
+
For example, assume that the OIDC provider is server.example.com and the
|
|
9989
|
+
provider stores its keys at https://keys.server.example.com/openid-connect.
|
|
9990
|
+
In that case, the thumbprint string would be the hex-encoded SHA-1 hash
|
|
9991
|
+
value of the certificate used by https://keys.server.example.com.
|
|
9992
|
+
|
|
9993
|
+
This property is optional. If it is not included, IAM will retrieve and use
|
|
9994
|
+
the top intermediate certificate authority (CA) thumbprint of the OpenID
|
|
9995
|
+
Connect identity provider server certificate.
|
|
9996
|
+
|
|
9997
|
+
Obtain the thumbprint of the root certificate authority from the provider's
|
|
9998
|
+
server as described in https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_create_oidc_verify-thumbprint.html
|
|
9999
|
+
|
|
10000
|
+
:default:
|
|
10001
|
+
|
|
10002
|
+
- no thumbprints are allowed. IAM will retrieve and use thumbprint
|
|
10003
|
+
of idenity provider server cerctificate
|
|
10004
|
+
'''
|
|
10005
|
+
result = self._values.get("thumbprints")
|
|
10006
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
10007
|
+
|
|
10008
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
10009
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
10010
|
+
|
|
10011
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
10012
|
+
return not (rhs == self)
|
|
10013
|
+
|
|
10014
|
+
def __repr__(self) -> str:
|
|
10015
|
+
return "OidcProviderNativeProps(%s)" % ", ".join(
|
|
10016
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
10017
|
+
)
|
|
10018
|
+
|
|
10019
|
+
|
|
9447
10020
|
@jsii.implements(IOpenIdConnectProvider)
|
|
9448
10021
|
class OpenIdConnectProvider(
|
|
9449
10022
|
_Resource_45bc6135,
|
|
@@ -9458,6 +10031,24 @@ class OpenIdConnectProvider(
|
|
|
9458
10031
|
requires access to AWS resources, but you don't want to create custom sign-in
|
|
9459
10032
|
code or manage your own user identities.
|
|
9460
10033
|
|
|
10034
|
+
⚠️ **IMPORTANT NOTICE FOR CONTRIBUTORS** ⚠️
|
|
10035
|
+
|
|
10036
|
+
**DO NOT ADD NEW FEATURES TO THIS CONSTRUCT**
|
|
10037
|
+
|
|
10038
|
+
This construct uses a custom resource with Lambda functions and is maintained
|
|
10039
|
+
for backward compatibility only. We cannot deprecate it due to its usage in
|
|
10040
|
+
existing services like EKS (see https://github.com/aws/aws-cdk/pull/28634#discussion_r1842962697).
|
|
10041
|
+
|
|
10042
|
+
For new functionality, developers should use ``OidcProviderNative`` instead, which
|
|
10043
|
+
utilizes the native CloudFormation resource ``AWS::IAM::OIDCProvider`` and provides
|
|
10044
|
+
the same functionality with less complexity.
|
|
10045
|
+
|
|
10046
|
+
If you are considering adding features to this construct, please:
|
|
10047
|
+
|
|
10048
|
+
1. Consider implementing the feature in ``OidcProviderNative`` instead
|
|
10049
|
+
2. Discuss with the CDK team before proceeding
|
|
10050
|
+
3. Ensure any changes maintain strict backward compatibility
|
|
10051
|
+
|
|
9461
10052
|
:see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_providers_oidc.html
|
|
9462
10053
|
:resource: AWS::CloudFormation::CustomResource
|
|
9463
10054
|
:exampleMetadata: infused
|
|
@@ -9518,6 +10109,18 @@ class OpenIdConnectProvider(
|
|
|
9518
10109
|
check_type(argname="argument open_id_connect_provider_arn", value=open_id_connect_provider_arn, expected_type=type_hints["open_id_connect_provider_arn"])
|
|
9519
10110
|
return typing.cast(IOpenIdConnectProvider, jsii.sinvoke(cls, "fromOpenIdConnectProviderArn", [scope, id, open_id_connect_provider_arn]))
|
|
9520
10111
|
|
|
10112
|
+
@jsii.python.classproperty
|
|
10113
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
10114
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
10115
|
+
'''Uniquely identifies this class.'''
|
|
10116
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
10117
|
+
|
|
10118
|
+
@builtins.property
|
|
10119
|
+
@jsii.member(jsii_name="oidcProviderRef")
|
|
10120
|
+
def oidc_provider_ref(self) -> _OIDCProviderReference_9a12fabd:
|
|
10121
|
+
'''A reference to a OIDCProvider resource.'''
|
|
10122
|
+
return typing.cast(_OIDCProviderReference_9a12fabd, jsii.get(self, "oidcProviderRef"))
|
|
10123
|
+
|
|
9521
10124
|
@builtins.property
|
|
9522
10125
|
@jsii.member(jsii_name="openIdConnectProviderArn")
|
|
9523
10126
|
def open_id_connect_provider_arn(self) -> builtins.str:
|
|
@@ -9848,6 +10451,12 @@ class Policy(
|
|
|
9848
10451
|
check_type(argname="argument user", value=user, expected_type=type_hints["user"])
|
|
9849
10452
|
return typing.cast(None, jsii.invoke(self, "attachToUser", [user]))
|
|
9850
10453
|
|
|
10454
|
+
@jsii.python.classproperty
|
|
10455
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
10456
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
10457
|
+
'''Uniquely identifies this class.'''
|
|
10458
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
10459
|
+
|
|
9851
10460
|
@builtins.property
|
|
9852
10461
|
@jsii.member(jsii_name="document")
|
|
9853
10462
|
def document(self) -> "PolicyDocument":
|
|
@@ -9869,6 +10478,12 @@ class Policy(
|
|
|
9869
10478
|
'''
|
|
9870
10479
|
return typing.cast(builtins.str, jsii.get(self, "policyName"))
|
|
9871
10480
|
|
|
10481
|
+
@builtins.property
|
|
10482
|
+
@jsii.member(jsii_name="policyRef")
|
|
10483
|
+
def policy_ref(self) -> _PolicyReference_b83371a5:
|
|
10484
|
+
'''A reference to a Policy resource.'''
|
|
10485
|
+
return typing.cast(_PolicyReference_b83371a5, jsii.get(self, "policyRef"))
|
|
10486
|
+
|
|
9872
10487
|
|
|
9873
10488
|
@jsii.implements(_IResolvable_da3f097b)
|
|
9874
10489
|
class PolicyDocument(
|
|
@@ -10762,6 +11377,12 @@ class PolicyStatement(
|
|
|
10762
11377
|
'''
|
|
10763
11378
|
return typing.cast(typing.List[builtins.str], jsii.invoke(self, "validateForResourcePolicy", []))
|
|
10764
11379
|
|
|
11380
|
+
@jsii.python.classproperty
|
|
11381
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
11382
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
11383
|
+
'''Uniquely identifies this class.'''
|
|
11384
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
11385
|
+
|
|
10765
11386
|
@builtins.property
|
|
10766
11387
|
@jsii.member(jsii_name="actions")
|
|
10767
11388
|
def actions(self) -> typing.List[builtins.str]:
|
|
@@ -11470,18 +12091,18 @@ class SamlMetadataDocument(
|
|
|
11470
12091
|
):
|
|
11471
12092
|
'''A SAML metadata document.
|
|
11472
12093
|
|
|
11473
|
-
:exampleMetadata: infused
|
|
12094
|
+
:exampleMetadata: fixture=client-vpn infused
|
|
11474
12095
|
|
|
11475
12096
|
Example::
|
|
11476
12097
|
|
|
11477
|
-
|
|
11478
|
-
|
|
12098
|
+
vpc.add_client_vpn_endpoint("Endpoint",
|
|
12099
|
+
cidr="10.100.0.0/16",
|
|
12100
|
+
server_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/server-certificate-id",
|
|
12101
|
+
# Mutual authentication
|
|
12102
|
+
client_certificate_arn="arn:aws:acm:us-east-1:123456789012:certificate/client-certificate-id",
|
|
12103
|
+
# User-based authentication
|
|
12104
|
+
user_based_authentication=ec2.ClientVpnUserBasedAuthentication.federated(saml_provider)
|
|
11479
12105
|
)
|
|
11480
|
-
principal = iam.SamlPrincipal(provider, {
|
|
11481
|
-
"StringEquals": {
|
|
11482
|
-
"SAML:iss": "issuer"
|
|
11483
|
-
}
|
|
11484
|
-
})
|
|
11485
12106
|
'''
|
|
11486
12107
|
|
|
11487
12108
|
def __init__(self) -> None:
|
|
@@ -11593,12 +12214,24 @@ class SamlProvider(
|
|
|
11593
12214
|
check_type(argname="argument saml_provider_arn", value=saml_provider_arn, expected_type=type_hints["saml_provider_arn"])
|
|
11594
12215
|
return typing.cast(ISamlProvider, jsii.sinvoke(cls, "fromSamlProviderArn", [scope, id, saml_provider_arn]))
|
|
11595
12216
|
|
|
12217
|
+
@jsii.python.classproperty
|
|
12218
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
12219
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
12220
|
+
'''Uniquely identifies this class.'''
|
|
12221
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
12222
|
+
|
|
11596
12223
|
@builtins.property
|
|
11597
12224
|
@jsii.member(jsii_name="samlProviderArn")
|
|
11598
12225
|
def saml_provider_arn(self) -> builtins.str:
|
|
11599
12226
|
'''The Amazon Resource Name (ARN) of the provider.'''
|
|
11600
12227
|
return typing.cast(builtins.str, jsii.get(self, "samlProviderArn"))
|
|
11601
12228
|
|
|
12229
|
+
@builtins.property
|
|
12230
|
+
@jsii.member(jsii_name="samlProviderRef")
|
|
12231
|
+
def saml_provider_ref(self) -> _SAMLProviderReference_08e1fac1:
|
|
12232
|
+
'''A reference to a SAMLProvider resource.'''
|
|
12233
|
+
return typing.cast(_SAMLProviderReference_08e1fac1, jsii.get(self, "samlProviderRef"))
|
|
12234
|
+
|
|
11602
12235
|
|
|
11603
12236
|
@jsii.data_type(
|
|
11604
12237
|
jsii_type="aws-cdk-lib.aws_iam.SamlProviderProps",
|
|
@@ -12232,12 +12865,24 @@ class AccessKey(
|
|
|
12232
12865
|
|
|
12233
12866
|
jsii.create(self.__class__, self, [scope, id, props])
|
|
12234
12867
|
|
|
12868
|
+
@jsii.python.classproperty
|
|
12869
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
12870
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
12871
|
+
'''Uniquely identifies this class.'''
|
|
12872
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
12873
|
+
|
|
12235
12874
|
@builtins.property
|
|
12236
12875
|
@jsii.member(jsii_name="accessKeyId")
|
|
12237
12876
|
def access_key_id(self) -> builtins.str:
|
|
12238
12877
|
'''The Access Key ID.'''
|
|
12239
12878
|
return typing.cast(builtins.str, jsii.get(self, "accessKeyId"))
|
|
12240
12879
|
|
|
12880
|
+
@builtins.property
|
|
12881
|
+
@jsii.member(jsii_name="accessKeyRef")
|
|
12882
|
+
def access_key_ref(self) -> _AccessKeyReference_2bdfd122:
|
|
12883
|
+
'''A reference to a AccessKey resource.'''
|
|
12884
|
+
return typing.cast(_AccessKeyReference_2bdfd122, jsii.get(self, "accessKeyRef"))
|
|
12885
|
+
|
|
12241
12886
|
@builtins.property
|
|
12242
12887
|
@jsii.member(jsii_name="secretAccessKey")
|
|
12243
12888
|
def secret_access_key(self) -> _SecretValue_3dd0ddae:
|
|
@@ -12266,7 +12911,7 @@ class GrantPolicyWithResourceOptions(GrantWithResourceOptions):
|
|
|
12266
12911
|
grantee: IGrantable,
|
|
12267
12912
|
resource_arns: typing.Sequence[builtins.str],
|
|
12268
12913
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]] = None,
|
|
12269
|
-
resource:
|
|
12914
|
+
resource: IResourceWithPolicyV2,
|
|
12270
12915
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
12271
12916
|
statement: PolicyStatement,
|
|
12272
12917
|
) -> None:
|
|
@@ -12282,7 +12927,7 @@ class GrantPolicyWithResourceOptions(GrantWithResourceOptions):
|
|
|
12282
12927
|
:param conditions: Any conditions to attach to the grant. Default: - No conditions
|
|
12283
12928
|
:param resource: The resource with a resource policy. The statement will be added to the resource policy if it couldn't be added to the principal policy.
|
|
12284
12929
|
:param resource_self_arns: When referring to the resource in a resource policy, use this as ARN. (Depending on the resource type, this needs to be '*' in a resource policy). Default: Same as regular resource ARNs
|
|
12285
|
-
:param statement: The policy statement to add to the resource's policy. This statement will be passed to the resource's addToResourcePolicy method. The actual handling of the statement depends on the specific
|
|
12930
|
+
:param statement: The policy statement to add to the resource's policy. This statement will be passed to the resource's addToResourcePolicy method. The actual handling of the statement depends on the specific IResourceWithPolicyV2 implementation.
|
|
12286
12931
|
|
|
12287
12932
|
:exampleMetadata: infused
|
|
12288
12933
|
|
|
@@ -12369,7 +13014,7 @@ class GrantPolicyWithResourceOptions(GrantWithResourceOptions):
|
|
|
12369
13014
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]], result)
|
|
12370
13015
|
|
|
12371
13016
|
@builtins.property
|
|
12372
|
-
def resource(self) ->
|
|
13017
|
+
def resource(self) -> IResourceWithPolicyV2:
|
|
12373
13018
|
'''The resource with a resource policy.
|
|
12374
13019
|
|
|
12375
13020
|
The statement will be added to the resource policy if it couldn't be
|
|
@@ -12377,7 +13022,7 @@ class GrantPolicyWithResourceOptions(GrantWithResourceOptions):
|
|
|
12377
13022
|
'''
|
|
12378
13023
|
result = self._values.get("resource")
|
|
12379
13024
|
assert result is not None, "Required property 'resource' is missing"
|
|
12380
|
-
return typing.cast(
|
|
13025
|
+
return typing.cast(IResourceWithPolicyV2, result)
|
|
12381
13026
|
|
|
12382
13027
|
@builtins.property
|
|
12383
13028
|
def resource_self_arns(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
@@ -12395,7 +13040,7 @@ class GrantPolicyWithResourceOptions(GrantWithResourceOptions):
|
|
|
12395
13040
|
'''The policy statement to add to the resource's policy.
|
|
12396
13041
|
|
|
12397
13042
|
This statement will be passed to the resource's addToResourcePolicy method.
|
|
12398
|
-
The actual handling of the statement depends on the specific
|
|
13043
|
+
The actual handling of the statement depends on the specific IResourceWithPolicyV2
|
|
12399
13044
|
implementation.
|
|
12400
13045
|
'''
|
|
12401
13046
|
result = self._values.get("statement")
|
|
@@ -12562,8 +13207,48 @@ class _IIdentityProxy(
|
|
|
12562
13207
|
typing.cast(typing.Any, IIdentity).__jsii_proxy_class__ = lambda : _IIdentityProxy
|
|
12563
13208
|
|
|
12564
13209
|
|
|
13210
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IResourceWithPolicy")
|
|
13211
|
+
class IResourceWithPolicy(
|
|
13212
|
+
IResourceWithPolicyV2,
|
|
13213
|
+
_IResource_c80c4260,
|
|
13214
|
+
typing_extensions.Protocol,
|
|
13215
|
+
):
|
|
13216
|
+
'''(deprecated) A resource with a resource policy that can be added to.
|
|
13217
|
+
|
|
13218
|
+
This interface is maintained for backwards compatibility, but should
|
|
13219
|
+
not be used in new code. Prefer ``IResourceWithPolicyV2`` instead.
|
|
13220
|
+
|
|
13221
|
+
:deprecated: Implement ``IResourceWithPolicyV2`` instead.
|
|
13222
|
+
|
|
13223
|
+
:stability: deprecated
|
|
13224
|
+
'''
|
|
13225
|
+
|
|
13226
|
+
pass
|
|
13227
|
+
|
|
13228
|
+
|
|
13229
|
+
class _IResourceWithPolicyProxy(
|
|
13230
|
+
jsii.proxy_for(IResourceWithPolicyV2), # type: ignore[misc]
|
|
13231
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
13232
|
+
):
|
|
13233
|
+
'''(deprecated) A resource with a resource policy that can be added to.
|
|
13234
|
+
|
|
13235
|
+
This interface is maintained for backwards compatibility, but should
|
|
13236
|
+
not be used in new code. Prefer ``IResourceWithPolicyV2`` instead.
|
|
13237
|
+
|
|
13238
|
+
:deprecated: Implement ``IResourceWithPolicyV2`` instead.
|
|
13239
|
+
|
|
13240
|
+
:stability: deprecated
|
|
13241
|
+
'''
|
|
13242
|
+
|
|
13243
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_iam.IResourceWithPolicy"
|
|
13244
|
+
pass
|
|
13245
|
+
|
|
13246
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
13247
|
+
typing.cast(typing.Any, IResourceWithPolicy).__jsii_proxy_class__ = lambda : _IResourceWithPolicyProxy
|
|
13248
|
+
|
|
13249
|
+
|
|
12565
13250
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IRole")
|
|
12566
|
-
class IRole(IIdentity, typing_extensions.Protocol):
|
|
13251
|
+
class IRole(IIdentity, _IRoleRef_8400221f, typing_extensions.Protocol):
|
|
12567
13252
|
'''A Role object.'''
|
|
12568
13253
|
|
|
12569
13254
|
@builtins.property
|
|
@@ -12612,6 +13297,7 @@ class IRole(IIdentity, typing_extensions.Protocol):
|
|
|
12612
13297
|
|
|
12613
13298
|
class _IRoleProxy(
|
|
12614
13299
|
jsii.proxy_for(IIdentity), # type: ignore[misc]
|
|
13300
|
+
jsii.proxy_for(_IRoleRef_8400221f), # type: ignore[misc]
|
|
12615
13301
|
):
|
|
12616
13302
|
'''A Role object.'''
|
|
12617
13303
|
|
|
@@ -12675,7 +13361,7 @@ typing.cast(typing.Any, IRole).__jsii_proxy_class__ = lambda : _IRoleProxy
|
|
|
12675
13361
|
|
|
12676
13362
|
|
|
12677
13363
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IUser")
|
|
12678
|
-
class IUser(IIdentity, typing_extensions.Protocol):
|
|
13364
|
+
class IUser(IIdentity, _IUserRef_b0ccca76, typing_extensions.Protocol):
|
|
12679
13365
|
'''Represents an IAM user.
|
|
12680
13366
|
|
|
12681
13367
|
:see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_users.html
|
|
@@ -12710,6 +13396,7 @@ class IUser(IIdentity, typing_extensions.Protocol):
|
|
|
12710
13396
|
|
|
12711
13397
|
class _IUserProxy(
|
|
12712
13398
|
jsii.proxy_for(IIdentity), # type: ignore[misc]
|
|
13399
|
+
jsii.proxy_for(_IUserRef_b0ccca76), # type: ignore[misc]
|
|
12713
13400
|
):
|
|
12714
13401
|
'''Represents an IAM user.
|
|
12715
13402
|
|
|
@@ -12926,6 +13613,12 @@ class LazyRole(
|
|
|
12926
13613
|
check_type(argname="argument identity", value=identity, expected_type=type_hints["identity"])
|
|
12927
13614
|
return typing.cast(Grant, jsii.invoke(self, "grantPassRole", [identity]))
|
|
12928
13615
|
|
|
13616
|
+
@jsii.python.classproperty
|
|
13617
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
13618
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
13619
|
+
'''Uniquely identifies this class.'''
|
|
13620
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
13621
|
+
|
|
12929
13622
|
@builtins.property
|
|
12930
13623
|
@jsii.member(jsii_name="assumeRoleAction")
|
|
12931
13624
|
def assume_role_action(self) -> builtins.str:
|
|
@@ -12965,6 +13658,12 @@ class LazyRole(
|
|
|
12965
13658
|
'''Returns the name of this role.'''
|
|
12966
13659
|
return typing.cast(builtins.str, jsii.get(self, "roleName"))
|
|
12967
13660
|
|
|
13661
|
+
@builtins.property
|
|
13662
|
+
@jsii.member(jsii_name="roleRef")
|
|
13663
|
+
def role_ref(self) -> _RoleReference_447077bb:
|
|
13664
|
+
'''A reference to a Role resource.'''
|
|
13665
|
+
return typing.cast(_RoleReference_447077bb, jsii.get(self, "roleRef"))
|
|
13666
|
+
|
|
12968
13667
|
@builtins.property
|
|
12969
13668
|
@jsii.member(jsii_name="principalAccount")
|
|
12970
13669
|
def principal_account(self) -> typing.Optional[builtins.str]:
|
|
@@ -13575,25 +14274,25 @@ class Role(
|
|
|
13575
14274
|
Defines an IAM role. The role is created with an assume policy document associated with
|
|
13576
14275
|
the specified AWS service principal defined in ``serviceAssumeRole``.
|
|
13577
14276
|
|
|
13578
|
-
:exampleMetadata: infused
|
|
14277
|
+
:exampleMetadata: fixture=default infused
|
|
13579
14278
|
|
|
13580
14279
|
Example::
|
|
13581
14280
|
|
|
13582
|
-
#
|
|
13583
|
-
|
|
13584
|
-
|
|
13585
|
-
|
|
13586
|
-
|
|
13587
|
-
|
|
14281
|
+
# Create a custom execution role
|
|
14282
|
+
execution_role = iam.Role(self, "BrowserExecutionRole",
|
|
14283
|
+
assumed_by=iam.ServicePrincipal("bedrock-agentcore.amazonaws.com"),
|
|
14284
|
+
managed_policies=[
|
|
14285
|
+
iam.ManagedPolicy.from_aws_managed_policy_name("AmazonBedrockAgentCoreBrowserExecutionRolePolicy")
|
|
14286
|
+
]
|
|
13588
14287
|
)
|
|
13589
|
-
console_read_only_role.add_to_policy(iam.PolicyStatement(
|
|
13590
|
-
actions=["eks:AccessKubernetesApi", "eks:Describe*", "eks:List*"
|
|
13591
|
-
],
|
|
13592
|
-
resources=[cluster.cluster_arn]
|
|
13593
|
-
))
|
|
13594
14288
|
|
|
13595
|
-
#
|
|
13596
|
-
|
|
14289
|
+
# Create browser with custom execution role
|
|
14290
|
+
browser = agentcore.BrowserCustom(self, "MyBrowser",
|
|
14291
|
+
browser_custom_name="my_browser",
|
|
14292
|
+
description="Browser with custom execution role",
|
|
14293
|
+
network_configuration=agentcore.BrowserNetworkConfiguration.using_public_network(),
|
|
14294
|
+
execution_role=execution_role
|
|
14295
|
+
)
|
|
13597
14296
|
'''
|
|
13598
14297
|
|
|
13599
14298
|
def __init__(
|
|
@@ -13936,6 +14635,12 @@ class Role(
|
|
|
13936
14635
|
|
|
13937
14636
|
return typing.cast(IRole, jsii.invoke(self, "withoutPolicyUpdates", [options]))
|
|
13938
14637
|
|
|
14638
|
+
@jsii.python.classproperty
|
|
14639
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
14640
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
14641
|
+
'''Uniquely identifies this class.'''
|
|
14642
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
14643
|
+
|
|
13939
14644
|
@builtins.property
|
|
13940
14645
|
@jsii.member(jsii_name="assumeRoleAction")
|
|
13941
14646
|
def assume_role_action(self) -> builtins.str:
|
|
@@ -13978,6 +14683,12 @@ class Role(
|
|
|
13978
14683
|
'''Returns the name of the role.'''
|
|
13979
14684
|
return typing.cast(builtins.str, jsii.get(self, "roleName"))
|
|
13980
14685
|
|
|
14686
|
+
@builtins.property
|
|
14687
|
+
@jsii.member(jsii_name="roleRef")
|
|
14688
|
+
def role_ref(self) -> _RoleReference_447077bb:
|
|
14689
|
+
'''A reference to a Role resource.'''
|
|
14690
|
+
return typing.cast(_RoleReference_447077bb, jsii.get(self, "roleRef"))
|
|
14691
|
+
|
|
13981
14692
|
@builtins.property
|
|
13982
14693
|
@jsii.member(jsii_name="assumeRolePolicy")
|
|
13983
14694
|
def assume_role_policy(self) -> typing.Optional[PolicyDocument]:
|
|
@@ -14010,20 +14721,25 @@ class ServicePrincipal(
|
|
|
14010
14721
|
):
|
|
14011
14722
|
'''An IAM principal that represents an AWS service (i.e. ``sqs.amazonaws.com``).
|
|
14012
14723
|
|
|
14013
|
-
:exampleMetadata: infused
|
|
14724
|
+
:exampleMetadata: fixture=default infused
|
|
14014
14725
|
|
|
14015
14726
|
Example::
|
|
14016
14727
|
|
|
14017
|
-
#
|
|
14018
|
-
|
|
14019
|
-
assumed_by=iam.ServicePrincipal("
|
|
14020
|
-
|
|
14021
|
-
|
|
14022
|
-
|
|
14728
|
+
# Create a custom execution role
|
|
14729
|
+
execution_role = iam.Role(self, "BrowserExecutionRole",
|
|
14730
|
+
assumed_by=iam.ServicePrincipal("bedrock-agentcore.amazonaws.com"),
|
|
14731
|
+
managed_policies=[
|
|
14732
|
+
iam.ManagedPolicy.from_aws_managed_policy_name("AmazonBedrockAgentCoreBrowserExecutionRolePolicy")
|
|
14733
|
+
]
|
|
14023
14734
|
)
|
|
14024
14735
|
|
|
14025
|
-
#
|
|
14026
|
-
|
|
14736
|
+
# Create browser with custom execution role
|
|
14737
|
+
browser = agentcore.BrowserCustom(self, "MyBrowser",
|
|
14738
|
+
browser_custom_name="my_browser",
|
|
14739
|
+
description="Browser with custom execution role",
|
|
14740
|
+
network_configuration=agentcore.BrowserNetworkConfiguration.using_public_network(),
|
|
14741
|
+
execution_role=execution_role
|
|
14742
|
+
)
|
|
14027
14743
|
'''
|
|
14028
14744
|
|
|
14029
14745
|
def __init__(
|
|
@@ -14470,6 +15186,12 @@ class User(
|
|
|
14470
15186
|
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
14471
15187
|
return typing.cast(None, jsii.invoke(self, "attachInlinePolicy", [policy]))
|
|
14472
15188
|
|
|
15189
|
+
@jsii.python.classproperty
|
|
15190
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
15191
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
15192
|
+
'''Uniquely identifies this class.'''
|
|
15193
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
15194
|
+
|
|
14473
15195
|
@builtins.property
|
|
14474
15196
|
@jsii.member(jsii_name="assumeRoleAction")
|
|
14475
15197
|
def assume_role_action(self) -> builtins.str:
|
|
@@ -14506,6 +15228,12 @@ class User(
|
|
|
14506
15228
|
'''
|
|
14507
15229
|
return typing.cast(builtins.str, jsii.get(self, "userName"))
|
|
14508
15230
|
|
|
15231
|
+
@builtins.property
|
|
15232
|
+
@jsii.member(jsii_name="userRef")
|
|
15233
|
+
def user_ref(self) -> _UserReference_6bf884c6:
|
|
15234
|
+
'''A reference to a User resource.'''
|
|
15235
|
+
return typing.cast(_UserReference_6bf884c6, jsii.get(self, "userRef"))
|
|
15236
|
+
|
|
14509
15237
|
@builtins.property
|
|
14510
15238
|
@jsii.member(jsii_name="permissionsBoundary")
|
|
14511
15239
|
def permissions_boundary(self) -> typing.Optional[IManagedPolicy]:
|
|
@@ -14541,7 +15269,7 @@ class ArnPrincipal(
|
|
|
14541
15269
|
Example::
|
|
14542
15270
|
|
|
14543
15271
|
# Option 2: create your custom mastersRole with scoped assumeBy arn as the Cluster prop. Switch to this role from the AWS console.
|
|
14544
|
-
from aws_cdk.
|
|
15272
|
+
from aws_cdk.lambda_layer_kubectl_v34 import KubectlV34Layer
|
|
14545
15273
|
# vpc: ec2.Vpc
|
|
14546
15274
|
|
|
14547
15275
|
|
|
@@ -14551,8 +15279,8 @@ class ArnPrincipal(
|
|
|
14551
15279
|
|
|
14552
15280
|
cluster = eks.Cluster(self, "EksCluster",
|
|
14553
15281
|
vpc=vpc,
|
|
14554
|
-
version=eks.KubernetesVersion.
|
|
14555
|
-
kubectl_layer=
|
|
15282
|
+
version=eks.KubernetesVersion.V1_34,
|
|
15283
|
+
kubectl_layer=KubectlV34Layer(self, "KubectlLayer"),
|
|
14556
15284
|
masters_role=masters_role
|
|
14557
15285
|
)
|
|
14558
15286
|
|
|
@@ -14849,7 +15577,7 @@ class FederatedPrincipal(
|
|
|
14849
15577
|
|
|
14850
15578
|
|
|
14851
15579
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_iam.IGroup")
|
|
14852
|
-
class IGroup(IIdentity, typing_extensions.Protocol):
|
|
15580
|
+
class IGroup(IIdentity, _IGroupRef_aeb1d9f6, typing_extensions.Protocol):
|
|
14853
15581
|
'''Represents an IAM Group.
|
|
14854
15582
|
|
|
14855
15583
|
:see: https://docs.aws.amazon.com/IAM/latest/UserGuide/id_groups.html
|
|
@@ -14876,6 +15604,7 @@ class IGroup(IIdentity, typing_extensions.Protocol):
|
|
|
14876
15604
|
|
|
14877
15605
|
class _IGroupProxy(
|
|
14878
15606
|
jsii.proxy_for(IIdentity), # type: ignore[misc]
|
|
15607
|
+
jsii.proxy_for(_IGroupRef_aeb1d9f6), # type: ignore[misc]
|
|
14879
15608
|
):
|
|
14880
15609
|
'''Represents an IAM Group.
|
|
14881
15610
|
|
|
@@ -14982,7 +15711,7 @@ class SamlPrincipal(
|
|
|
14982
15711
|
|
|
14983
15712
|
def __init__(
|
|
14984
15713
|
self,
|
|
14985
|
-
saml_provider:
|
|
15714
|
+
saml_provider: _ISAMLProviderRef_6e369856,
|
|
14986
15715
|
conditions: typing.Mapping[builtins.str, typing.Any],
|
|
14987
15716
|
) -> None:
|
|
14988
15717
|
'''
|
|
@@ -15111,13 +15840,15 @@ class AccountRootPrincipal(
|
|
|
15111
15840
|
|
|
15112
15841
|
Example::
|
|
15113
15842
|
|
|
15114
|
-
|
|
15115
|
-
|
|
15116
|
-
|
|
15117
|
-
|
|
15118
|
-
|
|
15119
|
-
|
|
15120
|
-
|
|
15843
|
+
# Adds to IAM user's policy (not resource policy)
|
|
15844
|
+
# user: iam.User
|
|
15845
|
+
table = dynamodb.TableV2(self, "Table",
|
|
15846
|
+
partition_key=dynamodb.Attribute(name="pk", type=dynamodb.AttributeType.STRING)
|
|
15847
|
+
)
|
|
15848
|
+
|
|
15849
|
+
# Automatically adds to table's resource policy (same account)
|
|
15850
|
+
table.grant_read_data(iam.AccountRootPrincipal())
|
|
15851
|
+
table.grant_read_data(user)
|
|
15121
15852
|
'''
|
|
15122
15853
|
|
|
15123
15854
|
def __init__(self) -> None:
|
|
@@ -15330,6 +16061,12 @@ class Group(
|
|
|
15330
16061
|
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
15331
16062
|
return typing.cast(None, jsii.invoke(self, "attachInlinePolicy", [policy]))
|
|
15332
16063
|
|
|
16064
|
+
@jsii.python.classproperty
|
|
16065
|
+
@jsii.member(jsii_name="PROPERTY_INJECTION_ID")
|
|
16066
|
+
def PROPERTY_INJECTION_ID(cls) -> builtins.str:
|
|
16067
|
+
'''Uniquely identifies this class.'''
|
|
16068
|
+
return typing.cast(builtins.str, jsii.sget(cls, "PROPERTY_INJECTION_ID"))
|
|
16069
|
+
|
|
15333
16070
|
@builtins.property
|
|
15334
16071
|
@jsii.member(jsii_name="assumeRoleAction")
|
|
15335
16072
|
def assume_role_action(self) -> builtins.str:
|
|
@@ -15354,6 +16091,12 @@ class Group(
|
|
|
15354
16091
|
'''Returns the IAM Group Name.'''
|
|
15355
16092
|
return typing.cast(builtins.str, jsii.get(self, "groupName"))
|
|
15356
16093
|
|
|
16094
|
+
@builtins.property
|
|
16095
|
+
@jsii.member(jsii_name="groupRef")
|
|
16096
|
+
def group_ref(self) -> _GroupReference_cd6b1d81:
|
|
16097
|
+
'''A reference to a Group resource.'''
|
|
16098
|
+
return typing.cast(_GroupReference_cd6b1d81, jsii.get(self, "groupRef"))
|
|
16099
|
+
|
|
15357
16100
|
@builtins.property
|
|
15358
16101
|
@jsii.member(jsii_name="policyFragment")
|
|
15359
16102
|
def policy_fragment(self) -> PrincipalPolicyFragment:
|
|
@@ -15393,7 +16136,7 @@ class OpenIdConnectPrincipal(
|
|
|
15393
16136
|
|
|
15394
16137
|
def __init__(
|
|
15395
16138
|
self,
|
|
15396
|
-
open_id_connect_provider:
|
|
16139
|
+
open_id_connect_provider: _IOIDCProviderRef_a866c7c8,
|
|
15397
16140
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
15398
16141
|
) -> None:
|
|
15399
16142
|
'''
|
|
@@ -15525,10 +16268,12 @@ __all__ = [
|
|
|
15525
16268
|
"IIdentity",
|
|
15526
16269
|
"IInstanceProfile",
|
|
15527
16270
|
"IManagedPolicy",
|
|
16271
|
+
"IOidcProvider",
|
|
15528
16272
|
"IOpenIdConnectProvider",
|
|
15529
16273
|
"IPolicy",
|
|
15530
16274
|
"IPrincipal",
|
|
15531
16275
|
"IResourceWithPolicy",
|
|
16276
|
+
"IResourceWithPolicyV2",
|
|
15532
16277
|
"IRole",
|
|
15533
16278
|
"ISamlProvider",
|
|
15534
16279
|
"IUser",
|
|
@@ -15539,6 +16284,8 @@ __all__ = [
|
|
|
15539
16284
|
"LazyRoleProps",
|
|
15540
16285
|
"ManagedPolicy",
|
|
15541
16286
|
"ManagedPolicyProps",
|
|
16287
|
+
"OidcProviderNative",
|
|
16288
|
+
"OidcProviderNativeProps",
|
|
15542
16289
|
"OpenIdConnectPrincipal",
|
|
15543
16290
|
"OpenIdConnectProvider",
|
|
15544
16291
|
"OpenIdConnectProviderProps",
|
|
@@ -16728,7 +17475,7 @@ def _typecheckingstub__a60e5877e638d22c44d2e72be768df7f85caf47bec9ab2e6b2adcce82
|
|
|
16728
17475
|
grantee: IGrantable,
|
|
16729
17476
|
resource_arns: typing.Sequence[builtins.str],
|
|
16730
17477
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]] = None,
|
|
16731
|
-
resource:
|
|
17478
|
+
resource: IResourceWithPolicyV2,
|
|
16732
17479
|
resource_policy_principal: typing.Optional[IPrincipal] = None,
|
|
16733
17480
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
16734
17481
|
) -> None:
|
|
@@ -16752,7 +17499,7 @@ def _typecheckingstub__d76f68f1d67dcad526c87768d88423a4092a0ef3127be7cb534620448
|
|
|
16752
17499
|
grantee: IGrantable,
|
|
16753
17500
|
resource_arns: typing.Sequence[builtins.str],
|
|
16754
17501
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]] = None,
|
|
16755
|
-
resource:
|
|
17502
|
+
resource: IResourceWithPolicyV2,
|
|
16756
17503
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
16757
17504
|
) -> None:
|
|
16758
17505
|
"""Type checking stubs"""
|
|
@@ -16773,7 +17520,7 @@ def _typecheckingstub__7c10aadcc3756f5f6d5486d7ecd5cabd7845be5964af1722a9d4962d5
|
|
|
16773
17520
|
"""Type checking stubs"""
|
|
16774
17521
|
pass
|
|
16775
17522
|
|
|
16776
|
-
def
|
|
17523
|
+
def _typecheckingstub__d0411047245e16030f540e191ce067fdd2216fb84afd5f47032486efe2dddfda(
|
|
16777
17524
|
statement: PolicyStatement,
|
|
16778
17525
|
) -> None:
|
|
16779
17526
|
"""Type checking stubs"""
|
|
@@ -16839,7 +17586,7 @@ def _typecheckingstub__2cd427eaa6d6959043bb705f947d652220f35431c484ef548899b9f81
|
|
|
16839
17586
|
*,
|
|
16840
17587
|
description: typing.Optional[builtins.str] = None,
|
|
16841
17588
|
document: typing.Optional[PolicyDocument] = None,
|
|
16842
|
-
groups: typing.Optional[typing.Sequence[
|
|
17589
|
+
groups: typing.Optional[typing.Sequence[_IGroupRef_aeb1d9f6]] = None,
|
|
16843
17590
|
managed_policy_name: typing.Optional[builtins.str] = None,
|
|
16844
17591
|
path: typing.Optional[builtins.str] = None,
|
|
16845
17592
|
roles: typing.Optional[typing.Sequence[IRole]] = None,
|
|
@@ -16878,7 +17625,7 @@ def _typecheckingstub__dc09c2f794b8d270cf58515acd36f16f22c50e8e485667751a6b6bf54
|
|
|
16878
17625
|
pass
|
|
16879
17626
|
|
|
16880
17627
|
def _typecheckingstub__53947185e012309c9619b70da30bfebeef3a52fedd6d8eca19e9a8e96853c82e(
|
|
16881
|
-
group:
|
|
17628
|
+
group: _IGroupRef_aeb1d9f6,
|
|
16882
17629
|
) -> None:
|
|
16883
17630
|
"""Type checking stubs"""
|
|
16884
17631
|
pass
|
|
@@ -16890,7 +17637,7 @@ def _typecheckingstub__d3b5752936a78a06ee1095be0dc5362932d7db4aa0245a456f4cfea45
|
|
|
16890
17637
|
pass
|
|
16891
17638
|
|
|
16892
17639
|
def _typecheckingstub__d3b5f4b1c957b78ec0d5ae0e80dc7f2471a55d293c6a67e32ef5a2046d89543d(
|
|
16893
|
-
user:
|
|
17640
|
+
user: _IUserRef_b0ccca76,
|
|
16894
17641
|
) -> None:
|
|
16895
17642
|
"""Type checking stubs"""
|
|
16896
17643
|
pass
|
|
@@ -16899,7 +17646,7 @@ def _typecheckingstub__9ac402af2b963b15f12c561030bd732418fdef258857572111b9a8118
|
|
|
16899
17646
|
*,
|
|
16900
17647
|
description: typing.Optional[builtins.str] = None,
|
|
16901
17648
|
document: typing.Optional[PolicyDocument] = None,
|
|
16902
|
-
groups: typing.Optional[typing.Sequence[
|
|
17649
|
+
groups: typing.Optional[typing.Sequence[_IGroupRef_aeb1d9f6]] = None,
|
|
16903
17650
|
managed_policy_name: typing.Optional[builtins.str] = None,
|
|
16904
17651
|
path: typing.Optional[builtins.str] = None,
|
|
16905
17652
|
roles: typing.Optional[typing.Sequence[IRole]] = None,
|
|
@@ -16909,6 +17656,36 @@ def _typecheckingstub__9ac402af2b963b15f12c561030bd732418fdef258857572111b9a8118
|
|
|
16909
17656
|
"""Type checking stubs"""
|
|
16910
17657
|
pass
|
|
16911
17658
|
|
|
17659
|
+
def _typecheckingstub__680e816817bfe60e999b472326e5b4b238c62d88192645c5b0bfcd07a0a2a70a(
|
|
17660
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
17661
|
+
id: builtins.str,
|
|
17662
|
+
*,
|
|
17663
|
+
url: builtins.str,
|
|
17664
|
+
client_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
17665
|
+
oidc_provider_name: typing.Optional[builtins.str] = None,
|
|
17666
|
+
thumbprints: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
17667
|
+
) -> None:
|
|
17668
|
+
"""Type checking stubs"""
|
|
17669
|
+
pass
|
|
17670
|
+
|
|
17671
|
+
def _typecheckingstub__2bbbb35dca97e313a334486d4f1f9ad4d587da8ed7cab00044df51dcffea77cc(
|
|
17672
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
17673
|
+
id: builtins.str,
|
|
17674
|
+
oidc_provider_arn: builtins.str,
|
|
17675
|
+
) -> None:
|
|
17676
|
+
"""Type checking stubs"""
|
|
17677
|
+
pass
|
|
17678
|
+
|
|
17679
|
+
def _typecheckingstub__6981defdaab974b803e9671371e547d5d70ee03239eed02c8d458e1a2e5aa307(
|
|
17680
|
+
*,
|
|
17681
|
+
url: builtins.str,
|
|
17682
|
+
client_ids: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
17683
|
+
oidc_provider_name: typing.Optional[builtins.str] = None,
|
|
17684
|
+
thumbprints: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
17685
|
+
) -> None:
|
|
17686
|
+
"""Type checking stubs"""
|
|
17687
|
+
pass
|
|
17688
|
+
|
|
16912
17689
|
def _typecheckingstub__270fe9db45fea69c973ea36d667d5236d0463996999ebebabf67dbaafe739d10(
|
|
16913
17690
|
scope: _constructs_77d1e7e8.Construct,
|
|
16914
17691
|
id: builtins.str,
|
|
@@ -17311,7 +18088,7 @@ def _typecheckingstub__0475ec23892b6dacf8e0426b204cca68a4091056bb08c20a72dbc06d2
|
|
|
17311
18088
|
grantee: IGrantable,
|
|
17312
18089
|
resource_arns: typing.Sequence[builtins.str],
|
|
17313
18090
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Mapping[builtins.str, typing.Any]]] = None,
|
|
17314
|
-
resource:
|
|
18091
|
+
resource: IResourceWithPolicyV2,
|
|
17315
18092
|
resource_self_arns: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
17316
18093
|
statement: PolicyStatement,
|
|
17317
18094
|
) -> None:
|
|
@@ -17793,7 +18570,7 @@ def _typecheckingstub__4dc4375c7e3b272eef905d1d27c4bd67aa9d9f51ccb424f15955369df
|
|
|
17793
18570
|
pass
|
|
17794
18571
|
|
|
17795
18572
|
def _typecheckingstub__703e9a9603562e94536f153d5ccc52492ff19cc38ed968f3b1f3e31592a8ae7f(
|
|
17796
|
-
saml_provider:
|
|
18573
|
+
saml_provider: _ISAMLProviderRef_6e369856,
|
|
17797
18574
|
conditions: typing.Mapping[builtins.str, typing.Any],
|
|
17798
18575
|
) -> None:
|
|
17799
18576
|
"""Type checking stubs"""
|
|
@@ -17870,7 +18647,7 @@ def _typecheckingstub__f8334d09c64ac01b56e25eccb0dd778a954e4f613c776ac3447cf3f13
|
|
|
17870
18647
|
pass
|
|
17871
18648
|
|
|
17872
18649
|
def _typecheckingstub__11057e2b11d9138bde96aa84215de1b5dba16e8c36af672dbebea8a1c33f4310(
|
|
17873
|
-
open_id_connect_provider:
|
|
18650
|
+
open_id_connect_provider: _IOIDCProviderRef_a866c7c8,
|
|
17874
18651
|
conditions: typing.Optional[typing.Mapping[builtins.str, typing.Any]] = None,
|
|
17875
18652
|
) -> None:
|
|
17876
18653
|
"""Type checking stubs"""
|
|
@@ -17882,3 +18659,6 @@ def _typecheckingstub__c7271e79a3715a166397ac94ded3c4043db8b40c10213ffae6abbb3a1
|
|
|
17882
18659
|
) -> None:
|
|
17883
18660
|
"""Type checking stubs"""
|
|
17884
18661
|
pass
|
|
18662
|
+
|
|
18663
|
+
for cls in [IAccessKey, IAssumeRolePrincipal, IComparablePrincipal, IGrantable, IGroup, IIdentity, IInstanceProfile, IManagedPolicy, IOidcProvider, IOpenIdConnectProvider, IPolicy, IPrincipal, IResourceWithPolicy, IResourceWithPolicyV2, IRole, ISamlProvider, IUser]:
|
|
18664
|
+
typing.cast(typing.Any, cls).__protocol_attrs__ = typing.cast(typing.Any, cls).__protocol_attrs__ - set(['__jsii_proxy_class__', '__jsii_type__'])
|