aws-cdk-lib 2.147.2__py3-none-any.whl → 2.148.0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- aws_cdk/__init__.py +7 -5
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.147.2.jsii.tgz → aws-cdk-lib@2.148.0.jsii.tgz} +0 -0
- aws_cdk/alexa_ask/__init__.py +1 -1
- aws_cdk/assertions/__init__.py +1 -1
- aws_cdk/aws_accessanalyzer/__init__.py +1 -1
- aws_cdk/aws_acmpca/__init__.py +1 -1
- aws_cdk/aws_amazonmq/__init__.py +1 -1
- aws_cdk/aws_amplify/__init__.py +1 -1
- aws_cdk/aws_amplifyuibuilder/__init__.py +1 -1
- aws_cdk/aws_apigateway/__init__.py +1 -1
- aws_cdk/aws_apigatewayv2/__init__.py +1 -1
- aws_cdk/aws_apigatewayv2_authorizers/__init__.py +1 -1
- aws_cdk/aws_apigatewayv2_integrations/__init__.py +1 -1
- aws_cdk/aws_appconfig/__init__.py +1 -1
- aws_cdk/aws_appflow/__init__.py +1 -1
- aws_cdk/aws_appintegrations/__init__.py +1 -1
- aws_cdk/aws_applicationautoscaling/__init__.py +1 -1
- aws_cdk/aws_applicationinsights/__init__.py +1 -1
- aws_cdk/aws_applicationsignals/__init__.py +143 -87
- aws_cdk/aws_appmesh/__init__.py +1 -1
- aws_cdk/aws_apprunner/__init__.py +1 -1
- aws_cdk/aws_appstream/__init__.py +1 -1
- aws_cdk/aws_appsync/__init__.py +1 -1
- aws_cdk/aws_apptest/__init__.py +3042 -0
- aws_cdk/aws_aps/__init__.py +1 -1
- aws_cdk/aws_arczonalshift/__init__.py +1 -1
- aws_cdk/aws_athena/__init__.py +1 -1
- aws_cdk/aws_auditmanager/__init__.py +1 -1
- aws_cdk/aws_autoscaling/__init__.py +1 -1
- aws_cdk/aws_autoscaling_common/__init__.py +1 -1
- aws_cdk/aws_autoscaling_hooktargets/__init__.py +1 -1
- aws_cdk/aws_autoscalingplans/__init__.py +1 -1
- aws_cdk/aws_b2bi/__init__.py +1 -1
- aws_cdk/aws_backup/__init__.py +4 -6
- aws_cdk/aws_backupgateway/__init__.py +1 -1
- aws_cdk/aws_batch/__init__.py +1 -216
- aws_cdk/aws_bcmdataexports/__init__.py +1 -1
- aws_cdk/aws_bedrock/__init__.py +178 -1
- aws_cdk/aws_billingconductor/__init__.py +1 -1
- aws_cdk/aws_budgets/__init__.py +1 -1
- aws_cdk/aws_cassandra/__init__.py +1 -1
- aws_cdk/aws_ce/__init__.py +1 -1
- aws_cdk/aws_certificatemanager/__init__.py +1 -1
- aws_cdk/aws_chatbot/__init__.py +1 -1
- aws_cdk/aws_cleanrooms/__init__.py +1 -1
- aws_cdk/aws_cleanroomsml/__init__.py +1 -1
- aws_cdk/aws_cloud9/__init__.py +1 -1
- aws_cdk/aws_cloudformation/__init__.py +1 -1
- aws_cdk/aws_cloudfront/__init__.py +1 -1
- aws_cdk/aws_cloudfront/experimental/__init__.py +44 -0
- aws_cdk/aws_cloudfront_origins/__init__.py +1 -1
- aws_cdk/aws_cloudtrail/__init__.py +20 -12
- aws_cdk/aws_cloudwatch/__init__.py +1 -1
- aws_cdk/aws_cloudwatch_actions/__init__.py +1 -1
- aws_cdk/aws_codeartifact/__init__.py +11 -9
- aws_cdk/aws_codebuild/__init__.py +193 -6
- aws_cdk/aws_codecommit/__init__.py +1 -1
- aws_cdk/aws_codeconnections/__init__.py +1 -1
- aws_cdk/aws_codedeploy/__init__.py +35 -4
- aws_cdk/aws_codeguruprofiler/__init__.py +1 -1
- aws_cdk/aws_codegurureviewer/__init__.py +1 -1
- aws_cdk/aws_codepipeline/__init__.py +1 -1
- aws_cdk/aws_codepipeline_actions/__init__.py +1 -1
- aws_cdk/aws_codestar/__init__.py +1 -1
- aws_cdk/aws_codestarconnections/__init__.py +1 -1
- aws_cdk/aws_codestarnotifications/__init__.py +1 -1
- aws_cdk/aws_cognito/__init__.py +56 -18
- aws_cdk/aws_comprehend/__init__.py +1 -1
- aws_cdk/aws_config/__init__.py +1 -1
- aws_cdk/aws_connect/__init__.py +1 -1
- aws_cdk/aws_connectcampaigns/__init__.py +1 -1
- aws_cdk/aws_controltower/__init__.py +1 -1
- aws_cdk/aws_cur/__init__.py +1 -1
- aws_cdk/aws_customerprofiles/__init__.py +1 -1
- aws_cdk/aws_databrew/__init__.py +1 -1
- aws_cdk/aws_datapipeline/__init__.py +1 -1
- aws_cdk/aws_datasync/__init__.py +12 -12
- aws_cdk/aws_datazone/__init__.py +1 -1
- aws_cdk/aws_dax/__init__.py +1 -1
- aws_cdk/aws_deadline/__init__.py +3 -2
- aws_cdk/aws_detective/__init__.py +1 -1
- aws_cdk/aws_devicefarm/__init__.py +1 -1
- aws_cdk/aws_devopsguru/__init__.py +1 -1
- aws_cdk/aws_directoryservice/__init__.py +1 -1
- aws_cdk/aws_dlm/__init__.py +1 -1
- aws_cdk/aws_dms/__init__.py +2 -2
- aws_cdk/aws_docdb/__init__.py +1 -1
- aws_cdk/aws_docdbelastic/__init__.py +1 -1
- aws_cdk/aws_dynamodb/__init__.py +1 -1
- aws_cdk/aws_ec2/__init__.py +24 -26
- aws_cdk/aws_ecr/__init__.py +1 -1
- aws_cdk/aws_ecr_assets/__init__.py +1 -1
- aws_cdk/aws_ecs/__init__.py +29 -25
- aws_cdk/aws_ecs_patterns/__init__.py +1 -1
- aws_cdk/aws_efs/__init__.py +1 -1
- aws_cdk/aws_eks/__init__.py +619 -31
- aws_cdk/aws_elasticache/__init__.py +29 -18
- aws_cdk/aws_elasticbeanstalk/__init__.py +1 -1
- aws_cdk/aws_elasticloadbalancing/__init__.py +1 -1
- aws_cdk/aws_elasticloadbalancingv2/__init__.py +4 -4
- aws_cdk/aws_elasticloadbalancingv2_actions/__init__.py +1 -1
- aws_cdk/aws_elasticloadbalancingv2_targets/__init__.py +1 -1
- aws_cdk/aws_elasticsearch/__init__.py +1 -1
- aws_cdk/aws_emr/__init__.py +1 -1
- aws_cdk/aws_emrcontainers/__init__.py +1 -1
- aws_cdk/aws_emrserverless/__init__.py +34 -7
- aws_cdk/aws_entityresolution/__init__.py +1 -1
- aws_cdk/aws_events/__init__.py +1 -1
- aws_cdk/aws_events_targets/__init__.py +1 -1
- aws_cdk/aws_eventschemas/__init__.py +1 -1
- aws_cdk/aws_evidently/__init__.py +1 -1
- aws_cdk/aws_finspace/__init__.py +1 -1
- aws_cdk/aws_fis/__init__.py +1 -1
- aws_cdk/aws_fms/__init__.py +1 -1
- aws_cdk/aws_forecast/__init__.py +1 -1
- aws_cdk/aws_frauddetector/__init__.py +1 -1
- aws_cdk/aws_fsx/__init__.py +186 -2
- aws_cdk/aws_gamelift/__init__.py +10 -6
- aws_cdk/aws_globalaccelerator/__init__.py +1 -1
- aws_cdk/aws_globalaccelerator_endpoints/__init__.py +1 -1
- aws_cdk/aws_glue/__init__.py +18 -14
- aws_cdk/aws_grafana/__init__.py +9 -5
- aws_cdk/aws_greengrass/__init__.py +1 -1
- aws_cdk/aws_greengrassv2/__init__.py +1 -1
- aws_cdk/aws_groundstation/__init__.py +1 -1
- aws_cdk/aws_guardduty/__init__.py +171 -132
- aws_cdk/aws_healthimaging/__init__.py +1 -1
- aws_cdk/aws_healthlake/__init__.py +1 -1
- aws_cdk/aws_iam/__init__.py +1 -1
- aws_cdk/aws_identitystore/__init__.py +1 -1
- aws_cdk/aws_imagebuilder/__init__.py +1 -1
- aws_cdk/aws_inspector/__init__.py +1 -1
- aws_cdk/aws_inspectorv2/__init__.py +1 -1
- aws_cdk/aws_internetmonitor/__init__.py +1 -1
- aws_cdk/aws_iot/__init__.py +1 -1
- aws_cdk/aws_iot1click/__init__.py +1 -1
- aws_cdk/aws_iotanalytics/__init__.py +1 -1
- aws_cdk/aws_iotcoredeviceadvisor/__init__.py +1 -1
- aws_cdk/aws_iotevents/__init__.py +1 -1
- aws_cdk/aws_iotfleethub/__init__.py +1 -1
- aws_cdk/aws_iotfleetwise/__init__.py +1 -1
- aws_cdk/aws_iotsitewise/__init__.py +1 -1
- aws_cdk/aws_iotthingsgraph/__init__.py +1 -1
- aws_cdk/aws_iottwinmaker/__init__.py +1 -1
- aws_cdk/aws_iotwireless/__init__.py +1 -1
- aws_cdk/aws_ivs/__init__.py +1 -1
- aws_cdk/aws_ivschat/__init__.py +1 -1
- aws_cdk/aws_kafkaconnect/__init__.py +1 -1
- aws_cdk/aws_kendra/__init__.py +1 -1
- aws_cdk/aws_kendraranking/__init__.py +1 -1
- aws_cdk/aws_kinesis/__init__.py +1 -1
- aws_cdk/aws_kinesisanalytics/__init__.py +93 -1
- aws_cdk/aws_kinesisanalyticsv2/__init__.py +93 -1
- aws_cdk/aws_kinesisfirehose/__init__.py +301 -94
- aws_cdk/aws_kinesisvideo/__init__.py +1 -1
- aws_cdk/aws_kms/__init__.py +16 -15
- aws_cdk/aws_lakeformation/__init__.py +1 -1
- aws_cdk/aws_lambda/__init__.py +160 -1
- aws_cdk/aws_lambda_destinations/__init__.py +1 -1
- aws_cdk/aws_lambda_event_sources/__init__.py +1 -1
- aws_cdk/aws_lambda_nodejs/__init__.py +1 -1
- aws_cdk/aws_lex/__init__.py +1 -1
- aws_cdk/aws_licensemanager/__init__.py +1 -1
- aws_cdk/aws_lightsail/__init__.py +1 -1
- aws_cdk/aws_location/__init__.py +1 -1
- aws_cdk/aws_logs/__init__.py +1 -1
- aws_cdk/aws_logs_destinations/__init__.py +1 -1
- aws_cdk/aws_lookoutequipment/__init__.py +1 -1
- aws_cdk/aws_lookoutmetrics/__init__.py +1 -1
- aws_cdk/aws_lookoutvision/__init__.py +1 -1
- aws_cdk/aws_m2/__init__.py +1 -1
- aws_cdk/aws_macie/__init__.py +1 -1
- aws_cdk/aws_managedblockchain/__init__.py +1 -1
- aws_cdk/aws_mediaconnect/__init__.py +1 -1
- aws_cdk/aws_mediaconvert/__init__.py +1 -1
- aws_cdk/aws_medialive/__init__.py +1 -1
- aws_cdk/aws_mediapackage/__init__.py +1 -1
- aws_cdk/aws_mediapackagev2/__init__.py +33 -1
- aws_cdk/aws_mediastore/__init__.py +1 -1
- aws_cdk/aws_mediatailor/__init__.py +1 -1
- aws_cdk/aws_memorydb/__init__.py +1 -1
- aws_cdk/aws_msk/__init__.py +1 -1
- aws_cdk/aws_mwaa/__init__.py +1 -1
- aws_cdk/aws_neptune/__init__.py +1 -1
- aws_cdk/aws_neptunegraph/__init__.py +1 -1
- aws_cdk/aws_networkfirewall/__init__.py +1 -1
- aws_cdk/aws_networkmanager/__init__.py +10 -10
- aws_cdk/aws_nimblestudio/__init__.py +1 -1
- aws_cdk/aws_oam/__init__.py +1 -1
- aws_cdk/aws_omics/__init__.py +2 -2
- aws_cdk/aws_opensearchserverless/__init__.py +1 -1
- aws_cdk/aws_opensearchservice/__init__.py +1 -1
- aws_cdk/aws_opsworks/__init__.py +1 -1
- aws_cdk/aws_opsworkscm/__init__.py +8 -4
- aws_cdk/aws_organizations/__init__.py +1 -1
- aws_cdk/aws_osis/__init__.py +1 -1
- aws_cdk/aws_panorama/__init__.py +1 -1
- aws_cdk/aws_paymentcryptography/__init__.py +1 -1
- aws_cdk/aws_pcaconnectorad/__init__.py +1 -1
- aws_cdk/aws_personalize/__init__.py +1 -1
- aws_cdk/aws_pinpoint/__init__.py +1 -1
- aws_cdk/aws_pinpointemail/__init__.py +1 -1
- aws_cdk/aws_pipes/__init__.py +1 -1
- aws_cdk/aws_proton/__init__.py +1 -1
- aws_cdk/aws_qbusiness/__init__.py +1 -1
- aws_cdk/aws_qldb/__init__.py +1 -1
- aws_cdk/aws_quicksight/__init__.py +1 -1
- aws_cdk/aws_ram/__init__.py +1 -1
- aws_cdk/aws_rds/__init__.py +515 -34
- aws_cdk/aws_redshift/__init__.py +10 -10
- aws_cdk/aws_redshiftserverless/__init__.py +1 -1
- aws_cdk/aws_refactorspaces/__init__.py +1 -1
- aws_cdk/aws_rekognition/__init__.py +1 -1
- aws_cdk/aws_resiliencehub/__init__.py +1 -1
- aws_cdk/aws_resourceexplorer2/__init__.py +1 -1
- aws_cdk/aws_resourcegroups/__init__.py +1 -1
- aws_cdk/aws_robomaker/__init__.py +1 -1
- aws_cdk/aws_rolesanywhere/__init__.py +1 -1
- aws_cdk/aws_route53/__init__.py +1 -1
- aws_cdk/aws_route53_patterns/__init__.py +1 -1
- aws_cdk/aws_route53_targets/__init__.py +1 -1
- aws_cdk/aws_route53profiles/__init__.py +1 -1
- aws_cdk/aws_route53recoverycontrol/__init__.py +1 -1
- aws_cdk/aws_route53recoveryreadiness/__init__.py +1 -1
- aws_cdk/aws_route53resolver/__init__.py +1 -1
- aws_cdk/aws_rum/__init__.py +1 -1
- aws_cdk/aws_s3/__init__.py +30 -6
- aws_cdk/aws_s3_assets/__init__.py +1 -1
- aws_cdk/aws_s3_deployment/__init__.py +1 -1
- aws_cdk/aws_s3_notifications/__init__.py +1 -1
- aws_cdk/aws_s3express/__init__.py +1 -1
- aws_cdk/aws_s3objectlambda/__init__.py +1 -1
- aws_cdk/aws_s3outposts/__init__.py +1 -1
- aws_cdk/aws_sagemaker/__init__.py +1 -1
- aws_cdk/aws_sam/__init__.py +1 -1
- aws_cdk/aws_scheduler/__init__.py +1 -1
- aws_cdk/aws_sdb/__init__.py +1 -1
- aws_cdk/aws_secretsmanager/__init__.py +1 -1
- aws_cdk/aws_securityhub/__init__.py +1 -1
- aws_cdk/aws_securitylake/__init__.py +1 -1
- aws_cdk/aws_servicecatalog/__init__.py +1 -1
- aws_cdk/aws_servicecatalogappregistry/__init__.py +1 -1
- aws_cdk/aws_servicediscovery/__init__.py +21 -4
- aws_cdk/aws_ses/__init__.py +86 -1
- aws_cdk/aws_ses_actions/__init__.py +1 -1
- aws_cdk/aws_shield/__init__.py +1 -1
- aws_cdk/aws_signer/__init__.py +42 -1
- aws_cdk/aws_simspaceweaver/__init__.py +1 -1
- aws_cdk/aws_sns/__init__.py +1 -1
- aws_cdk/aws_sns_subscriptions/__init__.py +1 -1
- aws_cdk/aws_sqs/__init__.py +7 -9
- aws_cdk/aws_ssm/__init__.py +106 -37
- aws_cdk/aws_ssmcontacts/__init__.py +1 -1
- aws_cdk/aws_ssmincidents/__init__.py +1 -1
- aws_cdk/aws_sso/__init__.py +1 -1
- aws_cdk/aws_stepfunctions/__init__.py +1 -1
- aws_cdk/aws_stepfunctions_tasks/__init__.py +793 -152
- aws_cdk/aws_supportapp/__init__.py +1 -1
- aws_cdk/aws_synthetics/__init__.py +1 -1
- aws_cdk/aws_systemsmanagersap/__init__.py +1 -1
- aws_cdk/aws_timestream/__init__.py +1 -1
- aws_cdk/aws_transfer/__init__.py +1 -1
- aws_cdk/aws_verifiedpermissions/__init__.py +602 -9
- aws_cdk/aws_voiceid/__init__.py +1 -1
- aws_cdk/aws_vpclattice/__init__.py +1 -1
- aws_cdk/aws_waf/__init__.py +1 -1
- aws_cdk/aws_wafregional/__init__.py +1 -1
- aws_cdk/aws_wafv2/__init__.py +1 -1
- aws_cdk/aws_wisdom/__init__.py +1 -1
- aws_cdk/aws_workspaces/__init__.py +774 -1
- aws_cdk/aws_workspacesthinclient/__init__.py +1 -1
- aws_cdk/aws_workspacesweb/__init__.py +5 -5
- aws_cdk/aws_xray/__init__.py +1 -1
- aws_cdk/cloud_assembly_schema/__init__.py +1 -1
- aws_cdk/cloudformation_include/__init__.py +1 -1
- aws_cdk/custom_resources/__init__.py +1 -1
- aws_cdk/cx_api/__init__.py +19 -1
- aws_cdk/lambda_layer_awscli/__init__.py +1 -1
- aws_cdk/lambda_layer_kubectl/__init__.py +1 -1
- aws_cdk/lambda_layer_node_proxy_agent/__init__.py +1 -1
- aws_cdk/pipelines/__init__.py +2 -2
- aws_cdk/region_info/__init__.py +1 -1
- aws_cdk/triggers/__init__.py +1 -1
- {aws_cdk_lib-2.147.2.dist-info → aws_cdk_lib-2.148.0.dist-info}/METADATA +2 -2
- aws_cdk_lib-2.148.0.dist-info/RECORD +291 -0
- aws_cdk_lib-2.147.2.dist-info/RECORD +0 -290
- {aws_cdk_lib-2.147.2.dist-info → aws_cdk_lib-2.148.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.147.2.dist-info → aws_cdk_lib-2.148.0.dist-info}/NOTICE +0 -0
- {aws_cdk_lib-2.147.2.dist-info → aws_cdk_lib-2.148.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.147.2.dist-info → aws_cdk_lib-2.148.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_eks/__init__.py
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
'''
|
|
1
|
+
r'''
|
|
2
2
|
# Amazon EKS Construct Library
|
|
3
3
|
|
|
4
4
|
This construct library allows you to define [Amazon Elastic Container Service for Kubernetes (EKS)](https://aws.amazon.com/eks/) clusters.
|
|
@@ -47,6 +47,7 @@ In addition, the library also supports defining Kubernetes resource manifests wi
|
|
|
47
47
|
* [Cluster Security Group](#cluster-security-group)
|
|
48
48
|
* [Node SSH Access](#node-ssh-access)
|
|
49
49
|
* [Service Accounts](#service-accounts)
|
|
50
|
+
* [Pod Identities](#pod-identities)
|
|
50
51
|
* [Applying Kubernetes Resources](#applying-kubernetes-resources)
|
|
51
52
|
|
|
52
53
|
* [Kubernetes Manifests](#kubernetes-manifests)
|
|
@@ -1356,6 +1357,45 @@ Note that adding service accounts requires running `kubectl` commands against th
|
|
|
1356
1357
|
This means you must also pass the `kubectlRoleArn` when importing the cluster.
|
|
1357
1358
|
See [Using existing Clusters](https://github.com/aws/aws-cdk/tree/main/packages/aws-cdk-lib/aws-eks#using-existing-clusters).
|
|
1358
1359
|
|
|
1360
|
+
### Pod Identities
|
|
1361
|
+
|
|
1362
|
+
[Amazon EKS Pod Identities](https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html) is a feature that simplifies how
|
|
1363
|
+
Kubernetes applications running on Amazon EKS can obtain AWS IAM credentials. It provides a way to associate an IAM role with a
|
|
1364
|
+
Kubernetes service account, allowing pods to retrieve temporary AWS credentials without the need
|
|
1365
|
+
to manage IAM roles and policies directly.
|
|
1366
|
+
|
|
1367
|
+
By default, `ServiceAccount` creates an `OpenIdConnectProvider` for
|
|
1368
|
+
[IRSA(IAM roles for service accounts)](https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html) if
|
|
1369
|
+
`identityType` is `undefined` or `IdentityType.IRSA`.
|
|
1370
|
+
|
|
1371
|
+
You may opt in Amaozn EKS Pod Identities as below:
|
|
1372
|
+
|
|
1373
|
+
```python
|
|
1374
|
+
# cluster: eks.Cluster
|
|
1375
|
+
|
|
1376
|
+
|
|
1377
|
+
eks.ServiceAccount(self, "ServiceAccount",
|
|
1378
|
+
cluster=cluster,
|
|
1379
|
+
name="test-sa",
|
|
1380
|
+
namespace="default",
|
|
1381
|
+
identity_type=eks.IdentityType.POD_IDENTITY
|
|
1382
|
+
)
|
|
1383
|
+
```
|
|
1384
|
+
|
|
1385
|
+
When you create the ServiceAccount with the `identityType` set to `POD_IDENTITY`,
|
|
1386
|
+
`ServiceAccount` contruct will perform the following actions behind the scenes:
|
|
1387
|
+
|
|
1388
|
+
1. It will create an IAM role with the necessary trust policy to allow the "pods.eks.amazonaws.com" principal to assume the role.
|
|
1389
|
+
This trust policy grants the EKS service the permission to retrieve temporary AWS credentials on behalf of the pods using this service account.
|
|
1390
|
+
2. It will enable the "Amazon EKS Pod Identity Agent" add-on on the EKS cluster. This add-on is responsible for managing the temporary
|
|
1391
|
+
AWS credentials and making them available to the pods.
|
|
1392
|
+
3. It will create an association between the IAM role and the Kubernetes service account. This association allows the pods using this
|
|
1393
|
+
service account to obtain the temporary AWS credentials from the associated IAM role.
|
|
1394
|
+
|
|
1395
|
+
This simplifies the process of configuring IAM permissions for your Kubernetes applications running on Amazon EKS. It handles the creation of the IAM role,
|
|
1396
|
+
the installation of the Pod Identity Agent add-on, and the association between the role and the service account, making it easier to manage AWS credentials
|
|
1397
|
+
for your applications.
|
|
1398
|
+
|
|
1359
1399
|
## Applying Kubernetes Resources
|
|
1360
1400
|
|
|
1361
1401
|
The library supports several popular resource deployment mechanisms, among which are:
|
|
@@ -2533,6 +2573,159 @@ class AccessScopeType(enum.Enum):
|
|
|
2533
2573
|
'''The policy applies to the entire cluster.'''
|
|
2534
2574
|
|
|
2535
2575
|
|
|
2576
|
+
@jsii.data_type(
|
|
2577
|
+
jsii_type="aws-cdk-lib.aws_eks.AddonAttributes",
|
|
2578
|
+
jsii_struct_bases=[],
|
|
2579
|
+
name_mapping={"addon_name": "addonName", "cluster_name": "clusterName"},
|
|
2580
|
+
)
|
|
2581
|
+
class AddonAttributes:
|
|
2582
|
+
def __init__(self, *, addon_name: builtins.str, cluster_name: builtins.str) -> None:
|
|
2583
|
+
'''Represents the attributes of an addon for an Amazon EKS cluster.
|
|
2584
|
+
|
|
2585
|
+
:param addon_name: The name of the addon.
|
|
2586
|
+
:param cluster_name: The name of the Amazon EKS cluster the addon is associated with.
|
|
2587
|
+
|
|
2588
|
+
:exampleMetadata: fixture=_generated
|
|
2589
|
+
|
|
2590
|
+
Example::
|
|
2591
|
+
|
|
2592
|
+
# The code below shows an example of how to instantiate this type.
|
|
2593
|
+
# The values are placeholders you should change.
|
|
2594
|
+
from aws_cdk import aws_eks as eks
|
|
2595
|
+
|
|
2596
|
+
addon_attributes = eks.AddonAttributes(
|
|
2597
|
+
addon_name="addonName",
|
|
2598
|
+
cluster_name="clusterName"
|
|
2599
|
+
)
|
|
2600
|
+
'''
|
|
2601
|
+
if __debug__:
|
|
2602
|
+
type_hints = typing.get_type_hints(_typecheckingstub__77d0746018f1cbe3ed090d492996344d98293f7a76446705a3ac043408c02cfe)
|
|
2603
|
+
check_type(argname="argument addon_name", value=addon_name, expected_type=type_hints["addon_name"])
|
|
2604
|
+
check_type(argname="argument cluster_name", value=cluster_name, expected_type=type_hints["cluster_name"])
|
|
2605
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2606
|
+
"addon_name": addon_name,
|
|
2607
|
+
"cluster_name": cluster_name,
|
|
2608
|
+
}
|
|
2609
|
+
|
|
2610
|
+
@builtins.property
|
|
2611
|
+
def addon_name(self) -> builtins.str:
|
|
2612
|
+
'''The name of the addon.'''
|
|
2613
|
+
result = self._values.get("addon_name")
|
|
2614
|
+
assert result is not None, "Required property 'addon_name' is missing"
|
|
2615
|
+
return typing.cast(builtins.str, result)
|
|
2616
|
+
|
|
2617
|
+
@builtins.property
|
|
2618
|
+
def cluster_name(self) -> builtins.str:
|
|
2619
|
+
'''The name of the Amazon EKS cluster the addon is associated with.'''
|
|
2620
|
+
result = self._values.get("cluster_name")
|
|
2621
|
+
assert result is not None, "Required property 'cluster_name' is missing"
|
|
2622
|
+
return typing.cast(builtins.str, result)
|
|
2623
|
+
|
|
2624
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2625
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2626
|
+
|
|
2627
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2628
|
+
return not (rhs == self)
|
|
2629
|
+
|
|
2630
|
+
def __repr__(self) -> str:
|
|
2631
|
+
return "AddonAttributes(%s)" % ", ".join(
|
|
2632
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2633
|
+
)
|
|
2634
|
+
|
|
2635
|
+
|
|
2636
|
+
@jsii.data_type(
|
|
2637
|
+
jsii_type="aws-cdk-lib.aws_eks.AddonProps",
|
|
2638
|
+
jsii_struct_bases=[],
|
|
2639
|
+
name_mapping={
|
|
2640
|
+
"addon_name": "addonName",
|
|
2641
|
+
"cluster": "cluster",
|
|
2642
|
+
"addon_version": "addonVersion",
|
|
2643
|
+
},
|
|
2644
|
+
)
|
|
2645
|
+
class AddonProps:
|
|
2646
|
+
def __init__(
|
|
2647
|
+
self,
|
|
2648
|
+
*,
|
|
2649
|
+
addon_name: builtins.str,
|
|
2650
|
+
cluster: "ICluster",
|
|
2651
|
+
addon_version: typing.Optional[builtins.str] = None,
|
|
2652
|
+
) -> None:
|
|
2653
|
+
'''Properties for creating an Amazon EKS Add-On.
|
|
2654
|
+
|
|
2655
|
+
:param addon_name: Name of the Add-On.
|
|
2656
|
+
:param cluster: The EKS cluster the Add-On is associated with.
|
|
2657
|
+
:param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versons. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
|
|
2658
|
+
|
|
2659
|
+
:exampleMetadata: fixture=_generated
|
|
2660
|
+
|
|
2661
|
+
Example::
|
|
2662
|
+
|
|
2663
|
+
# The code below shows an example of how to instantiate this type.
|
|
2664
|
+
# The values are placeholders you should change.
|
|
2665
|
+
from aws_cdk import aws_eks as eks
|
|
2666
|
+
|
|
2667
|
+
# cluster: eks.Cluster
|
|
2668
|
+
|
|
2669
|
+
addon_props = eks.AddonProps(
|
|
2670
|
+
addon_name="addonName",
|
|
2671
|
+
cluster=cluster,
|
|
2672
|
+
|
|
2673
|
+
# the properties below are optional
|
|
2674
|
+
addon_version="addonVersion"
|
|
2675
|
+
)
|
|
2676
|
+
'''
|
|
2677
|
+
if __debug__:
|
|
2678
|
+
type_hints = typing.get_type_hints(_typecheckingstub__febc9f6cb4243d885b1b1838be38d633e7c5fc6534eaaf731f00a24653ee7591)
|
|
2679
|
+
check_type(argname="argument addon_name", value=addon_name, expected_type=type_hints["addon_name"])
|
|
2680
|
+
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
2681
|
+
check_type(argname="argument addon_version", value=addon_version, expected_type=type_hints["addon_version"])
|
|
2682
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2683
|
+
"addon_name": addon_name,
|
|
2684
|
+
"cluster": cluster,
|
|
2685
|
+
}
|
|
2686
|
+
if addon_version is not None:
|
|
2687
|
+
self._values["addon_version"] = addon_version
|
|
2688
|
+
|
|
2689
|
+
@builtins.property
|
|
2690
|
+
def addon_name(self) -> builtins.str:
|
|
2691
|
+
'''Name of the Add-On.'''
|
|
2692
|
+
result = self._values.get("addon_name")
|
|
2693
|
+
assert result is not None, "Required property 'addon_name' is missing"
|
|
2694
|
+
return typing.cast(builtins.str, result)
|
|
2695
|
+
|
|
2696
|
+
@builtins.property
|
|
2697
|
+
def cluster(self) -> "ICluster":
|
|
2698
|
+
'''The EKS cluster the Add-On is associated with.'''
|
|
2699
|
+
result = self._values.get("cluster")
|
|
2700
|
+
assert result is not None, "Required property 'cluster' is missing"
|
|
2701
|
+
return typing.cast("ICluster", result)
|
|
2702
|
+
|
|
2703
|
+
@builtins.property
|
|
2704
|
+
def addon_version(self) -> typing.Optional[builtins.str]:
|
|
2705
|
+
'''Version of the Add-On.
|
|
2706
|
+
|
|
2707
|
+
You can check all available versions with describe-addon-versons.
|
|
2708
|
+
For example, this lists all available versions for the ``eks-pod-identity-agent`` addon:
|
|
2709
|
+
$ aws eks describe-addon-versions --addon-name eks-pod-identity-agent
|
|
2710
|
+
--query 'addons[*].addonVersions[*].addonVersion'
|
|
2711
|
+
|
|
2712
|
+
:default: the latest version.
|
|
2713
|
+
'''
|
|
2714
|
+
result = self._values.get("addon_version")
|
|
2715
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2716
|
+
|
|
2717
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2718
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2719
|
+
|
|
2720
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2721
|
+
return not (rhs == self)
|
|
2722
|
+
|
|
2723
|
+
def __repr__(self) -> str:
|
|
2724
|
+
return "AddonProps(%s)" % ", ".join(
|
|
2725
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2726
|
+
)
|
|
2727
|
+
|
|
2728
|
+
|
|
2536
2729
|
class AlbController(
|
|
2537
2730
|
_constructs_77d1e7e8.Construct,
|
|
2538
2731
|
metaclass=jsii.JSIIMeta,
|
|
@@ -5510,6 +5703,7 @@ class CfnCluster(
|
|
|
5510
5703
|
authentication_mode="authenticationMode",
|
|
5511
5704
|
bootstrap_cluster_creator_admin_permissions=False
|
|
5512
5705
|
),
|
|
5706
|
+
bootstrap_self_managed_addons=False,
|
|
5513
5707
|
encryption_config=[eks.CfnCluster.EncryptionConfigProperty(
|
|
5514
5708
|
provider=eks.CfnCluster.ProviderProperty(
|
|
5515
5709
|
key_arn="keyArn"
|
|
@@ -5554,6 +5748,7 @@ class CfnCluster(
|
|
|
5554
5748
|
resources_vpc_config: typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.ResourcesVpcConfigProperty", typing.Dict[builtins.str, typing.Any]]],
|
|
5555
5749
|
role_arn: builtins.str,
|
|
5556
5750
|
access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.AccessConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5751
|
+
bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
5557
5752
|
encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.EncryptionConfigProperty", typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
5558
5753
|
kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.KubernetesNetworkConfigProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
5559
5754
|
logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union["CfnCluster.LoggingProperty", typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -5568,6 +5763,7 @@ class CfnCluster(
|
|
|
5568
5763
|
:param resources_vpc_config: The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see `Cluster VPC Considerations <https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html>`_ and `Cluster Security Group Considerations <https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html>`_ in the *Amazon EKS User Guide* . You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.
|
|
5569
5764
|
:param role_arn: The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. For more information, see `Amazon EKS Service IAM Role <https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html>`_ in the **Amazon EKS User Guide** .
|
|
5570
5765
|
:param access_config: The access configuration for the cluster.
|
|
5766
|
+
:param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
|
|
5571
5767
|
:param encryption_config: The encryption configuration for the cluster.
|
|
5572
5768
|
:param kubernetes_network_config: The Kubernetes network configuration for the cluster.
|
|
5573
5769
|
:param logging: The logging configuration for your cluster.
|
|
@@ -5584,6 +5780,7 @@ class CfnCluster(
|
|
|
5584
5780
|
resources_vpc_config=resources_vpc_config,
|
|
5585
5781
|
role_arn=role_arn,
|
|
5586
5782
|
access_config=access_config,
|
|
5783
|
+
bootstrap_self_managed_addons=bootstrap_self_managed_addons,
|
|
5587
5784
|
encryption_config=encryption_config,
|
|
5588
5785
|
kubernetes_network_config=kubernetes_network_config,
|
|
5589
5786
|
logging=logging,
|
|
@@ -5765,6 +5962,24 @@ class CfnCluster(
|
|
|
5765
5962
|
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5766
5963
|
jsii.set(self, "accessConfig", value)
|
|
5767
5964
|
|
|
5965
|
+
@builtins.property
|
|
5966
|
+
@jsii.member(jsii_name="bootstrapSelfManagedAddons")
|
|
5967
|
+
def bootstrap_self_managed_addons(
|
|
5968
|
+
self,
|
|
5969
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
5970
|
+
'''If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed.'''
|
|
5971
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], jsii.get(self, "bootstrapSelfManagedAddons"))
|
|
5972
|
+
|
|
5973
|
+
@bootstrap_self_managed_addons.setter
|
|
5974
|
+
def bootstrap_self_managed_addons(
|
|
5975
|
+
self,
|
|
5976
|
+
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
5977
|
+
) -> None:
|
|
5978
|
+
if __debug__:
|
|
5979
|
+
type_hints = typing.get_type_hints(_typecheckingstub__1b3725246139251af199def1d548b17a13e8ddd4df825377563ea01cdea555c4)
|
|
5980
|
+
check_type(argname="argument value", value=value, expected_type=type_hints["value"])
|
|
5981
|
+
jsii.set(self, "bootstrapSelfManagedAddons", value)
|
|
5982
|
+
|
|
5768
5983
|
@builtins.property
|
|
5769
5984
|
@jsii.member(jsii_name="encryptionConfig")
|
|
5770
5985
|
def encryption_config(
|
|
@@ -6688,6 +6903,7 @@ class CfnCluster(
|
|
|
6688
6903
|
"resources_vpc_config": "resourcesVpcConfig",
|
|
6689
6904
|
"role_arn": "roleArn",
|
|
6690
6905
|
"access_config": "accessConfig",
|
|
6906
|
+
"bootstrap_self_managed_addons": "bootstrapSelfManagedAddons",
|
|
6691
6907
|
"encryption_config": "encryptionConfig",
|
|
6692
6908
|
"kubernetes_network_config": "kubernetesNetworkConfig",
|
|
6693
6909
|
"logging": "logging",
|
|
@@ -6704,6 +6920,7 @@ class CfnClusterProps:
|
|
|
6704
6920
|
resources_vpc_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ResourcesVpcConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
6705
6921
|
role_arn: builtins.str,
|
|
6706
6922
|
access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.AccessConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6923
|
+
bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
6707
6924
|
encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
6708
6925
|
kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
6709
6926
|
logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -6717,6 +6934,7 @@ class CfnClusterProps:
|
|
|
6717
6934
|
:param resources_vpc_config: The VPC configuration that's used by the cluster control plane. Amazon EKS VPC resources have specific requirements to work properly with Kubernetes. For more information, see `Cluster VPC Considerations <https://docs.aws.amazon.com/eks/latest/userguide/network_reqs.html>`_ and `Cluster Security Group Considerations <https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html>`_ in the *Amazon EKS User Guide* . You must specify at least two subnets. You can specify up to five security groups, but we recommend that you use a dedicated security group for your cluster control plane.
|
|
6718
6935
|
:param role_arn: The Amazon Resource Name (ARN) of the IAM role that provides permissions for the Kubernetes control plane to make calls to AWS API operations on your behalf. For more information, see `Amazon EKS Service IAM Role <https://docs.aws.amazon.com/eks/latest/userguide/service_IAM_role.html>`_ in the **Amazon EKS User Guide** .
|
|
6719
6936
|
:param access_config: The access configuration for the cluster.
|
|
6937
|
+
:param bootstrap_self_managed_addons: If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed. The default networking addons include vpc-cni, coredns, and kube-proxy. Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
|
|
6720
6938
|
:param encryption_config: The encryption configuration for the cluster.
|
|
6721
6939
|
:param kubernetes_network_config: The Kubernetes network configuration for the cluster.
|
|
6722
6940
|
:param logging: The logging configuration for your cluster.
|
|
@@ -6751,6 +6969,7 @@ class CfnClusterProps:
|
|
|
6751
6969
|
authentication_mode="authenticationMode",
|
|
6752
6970
|
bootstrap_cluster_creator_admin_permissions=False
|
|
6753
6971
|
),
|
|
6972
|
+
bootstrap_self_managed_addons=False,
|
|
6754
6973
|
encryption_config=[eks.CfnCluster.EncryptionConfigProperty(
|
|
6755
6974
|
provider=eks.CfnCluster.ProviderProperty(
|
|
6756
6975
|
key_arn="keyArn"
|
|
@@ -6791,6 +7010,7 @@ class CfnClusterProps:
|
|
|
6791
7010
|
check_type(argname="argument resources_vpc_config", value=resources_vpc_config, expected_type=type_hints["resources_vpc_config"])
|
|
6792
7011
|
check_type(argname="argument role_arn", value=role_arn, expected_type=type_hints["role_arn"])
|
|
6793
7012
|
check_type(argname="argument access_config", value=access_config, expected_type=type_hints["access_config"])
|
|
7013
|
+
check_type(argname="argument bootstrap_self_managed_addons", value=bootstrap_self_managed_addons, expected_type=type_hints["bootstrap_self_managed_addons"])
|
|
6794
7014
|
check_type(argname="argument encryption_config", value=encryption_config, expected_type=type_hints["encryption_config"])
|
|
6795
7015
|
check_type(argname="argument kubernetes_network_config", value=kubernetes_network_config, expected_type=type_hints["kubernetes_network_config"])
|
|
6796
7016
|
check_type(argname="argument logging", value=logging, expected_type=type_hints["logging"])
|
|
@@ -6804,6 +7024,8 @@ class CfnClusterProps:
|
|
|
6804
7024
|
}
|
|
6805
7025
|
if access_config is not None:
|
|
6806
7026
|
self._values["access_config"] = access_config
|
|
7027
|
+
if bootstrap_self_managed_addons is not None:
|
|
7028
|
+
self._values["bootstrap_self_managed_addons"] = bootstrap_self_managed_addons
|
|
6807
7029
|
if encryption_config is not None:
|
|
6808
7030
|
self._values["encryption_config"] = encryption_config
|
|
6809
7031
|
if kubernetes_network_config is not None:
|
|
@@ -6856,6 +7078,21 @@ class CfnClusterProps:
|
|
|
6856
7078
|
result = self._values.get("access_config")
|
|
6857
7079
|
return typing.cast(typing.Optional[typing.Union[_IResolvable_da3f097b, CfnCluster.AccessConfigProperty]], result)
|
|
6858
7080
|
|
|
7081
|
+
@builtins.property
|
|
7082
|
+
def bootstrap_self_managed_addons(
|
|
7083
|
+
self,
|
|
7084
|
+
) -> typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]]:
|
|
7085
|
+
'''If you set this value to ``False`` when creating a cluster, the default networking add-ons will not be installed.
|
|
7086
|
+
|
|
7087
|
+
The default networking addons include vpc-cni, coredns, and kube-proxy.
|
|
7088
|
+
|
|
7089
|
+
Use this option when you plan to install third-party alternative add-ons or self-manage the default networking add-ons.
|
|
7090
|
+
|
|
7091
|
+
:see: http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-cluster.html#cfn-eks-cluster-bootstrapselfmanagedaddons
|
|
7092
|
+
'''
|
|
7093
|
+
result = self._values.get("bootstrap_self_managed_addons")
|
|
7094
|
+
return typing.cast(typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]], result)
|
|
7095
|
+
|
|
6859
7096
|
@builtins.property
|
|
6860
7097
|
def encryption_config(
|
|
6861
7098
|
self,
|
|
@@ -11775,6 +12012,58 @@ class _IAccessPolicyProxy:
|
|
|
11775
12012
|
typing.cast(typing.Any, IAccessPolicy).__jsii_proxy_class__ = lambda : _IAccessPolicyProxy
|
|
11776
12013
|
|
|
11777
12014
|
|
|
12015
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_eks.IAddon")
|
|
12016
|
+
class IAddon(_IResource_c80c4260, typing_extensions.Protocol):
|
|
12017
|
+
'''Represents an Amazon EKS Add-On.'''
|
|
12018
|
+
|
|
12019
|
+
@builtins.property
|
|
12020
|
+
@jsii.member(jsii_name="addonArn")
|
|
12021
|
+
def addon_arn(self) -> builtins.str:
|
|
12022
|
+
'''ARN of the Add-On.
|
|
12023
|
+
|
|
12024
|
+
:attribute: true
|
|
12025
|
+
'''
|
|
12026
|
+
...
|
|
12027
|
+
|
|
12028
|
+
@builtins.property
|
|
12029
|
+
@jsii.member(jsii_name="addonName")
|
|
12030
|
+
def addon_name(self) -> builtins.str:
|
|
12031
|
+
'''Name of the Add-On.
|
|
12032
|
+
|
|
12033
|
+
:attribute: true
|
|
12034
|
+
'''
|
|
12035
|
+
...
|
|
12036
|
+
|
|
12037
|
+
|
|
12038
|
+
class _IAddonProxy(
|
|
12039
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
12040
|
+
):
|
|
12041
|
+
'''Represents an Amazon EKS Add-On.'''
|
|
12042
|
+
|
|
12043
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_eks.IAddon"
|
|
12044
|
+
|
|
12045
|
+
@builtins.property
|
|
12046
|
+
@jsii.member(jsii_name="addonArn")
|
|
12047
|
+
def addon_arn(self) -> builtins.str:
|
|
12048
|
+
'''ARN of the Add-On.
|
|
12049
|
+
|
|
12050
|
+
:attribute: true
|
|
12051
|
+
'''
|
|
12052
|
+
return typing.cast(builtins.str, jsii.get(self, "addonArn"))
|
|
12053
|
+
|
|
12054
|
+
@builtins.property
|
|
12055
|
+
@jsii.member(jsii_name="addonName")
|
|
12056
|
+
def addon_name(self) -> builtins.str:
|
|
12057
|
+
'''Name of the Add-On.
|
|
12058
|
+
|
|
12059
|
+
:attribute: true
|
|
12060
|
+
'''
|
|
12061
|
+
return typing.cast(builtins.str, jsii.get(self, "addonName"))
|
|
12062
|
+
|
|
12063
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
12064
|
+
typing.cast(typing.Any, IAddon).__jsii_proxy_class__ = lambda : _IAddonProxy
|
|
12065
|
+
|
|
12066
|
+
|
|
11778
12067
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_eks.ICluster")
|
|
11779
12068
|
class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Protocol):
|
|
11780
12069
|
'''An EKS cluster.'''
|
|
@@ -11900,6 +12189,22 @@ class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Pr
|
|
|
11900
12189
|
'''
|
|
11901
12190
|
...
|
|
11902
12191
|
|
|
12192
|
+
@builtins.property
|
|
12193
|
+
@jsii.member(jsii_name="eksPodIdentityAgent")
|
|
12194
|
+
def eks_pod_identity_agent(self) -> typing.Optional[IAddon]:
|
|
12195
|
+
'''The EKS Pod Identity Agent addon for the EKS cluster.
|
|
12196
|
+
|
|
12197
|
+
The EKS Pod Identity Agent is responsible for managing the temporary credentials
|
|
12198
|
+
used by pods in the cluster to access AWS resources. It runs as a DaemonSet on
|
|
12199
|
+
each node and provides the necessary credentials to the pods based on their
|
|
12200
|
+
associated service account.
|
|
12201
|
+
|
|
12202
|
+
This property returns the ``CfnAddon`` resource representing the EKS Pod Identity
|
|
12203
|
+
Agent addon. If the addon has not been created yet, it will be created and
|
|
12204
|
+
returned.
|
|
12205
|
+
'''
|
|
12206
|
+
...
|
|
12207
|
+
|
|
11903
12208
|
@builtins.property
|
|
11904
12209
|
@jsii.member(jsii_name="ipFamily")
|
|
11905
12210
|
def ip_family(self) -> typing.Optional["IpFamily"]:
|
|
@@ -12079,6 +12384,7 @@ class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Pr
|
|
|
12079
12384
|
id: builtins.str,
|
|
12080
12385
|
*,
|
|
12081
12386
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
12387
|
+
identity_type: typing.Optional["IdentityType"] = None,
|
|
12082
12388
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
12083
12389
|
name: typing.Optional[builtins.str] = None,
|
|
12084
12390
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -12087,6 +12393,7 @@ class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Pr
|
|
|
12087
12393
|
|
|
12088
12394
|
:param id: logical id of service account.
|
|
12089
12395
|
:param annotations: Additional annotations of the service account. Default: - no additional annotations
|
|
12396
|
+
:param identity_type: The identity type to use for the service account. Default: IdentityType.IRSA
|
|
12090
12397
|
:param labels: Additional labels of the service account. Default: - no additional labels
|
|
12091
12398
|
:param name: The name of the service account. The name of a ServiceAccount object must be a valid DNS subdomain name. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ Default: - If no name is given, it will use the id of the resource.
|
|
12092
12399
|
:param namespace: The namespace of the service account. All namespace names must be valid RFC 1123 DNS labels. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#namespaces-and-dns Default: "default"
|
|
@@ -12260,6 +12567,22 @@ class _IClusterProxy(
|
|
|
12260
12567
|
'''
|
|
12261
12568
|
return typing.cast(typing.Optional[_ISecurityGroup_acf8a799], jsii.get(self, "clusterHandlerSecurityGroup"))
|
|
12262
12569
|
|
|
12570
|
+
@builtins.property
|
|
12571
|
+
@jsii.member(jsii_name="eksPodIdentityAgent")
|
|
12572
|
+
def eks_pod_identity_agent(self) -> typing.Optional[IAddon]:
|
|
12573
|
+
'''The EKS Pod Identity Agent addon for the EKS cluster.
|
|
12574
|
+
|
|
12575
|
+
The EKS Pod Identity Agent is responsible for managing the temporary credentials
|
|
12576
|
+
used by pods in the cluster to access AWS resources. It runs as a DaemonSet on
|
|
12577
|
+
each node and provides the necessary credentials to the pods based on their
|
|
12578
|
+
associated service account.
|
|
12579
|
+
|
|
12580
|
+
This property returns the ``CfnAddon`` resource representing the EKS Pod Identity
|
|
12581
|
+
Agent addon. If the addon has not been created yet, it will be created and
|
|
12582
|
+
returned.
|
|
12583
|
+
'''
|
|
12584
|
+
return typing.cast(typing.Optional[IAddon], jsii.get(self, "eksPodIdentityAgent"))
|
|
12585
|
+
|
|
12263
12586
|
@builtins.property
|
|
12264
12587
|
@jsii.member(jsii_name="ipFamily")
|
|
12265
12588
|
def ip_family(self) -> typing.Optional["IpFamily"]:
|
|
@@ -12472,6 +12795,7 @@ class _IClusterProxy(
|
|
|
12472
12795
|
id: builtins.str,
|
|
12473
12796
|
*,
|
|
12474
12797
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
12798
|
+
identity_type: typing.Optional["IdentityType"] = None,
|
|
12475
12799
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
12476
12800
|
name: typing.Optional[builtins.str] = None,
|
|
12477
12801
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -12480,6 +12804,7 @@ class _IClusterProxy(
|
|
|
12480
12804
|
|
|
12481
12805
|
:param id: logical id of service account.
|
|
12482
12806
|
:param annotations: Additional annotations of the service account. Default: - no additional annotations
|
|
12807
|
+
:param identity_type: The identity type to use for the service account. Default: IdentityType.IRSA
|
|
12483
12808
|
:param labels: Additional labels of the service account. Default: - no additional labels
|
|
12484
12809
|
:param name: The name of the service account. The name of a ServiceAccount object must be a valid DNS subdomain name. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ Default: - If no name is given, it will use the id of the resource.
|
|
12485
12810
|
:param namespace: The namespace of the service account. All namespace names must be valid RFC 1123 DNS labels. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#namespaces-and-dns Default: "default"
|
|
@@ -12488,7 +12813,11 @@ class _IClusterProxy(
|
|
|
12488
12813
|
type_hints = typing.get_type_hints(_typecheckingstub__e1ebfaeb10359620b55323126554d3e31b14090625de1618808646a519d578de)
|
|
12489
12814
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
12490
12815
|
options = ServiceAccountOptions(
|
|
12491
|
-
annotations=annotations,
|
|
12816
|
+
annotations=annotations,
|
|
12817
|
+
identity_type=identity_type,
|
|
12818
|
+
labels=labels,
|
|
12819
|
+
name=name,
|
|
12820
|
+
namespace=namespace,
|
|
12492
12821
|
)
|
|
12493
12822
|
|
|
12494
12823
|
return typing.cast("ServiceAccount", jsii.invoke(self, "addServiceAccount", [id, options]))
|
|
@@ -12631,6 +12960,49 @@ class _INodegroupProxy(
|
|
|
12631
12960
|
typing.cast(typing.Any, INodegroup).__jsii_proxy_class__ = lambda : _INodegroupProxy
|
|
12632
12961
|
|
|
12633
12962
|
|
|
12963
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_eks.IdentityType")
|
|
12964
|
+
class IdentityType(enum.Enum):
|
|
12965
|
+
'''Enum representing the different identity types that can be used for a Kubernetes service account.
|
|
12966
|
+
|
|
12967
|
+
:exampleMetadata: infused
|
|
12968
|
+
|
|
12969
|
+
Example::
|
|
12970
|
+
|
|
12971
|
+
# cluster: eks.Cluster
|
|
12972
|
+
|
|
12973
|
+
|
|
12974
|
+
eks.ServiceAccount(self, "ServiceAccount",
|
|
12975
|
+
cluster=cluster,
|
|
12976
|
+
name="test-sa",
|
|
12977
|
+
namespace="default",
|
|
12978
|
+
identity_type=eks.IdentityType.POD_IDENTITY
|
|
12979
|
+
)
|
|
12980
|
+
'''
|
|
12981
|
+
|
|
12982
|
+
IRSA = "IRSA"
|
|
12983
|
+
'''Use the IAM Roles for Service Accounts (IRSA) identity type.
|
|
12984
|
+
|
|
12985
|
+
IRSA allows you to associate an IAM role with a Kubernetes service account.
|
|
12986
|
+
This provides a way to grant permissions to Kubernetes pods by associating an IAM role with a Kubernetes service account.
|
|
12987
|
+
The IAM role can then be used to provide AWS credentials to the pods, allowing them to access other AWS resources.
|
|
12988
|
+
|
|
12989
|
+
When enabled, the openIdConnectProvider of the cluster would be created when you create the ServiceAccount.
|
|
12990
|
+
|
|
12991
|
+
:see: https://docs.aws.amazon.com/eks/latest/userguide/iam-roles-for-service-accounts.html
|
|
12992
|
+
'''
|
|
12993
|
+
POD_IDENTITY = "POD_IDENTITY"
|
|
12994
|
+
'''Use the EKS Pod Identities identity type.
|
|
12995
|
+
|
|
12996
|
+
EKS Pod Identities provide the ability to manage credentials for your applications, similar to the way that Amazon EC2 instance profiles
|
|
12997
|
+
provide credentials to Amazon EC2 instances. Instead of creating and distributing your AWS credentials to the containers or using the
|
|
12998
|
+
Amazon EC2 instance's role, you associate an IAM role with a Kubernetes service account and configure your Pods to use the service account.
|
|
12999
|
+
|
|
13000
|
+
When enabled, the Pod Identity Agent AddOn of the cluster would be created when you create the ServiceAccount.
|
|
13001
|
+
|
|
13002
|
+
:see: https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html
|
|
13003
|
+
'''
|
|
13004
|
+
|
|
13005
|
+
|
|
12634
13006
|
@jsii.enum(jsii_type="aws-cdk-lib.aws_eks.IpFamily")
|
|
12635
13007
|
class IpFamily(enum.Enum):
|
|
12636
13008
|
'''EKS cluster IP family.
|
|
@@ -13905,13 +14277,7 @@ class KubernetesVersion(
|
|
|
13905
14277
|
def V1_22(cls) -> "KubernetesVersion":
|
|
13906
14278
|
'''(deprecated) Kubernetes version 1.22.
|
|
13907
14279
|
|
|
13908
|
-
:deprecated:
|
|
13909
|
-
|
|
13910
|
-
Use newer version of EKS
|
|
13911
|
-
|
|
13912
|
-
When creating a ``Cluster`` with this version, you need to also specify the
|
|
13913
|
-
``kubectlLayer`` property with a ``KubectlV22Layer`` from
|
|
13914
|
-
``@aws-cdk/lambda-layer-kubectl-v22``.
|
|
14280
|
+
:deprecated: Use newer version of EKS
|
|
13915
14281
|
|
|
13916
14282
|
:stability: deprecated
|
|
13917
14283
|
'''
|
|
@@ -14000,7 +14366,7 @@ class KubernetesVersion(
|
|
|
14000
14366
|
'''Kubernetes version 1.30.
|
|
14001
14367
|
|
|
14002
14368
|
When creating a ``Cluster`` with this version, you need to also specify the
|
|
14003
|
-
``kubectlLayer`` property with a ``
|
|
14369
|
+
``kubectlLayer`` property with a ``KubectlV30Layer`` from
|
|
14004
14370
|
``@aws-cdk/lambda-layer-kubectl-v30``.
|
|
14005
14371
|
'''
|
|
14006
14372
|
return typing.cast("KubernetesVersion", jsii.sget(cls, "V1_30"))
|
|
@@ -14611,7 +14977,7 @@ class NodegroupOptions:
|
|
|
14611
14977
|
|
|
14612
14978
|
:default: t3.medium will be used according to the cloudformation document.
|
|
14613
14979
|
|
|
14614
|
-
:see:
|
|
14980
|
+
:see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-instancetypes
|
|
14615
14981
|
'''
|
|
14616
14982
|
result = self._values.get("instance_types")
|
|
14617
14983
|
return typing.cast(typing.Optional[typing.List[_InstanceType_f64915b9]], result)
|
|
@@ -14631,7 +14997,7 @@ class NodegroupOptions:
|
|
|
14631
14997
|
|
|
14632
14998
|
:default: - no launch template
|
|
14633
14999
|
|
|
14634
|
-
:see:
|
|
15000
|
+
:see: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
|
|
14635
15001
|
'''
|
|
14636
15002
|
result = self._values.get("launch_template_spec")
|
|
14637
15003
|
return typing.cast(typing.Optional[LaunchTemplateSpec], result)
|
|
@@ -15053,7 +15419,7 @@ class NodegroupProps(NodegroupOptions):
|
|
|
15053
15419
|
|
|
15054
15420
|
:default: t3.medium will be used according to the cloudformation document.
|
|
15055
15421
|
|
|
15056
|
-
:see:
|
|
15422
|
+
:see: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-resource-eks-nodegroup.html#cfn-eks-nodegroup-instancetypes
|
|
15057
15423
|
'''
|
|
15058
15424
|
result = self._values.get("instance_types")
|
|
15059
15425
|
return typing.cast(typing.Optional[typing.List[_InstanceType_f64915b9]], result)
|
|
@@ -15073,7 +15439,7 @@ class NodegroupProps(NodegroupOptions):
|
|
|
15073
15439
|
|
|
15074
15440
|
:default: - no launch template
|
|
15075
15441
|
|
|
15076
|
-
:see:
|
|
15442
|
+
:see: https://docs.aws.amazon.com/eks/latest/userguide/launch-templates.html
|
|
15077
15443
|
'''
|
|
15078
15444
|
result = self._values.get("launch_template_spec")
|
|
15079
15445
|
return typing.cast(typing.Optional[LaunchTemplateSpec], result)
|
|
@@ -15577,6 +15943,7 @@ class ServiceAccount(
|
|
|
15577
15943
|
*,
|
|
15578
15944
|
cluster: ICluster,
|
|
15579
15945
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
15946
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
15580
15947
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
15581
15948
|
name: typing.Optional[builtins.str] = None,
|
|
15582
15949
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -15586,6 +15953,7 @@ class ServiceAccount(
|
|
|
15586
15953
|
:param id: -
|
|
15587
15954
|
:param cluster: The cluster to apply the patch to.
|
|
15588
15955
|
:param annotations: Additional annotations of the service account. Default: - no additional annotations
|
|
15956
|
+
:param identity_type: The identity type to use for the service account. Default: IdentityType.IRSA
|
|
15589
15957
|
:param labels: Additional labels of the service account. Default: - no additional labels
|
|
15590
15958
|
:param name: The name of the service account. The name of a ServiceAccount object must be a valid DNS subdomain name. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ Default: - If no name is given, it will use the id of the resource.
|
|
15591
15959
|
:param namespace: The namespace of the service account. All namespace names must be valid RFC 1123 DNS labels. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#namespaces-and-dns Default: "default"
|
|
@@ -15597,6 +15965,7 @@ class ServiceAccount(
|
|
|
15597
15965
|
props = ServiceAccountProps(
|
|
15598
15966
|
cluster=cluster,
|
|
15599
15967
|
annotations=annotations,
|
|
15968
|
+
identity_type=identity_type,
|
|
15600
15969
|
labels=labels,
|
|
15601
15970
|
name=name,
|
|
15602
15971
|
namespace=namespace,
|
|
@@ -15660,6 +16029,7 @@ class ServiceAccount(
|
|
|
15660
16029
|
jsii_struct_bases=[],
|
|
15661
16030
|
name_mapping={
|
|
15662
16031
|
"annotations": "annotations",
|
|
16032
|
+
"identity_type": "identityType",
|
|
15663
16033
|
"labels": "labels",
|
|
15664
16034
|
"name": "name",
|
|
15665
16035
|
"namespace": "namespace",
|
|
@@ -15670,6 +16040,7 @@ class ServiceAccountOptions:
|
|
|
15670
16040
|
self,
|
|
15671
16041
|
*,
|
|
15672
16042
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
16043
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
15673
16044
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
15674
16045
|
name: typing.Optional[builtins.str] = None,
|
|
15675
16046
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -15677,6 +16048,7 @@ class ServiceAccountOptions:
|
|
|
15677
16048
|
'''Options for ``ServiceAccount``.
|
|
15678
16049
|
|
|
15679
16050
|
:param annotations: Additional annotations of the service account. Default: - no additional annotations
|
|
16051
|
+
:param identity_type: The identity type to use for the service account. Default: IdentityType.IRSA
|
|
15680
16052
|
:param labels: Additional labels of the service account. Default: - no additional labels
|
|
15681
16053
|
:param name: The name of the service account. The name of a ServiceAccount object must be a valid DNS subdomain name. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ Default: - If no name is given, it will use the id of the resource.
|
|
15682
16054
|
:param namespace: The namespace of the service account. All namespace names must be valid RFC 1123 DNS labels. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#namespaces-and-dns Default: "default"
|
|
@@ -15700,12 +16072,15 @@ class ServiceAccountOptions:
|
|
|
15700
16072
|
if __debug__:
|
|
15701
16073
|
type_hints = typing.get_type_hints(_typecheckingstub__c16813f7f34b0f551b6879a204a04016f3eb45d120b546a7afd47fee08551d86)
|
|
15702
16074
|
check_type(argname="argument annotations", value=annotations, expected_type=type_hints["annotations"])
|
|
16075
|
+
check_type(argname="argument identity_type", value=identity_type, expected_type=type_hints["identity_type"])
|
|
15703
16076
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
15704
16077
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
15705
16078
|
check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
|
|
15706
16079
|
self._values: typing.Dict[builtins.str, typing.Any] = {}
|
|
15707
16080
|
if annotations is not None:
|
|
15708
16081
|
self._values["annotations"] = annotations
|
|
16082
|
+
if identity_type is not None:
|
|
16083
|
+
self._values["identity_type"] = identity_type
|
|
15709
16084
|
if labels is not None:
|
|
15710
16085
|
self._values["labels"] = labels
|
|
15711
16086
|
if name is not None:
|
|
@@ -15724,6 +16099,15 @@ class ServiceAccountOptions:
|
|
|
15724
16099
|
result = self._values.get("annotations")
|
|
15725
16100
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
15726
16101
|
|
|
16102
|
+
@builtins.property
|
|
16103
|
+
def identity_type(self) -> typing.Optional[IdentityType]:
|
|
16104
|
+
'''The identity type to use for the service account.
|
|
16105
|
+
|
|
16106
|
+
:default: IdentityType.IRSA
|
|
16107
|
+
'''
|
|
16108
|
+
result = self._values.get("identity_type")
|
|
16109
|
+
return typing.cast(typing.Optional[IdentityType], result)
|
|
16110
|
+
|
|
15727
16111
|
@builtins.property
|
|
15728
16112
|
def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
15729
16113
|
'''Additional labels of the service account.
|
|
@@ -15774,6 +16158,7 @@ class ServiceAccountOptions:
|
|
|
15774
16158
|
jsii_struct_bases=[ServiceAccountOptions],
|
|
15775
16159
|
name_mapping={
|
|
15776
16160
|
"annotations": "annotations",
|
|
16161
|
+
"identity_type": "identityType",
|
|
15777
16162
|
"labels": "labels",
|
|
15778
16163
|
"name": "name",
|
|
15779
16164
|
"namespace": "namespace",
|
|
@@ -15785,6 +16170,7 @@ class ServiceAccountProps(ServiceAccountOptions):
|
|
|
15785
16170
|
self,
|
|
15786
16171
|
*,
|
|
15787
16172
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
16173
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
15788
16174
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
15789
16175
|
name: typing.Optional[builtins.str] = None,
|
|
15790
16176
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -15793,38 +16179,30 @@ class ServiceAccountProps(ServiceAccountOptions):
|
|
|
15793
16179
|
'''Properties for defining service accounts.
|
|
15794
16180
|
|
|
15795
16181
|
:param annotations: Additional annotations of the service account. Default: - no additional annotations
|
|
16182
|
+
:param identity_type: The identity type to use for the service account. Default: IdentityType.IRSA
|
|
15796
16183
|
:param labels: Additional labels of the service account. Default: - no additional labels
|
|
15797
16184
|
:param name: The name of the service account. The name of a ServiceAccount object must be a valid DNS subdomain name. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ Default: - If no name is given, it will use the id of the resource.
|
|
15798
16185
|
:param namespace: The namespace of the service account. All namespace names must be valid RFC 1123 DNS labels. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#namespaces-and-dns Default: "default"
|
|
15799
16186
|
:param cluster: The cluster to apply the patch to.
|
|
15800
16187
|
|
|
15801
|
-
:exampleMetadata:
|
|
16188
|
+
:exampleMetadata: infused
|
|
15802
16189
|
|
|
15803
16190
|
Example::
|
|
15804
16191
|
|
|
15805
|
-
# The code below shows an example of how to instantiate this type.
|
|
15806
|
-
# The values are placeholders you should change.
|
|
15807
|
-
from aws_cdk import aws_eks as eks
|
|
15808
|
-
|
|
15809
16192
|
# cluster: eks.Cluster
|
|
15810
16193
|
|
|
15811
|
-
service_account_props = eks.ServiceAccountProps(
|
|
15812
|
-
cluster=cluster,
|
|
15813
16194
|
|
|
15814
|
-
|
|
15815
|
-
|
|
15816
|
-
|
|
15817
|
-
|
|
15818
|
-
|
|
15819
|
-
"labels_key": "labels"
|
|
15820
|
-
},
|
|
15821
|
-
name="name",
|
|
15822
|
-
namespace="namespace"
|
|
16195
|
+
eks.ServiceAccount(self, "ServiceAccount",
|
|
16196
|
+
cluster=cluster,
|
|
16197
|
+
name="test-sa",
|
|
16198
|
+
namespace="default",
|
|
16199
|
+
identity_type=eks.IdentityType.POD_IDENTITY
|
|
15823
16200
|
)
|
|
15824
16201
|
'''
|
|
15825
16202
|
if __debug__:
|
|
15826
16203
|
type_hints = typing.get_type_hints(_typecheckingstub__f409e147cd54788bf9d9542d66a6b0445436e408deb553426c2dca2bd73b6d76)
|
|
15827
16204
|
check_type(argname="argument annotations", value=annotations, expected_type=type_hints["annotations"])
|
|
16205
|
+
check_type(argname="argument identity_type", value=identity_type, expected_type=type_hints["identity_type"])
|
|
15828
16206
|
check_type(argname="argument labels", value=labels, expected_type=type_hints["labels"])
|
|
15829
16207
|
check_type(argname="argument name", value=name, expected_type=type_hints["name"])
|
|
15830
16208
|
check_type(argname="argument namespace", value=namespace, expected_type=type_hints["namespace"])
|
|
@@ -15834,6 +16212,8 @@ class ServiceAccountProps(ServiceAccountOptions):
|
|
|
15834
16212
|
}
|
|
15835
16213
|
if annotations is not None:
|
|
15836
16214
|
self._values["annotations"] = annotations
|
|
16215
|
+
if identity_type is not None:
|
|
16216
|
+
self._values["identity_type"] = identity_type
|
|
15837
16217
|
if labels is not None:
|
|
15838
16218
|
self._values["labels"] = labels
|
|
15839
16219
|
if name is not None:
|
|
@@ -15852,6 +16232,15 @@ class ServiceAccountProps(ServiceAccountOptions):
|
|
|
15852
16232
|
result = self._values.get("annotations")
|
|
15853
16233
|
return typing.cast(typing.Optional[typing.Mapping[builtins.str, builtins.str]], result)
|
|
15854
16234
|
|
|
16235
|
+
@builtins.property
|
|
16236
|
+
def identity_type(self) -> typing.Optional[IdentityType]:
|
|
16237
|
+
'''The identity type to use for the service account.
|
|
16238
|
+
|
|
16239
|
+
:default: IdentityType.IRSA
|
|
16240
|
+
'''
|
|
16241
|
+
result = self._values.get("identity_type")
|
|
16242
|
+
return typing.cast(typing.Optional[IdentityType], result)
|
|
16243
|
+
|
|
15855
16244
|
@builtins.property
|
|
15856
16245
|
def labels(self) -> typing.Optional[typing.Mapping[builtins.str, builtins.str]]:
|
|
15857
16246
|
'''Additional labels of the service account.
|
|
@@ -16287,6 +16676,123 @@ class AccessPolicy(
|
|
|
16287
16676
|
return typing.cast(builtins.str, jsii.get(self, "policy"))
|
|
16288
16677
|
|
|
16289
16678
|
|
|
16679
|
+
@jsii.implements(IAddon)
|
|
16680
|
+
class Addon(
|
|
16681
|
+
_Resource_45bc6135,
|
|
16682
|
+
metaclass=jsii.JSIIMeta,
|
|
16683
|
+
jsii_type="aws-cdk-lib.aws_eks.Addon",
|
|
16684
|
+
):
|
|
16685
|
+
'''Represents an Amazon EKS Add-On.
|
|
16686
|
+
|
|
16687
|
+
:exampleMetadata: fixture=_generated
|
|
16688
|
+
|
|
16689
|
+
Example::
|
|
16690
|
+
|
|
16691
|
+
# The code below shows an example of how to instantiate this type.
|
|
16692
|
+
# The values are placeholders you should change.
|
|
16693
|
+
from aws_cdk import aws_eks as eks
|
|
16694
|
+
|
|
16695
|
+
# cluster: eks.Cluster
|
|
16696
|
+
|
|
16697
|
+
addon = eks.Addon(self, "MyAddon",
|
|
16698
|
+
addon_name="addonName",
|
|
16699
|
+
cluster=cluster,
|
|
16700
|
+
|
|
16701
|
+
# the properties below are optional
|
|
16702
|
+
addon_version="addonVersion"
|
|
16703
|
+
)
|
|
16704
|
+
'''
|
|
16705
|
+
|
|
16706
|
+
def __init__(
|
|
16707
|
+
self,
|
|
16708
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16709
|
+
id: builtins.str,
|
|
16710
|
+
*,
|
|
16711
|
+
addon_name: builtins.str,
|
|
16712
|
+
cluster: ICluster,
|
|
16713
|
+
addon_version: typing.Optional[builtins.str] = None,
|
|
16714
|
+
) -> None:
|
|
16715
|
+
'''Creates a new Amazon EKS Add-On.
|
|
16716
|
+
|
|
16717
|
+
:param scope: The parent construct.
|
|
16718
|
+
:param id: The construct ID.
|
|
16719
|
+
:param addon_name: Name of the Add-On.
|
|
16720
|
+
:param cluster: The EKS cluster the Add-On is associated with.
|
|
16721
|
+
:param addon_version: Version of the Add-On. You can check all available versions with describe-addon-versons. For example, this lists all available versions for the ``eks-pod-identity-agent`` addon: $ aws eks describe-addon-versions --addon-name eks-pod-identity-agent --query 'addons[*].addonVersions[*].addonVersion' Default: the latest version.
|
|
16722
|
+
'''
|
|
16723
|
+
if __debug__:
|
|
16724
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a8342124e215d4789acf852df764143c4809251dbcaa86f6b4a11860e46f830d)
|
|
16725
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
16726
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16727
|
+
props = AddonProps(
|
|
16728
|
+
addon_name=addon_name, cluster=cluster, addon_version=addon_version
|
|
16729
|
+
)
|
|
16730
|
+
|
|
16731
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
16732
|
+
|
|
16733
|
+
@jsii.member(jsii_name="fromAddonArn")
|
|
16734
|
+
@builtins.classmethod
|
|
16735
|
+
def from_addon_arn(
|
|
16736
|
+
cls,
|
|
16737
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16738
|
+
id: builtins.str,
|
|
16739
|
+
addon_arn: builtins.str,
|
|
16740
|
+
) -> IAddon:
|
|
16741
|
+
'''Creates an ``IAddon`` from an existing addon ARN.
|
|
16742
|
+
|
|
16743
|
+
:param scope: - The parent construct.
|
|
16744
|
+
:param id: - The ID of the construct.
|
|
16745
|
+
:param addon_arn: - The ARN of the addon.
|
|
16746
|
+
|
|
16747
|
+
:return: An ``IAddon`` implementation.
|
|
16748
|
+
'''
|
|
16749
|
+
if __debug__:
|
|
16750
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d4c2296edfe5b5c8603ac11e589a95341ba550799d11a043d66684ed98365879)
|
|
16751
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
16752
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16753
|
+
check_type(argname="argument addon_arn", value=addon_arn, expected_type=type_hints["addon_arn"])
|
|
16754
|
+
return typing.cast(IAddon, jsii.sinvoke(cls, "fromAddonArn", [scope, id, addon_arn]))
|
|
16755
|
+
|
|
16756
|
+
@jsii.member(jsii_name="fromAddonAttributes")
|
|
16757
|
+
@builtins.classmethod
|
|
16758
|
+
def from_addon_attributes(
|
|
16759
|
+
cls,
|
|
16760
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16761
|
+
id: builtins.str,
|
|
16762
|
+
*,
|
|
16763
|
+
addon_name: builtins.str,
|
|
16764
|
+
cluster_name: builtins.str,
|
|
16765
|
+
) -> IAddon:
|
|
16766
|
+
'''Creates an ``IAddon`` instance from the given addon attributes.
|
|
16767
|
+
|
|
16768
|
+
:param scope: - The parent construct.
|
|
16769
|
+
:param id: - The construct ID.
|
|
16770
|
+
:param addon_name: The name of the addon.
|
|
16771
|
+
:param cluster_name: The name of the Amazon EKS cluster the addon is associated with.
|
|
16772
|
+
|
|
16773
|
+
:return: An ``IAddon`` instance.
|
|
16774
|
+
'''
|
|
16775
|
+
if __debug__:
|
|
16776
|
+
type_hints = typing.get_type_hints(_typecheckingstub__8a990f16d21217e79d80780ad054930c23d18b30b674b483763b39dcdb7fdac7)
|
|
16777
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
16778
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16779
|
+
attrs = AddonAttributes(addon_name=addon_name, cluster_name=cluster_name)
|
|
16780
|
+
|
|
16781
|
+
return typing.cast(IAddon, jsii.sinvoke(cls, "fromAddonAttributes", [scope, id, attrs]))
|
|
16782
|
+
|
|
16783
|
+
@builtins.property
|
|
16784
|
+
@jsii.member(jsii_name="addonArn")
|
|
16785
|
+
def addon_arn(self) -> builtins.str:
|
|
16786
|
+
'''Arn of the addon.'''
|
|
16787
|
+
return typing.cast(builtins.str, jsii.get(self, "addonArn"))
|
|
16788
|
+
|
|
16789
|
+
@builtins.property
|
|
16790
|
+
@jsii.member(jsii_name="addonName")
|
|
16791
|
+
def addon_name(self) -> builtins.str:
|
|
16792
|
+
'''Name of the addon.'''
|
|
16793
|
+
return typing.cast(builtins.str, jsii.get(self, "addonName"))
|
|
16794
|
+
|
|
16795
|
+
|
|
16290
16796
|
@jsii.implements(ICluster)
|
|
16291
16797
|
class Cluster(
|
|
16292
16798
|
_Resource_45bc6135,
|
|
@@ -16877,6 +17383,7 @@ class Cluster(
|
|
|
16877
17383
|
id: builtins.str,
|
|
16878
17384
|
*,
|
|
16879
17385
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
17386
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
16880
17387
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
16881
17388
|
name: typing.Optional[builtins.str] = None,
|
|
16882
17389
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -16885,6 +17392,7 @@ class Cluster(
|
|
|
16885
17392
|
|
|
16886
17393
|
:param id: -
|
|
16887
17394
|
:param annotations: Additional annotations of the service account. Default: - no additional annotations
|
|
17395
|
+
:param identity_type: The identity type to use for the service account. Default: IdentityType.IRSA
|
|
16888
17396
|
:param labels: Additional labels of the service account. Default: - no additional labels
|
|
16889
17397
|
:param name: The name of the service account. The name of a ServiceAccount object must be a valid DNS subdomain name. https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/ Default: - If no name is given, it will use the id of the resource.
|
|
16890
17398
|
:param namespace: The namespace of the service account. All namespace names must be valid RFC 1123 DNS labels. https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/#namespaces-and-dns Default: "default"
|
|
@@ -16893,7 +17401,11 @@ class Cluster(
|
|
|
16893
17401
|
type_hints = typing.get_type_hints(_typecheckingstub__a242c66f1c038c3d983fd703316e9b6709e3aed4c6773ed4ea290f2c0f5749be)
|
|
16894
17402
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16895
17403
|
options = ServiceAccountOptions(
|
|
16896
|
-
annotations=annotations,
|
|
17404
|
+
annotations=annotations,
|
|
17405
|
+
identity_type=identity_type,
|
|
17406
|
+
labels=labels,
|
|
17407
|
+
name=name,
|
|
17408
|
+
namespace=namespace,
|
|
16897
17409
|
)
|
|
16898
17410
|
|
|
16899
17411
|
return typing.cast(ServiceAccount, jsii.invoke(self, "addServiceAccount", [id, options]))
|
|
@@ -17210,6 +17722,18 @@ class Cluster(
|
|
|
17210
17722
|
'''
|
|
17211
17723
|
return typing.cast(typing.Optional[Nodegroup], jsii.get(self, "defaultNodegroup"))
|
|
17212
17724
|
|
|
17725
|
+
@builtins.property
|
|
17726
|
+
@jsii.member(jsii_name="eksPodIdentityAgent")
|
|
17727
|
+
def eks_pod_identity_agent(self) -> typing.Optional[IAddon]:
|
|
17728
|
+
'''Retrieves the EKS Pod Identity Agent addon for the EKS cluster.
|
|
17729
|
+
|
|
17730
|
+
The EKS Pod Identity Agent is responsible for managing the temporary credentials
|
|
17731
|
+
used by pods in the cluster to access AWS resources. It runs as a DaemonSet on
|
|
17732
|
+
each node and provides the necessary credentials to the pods based on their
|
|
17733
|
+
associated service account.
|
|
17734
|
+
'''
|
|
17735
|
+
return typing.cast(typing.Optional[IAddon], jsii.get(self, "eksPodIdentityAgent"))
|
|
17736
|
+
|
|
17213
17737
|
@builtins.property
|
|
17214
17738
|
@jsii.member(jsii_name="ipFamily")
|
|
17215
17739
|
def ip_family(self) -> typing.Optional[IpFamily]:
|
|
@@ -19252,6 +19776,9 @@ __all__ = [
|
|
|
19252
19776
|
"AccessPolicyProps",
|
|
19253
19777
|
"AccessScope",
|
|
19254
19778
|
"AccessScopeType",
|
|
19779
|
+
"Addon",
|
|
19780
|
+
"AddonAttributes",
|
|
19781
|
+
"AddonProps",
|
|
19255
19782
|
"AlbController",
|
|
19256
19783
|
"AlbControllerOptions",
|
|
19257
19784
|
"AlbControllerProps",
|
|
@@ -19301,9 +19828,11 @@ __all__ = [
|
|
|
19301
19828
|
"HelmChartProps",
|
|
19302
19829
|
"IAccessEntry",
|
|
19303
19830
|
"IAccessPolicy",
|
|
19831
|
+
"IAddon",
|
|
19304
19832
|
"ICluster",
|
|
19305
19833
|
"IKubectlProvider",
|
|
19306
19834
|
"INodegroup",
|
|
19835
|
+
"IdentityType",
|
|
19307
19836
|
"IngressLoadBalancerAddressOptions",
|
|
19308
19837
|
"IpFamily",
|
|
19309
19838
|
"KubectlProvider",
|
|
@@ -19394,6 +19923,23 @@ def _typecheckingstub__5f979c2154a9a6bd2f77cf7ff51d6f83944d3c1290fcb70cdab0b403b
|
|
|
19394
19923
|
"""Type checking stubs"""
|
|
19395
19924
|
pass
|
|
19396
19925
|
|
|
19926
|
+
def _typecheckingstub__77d0746018f1cbe3ed090d492996344d98293f7a76446705a3ac043408c02cfe(
|
|
19927
|
+
*,
|
|
19928
|
+
addon_name: builtins.str,
|
|
19929
|
+
cluster_name: builtins.str,
|
|
19930
|
+
) -> None:
|
|
19931
|
+
"""Type checking stubs"""
|
|
19932
|
+
pass
|
|
19933
|
+
|
|
19934
|
+
def _typecheckingstub__febc9f6cb4243d885b1b1838be38d633e7c5fc6534eaaf731f00a24653ee7591(
|
|
19935
|
+
*,
|
|
19936
|
+
addon_name: builtins.str,
|
|
19937
|
+
cluster: ICluster,
|
|
19938
|
+
addon_version: typing.Optional[builtins.str] = None,
|
|
19939
|
+
) -> None:
|
|
19940
|
+
"""Type checking stubs"""
|
|
19941
|
+
pass
|
|
19942
|
+
|
|
19397
19943
|
def _typecheckingstub__5e2ca421e3f17c3114d53057ba096ab3f90bd3b8ed6c2e0f75f61c88dd5aed4b(
|
|
19398
19944
|
scope: _constructs_77d1e7e8.Construct,
|
|
19399
19945
|
id: builtins.str,
|
|
@@ -19771,6 +20317,7 @@ def _typecheckingstub__d3e62a858014f3867f3039d1328d57223fb0d16e3fb6d1e2d79279938
|
|
|
19771
20317
|
resources_vpc_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ResourcesVpcConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
19772
20318
|
role_arn: builtins.str,
|
|
19773
20319
|
access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.AccessConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20320
|
+
bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
19774
20321
|
encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
19775
20322
|
kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19776
20323
|
logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -19812,6 +20359,12 @@ def _typecheckingstub__249431e71bfb6d15cdb94aea4df14d4b3371f709cb261f00cb7dc77e7
|
|
|
19812
20359
|
"""Type checking stubs"""
|
|
19813
20360
|
pass
|
|
19814
20361
|
|
|
20362
|
+
def _typecheckingstub__1b3725246139251af199def1d548b17a13e8ddd4df825377563ea01cdea555c4(
|
|
20363
|
+
value: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]],
|
|
20364
|
+
) -> None:
|
|
20365
|
+
"""Type checking stubs"""
|
|
20366
|
+
pass
|
|
20367
|
+
|
|
19815
20368
|
def _typecheckingstub__b161fda542258d1cd8a20fecd3943cacecb658f19ab16b918baf49908459644c(
|
|
19816
20369
|
value: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.List[typing.Union[_IResolvable_da3f097b, CfnCluster.EncryptionConfigProperty]]]],
|
|
19817
20370
|
) -> None:
|
|
@@ -19939,6 +20492,7 @@ def _typecheckingstub__270f142a59c249328ab174c5b0484cfdae6e3110ab52578dbe783d6f8
|
|
|
19939
20492
|
resources_vpc_config: typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.ResourcesVpcConfigProperty, typing.Dict[builtins.str, typing.Any]]],
|
|
19940
20493
|
role_arn: builtins.str,
|
|
19941
20494
|
access_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.AccessConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20495
|
+
bootstrap_self_managed_addons: typing.Optional[typing.Union[builtins.bool, _IResolvable_da3f097b]] = None,
|
|
19942
20496
|
encryption_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Sequence[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.EncryptionConfigProperty, typing.Dict[builtins.str, typing.Any]]]]]] = None,
|
|
19943
20497
|
kubernetes_network_config: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.KubernetesNetworkConfigProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19944
20498
|
logging: typing.Optional[typing.Union[_IResolvable_da3f097b, typing.Union[CfnCluster.LoggingProperty, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
@@ -20605,6 +21159,7 @@ def _typecheckingstub__e1ebfaeb10359620b55323126554d3e31b14090625de1618808646a51
|
|
|
20605
21159
|
id: builtins.str,
|
|
20606
21160
|
*,
|
|
20607
21161
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
21162
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
20608
21163
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20609
21164
|
name: typing.Optional[builtins.str] = None,
|
|
20610
21165
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -20896,6 +21451,7 @@ def _typecheckingstub__c59483a03e00366cbc5eed954b787cea3e7b09f1579c5c9badd84776c
|
|
|
20896
21451
|
*,
|
|
20897
21452
|
cluster: ICluster,
|
|
20898
21453
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
21454
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
20899
21455
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20900
21456
|
name: typing.Optional[builtins.str] = None,
|
|
20901
21457
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -20912,6 +21468,7 @@ def _typecheckingstub__644b8e999f78647ce72c2476e43febe6c5bec18a337cfb7b041c87773
|
|
|
20912
21468
|
def _typecheckingstub__c16813f7f34b0f551b6879a204a04016f3eb45d120b546a7afd47fee08551d86(
|
|
20913
21469
|
*,
|
|
20914
21470
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
21471
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
20915
21472
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20916
21473
|
name: typing.Optional[builtins.str] = None,
|
|
20917
21474
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -20922,6 +21479,7 @@ def _typecheckingstub__c16813f7f34b0f551b6879a204a04016f3eb45d120b546a7afd47fee0
|
|
|
20922
21479
|
def _typecheckingstub__f409e147cd54788bf9d9542d66a6b0445436e408deb553426c2dca2bd73b6d76(
|
|
20923
21480
|
*,
|
|
20924
21481
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
21482
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
20925
21483
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20926
21484
|
name: typing.Optional[builtins.str] = None,
|
|
20927
21485
|
namespace: typing.Optional[builtins.str] = None,
|
|
@@ -20985,6 +21543,35 @@ def _typecheckingstub__a928f26a921cd1d01ec556e4421fe3bf4a1ac17a9b598a554215bfae5
|
|
|
20985
21543
|
"""Type checking stubs"""
|
|
20986
21544
|
pass
|
|
20987
21545
|
|
|
21546
|
+
def _typecheckingstub__a8342124e215d4789acf852df764143c4809251dbcaa86f6b4a11860e46f830d(
|
|
21547
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
21548
|
+
id: builtins.str,
|
|
21549
|
+
*,
|
|
21550
|
+
addon_name: builtins.str,
|
|
21551
|
+
cluster: ICluster,
|
|
21552
|
+
addon_version: typing.Optional[builtins.str] = None,
|
|
21553
|
+
) -> None:
|
|
21554
|
+
"""Type checking stubs"""
|
|
21555
|
+
pass
|
|
21556
|
+
|
|
21557
|
+
def _typecheckingstub__d4c2296edfe5b5c8603ac11e589a95341ba550799d11a043d66684ed98365879(
|
|
21558
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
21559
|
+
id: builtins.str,
|
|
21560
|
+
addon_arn: builtins.str,
|
|
21561
|
+
) -> None:
|
|
21562
|
+
"""Type checking stubs"""
|
|
21563
|
+
pass
|
|
21564
|
+
|
|
21565
|
+
def _typecheckingstub__8a990f16d21217e79d80780ad054930c23d18b30b674b483763b39dcdb7fdac7(
|
|
21566
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
21567
|
+
id: builtins.str,
|
|
21568
|
+
*,
|
|
21569
|
+
addon_name: builtins.str,
|
|
21570
|
+
cluster_name: builtins.str,
|
|
21571
|
+
) -> None:
|
|
21572
|
+
"""Type checking stubs"""
|
|
21573
|
+
pass
|
|
21574
|
+
|
|
20988
21575
|
def _typecheckingstub__786576ad54eacdb9ab8e92277c0fd07f813bc56d4243937f3b5a85c0c575cac9(
|
|
20989
21576
|
scope: _constructs_77d1e7e8.Construct,
|
|
20990
21577
|
id: builtins.str,
|
|
@@ -21174,6 +21761,7 @@ def _typecheckingstub__a242c66f1c038c3d983fd703316e9b6709e3aed4c6773ed4ea290f2c0
|
|
|
21174
21761
|
id: builtins.str,
|
|
21175
21762
|
*,
|
|
21176
21763
|
annotations: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
21764
|
+
identity_type: typing.Optional[IdentityType] = None,
|
|
21177
21765
|
labels: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
21178
21766
|
name: typing.Optional[builtins.str] = None,
|
|
21179
21767
|
namespace: typing.Optional[builtins.str] = None,
|