FargateCluster L2 construct
Defines an EKS cluster that runs entirely on AWS Fargate.
The cluster is created with a default Fargate Profile that matches the "default" and "kube-system" namespaces. You can add additional profiles using addFargateProfile.
Example
const cluster = new eks.FargateCluster(this, 'FargateCluster', {
version: eks.KubernetesVersion.V1_36,
});
cluster = eks.FargateCluster(self, "FargateCluster",
version=eks.KubernetesVersion.V1_36
)
FargateCluster cluster = FargateCluster.Builder.create(this, "FargateCluster")
.version(KubernetesVersion.V1_36)
.build();
// Install: dotnet add package Amazon.CDK.Lib
var cluster = new FargateCluster(this, "FargateCluster", new FargateClusterProps {
Version = KubernetesVersion.V1_36
});
// Install: go get github.com/aws/aws-cdk-go/awscdk/v2
cluster := eks.NewFargateCluster(this, jsii.String("FargateCluster"), &FargateClusterProps{
Version: eks.KubernetesVersion_V1_36(),
})
Initializer
new FargateCluster(scope: Construct, id: string, props: FargateClusterProps)
FargateCluster(scope: Construct, id: str, props: FargateClusterProps)
new FargateCluster(Construct scope, String id, FargateClusterProps props)
new FargateCluster(Construct scope, string id, FargateClusterProps props)
NewFargateCluster(Scope Construct, Id *string, Props FargateClusterProps)
Construct Props
albControlleroptionalAlbControllerOptionsalb_controlleroptionalAlbControllerOptionsalbControlleroptionalAlbControllerOptionsAlbControlleroptionalAlbControllerOptionsAlbControlleroptionalAlbControllerOptions#Default: The controller is not installed.
clusterLoggingoptionalClusterLoggingTypes[]cluster_loggingoptionaltyping.List[ClusterLoggingTypes]clusterLoggingoptionalList<ClusterLoggingTypes>ClusterLoggingoptionalClusterLoggingTypes[]ClusterLoggingoptional*[]ClusterLoggingTypes= none#clusterNameoptionalstringcluster_nameoptionalstrclusterNameoptionalStringClusterNameoptionalstringClusterNameoptional*string#Default: Automatically generated name
controlPlaneScalingTieroptionalControlPlaneScalingTiercontrol_plane_scaling_tieroptionalControlPlaneScalingTiercontrolPlaneScalingTieroptionalControlPlaneScalingTierControlPlaneScalingTieroptionalControlPlaneScalingTierControlPlaneScalingTieroptionalControlPlaneScalingTier#Default: Standard control plane (no provisioned tier)
Provisioned Control Plane allows you to select a scaling tier to ensure high and predictable performance for demanding workloads such as AI training/inference, high-performance computing, or large-scale data processing.
coreDnsComputeTypeoptionalCoreDnsComputeTypecore_dns_compute_typeoptionalCoreDnsComputeTypecoreDnsComputeTypeoptionalCoreDnsComputeTypeCoreDnsComputeTypeoptionalCoreDnsComputeTypeCoreDnsComputeTypeoptionalCoreDnsComputeType#Default: CoreDnsComputeType.EC2 (for FargateCluster the default is FARGATE)
defaultProfileoptionalFargateProfileOptionsdefault_profileoptionalFargateProfileOptionsdefaultProfileoptionalFargateProfileOptionsDefaultProfileoptionalFargateProfileOptionsDefaultProfileoptionalFargateProfileOptions#Default: A profile called "default" with 'default' and 'kube-system' selectors will be created if this is left undefined.
endpointAccessoptionalEndpointAccessendpoint_accessoptionalEndpointAccessendpointAccessoptionalEndpointAccessEndpointAccessoptionalEndpointAccessEndpointAccessoptionalEndpointAccess#Default: EndpointAccess.PUBLIC_AND_PRIVATE
ipFamilyoptionalIpFamilyip_familyoptionalIpFamilyipFamilyoptionalIpFamilyIpFamilyoptionalIpFamilyIpFamilyoptionalIpFamily= IpFamily.IP_V4#kubectlProviderOptionsoptionalKubectlProviderOptionskubectl_provider_optionsoptionalKubectlProviderOptionskubectlProviderOptionsoptionalKubectlProviderOptionsKubectlProviderOptionsoptionalKubectlProviderOptionsKubectlProviderOptionsoptionalKubectlProviderOptions#Default: kubectl provider will not be created
If defined, kubectlLayer is a required property.
mastersRoleoptionalIRolemasters_roleoptionalIRolemastersRoleoptionalIRoleMastersRoleoptionalIRoleMastersRoleoptionalIRole#Default: no masters role.
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.
remoteNodeNetworksoptionalRemoteNodeNetwork[]remote_node_networksoptionaltyping.List[RemoteNodeNetwork]remoteNodeNetworksoptionalList<RemoteNodeNetwork>RemoteNodeNetworksoptionalRemoteNodeNetwork[]RemoteNodeNetworksoptional*[]RemoteNodeNetwork= none#remotePodNetworksoptionalRemotePodNetwork[]remote_pod_networksoptionaltyping.List[RemotePodNetwork]remotePodNetworksoptionalList<RemotePodNetwork>RemotePodNetworksoptionalRemotePodNetwork[]RemotePodNetworksoptional*[]RemotePodNetwork= none#removalPolicyoptionalRemovalPolicyremoval_policyoptionalRemovalPolicyremovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicyRemovalPolicyoptionalRemovalPolicy#Default: Resources will be deleted.
notes
This can happen in one of three situations:
- The resource is removed from the template, so CloudFormation stops managing it;
- A change to the resource is made that requires it to be replaced, so CloudFormation stops managing it;
- The stack is deleted, so CloudFormation stops managing all resources in it.
This affects the EKS cluster itself, associated IAM roles, node groups, security groups, VPC and any other CloudFormation resources managed by this construct.
Default: A role is automatically created for you
secretsEncryptionKeyoptionalIKeyRefsecrets_encryption_keyoptionalIKeyRefsecretsEncryptionKeyoptionalIKeyRefSecretsEncryptionKeyoptionalIKeyRefSecretsEncryptionKeyoptionalIKeyRef#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.
securityGroupoptionalISecurityGroupsecurity_groupoptionalISecurityGroupsecurityGroupoptionalISecurityGroupSecurityGroupoptionalISecurityGroupSecurityGroupoptionalISecurityGroup#Default: A security group is automatically created
serviceIpv4Cidroptionalstringservice_ipv4_cidroptionalstrserviceIpv4CidroptionalStringServiceIpv4CidroptionalstringServiceIpv4Cidroptional*string#Default: Kubernetes assigns addresses from either the 10.100.0.0/16 or 172.20.0.0/16 CIDR blocks
tagsoptional{ [key: string]: string }tagsoptionaltyping.Mapping[str, str]tagsoptionalMap<String, String>TagsoptionalIDictionary<string, string>Tagsoptional*map[string]*string= none#versionKubernetesVersionversionKubernetesVersionversionKubernetesVersionVersionKubernetesVersionVersionKubernetesVersionrequired#Default: a VPC with default configuration will be created and can be accessed through cluster.vpc.
vpcSubnetsoptionalSubnetSelection[]vpc_subnetsoptionaltyping.List[SubnetSelection]vpcSubnetsoptionalList<SubnetSelection>VpcSubnetsoptionalSubnetSelection[]VpcSubnetsoptional*[]SubnetSelection#Default: All public and private subnets
For example, to only select private subnets, supply the following:
vpcSubnets: [{ subnetType: ec2.SubnetType.PRIVATE_WITH_EGRESS }]
Properties
albControllermay be undefinedAlbControlleralb_controllermay be undefinedAlbControlleralbControllermay be undefinedAlbControllerAlbControllermay be undefinedAlbControllerAlbControllermay be undefinedAlbController#Will be undefined if albController wasn't configured.
For example, arn:aws:eks:us-west-2:666666666666:cluster/prod
clusterCertificateAuthorityDatastringcluster_certificate_authority_datastrclusterCertificateAuthorityDataStringClusterCertificateAuthorityDatastringClusterCertificateAuthorityData*string#clusterEncryptionConfigKeyArnstringcluster_encryption_config_key_arnstrclusterEncryptionConfigKeyArnStringClusterEncryptionConfigKeyArnstringClusterEncryptionConfigKeyArn*string#clusterEndpointstringcluster_endpointstrclusterEndpointStringClusterEndpointstringClusterEndpoint*string#This is the URL inside the kubeconfig file to use with kubectl
For example, https://5E1D0CEXAMPLEA591B746AFC5AB30262.yl4.us-west-2.eks.amazonaws.com
clusterOpenIdConnectIssuerUrlstringcluster_open_id_connect_issuer_urlstrclusterOpenIdConnectIssuerUrlStringClusterOpenIdConnectIssuerUrlstringClusterOpenIdConnectIssuerUrl*string#If this cluster is not kubectl-enabled (i.e. uses the stock CfnCluster), this is undefined.
clusterRefClusterReferencecluster_refClusterReferenceclusterRefClusterReferenceClusterRefClusterReferenceClusterRefClusterReference#clusterSecurityGroupISecurityGroupcluster_security_groupISecurityGroupclusterSecurityGroupISecurityGroupClusterSecurityGroupISecurityGroupClusterSecurityGroupISecurityGroup#clusterSecurityGroupIdstringcluster_security_group_idstrclusterSecurityGroupIdStringClusterSecurityGroupIdstringClusterSecurityGroupId*string#connectionsConnectionsconnectionsConnectionsconnectionsConnectionsConnectionsConnectionsConnectionsConnections#defaultCapacitymay be undefinedAutoScalingGroupdefault_capacitymay be undefinedAutoScalingGroupdefaultCapacitymay be undefinedAutoScalingGroupDefaultCapacitymay be undefinedAutoScalingGroupDefaultCapacitymay be undefinedAutoScalingGroup#This will be undefined if the defaultCapacityType is not EC2 or defaultCapacityType is EC2 but default capacity is set to 0.
defaultNodegroupmay be undefinedNodegroupdefault_nodegroupmay be undefinedNodegroupdefaultNodegroupmay be undefinedNodegroupDefaultNodegroupmay be undefinedNodegroupDefaultNodegroupmay be undefinedNodegroup#This will be undefined if the defaultCapacityType is EC2 or defaultCapacityType is NODEGROUP but default capacity is set to 0.
defaultProfileFargateProfiledefault_profileFargateProfiledefaultProfileFargateProfileDefaultProfileFargateProfileDefaultProfileFargateProfile#eksPodIdentityAgentmay be undefinedIAddoneks_pod_identity_agentmay be undefinedIAddoneksPodIdentityAgentmay be undefinedIAddonEksPodIdentityAgentmay be undefinedIAddonEksPodIdentityAgentmay be undefinedIAddon#notes
The EKS Pod Identity Agent is responsible for managing the temporary credentials used by pods in the cluster to access AWS resources. It runs as a DaemonSet on each node and provides the necessary credentials to the pods based on their associated service account.
envResourceEnvironmentenvResourceEnvironmentenvResourceEnvironmentEnvResourceEnvironmentEnvResourceEnvironment#notes
For resources that are created and managed in a Stack (those created by creating new class instances like new Role(), new Bucket(), etc.), this is always the same as the environment of the stack they belong to.
For referenced resources (those obtained from referencing methods like Role.fromRoleArn(), Bucket.fromBucketName(), etc.), they might be different than the stack they were imported into.
ipFamilymay be undefinedIpFamilyip_familymay be undefinedIpFamilyipFamilymay be undefinedIpFamilyIpFamilymay be undefinedIpFamilyIpFamilymay be undefinedIpFamily= IpFamily.IP_V4#kubectlProvidermay be undefinedIKubectlProviderkubectl_providermay be undefinedIKubectlProviderkubectlProvidermay be undefinedIKubectlProviderKubectlProvidermay be undefinedIKubectlProviderKubectlProvidermay be undefinedIKubectlProvider#openIdConnectProviderIOpenIdConnectProvideropen_id_connect_providerIOpenIdConnectProvideropenIdConnectProviderIOpenIdConnectProviderOpenIdConnectProviderIOpenIdConnectProviderOpenIdConnectProviderIOpenIdConnectProvider#A provider will only be defined if this property is accessed (lazy initialization).
PROPERTY_INJECTION_IDstringproperty_injection_idstrPROPERTY_INJECTION_IDStringPROPERTY_INJECTION_IDstringPROPERTY_INJECTION_ID*stringstatic#Methods
addAutoScalingGroupCapacity(id: string, options: AutoScalingGroupCapacityOptions): AutoScalingGroupdef add_auto_scaling_group_capacity(self, id: str, options: AutoScalingGroupCapacityOptions) -> AutoScalingGrouppublic AutoScalingGroup addAutoScalingGroupCapacity(String id, AutoScalingGroupCapacityOptions options)public AutoScalingGroup AddAutoScalingGroupCapacity(string id, AutoScalingGroupCapacityOptions options)func AddAutoScalingGroupCapacity(Id *string, Options AutoScalingGroupCapacityOptions) AutoScalingGroup#notes
The nodes will automatically be configured with the right VPC and AMI for the instance type and Kubernetes version.
Note that if you specify updateType: RollingUpdate or updateType: ReplacingUpdate, your nodes might be replaced at deploy time without notice in case the recommended AMI for your machine image type has been updated by AWS. The default behavior for updateType is None, which means only new instances will be launched using the new AMI.
addCdk8sChart(id: string, chart: Construct, options?: KubernetesManifestOptions): KubernetesManifestdef add_cdk8s_chart(self, id: str, chart: Construct, options: typing.Optional[KubernetesManifestOptions] = None) -> KubernetesManifestpublic KubernetesManifest addCdk8sChart(String id, Construct chart, KubernetesManifestOptions options)public KubernetesManifest AddCdk8sChart(string id, Construct chart, KubernetesManifestOptions? options = null)func AddCdk8sChart(Id *string, Chart Construct, Options KubernetesManifestOptions) KubernetesManifest#2 parameters · returns
Parameters
ididididId— logical id of this chart.chartchartchartchartChart— the cdk8s chart.
Returns: a KubernetesManifest construct representing the chart.
addFargateProfile(id: string, options: FargateProfileOptions): FargateProfiledef add_fargate_profile(self, id: str, options: FargateProfileOptions) -> FargateProfilepublic FargateProfile addFargateProfile(String id, FargateProfileOptions options)public FargateProfile AddFargateProfile(string id, FargateProfileOptions options)func AddFargateProfile(Id *string, Options FargateProfileOptions) FargateProfile#2 parameters
Parameters
ididididId— the id of this profile.optionsoptionsoptionsoptionsOptions— profile options.
addHelmChart(id: string, options: HelmChartOptions): HelmChartdef add_helm_chart(self, id: str, options: HelmChartOptions) -> HelmChartpublic HelmChart addHelmChart(String id, HelmChartOptions options)public HelmChart AddHelmChart(string id, HelmChartOptions options)func AddHelmChart(Id *string, Options HelmChartOptions) HelmChart#2 parameters · returns
Parameters
ididididId— logical id of this chart.optionsoptionsoptionsoptionsOptions— options of this chart.
Returns: a HelmChart construct
addManifest(id: string, ...manifest: { [key: string]: any }[]): KubernetesManifestdef add_manifest(self, id: str, manifest: typing.Mapping[str, Any]) -> KubernetesManifestpublic KubernetesManifest addManifest(String id, Map<String, Object> manifest)public KubernetesManifest AddManifest(string id, IDictionary<string, object> manifest)func AddManifest(Id *string, Manifest *map[string]interface{}) KubernetesManifest#The manifest will be applied/deleted using kubectl as needed.
2 parameters · returns
Parameters
ididididId— logical id of this manifest.manifestmanifestmanifestmanifestManifest— a list of Kubernetes resource specifications.
Returns: a KubernetesResource object.
addNodegroupCapacity(id: string, options?: NodegroupOptions): Nodegroupdef add_nodegroup_capacity(self, id: str, options: typing.Optional[NodegroupOptions] = None) -> Nodegrouppublic Nodegroup addNodegroupCapacity(String id, NodegroupOptions options)public Nodegroup AddNodegroupCapacity(string id, NodegroupOptions? options = null)func AddNodegroupCapacity(Id *string, Options NodegroupOptions) Nodegroup#This method will create a new managed nodegroup and add into the capacity.
2 parameters
Parameters
ididididId— The ID of the nodegroup.optionsoptionsoptionsoptionsOptions— options for creating a new nodegroup.
addServiceAccount(id: string, options?: ServiceAccountOptions): ServiceAccountdef add_service_account(self, id: str, options: typing.Optional[ServiceAccountOptions] = None) -> ServiceAccountpublic ServiceAccount addServiceAccount(String id, ServiceAccountOptions options)public ServiceAccount AddServiceAccount(string id, ServiceAccountOptions? options = null)func AddServiceAccount(Id *string, Options ServiceAccountOptions) ServiceAccount#applyCrossStackReferenceStrength(strength: ReferenceStrength): voiddef apply_cross_stack_reference_strength(self, strength: ReferenceStrength) -> Nonepublic void applyCrossStackReferenceStrength(ReferenceStrength strength)public void ApplyCrossStackReferenceStrength(ReferenceStrength strength)func ApplyCrossStackReferenceStrength(Strength ReferenceStrength)#notes · 1 parameter
When set, any cross-stack reference to this resource will use the specified mechanism instead of the global default determined by the @aws-cdk/core:defaultCrossStackReferences context key. This is useful for selectively weakening specific references to avoid the "deadly embrace" problem without changing the app-wide default.
Parameters
strengthstrengthstrengthstrengthStrength— - The reference strength to use for this resource.
applyRemovalPolicy(policy: RemovalPolicy): voiddef apply_removal_policy(self, policy: RemovalPolicy) -> Nonepublic void applyRemovalPolicy(RemovalPolicy policy)public void ApplyRemovalPolicy(RemovalPolicy policy)func ApplyRemovalPolicy(Policy RemovalPolicy)#notes
The Removal Policy controls what happens to this resource when it stops being managed by CloudFormation, either because you've removed it from the CDK application or because you've made a change that requires the resource to be replaced.
The resource can be deleted (RemovalPolicy.DESTROY), or left in your AWS account for data recovery and cleanup later (RemovalPolicy.RETAIN).
connectAutoScalingGroupCapacity(autoScalingGroup: AutoScalingGroup, options: AutoScalingGroupOptions): voiddef connect_auto_scaling_group_capacity(self, auto_scaling_group: AutoScalingGroup, options: AutoScalingGroupOptions) -> Nonepublic void connectAutoScalingGroupCapacity(AutoScalingGroup autoScalingGroup, AutoScalingGroupOptions options)public void ConnectAutoScalingGroupCapacity(AutoScalingGroup autoScalingGroup, AutoScalingGroupOptions options)func ConnectAutoScalingGroupCapacity(AutoScalingGroup AutoScalingGroup, Options AutoScalingGroupOptions)#notes · 2 parameters
The AutoScalingGroup must be running an EKS-optimized AMI containing the /etc/eks/bootstrap.sh script. This method will configure Security Groups, add the right policies to the instance role, apply the right tags, and add the required user data to the instance's launch configuration.
Prefer to use addAutoScalingGroupCapacity if possible.
Parameters
autoScalingGroupauto_scaling_groupautoScalingGroupautoScalingGroupAutoScalingGroup— [disable-awslint:ref-via-interface].optionsoptionsoptionsoptionsOptions— options for adding auto scaling groups, like customizing the bootstrap script.
fromClusterAttributes(scope: Construct, id: string, attrs: ClusterAttributes): ICluster@staticmethod def from_cluster_attributes(scope: Construct, id: str, attrs: ClusterAttributes) -> IClusterpublic static ICluster fromClusterAttributes(Construct scope, String id, ClusterAttributes attrs)public static ICluster FromClusterAttributes(Construct scope, string id, ClusterAttributes attrs)func FromClusterAttributes(Scope Construct, Id *string, Attrs ClusterAttributes) IClusterstatic#3 parameters
Parameters
scopescopescopescopeScope— the construct scope, in most cases 'this'.ididididId— the id or name to import as.attrsattrsattrsattrsAttrs— the cluster properties to use for importing information.
getIngressLoadBalancerAddress(ingressName: string, options?: IngressLoadBalancerAddressOptions): stringdef get_ingress_load_balancer_address(self, ingress_name: str, options: typing.Optional[IngressLoadBalancerAddressOptions] = None) -> strpublic String getIngressLoadBalancerAddress(String ingressName, IngressLoadBalancerAddressOptions options)public string GetIngressLoadBalancerAddress(string ingressName, IngressLoadBalancerAddressOptions? options = null)func GetIngressLoadBalancerAddress(IngressName *string, Options IngressLoadBalancerAddressOptions) *string#2 parameters
Parameters
ingressNameingress_nameingressNameingressNameIngressName— The name of the ingress.optionsoptionsoptionsoptionsOptions— Additional operation options.
getServiceLoadBalancerAddress(serviceName: string, options?: ServiceLoadBalancerAddressOptions): stringdef get_service_load_balancer_address(self, service_name: str, options: typing.Optional[ServiceLoadBalancerAddressOptions] = None) -> strpublic String getServiceLoadBalancerAddress(String serviceName, ServiceLoadBalancerAddressOptions options)public string GetServiceLoadBalancerAddress(string serviceName, ServiceLoadBalancerAddressOptions? options = null)func GetServiceLoadBalancerAddress(ServiceName *string, Options ServiceLoadBalancerAddressOptions) *string#2 parameters
Parameters
serviceNameservice_nameserviceNameserviceNameServiceName— The name of the service.optionsoptionsoptionsoptionsOptions— Additional operation options.
grantAccess(id: string, principal: string, accessPolicies: IAccessPolicy[], options?: GrantAccessOptions): voiddef grant_access(self, id: str, principal: str, access_policies: typing.List[IAccessPolicy], options: typing.Optional[GrantAccessOptions] = None) -> Nonepublic void grantAccess(String id, String principal, List<IAccessPolicy> accessPolicies, GrantAccessOptions options)public void GrantAccess(string id, string principal, IAccessPolicy[] accessPolicies, GrantAccessOptions? options = null)func GrantAccess(Id *string, Principal *string, AccessPolicies *[]IAccessPolicy, Options GrantAccessOptions)#notes · 4 parameters
This method creates an AccessEntry construct that grants the specified IAM principal the access permissions defined by the provided IAccessPolicy array. This allows the IAM principal to perform the actions permitted by the access policies within the EKS cluster. [disable-awslint:no-grants]
Parameters
ididididId— - The ID of theAccessEntryconstruct to be created.principalprincipalprincipalprincipalPrincipal— - The IAM principal (role or user) to be granted access to the EKS cluster.accessPoliciesaccess_policiesaccessPoliciesaccessPoliciesAccessPolicies— - An array ofIAccessPolicyobjects that define the access permissions to be granted to the IAM principal.optionsoptionsoptionsoptionsOptions— - Additional options for granting access.
grantClusterAdmin(id: string, principal: string): AccessEntrydef grant_cluster_admin(self, id: str, principal: str) -> AccessEntrypublic AccessEntry grantClusterAdmin(String id, String principal)public AccessEntry GrantClusterAdmin(string id, string principal)func GrantClusterAdmin(Id *string, Principal *string) AccessEntry#notes · 2 parameters · returns
This method creates an AccessEntry construct that grants the specified IAM principal the cluster admin access permissions. This allows the IAM principal to perform the actions permitted by the cluster admin access. [disable-awslint:no-grants]
Parameters
ididididId— - The ID of theAccessEntryconstruct to be created.principalprincipalprincipalprincipalPrincipal— - The IAM principal (role or user) to be granted access to the EKS cluster.
Returns: the access entry construct
isConstruct(x: any): boolean@staticmethod def is_construct(x: Any) -> boolpublic static Boolean isConstruct(Object x)public static bool IsConstruct(object x)func IsConstruct(X interface{}) *boolstatic#notes · 1 parameter · returns
Use this method instead of instanceof to properly detect Construct instances, even when the construct library is symlinked.
Explanation: in JavaScript, multiple copies of the constructs library on disk are seen as independent, completely different libraries. As a consequence, the class Construct in each copy of the constructs library is seen as a different class, and an instance of one class will not test as instanceof the other class. npm install will not create installations like this, but users may manually symlink construct libraries together or use a monorepo tool: in those cases, multiple copies of the constructs library can be accidentally installed, and instanceof will behave unpredictably. It is safest to avoid using instanceof, and using this type-testing method instead.
Parameters
xxxxX— Any object.
Returns: true if x is an object created from a class which extends Construct.
isOwnedResource(construct: IConstruct): boolean@staticmethod def is_owned_resource(construct: IConstruct) -> boolpublic static Boolean isOwnedResource(IConstruct construct)public static bool IsOwnedResource(IConstruct construct)func IsOwnedResource(Construct IConstruct) *boolstatic#isResource(construct: IConstruct): boolean@staticmethod def is_resource(construct: IConstruct) -> boolpublic static Boolean isResource(IConstruct construct)public static bool IsResource(IConstruct construct)func IsResource(Construct IConstruct) *boolstatic#toString(): stringdef to_string(self, ) -> strpublic String toString()public string ToString()func ToString() *string#with(...mixins: IMixin[]): IConstructdef with(self, mixins: IMixin) -> IConstructpublic IConstruct with(IMixin mixins)public IConstruct With(IMixin mixins)func With(Mixins IMixin) IConstruct#Mixins are applied in order. The list of constructs is captured at the start of the call, so constructs added by a mixin will not be visited. Use multiple with() calls if subsequent mixins should apply to added constructs.