aws-cdk-lib 2.145.0__py3-none-any.whl → 2.146.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 +2 -0
- aws_cdk/_jsii/__init__.py +1 -1
- aws_cdk/_jsii/{aws-cdk-lib@2.145.0.jsii.tgz → aws-cdk-lib@2.146.0.jsii.tgz} +0 -0
- aws_cdk/aws_appsync/__init__.py +62 -0
- aws_cdk/aws_autoscaling/__init__.py +412 -56
- aws_cdk/aws_codebuild/__init__.py +23 -3
- aws_cdk/aws_connect/__init__.py +86 -0
- aws_cdk/aws_ecs/__init__.py +110 -1
- aws_cdk/aws_eks/__init__.py +1320 -41
- aws_cdk/aws_iam/__init__.py +13 -8
- aws_cdk/aws_opensearchservice/__init__.py +6 -0
- aws_cdk/aws_pipes/__init__.py +639 -0
- aws_cdk/aws_rds/__init__.py +12 -0
- aws_cdk/aws_rolesanywhere/__init__.py +196 -0
- aws_cdk/aws_sns/__init__.py +61 -9
- aws_cdk/aws_stepfunctions_tasks/__init__.py +3 -3
- aws_cdk/region_info/__init__.py +6 -0
- {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/METADATA +2 -2
- {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/NOTICE +0 -35
- {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/RECORD +23 -23
- {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/LICENSE +0 -0
- {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/WHEEL +0 -0
- {aws_cdk_lib-2.145.0.dist-info → aws_cdk_lib-2.146.0.dist-info}/top_level.txt +0 -0
aws_cdk/aws_eks/__init__.py
CHANGED
|
@@ -42,6 +42,8 @@ In addition, the library also supports defining Kubernetes resource manifests wi
|
|
|
42
42
|
* [Permissions and Security](#permissions-and-security)
|
|
43
43
|
|
|
44
44
|
* [AWS IAM Mapping](#aws-iam-mapping)
|
|
45
|
+
* [Access Config](#access-config)
|
|
46
|
+
* [Access Entry](#access-mapping)
|
|
45
47
|
* [Cluster Security Group](#cluster-security-group)
|
|
46
48
|
* [Node SSH Access](#node-ssh-access)
|
|
47
49
|
* [Service Accounts](#service-accounts)
|
|
@@ -1122,6 +1124,131 @@ console_read_only_role.add_to_policy(iam.PolicyStatement(
|
|
|
1122
1124
|
cluster.aws_auth.add_masters_role(console_read_only_role)
|
|
1123
1125
|
```
|
|
1124
1126
|
|
|
1127
|
+
### Access Config
|
|
1128
|
+
|
|
1129
|
+
Amazon EKS supports three modes of authentication: `CONFIG_MAP`, `API_AND_CONFIG_MAP`, and `API`. You can enable cluster
|
|
1130
|
+
to use access entry APIs by using authenticationMode `API` or `API_AND_CONFIG_MAP`. Use authenticationMode `CONFIG_MAP`
|
|
1131
|
+
to continue using aws-auth configMap exclusively. When `API_AND_CONFIG_MAP` is enabled, the cluster will source authenticated
|
|
1132
|
+
AWS IAM principals from both Amazon EKS access entry APIs and the aws-auth configMap, with priority given to the access entry API.
|
|
1133
|
+
|
|
1134
|
+
To specify the `authenticationMode`:
|
|
1135
|
+
|
|
1136
|
+
```python
|
|
1137
|
+
from aws_cdk.lambda_layer_kubectl_v30 import KubectlV30Layer
|
|
1138
|
+
# vpc: ec2.Vpc
|
|
1139
|
+
|
|
1140
|
+
|
|
1141
|
+
eks.Cluster(self, "Cluster",
|
|
1142
|
+
vpc=vpc,
|
|
1143
|
+
version=eks.KubernetesVersion.V1_30,
|
|
1144
|
+
kubectl_layer=KubectlV30Layer(self, "KubectlLayer"),
|
|
1145
|
+
authentication_mode=eks.AuthenticationMode.API_AND_CONFIG_MAP
|
|
1146
|
+
)
|
|
1147
|
+
```
|
|
1148
|
+
|
|
1149
|
+
> **Note** - Switching authentication modes on an existing cluster is a one-way operation. You can switch from
|
|
1150
|
+
> `CONFIG_MAP` to `API_AND_CONFIG_MAP`. You can then switch from `API_AND_CONFIG_MAP` to `API`.
|
|
1151
|
+
> You cannot revert these operations in the opposite direction. Meaning you cannot switch back to
|
|
1152
|
+
> `CONFIG_MAP` or `API_AND_CONFIG_MAP` from `API`. And you cannot switch back to `CONFIG_MAP` from `API_AND_CONFIG_MAP`.
|
|
1153
|
+
|
|
1154
|
+
Read [A deep dive into simplified Amazon EKS access management controls
|
|
1155
|
+
](https://aws.amazon.com/blogs/containers/a-deep-dive-into-simplified-amazon-eks-access-management-controls/) for more details.
|
|
1156
|
+
|
|
1157
|
+
You can disable granting the cluster admin permissions to the cluster creator role on bootstrapping by setting
|
|
1158
|
+
`bootstrapClusterCreatorAdminPermissions` to false.
|
|
1159
|
+
|
|
1160
|
+
> **Note** - Switching `bootstrapClusterCreatorAdminPermissions` on an existing cluster would cause cluster replacement and should be avoided in production.
|
|
1161
|
+
|
|
1162
|
+
### Access Entry
|
|
1163
|
+
|
|
1164
|
+
An access entry is a cluster identity—directly linked to an AWS IAM principal user or role that is used to authenticate to
|
|
1165
|
+
an Amazon EKS cluster. An Amazon EKS access policy authorizes an access entry to perform specific cluster actions.
|
|
1166
|
+
|
|
1167
|
+
Access policies are Amazon EKS-specific policies that assign Kubernetes permissions to access entries. Amazon EKS supports
|
|
1168
|
+
only predefined and AWS managed policies. Access policies are not AWS IAM entities and are defined and managed by Amazon EKS.
|
|
1169
|
+
Amazon EKS access policies include permission sets that support common use cases of administration, editing, or read-only access
|
|
1170
|
+
to Kubernetes resources. See [Access Policy Permissions](https://docs.aws.amazon.com/eks/latest/userguide/access-policies.html#access-policy-permissions) for more details.
|
|
1171
|
+
|
|
1172
|
+
Use `AccessPolicy` to include predefined AWS managed policies:
|
|
1173
|
+
|
|
1174
|
+
```python
|
|
1175
|
+
# AmazonEKSClusterAdminPolicy with `cluster` scope
|
|
1176
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSClusterAdminPolicy",
|
|
1177
|
+
access_scope_type=eks.AccessScopeType.CLUSTER
|
|
1178
|
+
)
|
|
1179
|
+
# AmazonEKSAdminPolicy with `namespace` scope
|
|
1180
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSAdminPolicy",
|
|
1181
|
+
access_scope_type=eks.AccessScopeType.NAMESPACE,
|
|
1182
|
+
namespaces=["foo", "bar"]
|
|
1183
|
+
)
|
|
1184
|
+
```
|
|
1185
|
+
|
|
1186
|
+
Use `grantAccess()` to grant the AccessPolicy to an IAM principal:
|
|
1187
|
+
|
|
1188
|
+
```python
|
|
1189
|
+
from aws_cdk.lambda_layer_kubectl_v30 import KubectlV30Layer
|
|
1190
|
+
# vpc: ec2.Vpc
|
|
1191
|
+
|
|
1192
|
+
|
|
1193
|
+
cluster_admin_role = iam.Role(self, "ClusterAdminRole",
|
|
1194
|
+
assumed_by=iam.ArnPrincipal("arn_for_trusted_principal")
|
|
1195
|
+
)
|
|
1196
|
+
|
|
1197
|
+
eks_admin_role = iam.Role(self, "EKSAdminRole",
|
|
1198
|
+
assumed_by=iam.ArnPrincipal("arn_for_trusted_principal")
|
|
1199
|
+
)
|
|
1200
|
+
|
|
1201
|
+
eks_admin_view_role = iam.Role(self, "EKSAdminViewRole",
|
|
1202
|
+
assumed_by=iam.ArnPrincipal("arn_for_trusted_principal")
|
|
1203
|
+
)
|
|
1204
|
+
|
|
1205
|
+
cluster = eks.Cluster(self, "Cluster",
|
|
1206
|
+
vpc=vpc,
|
|
1207
|
+
masters_role=cluster_admin_role,
|
|
1208
|
+
version=eks.KubernetesVersion.V1_30,
|
|
1209
|
+
kubectl_layer=KubectlV30Layer(self, "KubectlLayer"),
|
|
1210
|
+
authentication_mode=eks.AuthenticationMode.API_AND_CONFIG_MAP
|
|
1211
|
+
)
|
|
1212
|
+
|
|
1213
|
+
# Cluster Admin role for this cluster
|
|
1214
|
+
cluster.grant_access("clusterAdminAccess", cluster_admin_role.role_arn, [
|
|
1215
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSClusterAdminPolicy",
|
|
1216
|
+
access_scope_type=eks.AccessScopeType.CLUSTER
|
|
1217
|
+
)
|
|
1218
|
+
])
|
|
1219
|
+
|
|
1220
|
+
# EKS Admin role for specified namespaces of this cluster
|
|
1221
|
+
cluster.grant_access("eksAdminRoleAccess", eks_admin_role.role_arn, [
|
|
1222
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSAdminPolicy",
|
|
1223
|
+
access_scope_type=eks.AccessScopeType.NAMESPACE,
|
|
1224
|
+
namespaces=["foo", "bar"]
|
|
1225
|
+
)
|
|
1226
|
+
])
|
|
1227
|
+
|
|
1228
|
+
# EKS Admin Viewer role for specified namespaces of this cluster
|
|
1229
|
+
cluster.grant_access("eksAdminViewRoleAccess", eks_admin_view_role.role_arn, [
|
|
1230
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSAdminViewPolicy",
|
|
1231
|
+
access_scope_type=eks.AccessScopeType.NAMESPACE,
|
|
1232
|
+
namespaces=["foo", "bar"]
|
|
1233
|
+
)
|
|
1234
|
+
])
|
|
1235
|
+
```
|
|
1236
|
+
|
|
1237
|
+
### Migrating from ConfigMap to Access Entry
|
|
1238
|
+
|
|
1239
|
+
If the cluster is created with the `authenticationMode` property left undefined,
|
|
1240
|
+
it will default to `CONFIG_MAP`.
|
|
1241
|
+
|
|
1242
|
+
The update path is:
|
|
1243
|
+
|
|
1244
|
+
`undefined`(`CONFIG_MAP`) -> `API_AND_CONFIG_MAP` -> `API`
|
|
1245
|
+
|
|
1246
|
+
If you have explicitly declared `AwsAuth` resources and then try to switch to the `API` mode, which no longer supports the
|
|
1247
|
+
`ConfigMap`, AWS CDK will throw an error as a protective measure to prevent you from losing all the access entries in the `ConfigMap`. In this case, you will need to remove all the declared `AwsAuth` resources explicitly and define the access entries before you are allowed to transition to the `API` mode.
|
|
1248
|
+
|
|
1249
|
+
> **Note** - This is a one-way transition. Once you switch to the `API` mode,
|
|
1250
|
+
> you will not be able to switch back. Therefore, it is crucial to ensure that you have defined all the necessary access entries before making the switch to the `API` mode.
|
|
1251
|
+
|
|
1125
1252
|
### Cluster Security Group
|
|
1126
1253
|
|
|
1127
1254
|
When you create an Amazon EKS cluster, a [cluster security group](https://docs.aws.amazon.com/eks/latest/userguide/sec-group-reqs.html)
|
|
@@ -1839,6 +1966,573 @@ from ..aws_lambda import ILayerVersion as _ILayerVersion_5ac127c8
|
|
|
1839
1966
|
from ..aws_s3_assets import Asset as _Asset_ac2a7e61
|
|
1840
1967
|
|
|
1841
1968
|
|
|
1969
|
+
@jsii.data_type(
|
|
1970
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessEntryAttributes",
|
|
1971
|
+
jsii_struct_bases=[],
|
|
1972
|
+
name_mapping={
|
|
1973
|
+
"access_entry_arn": "accessEntryArn",
|
|
1974
|
+
"access_entry_name": "accessEntryName",
|
|
1975
|
+
},
|
|
1976
|
+
)
|
|
1977
|
+
class AccessEntryAttributes:
|
|
1978
|
+
def __init__(
|
|
1979
|
+
self,
|
|
1980
|
+
*,
|
|
1981
|
+
access_entry_arn: builtins.str,
|
|
1982
|
+
access_entry_name: builtins.str,
|
|
1983
|
+
) -> None:
|
|
1984
|
+
'''Represents the attributes of an access entry.
|
|
1985
|
+
|
|
1986
|
+
:param access_entry_arn: The Amazon Resource Name (ARN) of the access entry.
|
|
1987
|
+
:param access_entry_name: The name of the access entry.
|
|
1988
|
+
|
|
1989
|
+
:exampleMetadata: fixture=_generated
|
|
1990
|
+
|
|
1991
|
+
Example::
|
|
1992
|
+
|
|
1993
|
+
# The code below shows an example of how to instantiate this type.
|
|
1994
|
+
# The values are placeholders you should change.
|
|
1995
|
+
from aws_cdk import aws_eks as eks
|
|
1996
|
+
|
|
1997
|
+
access_entry_attributes = eks.AccessEntryAttributes(
|
|
1998
|
+
access_entry_arn="accessEntryArn",
|
|
1999
|
+
access_entry_name="accessEntryName"
|
|
2000
|
+
)
|
|
2001
|
+
'''
|
|
2002
|
+
if __debug__:
|
|
2003
|
+
type_hints = typing.get_type_hints(_typecheckingstub__ea57d074f938dd093d38b977c20869681c2abd3bacc2931046328147dc4d8d72)
|
|
2004
|
+
check_type(argname="argument access_entry_arn", value=access_entry_arn, expected_type=type_hints["access_entry_arn"])
|
|
2005
|
+
check_type(argname="argument access_entry_name", value=access_entry_name, expected_type=type_hints["access_entry_name"])
|
|
2006
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2007
|
+
"access_entry_arn": access_entry_arn,
|
|
2008
|
+
"access_entry_name": access_entry_name,
|
|
2009
|
+
}
|
|
2010
|
+
|
|
2011
|
+
@builtins.property
|
|
2012
|
+
def access_entry_arn(self) -> builtins.str:
|
|
2013
|
+
'''The Amazon Resource Name (ARN) of the access entry.'''
|
|
2014
|
+
result = self._values.get("access_entry_arn")
|
|
2015
|
+
assert result is not None, "Required property 'access_entry_arn' is missing"
|
|
2016
|
+
return typing.cast(builtins.str, result)
|
|
2017
|
+
|
|
2018
|
+
@builtins.property
|
|
2019
|
+
def access_entry_name(self) -> builtins.str:
|
|
2020
|
+
'''The name of the access entry.'''
|
|
2021
|
+
result = self._values.get("access_entry_name")
|
|
2022
|
+
assert result is not None, "Required property 'access_entry_name' is missing"
|
|
2023
|
+
return typing.cast(builtins.str, result)
|
|
2024
|
+
|
|
2025
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2026
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2027
|
+
|
|
2028
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2029
|
+
return not (rhs == self)
|
|
2030
|
+
|
|
2031
|
+
def __repr__(self) -> str:
|
|
2032
|
+
return "AccessEntryAttributes(%s)" % ", ".join(
|
|
2033
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2034
|
+
)
|
|
2035
|
+
|
|
2036
|
+
|
|
2037
|
+
@jsii.data_type(
|
|
2038
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessEntryProps",
|
|
2039
|
+
jsii_struct_bases=[],
|
|
2040
|
+
name_mapping={
|
|
2041
|
+
"access_policies": "accessPolicies",
|
|
2042
|
+
"cluster": "cluster",
|
|
2043
|
+
"principal": "principal",
|
|
2044
|
+
"access_entry_name": "accessEntryName",
|
|
2045
|
+
"access_entry_type": "accessEntryType",
|
|
2046
|
+
},
|
|
2047
|
+
)
|
|
2048
|
+
class AccessEntryProps:
|
|
2049
|
+
def __init__(
|
|
2050
|
+
self,
|
|
2051
|
+
*,
|
|
2052
|
+
access_policies: typing.Sequence["IAccessPolicy"],
|
|
2053
|
+
cluster: "ICluster",
|
|
2054
|
+
principal: builtins.str,
|
|
2055
|
+
access_entry_name: typing.Optional[builtins.str] = None,
|
|
2056
|
+
access_entry_type: typing.Optional["AccessEntryType"] = None,
|
|
2057
|
+
) -> None:
|
|
2058
|
+
'''Represents the properties required to create an Amazon EKS access entry.
|
|
2059
|
+
|
|
2060
|
+
:param access_policies: The access policies that define the permissions and scope for the access entry.
|
|
2061
|
+
:param cluster: The Amazon EKS cluster to which the access entry applies.
|
|
2062
|
+
:param principal: The Amazon Resource Name (ARN) of the principal (user or role) to associate the access entry with.
|
|
2063
|
+
:param access_entry_name: The name of the AccessEntry. Default: - No access entry name is provided
|
|
2064
|
+
:param access_entry_type: The type of the AccessEntry. Default: STANDARD
|
|
2065
|
+
|
|
2066
|
+
:exampleMetadata: fixture=_generated
|
|
2067
|
+
|
|
2068
|
+
Example::
|
|
2069
|
+
|
|
2070
|
+
# The code below shows an example of how to instantiate this type.
|
|
2071
|
+
# The values are placeholders you should change.
|
|
2072
|
+
from aws_cdk import aws_eks as eks
|
|
2073
|
+
|
|
2074
|
+
# access_policy: eks.AccessPolicy
|
|
2075
|
+
# cluster: eks.Cluster
|
|
2076
|
+
|
|
2077
|
+
access_entry_props = eks.AccessEntryProps(
|
|
2078
|
+
access_policies=[access_policy],
|
|
2079
|
+
cluster=cluster,
|
|
2080
|
+
principal="principal",
|
|
2081
|
+
|
|
2082
|
+
# the properties below are optional
|
|
2083
|
+
access_entry_name="accessEntryName",
|
|
2084
|
+
access_entry_type=eks.AccessEntryType.STANDARD
|
|
2085
|
+
)
|
|
2086
|
+
'''
|
|
2087
|
+
if __debug__:
|
|
2088
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0cc467f068aa2e977dd81e9c0227cfe45f7381ea6d31cea9c6f7f80e6d83e048)
|
|
2089
|
+
check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
|
|
2090
|
+
check_type(argname="argument cluster", value=cluster, expected_type=type_hints["cluster"])
|
|
2091
|
+
check_type(argname="argument principal", value=principal, expected_type=type_hints["principal"])
|
|
2092
|
+
check_type(argname="argument access_entry_name", value=access_entry_name, expected_type=type_hints["access_entry_name"])
|
|
2093
|
+
check_type(argname="argument access_entry_type", value=access_entry_type, expected_type=type_hints["access_entry_type"])
|
|
2094
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2095
|
+
"access_policies": access_policies,
|
|
2096
|
+
"cluster": cluster,
|
|
2097
|
+
"principal": principal,
|
|
2098
|
+
}
|
|
2099
|
+
if access_entry_name is not None:
|
|
2100
|
+
self._values["access_entry_name"] = access_entry_name
|
|
2101
|
+
if access_entry_type is not None:
|
|
2102
|
+
self._values["access_entry_type"] = access_entry_type
|
|
2103
|
+
|
|
2104
|
+
@builtins.property
|
|
2105
|
+
def access_policies(self) -> typing.List["IAccessPolicy"]:
|
|
2106
|
+
'''The access policies that define the permissions and scope for the access entry.'''
|
|
2107
|
+
result = self._values.get("access_policies")
|
|
2108
|
+
assert result is not None, "Required property 'access_policies' is missing"
|
|
2109
|
+
return typing.cast(typing.List["IAccessPolicy"], result)
|
|
2110
|
+
|
|
2111
|
+
@builtins.property
|
|
2112
|
+
def cluster(self) -> "ICluster":
|
|
2113
|
+
'''The Amazon EKS cluster to which the access entry applies.'''
|
|
2114
|
+
result = self._values.get("cluster")
|
|
2115
|
+
assert result is not None, "Required property 'cluster' is missing"
|
|
2116
|
+
return typing.cast("ICluster", result)
|
|
2117
|
+
|
|
2118
|
+
@builtins.property
|
|
2119
|
+
def principal(self) -> builtins.str:
|
|
2120
|
+
'''The Amazon Resource Name (ARN) of the principal (user or role) to associate the access entry with.'''
|
|
2121
|
+
result = self._values.get("principal")
|
|
2122
|
+
assert result is not None, "Required property 'principal' is missing"
|
|
2123
|
+
return typing.cast(builtins.str, result)
|
|
2124
|
+
|
|
2125
|
+
@builtins.property
|
|
2126
|
+
def access_entry_name(self) -> typing.Optional[builtins.str]:
|
|
2127
|
+
'''The name of the AccessEntry.
|
|
2128
|
+
|
|
2129
|
+
:default: - No access entry name is provided
|
|
2130
|
+
'''
|
|
2131
|
+
result = self._values.get("access_entry_name")
|
|
2132
|
+
return typing.cast(typing.Optional[builtins.str], result)
|
|
2133
|
+
|
|
2134
|
+
@builtins.property
|
|
2135
|
+
def access_entry_type(self) -> typing.Optional["AccessEntryType"]:
|
|
2136
|
+
'''The type of the AccessEntry.
|
|
2137
|
+
|
|
2138
|
+
:default: STANDARD
|
|
2139
|
+
'''
|
|
2140
|
+
result = self._values.get("access_entry_type")
|
|
2141
|
+
return typing.cast(typing.Optional["AccessEntryType"], result)
|
|
2142
|
+
|
|
2143
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2144
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2145
|
+
|
|
2146
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2147
|
+
return not (rhs == self)
|
|
2148
|
+
|
|
2149
|
+
def __repr__(self) -> str:
|
|
2150
|
+
return "AccessEntryProps(%s)" % ", ".join(
|
|
2151
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2152
|
+
)
|
|
2153
|
+
|
|
2154
|
+
|
|
2155
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_eks.AccessEntryType")
|
|
2156
|
+
class AccessEntryType(enum.Enum):
|
|
2157
|
+
'''Represents the different types of access entries that can be used in an Amazon EKS cluster.
|
|
2158
|
+
|
|
2159
|
+
:enum: true
|
|
2160
|
+
'''
|
|
2161
|
+
|
|
2162
|
+
STANDARD = "STANDARD"
|
|
2163
|
+
'''Represents a standard access entry.'''
|
|
2164
|
+
FARGATE_LINUX = "FARGATE_LINUX"
|
|
2165
|
+
'''Represents a Fargate Linux access entry.'''
|
|
2166
|
+
EC2_LINUX = "EC2_LINUX"
|
|
2167
|
+
'''Represents an EC2 Linux access entry.'''
|
|
2168
|
+
EC2_WINDOWS = "EC2_WINDOWS"
|
|
2169
|
+
'''Represents an EC2 Windows access entry.'''
|
|
2170
|
+
|
|
2171
|
+
|
|
2172
|
+
class AccessPolicyArn(
|
|
2173
|
+
metaclass=jsii.JSIIMeta,
|
|
2174
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessPolicyArn",
|
|
2175
|
+
):
|
|
2176
|
+
'''Represents an Amazon EKS Access Policy ARN.
|
|
2177
|
+
|
|
2178
|
+
Amazon EKS Access Policies are used to control access to Amazon EKS clusters.
|
|
2179
|
+
|
|
2180
|
+
:see: https://docs.aws.amazon.com/eks/latest/userguide/access-policies.html
|
|
2181
|
+
:exampleMetadata: fixture=_generated
|
|
2182
|
+
|
|
2183
|
+
Example::
|
|
2184
|
+
|
|
2185
|
+
# The code below shows an example of how to instantiate this type.
|
|
2186
|
+
# The values are placeholders you should change.
|
|
2187
|
+
from aws_cdk import aws_eks as eks
|
|
2188
|
+
|
|
2189
|
+
access_policy_arn = eks.AccessPolicyArn.AMAZON_EKS_ADMIN_POLICY
|
|
2190
|
+
'''
|
|
2191
|
+
|
|
2192
|
+
def __init__(self, policy_name: builtins.str) -> None:
|
|
2193
|
+
'''Constructs a new instance of the ``AccessEntry`` class.
|
|
2194
|
+
|
|
2195
|
+
:param policy_name: - The name of the Amazon EKS access policy. This is used to construct the policy ARN.
|
|
2196
|
+
'''
|
|
2197
|
+
if __debug__:
|
|
2198
|
+
type_hints = typing.get_type_hints(_typecheckingstub__0ac946189967c669f9d1c47c0772f99ed1ce20197e6c76e4496836bbe19d2a72)
|
|
2199
|
+
check_type(argname="argument policy_name", value=policy_name, expected_type=type_hints["policy_name"])
|
|
2200
|
+
jsii.create(self.__class__, self, [policy_name])
|
|
2201
|
+
|
|
2202
|
+
@jsii.member(jsii_name="of")
|
|
2203
|
+
@builtins.classmethod
|
|
2204
|
+
def of(cls, policy_name: builtins.str) -> "AccessPolicyArn":
|
|
2205
|
+
'''Creates a new instance of the AccessPolicy class with the specified policy name.
|
|
2206
|
+
|
|
2207
|
+
:param policy_name: The name of the access policy.
|
|
2208
|
+
|
|
2209
|
+
:return: A new instance of the AccessPolicy class.
|
|
2210
|
+
'''
|
|
2211
|
+
if __debug__:
|
|
2212
|
+
type_hints = typing.get_type_hints(_typecheckingstub__23236f8d1dae1650ef58623c900288d55afe1fd4ead26b7b1aff290d073de854)
|
|
2213
|
+
check_type(argname="argument policy_name", value=policy_name, expected_type=type_hints["policy_name"])
|
|
2214
|
+
return typing.cast("AccessPolicyArn", jsii.sinvoke(cls, "of", [policy_name]))
|
|
2215
|
+
|
|
2216
|
+
@jsii.python.classproperty
|
|
2217
|
+
@jsii.member(jsii_name="AMAZON_EKS_ADMIN_POLICY")
|
|
2218
|
+
def AMAZON_EKS_ADMIN_POLICY(cls) -> "AccessPolicyArn":
|
|
2219
|
+
'''The Amazon EKS Admin Policy.
|
|
2220
|
+
|
|
2221
|
+
This access policy includes permissions that grant an IAM principal
|
|
2222
|
+
most permissions to resources. When associated to an access entry, its access scope is typically
|
|
2223
|
+
one or more Kubernetes namespaces.
|
|
2224
|
+
'''
|
|
2225
|
+
return typing.cast("AccessPolicyArn", jsii.sget(cls, "AMAZON_EKS_ADMIN_POLICY"))
|
|
2226
|
+
|
|
2227
|
+
@jsii.python.classproperty
|
|
2228
|
+
@jsii.member(jsii_name="AMAZON_EKS_ADMIN_VIEW_POLICY")
|
|
2229
|
+
def AMAZON_EKS_ADMIN_VIEW_POLICY(cls) -> "AccessPolicyArn":
|
|
2230
|
+
'''The Amazon EKS Admin View Policy.
|
|
2231
|
+
|
|
2232
|
+
This access policy includes permissions that grant an IAM principal
|
|
2233
|
+
access to list/view all resources in a cluster.
|
|
2234
|
+
'''
|
|
2235
|
+
return typing.cast("AccessPolicyArn", jsii.sget(cls, "AMAZON_EKS_ADMIN_VIEW_POLICY"))
|
|
2236
|
+
|
|
2237
|
+
@jsii.python.classproperty
|
|
2238
|
+
@jsii.member(jsii_name="AMAZON_EKS_CLUSTER_ADMIN_POLICY")
|
|
2239
|
+
def AMAZON_EKS_CLUSTER_ADMIN_POLICY(cls) -> "AccessPolicyArn":
|
|
2240
|
+
'''The Amazon EKS Cluster Admin Policy.
|
|
2241
|
+
|
|
2242
|
+
This access policy includes permissions that grant an IAM
|
|
2243
|
+
principal administrator access to a cluster. When associated to an access entry, its access scope
|
|
2244
|
+
is typically the cluster, rather than a Kubernetes namespace.
|
|
2245
|
+
'''
|
|
2246
|
+
return typing.cast("AccessPolicyArn", jsii.sget(cls, "AMAZON_EKS_CLUSTER_ADMIN_POLICY"))
|
|
2247
|
+
|
|
2248
|
+
@jsii.python.classproperty
|
|
2249
|
+
@jsii.member(jsii_name="AMAZON_EKS_EDIT_POLICY")
|
|
2250
|
+
def AMAZON_EKS_EDIT_POLICY(cls) -> "AccessPolicyArn":
|
|
2251
|
+
'''The Amazon EKS Edit Policy.
|
|
2252
|
+
|
|
2253
|
+
This access policy includes permissions that allow an IAM principal
|
|
2254
|
+
to edit most Kubernetes resources.
|
|
2255
|
+
'''
|
|
2256
|
+
return typing.cast("AccessPolicyArn", jsii.sget(cls, "AMAZON_EKS_EDIT_POLICY"))
|
|
2257
|
+
|
|
2258
|
+
@jsii.python.classproperty
|
|
2259
|
+
@jsii.member(jsii_name="AMAZON_EKS_VIEW_POLICY")
|
|
2260
|
+
def AMAZON_EKS_VIEW_POLICY(cls) -> "AccessPolicyArn":
|
|
2261
|
+
'''The Amazon EKS View Policy.
|
|
2262
|
+
|
|
2263
|
+
This access policy includes permissions that grant an IAM principal
|
|
2264
|
+
access to list/view all resources in a cluster.
|
|
2265
|
+
'''
|
|
2266
|
+
return typing.cast("AccessPolicyArn", jsii.sget(cls, "AMAZON_EKS_VIEW_POLICY"))
|
|
2267
|
+
|
|
2268
|
+
@builtins.property
|
|
2269
|
+
@jsii.member(jsii_name="policyArn")
|
|
2270
|
+
def policy_arn(self) -> builtins.str:
|
|
2271
|
+
'''The Amazon Resource Name (ARN) of the access policy.'''
|
|
2272
|
+
return typing.cast(builtins.str, jsii.get(self, "policyArn"))
|
|
2273
|
+
|
|
2274
|
+
@builtins.property
|
|
2275
|
+
@jsii.member(jsii_name="policyName")
|
|
2276
|
+
def policy_name(self) -> builtins.str:
|
|
2277
|
+
'''- The name of the Amazon EKS access policy.
|
|
2278
|
+
|
|
2279
|
+
This is used to construct the policy ARN.
|
|
2280
|
+
'''
|
|
2281
|
+
return typing.cast(builtins.str, jsii.get(self, "policyName"))
|
|
2282
|
+
|
|
2283
|
+
|
|
2284
|
+
@jsii.data_type(
|
|
2285
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessPolicyNameOptions",
|
|
2286
|
+
jsii_struct_bases=[],
|
|
2287
|
+
name_mapping={"access_scope_type": "accessScopeType", "namespaces": "namespaces"},
|
|
2288
|
+
)
|
|
2289
|
+
class AccessPolicyNameOptions:
|
|
2290
|
+
def __init__(
|
|
2291
|
+
self,
|
|
2292
|
+
*,
|
|
2293
|
+
access_scope_type: "AccessScopeType",
|
|
2294
|
+
namespaces: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2295
|
+
) -> None:
|
|
2296
|
+
'''Represents the options required to create an Amazon EKS Access Policy using the ``fromAccessPolicyName()`` method.
|
|
2297
|
+
|
|
2298
|
+
:param access_scope_type: The scope of the access policy. This determines the level of access granted by the policy.
|
|
2299
|
+
:param namespaces: An optional array of Kubernetes namespaces to which the access policy applies. Default: - no specific namespaces for this scope
|
|
2300
|
+
|
|
2301
|
+
:exampleMetadata: infused
|
|
2302
|
+
|
|
2303
|
+
Example::
|
|
2304
|
+
|
|
2305
|
+
# AmazonEKSClusterAdminPolicy with `cluster` scope
|
|
2306
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSClusterAdminPolicy",
|
|
2307
|
+
access_scope_type=eks.AccessScopeType.CLUSTER
|
|
2308
|
+
)
|
|
2309
|
+
# AmazonEKSAdminPolicy with `namespace` scope
|
|
2310
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSAdminPolicy",
|
|
2311
|
+
access_scope_type=eks.AccessScopeType.NAMESPACE,
|
|
2312
|
+
namespaces=["foo", "bar"]
|
|
2313
|
+
)
|
|
2314
|
+
'''
|
|
2315
|
+
if __debug__:
|
|
2316
|
+
type_hints = typing.get_type_hints(_typecheckingstub__249ef277acd24f14314e76608ae6685b8ec176bb0872ba8327c446714e5afaee)
|
|
2317
|
+
check_type(argname="argument access_scope_type", value=access_scope_type, expected_type=type_hints["access_scope_type"])
|
|
2318
|
+
check_type(argname="argument namespaces", value=namespaces, expected_type=type_hints["namespaces"])
|
|
2319
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2320
|
+
"access_scope_type": access_scope_type,
|
|
2321
|
+
}
|
|
2322
|
+
if namespaces is not None:
|
|
2323
|
+
self._values["namespaces"] = namespaces
|
|
2324
|
+
|
|
2325
|
+
@builtins.property
|
|
2326
|
+
def access_scope_type(self) -> "AccessScopeType":
|
|
2327
|
+
'''The scope of the access policy.
|
|
2328
|
+
|
|
2329
|
+
This determines the level of access granted by the policy.
|
|
2330
|
+
'''
|
|
2331
|
+
result = self._values.get("access_scope_type")
|
|
2332
|
+
assert result is not None, "Required property 'access_scope_type' is missing"
|
|
2333
|
+
return typing.cast("AccessScopeType", result)
|
|
2334
|
+
|
|
2335
|
+
@builtins.property
|
|
2336
|
+
def namespaces(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2337
|
+
'''An optional array of Kubernetes namespaces to which the access policy applies.
|
|
2338
|
+
|
|
2339
|
+
:default: - no specific namespaces for this scope
|
|
2340
|
+
'''
|
|
2341
|
+
result = self._values.get("namespaces")
|
|
2342
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2343
|
+
|
|
2344
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2345
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2346
|
+
|
|
2347
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2348
|
+
return not (rhs == self)
|
|
2349
|
+
|
|
2350
|
+
def __repr__(self) -> str:
|
|
2351
|
+
return "AccessPolicyNameOptions(%s)" % ", ".join(
|
|
2352
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2353
|
+
)
|
|
2354
|
+
|
|
2355
|
+
|
|
2356
|
+
@jsii.data_type(
|
|
2357
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessPolicyProps",
|
|
2358
|
+
jsii_struct_bases=[],
|
|
2359
|
+
name_mapping={"access_scope": "accessScope", "policy": "policy"},
|
|
2360
|
+
)
|
|
2361
|
+
class AccessPolicyProps:
|
|
2362
|
+
def __init__(
|
|
2363
|
+
self,
|
|
2364
|
+
*,
|
|
2365
|
+
access_scope: typing.Union["AccessScope", typing.Dict[builtins.str, typing.Any]],
|
|
2366
|
+
policy: AccessPolicyArn,
|
|
2367
|
+
) -> None:
|
|
2368
|
+
'''Properties for configuring an Amazon EKS Access Policy.
|
|
2369
|
+
|
|
2370
|
+
:param access_scope: The scope of the access policy, which determines the level of access granted.
|
|
2371
|
+
:param policy: The access policy itself, which defines the specific permissions.
|
|
2372
|
+
|
|
2373
|
+
:exampleMetadata: fixture=_generated
|
|
2374
|
+
|
|
2375
|
+
Example::
|
|
2376
|
+
|
|
2377
|
+
# The code below shows an example of how to instantiate this type.
|
|
2378
|
+
# The values are placeholders you should change.
|
|
2379
|
+
from aws_cdk import aws_eks as eks
|
|
2380
|
+
|
|
2381
|
+
# access_policy_arn: eks.AccessPolicyArn
|
|
2382
|
+
|
|
2383
|
+
access_policy_props = eks.AccessPolicyProps(
|
|
2384
|
+
access_scope=eks.AccessScope(
|
|
2385
|
+
type=eks.AccessScopeType.NAMESPACE,
|
|
2386
|
+
|
|
2387
|
+
# the properties below are optional
|
|
2388
|
+
namespaces=["namespaces"]
|
|
2389
|
+
),
|
|
2390
|
+
policy=access_policy_arn
|
|
2391
|
+
)
|
|
2392
|
+
'''
|
|
2393
|
+
if isinstance(access_scope, dict):
|
|
2394
|
+
access_scope = AccessScope(**access_scope)
|
|
2395
|
+
if __debug__:
|
|
2396
|
+
type_hints = typing.get_type_hints(_typecheckingstub__d76ffc136ce61df3ec4331aefef6219d2ab1e0d4a6c6da1cd604f5d3a29a1c20)
|
|
2397
|
+
check_type(argname="argument access_scope", value=access_scope, expected_type=type_hints["access_scope"])
|
|
2398
|
+
check_type(argname="argument policy", value=policy, expected_type=type_hints["policy"])
|
|
2399
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2400
|
+
"access_scope": access_scope,
|
|
2401
|
+
"policy": policy,
|
|
2402
|
+
}
|
|
2403
|
+
|
|
2404
|
+
@builtins.property
|
|
2405
|
+
def access_scope(self) -> "AccessScope":
|
|
2406
|
+
'''The scope of the access policy, which determines the level of access granted.'''
|
|
2407
|
+
result = self._values.get("access_scope")
|
|
2408
|
+
assert result is not None, "Required property 'access_scope' is missing"
|
|
2409
|
+
return typing.cast("AccessScope", result)
|
|
2410
|
+
|
|
2411
|
+
@builtins.property
|
|
2412
|
+
def policy(self) -> AccessPolicyArn:
|
|
2413
|
+
'''The access policy itself, which defines the specific permissions.'''
|
|
2414
|
+
result = self._values.get("policy")
|
|
2415
|
+
assert result is not None, "Required property 'policy' is missing"
|
|
2416
|
+
return typing.cast(AccessPolicyArn, result)
|
|
2417
|
+
|
|
2418
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2419
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2420
|
+
|
|
2421
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2422
|
+
return not (rhs == self)
|
|
2423
|
+
|
|
2424
|
+
def __repr__(self) -> str:
|
|
2425
|
+
return "AccessPolicyProps(%s)" % ", ".join(
|
|
2426
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2427
|
+
)
|
|
2428
|
+
|
|
2429
|
+
|
|
2430
|
+
@jsii.data_type(
|
|
2431
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessScope",
|
|
2432
|
+
jsii_struct_bases=[],
|
|
2433
|
+
name_mapping={"type": "type", "namespaces": "namespaces"},
|
|
2434
|
+
)
|
|
2435
|
+
class AccessScope:
|
|
2436
|
+
def __init__(
|
|
2437
|
+
self,
|
|
2438
|
+
*,
|
|
2439
|
+
type: "AccessScopeType",
|
|
2440
|
+
namespaces: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
2441
|
+
) -> None:
|
|
2442
|
+
'''Represents the scope of an access policy.
|
|
2443
|
+
|
|
2444
|
+
The scope defines the namespaces or cluster-level access granted by the policy.
|
|
2445
|
+
|
|
2446
|
+
:param type: The scope type of the policy, either 'namespace' or 'cluster'.
|
|
2447
|
+
:param namespaces: A Kubernetes namespace that an access policy is scoped to. A value is required if you specified namespace for Type. Default: - no specific namespaces for this scope.
|
|
2448
|
+
|
|
2449
|
+
:interface: AccessScope
|
|
2450
|
+
:property: {AccessScopeType} type - The scope type of the policy, either 'namespace' or 'cluster'.
|
|
2451
|
+
:exampleMetadata: fixture=_generated
|
|
2452
|
+
|
|
2453
|
+
Example::
|
|
2454
|
+
|
|
2455
|
+
# The code below shows an example of how to instantiate this type.
|
|
2456
|
+
# The values are placeholders you should change.
|
|
2457
|
+
from aws_cdk import aws_eks as eks
|
|
2458
|
+
|
|
2459
|
+
access_scope = eks.AccessScope(
|
|
2460
|
+
type=eks.AccessScopeType.NAMESPACE,
|
|
2461
|
+
|
|
2462
|
+
# the properties below are optional
|
|
2463
|
+
namespaces=["namespaces"]
|
|
2464
|
+
)
|
|
2465
|
+
'''
|
|
2466
|
+
if __debug__:
|
|
2467
|
+
type_hints = typing.get_type_hints(_typecheckingstub__5f979c2154a9a6bd2f77cf7ff51d6f83944d3c1290fcb70cdab0b403b6a0a8f8)
|
|
2468
|
+
check_type(argname="argument type", value=type, expected_type=type_hints["type"])
|
|
2469
|
+
check_type(argname="argument namespaces", value=namespaces, expected_type=type_hints["namespaces"])
|
|
2470
|
+
self._values: typing.Dict[builtins.str, typing.Any] = {
|
|
2471
|
+
"type": type,
|
|
2472
|
+
}
|
|
2473
|
+
if namespaces is not None:
|
|
2474
|
+
self._values["namespaces"] = namespaces
|
|
2475
|
+
|
|
2476
|
+
@builtins.property
|
|
2477
|
+
def type(self) -> "AccessScopeType":
|
|
2478
|
+
'''The scope type of the policy, either 'namespace' or 'cluster'.'''
|
|
2479
|
+
result = self._values.get("type")
|
|
2480
|
+
assert result is not None, "Required property 'type' is missing"
|
|
2481
|
+
return typing.cast("AccessScopeType", result)
|
|
2482
|
+
|
|
2483
|
+
@builtins.property
|
|
2484
|
+
def namespaces(self) -> typing.Optional[typing.List[builtins.str]]:
|
|
2485
|
+
'''A Kubernetes namespace that an access policy is scoped to.
|
|
2486
|
+
|
|
2487
|
+
A value is required if you specified
|
|
2488
|
+
namespace for Type.
|
|
2489
|
+
|
|
2490
|
+
:default: - no specific namespaces for this scope.
|
|
2491
|
+
'''
|
|
2492
|
+
result = self._values.get("namespaces")
|
|
2493
|
+
return typing.cast(typing.Optional[typing.List[builtins.str]], result)
|
|
2494
|
+
|
|
2495
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
2496
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
2497
|
+
|
|
2498
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
2499
|
+
return not (rhs == self)
|
|
2500
|
+
|
|
2501
|
+
def __repr__(self) -> str:
|
|
2502
|
+
return "AccessScope(%s)" % ", ".join(
|
|
2503
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
2504
|
+
)
|
|
2505
|
+
|
|
2506
|
+
|
|
2507
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_eks.AccessScopeType")
|
|
2508
|
+
class AccessScopeType(enum.Enum):
|
|
2509
|
+
'''Represents the scope type of an access policy.
|
|
2510
|
+
|
|
2511
|
+
The scope type determines the level of access granted by the policy.
|
|
2512
|
+
|
|
2513
|
+
:enum: true
|
|
2514
|
+
:export: true
|
|
2515
|
+
:exampleMetadata: infused
|
|
2516
|
+
|
|
2517
|
+
Example::
|
|
2518
|
+
|
|
2519
|
+
# AmazonEKSClusterAdminPolicy with `cluster` scope
|
|
2520
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSClusterAdminPolicy",
|
|
2521
|
+
access_scope_type=eks.AccessScopeType.CLUSTER
|
|
2522
|
+
)
|
|
2523
|
+
# AmazonEKSAdminPolicy with `namespace` scope
|
|
2524
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSAdminPolicy",
|
|
2525
|
+
access_scope_type=eks.AccessScopeType.NAMESPACE,
|
|
2526
|
+
namespaces=["foo", "bar"]
|
|
2527
|
+
)
|
|
2528
|
+
'''
|
|
2529
|
+
|
|
2530
|
+
NAMESPACE = "NAMESPACE"
|
|
2531
|
+
'''The policy applies to a specific namespace within the cluster.'''
|
|
2532
|
+
CLUSTER = "CLUSTER"
|
|
2533
|
+
'''The policy applies to the entire cluster.'''
|
|
2534
|
+
|
|
2535
|
+
|
|
1842
2536
|
class AlbController(
|
|
1843
2537
|
_constructs_77d1e7e8.Construct,
|
|
1844
2538
|
metaclass=jsii.JSIIMeta,
|
|
@@ -2386,6 +3080,34 @@ class AlbScheme(enum.Enum):
|
|
|
2386
3080
|
'''An internet-facing load balancer has a publicly resolvable DNS name, so it can route requests from clients over the internet to the EC2 instances that are registered with the load balancer.'''
|
|
2387
3081
|
|
|
2388
3082
|
|
|
3083
|
+
@jsii.enum(jsii_type="aws-cdk-lib.aws_eks.AuthenticationMode")
|
|
3084
|
+
class AuthenticationMode(enum.Enum):
|
|
3085
|
+
'''Represents the authentication mode for an Amazon EKS cluster.
|
|
3086
|
+
|
|
3087
|
+
:exampleMetadata: infused
|
|
3088
|
+
|
|
3089
|
+
Example::
|
|
3090
|
+
|
|
3091
|
+
from aws_cdk.lambda_layer_kubectl_v30 import KubectlV30Layer
|
|
3092
|
+
# vpc: ec2.Vpc
|
|
3093
|
+
|
|
3094
|
+
|
|
3095
|
+
eks.Cluster(self, "Cluster",
|
|
3096
|
+
vpc=vpc,
|
|
3097
|
+
version=eks.KubernetesVersion.V1_30,
|
|
3098
|
+
kubectl_layer=KubectlV30Layer(self, "KubectlLayer"),
|
|
3099
|
+
authentication_mode=eks.AuthenticationMode.API_AND_CONFIG_MAP
|
|
3100
|
+
)
|
|
3101
|
+
'''
|
|
3102
|
+
|
|
3103
|
+
CONFIG_MAP = "CONFIG_MAP"
|
|
3104
|
+
'''Authenticates using a Kubernetes ConfigMap.'''
|
|
3105
|
+
API_AND_CONFIG_MAP = "API_AND_CONFIG_MAP"
|
|
3106
|
+
'''Authenticates using both the Kubernetes API server and a ConfigMap.'''
|
|
3107
|
+
API = "API"
|
|
3108
|
+
'''Authenticates using the Kubernetes API server.'''
|
|
3109
|
+
|
|
3110
|
+
|
|
2389
3111
|
@jsii.data_type(
|
|
2390
3112
|
jsii_type="aws-cdk-lib.aws_eks.AutoScalingGroupCapacityOptions",
|
|
2391
3113
|
jsii_struct_bases=[_CommonAutoScalingGroupProps_808bbf2d],
|
|
@@ -10907,34 +11629,144 @@ class HelmChartProps(HelmChartOptions):
|
|
|
10907
11629
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
10908
11630
|
|
|
10909
11631
|
@builtins.property
|
|
10910
|
-
def wait(self) -> typing.Optional[builtins.bool]:
|
|
10911
|
-
'''Whether or not Helm should wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful.
|
|
10912
|
-
|
|
10913
|
-
:default: - Helm will not wait before marking release as successful
|
|
10914
|
-
'''
|
|
10915
|
-
result = self._values.get("wait")
|
|
10916
|
-
return typing.cast(typing.Optional[builtins.bool], result)
|
|
11632
|
+
def wait(self) -> typing.Optional[builtins.bool]:
|
|
11633
|
+
'''Whether or not Helm should wait until all Pods, PVCs, Services, and minimum number of Pods of a Deployment, StatefulSet, or ReplicaSet are in a ready state before marking the release as successful.
|
|
11634
|
+
|
|
11635
|
+
:default: - Helm will not wait before marking release as successful
|
|
11636
|
+
'''
|
|
11637
|
+
result = self._values.get("wait")
|
|
11638
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
11639
|
+
|
|
11640
|
+
@builtins.property
|
|
11641
|
+
def cluster(self) -> "ICluster":
|
|
11642
|
+
'''The EKS cluster to apply this configuration to.
|
|
11643
|
+
|
|
11644
|
+
[disable-awslint:ref-via-interface]
|
|
11645
|
+
'''
|
|
11646
|
+
result = self._values.get("cluster")
|
|
11647
|
+
assert result is not None, "Required property 'cluster' is missing"
|
|
11648
|
+
return typing.cast("ICluster", result)
|
|
11649
|
+
|
|
11650
|
+
def __eq__(self, rhs: typing.Any) -> builtins.bool:
|
|
11651
|
+
return isinstance(rhs, self.__class__) and rhs._values == self._values
|
|
11652
|
+
|
|
11653
|
+
def __ne__(self, rhs: typing.Any) -> builtins.bool:
|
|
11654
|
+
return not (rhs == self)
|
|
11655
|
+
|
|
11656
|
+
def __repr__(self) -> str:
|
|
11657
|
+
return "HelmChartProps(%s)" % ", ".join(
|
|
11658
|
+
k + "=" + repr(v) for k, v in self._values.items()
|
|
11659
|
+
)
|
|
11660
|
+
|
|
11661
|
+
|
|
11662
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_eks.IAccessEntry")
|
|
11663
|
+
class IAccessEntry(_IResource_c80c4260, typing_extensions.Protocol):
|
|
11664
|
+
'''Represents an access entry in an Amazon EKS cluster.
|
|
11665
|
+
|
|
11666
|
+
An access entry defines the permissions and scope for a user or role to access an Amazon EKS cluster.
|
|
11667
|
+
|
|
11668
|
+
:extends: IResource *
|
|
11669
|
+
:interface: IAccessEntry
|
|
11670
|
+
:property: {string} accessEntryArn - The Amazon Resource Name (ARN) of the access entry.
|
|
11671
|
+
'''
|
|
11672
|
+
|
|
11673
|
+
@builtins.property
|
|
11674
|
+
@jsii.member(jsii_name="accessEntryArn")
|
|
11675
|
+
def access_entry_arn(self) -> builtins.str:
|
|
11676
|
+
'''The Amazon Resource Name (ARN) of the access entry.
|
|
11677
|
+
|
|
11678
|
+
:attribute: true
|
|
11679
|
+
'''
|
|
11680
|
+
...
|
|
11681
|
+
|
|
11682
|
+
@builtins.property
|
|
11683
|
+
@jsii.member(jsii_name="accessEntryName")
|
|
11684
|
+
def access_entry_name(self) -> builtins.str:
|
|
11685
|
+
'''The name of the access entry.
|
|
11686
|
+
|
|
11687
|
+
:attribute: true
|
|
11688
|
+
'''
|
|
11689
|
+
...
|
|
11690
|
+
|
|
11691
|
+
|
|
11692
|
+
class _IAccessEntryProxy(
|
|
11693
|
+
jsii.proxy_for(_IResource_c80c4260), # type: ignore[misc]
|
|
11694
|
+
):
|
|
11695
|
+
'''Represents an access entry in an Amazon EKS cluster.
|
|
11696
|
+
|
|
11697
|
+
An access entry defines the permissions and scope for a user or role to access an Amazon EKS cluster.
|
|
11698
|
+
|
|
11699
|
+
:extends: IResource *
|
|
11700
|
+
:interface: IAccessEntry
|
|
11701
|
+
:property: {string} accessEntryArn - The Amazon Resource Name (ARN) of the access entry.
|
|
11702
|
+
'''
|
|
11703
|
+
|
|
11704
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_eks.IAccessEntry"
|
|
11705
|
+
|
|
11706
|
+
@builtins.property
|
|
11707
|
+
@jsii.member(jsii_name="accessEntryArn")
|
|
11708
|
+
def access_entry_arn(self) -> builtins.str:
|
|
11709
|
+
'''The Amazon Resource Name (ARN) of the access entry.
|
|
11710
|
+
|
|
11711
|
+
:attribute: true
|
|
11712
|
+
'''
|
|
11713
|
+
return typing.cast(builtins.str, jsii.get(self, "accessEntryArn"))
|
|
11714
|
+
|
|
11715
|
+
@builtins.property
|
|
11716
|
+
@jsii.member(jsii_name="accessEntryName")
|
|
11717
|
+
def access_entry_name(self) -> builtins.str:
|
|
11718
|
+
'''The name of the access entry.
|
|
11719
|
+
|
|
11720
|
+
:attribute: true
|
|
11721
|
+
'''
|
|
11722
|
+
return typing.cast(builtins.str, jsii.get(self, "accessEntryName"))
|
|
11723
|
+
|
|
11724
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
11725
|
+
typing.cast(typing.Any, IAccessEntry).__jsii_proxy_class__ = lambda : _IAccessEntryProxy
|
|
11726
|
+
|
|
11727
|
+
|
|
11728
|
+
@jsii.interface(jsii_type="aws-cdk-lib.aws_eks.IAccessPolicy")
|
|
11729
|
+
class IAccessPolicy(typing_extensions.Protocol):
|
|
11730
|
+
'''Represents an access policy that defines the permissions and scope for a user or role to access an Amazon EKS cluster.
|
|
11731
|
+
|
|
11732
|
+
:interface: IAccessPolicy
|
|
11733
|
+
'''
|
|
11734
|
+
|
|
11735
|
+
@builtins.property
|
|
11736
|
+
@jsii.member(jsii_name="accessScope")
|
|
11737
|
+
def access_scope(self) -> AccessScope:
|
|
11738
|
+
'''The scope of the access policy, which determines the level of access granted.'''
|
|
11739
|
+
...
|
|
10917
11740
|
|
|
10918
11741
|
@builtins.property
|
|
10919
|
-
|
|
10920
|
-
|
|
11742
|
+
@jsii.member(jsii_name="policy")
|
|
11743
|
+
def policy(self) -> builtins.str:
|
|
11744
|
+
'''The access policy itself, which defines the specific permissions.'''
|
|
11745
|
+
...
|
|
10921
11746
|
|
|
10922
|
-
[disable-awslint:ref-via-interface]
|
|
10923
|
-
'''
|
|
10924
|
-
result = self._values.get("cluster")
|
|
10925
|
-
assert result is not None, "Required property 'cluster' is missing"
|
|
10926
|
-
return typing.cast("ICluster", result)
|
|
10927
11747
|
|
|
10928
|
-
|
|
10929
|
-
|
|
11748
|
+
class _IAccessPolicyProxy:
|
|
11749
|
+
'''Represents an access policy that defines the permissions and scope for a user or role to access an Amazon EKS cluster.
|
|
10930
11750
|
|
|
10931
|
-
|
|
10932
|
-
|
|
11751
|
+
:interface: IAccessPolicy
|
|
11752
|
+
'''
|
|
10933
11753
|
|
|
10934
|
-
|
|
10935
|
-
|
|
10936
|
-
|
|
10937
|
-
|
|
11754
|
+
__jsii_type__: typing.ClassVar[str] = "aws-cdk-lib.aws_eks.IAccessPolicy"
|
|
11755
|
+
|
|
11756
|
+
@builtins.property
|
|
11757
|
+
@jsii.member(jsii_name="accessScope")
|
|
11758
|
+
def access_scope(self) -> AccessScope:
|
|
11759
|
+
'''The scope of the access policy, which determines the level of access granted.'''
|
|
11760
|
+
return typing.cast(AccessScope, jsii.get(self, "accessScope"))
|
|
11761
|
+
|
|
11762
|
+
@builtins.property
|
|
11763
|
+
@jsii.member(jsii_name="policy")
|
|
11764
|
+
def policy(self) -> builtins.str:
|
|
11765
|
+
'''The access policy itself, which defines the specific permissions.'''
|
|
11766
|
+
return typing.cast(builtins.str, jsii.get(self, "policy"))
|
|
11767
|
+
|
|
11768
|
+
# Adding a "__jsii_proxy_class__(): typing.Type" function to the interface
|
|
11769
|
+
typing.cast(typing.Any, IAccessPolicy).__jsii_proxy_class__ = lambda : _IAccessPolicyProxy
|
|
10938
11770
|
|
|
10939
11771
|
|
|
10940
11772
|
@jsii.interface(jsii_type="aws-cdk-lib.aws_eks.ICluster")
|
|
@@ -11027,6 +11859,15 @@ class ICluster(_IResource_c80c4260, _IConnectable_10015a05, typing_extensions.Pr
|
|
|
11027
11859
|
'''The VPC in which this Cluster was created.'''
|
|
11028
11860
|
...
|
|
11029
11861
|
|
|
11862
|
+
@builtins.property
|
|
11863
|
+
@jsii.member(jsii_name="authenticationMode")
|
|
11864
|
+
def authentication_mode(self) -> typing.Optional[AuthenticationMode]:
|
|
11865
|
+
'''The authentication mode for the cluster.
|
|
11866
|
+
|
|
11867
|
+
:default: AuthenticationMode.CONFIG_MAP
|
|
11868
|
+
'''
|
|
11869
|
+
...
|
|
11870
|
+
|
|
11030
11871
|
@builtins.property
|
|
11031
11872
|
@jsii.member(jsii_name="awscliLayer")
|
|
11032
11873
|
def awscli_layer(self) -> typing.Optional[_ILayerVersion_5ac127c8]:
|
|
@@ -11378,6 +12219,15 @@ class _IClusterProxy(
|
|
|
11378
12219
|
'''The VPC in which this Cluster was created.'''
|
|
11379
12220
|
return typing.cast(_IVpc_f30d5663, jsii.get(self, "vpc"))
|
|
11380
12221
|
|
|
12222
|
+
@builtins.property
|
|
12223
|
+
@jsii.member(jsii_name="authenticationMode")
|
|
12224
|
+
def authentication_mode(self) -> typing.Optional[AuthenticationMode]:
|
|
12225
|
+
'''The authentication mode for the cluster.
|
|
12226
|
+
|
|
12227
|
+
:default: AuthenticationMode.CONFIG_MAP
|
|
12228
|
+
'''
|
|
12229
|
+
return typing.cast(typing.Optional[AuthenticationMode], jsii.get(self, "authenticationMode"))
|
|
12230
|
+
|
|
11381
12231
|
@builtins.property
|
|
11382
12232
|
@jsii.member(jsii_name="awscliLayer")
|
|
11383
12233
|
def awscli_layer(self) -> typing.Optional[_ILayerVersion_5ac127c8]:
|
|
@@ -12931,15 +13781,16 @@ class KubernetesVersion(
|
|
|
12931
13781
|
|
|
12932
13782
|
Example::
|
|
12933
13783
|
|
|
12934
|
-
|
|
12935
|
-
|
|
12936
|
-
|
|
13784
|
+
# or
|
|
13785
|
+
# vpc: ec2.Vpc
|
|
13786
|
+
eks.Cluster(self, "MyCluster",
|
|
13787
|
+
kubectl_memory=Size.gibibytes(4),
|
|
13788
|
+
version=eks.KubernetesVersion.V1_30
|
|
12937
13789
|
)
|
|
12938
|
-
|
|
12939
|
-
|
|
12940
|
-
|
|
12941
|
-
|
|
12942
|
-
disk_size=100
|
|
13790
|
+
eks.Cluster.from_cluster_attributes(self, "MyCluster",
|
|
13791
|
+
kubectl_memory=Size.gibibytes(4),
|
|
13792
|
+
vpc=vpc,
|
|
13793
|
+
cluster_name="cluster-name"
|
|
12943
13794
|
)
|
|
12944
13795
|
'''
|
|
12945
13796
|
|
|
@@ -15232,6 +16083,204 @@ class TaintSpec:
|
|
|
15232
16083
|
)
|
|
15233
16084
|
|
|
15234
16085
|
|
|
16086
|
+
@jsii.implements(IAccessEntry)
|
|
16087
|
+
class AccessEntry(
|
|
16088
|
+
_Resource_45bc6135,
|
|
16089
|
+
metaclass=jsii.JSIIMeta,
|
|
16090
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessEntry",
|
|
16091
|
+
):
|
|
16092
|
+
'''Represents an access entry in an Amazon EKS cluster.
|
|
16093
|
+
|
|
16094
|
+
An access entry defines the permissions and scope for a user or role to access an Amazon EKS cluster.
|
|
16095
|
+
|
|
16096
|
+
:implements: IAccessEntry
|
|
16097
|
+
:exampleMetadata: fixture=_generated
|
|
16098
|
+
|
|
16099
|
+
Example::
|
|
16100
|
+
|
|
16101
|
+
# The code below shows an example of how to instantiate this type.
|
|
16102
|
+
# The values are placeholders you should change.
|
|
16103
|
+
from aws_cdk import aws_eks as eks
|
|
16104
|
+
|
|
16105
|
+
# access_policy: eks.AccessPolicy
|
|
16106
|
+
# cluster: eks.Cluster
|
|
16107
|
+
|
|
16108
|
+
access_entry = eks.AccessEntry(self, "MyAccessEntry",
|
|
16109
|
+
access_policies=[access_policy],
|
|
16110
|
+
cluster=cluster,
|
|
16111
|
+
principal="principal",
|
|
16112
|
+
|
|
16113
|
+
# the properties below are optional
|
|
16114
|
+
access_entry_name="accessEntryName",
|
|
16115
|
+
access_entry_type=eks.AccessEntryType.STANDARD
|
|
16116
|
+
)
|
|
16117
|
+
'''
|
|
16118
|
+
|
|
16119
|
+
def __init__(
|
|
16120
|
+
self,
|
|
16121
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16122
|
+
id: builtins.str,
|
|
16123
|
+
*,
|
|
16124
|
+
access_policies: typing.Sequence[IAccessPolicy],
|
|
16125
|
+
cluster: ICluster,
|
|
16126
|
+
principal: builtins.str,
|
|
16127
|
+
access_entry_name: typing.Optional[builtins.str] = None,
|
|
16128
|
+
access_entry_type: typing.Optional[AccessEntryType] = None,
|
|
16129
|
+
) -> None:
|
|
16130
|
+
'''
|
|
16131
|
+
:param scope: -
|
|
16132
|
+
:param id: -
|
|
16133
|
+
:param access_policies: The access policies that define the permissions and scope for the access entry.
|
|
16134
|
+
:param cluster: The Amazon EKS cluster to which the access entry applies.
|
|
16135
|
+
:param principal: The Amazon Resource Name (ARN) of the principal (user or role) to associate the access entry with.
|
|
16136
|
+
:param access_entry_name: The name of the AccessEntry. Default: - No access entry name is provided
|
|
16137
|
+
:param access_entry_type: The type of the AccessEntry. Default: STANDARD
|
|
16138
|
+
'''
|
|
16139
|
+
if __debug__:
|
|
16140
|
+
type_hints = typing.get_type_hints(_typecheckingstub__76acfe0dd4f79a87279c3d9cbf3bd8c7327733233aec66908901483da7f17d5b)
|
|
16141
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
16142
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16143
|
+
props = AccessEntryProps(
|
|
16144
|
+
access_policies=access_policies,
|
|
16145
|
+
cluster=cluster,
|
|
16146
|
+
principal=principal,
|
|
16147
|
+
access_entry_name=access_entry_name,
|
|
16148
|
+
access_entry_type=access_entry_type,
|
|
16149
|
+
)
|
|
16150
|
+
|
|
16151
|
+
jsii.create(self.__class__, self, [scope, id, props])
|
|
16152
|
+
|
|
16153
|
+
@jsii.member(jsii_name="fromAccessEntryAttributes")
|
|
16154
|
+
@builtins.classmethod
|
|
16155
|
+
def from_access_entry_attributes(
|
|
16156
|
+
cls,
|
|
16157
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
16158
|
+
id: builtins.str,
|
|
16159
|
+
*,
|
|
16160
|
+
access_entry_arn: builtins.str,
|
|
16161
|
+
access_entry_name: builtins.str,
|
|
16162
|
+
) -> IAccessEntry:
|
|
16163
|
+
'''Imports an ``AccessEntry`` from its attributes.
|
|
16164
|
+
|
|
16165
|
+
:param scope: - The parent construct.
|
|
16166
|
+
:param id: - The ID of the imported construct.
|
|
16167
|
+
:param access_entry_arn: The Amazon Resource Name (ARN) of the access entry.
|
|
16168
|
+
:param access_entry_name: The name of the access entry.
|
|
16169
|
+
|
|
16170
|
+
:return: The imported access entry.
|
|
16171
|
+
'''
|
|
16172
|
+
if __debug__:
|
|
16173
|
+
type_hints = typing.get_type_hints(_typecheckingstub__f179e9982369f73f3bb7a13ff87f073fda0da2cd11932479d54f6d69d8849141)
|
|
16174
|
+
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
16175
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
16176
|
+
attrs = AccessEntryAttributes(
|
|
16177
|
+
access_entry_arn=access_entry_arn, access_entry_name=access_entry_name
|
|
16178
|
+
)
|
|
16179
|
+
|
|
16180
|
+
return typing.cast(IAccessEntry, jsii.sinvoke(cls, "fromAccessEntryAttributes", [scope, id, attrs]))
|
|
16181
|
+
|
|
16182
|
+
@jsii.member(jsii_name="addAccessPolicies")
|
|
16183
|
+
def add_access_policies(
|
|
16184
|
+
self,
|
|
16185
|
+
new_access_policies: typing.Sequence[IAccessPolicy],
|
|
16186
|
+
) -> None:
|
|
16187
|
+
'''Add the access policies for this entry.
|
|
16188
|
+
|
|
16189
|
+
:param new_access_policies: - The new access policies to add.
|
|
16190
|
+
'''
|
|
16191
|
+
if __debug__:
|
|
16192
|
+
type_hints = typing.get_type_hints(_typecheckingstub__e1007432e51c3db7b596578b73c0068b372fc6af638d2adb2faa12db70799372)
|
|
16193
|
+
check_type(argname="argument new_access_policies", value=new_access_policies, expected_type=type_hints["new_access_policies"])
|
|
16194
|
+
return typing.cast(None, jsii.invoke(self, "addAccessPolicies", [new_access_policies]))
|
|
16195
|
+
|
|
16196
|
+
@builtins.property
|
|
16197
|
+
@jsii.member(jsii_name="accessEntryArn")
|
|
16198
|
+
def access_entry_arn(self) -> builtins.str:
|
|
16199
|
+
'''The Amazon Resource Name (ARN) of the access entry.'''
|
|
16200
|
+
return typing.cast(builtins.str, jsii.get(self, "accessEntryArn"))
|
|
16201
|
+
|
|
16202
|
+
@builtins.property
|
|
16203
|
+
@jsii.member(jsii_name="accessEntryName")
|
|
16204
|
+
def access_entry_name(self) -> builtins.str:
|
|
16205
|
+
'''The name of the access entry.'''
|
|
16206
|
+
return typing.cast(builtins.str, jsii.get(self, "accessEntryName"))
|
|
16207
|
+
|
|
16208
|
+
|
|
16209
|
+
@jsii.implements(IAccessPolicy)
|
|
16210
|
+
class AccessPolicy(
|
|
16211
|
+
metaclass=jsii.JSIIMeta,
|
|
16212
|
+
jsii_type="aws-cdk-lib.aws_eks.AccessPolicy",
|
|
16213
|
+
):
|
|
16214
|
+
'''Represents an Amazon EKS Access Policy that implements the IAccessPolicy interface.
|
|
16215
|
+
|
|
16216
|
+
:implements: IAccessPolicy
|
|
16217
|
+
:exampleMetadata: infused
|
|
16218
|
+
|
|
16219
|
+
Example::
|
|
16220
|
+
|
|
16221
|
+
# AmazonEKSClusterAdminPolicy with `cluster` scope
|
|
16222
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSClusterAdminPolicy",
|
|
16223
|
+
access_scope_type=eks.AccessScopeType.CLUSTER
|
|
16224
|
+
)
|
|
16225
|
+
# AmazonEKSAdminPolicy with `namespace` scope
|
|
16226
|
+
eks.AccessPolicy.from_access_policy_name("AmazonEKSAdminPolicy",
|
|
16227
|
+
access_scope_type=eks.AccessScopeType.NAMESPACE,
|
|
16228
|
+
namespaces=["foo", "bar"]
|
|
16229
|
+
)
|
|
16230
|
+
'''
|
|
16231
|
+
|
|
16232
|
+
def __init__(
|
|
16233
|
+
self,
|
|
16234
|
+
*,
|
|
16235
|
+
access_scope: typing.Union[AccessScope, typing.Dict[builtins.str, typing.Any]],
|
|
16236
|
+
policy: AccessPolicyArn,
|
|
16237
|
+
) -> None:
|
|
16238
|
+
'''Constructs a new instance of the AccessPolicy class.
|
|
16239
|
+
|
|
16240
|
+
:param access_scope: The scope of the access policy, which determines the level of access granted.
|
|
16241
|
+
:param policy: The access policy itself, which defines the specific permissions.
|
|
16242
|
+
'''
|
|
16243
|
+
props = AccessPolicyProps(access_scope=access_scope, policy=policy)
|
|
16244
|
+
|
|
16245
|
+
jsii.create(self.__class__, self, [props])
|
|
16246
|
+
|
|
16247
|
+
@jsii.member(jsii_name="fromAccessPolicyName")
|
|
16248
|
+
@builtins.classmethod
|
|
16249
|
+
def from_access_policy_name(
|
|
16250
|
+
cls,
|
|
16251
|
+
policy_name: builtins.str,
|
|
16252
|
+
*,
|
|
16253
|
+
access_scope_type: AccessScopeType,
|
|
16254
|
+
namespaces: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
16255
|
+
) -> IAccessPolicy:
|
|
16256
|
+
'''Import AccessPolicy by name.
|
|
16257
|
+
|
|
16258
|
+
:param policy_name: -
|
|
16259
|
+
:param access_scope_type: The scope of the access policy. This determines the level of access granted by the policy.
|
|
16260
|
+
:param namespaces: An optional array of Kubernetes namespaces to which the access policy applies. Default: - no specific namespaces for this scope
|
|
16261
|
+
'''
|
|
16262
|
+
if __debug__:
|
|
16263
|
+
type_hints = typing.get_type_hints(_typecheckingstub__a928f26a921cd1d01ec556e4421fe3bf4a1ac17a9b598a554215bfae5af842aa)
|
|
16264
|
+
check_type(argname="argument policy_name", value=policy_name, expected_type=type_hints["policy_name"])
|
|
16265
|
+
options = AccessPolicyNameOptions(
|
|
16266
|
+
access_scope_type=access_scope_type, namespaces=namespaces
|
|
16267
|
+
)
|
|
16268
|
+
|
|
16269
|
+
return typing.cast(IAccessPolicy, jsii.sinvoke(cls, "fromAccessPolicyName", [policy_name, options]))
|
|
16270
|
+
|
|
16271
|
+
@builtins.property
|
|
16272
|
+
@jsii.member(jsii_name="accessScope")
|
|
16273
|
+
def access_scope(self) -> AccessScope:
|
|
16274
|
+
'''The scope of the access policy, which determines the level of access granted.'''
|
|
16275
|
+
return typing.cast(AccessScope, jsii.get(self, "accessScope"))
|
|
16276
|
+
|
|
16277
|
+
@builtins.property
|
|
16278
|
+
@jsii.member(jsii_name="policy")
|
|
16279
|
+
def policy(self) -> builtins.str:
|
|
16280
|
+
'''The access policy itself, which defines the specific permissions.'''
|
|
16281
|
+
return typing.cast(builtins.str, jsii.get(self, "policy"))
|
|
16282
|
+
|
|
16283
|
+
|
|
15235
16284
|
@jsii.implements(ICluster)
|
|
15236
16285
|
class Cluster(
|
|
15237
16286
|
_Resource_45bc6135,
|
|
@@ -15247,18 +16296,16 @@ class Cluster(
|
|
|
15247
16296
|
|
|
15248
16297
|
Example::
|
|
15249
16298
|
|
|
15250
|
-
|
|
15251
|
-
|
|
15252
|
-
|
|
15253
|
-
|
|
15254
|
-
version=eks.KubernetesVersion.
|
|
15255
|
-
cluster_name="myEksCluster"
|
|
16299
|
+
# or
|
|
16300
|
+
# vpc: ec2.Vpc
|
|
16301
|
+
eks.Cluster(self, "MyCluster",
|
|
16302
|
+
kubectl_memory=Size.gibibytes(4),
|
|
16303
|
+
version=eks.KubernetesVersion.V1_30
|
|
15256
16304
|
)
|
|
15257
|
-
|
|
15258
|
-
|
|
15259
|
-
|
|
15260
|
-
|
|
15261
|
-
http_path="/api/v1/namespaces/default/pods"
|
|
16305
|
+
eks.Cluster.from_cluster_attributes(self, "MyCluster",
|
|
16306
|
+
kubectl_memory=Size.gibibytes(4),
|
|
16307
|
+
vpc=vpc,
|
|
16308
|
+
cluster_name="cluster-name"
|
|
15262
16309
|
)
|
|
15263
16310
|
'''
|
|
15264
16311
|
|
|
@@ -15267,12 +16314,14 @@ class Cluster(
|
|
|
15267
16314
|
scope: _constructs_77d1e7e8.Construct,
|
|
15268
16315
|
id: builtins.str,
|
|
15269
16316
|
*,
|
|
16317
|
+
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
15270
16318
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
15271
16319
|
default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
|
|
15272
16320
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
15273
16321
|
kubectl_lambda_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
15274
16322
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
15275
16323
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
16324
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
15276
16325
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
15277
16326
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
15278
16327
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -15303,12 +16352,14 @@ class Cluster(
|
|
|
15303
16352
|
|
|
15304
16353
|
:param scope: a Construct, most likely a cdk.Stack created.
|
|
15305
16354
|
:param id: the id of the Construct to create.
|
|
16355
|
+
:param bootstrap_cluster_creator_admin_permissions: Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
|
|
15306
16356
|
:param default_capacity: Number of instances to allocate as an initial capacity for this cluster. Instance type can be configured through ``defaultCapacityInstanceType``, which defaults to ``m5.large``. Use ``cluster.addAutoScalingGroupCapacity`` to add additional customized capacity. Set this to ``0`` is you wish to avoid the initial capacity allocation. Default: 2
|
|
15307
16357
|
:param default_capacity_instance: The instance type to use for the default capacity. This will only be taken into account if ``defaultCapacity`` is > 0. Default: m5.large
|
|
15308
16358
|
:param default_capacity_type: The default capacity type for the cluster. Default: NODEGROUP
|
|
15309
16359
|
:param kubectl_lambda_role: The IAM role to pass to the Kubectl Lambda Handler. Default: - Default Lambda IAM Execution Role
|
|
15310
16360
|
:param tags: The tags assigned to the EKS cluster. Default: - none
|
|
15311
16361
|
:param alb_controller: Install the AWS Load Balancer Controller onto the cluster. Default: - The controller is not installed.
|
|
16362
|
+
:param authentication_mode: The desired authentication mode for the cluster. Default: AuthenticationMode.CONFIG_MAP
|
|
15312
16363
|
:param awscli_layer: An AWS Lambda layer that contains the ``aws`` CLI. The handler expects the layer to include the following executables:: /opt/awscli/aws Default: - a default layer with the AWS CLI 1.x
|
|
15313
16364
|
:param cluster_handler_environment: Custom environment variables when interacting with the EKS endpoint to manage the cluster lifecycle. Default: - No environment variables.
|
|
15314
16365
|
:param cluster_handler_security_group: A security group to associate with the Cluster Handler's Lambdas. The Cluster Handler's Lambdas are responsible for calling AWS's EKS API. Requires ``placeClusterHandlerInVpc`` to be set to true. Default: - No security group.
|
|
@@ -15340,12 +16391,14 @@ class Cluster(
|
|
|
15340
16391
|
check_type(argname="argument scope", value=scope, expected_type=type_hints["scope"])
|
|
15341
16392
|
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
15342
16393
|
props = ClusterProps(
|
|
16394
|
+
bootstrap_cluster_creator_admin_permissions=bootstrap_cluster_creator_admin_permissions,
|
|
15343
16395
|
default_capacity=default_capacity,
|
|
15344
16396
|
default_capacity_instance=default_capacity_instance,
|
|
15345
16397
|
default_capacity_type=default_capacity_type,
|
|
15346
16398
|
kubectl_lambda_role=kubectl_lambda_role,
|
|
15347
16399
|
tags=tags,
|
|
15348
16400
|
alb_controller=alb_controller,
|
|
16401
|
+
authentication_mode=authentication_mode,
|
|
15349
16402
|
awscli_layer=awscli_layer,
|
|
15350
16403
|
cluster_handler_environment=cluster_handler_environment,
|
|
15351
16404
|
cluster_handler_security_group=cluster_handler_security_group,
|
|
@@ -15933,6 +16986,30 @@ class Cluster(
|
|
|
15933
16986
|
|
|
15934
16987
|
return typing.cast(builtins.str, jsii.invoke(self, "getServiceLoadBalancerAddress", [service_name, options]))
|
|
15935
16988
|
|
|
16989
|
+
@jsii.member(jsii_name="grantAccess")
|
|
16990
|
+
def grant_access(
|
|
16991
|
+
self,
|
|
16992
|
+
id: builtins.str,
|
|
16993
|
+
principal: builtins.str,
|
|
16994
|
+
access_policies: typing.Sequence[IAccessPolicy],
|
|
16995
|
+
) -> None:
|
|
16996
|
+
'''Grants the specified IAM principal access to the EKS cluster based on the provided access policies.
|
|
16997
|
+
|
|
16998
|
+
This method creates an ``AccessEntry`` construct that grants the specified IAM principal the access permissions
|
|
16999
|
+
defined by the provided ``IAccessPolicy`` array. This allows the IAM principal to perform the actions permitted
|
|
17000
|
+
by the access policies within the EKS cluster.
|
|
17001
|
+
|
|
17002
|
+
:param id: - The ID of the ``AccessEntry`` construct to be created.
|
|
17003
|
+
:param principal: - The IAM principal (role or user) to be granted access to the EKS cluster.
|
|
17004
|
+
:param access_policies: - An array of ``IAccessPolicy`` objects that define the access permissions to be granted to the IAM principal.
|
|
17005
|
+
'''
|
|
17006
|
+
if __debug__:
|
|
17007
|
+
type_hints = typing.get_type_hints(_typecheckingstub__c595337c9bbbcf6eb001ec015e579e32f72cb323ae83c9fa92eef98034ea8936)
|
|
17008
|
+
check_type(argname="argument id", value=id, expected_type=type_hints["id"])
|
|
17009
|
+
check_type(argname="argument principal", value=principal, expected_type=type_hints["principal"])
|
|
17010
|
+
check_type(argname="argument access_policies", value=access_policies, expected_type=type_hints["access_policies"])
|
|
17011
|
+
return typing.cast(None, jsii.invoke(self, "grantAccess", [id, principal, access_policies]))
|
|
17012
|
+
|
|
15936
17013
|
@builtins.property
|
|
15937
17014
|
@jsii.member(jsii_name="adminRole")
|
|
15938
17015
|
def admin_role(self) -> _Role_e8c6e11f:
|
|
@@ -16070,6 +17147,19 @@ class Cluster(
|
|
|
16070
17147
|
'''
|
|
16071
17148
|
return typing.cast(typing.Optional[AlbController], jsii.get(self, "albController"))
|
|
16072
17149
|
|
|
17150
|
+
@builtins.property
|
|
17151
|
+
@jsii.member(jsii_name="authenticationMode")
|
|
17152
|
+
def authentication_mode(self) -> typing.Optional[AuthenticationMode]:
|
|
17153
|
+
'''The authentication mode for the Amazon EKS cluster.
|
|
17154
|
+
|
|
17155
|
+
The authentication mode determines how users and applications authenticate to the Kubernetes API server.
|
|
17156
|
+
|
|
17157
|
+
:default: CONFIG_MAP.
|
|
17158
|
+
|
|
17159
|
+
:property: {AuthenticationMode} [authenticationMode] - The authentication mode for the Amazon EKS cluster.
|
|
17160
|
+
'''
|
|
17161
|
+
return typing.cast(typing.Optional[AuthenticationMode], jsii.get(self, "authenticationMode"))
|
|
17162
|
+
|
|
16073
17163
|
@builtins.property
|
|
16074
17164
|
@jsii.member(jsii_name="awscliLayer")
|
|
16075
17165
|
def awscli_layer(self) -> typing.Optional[_ILayerVersion_5ac127c8]:
|
|
@@ -16223,6 +17313,7 @@ class Cluster(
|
|
|
16223
17313
|
"vpc": "vpc",
|
|
16224
17314
|
"vpc_subnets": "vpcSubnets",
|
|
16225
17315
|
"alb_controller": "albController",
|
|
17316
|
+
"authentication_mode": "authenticationMode",
|
|
16226
17317
|
"awscli_layer": "awscliLayer",
|
|
16227
17318
|
"cluster_handler_environment": "clusterHandlerEnvironment",
|
|
16228
17319
|
"cluster_handler_security_group": "clusterHandlerSecurityGroup",
|
|
@@ -16255,6 +17346,7 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16255
17346
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
16256
17347
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16257
17348
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17349
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
16258
17350
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
16259
17351
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
16260
17352
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -16284,6 +17376,7 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16284
17376
|
:param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
|
|
16285
17377
|
:param vpc_subnets: Where to place EKS Control Plane ENIs. For example, to only select private subnets, supply the following: ``vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }]`` Default: - All public and private subnets
|
|
16286
17378
|
:param alb_controller: Install the AWS Load Balancer Controller onto the cluster. Default: - The controller is not installed.
|
|
17379
|
+
:param authentication_mode: The desired authentication mode for the cluster. Default: AuthenticationMode.CONFIG_MAP
|
|
16287
17380
|
:param awscli_layer: An AWS Lambda layer that contains the ``aws`` CLI. The handler expects the layer to include the following executables:: /opt/awscli/aws Default: - a default layer with the AWS CLI 1.x
|
|
16288
17381
|
:param cluster_handler_environment: Custom environment variables when interacting with the EKS endpoint to manage the cluster lifecycle. Default: - No environment variables.
|
|
16289
17382
|
:param cluster_handler_security_group: A security group to associate with the Cluster Handler's Lambdas. The Cluster Handler's Lambdas are responsible for calling AWS's EKS API. Requires ``placeClusterHandlerInVpc`` to be set to true. Default: - No security group.
|
|
@@ -16339,6 +17432,7 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16339
17432
|
policy=policy,
|
|
16340
17433
|
repository="repository"
|
|
16341
17434
|
),
|
|
17435
|
+
authentication_mode=eks.AuthenticationMode.CONFIG_MAP,
|
|
16342
17436
|
awscli_layer=layer_version,
|
|
16343
17437
|
cluster_handler_environment={
|
|
16344
17438
|
"cluster_handler_environment_key": "clusterHandlerEnvironment"
|
|
@@ -16389,6 +17483,7 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16389
17483
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
16390
17484
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
16391
17485
|
check_type(argname="argument alb_controller", value=alb_controller, expected_type=type_hints["alb_controller"])
|
|
17486
|
+
check_type(argname="argument authentication_mode", value=authentication_mode, expected_type=type_hints["authentication_mode"])
|
|
16392
17487
|
check_type(argname="argument awscli_layer", value=awscli_layer, expected_type=type_hints["awscli_layer"])
|
|
16393
17488
|
check_type(argname="argument cluster_handler_environment", value=cluster_handler_environment, expected_type=type_hints["cluster_handler_environment"])
|
|
16394
17489
|
check_type(argname="argument cluster_handler_security_group", value=cluster_handler_security_group, expected_type=type_hints["cluster_handler_security_group"])
|
|
@@ -16425,6 +17520,8 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16425
17520
|
self._values["vpc_subnets"] = vpc_subnets
|
|
16426
17521
|
if alb_controller is not None:
|
|
16427
17522
|
self._values["alb_controller"] = alb_controller
|
|
17523
|
+
if authentication_mode is not None:
|
|
17524
|
+
self._values["authentication_mode"] = authentication_mode
|
|
16428
17525
|
if awscli_layer is not None:
|
|
16429
17526
|
self._values["awscli_layer"] = awscli_layer
|
|
16430
17527
|
if cluster_handler_environment is not None:
|
|
@@ -16548,6 +17645,15 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16548
17645
|
result = self._values.get("alb_controller")
|
|
16549
17646
|
return typing.cast(typing.Optional[AlbControllerOptions], result)
|
|
16550
17647
|
|
|
17648
|
+
@builtins.property
|
|
17649
|
+
def authentication_mode(self) -> typing.Optional[AuthenticationMode]:
|
|
17650
|
+
'''The desired authentication mode for the cluster.
|
|
17651
|
+
|
|
17652
|
+
:default: AuthenticationMode.CONFIG_MAP
|
|
17653
|
+
'''
|
|
17654
|
+
result = self._values.get("authentication_mode")
|
|
17655
|
+
return typing.cast(typing.Optional[AuthenticationMode], result)
|
|
17656
|
+
|
|
16551
17657
|
@builtins.property
|
|
16552
17658
|
def awscli_layer(self) -> typing.Optional[_ILayerVersion_5ac127c8]:
|
|
16553
17659
|
'''An AWS Lambda layer that contains the ``aws`` CLI.
|
|
@@ -16786,6 +17892,7 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16786
17892
|
"vpc": "vpc",
|
|
16787
17893
|
"vpc_subnets": "vpcSubnets",
|
|
16788
17894
|
"alb_controller": "albController",
|
|
17895
|
+
"authentication_mode": "authenticationMode",
|
|
16789
17896
|
"awscli_layer": "awscliLayer",
|
|
16790
17897
|
"cluster_handler_environment": "clusterHandlerEnvironment",
|
|
16791
17898
|
"cluster_handler_security_group": "clusterHandlerSecurityGroup",
|
|
@@ -16803,6 +17910,7 @@ class ClusterOptions(CommonClusterOptions):
|
|
|
16803
17910
|
"prune": "prune",
|
|
16804
17911
|
"secrets_encryption_key": "secretsEncryptionKey",
|
|
16805
17912
|
"service_ipv4_cidr": "serviceIpv4Cidr",
|
|
17913
|
+
"bootstrap_cluster_creator_admin_permissions": "bootstrapClusterCreatorAdminPermissions",
|
|
16806
17914
|
"default_capacity": "defaultCapacity",
|
|
16807
17915
|
"default_capacity_instance": "defaultCapacityInstance",
|
|
16808
17916
|
"default_capacity_type": "defaultCapacityType",
|
|
@@ -16823,6 +17931,7 @@ class ClusterProps(ClusterOptions):
|
|
|
16823
17931
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
16824
17932
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
16825
17933
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17934
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
16826
17935
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
16827
17936
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
16828
17937
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -16840,6 +17949,7 @@ class ClusterProps(ClusterOptions):
|
|
|
16840
17949
|
prune: typing.Optional[builtins.bool] = None,
|
|
16841
17950
|
secrets_encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
16842
17951
|
service_ipv4_cidr: typing.Optional[builtins.str] = None,
|
|
17952
|
+
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
16843
17953
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
16844
17954
|
default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
|
|
16845
17955
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
@@ -16857,6 +17967,7 @@ class ClusterProps(ClusterOptions):
|
|
|
16857
17967
|
:param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
|
|
16858
17968
|
:param vpc_subnets: Where to place EKS Control Plane ENIs. For example, to only select private subnets, supply the following: ``vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }]`` Default: - All public and private subnets
|
|
16859
17969
|
:param alb_controller: Install the AWS Load Balancer Controller onto the cluster. Default: - The controller is not installed.
|
|
17970
|
+
:param authentication_mode: The desired authentication mode for the cluster. Default: AuthenticationMode.CONFIG_MAP
|
|
16860
17971
|
:param awscli_layer: An AWS Lambda layer that contains the ``aws`` CLI. The handler expects the layer to include the following executables:: /opt/awscli/aws Default: - a default layer with the AWS CLI 1.x
|
|
16861
17972
|
:param cluster_handler_environment: Custom environment variables when interacting with the EKS endpoint to manage the cluster lifecycle. Default: - No environment variables.
|
|
16862
17973
|
:param cluster_handler_security_group: A security group to associate with the Cluster Handler's Lambdas. The Cluster Handler's Lambdas are responsible for calling AWS's EKS API. Requires ``placeClusterHandlerInVpc`` to be set to true. Default: - No security group.
|
|
@@ -16874,6 +17985,7 @@ class ClusterProps(ClusterOptions):
|
|
|
16874
17985
|
:param prune: Indicates whether Kubernetes resources added through ``addManifest()`` can be automatically pruned. When this is enabled (default), prune labels will be allocated and injected to each resource. These labels will then be used when issuing the ``kubectl apply`` operation with the ``--prune`` switch. Default: true
|
|
16875
17986
|
:param secrets_encryption_key: KMS secret for envelope encryption for Kubernetes secrets. Default: - By default, Kubernetes stores all secret object data within etcd and all etcd volumes used by Amazon EKS are encrypted at the disk-level using AWS-Managed encryption keys.
|
|
16876
17987
|
:param service_ipv4_cidr: The CIDR block to assign Kubernetes service IP addresses from. Default: - Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks
|
|
17988
|
+
:param bootstrap_cluster_creator_admin_permissions: Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time. Changing this value after the cluster has been created will result in the cluster being replaced. Default: true
|
|
16877
17989
|
:param default_capacity: Number of instances to allocate as an initial capacity for this cluster. Instance type can be configured through ``defaultCapacityInstanceType``, which defaults to ``m5.large``. Use ``cluster.addAutoScalingGroupCapacity`` to add additional customized capacity. Set this to ``0`` is you wish to avoid the initial capacity allocation. Default: 2
|
|
16878
17990
|
:param default_capacity_instance: The instance type to use for the default capacity. This will only be taken into account if ``defaultCapacity`` is > 0. Default: m5.large
|
|
16879
17991
|
:param default_capacity_type: The default capacity type for the cluster. Default: NODEGROUP
|
|
@@ -16909,6 +18021,7 @@ class ClusterProps(ClusterOptions):
|
|
|
16909
18021
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
16910
18022
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
16911
18023
|
check_type(argname="argument alb_controller", value=alb_controller, expected_type=type_hints["alb_controller"])
|
|
18024
|
+
check_type(argname="argument authentication_mode", value=authentication_mode, expected_type=type_hints["authentication_mode"])
|
|
16912
18025
|
check_type(argname="argument awscli_layer", value=awscli_layer, expected_type=type_hints["awscli_layer"])
|
|
16913
18026
|
check_type(argname="argument cluster_handler_environment", value=cluster_handler_environment, expected_type=type_hints["cluster_handler_environment"])
|
|
16914
18027
|
check_type(argname="argument cluster_handler_security_group", value=cluster_handler_security_group, expected_type=type_hints["cluster_handler_security_group"])
|
|
@@ -16926,6 +18039,7 @@ class ClusterProps(ClusterOptions):
|
|
|
16926
18039
|
check_type(argname="argument prune", value=prune, expected_type=type_hints["prune"])
|
|
16927
18040
|
check_type(argname="argument secrets_encryption_key", value=secrets_encryption_key, expected_type=type_hints["secrets_encryption_key"])
|
|
16928
18041
|
check_type(argname="argument service_ipv4_cidr", value=service_ipv4_cidr, expected_type=type_hints["service_ipv4_cidr"])
|
|
18042
|
+
check_type(argname="argument bootstrap_cluster_creator_admin_permissions", value=bootstrap_cluster_creator_admin_permissions, expected_type=type_hints["bootstrap_cluster_creator_admin_permissions"])
|
|
16929
18043
|
check_type(argname="argument default_capacity", value=default_capacity, expected_type=type_hints["default_capacity"])
|
|
16930
18044
|
check_type(argname="argument default_capacity_instance", value=default_capacity_instance, expected_type=type_hints["default_capacity_instance"])
|
|
16931
18045
|
check_type(argname="argument default_capacity_type", value=default_capacity_type, expected_type=type_hints["default_capacity_type"])
|
|
@@ -16950,6 +18064,8 @@ class ClusterProps(ClusterOptions):
|
|
|
16950
18064
|
self._values["vpc_subnets"] = vpc_subnets
|
|
16951
18065
|
if alb_controller is not None:
|
|
16952
18066
|
self._values["alb_controller"] = alb_controller
|
|
18067
|
+
if authentication_mode is not None:
|
|
18068
|
+
self._values["authentication_mode"] = authentication_mode
|
|
16953
18069
|
if awscli_layer is not None:
|
|
16954
18070
|
self._values["awscli_layer"] = awscli_layer
|
|
16955
18071
|
if cluster_handler_environment is not None:
|
|
@@ -16984,6 +18100,8 @@ class ClusterProps(ClusterOptions):
|
|
|
16984
18100
|
self._values["secrets_encryption_key"] = secrets_encryption_key
|
|
16985
18101
|
if service_ipv4_cidr is not None:
|
|
16986
18102
|
self._values["service_ipv4_cidr"] = service_ipv4_cidr
|
|
18103
|
+
if bootstrap_cluster_creator_admin_permissions is not None:
|
|
18104
|
+
self._values["bootstrap_cluster_creator_admin_permissions"] = bootstrap_cluster_creator_admin_permissions
|
|
16987
18105
|
if default_capacity is not None:
|
|
16988
18106
|
self._values["default_capacity"] = default_capacity
|
|
16989
18107
|
if default_capacity_instance is not None:
|
|
@@ -17083,6 +18201,15 @@ class ClusterProps(ClusterOptions):
|
|
|
17083
18201
|
result = self._values.get("alb_controller")
|
|
17084
18202
|
return typing.cast(typing.Optional[AlbControllerOptions], result)
|
|
17085
18203
|
|
|
18204
|
+
@builtins.property
|
|
18205
|
+
def authentication_mode(self) -> typing.Optional[AuthenticationMode]:
|
|
18206
|
+
'''The desired authentication mode for the cluster.
|
|
18207
|
+
|
|
18208
|
+
:default: AuthenticationMode.CONFIG_MAP
|
|
18209
|
+
'''
|
|
18210
|
+
result = self._values.get("authentication_mode")
|
|
18211
|
+
return typing.cast(typing.Optional[AuthenticationMode], result)
|
|
18212
|
+
|
|
17086
18213
|
@builtins.property
|
|
17087
18214
|
def awscli_layer(self) -> typing.Optional[_ILayerVersion_5ac127c8]:
|
|
17088
18215
|
'''An AWS Lambda layer that contains the ``aws`` CLI.
|
|
@@ -17296,6 +18423,19 @@ class ClusterProps(ClusterOptions):
|
|
|
17296
18423
|
result = self._values.get("service_ipv4_cidr")
|
|
17297
18424
|
return typing.cast(typing.Optional[builtins.str], result)
|
|
17298
18425
|
|
|
18426
|
+
@builtins.property
|
|
18427
|
+
def bootstrap_cluster_creator_admin_permissions(
|
|
18428
|
+
self,
|
|
18429
|
+
) -> typing.Optional[builtins.bool]:
|
|
18430
|
+
'''Whether or not IAM principal of the cluster creator was set as a cluster admin access entry during cluster creation time.
|
|
18431
|
+
|
|
18432
|
+
Changing this value after the cluster has been created will result in the cluster being replaced.
|
|
18433
|
+
|
|
18434
|
+
:default: true
|
|
18435
|
+
'''
|
|
18436
|
+
result = self._values.get("bootstrap_cluster_creator_admin_permissions")
|
|
18437
|
+
return typing.cast(typing.Optional[builtins.bool], result)
|
|
18438
|
+
|
|
17299
18439
|
@builtins.property
|
|
17300
18440
|
def default_capacity(self) -> typing.Optional[jsii.Number]:
|
|
17301
18441
|
'''Number of instances to allocate as an initial capacity for this cluster.
|
|
@@ -17389,6 +18529,7 @@ class FargateCluster(
|
|
|
17389
18529
|
*,
|
|
17390
18530
|
default_profile: typing.Optional[typing.Union[FargateProfileOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
17391
18531
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18532
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
17392
18533
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
17393
18534
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
17394
18535
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -17420,6 +18561,7 @@ class FargateCluster(
|
|
|
17420
18561
|
:param id: -
|
|
17421
18562
|
:param default_profile: Fargate Profile to create along with the cluster. Default: - A profile called "default" with 'default' and 'kube-system' selectors will be created if this is left undefined.
|
|
17422
18563
|
:param alb_controller: Install the AWS Load Balancer Controller onto the cluster. Default: - The controller is not installed.
|
|
18564
|
+
:param authentication_mode: The desired authentication mode for the cluster. Default: AuthenticationMode.CONFIG_MAP
|
|
17423
18565
|
:param awscli_layer: An AWS Lambda layer that contains the ``aws`` CLI. The handler expects the layer to include the following executables:: /opt/awscli/aws Default: - a default layer with the AWS CLI 1.x
|
|
17424
18566
|
:param cluster_handler_environment: Custom environment variables when interacting with the EKS endpoint to manage the cluster lifecycle. Default: - No environment variables.
|
|
17425
18567
|
:param cluster_handler_security_group: A security group to associate with the Cluster Handler's Lambdas. The Cluster Handler's Lambdas are responsible for calling AWS's EKS API. Requires ``placeClusterHandlerInVpc`` to be set to true. Default: - No security group.
|
|
@@ -17453,6 +18595,7 @@ class FargateCluster(
|
|
|
17453
18595
|
props = FargateClusterProps(
|
|
17454
18596
|
default_profile=default_profile,
|
|
17455
18597
|
alb_controller=alb_controller,
|
|
18598
|
+
authentication_mode=authentication_mode,
|
|
17456
18599
|
awscli_layer=awscli_layer,
|
|
17457
18600
|
cluster_handler_environment=cluster_handler_environment,
|
|
17458
18601
|
cluster_handler_security_group=cluster_handler_security_group,
|
|
@@ -17502,6 +18645,7 @@ class FargateCluster(
|
|
|
17502
18645
|
"vpc": "vpc",
|
|
17503
18646
|
"vpc_subnets": "vpcSubnets",
|
|
17504
18647
|
"alb_controller": "albController",
|
|
18648
|
+
"authentication_mode": "authenticationMode",
|
|
17505
18649
|
"awscli_layer": "awscliLayer",
|
|
17506
18650
|
"cluster_handler_environment": "clusterHandlerEnvironment",
|
|
17507
18651
|
"cluster_handler_security_group": "clusterHandlerSecurityGroup",
|
|
@@ -17535,6 +18679,7 @@ class FargateClusterProps(ClusterOptions):
|
|
|
17535
18679
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
17536
18680
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
17537
18681
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
18682
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
17538
18683
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
17539
18684
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
17540
18685
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -17565,6 +18710,7 @@ class FargateClusterProps(ClusterOptions):
|
|
|
17565
18710
|
:param vpc: The VPC in which to create the Cluster. Default: - a VPC with default configuration will be created and can be accessed through ``cluster.vpc``.
|
|
17566
18711
|
:param vpc_subnets: Where to place EKS Control Plane ENIs. For example, to only select private subnets, supply the following: ``vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }]`` Default: - All public and private subnets
|
|
17567
18712
|
:param alb_controller: Install the AWS Load Balancer Controller onto the cluster. Default: - The controller is not installed.
|
|
18713
|
+
:param authentication_mode: The desired authentication mode for the cluster. Default: AuthenticationMode.CONFIG_MAP
|
|
17568
18714
|
:param awscli_layer: An AWS Lambda layer that contains the ``aws`` CLI. The handler expects the layer to include the following executables:: /opt/awscli/aws Default: - a default layer with the AWS CLI 1.x
|
|
17569
18715
|
:param cluster_handler_environment: Custom environment variables when interacting with the EKS endpoint to manage the cluster lifecycle. Default: - No environment variables.
|
|
17570
18716
|
:param cluster_handler_security_group: A security group to associate with the Cluster Handler's Lambdas. The Cluster Handler's Lambdas are responsible for calling AWS's EKS API. Requires ``placeClusterHandlerInVpc`` to be set to true. Default: - No security group.
|
|
@@ -17607,6 +18753,7 @@ class FargateClusterProps(ClusterOptions):
|
|
|
17607
18753
|
check_type(argname="argument vpc", value=vpc, expected_type=type_hints["vpc"])
|
|
17608
18754
|
check_type(argname="argument vpc_subnets", value=vpc_subnets, expected_type=type_hints["vpc_subnets"])
|
|
17609
18755
|
check_type(argname="argument alb_controller", value=alb_controller, expected_type=type_hints["alb_controller"])
|
|
18756
|
+
check_type(argname="argument authentication_mode", value=authentication_mode, expected_type=type_hints["authentication_mode"])
|
|
17610
18757
|
check_type(argname="argument awscli_layer", value=awscli_layer, expected_type=type_hints["awscli_layer"])
|
|
17611
18758
|
check_type(argname="argument cluster_handler_environment", value=cluster_handler_environment, expected_type=type_hints["cluster_handler_environment"])
|
|
17612
18759
|
check_type(argname="argument cluster_handler_security_group", value=cluster_handler_security_group, expected_type=type_hints["cluster_handler_security_group"])
|
|
@@ -17644,6 +18791,8 @@ class FargateClusterProps(ClusterOptions):
|
|
|
17644
18791
|
self._values["vpc_subnets"] = vpc_subnets
|
|
17645
18792
|
if alb_controller is not None:
|
|
17646
18793
|
self._values["alb_controller"] = alb_controller
|
|
18794
|
+
if authentication_mode is not None:
|
|
18795
|
+
self._values["authentication_mode"] = authentication_mode
|
|
17647
18796
|
if awscli_layer is not None:
|
|
17648
18797
|
self._values["awscli_layer"] = awscli_layer
|
|
17649
18798
|
if cluster_handler_environment is not None:
|
|
@@ -17769,6 +18918,15 @@ class FargateClusterProps(ClusterOptions):
|
|
|
17769
18918
|
result = self._values.get("alb_controller")
|
|
17770
18919
|
return typing.cast(typing.Optional[AlbControllerOptions], result)
|
|
17771
18920
|
|
|
18921
|
+
@builtins.property
|
|
18922
|
+
def authentication_mode(self) -> typing.Optional[AuthenticationMode]:
|
|
18923
|
+
'''The desired authentication mode for the cluster.
|
|
18924
|
+
|
|
18925
|
+
:default: AuthenticationMode.CONFIG_MAP
|
|
18926
|
+
'''
|
|
18927
|
+
result = self._values.get("authentication_mode")
|
|
18928
|
+
return typing.cast(typing.Optional[AuthenticationMode], result)
|
|
18929
|
+
|
|
17772
18930
|
@builtins.property
|
|
17773
18931
|
def awscli_layer(self) -> typing.Optional[_ILayerVersion_5ac127c8]:
|
|
17774
18932
|
'''An AWS Lambda layer that contains the ``aws`` CLI.
|
|
@@ -18078,11 +19236,22 @@ class IngressLoadBalancerAddressOptions(ServiceLoadBalancerAddressOptions):
|
|
|
18078
19236
|
|
|
18079
19237
|
|
|
18080
19238
|
__all__ = [
|
|
19239
|
+
"AccessEntry",
|
|
19240
|
+
"AccessEntryAttributes",
|
|
19241
|
+
"AccessEntryProps",
|
|
19242
|
+
"AccessEntryType",
|
|
19243
|
+
"AccessPolicy",
|
|
19244
|
+
"AccessPolicyArn",
|
|
19245
|
+
"AccessPolicyNameOptions",
|
|
19246
|
+
"AccessPolicyProps",
|
|
19247
|
+
"AccessScope",
|
|
19248
|
+
"AccessScopeType",
|
|
18081
19249
|
"AlbController",
|
|
18082
19250
|
"AlbControllerOptions",
|
|
18083
19251
|
"AlbControllerProps",
|
|
18084
19252
|
"AlbControllerVersion",
|
|
18085
19253
|
"AlbScheme",
|
|
19254
|
+
"AuthenticationMode",
|
|
18086
19255
|
"AutoScalingGroupCapacityOptions",
|
|
18087
19256
|
"AutoScalingGroupOptions",
|
|
18088
19257
|
"AwsAuth",
|
|
@@ -18124,6 +19293,8 @@ __all__ = [
|
|
|
18124
19293
|
"HelmChart",
|
|
18125
19294
|
"HelmChartOptions",
|
|
18126
19295
|
"HelmChartProps",
|
|
19296
|
+
"IAccessEntry",
|
|
19297
|
+
"IAccessPolicy",
|
|
18127
19298
|
"ICluster",
|
|
18128
19299
|
"IKubectlProvider",
|
|
18129
19300
|
"INodegroup",
|
|
@@ -18162,6 +19333,61 @@ __all__ = [
|
|
|
18162
19333
|
|
|
18163
19334
|
publication.publish()
|
|
18164
19335
|
|
|
19336
|
+
def _typecheckingstub__ea57d074f938dd093d38b977c20869681c2abd3bacc2931046328147dc4d8d72(
|
|
19337
|
+
*,
|
|
19338
|
+
access_entry_arn: builtins.str,
|
|
19339
|
+
access_entry_name: builtins.str,
|
|
19340
|
+
) -> None:
|
|
19341
|
+
"""Type checking stubs"""
|
|
19342
|
+
pass
|
|
19343
|
+
|
|
19344
|
+
def _typecheckingstub__0cc467f068aa2e977dd81e9c0227cfe45f7381ea6d31cea9c6f7f80e6d83e048(
|
|
19345
|
+
*,
|
|
19346
|
+
access_policies: typing.Sequence[IAccessPolicy],
|
|
19347
|
+
cluster: ICluster,
|
|
19348
|
+
principal: builtins.str,
|
|
19349
|
+
access_entry_name: typing.Optional[builtins.str] = None,
|
|
19350
|
+
access_entry_type: typing.Optional[AccessEntryType] = None,
|
|
19351
|
+
) -> None:
|
|
19352
|
+
"""Type checking stubs"""
|
|
19353
|
+
pass
|
|
19354
|
+
|
|
19355
|
+
def _typecheckingstub__0ac946189967c669f9d1c47c0772f99ed1ce20197e6c76e4496836bbe19d2a72(
|
|
19356
|
+
policy_name: builtins.str,
|
|
19357
|
+
) -> None:
|
|
19358
|
+
"""Type checking stubs"""
|
|
19359
|
+
pass
|
|
19360
|
+
|
|
19361
|
+
def _typecheckingstub__23236f8d1dae1650ef58623c900288d55afe1fd4ead26b7b1aff290d073de854(
|
|
19362
|
+
policy_name: builtins.str,
|
|
19363
|
+
) -> None:
|
|
19364
|
+
"""Type checking stubs"""
|
|
19365
|
+
pass
|
|
19366
|
+
|
|
19367
|
+
def _typecheckingstub__249ef277acd24f14314e76608ae6685b8ec176bb0872ba8327c446714e5afaee(
|
|
19368
|
+
*,
|
|
19369
|
+
access_scope_type: AccessScopeType,
|
|
19370
|
+
namespaces: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
19371
|
+
) -> None:
|
|
19372
|
+
"""Type checking stubs"""
|
|
19373
|
+
pass
|
|
19374
|
+
|
|
19375
|
+
def _typecheckingstub__d76ffc136ce61df3ec4331aefef6219d2ab1e0d4a6c6da1cd604f5d3a29a1c20(
|
|
19376
|
+
*,
|
|
19377
|
+
access_scope: typing.Union[AccessScope, typing.Dict[builtins.str, typing.Any]],
|
|
19378
|
+
policy: AccessPolicyArn,
|
|
19379
|
+
) -> None:
|
|
19380
|
+
"""Type checking stubs"""
|
|
19381
|
+
pass
|
|
19382
|
+
|
|
19383
|
+
def _typecheckingstub__5f979c2154a9a6bd2f77cf7ff51d6f83944d3c1290fcb70cdab0b403b6a0a8f8(
|
|
19384
|
+
*,
|
|
19385
|
+
type: AccessScopeType,
|
|
19386
|
+
namespaces: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
19387
|
+
) -> None:
|
|
19388
|
+
"""Type checking stubs"""
|
|
19389
|
+
pass
|
|
19390
|
+
|
|
18165
19391
|
def _typecheckingstub__5e2ca421e3f17c3114d53057ba096ab3f90bd3b8ed6c2e0f75f61c88dd5aed4b(
|
|
18166
19392
|
scope: _constructs_77d1e7e8.Construct,
|
|
18167
19393
|
id: builtins.str,
|
|
@@ -19715,16 +20941,56 @@ def _typecheckingstub__be119d20277d81d5cacb542dcf0ff7927e8c934305e8be443e95ce321
|
|
|
19715
20941
|
"""Type checking stubs"""
|
|
19716
20942
|
pass
|
|
19717
20943
|
|
|
20944
|
+
def _typecheckingstub__76acfe0dd4f79a87279c3d9cbf3bd8c7327733233aec66908901483da7f17d5b(
|
|
20945
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
20946
|
+
id: builtins.str,
|
|
20947
|
+
*,
|
|
20948
|
+
access_policies: typing.Sequence[IAccessPolicy],
|
|
20949
|
+
cluster: ICluster,
|
|
20950
|
+
principal: builtins.str,
|
|
20951
|
+
access_entry_name: typing.Optional[builtins.str] = None,
|
|
20952
|
+
access_entry_type: typing.Optional[AccessEntryType] = None,
|
|
20953
|
+
) -> None:
|
|
20954
|
+
"""Type checking stubs"""
|
|
20955
|
+
pass
|
|
20956
|
+
|
|
20957
|
+
def _typecheckingstub__f179e9982369f73f3bb7a13ff87f073fda0da2cd11932479d54f6d69d8849141(
|
|
20958
|
+
scope: _constructs_77d1e7e8.Construct,
|
|
20959
|
+
id: builtins.str,
|
|
20960
|
+
*,
|
|
20961
|
+
access_entry_arn: builtins.str,
|
|
20962
|
+
access_entry_name: builtins.str,
|
|
20963
|
+
) -> None:
|
|
20964
|
+
"""Type checking stubs"""
|
|
20965
|
+
pass
|
|
20966
|
+
|
|
20967
|
+
def _typecheckingstub__e1007432e51c3db7b596578b73c0068b372fc6af638d2adb2faa12db70799372(
|
|
20968
|
+
new_access_policies: typing.Sequence[IAccessPolicy],
|
|
20969
|
+
) -> None:
|
|
20970
|
+
"""Type checking stubs"""
|
|
20971
|
+
pass
|
|
20972
|
+
|
|
20973
|
+
def _typecheckingstub__a928f26a921cd1d01ec556e4421fe3bf4a1ac17a9b598a554215bfae5af842aa(
|
|
20974
|
+
policy_name: builtins.str,
|
|
20975
|
+
*,
|
|
20976
|
+
access_scope_type: AccessScopeType,
|
|
20977
|
+
namespaces: typing.Optional[typing.Sequence[builtins.str]] = None,
|
|
20978
|
+
) -> None:
|
|
20979
|
+
"""Type checking stubs"""
|
|
20980
|
+
pass
|
|
20981
|
+
|
|
19718
20982
|
def _typecheckingstub__786576ad54eacdb9ab8e92277c0fd07f813bc56d4243937f3b5a85c0c575cac9(
|
|
19719
20983
|
scope: _constructs_77d1e7e8.Construct,
|
|
19720
20984
|
id: builtins.str,
|
|
19721
20985
|
*,
|
|
20986
|
+
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
19722
20987
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
19723
20988
|
default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
|
|
19724
20989
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
19725
20990
|
kubectl_lambda_role: typing.Optional[_IRole_235f5d8e] = None,
|
|
19726
20991
|
tags: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
19727
20992
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
20993
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
19728
20994
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
19729
20995
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
19730
20996
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -19939,6 +21205,14 @@ def _typecheckingstub__1125553e51a293d46862ded8c9242c2427ed871d469da6db3ac9d9ace
|
|
|
19939
21205
|
"""Type checking stubs"""
|
|
19940
21206
|
pass
|
|
19941
21207
|
|
|
21208
|
+
def _typecheckingstub__c595337c9bbbcf6eb001ec015e579e32f72cb323ae83c9fa92eef98034ea8936(
|
|
21209
|
+
id: builtins.str,
|
|
21210
|
+
principal: builtins.str,
|
|
21211
|
+
access_policies: typing.Sequence[IAccessPolicy],
|
|
21212
|
+
) -> None:
|
|
21213
|
+
"""Type checking stubs"""
|
|
21214
|
+
pass
|
|
21215
|
+
|
|
19942
21216
|
def _typecheckingstub__0b45b97fda36b43e872f90f9fe4cde65de855b50b3acfd236c1f400ef40c0cb1(
|
|
19943
21217
|
*,
|
|
19944
21218
|
version: KubernetesVersion,
|
|
@@ -19950,6 +21224,7 @@ def _typecheckingstub__0b45b97fda36b43e872f90f9fe4cde65de855b50b3acfd236c1f400ef
|
|
|
19950
21224
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
19951
21225
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19952
21226
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21227
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
19953
21228
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
19954
21229
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
19955
21230
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -19982,6 +21257,7 @@ def _typecheckingstub__ce7a73a63de29ba5e5b5cd5cabde7aca1c4bc7d119de52fc4c0f11d99
|
|
|
19982
21257
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
19983
21258
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
19984
21259
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21260
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
19985
21261
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
19986
21262
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
19987
21263
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -19999,6 +21275,7 @@ def _typecheckingstub__ce7a73a63de29ba5e5b5cd5cabde7aca1c4bc7d119de52fc4c0f11d99
|
|
|
19999
21275
|
prune: typing.Optional[builtins.bool] = None,
|
|
20000
21276
|
secrets_encryption_key: typing.Optional[_IKey_5f11635f] = None,
|
|
20001
21277
|
service_ipv4_cidr: typing.Optional[builtins.str] = None,
|
|
21278
|
+
bootstrap_cluster_creator_admin_permissions: typing.Optional[builtins.bool] = None,
|
|
20002
21279
|
default_capacity: typing.Optional[jsii.Number] = None,
|
|
20003
21280
|
default_capacity_instance: typing.Optional[_InstanceType_f64915b9] = None,
|
|
20004
21281
|
default_capacity_type: typing.Optional[DefaultCapacityType] = None,
|
|
@@ -20014,6 +21291,7 @@ def _typecheckingstub__ae166d791f5d5176f3386726c22bc44afedf5d336437a3513e3740387
|
|
|
20014
21291
|
*,
|
|
20015
21292
|
default_profile: typing.Optional[typing.Union[FargateProfileOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
20016
21293
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21294
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
20017
21295
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
20018
21296
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20019
21297
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|
|
@@ -20054,6 +21332,7 @@ def _typecheckingstub__f11c7f989209f6213cb855d2846bb0b2b79a6a2b85eb0d65939e981df
|
|
|
20054
21332
|
vpc: typing.Optional[_IVpc_f30d5663] = None,
|
|
20055
21333
|
vpc_subnets: typing.Optional[typing.Sequence[typing.Union[_SubnetSelection_e57d76df, typing.Dict[builtins.str, typing.Any]]]] = None,
|
|
20056
21334
|
alb_controller: typing.Optional[typing.Union[AlbControllerOptions, typing.Dict[builtins.str, typing.Any]]] = None,
|
|
21335
|
+
authentication_mode: typing.Optional[AuthenticationMode] = None,
|
|
20057
21336
|
awscli_layer: typing.Optional[_ILayerVersion_5ac127c8] = None,
|
|
20058
21337
|
cluster_handler_environment: typing.Optional[typing.Mapping[builtins.str, builtins.str]] = None,
|
|
20059
21338
|
cluster_handler_security_group: typing.Optional[_ISecurityGroup_acf8a799] = None,
|