// Jest Snapshot v1, https://goo.gl/fbAQLP exports[`csharp 1`] = ` Map { "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/CfnCluster.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// A CloudFormation \`AWSQS::EKS::Cluster\`. /// /// CloudformationResource: AWSQS::EKS::Cluster /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiClass(nativeType: typeof(AWSQS::EKS::Cluster.CfnCluster), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"- scope in which this resource is defined.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"scope\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"constructs.Construct\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"- scoped id of the resource.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"id\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"- resource properties.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\\\\\"}}]\\")] public class CfnCluster : Amazon.CDK.CfnResource { /// Create a new \`AWSQS::EKS::Cluster\`. /// - scope in which this resource is defined. /// - scoped id of the resource. /// - resource properties. public CfnCluster(Constructs.Construct scope, string id, AWSQS::EKS::Cluster.ICfnClusterProps props): base(_MakeDeputyProps(scope, id, props)) { } [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] private static DeputyProps _MakeDeputyProps(Constructs.Construct scope, string id, AWSQS::EKS::Cluster.ICfnClusterProps props) { return new DeputyProps(new object?[]{scope, id, props}); } /// Used by jsii to construct an instance of this class from a Javascript-owned object reference /// The Javascript-owned object reference [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] protected CfnCluster(ByRefValue reference): base(reference) { } /// Used by jsii to construct an instance of this class from DeputyProps /// The deputy props [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] protected CfnCluster(DeputyProps props): base(props) { } /// The CloudFormation resource type name for this resource class. [JsiiProperty(name: \\"CFN_RESOURCE_TYPE_NAME\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public static string CFN_RESOURCE_TYPE_NAME { get; } = GetStaticProperty(typeof(AWSQS::EKS::Cluster.CfnCluster))!; /// Attribute \`AWSQS::EKS::Cluster.Arn\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"attrArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string AttrArn { get => GetInstanceProperty()!; } /// Attribute \`AWSQS::EKS::Cluster.CertificateAuthorityData\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"attrCertificateAuthorityData\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string AttrCertificateAuthorityData { get => GetInstanceProperty()!; } /// Attribute \`AWSQS::EKS::Cluster.ClusterSecurityGroupId\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"attrClusterSecurityGroupId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string AttrClusterSecurityGroupId { get => GetInstanceProperty()!; } /// Attribute \`AWSQS::EKS::Cluster.EncryptionConfigKeyArn\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"attrEncryptionConfigKeyArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string AttrEncryptionConfigKeyArn { get => GetInstanceProperty()!; } /// Attribute \`AWSQS::EKS::Cluster.Endpoint\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"attrEndpoint\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string AttrEndpoint { get => GetInstanceProperty()!; } /// Attribute \`AWSQS::EKS::Cluster.OIDCIssuerURL\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"attrOIDCIssuerURL\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string AttrOIDCIssuerURL { get => GetInstanceProperty()!; } /// \`AWSQS::EKS::Cluster.KubernetesApiAccess\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"kubernetesApiAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] public virtual object KubernetesApiAccess { get => GetInstanceProperty()!; } /// \`AWSQS::EKS::Cluster.KubernetesNetworkConfig\` Network configuration for Amazon EKS cluster. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"kubernetesNetworkConfig\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] public virtual object KubernetesNetworkConfig { get => GetInstanceProperty()!; } /// \`AWSQS::EKS::Cluster.ResourcesVpcConfig\` An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"resourcesVpcConfig\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"}\\")] public virtual object ResourcesVpcConfig { get => GetInstanceProperty()!; } /// \`AWSQS::EKS::Cluster.RoleArn\` Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiProperty(name: \\"roleArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string RoleArn { get => GetInstanceProperty()!; } /// \`AWSQS::EKS::Cluster.EnabledClusterLoggingTypes\` Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiOptional] [JsiiProperty(name: \\"enabledClusterLoggingTypes\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public virtual string[]? EnabledClusterLoggingTypes { get => GetInstanceProperty(); } /// \`AWSQS::EKS::Cluster.EncryptionConfig\` Encryption configuration for the cluster. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiOptional] [JsiiProperty(name: \\"encryptionConfig\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public virtual AWSQS::EKS::Cluster.IEncryptionConfigEntry[]? EncryptionConfig { get => GetInstanceProperty(); } /// \`AWSQS::EKS::Cluster.LambdaRoleName\` Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiOptional] [JsiiProperty(name: \\"lambdaRoleName\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public virtual string? LambdaRoleName { get => GetInstanceProperty(); } /// \`AWSQS::EKS::Cluster.Name\` A unique name for your cluster. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiOptional] [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public virtual string? Name { get => GetInstanceProperty(); } /// \`AWSQS::EKS::Cluster.Tags\`. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiOptional] [JsiiProperty(name: \\"tags\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"any\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public virtual object[]? Tags { get => GetInstanceProperty(); } /// \`AWSQS::EKS::Cluster.Version\` Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. /// /// Link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git /// [JsiiOptional] [JsiiProperty(name: \\"version\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public virtual string? Version { get => GetInstanceProperty(); } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/CfnClusterProps.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { #pragma warning disable CS8618 /// A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. /// /// Schema: CfnClusterProps /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\")] public class CfnClusterProps : AWSQS::EKS::Cluster.ICfnClusterProps { /// An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Schema: CfnClusterProps#ResourcesVpcConfig /// [JsiiProperty(name: \\"resourcesVpcConfig\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\\\\\"}\\")] public AWSQS::EKS::Cluster.ICfnClusterPropsResourcesVpcConfig ResourcesVpcConfig { get; set; } /// Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. /// /// This provides permissions for Amazon EKS to call other AWS APIs. /// /// Schema: CfnClusterProps#RoleArn /// [JsiiProperty(name: \\"roleArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string RoleArn { get; set; } /// Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. /// /// By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. /// /// Schema: CfnClusterProps#EnabledClusterLoggingTypes /// [JsiiOptional] [JsiiProperty(name: \\"enabledClusterLoggingTypes\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? EnabledClusterLoggingTypes { get; set; } /// Encryption configuration for the cluster. /// /// Schema: CfnClusterProps#EncryptionConfig /// [JsiiOptional] [JsiiProperty(name: \\"encryptionConfig\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.IEncryptionConfigEntry[]? EncryptionConfig { get; set; } /// /// Schema: CfnClusterProps#KubernetesApiAccess /// [JsiiOptional] [JsiiProperty(name: \\"kubernetesApiAccess\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\\\\\"}\\", isOptional: true)] public AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesApiAccess? KubernetesApiAccess { get; set; } /// Network configuration for Amazon EKS cluster. /// /// Schema: CfnClusterProps#KubernetesNetworkConfig /// [JsiiOptional] [JsiiProperty(name: \\"kubernetesNetworkConfig\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\\\\\"}\\", isOptional: true)] public AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesNetworkConfig? KubernetesNetworkConfig { get; set; } /// Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. /// /// this provides permissions for Lambda to be invoked and attach to the cluster VPC /// /// Schema: CfnClusterProps#LambdaRoleName /// [JsiiOptional] [JsiiProperty(name: \\"lambdaRoleName\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? LambdaRoleName { get; set; } /// A unique name for your cluster. /// /// Schema: CfnClusterProps#Name /// [JsiiOptional] [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Name { get; set; } /// /// Schema: CfnClusterProps#Tags /// [JsiiOptional] [JsiiProperty(name: \\"tags\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.ICfnClusterPropsTags[]? Tags { get; set; } /// Desired Kubernetes version for your cluster. /// /// If you don't specify this value, the cluster uses the latest version from Amazon EKS. /// /// Schema: CfnClusterProps#Version /// [JsiiOptional] [JsiiProperty(name: \\"version\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Version { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/CfnClusterPropsKubernetesApiAccess.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// /// Schema: CfnClusterPropsKubernetesApiAccess /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\")] public class CfnClusterPropsKubernetesApiAccess : AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesApiAccess { /// /// Schema: CfnClusterPropsKubernetesApiAccess#Roles /// [JsiiOptional] [JsiiProperty(name: \\"roles\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.IKubernetesApiAccessEntry[]? Roles { get; set; } /// /// Schema: CfnClusterPropsKubernetesApiAccess#Users /// [JsiiOptional] [JsiiProperty(name: \\"users\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.IKubernetesApiAccessEntry[]? Users { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/CfnClusterPropsKubernetesNetworkConfig.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// Network configuration for Amazon EKS cluster. /// /// Schema: CfnClusterPropsKubernetesNetworkConfig /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\")] public class CfnClusterPropsKubernetesNetworkConfig : AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesNetworkConfig { /// Specify the range from which cluster services will receive IPv4 addresses. /// /// Schema: CfnClusterPropsKubernetesNetworkConfig#ServiceIpv4Cidr /// [JsiiOptional] [JsiiProperty(name: \\"serviceIpv4Cidr\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? ServiceIpv4Cidr { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/CfnClusterPropsResourcesVpcConfig.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { #pragma warning disable CS8618 /// An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Schema: CfnClusterPropsResourcesVpcConfig /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\")] public class CfnClusterPropsResourcesVpcConfig : AWSQS::EKS::Cluster.ICfnClusterPropsResourcesVpcConfig { /// Specify subnets for your Amazon EKS worker nodes. /// /// Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. /// /// Schema: CfnClusterPropsResourcesVpcConfig#SubnetIds /// [JsiiProperty(name: \\"subnetIds\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] public string[] SubnetIds { get; set; } /// Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. /// /// If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. /// /// Schema: CfnClusterPropsResourcesVpcConfig#EndpointPrivateAccess /// [JsiiOptional] [JsiiProperty(name: \\"endpointPrivateAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] public bool? EndpointPrivateAccess { get; set; } /// Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. /// /// If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. /// /// Schema: CfnClusterPropsResourcesVpcConfig#EndpointPublicAccess /// [JsiiOptional] [JsiiProperty(name: \\"endpointPublicAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] public bool? EndpointPublicAccess { get; set; } /// The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. /// /// Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. /// /// Schema: CfnClusterPropsResourcesVpcConfig#PublicAccessCidrs /// [JsiiOptional] [JsiiProperty(name: \\"publicAccessCidrs\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? PublicAccessCidrs { get; set; } /// Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. /// /// If you don't specify a security group, the default security group for your VPC is used. /// /// Schema: CfnClusterPropsResourcesVpcConfig#SecurityGroupIds /// [JsiiOptional] [JsiiProperty(name: \\"securityGroupIds\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? SecurityGroupIds { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/CfnClusterPropsTags.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { #pragma warning disable CS8618 /// /// Schema: CfnClusterPropsTags /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\")] public class CfnClusterPropsTags : AWSQS::EKS::Cluster.ICfnClusterPropsTags { /// /// Schema: CfnClusterPropsTags#Key /// [JsiiProperty(name: \\"key\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string Key { get; set; } /// /// Schema: CfnClusterPropsTags#Value /// [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string Value { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/EncryptionConfigEntry.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// The encryption configuration for the cluster. /// /// Schema: EncryptionConfigEntry /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\")] public class EncryptionConfigEntry : AWSQS::EKS::Cluster.IEncryptionConfigEntry { /// /// Schema: EncryptionConfigEntry#Provider /// [JsiiOptional] [JsiiProperty(name: \\"provider\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\\\\\"}\\", isOptional: true)] public AWSQS::EKS::Cluster.IProvider? Provider { get; set; } /// Specifies the resources to be encrypted. /// /// The only supported value is \\"secrets\\". /// /// Schema: EncryptionConfigEntry#Resources /// [JsiiOptional] [JsiiProperty(name: \\"resources\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? Resources { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/ICfnClusterProps.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. /// /// Schema: CfnClusterProps /// [JsiiInterface(nativeType: typeof(ICfnClusterProps), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\")] public interface ICfnClusterProps { /// An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Schema: CfnClusterProps#ResourcesVpcConfig /// [JsiiProperty(name: \\"resourcesVpcConfig\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\\\\\"}\\")] AWSQS::EKS::Cluster.ICfnClusterPropsResourcesVpcConfig ResourcesVpcConfig { get; } /// Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. /// /// This provides permissions for Amazon EKS to call other AWS APIs. /// /// Schema: CfnClusterProps#RoleArn /// [JsiiProperty(name: \\"roleArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string RoleArn { get; } /// Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. /// /// By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. /// /// Schema: CfnClusterProps#EnabledClusterLoggingTypes /// [JsiiProperty(name: \\"enabledClusterLoggingTypes\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string[]? EnabledClusterLoggingTypes { get { return null; } } /// Encryption configuration for the cluster. /// /// Schema: CfnClusterProps#EncryptionConfig /// [JsiiProperty(name: \\"encryptionConfig\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.IEncryptionConfigEntry[]? EncryptionConfig { get { return null; } } /// /// Schema: CfnClusterProps#KubernetesApiAccess /// [JsiiProperty(name: \\"kubernetesApiAccess\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesApiAccess? KubernetesApiAccess { get { return null; } } /// Network configuration for Amazon EKS cluster. /// /// Schema: CfnClusterProps#KubernetesNetworkConfig /// [JsiiProperty(name: \\"kubernetesNetworkConfig\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesNetworkConfig? KubernetesNetworkConfig { get { return null; } } /// Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. /// /// this provides permissions for Lambda to be invoked and attach to the cluster VPC /// /// Schema: CfnClusterProps#LambdaRoleName /// [JsiiProperty(name: \\"lambdaRoleName\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? LambdaRoleName { get { return null; } } /// A unique name for your cluster. /// /// Schema: CfnClusterProps#Name /// [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? Name { get { return null; } } /// /// Schema: CfnClusterProps#Tags /// [JsiiProperty(name: \\"tags\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.ICfnClusterPropsTags[]? Tags { get { return null; } } /// Desired Kubernetes version for your cluster. /// /// If you don't specify this value, the cluster uses the latest version from Amazon EKS. /// /// Schema: CfnClusterProps#Version /// [JsiiProperty(name: \\"version\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? Version { get { return null; } } /// A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. /// /// Schema: CfnClusterProps /// [JsiiTypeProxy(nativeType: typeof(ICfnClusterProps), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.ICfnClusterProps { private _Proxy(ByRefValue reference): base(reference) { } /// An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Schema: CfnClusterProps#ResourcesVpcConfig /// [JsiiProperty(name: \\"resourcesVpcConfig\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\\\\\"}\\")] public AWSQS::EKS::Cluster.ICfnClusterPropsResourcesVpcConfig ResourcesVpcConfig { get => GetInstanceProperty()!; } /// Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. /// /// This provides permissions for Amazon EKS to call other AWS APIs. /// /// Schema: CfnClusterProps#RoleArn /// [JsiiProperty(name: \\"roleArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string RoleArn { get => GetInstanceProperty()!; } /// Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. /// /// By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. /// /// Schema: CfnClusterProps#EnabledClusterLoggingTypes /// [JsiiOptional] [JsiiProperty(name: \\"enabledClusterLoggingTypes\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? EnabledClusterLoggingTypes { get => GetInstanceProperty(); } /// Encryption configuration for the cluster. /// /// Schema: CfnClusterProps#EncryptionConfig /// [JsiiOptional] [JsiiProperty(name: \\"encryptionConfig\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.IEncryptionConfigEntry[]? EncryptionConfig { get => GetInstanceProperty(); } /// /// Schema: CfnClusterProps#KubernetesApiAccess /// [JsiiOptional] [JsiiProperty(name: \\"kubernetesApiAccess\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\\\\\"}\\", isOptional: true)] public AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesApiAccess? KubernetesApiAccess { get => GetInstanceProperty(); } /// Network configuration for Amazon EKS cluster. /// /// Schema: CfnClusterProps#KubernetesNetworkConfig /// [JsiiOptional] [JsiiProperty(name: \\"kubernetesNetworkConfig\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\\\\\"}\\", isOptional: true)] public AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesNetworkConfig? KubernetesNetworkConfig { get => GetInstanceProperty(); } /// Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. /// /// this provides permissions for Lambda to be invoked and attach to the cluster VPC /// /// Schema: CfnClusterProps#LambdaRoleName /// [JsiiOptional] [JsiiProperty(name: \\"lambdaRoleName\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? LambdaRoleName { get => GetInstanceProperty(); } /// A unique name for your cluster. /// /// Schema: CfnClusterProps#Name /// [JsiiOptional] [JsiiProperty(name: \\"name\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Name { get => GetInstanceProperty(); } /// /// Schema: CfnClusterProps#Tags /// [JsiiOptional] [JsiiProperty(name: \\"tags\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.ICfnClusterPropsTags[]? Tags { get => GetInstanceProperty(); } /// Desired Kubernetes version for your cluster. /// /// If you don't specify this value, the cluster uses the latest version from Amazon EKS. /// /// Schema: CfnClusterProps#Version /// [JsiiOptional] [JsiiProperty(name: \\"version\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Version { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/ICfnClusterPropsKubernetesApiAccess.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// /// Schema: CfnClusterPropsKubernetesApiAccess /// [JsiiInterface(nativeType: typeof(ICfnClusterPropsKubernetesApiAccess), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\")] public interface ICfnClusterPropsKubernetesApiAccess { /// /// Schema: CfnClusterPropsKubernetesApiAccess#Roles /// [JsiiProperty(name: \\"roles\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.IKubernetesApiAccessEntry[]? Roles { get { return null; } } /// /// Schema: CfnClusterPropsKubernetesApiAccess#Users /// [JsiiProperty(name: \\"users\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.IKubernetesApiAccessEntry[]? Users { get { return null; } } /// /// Schema: CfnClusterPropsKubernetesApiAccess /// [JsiiTypeProxy(nativeType: typeof(ICfnClusterPropsKubernetesApiAccess), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesApiAccess { private _Proxy(ByRefValue reference): base(reference) { } /// /// Schema: CfnClusterPropsKubernetesApiAccess#Roles /// [JsiiOptional] [JsiiProperty(name: \\"roles\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.IKubernetesApiAccessEntry[]? Roles { get => GetInstanceProperty(); } /// /// Schema: CfnClusterPropsKubernetesApiAccess#Users /// [JsiiOptional] [JsiiProperty(name: \\"users\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public AWSQS::EKS::Cluster.IKubernetesApiAccessEntry[]? Users { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/ICfnClusterPropsKubernetesNetworkConfig.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// Network configuration for Amazon EKS cluster. /// /// Schema: CfnClusterPropsKubernetesNetworkConfig /// [JsiiInterface(nativeType: typeof(ICfnClusterPropsKubernetesNetworkConfig), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\")] public interface ICfnClusterPropsKubernetesNetworkConfig { /// Specify the range from which cluster services will receive IPv4 addresses. /// /// Schema: CfnClusterPropsKubernetesNetworkConfig#ServiceIpv4Cidr /// [JsiiProperty(name: \\"serviceIpv4Cidr\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? ServiceIpv4Cidr { get { return null; } } /// Network configuration for Amazon EKS cluster. /// /// Schema: CfnClusterPropsKubernetesNetworkConfig /// [JsiiTypeProxy(nativeType: typeof(ICfnClusterPropsKubernetesNetworkConfig), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.ICfnClusterPropsKubernetesNetworkConfig { private _Proxy(ByRefValue reference): base(reference) { } /// Specify the range from which cluster services will receive IPv4 addresses. /// /// Schema: CfnClusterPropsKubernetesNetworkConfig#ServiceIpv4Cidr /// [JsiiOptional] [JsiiProperty(name: \\"serviceIpv4Cidr\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? ServiceIpv4Cidr { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/ICfnClusterPropsResourcesVpcConfig.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Schema: CfnClusterPropsResourcesVpcConfig /// [JsiiInterface(nativeType: typeof(ICfnClusterPropsResourcesVpcConfig), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\")] public interface ICfnClusterPropsResourcesVpcConfig { /// Specify subnets for your Amazon EKS worker nodes. /// /// Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. /// /// Schema: CfnClusterPropsResourcesVpcConfig#SubnetIds /// [JsiiProperty(name: \\"subnetIds\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] string[] SubnetIds { get; } /// Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. /// /// If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. /// /// Schema: CfnClusterPropsResourcesVpcConfig#EndpointPrivateAccess /// [JsiiProperty(name: \\"endpointPrivateAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] bool? EndpointPrivateAccess { get { return null; } } /// Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. /// /// If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. /// /// Schema: CfnClusterPropsResourcesVpcConfig#EndpointPublicAccess /// [JsiiProperty(name: \\"endpointPublicAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] bool? EndpointPublicAccess { get { return null; } } /// The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. /// /// Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. /// /// Schema: CfnClusterPropsResourcesVpcConfig#PublicAccessCidrs /// [JsiiProperty(name: \\"publicAccessCidrs\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string[]? PublicAccessCidrs { get { return null; } } /// Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. /// /// If you don't specify a security group, the default security group for your VPC is used. /// /// Schema: CfnClusterPropsResourcesVpcConfig#SecurityGroupIds /// [JsiiProperty(name: \\"securityGroupIds\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string[]? SecurityGroupIds { get { return null; } } /// An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. /// /// Schema: CfnClusterPropsResourcesVpcConfig /// [JsiiTypeProxy(nativeType: typeof(ICfnClusterPropsResourcesVpcConfig), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.ICfnClusterPropsResourcesVpcConfig { private _Proxy(ByRefValue reference): base(reference) { } /// Specify subnets for your Amazon EKS worker nodes. /// /// Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. /// /// Schema: CfnClusterPropsResourcesVpcConfig#SubnetIds /// [JsiiProperty(name: \\"subnetIds\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\")] public string[] SubnetIds { get => GetInstanceProperty()!; } /// Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. /// /// If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. /// /// Schema: CfnClusterPropsResourcesVpcConfig#EndpointPrivateAccess /// [JsiiOptional] [JsiiProperty(name: \\"endpointPrivateAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] public bool? EndpointPrivateAccess { get => GetInstanceProperty(); } /// Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. /// /// If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. /// /// Schema: CfnClusterPropsResourcesVpcConfig#EndpointPublicAccess /// [JsiiOptional] [JsiiProperty(name: \\"endpointPublicAccess\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"boolean\\\\\\"}\\", isOptional: true)] public bool? EndpointPublicAccess { get => GetInstanceProperty(); } /// The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. /// /// Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. /// /// Schema: CfnClusterPropsResourcesVpcConfig#PublicAccessCidrs /// [JsiiOptional] [JsiiProperty(name: \\"publicAccessCidrs\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? PublicAccessCidrs { get => GetInstanceProperty(); } /// Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. /// /// If you don't specify a security group, the default security group for your VPC is used. /// /// Schema: CfnClusterPropsResourcesVpcConfig#SecurityGroupIds /// [JsiiOptional] [JsiiProperty(name: \\"securityGroupIds\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? SecurityGroupIds { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/ICfnClusterPropsTags.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// /// Schema: CfnClusterPropsTags /// [JsiiInterface(nativeType: typeof(ICfnClusterPropsTags), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\")] public interface ICfnClusterPropsTags { /// /// Schema: CfnClusterPropsTags#Key /// [JsiiProperty(name: \\"key\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string Key { get; } /// /// Schema: CfnClusterPropsTags#Value /// [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string Value { get; } /// /// Schema: CfnClusterPropsTags /// [JsiiTypeProxy(nativeType: typeof(ICfnClusterPropsTags), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.ICfnClusterPropsTags { private _Proxy(ByRefValue reference): base(reference) { } /// /// Schema: CfnClusterPropsTags#Key /// [JsiiProperty(name: \\"key\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string Key { get => GetInstanceProperty()!; } /// /// Schema: CfnClusterPropsTags#Value /// [JsiiProperty(name: \\"value\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string Value { get => GetInstanceProperty()!; } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/IEncryptionConfigEntry.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// The encryption configuration for the cluster. /// /// Schema: EncryptionConfigEntry /// [JsiiInterface(nativeType: typeof(IEncryptionConfigEntry), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\")] public interface IEncryptionConfigEntry { /// /// Schema: EncryptionConfigEntry#Provider /// [JsiiProperty(name: \\"provider\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWSQS::EKS::Cluster.IProvider? Provider { get { return null; } } /// Specifies the resources to be encrypted. /// /// The only supported value is \\"secrets\\". /// /// Schema: EncryptionConfigEntry#Resources /// [JsiiProperty(name: \\"resources\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string[]? Resources { get { return null; } } /// The encryption configuration for the cluster. /// /// Schema: EncryptionConfigEntry /// [JsiiTypeProxy(nativeType: typeof(IEncryptionConfigEntry), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.IEncryptionConfigEntry { private _Proxy(ByRefValue reference): base(reference) { } /// /// Schema: EncryptionConfigEntry#Provider /// [JsiiOptional] [JsiiProperty(name: \\"provider\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\\\\\"}\\", isOptional: true)] public AWSQS::EKS::Cluster.IProvider? Provider { get => GetInstanceProperty(); } /// Specifies the resources to be encrypted. /// /// The only supported value is \\"secrets\\". /// /// Schema: EncryptionConfigEntry#Resources /// [JsiiOptional] [JsiiProperty(name: \\"resources\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? Resources { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/IKubernetesApiAccessEntry.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// /// Schema: KubernetesApiAccessEntry /// [JsiiInterface(nativeType: typeof(IKubernetesApiAccessEntry), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\")] public interface IKubernetesApiAccessEntry { /// /// Schema: KubernetesApiAccessEntry#Arn /// [JsiiProperty(name: \\"arn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? Arn { get { return null; } } /// /// Schema: KubernetesApiAccessEntry#Groups /// [JsiiProperty(name: \\"groups\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string[]? Groups { get { return null; } } /// /// Schema: KubernetesApiAccessEntry#Username /// [JsiiProperty(name: \\"username\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? Username { get { return null; } } /// /// Schema: KubernetesApiAccessEntry /// [JsiiTypeProxy(nativeType: typeof(IKubernetesApiAccessEntry), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.IKubernetesApiAccessEntry { private _Proxy(ByRefValue reference): base(reference) { } /// /// Schema: KubernetesApiAccessEntry#Arn /// [JsiiOptional] [JsiiProperty(name: \\"arn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Arn { get => GetInstanceProperty(); } /// /// Schema: KubernetesApiAccessEntry#Groups /// [JsiiOptional] [JsiiProperty(name: \\"groups\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? Groups { get => GetInstanceProperty(); } /// /// Schema: KubernetesApiAccessEntry#Username /// [JsiiOptional] [JsiiProperty(name: \\"username\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Username { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/IProvider.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// AWS Key Management Service (AWS KMS) customer master key (CMK). /// /// Either the ARN or the alias can be used. /// /// Schema: Provider /// [JsiiInterface(nativeType: typeof(IProvider), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\")] public interface IProvider { /// Amazon Resource Name (ARN) or alias of the customer master key (CMK). /// /// The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. /// /// Schema: Provider#KeyArn /// [JsiiProperty(name: \\"keyArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? KeyArn { get { return null; } } /// AWS Key Management Service (AWS KMS) customer master key (CMK). /// /// Either the ARN or the alias can be used. /// /// Schema: Provider /// [JsiiTypeProxy(nativeType: typeof(IProvider), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\")] internal sealed class _Proxy : DeputyBase, AWSQS::EKS::Cluster.IProvider { private _Proxy(ByRefValue reference): base(reference) { } /// Amazon Resource Name (ARN) or alias of the customer master key (CMK). /// /// The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. /// /// Schema: Provider#KeyArn /// [JsiiOptional] [JsiiProperty(name: \\"keyArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? KeyArn { get => GetInstanceProperty(); } } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/Internal/DependencyResolution/Anchor.cs" => "#pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster.Internal.DependencyResolution { public sealed class Anchor { public Anchor() { new Amazon.CDK.Asset.AwsCliV1.Internal.DependencyResolution.Anchor(); new Amazon.CDK.Asset.KubectlV20.Internal.DependencyResolution.Anchor(); new Amazon.CDK.Asset.NodeProxyAgentV5.Internal.DependencyResolution.Anchor(); new Amazon.CDK.Internal.DependencyResolution.Anchor(); new Constructs.Internal.DependencyResolution.Anchor(); } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/KubernetesApiAccessEntry.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// /// Schema: KubernetesApiAccessEntry /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\")] public class KubernetesApiAccessEntry : AWSQS::EKS::Cluster.IKubernetesApiAccessEntry { /// /// Schema: KubernetesApiAccessEntry#Arn /// [JsiiOptional] [JsiiProperty(name: \\"arn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Arn { get; set; } /// /// Schema: KubernetesApiAccessEntry#Groups /// [JsiiOptional] [JsiiProperty(name: \\"groups\\", typeJson: \\"{\\\\\\"collection\\\\\\":{\\\\\\"elementtype\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"},\\\\\\"kind\\\\\\":\\\\\\"array\\\\\\"}}\\", isOptional: true)] public string[]? Groups { get; set; } /// /// Schema: KubernetesApiAccessEntry#Username /// [JsiiOptional] [JsiiProperty(name: \\"username\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? Username { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster/Provider.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWSQS::EKS::Cluster { /// AWS Key Management Service (AWS KMS) customer master key (CMK). /// /// Either the ARN or the alias can be used. /// /// Schema: Provider /// [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\")] public class Provider : AWSQS::EKS::Cluster.IProvider { /// Amazon Resource Name (ARN) or alias of the customer master key (CMK). /// /// The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. /// /// Schema: Provider#KeyArn /// [JsiiOptional] [JsiiProperty(name: \\"keyArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? KeyArn { get; set; } } } ", "AWSQS::EKS::Cluster/AWSQS::EKS::Cluster.csproj" => " 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6 AWSQS::EKS::Cluster UNLICENSED 0.0.0 generated@generated.com en-US http://generated http://generated git true true true true enable snupkg netcoreapp3.1 Major 0612,0618 0108,0109 ", "AWSQS::EKS::Cluster/AssemblyInfo.cs" => "using Amazon.JSII.Runtime.Deputy; [assembly: JsiiAssembly(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6-0.0.0.tgz\\")] ", } `; exports[`csharp 2`] = ` Map { "AWS::FOO::BAR/AWS::FOO::BAR/Ec2ComputeInstance.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWS::FOO::BAR { /// Ec2ComputeInstance. /// /// Compute instance to be used for experiments, does NOT contain DB access /// /// Owner: IT /// [JsiiClass(nativeType: typeof(AWS::FOO::BAR.Ec2ComputeInstance), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", parametersJson: \\"[{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"- scope in which this resource is defined.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"scope\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"constructs.Construct\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"- scoped id of the resource.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"id\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}},{\\\\\\"docs\\\\\\":{\\\\\\"summary\\\\\\":\\\\\\"- resource properties.\\\\\\"},\\\\\\"name\\\\\\":\\\\\\"props\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\\\\\"}}]\\")] public class Ec2ComputeInstance : Amazon.CDK.Resource, AWS::FOO::BAR.IEc2ComputeInstance { /// Create a new Service Catalog \\\\\`Ec2ComputeInstance\\\\\` product. /// - scope in which this resource is defined. /// - scoped id of the resource. /// - resource properties. public Ec2ComputeInstance(Constructs.Construct scope, string id, AWS::FOO::BAR.IEc2ComputeInstanceProps props): base(_MakeDeputyProps(scope, id, props)) { } [System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.AggressiveInlining)] private static DeputyProps _MakeDeputyProps(Constructs.Construct scope, string id, AWS::FOO::BAR.IEc2ComputeInstanceProps props) { return new DeputyProps(new object?[]{scope, id, props}); } /// Used by jsii to construct an instance of this class from a Javascript-owned object reference /// The Javascript-owned object reference [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] protected Ec2ComputeInstance(ByRefValue reference): base(reference) { } /// Used by jsii to construct an instance of this class from DeputyProps /// The deputy props [System.ComponentModel.EditorBrowsable(System.ComponentModel.EditorBrowsableState.Never)] protected Ec2ComputeInstance(DeputyProps props): base(props) { } [JsiiProperty(name: \\"cloudFormationStackArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string CloudFormationStackArn { get => GetInstanceProperty()!; } /// The command to download the key. [JsiiProperty(name: \\"downloadKeyCommand\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string DownloadKeyCommand { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"iPAddress\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string IPAddress { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"provisionedProductId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string ProvisionedProductId { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"recordId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string RecordId { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"sshcommand\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public virtual string Sshcommand { get => GetInstanceProperty()!; } [JsiiEnum(nativeType: typeof(InstanceType), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\")] public enum InstanceType { /// t2.micro. [JsiiEnumMember(name: \\"T2_MICRO\\")] T2_MICRO, /// t2.small. [JsiiEnumMember(name: \\"T2_SMALL\\")] T2_SMALL } [JsiiEnum(nativeType: typeof(Numbers), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\")] public enum Numbers { /// 1. [JsiiEnumMember(name: \\"VALUE_1\\")] VALUE_1, /// 2. [JsiiEnumMember(name: \\"VALUE_2\\")] VALUE_2, /// 3. [JsiiEnumMember(name: \\"VALUE_3\\")] VALUE_3, /// 4. [JsiiEnumMember(name: \\"VALUE_4\\")] VALUE_4, /// 5. [JsiiEnumMember(name: \\"VALUE_5\\")] VALUE_5 } } } ", "AWS::FOO::BAR/AWS::FOO::BAR/Ec2ComputeInstanceProps.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWS::FOO::BAR { [JsiiByValue(fqn: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\")] public class Ec2ComputeInstanceProps : AWS::FOO::BAR.IEc2ComputeInstanceProps { /// InstanceType. /// /// The instance type of an EC2 instance. /// /// Must be t2 micro or small. /// /// Default: t2.micro /// [JsiiOptional] [JsiiProperty(name: \\"instanceType\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\\\\\"}\\", isOptional: true)] public AWS::FOO::BAR.Ec2ComputeInstance.InstanceType? InstanceType { get; set; } /// Numbers. /// /// A number to be selected. /// /// These are the allowed numbers. /// /// Default: 5 /// [JsiiOptional] [JsiiProperty(name: \\"numbers\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\\\\\"}\\", isOptional: true)] public AWS::FOO::BAR.Ec2ComputeInstance.Numbers? Numbers { get; set; } /// SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. /// /// Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 /// [JsiiOptional] [JsiiProperty(name: \\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter { get; set; } } } ", "AWS::FOO::BAR/AWS::FOO::BAR/IEc2ComputeInstance.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWS::FOO::BAR { [JsiiInterface(nativeType: typeof(IEc2ComputeInstance), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance\\")] public interface IEc2ComputeInstance : Amazon.CDK.IResource { [JsiiProperty(name: \\"cloudFormationStackArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string CloudFormationStackArn { get; } [JsiiProperty(name: \\"downloadKeyCommand\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string DownloadKeyCommand { get; } [JsiiProperty(name: \\"iPAddress\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string IPAddress { get; } [JsiiProperty(name: \\"provisionedProductId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string ProvisionedProductId { get; } [JsiiProperty(name: \\"recordId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string RecordId { get; } [JsiiProperty(name: \\"sshcommand\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] string Sshcommand { get; } [JsiiTypeProxy(nativeType: typeof(IEc2ComputeInstance), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance\\")] internal sealed class _Proxy : DeputyBase, AWS::FOO::BAR.IEc2ComputeInstance { private _Proxy(ByRefValue reference): base(reference) { } [JsiiProperty(name: \\"cloudFormationStackArn\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string CloudFormationStackArn { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"downloadKeyCommand\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string DownloadKeyCommand { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"iPAddress\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string IPAddress { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"provisionedProductId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string ProvisionedProductId { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"recordId\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string RecordId { get => GetInstanceProperty()!; } [JsiiProperty(name: \\"sshcommand\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\")] public string Sshcommand { get => GetInstanceProperty()!; } /// The environment this resource belongs to. /// /// For resources that are created and managed by the CDK /// (generally, those created by creating new class instances like Role, Bucket, etc.), /// this is always the same as the environment of the stack they belong to; /// however, for imported resources /// (those obtained from static methods like fromRoleArn, fromBucketName, etc.), /// that might be different than the stack they were imported into. /// [JsiiProperty(name: \\"env\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"aws-cdk-lib.ResourceEnvironment\\\\\\"}\\")] public Amazon.CDK.IResourceEnvironment Env { get => GetInstanceProperty()!; } /// The stack in which this resource is defined. [JsiiProperty(name: \\"stack\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"aws-cdk-lib.Stack\\\\\\"}\\")] public Amazon.CDK.Stack Stack { get => GetInstanceProperty()!; } /// The tree node. [JsiiProperty(name: \\"node\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"constructs.Node\\\\\\"}\\")] public Constructs.Node Node { get => GetInstanceProperty()!; } /// Apply the given removal policy to this resource. /// /// 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). /// [JsiiMethod(name: \\"applyRemovalPolicy\\", parametersJson: \\"[{\\\\\\"name\\\\\\":\\\\\\"policy\\\\\\",\\\\\\"type\\\\\\":{\\\\\\"fqn\\\\\\":\\\\\\"aws-cdk-lib.RemovalPolicy\\\\\\"}}]\\")] public void ApplyRemovalPolicy(Amazon.CDK.RemovalPolicy policy) { InvokeInstanceVoidMethod(new System.Type[]{typeof(Amazon.CDK.RemovalPolicy)}, new object[]{policy}); } } } } ", "AWS::FOO::BAR/AWS::FOO::BAR/IEc2ComputeInstanceProps.cs" => "using Amazon.JSII.Runtime.Deputy; #pragma warning disable CS0672,CS0809,CS1591 namespace AWS::FOO::BAR { [JsiiInterface(nativeType: typeof(IEc2ComputeInstanceProps), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\")] public interface IEc2ComputeInstanceProps { /// InstanceType. /// /// The instance type of an EC2 instance. /// /// Must be t2 micro or small. /// /// Default: t2.micro /// [JsiiProperty(name: \\"instanceType\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWS::FOO::BAR.Ec2ComputeInstance.InstanceType? InstanceType { get { return null; } } /// Numbers. /// /// A number to be selected. /// /// These are the allowed numbers. /// /// Default: 5 /// [JsiiProperty(name: \\"numbers\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] AWS::FOO::BAR.Ec2ComputeInstance.Numbers? Numbers { get { return null; } } /// SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. /// /// Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 /// [JsiiProperty(name: \\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] [Amazon.JSII.Runtime.Deputy.JsiiOptional] string? SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter { get { return null; } } [JsiiTypeProxy(nativeType: typeof(IEc2ComputeInstanceProps), fullyQualifiedName: \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\")] internal sealed class _Proxy : DeputyBase, AWS::FOO::BAR.IEc2ComputeInstanceProps { private _Proxy(ByRefValue reference): base(reference) { } /// InstanceType. /// /// The instance type of an EC2 instance. /// /// Must be t2 micro or small. /// /// Default: t2.micro /// [JsiiOptional] [JsiiProperty(name: \\"instanceType\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\\\\\"}\\", isOptional: true)] public AWS::FOO::BAR.Ec2ComputeInstance.InstanceType? InstanceType { get => GetInstanceProperty(); } /// Numbers. /// /// A number to be selected. /// /// These are the allowed numbers. /// /// Default: 5 /// [JsiiOptional] [JsiiProperty(name: \\"numbers\\", typeJson: \\"{\\\\\\"fqn\\\\\\":\\\\\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\\\\\"}\\", isOptional: true)] public AWS::FOO::BAR.Ec2ComputeInstance.Numbers? Numbers { get => GetInstanceProperty(); } /// SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. /// /// Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 /// [JsiiOptional] [JsiiProperty(name: \\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\", typeJson: \\"{\\\\\\"primitive\\\\\\":\\\\\\"string\\\\\\"}\\", isOptional: true)] public string? SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter { get => GetInstanceProperty(); } } } } ", "AWS::FOO::BAR/AWS::FOO::BAR/Internal/DependencyResolution/Anchor.cs" => "#pragma warning disable CS0672,CS0809,CS1591 namespace AWS::FOO::BAR.Internal.DependencyResolution { public sealed class Anchor { public Anchor() { new Amazon.CDK.Asset.AwsCliV1.Internal.DependencyResolution.Anchor(); new Amazon.CDK.Asset.KubectlV20.Internal.DependencyResolution.Anchor(); new Amazon.CDK.Asset.NodeProxyAgentV5.Internal.DependencyResolution.Anchor(); new Amazon.CDK.Internal.DependencyResolution.Anchor(); new Constructs.Internal.DependencyResolution.Anchor(); } } } ", "AWS::FOO::BAR/AWS::FOO::BAR.csproj" => " 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6 AWS::FOO::BAR UNLICENSED 0.0.0 generated@generated.com en-US http://generated http://generated git true true true true enable snupkg netcoreapp3.1 Major 0612,0618 0108,0109 ", "AWS::FOO::BAR/AssemblyInfo.cs" => "using Amazon.JSII.Runtime.Deputy; [assembly: JsiiAssembly(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6-0.0.0.tgz\\")] ", } `; exports[`golang 1`] = ` Map { "awsqs-eks-cluster/CfnCluster.go" => "package awsqs-eks-cluster import ( _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" _init_ \\"github.com/my/module/awsqs-eks-cluster/jsii\\" \\"github.com/aws/aws-cdk-go/awscdk/v2\\" \\"github.com/aws/constructs-go/constructs/v10\\" \\"github.com/my/module/awsqs-eks-cluster/internal\\" ) // A CloudFormation \`AWSQS::EKS::Cluster\`. type CfnCluster interface { awscdk.CfnResource // Attribute \`AWSQS::EKS::Cluster.Arn\`. AttrArn() *string // Attribute \`AWSQS::EKS::Cluster.CertificateAuthorityData\`. AttrCertificateAuthorityData() *string // Attribute \`AWSQS::EKS::Cluster.ClusterSecurityGroupId\`. AttrClusterSecurityGroupId() *string // Attribute \`AWSQS::EKS::Cluster.EncryptionConfigKeyArn\`. AttrEncryptionConfigKeyArn() *string // Attribute \`AWSQS::EKS::Cluster.Endpoint\`. AttrEndpoint() *string // Attribute \`AWSQS::EKS::Cluster.OIDCIssuerURL\`. AttrOIDCIssuerURL() *string // Options for this resource, such as condition, update policy etc. CfnOptions() awscdk.ICfnResourceOptions CfnProperties() *map[string]interface{} // AWS resource type. CfnResourceType() *string // Returns: the stack trace of the point where this Resource was created from, sourced // from the +metadata+ entry typed +aws:cdk:logicalId+, and with the bottom-most // node +internal+ entries filtered. CreationStack() *[]*string // \`AWSQS::EKS::Cluster.EnabledClusterLoggingTypes\` Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. EnabledClusterLoggingTypes() *[]*string // \`AWSQS::EKS::Cluster.EncryptionConfig\` Encryption configuration for the cluster. EncryptionConfig() *[]*EncryptionConfigEntry // \`AWSQS::EKS::Cluster.KubernetesApiAccess\`. KubernetesApiAccess() interface{} // \`AWSQS::EKS::Cluster.KubernetesNetworkConfig\` Network configuration for Amazon EKS cluster. KubernetesNetworkConfig() interface{} // \`AWSQS::EKS::Cluster.LambdaRoleName\` Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC. LambdaRoleName() *string // The logical ID for this CloudFormation stack element. // // The logical ID of the element // is calculated from the path of the resource node in the construct tree. // // To override this value, use \`overrideLogicalId(newLogicalId)\`. // // Returns: the logical ID as a stringified token. This value will only get // resolved during synthesis. LogicalId() *string // \`AWSQS::EKS::Cluster.Name\` A unique name for your cluster. Name() *string // The tree node. Node() constructs.Node // Return a string that will be resolved to a CloudFormation \`{ Ref }\` for this element. // // If, by any chance, the intrinsic reference of a resource is not a string, you could // coerce it to an IResolvable through \`Lazy.any({ produce: resource.ref })\`. Ref() *string // \`AWSQS::EKS::Cluster.ResourcesVpcConfig\` An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. ResourcesVpcConfig() interface{} // \`AWSQS::EKS::Cluster.RoleArn\` Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. RoleArn() *string // The stack in which this element is defined. // // CfnElements must be defined within a stack scope (directly or indirectly). Stack() awscdk.Stack // \`AWSQS::EKS::Cluster.Tags\`. Tags() *[]interface{} // Deprecated. // Deprecated: use \`updatedProperties\` // // Return properties modified after initiation // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperites() *map[string]interface{} // Return properties modified after initiation. // // Resources that expose mutable properties should override this function to // collect and return the properties object for this resource. UpdatedProperties() *map[string]interface{} // \`AWSQS::EKS::Cluster.Version\` Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. Version() *string // Syntactic sugar for \`addOverride(path, undefined)\`. AddDeletionOverride(path *string) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // // This can be used for resources across stacks (or nested stack) boundaries // and the dependency will automatically be transferred to the relevant scope. AddDependency(target awscdk.CfnResource) // Indicates that this resource depends on another resource and cannot be provisioned unless the other resource has been successfully provisioned. // Deprecated: use addDependency. AddDependsOn(target awscdk.CfnResource) // Add a value to the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // AddMetadata(key *string, value interface{}) // Adds an override to the synthesized CloudFormation resource. // // To add a // property override, either use \`addPropertyOverride\` or prefix \`path\` with // \\"Properties.\\" (i.e. \`Properties.TopicName\`). // // If the override is nested, separate each nested level using a dot (.) in the path parameter. // If there is an array as part of the nesting, specify the index in the path. // // To include a literal \`.\` in the property name, prefix with a \`\\\\\`. In most // programming languages you will need to write this as \`\\"\\\\\\\\.\\"\` because the // \`\\\\\` itself will need to be escaped. // // For example, // \`\`\`typescript // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.0.Projection.NonKeyAttributes', ['myattribute']); // cfnResource.addOverride('Properties.GlobalSecondaryIndexes.1.ProjectionType', 'INCLUDE'); // \`\`\` // would add the overrides // \`\`\`json // \\"Properties\\": { // \\"GlobalSecondaryIndexes\\": [ // { // \\"Projection\\": { // \\"NonKeyAttributes\\": [ \\"myattribute\\" ] // ... // } // ... // }, // { // \\"ProjectionType\\": \\"INCLUDE\\" // ... // }, // ] // ... // } // \`\`\` // // The \`value\` argument to \`addOverride\` will not be processed or translated // in any way. Pass raw JSON values in here with the correct capitalization // for CloudFormation. If you pass CDK classes or structs, they will be // rendered with lowercased key names, and CloudFormation will reject the // template. AddOverride(path *string, value interface{}) // Adds an override that deletes the value of a property from the resource definition. AddPropertyDeletionOverride(propertyPath *string) // Adds an override to a resource property. // // Syntactic sugar for \`addOverride(\\"Properties.<...>\\", value)\`. AddPropertyOverride(propertyPath *string, value interface{}) // Sets the deletion policy of the resource based on the removal policy specified. // // 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\`). In some // cases, a snapshot can be taken of the resource prior to deletion // (\`RemovalPolicy.SNAPSHOT\`). A list of resources that support this policy // can be found in the following link:. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-attribute-deletionpolicy.html#aws-attribute-deletionpolicy-options // ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) // Returns a token for an runtime attribute of this resource. // // Ideally, use generated attribute accessors (e.g. \`resource.arn\`), but this can be used for future compatibility // in case there is no generated attribute. GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference // Retrieve a value value from the CloudFormation Resource Metadata. // See: https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/metadata-section-structure.html // // Note that this is a different set of metadata from CDK node metadata; this // metadata ends up in the stack template under the resource, whereas CDK // node metadata ends up in the Cloud Assembly. // GetMetadata(key *string) interface{} // Retrieves an array of resources this resource depends on. // // This assembles dependencies on resources across stacks (including nested stacks) // automatically. ObtainDependencies() *[]interface{} // Get a shallow copy of dependencies between this resource and other resources in the same stack. ObtainResourceDependencies() *[]awscdk.CfnResource // Overrides the auto-generated logical ID with a specific ID. OverrideLogicalId(newLogicalId *string) // Indicates that this resource no longer depends on another resource. // // This can be used for resources across stacks (including nested stacks) // and the dependency will automatically be removed from the relevant scope. RemoveDependency(target awscdk.CfnResource) RenderProperties(props *map[string]interface{}) *map[string]interface{} // Replaces one dependency with another. ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) // Can be overridden by subclasses to determine if this resource will be rendered into the cloudformation template. // // Returns: \`true\` if the resource should be included or \`false\` is the resource // should be omitted. ShouldSynthesize() *bool // Returns a string representation of this construct. // // Returns: a string representation of this resource. ToString() *string ValidateProperties(_properties interface{}) } // The jsii proxy struct for CfnCluster type jsiiProxy_CfnCluster struct { internal.Type__awscdkCfnResource } func (j *jsiiProxy_CfnCluster) AttrArn() *string { var returns *string _jsii_.Get( j, \\"attrArn\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) AttrCertificateAuthorityData() *string { var returns *string _jsii_.Get( j, \\"attrCertificateAuthorityData\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) AttrClusterSecurityGroupId() *string { var returns *string _jsii_.Get( j, \\"attrClusterSecurityGroupId\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) AttrEncryptionConfigKeyArn() *string { var returns *string _jsii_.Get( j, \\"attrEncryptionConfigKeyArn\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) AttrEndpoint() *string { var returns *string _jsii_.Get( j, \\"attrEndpoint\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) AttrOIDCIssuerURL() *string { var returns *string _jsii_.Get( j, \\"attrOIDCIssuerURL\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) CfnOptions() awscdk.ICfnResourceOptions { var returns awscdk.ICfnResourceOptions _jsii_.Get( j, \\"cfnOptions\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) CfnProperties() *map[string]interface{} { var returns *map[string]interface{} _jsii_.Get( j, \\"cfnProperties\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) CfnResourceType() *string { var returns *string _jsii_.Get( j, \\"cfnResourceType\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) CreationStack() *[]*string { var returns *[]*string _jsii_.Get( j, \\"creationStack\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) EnabledClusterLoggingTypes() *[]*string { var returns *[]*string _jsii_.Get( j, \\"enabledClusterLoggingTypes\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) EncryptionConfig() *[]*EncryptionConfigEntry { var returns *[]*EncryptionConfigEntry _jsii_.Get( j, \\"encryptionConfig\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) KubernetesApiAccess() interface{} { var returns interface{} _jsii_.Get( j, \\"kubernetesApiAccess\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) KubernetesNetworkConfig() interface{} { var returns interface{} _jsii_.Get( j, \\"kubernetesNetworkConfig\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) LambdaRoleName() *string { var returns *string _jsii_.Get( j, \\"lambdaRoleName\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) LogicalId() *string { var returns *string _jsii_.Get( j, \\"logicalId\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) Name() *string { var returns *string _jsii_.Get( j, \\"name\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) Node() constructs.Node { var returns constructs.Node _jsii_.Get( j, \\"node\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) Ref() *string { var returns *string _jsii_.Get( j, \\"ref\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) ResourcesVpcConfig() interface{} { var returns interface{} _jsii_.Get( j, \\"resourcesVpcConfig\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) RoleArn() *string { var returns *string _jsii_.Get( j, \\"roleArn\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) Stack() awscdk.Stack { var returns awscdk.Stack _jsii_.Get( j, \\"stack\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) Tags() *[]interface{} { var returns *[]interface{} _jsii_.Get( j, \\"tags\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) UpdatedProperites() *map[string]interface{} { var returns *map[string]interface{} _jsii_.Get( j, \\"updatedProperites\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) UpdatedProperties() *map[string]interface{} { var returns *map[string]interface{} _jsii_.Get( j, \\"updatedProperties\\", &returns, ) return returns } func (j *jsiiProxy_CfnCluster) Version() *string { var returns *string _jsii_.Get( j, \\"version\\", &returns, ) return returns } // Create a new \`AWSQS::EKS::Cluster\`. func NewCfnCluster(scope constructs.Construct, id *string, props *CfnClusterProps) CfnCluster { _init_.Initialize() if err := validateNewCfnClusterParameters(scope, id, props); err != nil { panic(err) } j := jsiiProxy_CfnCluster{} _jsii_.Create( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", []interface{}{scope, id, props}, &j, ) return &j } // Create a new \`AWSQS::EKS::Cluster\`. func NewCfnCluster_Override(c CfnCluster, scope constructs.Construct, id *string, props *CfnClusterProps) { _init_.Initialize() _jsii_.Create( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", []interface{}{scope, id, props}, c, ) } // Returns \`true\` if a construct is a stack element (i.e. part of the synthesized cloudformation template). // // Uses duck-typing instead of \`instanceof\` to allow stack elements from different // versions of this library to be included in the same stack. // // Returns: The construct as a stack element or undefined if it is not a stack element. func CfnCluster_IsCfnElement(x interface{}) *bool { _init_.Initialize() if err := validateCfnCluster_IsCfnElementParameters(x); err != nil { panic(err) } var returns *bool _jsii_.StaticInvoke( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", \\"isCfnElement\\", []interface{}{x}, &returns, ) return returns } // Check whether the given construct is a CfnResource. func CfnCluster_IsCfnResource(construct constructs.IConstruct) *bool { _init_.Initialize() if err := validateCfnCluster_IsCfnResourceParameters(construct); err != nil { panic(err) } var returns *bool _jsii_.StaticInvoke( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", \\"isCfnResource\\", []interface{}{construct}, &returns, ) return returns } // Checks if \`x\` is a construct. // // 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. // // Returns: true if \`x\` is an object created from a class which extends \`Construct\`. func CfnCluster_IsConstruct(x interface{}) *bool { _init_.Initialize() if err := validateCfnCluster_IsConstructParameters(x); err != nil { panic(err) } var returns *bool _jsii_.StaticInvoke( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", \\"isConstruct\\", []interface{}{x}, &returns, ) return returns } func CfnCluster_CFN_RESOURCE_TYPE_NAME() *string { _init_.Initialize() var returns *string _jsii_.StaticGet( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", \\"CFN_RESOURCE_TYPE_NAME\\", &returns, ) return returns } func (c *jsiiProxy_CfnCluster) AddDeletionOverride(path *string) { if err := c.validateAddDeletionOverrideParameters(path); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addDeletionOverride\\", []interface{}{path}, ) } func (c *jsiiProxy_CfnCluster) AddDependency(target awscdk.CfnResource) { if err := c.validateAddDependencyParameters(target); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addDependency\\", []interface{}{target}, ) } func (c *jsiiProxy_CfnCluster) AddDependsOn(target awscdk.CfnResource) { if err := c.validateAddDependsOnParameters(target); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addDependsOn\\", []interface{}{target}, ) } func (c *jsiiProxy_CfnCluster) AddMetadata(key *string, value interface{}) { if err := c.validateAddMetadataParameters(key, value); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addMetadata\\", []interface{}{key, value}, ) } func (c *jsiiProxy_CfnCluster) AddOverride(path *string, value interface{}) { if err := c.validateAddOverrideParameters(path, value); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addOverride\\", []interface{}{path, value}, ) } func (c *jsiiProxy_CfnCluster) AddPropertyDeletionOverride(propertyPath *string) { if err := c.validateAddPropertyDeletionOverrideParameters(propertyPath); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addPropertyDeletionOverride\\", []interface{}{propertyPath}, ) } func (c *jsiiProxy_CfnCluster) AddPropertyOverride(propertyPath *string, value interface{}) { if err := c.validateAddPropertyOverrideParameters(propertyPath, value); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"addPropertyOverride\\", []interface{}{propertyPath, value}, ) } func (c *jsiiProxy_CfnCluster) ApplyRemovalPolicy(policy awscdk.RemovalPolicy, options *awscdk.RemovalPolicyOptions) { if err := c.validateApplyRemovalPolicyParameters(options); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"applyRemovalPolicy\\", []interface{}{policy, options}, ) } func (c *jsiiProxy_CfnCluster) GetAtt(attributeName *string, typeHint awscdk.ResolutionTypeHint) awscdk.Reference { if err := c.validateGetAttParameters(attributeName); err != nil { panic(err) } var returns awscdk.Reference _jsii_.Invoke( c, \\"getAtt\\", []interface{}{attributeName, typeHint}, &returns, ) return returns } func (c *jsiiProxy_CfnCluster) GetMetadata(key *string) interface{} { if err := c.validateGetMetadataParameters(key); err != nil { panic(err) } var returns interface{} _jsii_.Invoke( c, \\"getMetadata\\", []interface{}{key}, &returns, ) return returns } func (c *jsiiProxy_CfnCluster) ObtainDependencies() *[]interface{} { var returns *[]interface{} _jsii_.Invoke( c, \\"obtainDependencies\\", nil, // no parameters &returns, ) return returns } func (c *jsiiProxy_CfnCluster) ObtainResourceDependencies() *[]awscdk.CfnResource { var returns *[]awscdk.CfnResource _jsii_.Invoke( c, \\"obtainResourceDependencies\\", nil, // no parameters &returns, ) return returns } func (c *jsiiProxy_CfnCluster) OverrideLogicalId(newLogicalId *string) { if err := c.validateOverrideLogicalIdParameters(newLogicalId); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"overrideLogicalId\\", []interface{}{newLogicalId}, ) } func (c *jsiiProxy_CfnCluster) RemoveDependency(target awscdk.CfnResource) { if err := c.validateRemoveDependencyParameters(target); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"removeDependency\\", []interface{}{target}, ) } func (c *jsiiProxy_CfnCluster) RenderProperties(props *map[string]interface{}) *map[string]interface{} { if err := c.validateRenderPropertiesParameters(props); err != nil { panic(err) } var returns *map[string]interface{} _jsii_.Invoke( c, \\"renderProperties\\", []interface{}{props}, &returns, ) return returns } func (c *jsiiProxy_CfnCluster) ReplaceDependency(target awscdk.CfnResource, newTarget awscdk.CfnResource) { if err := c.validateReplaceDependencyParameters(target, newTarget); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"replaceDependency\\", []interface{}{target, newTarget}, ) } func (c *jsiiProxy_CfnCluster) ShouldSynthesize() *bool { var returns *bool _jsii_.Invoke( c, \\"shouldSynthesize\\", nil, // no parameters &returns, ) return returns } func (c *jsiiProxy_CfnCluster) ToString() *string { var returns *string _jsii_.Invoke( c, \\"toString\\", nil, // no parameters &returns, ) return returns } func (c *jsiiProxy_CfnCluster) ValidateProperties(_properties interface{}) { if err := c.validateValidatePropertiesParameters(_properties); err != nil { panic(err) } _jsii_.InvokeVoid( c, \\"validateProperties\\", []interface{}{_properties}, ) } ", "awsqs-eks-cluster/CfnClusterProps.go" => "package awsqs-eks-cluster // A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. type CfnClusterProps struct { // An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. ResourcesVpcConfig *CfnClusterPropsResourcesVpcConfig \`field:\\"required\\" json:\\"resourcesVpcConfig\\" yaml:\\"resourcesVpcConfig\\"\` // Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. // // This provides permissions for Amazon EKS to call other AWS APIs. RoleArn *string \`field:\\"required\\" json:\\"roleArn\\" yaml:\\"roleArn\\"\` // Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. // // By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. EnabledClusterLoggingTypes *[]*string \`field:\\"optional\\" json:\\"enabledClusterLoggingTypes\\" yaml:\\"enabledClusterLoggingTypes\\"\` // Encryption configuration for the cluster. EncryptionConfig *[]*EncryptionConfigEntry \`field:\\"optional\\" json:\\"encryptionConfig\\" yaml:\\"encryptionConfig\\"\` KubernetesApiAccess *CfnClusterPropsKubernetesApiAccess \`field:\\"optional\\" json:\\"kubernetesApiAccess\\" yaml:\\"kubernetesApiAccess\\"\` // Network configuration for Amazon EKS cluster. KubernetesNetworkConfig *CfnClusterPropsKubernetesNetworkConfig \`field:\\"optional\\" json:\\"kubernetesNetworkConfig\\" yaml:\\"kubernetesNetworkConfig\\"\` // Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. // // this provides permissions for Lambda to be invoked and attach to the cluster VPC. LambdaRoleName *string \`field:\\"optional\\" json:\\"lambdaRoleName\\" yaml:\\"lambdaRoleName\\"\` // A unique name for your cluster. Name *string \`field:\\"optional\\" json:\\"name\\" yaml:\\"name\\"\` Tags *[]*CfnClusterPropsTags \`field:\\"optional\\" json:\\"tags\\" yaml:\\"tags\\"\` // Desired Kubernetes version for your cluster. // // If you don't specify this value, the cluster uses the latest version from Amazon EKS. Version *string \`field:\\"optional\\" json:\\"version\\" yaml:\\"version\\"\` } ", "awsqs-eks-cluster/CfnClusterPropsKubernetesApiAccess.go" => "package awsqs-eks-cluster type CfnClusterPropsKubernetesApiAccess struct { Roles *[]*KubernetesApiAccessEntry \`field:\\"optional\\" json:\\"roles\\" yaml:\\"roles\\"\` Users *[]*KubernetesApiAccessEntry \`field:\\"optional\\" json:\\"users\\" yaml:\\"users\\"\` } ", "awsqs-eks-cluster/CfnClusterPropsKubernetesNetworkConfig.go" => "package awsqs-eks-cluster // Network configuration for Amazon EKS cluster. type CfnClusterPropsKubernetesNetworkConfig struct { // Specify the range from which cluster services will receive IPv4 addresses. ServiceIpv4Cidr *string \`field:\\"optional\\" json:\\"serviceIpv4Cidr\\" yaml:\\"serviceIpv4Cidr\\"\` } ", "awsqs-eks-cluster/CfnClusterPropsResourcesVpcConfig.go" => "package awsqs-eks-cluster // An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. type CfnClusterPropsResourcesVpcConfig struct { // Specify subnets for your Amazon EKS worker nodes. // // Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. SubnetIds *[]*string \`field:\\"required\\" json:\\"subnetIds\\" yaml:\\"subnetIds\\"\` // Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. // // If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. EndpointPrivateAccess *bool \`field:\\"optional\\" json:\\"endpointPrivateAccess\\" yaml:\\"endpointPrivateAccess\\"\` // Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. // // If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. EndpointPublicAccess *bool \`field:\\"optional\\" json:\\"endpointPublicAccess\\" yaml:\\"endpointPublicAccess\\"\` // The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. // // Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. PublicAccessCidrs *[]*string \`field:\\"optional\\" json:\\"publicAccessCidrs\\" yaml:\\"publicAccessCidrs\\"\` // Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. // // If you don't specify a security group, the default security group for your VPC is used. SecurityGroupIds *[]*string \`field:\\"optional\\" json:\\"securityGroupIds\\" yaml:\\"securityGroupIds\\"\` } ", "awsqs-eks-cluster/CfnClusterPropsTags.go" => "package awsqs-eks-cluster type CfnClusterPropsTags struct { Key *string \`field:\\"required\\" json:\\"key\\" yaml:\\"key\\"\` Value *string \`field:\\"required\\" json:\\"value\\" yaml:\\"value\\"\` } ", "awsqs-eks-cluster/CfnCluster__checks.go" => "//go:build !no_runtime_type_checking package awsqs-eks-cluster import ( \\"fmt\\" _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" \\"github.com/aws/aws-cdk-go/awscdk/v2\\" \\"github.com/aws/constructs-go/constructs/v10\\" ) func (c *jsiiProxy_CfnCluster) validateAddDeletionOverrideParameters(path *string) error { if path == nil { return fmt.Errorf(\\"parameter path is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateAddDependencyParameters(target awscdk.CfnResource) error { if target == nil { return fmt.Errorf(\\"parameter target is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateAddDependsOnParameters(target awscdk.CfnResource) error { if target == nil { return fmt.Errorf(\\"parameter target is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateAddMetadataParameters(key *string, value interface{}) error { if key == nil { return fmt.Errorf(\\"parameter key is required, but nil was provided\\") } if value == nil { return fmt.Errorf(\\"parameter value is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateAddOverrideParameters(path *string, value interface{}) error { if path == nil { return fmt.Errorf(\\"parameter path is required, but nil was provided\\") } if value == nil { return fmt.Errorf(\\"parameter value is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateAddPropertyDeletionOverrideParameters(propertyPath *string) error { if propertyPath == nil { return fmt.Errorf(\\"parameter propertyPath is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateAddPropertyOverrideParameters(propertyPath *string, value interface{}) error { if propertyPath == nil { return fmt.Errorf(\\"parameter propertyPath is required, but nil was provided\\") } if value == nil { return fmt.Errorf(\\"parameter value is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateApplyRemovalPolicyParameters(options *awscdk.RemovalPolicyOptions) error { if err := _jsii_.ValidateStruct(options, func() string { return \\"parameter options\\" }); err != nil { return err } return nil } func (c *jsiiProxy_CfnCluster) validateGetAttParameters(attributeName *string) error { if attributeName == nil { return fmt.Errorf(\\"parameter attributeName is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateGetMetadataParameters(key *string) error { if key == nil { return fmt.Errorf(\\"parameter key is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateOverrideLogicalIdParameters(newLogicalId *string) error { if newLogicalId == nil { return fmt.Errorf(\\"parameter newLogicalId is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateRemoveDependencyParameters(target awscdk.CfnResource) error { if target == nil { return fmt.Errorf(\\"parameter target is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateRenderPropertiesParameters(props *map[string]interface{}) error { if props == nil { return fmt.Errorf(\\"parameter props is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateReplaceDependencyParameters(target awscdk.CfnResource, newTarget awscdk.CfnResource) error { if target == nil { return fmt.Errorf(\\"parameter target is required, but nil was provided\\") } if newTarget == nil { return fmt.Errorf(\\"parameter newTarget is required, but nil was provided\\") } return nil } func (c *jsiiProxy_CfnCluster) validateValidatePropertiesParameters(_properties interface{}) error { if _properties == nil { return fmt.Errorf(\\"parameter _properties is required, but nil was provided\\") } return nil } func validateCfnCluster_IsCfnElementParameters(x interface{}) error { if x == nil { return fmt.Errorf(\\"parameter x is required, but nil was provided\\") } return nil } func validateCfnCluster_IsCfnResourceParameters(construct constructs.IConstruct) error { if construct == nil { return fmt.Errorf(\\"parameter construct is required, but nil was provided\\") } return nil } func validateCfnCluster_IsConstructParameters(x interface{}) error { if x == nil { return fmt.Errorf(\\"parameter x is required, but nil was provided\\") } return nil } func validateNewCfnClusterParameters(scope constructs.Construct, id *string, props *CfnClusterProps) error { if scope == nil { return fmt.Errorf(\\"parameter scope is required, but nil was provided\\") } if id == nil { return fmt.Errorf(\\"parameter id is required, but nil was provided\\") } if props == nil { return fmt.Errorf(\\"parameter props is required, but nil was provided\\") } if err := _jsii_.ValidateStruct(props, func() string { return \\"parameter props\\" }); err != nil { return err } return nil } ", "awsqs-eks-cluster/CfnCluster__no_checks.go" => "//go:build no_runtime_type_checking package awsqs-eks-cluster // Building without runtime type checking enabled, so all the below just return nil func (c *jsiiProxy_CfnCluster) validateAddDeletionOverrideParameters(path *string) error { return nil } func (c *jsiiProxy_CfnCluster) validateAddDependencyParameters(target awscdk.CfnResource) error { return nil } func (c *jsiiProxy_CfnCluster) validateAddDependsOnParameters(target awscdk.CfnResource) error { return nil } func (c *jsiiProxy_CfnCluster) validateAddMetadataParameters(key *string, value interface{}) error { return nil } func (c *jsiiProxy_CfnCluster) validateAddOverrideParameters(path *string, value interface{}) error { return nil } func (c *jsiiProxy_CfnCluster) validateAddPropertyDeletionOverrideParameters(propertyPath *string) error { return nil } func (c *jsiiProxy_CfnCluster) validateAddPropertyOverrideParameters(propertyPath *string, value interface{}) error { return nil } func (c *jsiiProxy_CfnCluster) validateApplyRemovalPolicyParameters(options *awscdk.RemovalPolicyOptions) error { return nil } func (c *jsiiProxy_CfnCluster) validateGetAttParameters(attributeName *string) error { return nil } func (c *jsiiProxy_CfnCluster) validateGetMetadataParameters(key *string) error { return nil } func (c *jsiiProxy_CfnCluster) validateOverrideLogicalIdParameters(newLogicalId *string) error { return nil } func (c *jsiiProxy_CfnCluster) validateRemoveDependencyParameters(target awscdk.CfnResource) error { return nil } func (c *jsiiProxy_CfnCluster) validateRenderPropertiesParameters(props *map[string]interface{}) error { return nil } func (c *jsiiProxy_CfnCluster) validateReplaceDependencyParameters(target awscdk.CfnResource, newTarget awscdk.CfnResource) error { return nil } func (c *jsiiProxy_CfnCluster) validateValidatePropertiesParameters(_properties interface{}) error { return nil } func validateCfnCluster_IsCfnElementParameters(x interface{}) error { return nil } func validateCfnCluster_IsCfnResourceParameters(construct constructs.IConstruct) error { return nil } func validateCfnCluster_IsConstructParameters(x interface{}) error { return nil } func validateNewCfnClusterParameters(scope constructs.Construct, id *string, props *CfnClusterProps) error { return nil } ", "awsqs-eks-cluster/EncryptionConfigEntry.go" => "package awsqs-eks-cluster // The encryption configuration for the cluster. type EncryptionConfigEntry struct { Provider *Provider \`field:\\"optional\\" json:\\"provider\\" yaml:\\"provider\\"\` // Specifies the resources to be encrypted. // // The only supported value is \\"secrets\\". Resources *[]*string \`field:\\"optional\\" json:\\"resources\\" yaml:\\"resources\\"\` } ", "awsqs-eks-cluster/KubernetesApiAccessEntry.go" => "package awsqs-eks-cluster type KubernetesApiAccessEntry struct { Arn *string \`field:\\"optional\\" json:\\"arn\\" yaml:\\"arn\\"\` Groups *[]*string \`field:\\"optional\\" json:\\"groups\\" yaml:\\"groups\\"\` Username *string \`field:\\"optional\\" json:\\"username\\" yaml:\\"username\\"\` } ", "awsqs-eks-cluster/Provider.go" => "package awsqs-eks-cluster // AWS Key Management Service (AWS KMS) customer master key (CMK). // // Either the ARN or the alias can be used. type Provider struct { // Amazon Resource Name (ARN) or alias of the customer master key (CMK). // // The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. KeyArn *string \`field:\\"optional\\" json:\\"keyArn\\" yaml:\\"keyArn\\"\` } ", "awsqs-eks-cluster/internal/types.go" => "package internal import ( \\"github.com/aws/aws-cdk-go/awscdk/v2\\" ) type Type__awscdkCfnResource = awscdk.CfnResource ", "awsqs-eks-cluster/jsii/jsii.go" => "// Package jsii contains the functionaility needed for jsii packages to // initialize their dependencies and themselves. Users should never need to use this package // directly. If you find you need to - please report a bug at // https://github.com/aws/jsii/issues/new/choose package jsii import ( _ \\"embed\\" _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" awscdk \\"github.com/aws/aws-cdk-go/awscdk/v2/jsii\\" constructs \\"github.com/aws/constructs-go/constructs/v10/jsii\\" awscliv1 \\"github.com/cdklabs/awscdk-asset-awscli-go/awscliv1/v2/jsii\\" kubectlv20 \\"github.com/cdklabs/awscdk-asset-kubectl-go/kubectlv20/v2/jsii\\" nodeproxyagentv5 \\"github.com/cdklabs/awscdk-asset-node-proxy-agent-go/nodeproxyagentv5/v2/jsii\\" ) //go:embed 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6-0.0.0.tgz var tarball []byte // Initialize loads the necessary packages in the @jsii/kernel to support the enclosing module. // The implementation is idempotent (and hence safe to be called over and over). func Initialize() { // Ensure all dependencies are initialized awscliv1.Initialize() kubectlv20.Initialize() nodeproxyagentv5.Initialize() awscdk.Initialize() constructs.Initialize() // Load this library into the kernel _jsii_.Load(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", tarball) } ", "awsqs-eks-cluster/main.go" => "// 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6 package awsqs-eks-cluster import ( \\"reflect\\" _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" ) func init() { _jsii_.RegisterClass( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", reflect.TypeOf((*CfnCluster)(nil)).Elem(), []_jsii_.Member{ _jsii_.MemberMethod{JsiiMethod: \\"addDeletionOverride\\", GoMethod: \\"AddDeletionOverride\\"}, _jsii_.MemberMethod{JsiiMethod: \\"addDependency\\", GoMethod: \\"AddDependency\\"}, _jsii_.MemberMethod{JsiiMethod: \\"addDependsOn\\", GoMethod: \\"AddDependsOn\\"}, _jsii_.MemberMethod{JsiiMethod: \\"addMetadata\\", GoMethod: \\"AddMetadata\\"}, _jsii_.MemberMethod{JsiiMethod: \\"addOverride\\", GoMethod: \\"AddOverride\\"}, _jsii_.MemberMethod{JsiiMethod: \\"addPropertyDeletionOverride\\", GoMethod: \\"AddPropertyDeletionOverride\\"}, _jsii_.MemberMethod{JsiiMethod: \\"addPropertyOverride\\", GoMethod: \\"AddPropertyOverride\\"}, _jsii_.MemberMethod{JsiiMethod: \\"applyRemovalPolicy\\", GoMethod: \\"ApplyRemovalPolicy\\"}, _jsii_.MemberProperty{JsiiProperty: \\"attrArn\\", GoGetter: \\"AttrArn\\"}, _jsii_.MemberProperty{JsiiProperty: \\"attrCertificateAuthorityData\\", GoGetter: \\"AttrCertificateAuthorityData\\"}, _jsii_.MemberProperty{JsiiProperty: \\"attrClusterSecurityGroupId\\", GoGetter: \\"AttrClusterSecurityGroupId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"attrEncryptionConfigKeyArn\\", GoGetter: \\"AttrEncryptionConfigKeyArn\\"}, _jsii_.MemberProperty{JsiiProperty: \\"attrEndpoint\\", GoGetter: \\"AttrEndpoint\\"}, _jsii_.MemberProperty{JsiiProperty: \\"attrOIDCIssuerURL\\", GoGetter: \\"AttrOIDCIssuerURL\\"}, _jsii_.MemberProperty{JsiiProperty: \\"cfnOptions\\", GoGetter: \\"CfnOptions\\"}, _jsii_.MemberProperty{JsiiProperty: \\"cfnProperties\\", GoGetter: \\"CfnProperties\\"}, _jsii_.MemberProperty{JsiiProperty: \\"cfnResourceType\\", GoGetter: \\"CfnResourceType\\"}, _jsii_.MemberProperty{JsiiProperty: \\"creationStack\\", GoGetter: \\"CreationStack\\"}, _jsii_.MemberProperty{JsiiProperty: \\"enabledClusterLoggingTypes\\", GoGetter: \\"EnabledClusterLoggingTypes\\"}, _jsii_.MemberProperty{JsiiProperty: \\"encryptionConfig\\", GoGetter: \\"EncryptionConfig\\"}, _jsii_.MemberMethod{JsiiMethod: \\"getAtt\\", GoMethod: \\"GetAtt\\"}, _jsii_.MemberMethod{JsiiMethod: \\"getMetadata\\", GoMethod: \\"GetMetadata\\"}, _jsii_.MemberProperty{JsiiProperty: \\"kubernetesApiAccess\\", GoGetter: \\"KubernetesApiAccess\\"}, _jsii_.MemberProperty{JsiiProperty: \\"kubernetesNetworkConfig\\", GoGetter: \\"KubernetesNetworkConfig\\"}, _jsii_.MemberProperty{JsiiProperty: \\"lambdaRoleName\\", GoGetter: \\"LambdaRoleName\\"}, _jsii_.MemberProperty{JsiiProperty: \\"logicalId\\", GoGetter: \\"LogicalId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"name\\", GoGetter: \\"Name\\"}, _jsii_.MemberProperty{JsiiProperty: \\"node\\", GoGetter: \\"Node\\"}, _jsii_.MemberMethod{JsiiMethod: \\"obtainDependencies\\", GoMethod: \\"ObtainDependencies\\"}, _jsii_.MemberMethod{JsiiMethod: \\"obtainResourceDependencies\\", GoMethod: \\"ObtainResourceDependencies\\"}, _jsii_.MemberMethod{JsiiMethod: \\"overrideLogicalId\\", GoMethod: \\"OverrideLogicalId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"ref\\", GoGetter: \\"Ref\\"}, _jsii_.MemberMethod{JsiiMethod: \\"removeDependency\\", GoMethod: \\"RemoveDependency\\"}, _jsii_.MemberMethod{JsiiMethod: \\"renderProperties\\", GoMethod: \\"RenderProperties\\"}, _jsii_.MemberMethod{JsiiMethod: \\"replaceDependency\\", GoMethod: \\"ReplaceDependency\\"}, _jsii_.MemberProperty{JsiiProperty: \\"resourcesVpcConfig\\", GoGetter: \\"ResourcesVpcConfig\\"}, _jsii_.MemberProperty{JsiiProperty: \\"roleArn\\", GoGetter: \\"RoleArn\\"}, _jsii_.MemberMethod{JsiiMethod: \\"shouldSynthesize\\", GoMethod: \\"ShouldSynthesize\\"}, _jsii_.MemberProperty{JsiiProperty: \\"stack\\", GoGetter: \\"Stack\\"}, _jsii_.MemberProperty{JsiiProperty: \\"tags\\", GoGetter: \\"Tags\\"}, _jsii_.MemberMethod{JsiiMethod: \\"toString\\", GoMethod: \\"ToString\\"}, _jsii_.MemberProperty{JsiiProperty: \\"updatedProperites\\", GoGetter: \\"UpdatedProperites\\"}, _jsii_.MemberProperty{JsiiProperty: \\"updatedProperties\\", GoGetter: \\"UpdatedProperties\\"}, _jsii_.MemberMethod{JsiiMethod: \\"validateProperties\\", GoMethod: \\"ValidateProperties\\"}, _jsii_.MemberProperty{JsiiProperty: \\"version\\", GoGetter: \\"Version\\"}, }, func() interface{} { j := jsiiProxy_CfnCluster{} _jsii_.InitJsiiProxy(&j.Type__awscdkCfnResource) return &j }, ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\", reflect.TypeOf((*CfnClusterProps)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\", reflect.TypeOf((*CfnClusterPropsKubernetesApiAccess)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\", reflect.TypeOf((*CfnClusterPropsKubernetesNetworkConfig)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\", reflect.TypeOf((*CfnClusterPropsResourcesVpcConfig)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\", reflect.TypeOf((*CfnClusterPropsTags)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\", reflect.TypeOf((*EncryptionConfigEntry)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\", reflect.TypeOf((*KubernetesApiAccessEntry)(nil)).Elem(), ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\", reflect.TypeOf((*Provider)(nil)).Elem(), ) } ", "awsqs-eks-cluster/version" => "0.0.0 ", } `; exports[`golang 2`] = ` Map { "ec2-compute-instance/Ec2ComputeInstance.go" => "package ec2-compute-instance import ( _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" _init_ \\"github.com/my/module/ec2-compute-instance/jsii\\" \\"github.com/aws/aws-cdk-go/awscdk/v2\\" \\"github.com/aws/constructs-go/constructs/v10\\" \\"github.com/my/module/ec2-compute-instance/internal\\" ) // Ec2ComputeInstance. // // Compute instance to be used for experiments, does NOT contain DB access // // Owner: IT. type Ec2ComputeInstance interface { awscdk.Resource IEc2ComputeInstance CloudFormationStackArn() *string // The command to download the key. DownloadKeyCommand() *string // The environment this resource belongs to. // // For resources that are created and managed by the CDK // (generally, those created by creating new class instances like Role, Bucket, etc.), // this is always the same as the environment of the stack they belong to; // however, for imported resources // (those obtained from static methods like fromRoleArn, fromBucketName, etc.), // that might be different than the stack they were imported into. Env() *awscdk.ResourceEnvironment IPAddress() *string // The tree node. Node() constructs.Node // Returns a string-encoded token that resolves to the physical name that should be passed to the CloudFormation resource. // // This value will resolve to one of the following: // - a concrete value (e.g. \`\\"my-awesome-bucket\\"\`) // - \`undefined\`, when a name should be generated by CloudFormation // - a concrete name generated automatically during synthesis, in // cross-environment scenarios. PhysicalName() *string ProvisionedProductId() *string RecordId() *string Sshcommand() *string // The stack in which this resource is defined. Stack() awscdk.Stack // Apply the given removal policy to this resource. // // 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\`). ApplyRemovalPolicy(policy awscdk.RemovalPolicy) GeneratePhysicalName() *string // Returns an environment-sensitive token that should be used for the resource's \\"ARN\\" attribute (e.g. \`bucket.bucketArn\`). // // Normally, this token will resolve to \`arnAttr\`, but if the resource is // referenced across environments, \`arnComponents\` will be used to synthesize // a concrete ARN with the resource's physical name. Make sure to reference // \`this.physicalName\` in \`arnComponents\`. GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string // Returns an environment-sensitive token that should be used for the resource's \\"name\\" attribute (e.g. \`bucket.bucketName\`). // // Normally, this token will resolve to \`nameAttr\`, but if the resource is // referenced across environments, it will be resolved to \`this.physicalName\`, // which will be a concrete name. GetResourceNameAttribute(nameAttr *string) *string // Returns a string representation of this construct. ToString() *string } // The jsii proxy struct for Ec2ComputeInstance type jsiiProxy_Ec2ComputeInstance struct { internal.Type__awscdkResource jsiiProxy_IEc2ComputeInstance } func (j *jsiiProxy_Ec2ComputeInstance) CloudFormationStackArn() *string { var returns *string _jsii_.Get( j, \\"cloudFormationStackArn\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) DownloadKeyCommand() *string { var returns *string _jsii_.Get( j, \\"downloadKeyCommand\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) Env() *awscdk.ResourceEnvironment { var returns *awscdk.ResourceEnvironment _jsii_.Get( j, \\"env\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) IPAddress() *string { var returns *string _jsii_.Get( j, \\"iPAddress\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) Node() constructs.Node { var returns constructs.Node _jsii_.Get( j, \\"node\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) PhysicalName() *string { var returns *string _jsii_.Get( j, \\"physicalName\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) ProvisionedProductId() *string { var returns *string _jsii_.Get( j, \\"provisionedProductId\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) RecordId() *string { var returns *string _jsii_.Get( j, \\"recordId\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) Sshcommand() *string { var returns *string _jsii_.Get( j, \\"sshcommand\\", &returns, ) return returns } func (j *jsiiProxy_Ec2ComputeInstance) Stack() awscdk.Stack { var returns awscdk.Stack _jsii_.Get( j, \\"stack\\", &returns, ) return returns } // Create a new Service Catalog \\\\\`Ec2ComputeInstance\\\\\` product. func NewEc2ComputeInstance(scope constructs.Construct, id *string, props *Ec2ComputeInstanceProps) Ec2ComputeInstance { _init_.Initialize() if err := validateNewEc2ComputeInstanceParameters(scope, id, props); err != nil { panic(err) } j := jsiiProxy_Ec2ComputeInstance{} _jsii_.Create( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", []interface{}{scope, id, props}, &j, ) return &j } // Create a new Service Catalog \\\\\`Ec2ComputeInstance\\\\\` product. func NewEc2ComputeInstance_Override(e Ec2ComputeInstance, scope constructs.Construct, id *string, props *Ec2ComputeInstanceProps) { _init_.Initialize() _jsii_.Create( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", []interface{}{scope, id, props}, e, ) } // Checks if \`x\` is a construct. // // 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. // // Returns: true if \`x\` is an object created from a class which extends \`Construct\`. func Ec2ComputeInstance_IsConstruct(x interface{}) *bool { _init_.Initialize() if err := validateEc2ComputeInstance_IsConstructParameters(x); err != nil { panic(err) } var returns *bool _jsii_.StaticInvoke( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", \\"isConstruct\\", []interface{}{x}, &returns, ) return returns } // Returns true if the construct was created by CDK, and false otherwise. func Ec2ComputeInstance_IsOwnedResource(construct constructs.IConstruct) *bool { _init_.Initialize() if err := validateEc2ComputeInstance_IsOwnedResourceParameters(construct); err != nil { panic(err) } var returns *bool _jsii_.StaticInvoke( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", \\"isOwnedResource\\", []interface{}{construct}, &returns, ) return returns } // Check whether the given construct is a Resource. func Ec2ComputeInstance_IsResource(construct constructs.IConstruct) *bool { _init_.Initialize() if err := validateEc2ComputeInstance_IsResourceParameters(construct); err != nil { panic(err) } var returns *bool _jsii_.StaticInvoke( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", \\"isResource\\", []interface{}{construct}, &returns, ) return returns } func (e *jsiiProxy_Ec2ComputeInstance) ApplyRemovalPolicy(policy awscdk.RemovalPolicy) { if err := e.validateApplyRemovalPolicyParameters(policy); err != nil { panic(err) } _jsii_.InvokeVoid( e, \\"applyRemovalPolicy\\", []interface{}{policy}, ) } func (e *jsiiProxy_Ec2ComputeInstance) GeneratePhysicalName() *string { var returns *string _jsii_.Invoke( e, \\"generatePhysicalName\\", nil, // no parameters &returns, ) return returns } func (e *jsiiProxy_Ec2ComputeInstance) GetResourceArnAttribute(arnAttr *string, arnComponents *awscdk.ArnComponents) *string { if err := e.validateGetResourceArnAttributeParameters(arnAttr, arnComponents); err != nil { panic(err) } var returns *string _jsii_.Invoke( e, \\"getResourceArnAttribute\\", []interface{}{arnAttr, arnComponents}, &returns, ) return returns } func (e *jsiiProxy_Ec2ComputeInstance) GetResourceNameAttribute(nameAttr *string) *string { if err := e.validateGetResourceNameAttributeParameters(nameAttr); err != nil { panic(err) } var returns *string _jsii_.Invoke( e, \\"getResourceNameAttribute\\", []interface{}{nameAttr}, &returns, ) return returns } func (e *jsiiProxy_Ec2ComputeInstance) ToString() *string { var returns *string _jsii_.Invoke( e, \\"toString\\", nil, // no parameters &returns, ) return returns } ", "ec2-compute-instance/Ec2ComputeInstanceProps.go" => "package ec2-compute-instance type Ec2ComputeInstanceProps struct { // InstanceType. // // The instance type of an EC2 instance. // // Must be t2 micro or small. // Default: t2.micro // InstanceType Ec2ComputeInstance_InstanceType \`field:\\"optional\\" json:\\"instanceType\\" yaml:\\"instanceType\\"\` // Numbers. // // A number to be selected. // // These are the allowed numbers. // Default: 5. // Numbers Ec2ComputeInstance_Numbers \`field:\\"optional\\" json:\\"numbers\\" yaml:\\"numbers\\"\` // SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. // Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2. // SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter *string \`field:\\"optional\\" json:\\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\" yaml:\\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\"\` } ", "ec2-compute-instance/Ec2ComputeInstance_InstanceType.go" => "package ec2-compute-instance type Ec2ComputeInstance_InstanceType string const ( // t2.micro. Ec2ComputeInstance_InstanceType_T2_MICRO Ec2ComputeInstance_InstanceType = \\"T2_MICRO\\" // t2.small. Ec2ComputeInstance_InstanceType_T2_SMALL Ec2ComputeInstance_InstanceType = \\"T2_SMALL\\" ) ", "ec2-compute-instance/Ec2ComputeInstance_Numbers.go" => "package ec2-compute-instance type Ec2ComputeInstance_Numbers string const ( // 1. Ec2ComputeInstance_Numbers_VALUE_1 Ec2ComputeInstance_Numbers = \\"VALUE_1\\" // 2. Ec2ComputeInstance_Numbers_VALUE_2 Ec2ComputeInstance_Numbers = \\"VALUE_2\\" // 3. Ec2ComputeInstance_Numbers_VALUE_3 Ec2ComputeInstance_Numbers = \\"VALUE_3\\" // 4. Ec2ComputeInstance_Numbers_VALUE_4 Ec2ComputeInstance_Numbers = \\"VALUE_4\\" // 5. Ec2ComputeInstance_Numbers_VALUE_5 Ec2ComputeInstance_Numbers = \\"VALUE_5\\" ) ", "ec2-compute-instance/Ec2ComputeInstance__checks.go" => "//go:build !no_runtime_type_checking package ec2-compute-instance import ( \\"fmt\\" _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" \\"github.com/aws/aws-cdk-go/awscdk/v2\\" \\"github.com/aws/constructs-go/constructs/v10\\" ) func (e *jsiiProxy_Ec2ComputeInstance) validateApplyRemovalPolicyParameters(policy awscdk.RemovalPolicy) error { if policy == \\"\\" { return fmt.Errorf(\\"parameter policy is required, but nil was provided\\") } return nil } func (e *jsiiProxy_Ec2ComputeInstance) validateGetResourceArnAttributeParameters(arnAttr *string, arnComponents *awscdk.ArnComponents) error { if arnAttr == nil { return fmt.Errorf(\\"parameter arnAttr is required, but nil was provided\\") } if arnComponents == nil { return fmt.Errorf(\\"parameter arnComponents is required, but nil was provided\\") } if err := _jsii_.ValidateStruct(arnComponents, func() string { return \\"parameter arnComponents\\" }); err != nil { return err } return nil } func (e *jsiiProxy_Ec2ComputeInstance) validateGetResourceNameAttributeParameters(nameAttr *string) error { if nameAttr == nil { return fmt.Errorf(\\"parameter nameAttr is required, but nil was provided\\") } return nil } func validateEc2ComputeInstance_IsConstructParameters(x interface{}) error { if x == nil { return fmt.Errorf(\\"parameter x is required, but nil was provided\\") } return nil } func validateEc2ComputeInstance_IsOwnedResourceParameters(construct constructs.IConstruct) error { if construct == nil { return fmt.Errorf(\\"parameter construct is required, but nil was provided\\") } return nil } func validateEc2ComputeInstance_IsResourceParameters(construct constructs.IConstruct) error { if construct == nil { return fmt.Errorf(\\"parameter construct is required, but nil was provided\\") } return nil } func validateNewEc2ComputeInstanceParameters(scope constructs.Construct, id *string, props *Ec2ComputeInstanceProps) error { if scope == nil { return fmt.Errorf(\\"parameter scope is required, but nil was provided\\") } if id == nil { return fmt.Errorf(\\"parameter id is required, but nil was provided\\") } if props == nil { return fmt.Errorf(\\"parameter props is required, but nil was provided\\") } if err := _jsii_.ValidateStruct(props, func() string { return \\"parameter props\\" }); err != nil { return err } return nil } ", "ec2-compute-instance/Ec2ComputeInstance__no_checks.go" => "//go:build no_runtime_type_checking package ec2-compute-instance // Building without runtime type checking enabled, so all the below just return nil func (e *jsiiProxy_Ec2ComputeInstance) validateApplyRemovalPolicyParameters(policy awscdk.RemovalPolicy) error { return nil } func (e *jsiiProxy_Ec2ComputeInstance) validateGetResourceArnAttributeParameters(arnAttr *string, arnComponents *awscdk.ArnComponents) error { return nil } func (e *jsiiProxy_Ec2ComputeInstance) validateGetResourceNameAttributeParameters(nameAttr *string) error { return nil } func validateEc2ComputeInstance_IsConstructParameters(x interface{}) error { return nil } func validateEc2ComputeInstance_IsOwnedResourceParameters(construct constructs.IConstruct) error { return nil } func validateEc2ComputeInstance_IsResourceParameters(construct constructs.IConstruct) error { return nil } func validateNewEc2ComputeInstanceParameters(scope constructs.Construct, id *string, props *Ec2ComputeInstanceProps) error { return nil } ", "ec2-compute-instance/IEc2ComputeInstance.go" => "package ec2-compute-instance import ( _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" \\"github.com/aws/aws-cdk-go/awscdk/v2\\" \\"github.com/my/module/ec2-compute-instance/internal\\" ) type IEc2ComputeInstance interface { awscdk.IResource CloudFormationStackArn() *string DownloadKeyCommand() *string IPAddress() *string ProvisionedProductId() *string RecordId() *string Sshcommand() *string } // The jsii proxy for IEc2ComputeInstance type jsiiProxy_IEc2ComputeInstance struct { internal.Type__awscdkIResource } func (j *jsiiProxy_IEc2ComputeInstance) CloudFormationStackArn() *string { var returns *string _jsii_.Get( j, \\"cloudFormationStackArn\\", &returns, ) return returns } func (j *jsiiProxy_IEc2ComputeInstance) DownloadKeyCommand() *string { var returns *string _jsii_.Get( j, \\"downloadKeyCommand\\", &returns, ) return returns } func (j *jsiiProxy_IEc2ComputeInstance) IPAddress() *string { var returns *string _jsii_.Get( j, \\"iPAddress\\", &returns, ) return returns } func (j *jsiiProxy_IEc2ComputeInstance) ProvisionedProductId() *string { var returns *string _jsii_.Get( j, \\"provisionedProductId\\", &returns, ) return returns } func (j *jsiiProxy_IEc2ComputeInstance) RecordId() *string { var returns *string _jsii_.Get( j, \\"recordId\\", &returns, ) return returns } func (j *jsiiProxy_IEc2ComputeInstance) Sshcommand() *string { var returns *string _jsii_.Get( j, \\"sshcommand\\", &returns, ) return returns } ", "ec2-compute-instance/internal/types.go" => "package internal import ( \\"github.com/aws/aws-cdk-go/awscdk/v2\\" ) type Type__awscdkResource = awscdk.Resource type Type__awscdkIResource = awscdk.IResource ", "ec2-compute-instance/jsii/jsii.go" => "// Package jsii contains the functionaility needed for jsii packages to // initialize their dependencies and themselves. Users should never need to use this package // directly. If you find you need to - please report a bug at // https://github.com/aws/jsii/issues/new/choose package jsii import ( _ \\"embed\\" _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" awscdk \\"github.com/aws/aws-cdk-go/awscdk/v2/jsii\\" constructs \\"github.com/aws/constructs-go/constructs/v10/jsii\\" awscliv1 \\"github.com/cdklabs/awscdk-asset-awscli-go/awscliv1/v2/jsii\\" kubectlv20 \\"github.com/cdklabs/awscdk-asset-kubectl-go/kubectlv20/v2/jsii\\" nodeproxyagentv5 \\"github.com/cdklabs/awscdk-asset-node-proxy-agent-go/nodeproxyagentv5/v2/jsii\\" ) //go:embed 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6-0.0.0.tgz var tarball []byte // Initialize loads the necessary packages in the @jsii/kernel to support the enclosing module. // The implementation is idempotent (and hence safe to be called over and over). func Initialize() { // Ensure all dependencies are initialized awscliv1.Initialize() kubectlv20.Initialize() nodeproxyagentv5.Initialize() awscdk.Initialize() constructs.Initialize() // Load this library into the kernel _jsii_.Load(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", tarball) } ", "ec2-compute-instance/main.go" => "// 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6 package ec2-compute-instance import ( \\"reflect\\" _jsii_ \\"github.com/aws/jsii-runtime-go/runtime\\" ) func init() { _jsii_.RegisterClass( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", reflect.TypeOf((*Ec2ComputeInstance)(nil)).Elem(), []_jsii_.Member{ _jsii_.MemberMethod{JsiiMethod: \\"applyRemovalPolicy\\", GoMethod: \\"ApplyRemovalPolicy\\"}, _jsii_.MemberProperty{JsiiProperty: \\"cloudFormationStackArn\\", GoGetter: \\"CloudFormationStackArn\\"}, _jsii_.MemberProperty{JsiiProperty: \\"downloadKeyCommand\\", GoGetter: \\"DownloadKeyCommand\\"}, _jsii_.MemberProperty{JsiiProperty: \\"env\\", GoGetter: \\"Env\\"}, _jsii_.MemberMethod{JsiiMethod: \\"generatePhysicalName\\", GoMethod: \\"GeneratePhysicalName\\"}, _jsii_.MemberMethod{JsiiMethod: \\"getResourceArnAttribute\\", GoMethod: \\"GetResourceArnAttribute\\"}, _jsii_.MemberMethod{JsiiMethod: \\"getResourceNameAttribute\\", GoMethod: \\"GetResourceNameAttribute\\"}, _jsii_.MemberProperty{JsiiProperty: \\"iPAddress\\", GoGetter: \\"IPAddress\\"}, _jsii_.MemberProperty{JsiiProperty: \\"node\\", GoGetter: \\"Node\\"}, _jsii_.MemberProperty{JsiiProperty: \\"physicalName\\", GoGetter: \\"PhysicalName\\"}, _jsii_.MemberProperty{JsiiProperty: \\"provisionedProductId\\", GoGetter: \\"ProvisionedProductId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"recordId\\", GoGetter: \\"RecordId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"sshcommand\\", GoGetter: \\"Sshcommand\\"}, _jsii_.MemberProperty{JsiiProperty: \\"stack\\", GoGetter: \\"Stack\\"}, _jsii_.MemberMethod{JsiiMethod: \\"toString\\", GoMethod: \\"ToString\\"}, }, func() interface{} { j := jsiiProxy_Ec2ComputeInstance{} _jsii_.InitJsiiProxy(&j.Type__awscdkResource) _jsii_.InitJsiiProxy(&j.jsiiProxy_IEc2ComputeInstance) return &j }, ) _jsii_.RegisterEnum( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\", reflect.TypeOf((*Ec2ComputeInstance_InstanceType)(nil)).Elem(), map[string]interface{}{ \\"T2_MICRO\\": Ec2ComputeInstance_InstanceType_T2_MICRO, \\"T2_SMALL\\": Ec2ComputeInstance_InstanceType_T2_SMALL, }, ) _jsii_.RegisterEnum( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\", reflect.TypeOf((*Ec2ComputeInstance_Numbers)(nil)).Elem(), map[string]interface{}{ \\"VALUE_1\\": Ec2ComputeInstance_Numbers_VALUE_1, \\"VALUE_2\\": Ec2ComputeInstance_Numbers_VALUE_2, \\"VALUE_3\\": Ec2ComputeInstance_Numbers_VALUE_3, \\"VALUE_4\\": Ec2ComputeInstance_Numbers_VALUE_4, \\"VALUE_5\\": Ec2ComputeInstance_Numbers_VALUE_5, }, ) _jsii_.RegisterStruct( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\", reflect.TypeOf((*Ec2ComputeInstanceProps)(nil)).Elem(), ) _jsii_.RegisterInterface( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance\\", reflect.TypeOf((*IEc2ComputeInstance)(nil)).Elem(), []_jsii_.Member{ _jsii_.MemberMethod{JsiiMethod: \\"applyRemovalPolicy\\", GoMethod: \\"ApplyRemovalPolicy\\"}, _jsii_.MemberProperty{JsiiProperty: \\"cloudFormationStackArn\\", GoGetter: \\"CloudFormationStackArn\\"}, _jsii_.MemberProperty{JsiiProperty: \\"downloadKeyCommand\\", GoGetter: \\"DownloadKeyCommand\\"}, _jsii_.MemberProperty{JsiiProperty: \\"env\\", GoGetter: \\"Env\\"}, _jsii_.MemberProperty{JsiiProperty: \\"iPAddress\\", GoGetter: \\"IPAddress\\"}, _jsii_.MemberProperty{JsiiProperty: \\"node\\", GoGetter: \\"Node\\"}, _jsii_.MemberProperty{JsiiProperty: \\"provisionedProductId\\", GoGetter: \\"ProvisionedProductId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"recordId\\", GoGetter: \\"RecordId\\"}, _jsii_.MemberProperty{JsiiProperty: \\"sshcommand\\", GoGetter: \\"Sshcommand\\"}, _jsii_.MemberProperty{JsiiProperty: \\"stack\\", GoGetter: \\"Stack\\"}, }, func() interface{} { j := jsiiProxy_IEc2ComputeInstance{} _jsii_.InitJsiiProxy(&j.Type__awscdkIResource) return &j }, ) } ", "ec2-compute-instance/version" => "0.0.0 ", } `; exports[`java 1`] = ` Map { "src/main/java/com/my/module/$Module.java" => "package com.my.module; import static java.util.Arrays.asList; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; import java.io.UncheckedIOException; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.List; import java.util.Map; import software.amazon.jsii.JsiiModule; @software.amazon.jsii.Internal public final class $Module extends JsiiModule { private static final Map MODULE_TYPES = load(); private static Map load() { final Map result = new HashMap<>(); final ClassLoader cl = $Module.class.getClassLoader(); try (final InputStream is = cl.getResourceAsStream(\\"com/my/module/$Module.txt\\"); final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); final BufferedReader br = new BufferedReader(rd)) { br.lines() .filter(line -> !line.trim().isEmpty()) .forEach(line -> { final String[] parts = line.split(\\"=\\", 2); final String fqn = parts[0]; final String className = parts[1]; result.put(fqn, className); }); } catch (final IOException exception) { throw new UncheckedIOException(exception); } return result; } private final Map> cache = new HashMap<>(); public $Module() { super(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", $Module.class, \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6@0.0.0.jsii.tgz\\"); } @Override public List> getDependencies() { return asList(software.amazon.awscdk.cdk.asset.awscli.v1.$Module.class, software.amazon.awscdk.cdk.asset.kubectl.v20.$Module.class, software.amazon.awscdk.cdk.asset.node.proxy.agent.v5.$Module.class, software.amazon.awscdk.$Module.class, software.constructs.$Module.class); } @Override protected Class resolveClass(final String fqn) throws ClassNotFoundException { if (!MODULE_TYPES.containsKey(fqn)) { throw new ClassNotFoundException(\\"Unknown JSII type: \\" + fqn); } String className = MODULE_TYPES.get(fqn); if (!this.cache.containsKey(className)) { this.cache.put(className, this.findClass(className)); } return this.cache.get(className); } private Class findClass(final String binaryName) { try { return Class.forName(binaryName); } catch (final ClassNotFoundException exception) { throw new RuntimeException(exception); } } } ", "src/main/java/com/my/module/CfnCluster.java" => "package com.my.module; /** * A CloudFormation AWSQS::EKS::Cluster. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\") public class CfnCluster extends software.amazon.awscdk.CfnResource { protected CfnCluster(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected CfnCluster(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } static { CFN_RESOURCE_TYPE_NAME = software.amazon.jsii.JsiiObject.jsiiStaticGet(com.my.module.CfnCluster.class, \\"CFN_RESOURCE_TYPE_NAME\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Create a new AWSQS::EKS::Cluster. *

* @param scope

  • scope in which this resource is defined.
This parameter is required. * @param id
  • scoped id of the resource.
This parameter is required. * @param props
  • resource properties.
This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public CfnCluster(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.my.module.CfnClusterProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, \\"scope is required\\"), java.util.Objects.requireNonNull(id, \\"id is required\\"), java.util.Objects.requireNonNull(props, \\"props is required\\") }); } /** * The CloudFormation resource type name for this resource class. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public final static java.lang.String CFN_RESOURCE_TYPE_NAME; /** * Attribute AWSQS::EKS::Cluster.Arn. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAttrArn() { return software.amazon.jsii.Kernel.get(this, \\"attrArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Attribute AWSQS::EKS::Cluster.CertificateAuthorityData. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAttrCertificateAuthorityData() { return software.amazon.jsii.Kernel.get(this, \\"attrCertificateAuthorityData\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Attribute AWSQS::EKS::Cluster.ClusterSecurityGroupId. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAttrClusterSecurityGroupId() { return software.amazon.jsii.Kernel.get(this, \\"attrClusterSecurityGroupId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Attribute AWSQS::EKS::Cluster.EncryptionConfigKeyArn. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAttrEncryptionConfigKeyArn() { return software.amazon.jsii.Kernel.get(this, \\"attrEncryptionConfigKeyArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Attribute AWSQS::EKS::Cluster.Endpoint. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAttrEndpoint() { return software.amazon.jsii.Kernel.get(this, \\"attrEndpoint\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Attribute AWSQS::EKS::Cluster.OIDCIssuerURL. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getAttrOIDCIssuerURL() { return software.amazon.jsii.Kernel.get(this, \\"attrOIDCIssuerURL\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * AWSQS::EKS::Cluster.KubernetesApiAccess. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.Object getKubernetesApiAccess() { return software.amazon.jsii.Kernel.get(this, \\"kubernetesApiAccess\\", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * AWSQS::EKS::Cluster.KubernetesNetworkConfig Network configuration for Amazon EKS cluster. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.Object getKubernetesNetworkConfig() { return software.amazon.jsii.Kernel.get(this, \\"kubernetesNetworkConfig\\", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * AWSQS::EKS::Cluster.ResourcesVpcConfig An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.Object getResourcesVpcConfig() { return software.amazon.jsii.Kernel.get(this, \\"resourcesVpcConfig\\", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * AWSQS::EKS::Cluster.RoleArn Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.NotNull java.lang.String getRoleArn() { return software.amazon.jsii.Kernel.get(this, \\"roleArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * AWSQS::EKS::Cluster.EnabledClusterLoggingTypes Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.Nullable java.util.List getEnabledClusterLoggingTypes() { return java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.Kernel.get(this, \\"enabledClusterLoggingTypes\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))))).map(java.util.Collections::unmodifiableList).orElse(null); } /** * AWSQS::EKS::Cluster.EncryptionConfig Encryption configuration for the cluster. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.Nullable java.util.List getEncryptionConfig() { return java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.Kernel.get(this, \\"encryptionConfig\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.my.module.EncryptionConfigEntry.class))))).map(java.util.Collections::unmodifiableList).orElse(null); } /** * AWSQS::EKS::Cluster.LambdaRoleName Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.Nullable java.lang.String getLambdaRoleName() { return software.amazon.jsii.Kernel.get(this, \\"lambdaRoleName\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * AWSQS::EKS::Cluster.Name A unique name for your cluster. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.Nullable java.lang.String getName() { return software.amazon.jsii.Kernel.get(this, \\"name\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * AWSQS::EKS::Cluster.Tags. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.Nullable java.util.List getTags() { return java.util.Optional.ofNullable((java.util.List)(software.amazon.jsii.Kernel.get(this, \\"tags\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))))).map(java.util.Collections::unmodifiableList).orElse(null); } /** * AWSQS::EKS::Cluster.Version Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public @org.jetbrains.annotations.Nullable java.lang.String getVersion() { return software.amazon.jsii.Kernel.get(this, \\"version\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * A fluent builder for {@link com.my.module.CfnCluster}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope
  • scope in which this resource is defined.
This parameter is required. * @param id
  • scoped id of the resource.
This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public static Builder create(final software.constructs.Construct scope, final java.lang.String id) { return new Builder(scope, id); } private final software.constructs.Construct scope; private final java.lang.String id; private final com.my.module.CfnClusterProps.Builder props; private Builder(final software.constructs.Construct scope, final java.lang.String id) { this.scope = scope; this.id = id; this.props = new com.my.module.CfnClusterProps.Builder(); } /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. *

* @return {@code this} * @param resourcesVpcConfig An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. This parameter is required. */ public Builder resourcesVpcConfig(final com.my.module.CfnClusterPropsResourcesVpcConfig resourcesVpcConfig) { this.props.resourcesVpcConfig(resourcesVpcConfig); return this; } /** * Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. *

* This provides permissions for Amazon EKS to call other AWS APIs. *

* @return {@code this} * @param roleArn Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This parameter is required. */ public Builder roleArn(final java.lang.String roleArn) { this.props.roleArn(roleArn); return this; } /** * Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. *

* By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. *

* @return {@code this} * @param enabledClusterLoggingTypes Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. This parameter is required. */ public Builder enabledClusterLoggingTypes(final java.util.List enabledClusterLoggingTypes) { this.props.enabledClusterLoggingTypes(enabledClusterLoggingTypes); return this; } /** * Encryption configuration for the cluster. *

* @return {@code this} * @param encryptionConfig Encryption configuration for the cluster. This parameter is required. */ public Builder encryptionConfig(final java.util.List encryptionConfig) { this.props.encryptionConfig(encryptionConfig); return this; } /** * @return {@code this} * @param kubernetesApiAccess This parameter is required. */ public Builder kubernetesApiAccess(final com.my.module.CfnClusterPropsKubernetesApiAccess kubernetesApiAccess) { this.props.kubernetesApiAccess(kubernetesApiAccess); return this; } /** * Network configuration for Amazon EKS cluster. *

* @return {@code this} * @param kubernetesNetworkConfig Network configuration for Amazon EKS cluster. This parameter is required. */ public Builder kubernetesNetworkConfig(final com.my.module.CfnClusterPropsKubernetesNetworkConfig kubernetesNetworkConfig) { this.props.kubernetesNetworkConfig(kubernetesNetworkConfig); return this; } /** * Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. *

* this provides permissions for Lambda to be invoked and attach to the cluster VPC *

* @return {@code this} * @param lambdaRoleName Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. This parameter is required. */ public Builder lambdaRoleName(final java.lang.String lambdaRoleName) { this.props.lambdaRoleName(lambdaRoleName); return this; } /** * A unique name for your cluster. *

* @return {@code this} * @param name A unique name for your cluster. This parameter is required. */ public Builder name(final java.lang.String name) { this.props.name(name); return this; } /** * @return {@code this} * @param tags This parameter is required. */ public Builder tags(final java.util.List tags) { this.props.tags(tags); return this; } /** * Desired Kubernetes version for your cluster. *

* If you don't specify this value, the cluster uses the latest version from Amazon EKS. *

* @return {@code this} * @param version Desired Kubernetes version for your cluster. This parameter is required. */ public Builder version(final java.lang.String version) { this.props.version(version); return this; } /** * @return a newly built instance of {@link com.my.module.CfnCluster}. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public com.my.module.CfnCluster build() { return new com.my.module.CfnCluster( this.scope, this.id, this.props.build() ); } } } ", "src/main/java/com/my/module/CfnClusterProps.java" => "package com.my.module; /** * A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\") @software.amazon.jsii.Jsii.Proxy(CfnClusterProps.Jsii$Proxy.class) public interface CfnClusterProps extends software.amazon.jsii.JsiiSerializable { /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. */ @org.jetbrains.annotations.NotNull com.my.module.CfnClusterPropsResourcesVpcConfig getResourcesVpcConfig(); /** * Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. *

* This provides permissions for Amazon EKS to call other AWS APIs. */ @org.jetbrains.annotations.NotNull java.lang.String getRoleArn(); /** * Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. *

* By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. */ default @org.jetbrains.annotations.Nullable java.util.List getEnabledClusterLoggingTypes() { return null; } /** * Encryption configuration for the cluster. */ default @org.jetbrains.annotations.Nullable java.util.List getEncryptionConfig() { return null; } /** */ default @org.jetbrains.annotations.Nullable com.my.module.CfnClusterPropsKubernetesApiAccess getKubernetesApiAccess() { return null; } /** * Network configuration for Amazon EKS cluster. */ default @org.jetbrains.annotations.Nullable com.my.module.CfnClusterPropsKubernetesNetworkConfig getKubernetesNetworkConfig() { return null; } /** * Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. *

* this provides permissions for Lambda to be invoked and attach to the cluster VPC */ default @org.jetbrains.annotations.Nullable java.lang.String getLambdaRoleName() { return null; } /** * A unique name for your cluster. */ default @org.jetbrains.annotations.Nullable java.lang.String getName() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.util.List getTags() { return null; } /** * Desired Kubernetes version for your cluster. *

* If you don't specify this value, the cluster uses the latest version from Amazon EKS. */ default @org.jetbrains.annotations.Nullable java.lang.String getVersion() { return null; } /** * @return a {@link Builder} of {@link CfnClusterProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link CfnClusterProps} */ public static final class Builder implements software.amazon.jsii.Builder { com.my.module.CfnClusterPropsResourcesVpcConfig resourcesVpcConfig; java.lang.String roleArn; java.util.List enabledClusterLoggingTypes; java.util.List encryptionConfig; com.my.module.CfnClusterPropsKubernetesApiAccess kubernetesApiAccess; com.my.module.CfnClusterPropsKubernetesNetworkConfig kubernetesNetworkConfig; java.lang.String lambdaRoleName; java.lang.String name; java.util.List tags; java.lang.String version; /** * Sets the value of {@link CfnClusterProps#getResourcesVpcConfig} * @param resourcesVpcConfig An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. This parameter is required. * @return {@code this} */ public Builder resourcesVpcConfig(com.my.module.CfnClusterPropsResourcesVpcConfig resourcesVpcConfig) { this.resourcesVpcConfig = resourcesVpcConfig; return this; } /** * Sets the value of {@link CfnClusterProps#getRoleArn} * @param roleArn Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This parameter is required. * This provides permissions for Amazon EKS to call other AWS APIs. * @return {@code this} */ public Builder roleArn(java.lang.String roleArn) { this.roleArn = roleArn; return this; } /** * Sets the value of {@link CfnClusterProps#getEnabledClusterLoggingTypes} * @param enabledClusterLoggingTypes Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. * By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. * @return {@code this} */ public Builder enabledClusterLoggingTypes(java.util.List enabledClusterLoggingTypes) { this.enabledClusterLoggingTypes = enabledClusterLoggingTypes; return this; } /** * Sets the value of {@link CfnClusterProps#getEncryptionConfig} * @param encryptionConfig Encryption configuration for the cluster. * @return {@code this} */ @SuppressWarnings(\\"unchecked\\") public Builder encryptionConfig(java.util.List encryptionConfig) { this.encryptionConfig = (java.util.List)encryptionConfig; return this; } /** * Sets the value of {@link CfnClusterProps#getKubernetesApiAccess} * @param kubernetesApiAccess the value to be set. * @return {@code this} */ public Builder kubernetesApiAccess(com.my.module.CfnClusterPropsKubernetesApiAccess kubernetesApiAccess) { this.kubernetesApiAccess = kubernetesApiAccess; return this; } /** * Sets the value of {@link CfnClusterProps#getKubernetesNetworkConfig} * @param kubernetesNetworkConfig Network configuration for Amazon EKS cluster. * @return {@code this} */ public Builder kubernetesNetworkConfig(com.my.module.CfnClusterPropsKubernetesNetworkConfig kubernetesNetworkConfig) { this.kubernetesNetworkConfig = kubernetesNetworkConfig; return this; } /** * Sets the value of {@link CfnClusterProps#getLambdaRoleName} * @param lambdaRoleName Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. * this provides permissions for Lambda to be invoked and attach to the cluster VPC * @return {@code this} */ public Builder lambdaRoleName(java.lang.String lambdaRoleName) { this.lambdaRoleName = lambdaRoleName; return this; } /** * Sets the value of {@link CfnClusterProps#getName} * @param name A unique name for your cluster. * @return {@code this} */ public Builder name(java.lang.String name) { this.name = name; return this; } /** * Sets the value of {@link CfnClusterProps#getTags} * @param tags the value to be set. * @return {@code this} */ @SuppressWarnings(\\"unchecked\\") public Builder tags(java.util.List tags) { this.tags = (java.util.List)tags; return this; } /** * Sets the value of {@link CfnClusterProps#getVersion} * @param version Desired Kubernetes version for your cluster. * If you don't specify this value, the cluster uses the latest version from Amazon EKS. * @return {@code this} */ public Builder version(java.lang.String version) { this.version = version; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnClusterProps} * @throws NullPointerException if any required attribute was not provided */ @Override public CfnClusterProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnClusterProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterProps { private final com.my.module.CfnClusterPropsResourcesVpcConfig resourcesVpcConfig; private final java.lang.String roleArn; private final java.util.List enabledClusterLoggingTypes; private final java.util.List encryptionConfig; private final com.my.module.CfnClusterPropsKubernetesApiAccess kubernetesApiAccess; private final com.my.module.CfnClusterPropsKubernetesNetworkConfig kubernetesNetworkConfig; private final java.lang.String lambdaRoleName; private final java.lang.String name; private final java.util.List tags; private final java.lang.String version; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.resourcesVpcConfig = software.amazon.jsii.Kernel.get(this, \\"resourcesVpcConfig\\", software.amazon.jsii.NativeType.forClass(com.my.module.CfnClusterPropsResourcesVpcConfig.class)); this.roleArn = software.amazon.jsii.Kernel.get(this, \\"roleArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.enabledClusterLoggingTypes = software.amazon.jsii.Kernel.get(this, \\"enabledClusterLoggingTypes\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.encryptionConfig = software.amazon.jsii.Kernel.get(this, \\"encryptionConfig\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.my.module.EncryptionConfigEntry.class))); this.kubernetesApiAccess = software.amazon.jsii.Kernel.get(this, \\"kubernetesApiAccess\\", software.amazon.jsii.NativeType.forClass(com.my.module.CfnClusterPropsKubernetesApiAccess.class)); this.kubernetesNetworkConfig = software.amazon.jsii.Kernel.get(this, \\"kubernetesNetworkConfig\\", software.amazon.jsii.NativeType.forClass(com.my.module.CfnClusterPropsKubernetesNetworkConfig.class)); this.lambdaRoleName = software.amazon.jsii.Kernel.get(this, \\"lambdaRoleName\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.name = software.amazon.jsii.Kernel.get(this, \\"name\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.tags = software.amazon.jsii.Kernel.get(this, \\"tags\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.my.module.CfnClusterPropsTags.class))); this.version = software.amazon.jsii.Kernel.get(this, \\"version\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings(\\"unchecked\\") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.resourcesVpcConfig = java.util.Objects.requireNonNull(builder.resourcesVpcConfig, \\"resourcesVpcConfig is required\\"); this.roleArn = java.util.Objects.requireNonNull(builder.roleArn, \\"roleArn is required\\"); this.enabledClusterLoggingTypes = builder.enabledClusterLoggingTypes; this.encryptionConfig = (java.util.List)builder.encryptionConfig; this.kubernetesApiAccess = builder.kubernetesApiAccess; this.kubernetesNetworkConfig = builder.kubernetesNetworkConfig; this.lambdaRoleName = builder.lambdaRoleName; this.name = builder.name; this.tags = (java.util.List)builder.tags; this.version = builder.version; } @Override public final com.my.module.CfnClusterPropsResourcesVpcConfig getResourcesVpcConfig() { return this.resourcesVpcConfig; } @Override public final java.lang.String getRoleArn() { return this.roleArn; } @Override public final java.util.List getEnabledClusterLoggingTypes() { return this.enabledClusterLoggingTypes; } @Override public final java.util.List getEncryptionConfig() { return this.encryptionConfig; } @Override public final com.my.module.CfnClusterPropsKubernetesApiAccess getKubernetesApiAccess() { return this.kubernetesApiAccess; } @Override public final com.my.module.CfnClusterPropsKubernetesNetworkConfig getKubernetesNetworkConfig() { return this.kubernetesNetworkConfig; } @Override public final java.lang.String getLambdaRoleName() { return this.lambdaRoleName; } @Override public final java.lang.String getName() { return this.name; } @Override public final java.util.List getTags() { return this.tags; } @Override public final java.lang.String getVersion() { return this.version; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set(\\"resourcesVpcConfig\\", om.valueToTree(this.getResourcesVpcConfig())); data.set(\\"roleArn\\", om.valueToTree(this.getRoleArn())); if (this.getEnabledClusterLoggingTypes() != null) { data.set(\\"enabledClusterLoggingTypes\\", om.valueToTree(this.getEnabledClusterLoggingTypes())); } if (this.getEncryptionConfig() != null) { data.set(\\"encryptionConfig\\", om.valueToTree(this.getEncryptionConfig())); } if (this.getKubernetesApiAccess() != null) { data.set(\\"kubernetesApiAccess\\", om.valueToTree(this.getKubernetesApiAccess())); } if (this.getKubernetesNetworkConfig() != null) { data.set(\\"kubernetesNetworkConfig\\", om.valueToTree(this.getKubernetesNetworkConfig())); } if (this.getLambdaRoleName() != null) { data.set(\\"lambdaRoleName\\", om.valueToTree(this.getLambdaRoleName())); } if (this.getName() != null) { data.set(\\"name\\", om.valueToTree(this.getName())); } if (this.getTags() != null) { data.set(\\"tags\\", om.valueToTree(this.getTags())); } if (this.getVersion() != null) { data.set(\\"version\\", om.valueToTree(this.getVersion())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnClusterProps.Jsii$Proxy that = (CfnClusterProps.Jsii$Proxy) o; if (!resourcesVpcConfig.equals(that.resourcesVpcConfig)) return false; if (!roleArn.equals(that.roleArn)) return false; if (this.enabledClusterLoggingTypes != null ? !this.enabledClusterLoggingTypes.equals(that.enabledClusterLoggingTypes) : that.enabledClusterLoggingTypes != null) return false; if (this.encryptionConfig != null ? !this.encryptionConfig.equals(that.encryptionConfig) : that.encryptionConfig != null) return false; if (this.kubernetesApiAccess != null ? !this.kubernetesApiAccess.equals(that.kubernetesApiAccess) : that.kubernetesApiAccess != null) return false; if (this.kubernetesNetworkConfig != null ? !this.kubernetesNetworkConfig.equals(that.kubernetesNetworkConfig) : that.kubernetesNetworkConfig != null) return false; if (this.lambdaRoleName != null ? !this.lambdaRoleName.equals(that.lambdaRoleName) : that.lambdaRoleName != null) return false; if (this.name != null ? !this.name.equals(that.name) : that.name != null) return false; if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false; return this.version != null ? this.version.equals(that.version) : that.version == null; } @Override public final int hashCode() { int result = this.resourcesVpcConfig.hashCode(); result = 31 * result + (this.roleArn.hashCode()); result = 31 * result + (this.enabledClusterLoggingTypes != null ? this.enabledClusterLoggingTypes.hashCode() : 0); result = 31 * result + (this.encryptionConfig != null ? this.encryptionConfig.hashCode() : 0); result = 31 * result + (this.kubernetesApiAccess != null ? this.kubernetesApiAccess.hashCode() : 0); result = 31 * result + (this.kubernetesNetworkConfig != null ? this.kubernetesNetworkConfig.hashCode() : 0); result = 31 * result + (this.lambdaRoleName != null ? this.lambdaRoleName.hashCode() : 0); result = 31 * result + (this.name != null ? this.name.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); result = 31 * result + (this.version != null ? this.version.hashCode() : 0); return result; } } } ", "src/main/java/com/my/module/CfnClusterPropsKubernetesApiAccess.java" => "package com.my.module; /** */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\") @software.amazon.jsii.Jsii.Proxy(CfnClusterPropsKubernetesApiAccess.Jsii$Proxy.class) public interface CfnClusterPropsKubernetesApiAccess extends software.amazon.jsii.JsiiSerializable { /** */ default @org.jetbrains.annotations.Nullable java.util.List getRoles() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.util.List getUsers() { return null; } /** * @return a {@link Builder} of {@link CfnClusterPropsKubernetesApiAccess} */ static Builder builder() { return new Builder(); } /** * A builder for {@link CfnClusterPropsKubernetesApiAccess} */ public static final class Builder implements software.amazon.jsii.Builder { java.util.List roles; java.util.List users; /** * Sets the value of {@link CfnClusterPropsKubernetesApiAccess#getRoles} * @param roles the value to be set. * @return {@code this} */ @SuppressWarnings(\\"unchecked\\") public Builder roles(java.util.List roles) { this.roles = (java.util.List)roles; return this; } /** * Sets the value of {@link CfnClusterPropsKubernetesApiAccess#getUsers} * @param users the value to be set. * @return {@code this} */ @SuppressWarnings(\\"unchecked\\") public Builder users(java.util.List users) { this.users = (java.util.List)users; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnClusterPropsKubernetesApiAccess} * @throws NullPointerException if any required attribute was not provided */ @Override public CfnClusterPropsKubernetesApiAccess build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnClusterPropsKubernetesApiAccess} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterPropsKubernetesApiAccess { private final java.util.List roles; private final java.util.List users; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.roles = software.amazon.jsii.Kernel.get(this, \\"roles\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.my.module.KubernetesApiAccessEntry.class))); this.users = software.amazon.jsii.Kernel.get(this, \\"users\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(com.my.module.KubernetesApiAccessEntry.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings(\\"unchecked\\") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.roles = (java.util.List)builder.roles; this.users = (java.util.List)builder.users; } @Override public final java.util.List getRoles() { return this.roles; } @Override public final java.util.List getUsers() { return this.users; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getRoles() != null) { data.set(\\"roles\\", om.valueToTree(this.getRoles())); } if (this.getUsers() != null) { data.set(\\"users\\", om.valueToTree(this.getUsers())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnClusterPropsKubernetesApiAccess.Jsii$Proxy that = (CfnClusterPropsKubernetesApiAccess.Jsii$Proxy) o; if (this.roles != null ? !this.roles.equals(that.roles) : that.roles != null) return false; return this.users != null ? this.users.equals(that.users) : that.users == null; } @Override public final int hashCode() { int result = this.roles != null ? this.roles.hashCode() : 0; result = 31 * result + (this.users != null ? this.users.hashCode() : 0); return result; } } } ", "src/main/java/com/my/module/CfnClusterPropsKubernetesNetworkConfig.java" => "package com.my.module; /** * Network configuration for Amazon EKS cluster. */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\") @software.amazon.jsii.Jsii.Proxy(CfnClusterPropsKubernetesNetworkConfig.Jsii$Proxy.class) public interface CfnClusterPropsKubernetesNetworkConfig extends software.amazon.jsii.JsiiSerializable { /** * Specify the range from which cluster services will receive IPv4 addresses. */ default @org.jetbrains.annotations.Nullable java.lang.String getServiceIpv4Cidr() { return null; } /** * @return a {@link Builder} of {@link CfnClusterPropsKubernetesNetworkConfig} */ static Builder builder() { return new Builder(); } /** * A builder for {@link CfnClusterPropsKubernetesNetworkConfig} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.String serviceIpv4Cidr; /** * Sets the value of {@link CfnClusterPropsKubernetesNetworkConfig#getServiceIpv4Cidr} * @param serviceIpv4Cidr Specify the range from which cluster services will receive IPv4 addresses. * @return {@code this} */ public Builder serviceIpv4Cidr(java.lang.String serviceIpv4Cidr) { this.serviceIpv4Cidr = serviceIpv4Cidr; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnClusterPropsKubernetesNetworkConfig} * @throws NullPointerException if any required attribute was not provided */ @Override public CfnClusterPropsKubernetesNetworkConfig build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnClusterPropsKubernetesNetworkConfig} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterPropsKubernetesNetworkConfig { private final java.lang.String serviceIpv4Cidr; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.serviceIpv4Cidr = software.amazon.jsii.Kernel.get(this, \\"serviceIpv4Cidr\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.serviceIpv4Cidr = builder.serviceIpv4Cidr; } @Override public final java.lang.String getServiceIpv4Cidr() { return this.serviceIpv4Cidr; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getServiceIpv4Cidr() != null) { data.set(\\"serviceIpv4Cidr\\", om.valueToTree(this.getServiceIpv4Cidr())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnClusterPropsKubernetesNetworkConfig.Jsii$Proxy that = (CfnClusterPropsKubernetesNetworkConfig.Jsii$Proxy) o; return this.serviceIpv4Cidr != null ? this.serviceIpv4Cidr.equals(that.serviceIpv4Cidr) : that.serviceIpv4Cidr == null; } @Override public final int hashCode() { int result = this.serviceIpv4Cidr != null ? this.serviceIpv4Cidr.hashCode() : 0; return result; } } } ", "src/main/java/com/my/module/CfnClusterPropsResourcesVpcConfig.java" => "package com.my.module; /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\") @software.amazon.jsii.Jsii.Proxy(CfnClusterPropsResourcesVpcConfig.Jsii$Proxy.class) public interface CfnClusterPropsResourcesVpcConfig extends software.amazon.jsii.JsiiSerializable { /** * Specify subnets for your Amazon EKS worker nodes. *

* Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. */ @org.jetbrains.annotations.NotNull java.util.List getSubnetIds(); /** * Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. *

* If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. */ default @org.jetbrains.annotations.Nullable java.lang.Boolean getEndpointPrivateAccess() { return null; } /** * Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. *

* If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. */ default @org.jetbrains.annotations.Nullable java.lang.Boolean getEndpointPublicAccess() { return null; } /** * The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. *

* Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. */ default @org.jetbrains.annotations.Nullable java.util.List getPublicAccessCidrs() { return null; } /** * Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. *

* If you don't specify a security group, the default security group for your VPC is used. */ default @org.jetbrains.annotations.Nullable java.util.List getSecurityGroupIds() { return null; } /** * @return a {@link Builder} of {@link CfnClusterPropsResourcesVpcConfig} */ static Builder builder() { return new Builder(); } /** * A builder for {@link CfnClusterPropsResourcesVpcConfig} */ public static final class Builder implements software.amazon.jsii.Builder { java.util.List subnetIds; java.lang.Boolean endpointPrivateAccess; java.lang.Boolean endpointPublicAccess; java.util.List publicAccessCidrs; java.util.List securityGroupIds; /** * Sets the value of {@link CfnClusterPropsResourcesVpcConfig#getSubnetIds} * @param subnetIds Specify subnets for your Amazon EKS worker nodes. This parameter is required. * Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. * @return {@code this} */ public Builder subnetIds(java.util.List subnetIds) { this.subnetIds = subnetIds; return this; } /** * Sets the value of {@link CfnClusterPropsResourcesVpcConfig#getEndpointPrivateAccess} * @param endpointPrivateAccess Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. * If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. * @return {@code this} */ public Builder endpointPrivateAccess(java.lang.Boolean endpointPrivateAccess) { this.endpointPrivateAccess = endpointPrivateAccess; return this; } /** * Sets the value of {@link CfnClusterPropsResourcesVpcConfig#getEndpointPublicAccess} * @param endpointPublicAccess Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. * If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. * @return {@code this} */ public Builder endpointPublicAccess(java.lang.Boolean endpointPublicAccess) { this.endpointPublicAccess = endpointPublicAccess; return this; } /** * Sets the value of {@link CfnClusterPropsResourcesVpcConfig#getPublicAccessCidrs} * @param publicAccessCidrs The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. * Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. * @return {@code this} */ public Builder publicAccessCidrs(java.util.List publicAccessCidrs) { this.publicAccessCidrs = publicAccessCidrs; return this; } /** * Sets the value of {@link CfnClusterPropsResourcesVpcConfig#getSecurityGroupIds} * @param securityGroupIds Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. * If you don't specify a security group, the default security group for your VPC is used. * @return {@code this} */ public Builder securityGroupIds(java.util.List securityGroupIds) { this.securityGroupIds = securityGroupIds; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnClusterPropsResourcesVpcConfig} * @throws NullPointerException if any required attribute was not provided */ @Override public CfnClusterPropsResourcesVpcConfig build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnClusterPropsResourcesVpcConfig} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterPropsResourcesVpcConfig { private final java.util.List subnetIds; private final java.lang.Boolean endpointPrivateAccess; private final java.lang.Boolean endpointPublicAccess; private final java.util.List publicAccessCidrs; private final java.util.List securityGroupIds; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.subnetIds = software.amazon.jsii.Kernel.get(this, \\"subnetIds\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.endpointPrivateAccess = software.amazon.jsii.Kernel.get(this, \\"endpointPrivateAccess\\", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.endpointPublicAccess = software.amazon.jsii.Kernel.get(this, \\"endpointPublicAccess\\", software.amazon.jsii.NativeType.forClass(java.lang.Boolean.class)); this.publicAccessCidrs = software.amazon.jsii.Kernel.get(this, \\"publicAccessCidrs\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.securityGroupIds = software.amazon.jsii.Kernel.get(this, \\"securityGroupIds\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.subnetIds = java.util.Objects.requireNonNull(builder.subnetIds, \\"subnetIds is required\\"); this.endpointPrivateAccess = builder.endpointPrivateAccess; this.endpointPublicAccess = builder.endpointPublicAccess; this.publicAccessCidrs = builder.publicAccessCidrs; this.securityGroupIds = builder.securityGroupIds; } @Override public final java.util.List getSubnetIds() { return this.subnetIds; } @Override public final java.lang.Boolean getEndpointPrivateAccess() { return this.endpointPrivateAccess; } @Override public final java.lang.Boolean getEndpointPublicAccess() { return this.endpointPublicAccess; } @Override public final java.util.List getPublicAccessCidrs() { return this.publicAccessCidrs; } @Override public final java.util.List getSecurityGroupIds() { return this.securityGroupIds; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set(\\"subnetIds\\", om.valueToTree(this.getSubnetIds())); if (this.getEndpointPrivateAccess() != null) { data.set(\\"endpointPrivateAccess\\", om.valueToTree(this.getEndpointPrivateAccess())); } if (this.getEndpointPublicAccess() != null) { data.set(\\"endpointPublicAccess\\", om.valueToTree(this.getEndpointPublicAccess())); } if (this.getPublicAccessCidrs() != null) { data.set(\\"publicAccessCidrs\\", om.valueToTree(this.getPublicAccessCidrs())); } if (this.getSecurityGroupIds() != null) { data.set(\\"securityGroupIds\\", om.valueToTree(this.getSecurityGroupIds())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnClusterPropsResourcesVpcConfig.Jsii$Proxy that = (CfnClusterPropsResourcesVpcConfig.Jsii$Proxy) o; if (!subnetIds.equals(that.subnetIds)) return false; if (this.endpointPrivateAccess != null ? !this.endpointPrivateAccess.equals(that.endpointPrivateAccess) : that.endpointPrivateAccess != null) return false; if (this.endpointPublicAccess != null ? !this.endpointPublicAccess.equals(that.endpointPublicAccess) : that.endpointPublicAccess != null) return false; if (this.publicAccessCidrs != null ? !this.publicAccessCidrs.equals(that.publicAccessCidrs) : that.publicAccessCidrs != null) return false; return this.securityGroupIds != null ? this.securityGroupIds.equals(that.securityGroupIds) : that.securityGroupIds == null; } @Override public final int hashCode() { int result = this.subnetIds.hashCode(); result = 31 * result + (this.endpointPrivateAccess != null ? this.endpointPrivateAccess.hashCode() : 0); result = 31 * result + (this.endpointPublicAccess != null ? this.endpointPublicAccess.hashCode() : 0); result = 31 * result + (this.publicAccessCidrs != null ? this.publicAccessCidrs.hashCode() : 0); result = 31 * result + (this.securityGroupIds != null ? this.securityGroupIds.hashCode() : 0); return result; } } } ", "src/main/java/com/my/module/CfnClusterPropsTags.java" => "package com.my.module; /** */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\") @software.amazon.jsii.Jsii.Proxy(CfnClusterPropsTags.Jsii$Proxy.class) public interface CfnClusterPropsTags extends software.amazon.jsii.JsiiSerializable { /** */ @org.jetbrains.annotations.NotNull java.lang.String getKey(); /** */ @org.jetbrains.annotations.NotNull java.lang.String getValue(); /** * @return a {@link Builder} of {@link CfnClusterPropsTags} */ static Builder builder() { return new Builder(); } /** * A builder for {@link CfnClusterPropsTags} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.String key; java.lang.String value; /** * Sets the value of {@link CfnClusterPropsTags#getKey} * @param key the value to be set. This parameter is required. * @return {@code this} */ public Builder key(java.lang.String key) { this.key = key; return this; } /** * Sets the value of {@link CfnClusterPropsTags#getValue} * @param value the value to be set. This parameter is required. * @return {@code this} */ public Builder value(java.lang.String value) { this.value = value; return this; } /** * Builds the configured instance. * @return a new instance of {@link CfnClusterPropsTags} * @throws NullPointerException if any required attribute was not provided */ @Override public CfnClusterPropsTags build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link CfnClusterPropsTags} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements CfnClusterPropsTags { private final java.lang.String key; private final java.lang.String value; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.key = software.amazon.jsii.Kernel.get(this, \\"key\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.value = software.amazon.jsii.Kernel.get(this, \\"value\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.key = java.util.Objects.requireNonNull(builder.key, \\"key is required\\"); this.value = java.util.Objects.requireNonNull(builder.value, \\"value is required\\"); } @Override public final java.lang.String getKey() { return this.key; } @Override public final java.lang.String getValue() { return this.value; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set(\\"key\\", om.valueToTree(this.getKey())); data.set(\\"value\\", om.valueToTree(this.getValue())); final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; CfnClusterPropsTags.Jsii$Proxy that = (CfnClusterPropsTags.Jsii$Proxy) o; if (!key.equals(that.key)) return false; return this.value.equals(that.value); } @Override public final int hashCode() { int result = this.key.hashCode(); result = 31 * result + (this.value.hashCode()); return result; } } } ", "src/main/java/com/my/module/EncryptionConfigEntry.java" => "package com.my.module; /** * The encryption configuration for the cluster. */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\") @software.amazon.jsii.Jsii.Proxy(EncryptionConfigEntry.Jsii$Proxy.class) public interface EncryptionConfigEntry extends software.amazon.jsii.JsiiSerializable { /** */ default @org.jetbrains.annotations.Nullable com.my.module.Provider getProvider() { return null; } /** * Specifies the resources to be encrypted. *

* The only supported value is \\"secrets\\". */ default @org.jetbrains.annotations.Nullable java.util.List getResources() { return null; } /** * @return a {@link Builder} of {@link EncryptionConfigEntry} */ static Builder builder() { return new Builder(); } /** * A builder for {@link EncryptionConfigEntry} */ public static final class Builder implements software.amazon.jsii.Builder { com.my.module.Provider provider; java.util.List resources; /** * Sets the value of {@link EncryptionConfigEntry#getProvider} * @param provider the value to be set. * @return {@code this} */ public Builder provider(com.my.module.Provider provider) { this.provider = provider; return this; } /** * Sets the value of {@link EncryptionConfigEntry#getResources} * @param resources Specifies the resources to be encrypted. * The only supported value is \\"secrets\\". * @return {@code this} */ public Builder resources(java.util.List resources) { this.resources = resources; return this; } /** * Builds the configured instance. * @return a new instance of {@link EncryptionConfigEntry} * @throws NullPointerException if any required attribute was not provided */ @Override public EncryptionConfigEntry build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link EncryptionConfigEntry} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements EncryptionConfigEntry { private final com.my.module.Provider provider; private final java.util.List resources; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.provider = software.amazon.jsii.Kernel.get(this, \\"provider\\", software.amazon.jsii.NativeType.forClass(com.my.module.Provider.class)); this.resources = software.amazon.jsii.Kernel.get(this, \\"resources\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.provider = builder.provider; this.resources = builder.resources; } @Override public final com.my.module.Provider getProvider() { return this.provider; } @Override public final java.util.List getResources() { return this.resources; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getProvider() != null) { data.set(\\"provider\\", om.valueToTree(this.getProvider())); } if (this.getResources() != null) { data.set(\\"resources\\", om.valueToTree(this.getResources())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; EncryptionConfigEntry.Jsii$Proxy that = (EncryptionConfigEntry.Jsii$Proxy) o; if (this.provider != null ? !this.provider.equals(that.provider) : that.provider != null) return false; return this.resources != null ? this.resources.equals(that.resources) : that.resources == null; } @Override public final int hashCode() { int result = this.provider != null ? this.provider.hashCode() : 0; result = 31 * result + (this.resources != null ? this.resources.hashCode() : 0); return result; } } } ", "src/main/java/com/my/module/KubernetesApiAccessEntry.java" => "package com.my.module; /** */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\") @software.amazon.jsii.Jsii.Proxy(KubernetesApiAccessEntry.Jsii$Proxy.class) public interface KubernetesApiAccessEntry extends software.amazon.jsii.JsiiSerializable { /** */ default @org.jetbrains.annotations.Nullable java.lang.String getArn() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.util.List getGroups() { return null; } /** */ default @org.jetbrains.annotations.Nullable java.lang.String getUsername() { return null; } /** * @return a {@link Builder} of {@link KubernetesApiAccessEntry} */ static Builder builder() { return new Builder(); } /** * A builder for {@link KubernetesApiAccessEntry} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.String arn; java.util.List groups; java.lang.String username; /** * Sets the value of {@link KubernetesApiAccessEntry#getArn} * @param arn the value to be set. * @return {@code this} */ public Builder arn(java.lang.String arn) { this.arn = arn; return this; } /** * Sets the value of {@link KubernetesApiAccessEntry#getGroups} * @param groups the value to be set. * @return {@code this} */ public Builder groups(java.util.List groups) { this.groups = groups; return this; } /** * Sets the value of {@link KubernetesApiAccessEntry#getUsername} * @param username the value to be set. * @return {@code this} */ public Builder username(java.lang.String username) { this.username = username; return this; } /** * Builds the configured instance. * @return a new instance of {@link KubernetesApiAccessEntry} * @throws NullPointerException if any required attribute was not provided */ @Override public KubernetesApiAccessEntry build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link KubernetesApiAccessEntry} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements KubernetesApiAccessEntry { private final java.lang.String arn; private final java.util.List groups; private final java.lang.String username; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.arn = software.amazon.jsii.Kernel.get(this, \\"arn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); this.groups = software.amazon.jsii.Kernel.get(this, \\"groups\\", software.amazon.jsii.NativeType.listOf(software.amazon.jsii.NativeType.forClass(java.lang.String.class))); this.username = software.amazon.jsii.Kernel.get(this, \\"username\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.arn = builder.arn; this.groups = builder.groups; this.username = builder.username; } @Override public final java.lang.String getArn() { return this.arn; } @Override public final java.util.List getGroups() { return this.groups; } @Override public final java.lang.String getUsername() { return this.username; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getArn() != null) { data.set(\\"arn\\", om.valueToTree(this.getArn())); } if (this.getGroups() != null) { data.set(\\"groups\\", om.valueToTree(this.getGroups())); } if (this.getUsername() != null) { data.set(\\"username\\", om.valueToTree(this.getUsername())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; KubernetesApiAccessEntry.Jsii$Proxy that = (KubernetesApiAccessEntry.Jsii$Proxy) o; if (this.arn != null ? !this.arn.equals(that.arn) : that.arn != null) return false; if (this.groups != null ? !this.groups.equals(that.groups) : that.groups != null) return false; return this.username != null ? this.username.equals(that.username) : that.username == null; } @Override public final int hashCode() { int result = this.arn != null ? this.arn.hashCode() : 0; result = 31 * result + (this.groups != null ? this.groups.hashCode() : 0); result = 31 * result + (this.username != null ? this.username.hashCode() : 0); return result; } } } ", "src/main/java/com/my/module/Provider.java" => "package com.my.module; /** * AWS Key Management Service (AWS KMS) customer master key (CMK). *

* Either the ARN or the alias can be used. */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\") @software.amazon.jsii.Jsii.Proxy(Provider.Jsii$Proxy.class) public interface Provider extends software.amazon.jsii.JsiiSerializable { /** * Amazon Resource Name (ARN) or alias of the customer master key (CMK). *

* The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. */ default @org.jetbrains.annotations.Nullable java.lang.String getKeyArn() { return null; } /** * @return a {@link Builder} of {@link Provider} */ static Builder builder() { return new Builder(); } /** * A builder for {@link Provider} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.String keyArn; /** * Sets the value of {@link Provider#getKeyArn} * @param keyArn Amazon Resource Name (ARN) or alias of the customer master key (CMK). * The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. * @return {@code this} */ public Builder keyArn(java.lang.String keyArn) { this.keyArn = keyArn; return this; } /** * Builds the configured instance. * @return a new instance of {@link Provider} * @throws NullPointerException if any required attribute was not provided */ @Override public Provider build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link Provider} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Provider { private final java.lang.String keyArn; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.keyArn = software.amazon.jsii.Kernel.get(this, \\"keyArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.keyArn = builder.keyArn; } @Override public final java.lang.String getKeyArn() { return this.keyArn; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getKeyArn() != null) { data.set(\\"keyArn\\", om.valueToTree(this.getKeyArn())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Provider.Jsii$Proxy that = (Provider.Jsii$Proxy) o; return this.keyArn != null ? this.keyArn.equals(that.keyArn) : that.keyArn == null; } @Override public final int hashCode() { int result = this.keyArn != null ? this.keyArn.hashCode() : 0; return result; } } } ", "src/main/resources/com/my/module/$Module.txt" => "1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster=com.my.module.CfnCluster 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps=com.my.module.CfnClusterProps 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess=com.my.module.CfnClusterPropsKubernetesApiAccess 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig=com.my.module.CfnClusterPropsKubernetesNetworkConfig 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig=com.my.module.CfnClusterPropsResourcesVpcConfig 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags=com.my.module.CfnClusterPropsTags 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry=com.my.module.EncryptionConfigEntry 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry=com.my.module.KubernetesApiAccessEntry 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider=com.my.module.Provider ", } `; exports[`java 2`] = ` Map { "src/main/java/com/my/module/$Module.java" => "package com.my.module; import static java.util.Arrays.asList; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; import java.io.UncheckedIOException; import java.nio.charset.StandardCharsets; import java.util.HashMap; import java.util.List; import java.util.Map; import software.amazon.jsii.JsiiModule; @software.amazon.jsii.Internal public final class $Module extends JsiiModule { private static final Map MODULE_TYPES = load(); private static Map load() { final Map result = new HashMap<>(); final ClassLoader cl = $Module.class.getClassLoader(); try (final InputStream is = cl.getResourceAsStream(\\"com/my/module/$Module.txt\\"); final Reader rd = new InputStreamReader(is, StandardCharsets.UTF_8); final BufferedReader br = new BufferedReader(rd)) { br.lines() .filter(line -> !line.trim().isEmpty()) .forEach(line -> { final String[] parts = line.split(\\"=\\", 2); final String fqn = parts[0]; final String className = parts[1]; result.put(fqn, className); }); } catch (final IOException exception) { throw new UncheckedIOException(exception); } return result; } private final Map> cache = new HashMap<>(); public $Module() { super(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", $Module.class, \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6@0.0.0.jsii.tgz\\"); } @Override public List> getDependencies() { return asList(software.amazon.awscdk.cdk.asset.awscli.v1.$Module.class, software.amazon.awscdk.cdk.asset.kubectl.v20.$Module.class, software.amazon.awscdk.cdk.asset.node.proxy.agent.v5.$Module.class, software.amazon.awscdk.$Module.class, software.constructs.$Module.class); } @Override protected Class resolveClass(final String fqn) throws ClassNotFoundException { if (!MODULE_TYPES.containsKey(fqn)) { throw new ClassNotFoundException(\\"Unknown JSII type: \\" + fqn); } String className = MODULE_TYPES.get(fqn); if (!this.cache.containsKey(className)) { this.cache.put(className, this.findClass(className)); } return this.cache.get(className); } private Class findClass(final String binaryName) { try { return Class.forName(binaryName); } catch (final ClassNotFoundException exception) { throw new RuntimeException(exception); } } } ", "src/main/java/com/my/module/Ec2ComputeInstance.java" => "package com.my.module; /** * Ec2ComputeInstance. *

* Compute instance to be used for experiments, does NOT contain DB access *

* Owner: IT */ @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\") public class Ec2ComputeInstance extends software.amazon.awscdk.Resource implements com.my.module.IEc2ComputeInstance { protected Ec2ComputeInstance(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } protected Ec2ComputeInstance(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) { super(initializationMode); } /** * Create a new Service Catalog \`Ec2ComputeInstance\` product. *

* @param scope

  • scope in which this resource is defined.
This parameter is required. * @param id
  • scoped id of the resource.
This parameter is required. * @param props
  • resource properties.
This parameter is required. */ public Ec2ComputeInstance(final @org.jetbrains.annotations.NotNull software.constructs.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.my.module.Ec2ComputeInstanceProps props) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, \\"scope is required\\"), java.util.Objects.requireNonNull(id, \\"id is required\\"), java.util.Objects.requireNonNull(props, \\"props is required\\") }); } @Override public @org.jetbrains.annotations.NotNull java.lang.String getCloudFormationStackArn() { return software.amazon.jsii.Kernel.get(this, \\"cloudFormationStackArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * The command to download the key. */ @Override public @org.jetbrains.annotations.NotNull java.lang.String getDownloadKeyCommand() { return software.amazon.jsii.Kernel.get(this, \\"downloadKeyCommand\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public @org.jetbrains.annotations.NotNull java.lang.String getIPAddress() { return software.amazon.jsii.Kernel.get(this, \\"iPAddress\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public @org.jetbrains.annotations.NotNull java.lang.String getProvisionedProductId() { return software.amazon.jsii.Kernel.get(this, \\"provisionedProductId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public @org.jetbrains.annotations.NotNull java.lang.String getRecordId() { return software.amazon.jsii.Kernel.get(this, \\"recordId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public @org.jetbrains.annotations.NotNull java.lang.String getSshcommand() { return software.amazon.jsii.Kernel.get(this, \\"sshcommand\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\") public enum InstanceType { /** * t2.micro. */ T2_MICRO, /** * t2.small. */ T2_SMALL, } @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\") public enum Numbers { /** *
*/ VALUE_1, /** *
*/ VALUE_2, /** *
*/ VALUE_3, /** *
*/ VALUE_4, /** *
*/ VALUE_5, } /** * A fluent builder for {@link com.my.module.Ec2ComputeInstance}. */ public static final class Builder implements software.amazon.jsii.Builder { /** * @return a new instance of {@link Builder}. * @param scope
  • scope in which this resource is defined.
This parameter is required. * @param id
  • scoped id of the resource.
This parameter is required. */ public static Builder create(final software.constructs.Construct scope, final java.lang.String id) { return new Builder(scope, id); } private final software.constructs.Construct scope; private final java.lang.String id; private final com.my.module.Ec2ComputeInstanceProps.Builder props; private Builder(final software.constructs.Construct scope, final java.lang.String id) { this.scope = scope; this.id = id; this.props = new com.my.module.Ec2ComputeInstanceProps.Builder(); } /** * InstanceType. *

* The instance type of an EC2 instance. *

* Must be t2 micro or small. *

* Default: t2.micro *

* @return {@code this} * @param instanceType InstanceType. This parameter is required. */ public Builder instanceType(final com.my.module.Ec2ComputeInstance.InstanceType instanceType) { this.props.instanceType(instanceType); return this; } /** * Numbers. *

* A number to be selected. *

* These are the allowed numbers. *

* Default: 5 *

* @return {@code this} * @param numbers Numbers. This parameter is required. */ public Builder numbers(final com.my.module.Ec2ComputeInstance.Numbers numbers) { this.props.numbers(numbers); return this; } /** * SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. *

* Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 *

* @return {@code this} * @param ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. This parameter is required. */ public Builder ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter(final java.lang.String ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter) { this.props.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter(ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter); return this; } /** * @return a newly built instance of {@link com.my.module.Ec2ComputeInstance}. */ @Override public com.my.module.Ec2ComputeInstance build() { return new com.my.module.Ec2ComputeInstance( this.scope, this.id, this.props.build() ); } } } ", "src/main/java/com/my/module/Ec2ComputeInstanceProps.java" => "package com.my.module; @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\") @software.amazon.jsii.Jsii.Proxy(Ec2ComputeInstanceProps.Jsii$Proxy.class) public interface Ec2ComputeInstanceProps extends software.amazon.jsii.JsiiSerializable { /** * InstanceType. *

* The instance type of an EC2 instance. *

* Must be t2 micro or small. *

* Default: t2.micro */ default @org.jetbrains.annotations.Nullable com.my.module.Ec2ComputeInstance.InstanceType getInstanceType() { return null; } /** * Numbers. *

* A number to be selected. *

* These are the allowed numbers. *

* Default: 5 */ default @org.jetbrains.annotations.Nullable com.my.module.Ec2ComputeInstance.Numbers getNumbers() { return null; } /** * SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. *

* Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 */ default @org.jetbrains.annotations.Nullable java.lang.String getSsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter() { return null; } /** * @return a {@link Builder} of {@link Ec2ComputeInstanceProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link Ec2ComputeInstanceProps} */ public static final class Builder implements software.amazon.jsii.Builder { com.my.module.Ec2ComputeInstance.InstanceType instanceType; com.my.module.Ec2ComputeInstance.Numbers numbers; java.lang.String ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter; /** * Sets the value of {@link Ec2ComputeInstanceProps#getInstanceType} * @param instanceType InstanceType. * The instance type of an EC2 instance. *

* Must be t2 micro or small. * @return {@code this} */ public Builder instanceType(com.my.module.Ec2ComputeInstance.InstanceType instanceType) { this.instanceType = instanceType; return this; } /** * Sets the value of {@link Ec2ComputeInstanceProps#getNumbers} * @param numbers Numbers. * A number to be selected. *

* These are the allowed numbers. * @return {@code this} */ public Builder numbers(com.my.module.Ec2ComputeInstance.Numbers numbers) { this.numbers = numbers; return this; } /** * Sets the value of {@link Ec2ComputeInstanceProps#getSsmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter} * @param ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. * @return {@code this} */ public Builder ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter(java.lang.String ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter) { this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter = ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter; return this; } /** * Builds the configured instance. * @return a new instance of {@link Ec2ComputeInstanceProps} * @throws NullPointerException if any required attribute was not provided */ @Override public Ec2ComputeInstanceProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link Ec2ComputeInstanceProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements Ec2ComputeInstanceProps { private final com.my.module.Ec2ComputeInstance.InstanceType instanceType; private final com.my.module.Ec2ComputeInstance.Numbers numbers; private final java.lang.String ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.instanceType = software.amazon.jsii.Kernel.get(this, \\"instanceType\\", software.amazon.jsii.NativeType.forClass(com.my.module.Ec2ComputeInstance.InstanceType.class)); this.numbers = software.amazon.jsii.Kernel.get(this, \\"numbers\\", software.amazon.jsii.NativeType.forClass(com.my.module.Ec2ComputeInstance.Numbers.class)); this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter = software.amazon.jsii.Kernel.get(this, \\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.instanceType = builder.instanceType; this.numbers = builder.numbers; this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter = builder.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter; } @Override public final com.my.module.Ec2ComputeInstance.InstanceType getInstanceType() { return this.instanceType; } @Override public final com.my.module.Ec2ComputeInstance.Numbers getNumbers() { return this.numbers; } @Override public final java.lang.String getSsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter() { return this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); if (this.getInstanceType() != null) { data.set(\\"instanceType\\", om.valueToTree(this.getInstanceType())); } if (this.getNumbers() != null) { data.set(\\"numbers\\", om.valueToTree(this.getNumbers())); } if (this.getSsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter() != null) { data.set(\\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\", om.valueToTree(this.getSsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set(\\"fqn\\", om.valueToTree(\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\")); struct.set(\\"data\\", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set(\\"$jsii.struct\\", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; Ec2ComputeInstanceProps.Jsii$Proxy that = (Ec2ComputeInstanceProps.Jsii$Proxy) o; if (this.instanceType != null ? !this.instanceType.equals(that.instanceType) : that.instanceType != null) return false; if (this.numbers != null ? !this.numbers.equals(that.numbers) : that.numbers != null) return false; return this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter != null ? this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter.equals(that.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter) : that.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter == null; } @Override public final int hashCode() { int result = this.instanceType != null ? this.instanceType.hashCode() : 0; result = 31 * result + (this.numbers != null ? this.numbers.hashCode() : 0); result = 31 * result + (this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter != null ? this.ssmParameterValueawsserviceamiamazonlinuxlatestamzn2Amihvmarm64Gp2C96584B6F00A464Ead1953Aff4B05118Parameter.hashCode() : 0); return result; } } } ", "src/main/java/com/my/module/IEc2ComputeInstance.java" => "package com.my.module; @software.amazon.jsii.Jsii(module = com.my.module.$Module.class, fqn = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance\\") @software.amazon.jsii.Jsii.Proxy(IEc2ComputeInstance.Jsii$Proxy.class) public interface IEc2ComputeInstance extends software.amazon.jsii.JsiiSerializable, software.amazon.awscdk.IResource { @org.jetbrains.annotations.NotNull java.lang.String getCloudFormationStackArn(); @org.jetbrains.annotations.NotNull java.lang.String getDownloadKeyCommand(); @org.jetbrains.annotations.NotNull java.lang.String getIPAddress(); @org.jetbrains.annotations.NotNull java.lang.String getProvisionedProductId(); @org.jetbrains.annotations.NotNull java.lang.String getRecordId(); @org.jetbrains.annotations.NotNull java.lang.String getSshcommand(); /** * A proxy class which represents a concrete javascript instance of this type. */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements com.my.module.IEc2ComputeInstance.Jsii$Default { protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); } /** * The tree node. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public final @org.jetbrains.annotations.NotNull software.constructs.Node getNode() { return software.amazon.jsii.Kernel.get(this, \\"node\\", software.amazon.jsii.NativeType.forClass(software.constructs.Node.class)); } /** * The environment this resource belongs to. *

* For resources that are created and managed by the CDK * (generally, those created by creating new class instances like Role, Bucket, etc.), * this is always the same as the environment of the stack they belong to; * however, for imported resources * (those obtained from static methods like fromRoleArn, fromBucketName, etc.), * that might be different than the stack they were imported into. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public final @org.jetbrains.annotations.NotNull software.amazon.awscdk.ResourceEnvironment getEnv() { return software.amazon.jsii.Kernel.get(this, \\"env\\", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.ResourceEnvironment.class)); } /** * The stack in which this resource is defined. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) public final @org.jetbrains.annotations.NotNull software.amazon.awscdk.Stack getStack() { return software.amazon.jsii.Kernel.get(this, \\"stack\\", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Stack.class)); } @Override public final @org.jetbrains.annotations.NotNull java.lang.String getCloudFormationStackArn() { return software.amazon.jsii.Kernel.get(this, \\"cloudFormationStackArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public final @org.jetbrains.annotations.NotNull java.lang.String getDownloadKeyCommand() { return software.amazon.jsii.Kernel.get(this, \\"downloadKeyCommand\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public final @org.jetbrains.annotations.NotNull java.lang.String getIPAddress() { return software.amazon.jsii.Kernel.get(this, \\"iPAddress\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public final @org.jetbrains.annotations.NotNull java.lang.String getProvisionedProductId() { return software.amazon.jsii.Kernel.get(this, \\"provisionedProductId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public final @org.jetbrains.annotations.NotNull java.lang.String getRecordId() { return software.amazon.jsii.Kernel.get(this, \\"recordId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override public final @org.jetbrains.annotations.NotNull java.lang.String getSshcommand() { return software.amazon.jsii.Kernel.get(this, \\"sshcommand\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Apply the given removal policy to this resource. *

* 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). *

* @param policy This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override public final void applyRemovalPolicy(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.RemovalPolicy policy) { software.amazon.jsii.Kernel.call(this, \\"applyRemovalPolicy\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(policy, \\"policy is required\\") }); } } /** * Internal default implementation for {@link IEc2ComputeInstance}. */ @software.amazon.jsii.Internal interface Jsii$Default extends IEc2ComputeInstance, software.amazon.awscdk.IResource.Jsii$Default { /** * The tree node. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.NotNull software.constructs.Node getNode() { return software.amazon.jsii.Kernel.get(this, \\"node\\", software.amazon.jsii.NativeType.forClass(software.constructs.Node.class)); } /** * The environment this resource belongs to. *

* For resources that are created and managed by the CDK * (generally, those created by creating new class instances like Role, Bucket, etc.), * this is always the same as the environment of the stack they belong to; * however, for imported resources * (those obtained from static methods like fromRoleArn, fromBucketName, etc.), * that might be different than the stack they were imported into. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.NotNull software.amazon.awscdk.ResourceEnvironment getEnv() { return software.amazon.jsii.Kernel.get(this, \\"env\\", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.ResourceEnvironment.class)); } /** * The stack in which this resource is defined. */ @Override @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) default @org.jetbrains.annotations.NotNull software.amazon.awscdk.Stack getStack() { return software.amazon.jsii.Kernel.get(this, \\"stack\\", software.amazon.jsii.NativeType.forClass(software.amazon.awscdk.Stack.class)); } @Override default @org.jetbrains.annotations.NotNull java.lang.String getCloudFormationStackArn() { return software.amazon.jsii.Kernel.get(this, \\"cloudFormationStackArn\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override default @org.jetbrains.annotations.NotNull java.lang.String getDownloadKeyCommand() { return software.amazon.jsii.Kernel.get(this, \\"downloadKeyCommand\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override default @org.jetbrains.annotations.NotNull java.lang.String getIPAddress() { return software.amazon.jsii.Kernel.get(this, \\"iPAddress\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override default @org.jetbrains.annotations.NotNull java.lang.String getProvisionedProductId() { return software.amazon.jsii.Kernel.get(this, \\"provisionedProductId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override default @org.jetbrains.annotations.NotNull java.lang.String getRecordId() { return software.amazon.jsii.Kernel.get(this, \\"recordId\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } @Override default @org.jetbrains.annotations.NotNull java.lang.String getSshcommand() { return software.amazon.jsii.Kernel.get(this, \\"sshcommand\\", software.amazon.jsii.NativeType.forClass(java.lang.String.class)); } /** * Apply the given removal policy to this resource. *

* 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). *

* @param policy This parameter is required. */ @software.amazon.jsii.Stability(software.amazon.jsii.Stability.Level.Stable) @Override default void applyRemovalPolicy(final @org.jetbrains.annotations.NotNull software.amazon.awscdk.RemovalPolicy policy) { software.amazon.jsii.Kernel.call(this, \\"applyRemovalPolicy\\", software.amazon.jsii.NativeType.VOID, new Object[] { java.util.Objects.requireNonNull(policy, \\"policy is required\\") }); } } } ", "src/main/resources/com/my/module/$Module.txt" => "1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance=com.my.module.Ec2ComputeInstance 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType=com.my.module.Ec2ComputeInstance$InstanceType 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers=com.my.module.Ec2ComputeInstance$Numbers 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps=com.my.module.Ec2ComputeInstanceProps 1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance=com.my.module.IEc2ComputeInstance ", } `; exports[`python 1`] = ` Map { "awsqs_eks_cluster/__init__.py" => "import abc import builtins import datetime import enum import typing import jsii import publication import typing_extensions from typeguard import check_type from ._jsii import * import aws_cdk as _aws_cdk_ceddda9d import constructs as _constructs_77d1e7e8 class CfnCluster( _aws_cdk_ceddda9d.CfnResource, metaclass=jsii.JSIIMeta, jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnCluster\\", ): '''A CloudFormation \`\`AWSQS::EKS::Cluster\`\`. :cloudformationResource: AWSQS::EKS::Cluster :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' def __init__( self, scope: _constructs_77d1e7e8.Construct, id: builtins.str, *, resources_vpc_config: typing.Union[\\"CfnClusterPropsResourcesVpcConfig\\", typing.Dict[builtins.str, typing.Any]], role_arn: builtins.str, enabled_cluster_logging_types: typing.Optional[typing.Sequence[builtins.str]] = None, encryption_config: typing.Optional[typing.Sequence[typing.Union[\\"EncryptionConfigEntry\\", typing.Dict[builtins.str, typing.Any]]]] = None, kubernetes_api_access: typing.Optional[typing.Union[\\"CfnClusterPropsKubernetesApiAccess\\", typing.Dict[builtins.str, typing.Any]]] = None, kubernetes_network_config: typing.Optional[typing.Union[\\"CfnClusterPropsKubernetesNetworkConfig\\", typing.Dict[builtins.str, typing.Any]]] = None, lambda_role_name: typing.Optional[builtins.str] = None, name: typing.Optional[builtins.str] = None, tags: typing.Optional[typing.Sequence[typing.Union[\\"CfnClusterPropsTags\\", typing.Dict[builtins.str, typing.Any]]]] = None, version: typing.Optional[builtins.str] = None, ) -> None: '''Create a new \`\`AWSQS::EKS::Cluster\`\`. :param scope: - scope in which this resource is defined. :param id: - scoped id of the resource. :param resources_vpc_config: An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. :param role_arn: Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. :param enabled_cluster_logging_types: Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. :param encryption_config: Encryption configuration for the cluster. :param kubernetes_api_access: :param kubernetes_network_config: Network configuration for Amazon EKS cluster. :param lambda_role_name: Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC :param name: A unique name for your cluster. :param tags: :param version: Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__bacecc56333714eb669ab7a48888241533b00927d8923c503a672032982224f1) check_type(argname=\\"argument scope\\", value=scope, expected_type=type_hints[\\"scope\\"]) check_type(argname=\\"argument id\\", value=id, expected_type=type_hints[\\"id\\"]) props = CfnClusterProps( resources_vpc_config=resources_vpc_config, role_arn=role_arn, enabled_cluster_logging_types=enabled_cluster_logging_types, encryption_config=encryption_config, kubernetes_api_access=kubernetes_api_access, kubernetes_network_config=kubernetes_network_config, lambda_role_name=lambda_role_name, name=name, tags=tags, version=version, ) jsii.create(self.__class__, self, [scope, id, props]) @jsii.python.classproperty @jsii.member(jsii_name=\\"CFN_RESOURCE_TYPE_NAME\\") def CFN_RESOURCE_TYPE_NAME(cls) -> builtins.str: '''The CloudFormation resource type name for this resource class.''' return typing.cast(builtins.str, jsii.sget(cls, \\"CFN_RESOURCE_TYPE_NAME\\")) @builtins.property @jsii.member(jsii_name=\\"attrArn\\") def attr_arn(self) -> builtins.str: '''Attribute \`\`AWSQS::EKS::Cluster.Arn\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"attrArn\\")) @builtins.property @jsii.member(jsii_name=\\"attrCertificateAuthorityData\\") def attr_certificate_authority_data(self) -> builtins.str: '''Attribute \`\`AWSQS::EKS::Cluster.CertificateAuthorityData\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"attrCertificateAuthorityData\\")) @builtins.property @jsii.member(jsii_name=\\"attrClusterSecurityGroupId\\") def attr_cluster_security_group_id(self) -> builtins.str: '''Attribute \`\`AWSQS::EKS::Cluster.ClusterSecurityGroupId\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"attrClusterSecurityGroupId\\")) @builtins.property @jsii.member(jsii_name=\\"attrEncryptionConfigKeyArn\\") def attr_encryption_config_key_arn(self) -> builtins.str: '''Attribute \`\`AWSQS::EKS::Cluster.EncryptionConfigKeyArn\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"attrEncryptionConfigKeyArn\\")) @builtins.property @jsii.member(jsii_name=\\"attrEndpoint\\") def attr_endpoint(self) -> builtins.str: '''Attribute \`\`AWSQS::EKS::Cluster.Endpoint\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"attrEndpoint\\")) @builtins.property @jsii.member(jsii_name=\\"attrOIDCIssuerURL\\") def attr_oidc_issuer_url(self) -> builtins.str: '''Attribute \`\`AWSQS::EKS::Cluster.OIDCIssuerURL\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"attrOIDCIssuerURL\\")) @builtins.property @jsii.member(jsii_name=\\"kubernetesApiAccess\\") def kubernetes_api_access(self) -> typing.Any: '''\`\`AWSQS::EKS::Cluster.KubernetesApiAccess\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Any, jsii.get(self, \\"kubernetesApiAccess\\")) @builtins.property @jsii.member(jsii_name=\\"kubernetesNetworkConfig\\") def kubernetes_network_config(self) -> typing.Any: '''\`\`AWSQS::EKS::Cluster.KubernetesNetworkConfig\`\` Network configuration for Amazon EKS cluster. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Any, jsii.get(self, \\"kubernetesNetworkConfig\\")) @builtins.property @jsii.member(jsii_name=\\"resourcesVpcConfig\\") def resources_vpc_config(self) -> typing.Any: '''\`\`AWSQS::EKS::Cluster.ResourcesVpcConfig\`\` An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Any, jsii.get(self, \\"resourcesVpcConfig\\")) @builtins.property @jsii.member(jsii_name=\\"roleArn\\") def role_arn(self) -> builtins.str: '''\`\`AWSQS::EKS::Cluster.RoleArn\`\` Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(builtins.str, jsii.get(self, \\"roleArn\\")) @builtins.property @jsii.member(jsii_name=\\"enabledClusterLoggingTypes\\") def enabled_cluster_logging_types( self, ) -> typing.Optional[typing.List[builtins.str]]: '''\`\`AWSQS::EKS::Cluster.EnabledClusterLoggingTypes\`\` Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Optional[typing.List[builtins.str]], jsii.get(self, \\"enabledClusterLoggingTypes\\")) @builtins.property @jsii.member(jsii_name=\\"encryptionConfig\\") def encryption_config( self, ) -> typing.Optional[typing.List[\\"EncryptionConfigEntry\\"]]: '''\`\`AWSQS::EKS::Cluster.EncryptionConfig\`\` Encryption configuration for the cluster. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Optional[typing.List[\\"EncryptionConfigEntry\\"]], jsii.get(self, \\"encryptionConfig\\")) @builtins.property @jsii.member(jsii_name=\\"lambdaRoleName\\") def lambda_role_name(self) -> typing.Optional[builtins.str]: '''\`\`AWSQS::EKS::Cluster.LambdaRoleName\`\` Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Optional[builtins.str], jsii.get(self, \\"lambdaRoleName\\")) @builtins.property @jsii.member(jsii_name=\\"name\\") def name(self) -> typing.Optional[builtins.str]: '''\`\`AWSQS::EKS::Cluster.Name\`\` A unique name for your cluster. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Optional[builtins.str], jsii.get(self, \\"name\\")) @builtins.property @jsii.member(jsii_name=\\"tags\\") def tags(self) -> typing.Optional[typing.List[typing.Any]]: '''\`\`AWSQS::EKS::Cluster.Tags\`\`. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Optional[typing.List[typing.Any]], jsii.get(self, \\"tags\\")) @builtins.property @jsii.member(jsii_name=\\"version\\") def version(self) -> typing.Optional[builtins.str]: '''\`\`AWSQS::EKS::Cluster.Version\`\` Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. :link: https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git ''' return typing.cast(typing.Optional[builtins.str], jsii.get(self, \\"version\\")) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterProps\\", jsii_struct_bases=[], name_mapping={ \\"resources_vpc_config\\": \\"resourcesVpcConfig\\", \\"role_arn\\": \\"roleArn\\", \\"enabled_cluster_logging_types\\": \\"enabledClusterLoggingTypes\\", \\"encryption_config\\": \\"encryptionConfig\\", \\"kubernetes_api_access\\": \\"kubernetesApiAccess\\", \\"kubernetes_network_config\\": \\"kubernetesNetworkConfig\\", \\"lambda_role_name\\": \\"lambdaRoleName\\", \\"name\\": \\"name\\", \\"tags\\": \\"tags\\", \\"version\\": \\"version\\", }, ) class CfnClusterProps: def __init__( self, *, resources_vpc_config: typing.Union[\\"CfnClusterPropsResourcesVpcConfig\\", typing.Dict[builtins.str, typing.Any]], role_arn: builtins.str, enabled_cluster_logging_types: typing.Optional[typing.Sequence[builtins.str]] = None, encryption_config: typing.Optional[typing.Sequence[typing.Union[\\"EncryptionConfigEntry\\", typing.Dict[builtins.str, typing.Any]]]] = None, kubernetes_api_access: typing.Optional[typing.Union[\\"CfnClusterPropsKubernetesApiAccess\\", typing.Dict[builtins.str, typing.Any]]] = None, kubernetes_network_config: typing.Optional[typing.Union[\\"CfnClusterPropsKubernetesNetworkConfig\\", typing.Dict[builtins.str, typing.Any]]] = None, lambda_role_name: typing.Optional[builtins.str] = None, name: typing.Optional[builtins.str] = None, tags: typing.Optional[typing.Sequence[typing.Union[\\"CfnClusterPropsTags\\", typing.Dict[builtins.str, typing.Any]]]] = None, version: typing.Optional[builtins.str] = None, ) -> None: '''A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. :param resources_vpc_config: An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. :param role_arn: Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. :param enabled_cluster_logging_types: Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. :param encryption_config: Encryption configuration for the cluster. :param kubernetes_api_access: :param kubernetes_network_config: Network configuration for Amazon EKS cluster. :param lambda_role_name: Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC :param name: A unique name for your cluster. :param tags: :param version: Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. :schema: CfnClusterProps ''' if isinstance(resources_vpc_config, dict): resources_vpc_config = CfnClusterPropsResourcesVpcConfig(**resources_vpc_config) if isinstance(kubernetes_api_access, dict): kubernetes_api_access = CfnClusterPropsKubernetesApiAccess(**kubernetes_api_access) if isinstance(kubernetes_network_config, dict): kubernetes_network_config = CfnClusterPropsKubernetesNetworkConfig(**kubernetes_network_config) if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__5c9825b6539ead7fd67aff9c082b9af5d5f56e8e41f5947f6cb3b6afe672122f) check_type(argname=\\"argument resources_vpc_config\\", value=resources_vpc_config, expected_type=type_hints[\\"resources_vpc_config\\"]) check_type(argname=\\"argument role_arn\\", value=role_arn, expected_type=type_hints[\\"role_arn\\"]) check_type(argname=\\"argument enabled_cluster_logging_types\\", value=enabled_cluster_logging_types, expected_type=type_hints[\\"enabled_cluster_logging_types\\"]) check_type(argname=\\"argument encryption_config\\", value=encryption_config, expected_type=type_hints[\\"encryption_config\\"]) check_type(argname=\\"argument kubernetes_api_access\\", value=kubernetes_api_access, expected_type=type_hints[\\"kubernetes_api_access\\"]) check_type(argname=\\"argument kubernetes_network_config\\", value=kubernetes_network_config, expected_type=type_hints[\\"kubernetes_network_config\\"]) check_type(argname=\\"argument lambda_role_name\\", value=lambda_role_name, expected_type=type_hints[\\"lambda_role_name\\"]) check_type(argname=\\"argument name\\", value=name, expected_type=type_hints[\\"name\\"]) check_type(argname=\\"argument tags\\", value=tags, expected_type=type_hints[\\"tags\\"]) check_type(argname=\\"argument version\\", value=version, expected_type=type_hints[\\"version\\"]) self._values: typing.Dict[builtins.str, typing.Any] = { \\"resources_vpc_config\\": resources_vpc_config, \\"role_arn\\": role_arn, } if enabled_cluster_logging_types is not None: self._values[\\"enabled_cluster_logging_types\\"] = enabled_cluster_logging_types if encryption_config is not None: self._values[\\"encryption_config\\"] = encryption_config if kubernetes_api_access is not None: self._values[\\"kubernetes_api_access\\"] = kubernetes_api_access if kubernetes_network_config is not None: self._values[\\"kubernetes_network_config\\"] = kubernetes_network_config if lambda_role_name is not None: self._values[\\"lambda_role_name\\"] = lambda_role_name if name is not None: self._values[\\"name\\"] = name if tags is not None: self._values[\\"tags\\"] = tags if version is not None: self._values[\\"version\\"] = version @builtins.property def resources_vpc_config(self) -> \\"CfnClusterPropsResourcesVpcConfig\\": '''An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. :schema: CfnClusterProps#ResourcesVpcConfig ''' result = self._values.get(\\"resources_vpc_config\\") assert result is not None, \\"Required property 'resources_vpc_config' is missing\\" return typing.cast(\\"CfnClusterPropsResourcesVpcConfig\\", result) @builtins.property def role_arn(self) -> builtins.str: '''Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. :schema: CfnClusterProps#RoleArn ''' result = self._values.get(\\"role_arn\\") assert result is not None, \\"Required property 'role_arn' is missing\\" return typing.cast(builtins.str, result) @builtins.property def enabled_cluster_logging_types( self, ) -> typing.Optional[typing.List[builtins.str]]: '''Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. :schema: CfnClusterProps#EnabledClusterLoggingTypes ''' result = self._values.get(\\"enabled_cluster_logging_types\\") return typing.cast(typing.Optional[typing.List[builtins.str]], result) @builtins.property def encryption_config( self, ) -> typing.Optional[typing.List[\\"EncryptionConfigEntry\\"]]: '''Encryption configuration for the cluster. :schema: CfnClusterProps#EncryptionConfig ''' result = self._values.get(\\"encryption_config\\") return typing.cast(typing.Optional[typing.List[\\"EncryptionConfigEntry\\"]], result) @builtins.property def kubernetes_api_access( self, ) -> typing.Optional[\\"CfnClusterPropsKubernetesApiAccess\\"]: ''' :schema: CfnClusterProps#KubernetesApiAccess ''' result = self._values.get(\\"kubernetes_api_access\\") return typing.cast(typing.Optional[\\"CfnClusterPropsKubernetesApiAccess\\"], result) @builtins.property def kubernetes_network_config( self, ) -> typing.Optional[\\"CfnClusterPropsKubernetesNetworkConfig\\"]: '''Network configuration for Amazon EKS cluster. :schema: CfnClusterProps#KubernetesNetworkConfig ''' result = self._values.get(\\"kubernetes_network_config\\") return typing.cast(typing.Optional[\\"CfnClusterPropsKubernetesNetworkConfig\\"], result) @builtins.property def lambda_role_name(self) -> typing.Optional[builtins.str]: '''Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC :schema: CfnClusterProps#LambdaRoleName ''' result = self._values.get(\\"lambda_role_name\\") return typing.cast(typing.Optional[builtins.str], result) @builtins.property def name(self) -> typing.Optional[builtins.str]: '''A unique name for your cluster. :schema: CfnClusterProps#Name ''' result = self._values.get(\\"name\\") return typing.cast(typing.Optional[builtins.str], result) @builtins.property def tags(self) -> typing.Optional[typing.List[\\"CfnClusterPropsTags\\"]]: ''' :schema: CfnClusterProps#Tags ''' result = self._values.get(\\"tags\\") return typing.cast(typing.Optional[typing.List[\\"CfnClusterPropsTags\\"]], result) @builtins.property def version(self) -> typing.Optional[builtins.str]: '''Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. :schema: CfnClusterProps#Version ''' result = self._values.get(\\"version\\") return typing.cast(typing.Optional[builtins.str], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"CfnClusterProps(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesApiAccess\\", jsii_struct_bases=[], name_mapping={\\"roles\\": \\"roles\\", \\"users\\": \\"users\\"}, ) class CfnClusterPropsKubernetesApiAccess: def __init__( self, *, roles: typing.Optional[typing.Sequence[typing.Union[\\"KubernetesApiAccessEntry\\", typing.Dict[builtins.str, typing.Any]]]] = None, users: typing.Optional[typing.Sequence[typing.Union[\\"KubernetesApiAccessEntry\\", typing.Dict[builtins.str, typing.Any]]]] = None, ) -> None: ''' :param roles: :param users: :schema: CfnClusterPropsKubernetesApiAccess ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__0a50b00c849246852acb04761c601a9c20ed943ed5118e8263ef6978f722ccbf) check_type(argname=\\"argument roles\\", value=roles, expected_type=type_hints[\\"roles\\"]) check_type(argname=\\"argument users\\", value=users, expected_type=type_hints[\\"users\\"]) self._values: typing.Dict[builtins.str, typing.Any] = {} if roles is not None: self._values[\\"roles\\"] = roles if users is not None: self._values[\\"users\\"] = users @builtins.property def roles(self) -> typing.Optional[typing.List[\\"KubernetesApiAccessEntry\\"]]: ''' :schema: CfnClusterPropsKubernetesApiAccess#Roles ''' result = self._values.get(\\"roles\\") return typing.cast(typing.Optional[typing.List[\\"KubernetesApiAccessEntry\\"]], result) @builtins.property def users(self) -> typing.Optional[typing.List[\\"KubernetesApiAccessEntry\\"]]: ''' :schema: CfnClusterPropsKubernetesApiAccess#Users ''' result = self._values.get(\\"users\\") return typing.cast(typing.Optional[typing.List[\\"KubernetesApiAccessEntry\\"]], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"CfnClusterPropsKubernetesApiAccess(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsKubernetesNetworkConfig\\", jsii_struct_bases=[], name_mapping={\\"service_ipv4_cidr\\": \\"serviceIpv4Cidr\\"}, ) class CfnClusterPropsKubernetesNetworkConfig: def __init__( self, *, service_ipv4_cidr: typing.Optional[builtins.str] = None, ) -> None: '''Network configuration for Amazon EKS cluster. :param service_ipv4_cidr: Specify the range from which cluster services will receive IPv4 addresses. :schema: CfnClusterPropsKubernetesNetworkConfig ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__06f00070852ad34755fd4c5edc1bdb6d1944b8e3703b29a897c392a6f85b5fdf) check_type(argname=\\"argument service_ipv4_cidr\\", value=service_ipv4_cidr, expected_type=type_hints[\\"service_ipv4_cidr\\"]) self._values: typing.Dict[builtins.str, typing.Any] = {} if service_ipv4_cidr is not None: self._values[\\"service_ipv4_cidr\\"] = service_ipv4_cidr @builtins.property def service_ipv4_cidr(self) -> typing.Optional[builtins.str]: '''Specify the range from which cluster services will receive IPv4 addresses. :schema: CfnClusterPropsKubernetesNetworkConfig#ServiceIpv4Cidr ''' result = self._values.get(\\"service_ipv4_cidr\\") return typing.cast(typing.Optional[builtins.str], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"CfnClusterPropsKubernetesNetworkConfig(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsResourcesVpcConfig\\", jsii_struct_bases=[], name_mapping={ \\"subnet_ids\\": \\"subnetIds\\", \\"endpoint_private_access\\": \\"endpointPrivateAccess\\", \\"endpoint_public_access\\": \\"endpointPublicAccess\\", \\"public_access_cidrs\\": \\"publicAccessCidrs\\", \\"security_group_ids\\": \\"securityGroupIds\\", }, ) class CfnClusterPropsResourcesVpcConfig: def __init__( self, *, subnet_ids: typing.Sequence[builtins.str], endpoint_private_access: typing.Optional[builtins.bool] = None, endpoint_public_access: typing.Optional[builtins.bool] = None, public_access_cidrs: typing.Optional[typing.Sequence[builtins.str]] = None, security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None, ) -> None: '''An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. :param subnet_ids: Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. :param endpoint_private_access: Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. :param endpoint_public_access: Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. :param public_access_cidrs: The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. :param security_group_ids: Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used. :schema: CfnClusterPropsResourcesVpcConfig ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__09f33c0f9b4ef6ec1dea52664b0cadda6462872b4e058ca64df4adae7d831528) check_type(argname=\\"argument subnet_ids\\", value=subnet_ids, expected_type=type_hints[\\"subnet_ids\\"]) check_type(argname=\\"argument endpoint_private_access\\", value=endpoint_private_access, expected_type=type_hints[\\"endpoint_private_access\\"]) check_type(argname=\\"argument endpoint_public_access\\", value=endpoint_public_access, expected_type=type_hints[\\"endpoint_public_access\\"]) check_type(argname=\\"argument public_access_cidrs\\", value=public_access_cidrs, expected_type=type_hints[\\"public_access_cidrs\\"]) check_type(argname=\\"argument security_group_ids\\", value=security_group_ids, expected_type=type_hints[\\"security_group_ids\\"]) self._values: typing.Dict[builtins.str, typing.Any] = { \\"subnet_ids\\": subnet_ids, } if endpoint_private_access is not None: self._values[\\"endpoint_private_access\\"] = endpoint_private_access if endpoint_public_access is not None: self._values[\\"endpoint_public_access\\"] = endpoint_public_access if public_access_cidrs is not None: self._values[\\"public_access_cidrs\\"] = public_access_cidrs if security_group_ids is not None: self._values[\\"security_group_ids\\"] = security_group_ids @builtins.property def subnet_ids(self) -> typing.List[builtins.str]: '''Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. :schema: CfnClusterPropsResourcesVpcConfig#SubnetIds ''' result = self._values.get(\\"subnet_ids\\") assert result is not None, \\"Required property 'subnet_ids' is missing\\" return typing.cast(typing.List[builtins.str], result) @builtins.property def endpoint_private_access(self) -> typing.Optional[builtins.bool]: '''Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. :schema: CfnClusterPropsResourcesVpcConfig#EndpointPrivateAccess ''' result = self._values.get(\\"endpoint_private_access\\") return typing.cast(typing.Optional[builtins.bool], result) @builtins.property def endpoint_public_access(self) -> typing.Optional[builtins.bool]: '''Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. :schema: CfnClusterPropsResourcesVpcConfig#EndpointPublicAccess ''' result = self._values.get(\\"endpoint_public_access\\") return typing.cast(typing.Optional[builtins.bool], result) @builtins.property def public_access_cidrs(self) -> typing.Optional[typing.List[builtins.str]]: '''The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. :schema: CfnClusterPropsResourcesVpcConfig#PublicAccessCidrs ''' result = self._values.get(\\"public_access_cidrs\\") return typing.cast(typing.Optional[typing.List[builtins.str]], result) @builtins.property def security_group_ids(self) -> typing.Optional[typing.List[builtins.str]]: '''Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used. :schema: CfnClusterPropsResourcesVpcConfig#SecurityGroupIds ''' result = self._values.get(\\"security_group_ids\\") return typing.cast(typing.Optional[typing.List[builtins.str]], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"CfnClusterPropsResourcesVpcConfig(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.CfnClusterPropsTags\\", jsii_struct_bases=[], name_mapping={\\"key\\": \\"key\\", \\"value\\": \\"value\\"}, ) class CfnClusterPropsTags: def __init__(self, *, key: builtins.str, value: builtins.str) -> None: ''' :param key: :param value: :schema: CfnClusterPropsTags ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__8c0a0ceac7d05d1baddfca750332d05e2ff84b371923312af407a26340290bf0) check_type(argname=\\"argument key\\", value=key, expected_type=type_hints[\\"key\\"]) check_type(argname=\\"argument value\\", value=value, expected_type=type_hints[\\"value\\"]) self._values: typing.Dict[builtins.str, typing.Any] = { \\"key\\": key, \\"value\\": value, } @builtins.property def key(self) -> builtins.str: ''' :schema: CfnClusterPropsTags#Key ''' result = self._values.get(\\"key\\") assert result is not None, \\"Required property 'key' is missing\\" return typing.cast(builtins.str, result) @builtins.property def value(self) -> builtins.str: ''' :schema: CfnClusterPropsTags#Value ''' result = self._values.get(\\"value\\") assert result is not None, \\"Required property 'value' is missing\\" return typing.cast(builtins.str, result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"CfnClusterPropsTags(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.EncryptionConfigEntry\\", jsii_struct_bases=[], name_mapping={\\"provider\\": \\"provider\\", \\"resources\\": \\"resources\\"}, ) class EncryptionConfigEntry: def __init__( self, *, provider: typing.Optional[typing.Union[\\"Provider\\", typing.Dict[builtins.str, typing.Any]]] = None, resources: typing.Optional[typing.Sequence[builtins.str]] = None, ) -> None: '''The encryption configuration for the cluster. :param provider: :param resources: Specifies the resources to be encrypted. The only supported value is \\"secrets\\". :schema: EncryptionConfigEntry ''' if isinstance(provider, dict): provider = Provider(**provider) if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__47d502d7d0fa6ace2fb16c740510550bbe28ebf723e312188b4db30e7d30cbd2) check_type(argname=\\"argument provider\\", value=provider, expected_type=type_hints[\\"provider\\"]) check_type(argname=\\"argument resources\\", value=resources, expected_type=type_hints[\\"resources\\"]) self._values: typing.Dict[builtins.str, typing.Any] = {} if provider is not None: self._values[\\"provider\\"] = provider if resources is not None: self._values[\\"resources\\"] = resources @builtins.property def provider(self) -> typing.Optional[\\"Provider\\"]: ''' :schema: EncryptionConfigEntry#Provider ''' result = self._values.get(\\"provider\\") return typing.cast(typing.Optional[\\"Provider\\"], result) @builtins.property def resources(self) -> typing.Optional[typing.List[builtins.str]]: '''Specifies the resources to be encrypted. The only supported value is \\"secrets\\". :schema: EncryptionConfigEntry#Resources ''' result = self._values.get(\\"resources\\") return typing.cast(typing.Optional[typing.List[builtins.str]], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"EncryptionConfigEntry(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.KubernetesApiAccessEntry\\", jsii_struct_bases=[], name_mapping={\\"arn\\": \\"arn\\", \\"groups\\": \\"groups\\", \\"username\\": \\"username\\"}, ) class KubernetesApiAccessEntry: def __init__( self, *, arn: typing.Optional[builtins.str] = None, groups: typing.Optional[typing.Sequence[builtins.str]] = None, username: typing.Optional[builtins.str] = None, ) -> None: ''' :param arn: :param groups: :param username: :schema: KubernetesApiAccessEntry ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__b05ea8544382c89e6eb2e9bbfb81bf5d72f6d330053daa2df7f83f2f22391673) check_type(argname=\\"argument arn\\", value=arn, expected_type=type_hints[\\"arn\\"]) check_type(argname=\\"argument groups\\", value=groups, expected_type=type_hints[\\"groups\\"]) check_type(argname=\\"argument username\\", value=username, expected_type=type_hints[\\"username\\"]) self._values: typing.Dict[builtins.str, typing.Any] = {} if arn is not None: self._values[\\"arn\\"] = arn if groups is not None: self._values[\\"groups\\"] = groups if username is not None: self._values[\\"username\\"] = username @builtins.property def arn(self) -> typing.Optional[builtins.str]: ''' :schema: KubernetesApiAccessEntry#Arn ''' result = self._values.get(\\"arn\\") return typing.cast(typing.Optional[builtins.str], result) @builtins.property def groups(self) -> typing.Optional[typing.List[builtins.str]]: ''' :schema: KubernetesApiAccessEntry#Groups ''' result = self._values.get(\\"groups\\") return typing.cast(typing.Optional[typing.List[builtins.str]], result) @builtins.property def username(self) -> typing.Optional[builtins.str]: ''' :schema: KubernetesApiAccessEntry#Username ''' result = self._values.get(\\"username\\") return typing.cast(typing.Optional[builtins.str], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"KubernetesApiAccessEntry(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Provider\\", jsii_struct_bases=[], name_mapping={\\"key_arn\\": \\"keyArn\\"}, ) class Provider: def __init__(self, *, key_arn: typing.Optional[builtins.str] = None) -> None: '''AWS Key Management Service (AWS KMS) customer master key (CMK). Either the ARN or the alias can be used. :param key_arn: Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. :schema: Provider ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__302dcaaeb5b949d5d051618ce402deb83217ae5e9fc48f7ce913119e9508e42e) check_type(argname=\\"argument key_arn\\", value=key_arn, expected_type=type_hints[\\"key_arn\\"]) self._values: typing.Dict[builtins.str, typing.Any] = {} if key_arn is not None: self._values[\\"key_arn\\"] = key_arn @builtins.property def key_arn(self) -> typing.Optional[builtins.str]: '''Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. :schema: Provider#KeyArn ''' result = self._values.get(\\"key_arn\\") return typing.cast(typing.Optional[builtins.str], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"Provider(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) __all__ = [ \\"CfnCluster\\", \\"CfnClusterProps\\", \\"CfnClusterPropsKubernetesApiAccess\\", \\"CfnClusterPropsKubernetesNetworkConfig\\", \\"CfnClusterPropsResourcesVpcConfig\\", \\"CfnClusterPropsTags\\", \\"EncryptionConfigEntry\\", \\"KubernetesApiAccessEntry\\", \\"Provider\\", ] publication.publish() def _typecheckingstub__bacecc56333714eb669ab7a48888241533b00927d8923c503a672032982224f1( scope: _constructs_77d1e7e8.Construct, id: builtins.str, *, resources_vpc_config: typing.Union[CfnClusterPropsResourcesVpcConfig, typing.Dict[builtins.str, typing.Any]], role_arn: builtins.str, enabled_cluster_logging_types: typing.Optional[typing.Sequence[builtins.str]] = None, encryption_config: typing.Optional[typing.Sequence[typing.Union[EncryptionConfigEntry, typing.Dict[builtins.str, typing.Any]]]] = None, kubernetes_api_access: typing.Optional[typing.Union[CfnClusterPropsKubernetesApiAccess, typing.Dict[builtins.str, typing.Any]]] = None, kubernetes_network_config: typing.Optional[typing.Union[CfnClusterPropsKubernetesNetworkConfig, typing.Dict[builtins.str, typing.Any]]] = None, lambda_role_name: typing.Optional[builtins.str] = None, name: typing.Optional[builtins.str] = None, tags: typing.Optional[typing.Sequence[typing.Union[CfnClusterPropsTags, typing.Dict[builtins.str, typing.Any]]]] = None, version: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__5c9825b6539ead7fd67aff9c082b9af5d5f56e8e41f5947f6cb3b6afe672122f( *, resources_vpc_config: typing.Union[CfnClusterPropsResourcesVpcConfig, typing.Dict[builtins.str, typing.Any]], role_arn: builtins.str, enabled_cluster_logging_types: typing.Optional[typing.Sequence[builtins.str]] = None, encryption_config: typing.Optional[typing.Sequence[typing.Union[EncryptionConfigEntry, typing.Dict[builtins.str, typing.Any]]]] = None, kubernetes_api_access: typing.Optional[typing.Union[CfnClusterPropsKubernetesApiAccess, typing.Dict[builtins.str, typing.Any]]] = None, kubernetes_network_config: typing.Optional[typing.Union[CfnClusterPropsKubernetesNetworkConfig, typing.Dict[builtins.str, typing.Any]]] = None, lambda_role_name: typing.Optional[builtins.str] = None, name: typing.Optional[builtins.str] = None, tags: typing.Optional[typing.Sequence[typing.Union[CfnClusterPropsTags, typing.Dict[builtins.str, typing.Any]]]] = None, version: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__0a50b00c849246852acb04761c601a9c20ed943ed5118e8263ef6978f722ccbf( *, roles: typing.Optional[typing.Sequence[typing.Union[KubernetesApiAccessEntry, typing.Dict[builtins.str, typing.Any]]]] = None, users: typing.Optional[typing.Sequence[typing.Union[KubernetesApiAccessEntry, typing.Dict[builtins.str, typing.Any]]]] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__06f00070852ad34755fd4c5edc1bdb6d1944b8e3703b29a897c392a6f85b5fdf( *, service_ipv4_cidr: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__09f33c0f9b4ef6ec1dea52664b0cadda6462872b4e058ca64df4adae7d831528( *, subnet_ids: typing.Sequence[builtins.str], endpoint_private_access: typing.Optional[builtins.bool] = None, endpoint_public_access: typing.Optional[builtins.bool] = None, public_access_cidrs: typing.Optional[typing.Sequence[builtins.str]] = None, security_group_ids: typing.Optional[typing.Sequence[builtins.str]] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__8c0a0ceac7d05d1baddfca750332d05e2ff84b371923312af407a26340290bf0( *, key: builtins.str, value: builtins.str, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__47d502d7d0fa6ace2fb16c740510550bbe28ebf723e312188b4db30e7d30cbd2( *, provider: typing.Optional[typing.Union[Provider, typing.Dict[builtins.str, typing.Any]]] = None, resources: typing.Optional[typing.Sequence[builtins.str]] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__b05ea8544382c89e6eb2e9bbfb81bf5d72f6d330053daa2df7f83f2f22391673( *, arn: typing.Optional[builtins.str] = None, groups: typing.Optional[typing.Sequence[builtins.str]] = None, username: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__302dcaaeb5b949d5d051618ce402deb83217ae5e9fc48f7ce913119e9508e42e( *, key_arn: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass ", "awsqs_eks_cluster/_jsii/__init__.py" => "import abc import builtins import datetime import enum import typing import jsii import publication import typing_extensions from typeguard import check_type import aws_cdk._jsii import aws_cdk.asset_awscli_v1._jsii import aws_cdk.asset_kubectl_v20._jsii import aws_cdk.asset_node_proxy_agent_v5._jsii import constructs._jsii __jsii_assembly__ = jsii.JSIIAssembly.load( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", __name__[0:-6], \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6@0.0.0.jsii.tgz\\", ) __all__ = [ \\"__jsii_assembly__\\", ] publication.publish() ", "awsqs_eks_cluster/py.typed" => " ", } `; exports[`python 2`] = ` Map { "ec2_compute_instance/__init__.py" => "import abc import builtins import datetime import enum import typing import jsii import publication import typing_extensions from typeguard import check_type from ._jsii import * import aws_cdk as _aws_cdk_ceddda9d import constructs as _constructs_77d1e7e8 @jsii.data_type( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstanceProps\\", jsii_struct_bases=[], name_mapping={ \\"instance_type\\": \\"instanceType\\", \\"numbers\\": \\"numbers\\", \\"ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter\\": \\"ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter\\", }, ) class Ec2ComputeInstanceProps: def __init__( self, *, instance_type: typing.Optional[\\"Ec2ComputeInstance.InstanceType\\"] = None, numbers: typing.Optional[\\"Ec2ComputeInstance.Numbers\\"] = None, ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter: typing.Optional[builtins.str] = None, ) -> None: ''' :param instance_type: InstanceType. The instance type of an EC2 instance. Must be t2 micro or small. Default: t2.micro :param numbers: Numbers. A number to be selected. These are the allowed numbers. Default: 5 :param ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter: SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__4bc288f73b6f04c4cbe3c81dfe5460cb602875447ace7cbee7c0cf0c364a45dc) check_type(argname=\\"argument instance_type\\", value=instance_type, expected_type=type_hints[\\"instance_type\\"]) check_type(argname=\\"argument numbers\\", value=numbers, expected_type=type_hints[\\"numbers\\"]) check_type(argname=\\"argument ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter\\", value=ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter, expected_type=type_hints[\\"ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter\\"]) self._values: typing.Dict[builtins.str, typing.Any] = {} if instance_type is not None: self._values[\\"instance_type\\"] = instance_type if numbers is not None: self._values[\\"numbers\\"] = numbers if ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter is not None: self._values[\\"ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter\\"] = ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter @builtins.property def instance_type(self) -> typing.Optional[\\"Ec2ComputeInstance.InstanceType\\"]: '''InstanceType. The instance type of an EC2 instance. Must be t2 micro or small. :default: t2.micro ''' result = self._values.get(\\"instance_type\\") return typing.cast(typing.Optional[\\"Ec2ComputeInstance.InstanceType\\"], result) @builtins.property def numbers(self) -> typing.Optional[\\"Ec2ComputeInstance.Numbers\\"]: '''Numbers. A number to be selected. These are the allowed numbers. :default: 5 ''' result = self._values.get(\\"numbers\\") return typing.cast(typing.Optional[\\"Ec2ComputeInstance.Numbers\\"], result) @builtins.property def ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter( self, ) -> typing.Optional[builtins.str]: '''SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. :default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 ''' result = self._values.get(\\"ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter\\") return typing.cast(typing.Optional[builtins.str], result) def __eq__(self, rhs: typing.Any) -> builtins.bool: return isinstance(rhs, self.__class__) and rhs._values == self._values def __ne__(self, rhs: typing.Any) -> builtins.bool: return not (rhs == self) def __repr__(self) -> str: return \\"Ec2ComputeInstanceProps(%s)\\" % \\", \\".join( k + \\"=\\" + repr(v) for k, v in self._values.items() ) @jsii.interface( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance\\" ) class IEc2ComputeInstance(_aws_cdk_ceddda9d.IResource, typing_extensions.Protocol): @builtins.property @jsii.member(jsii_name=\\"cloudFormationStackArn\\") def cloud_formation_stack_arn(self) -> builtins.str: ... @builtins.property @jsii.member(jsii_name=\\"downloadKeyCommand\\") def download_key_command(self) -> builtins.str: ... @builtins.property @jsii.member(jsii_name=\\"iPAddress\\") def i_p_address(self) -> builtins.str: ... @builtins.property @jsii.member(jsii_name=\\"provisionedProductId\\") def provisioned_product_id(self) -> builtins.str: ... @builtins.property @jsii.member(jsii_name=\\"recordId\\") def record_id(self) -> builtins.str: ... @builtins.property @jsii.member(jsii_name=\\"sshcommand\\") def sshcommand(self) -> builtins.str: ... class _IEc2ComputeInstanceProxy( jsii.proxy_for(_aws_cdk_ceddda9d.IResource), # type: ignore[misc] ): __jsii_type__: typing.ClassVar[str] = \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.IEc2ComputeInstance\\" @builtins.property @jsii.member(jsii_name=\\"cloudFormationStackArn\\") def cloud_formation_stack_arn(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"cloudFormationStackArn\\")) @builtins.property @jsii.member(jsii_name=\\"downloadKeyCommand\\") def download_key_command(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"downloadKeyCommand\\")) @builtins.property @jsii.member(jsii_name=\\"iPAddress\\") def i_p_address(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"iPAddress\\")) @builtins.property @jsii.member(jsii_name=\\"provisionedProductId\\") def provisioned_product_id(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"provisionedProductId\\")) @builtins.property @jsii.member(jsii_name=\\"recordId\\") def record_id(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"recordId\\")) @builtins.property @jsii.member(jsii_name=\\"sshcommand\\") def sshcommand(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"sshcommand\\")) # Adding a \\"__jsii_proxy_class__(): typing.Type\\" function to the interface typing.cast(typing.Any, IEc2ComputeInstance).__jsii_proxy_class__ = lambda : _IEc2ComputeInstanceProxy @jsii.implements(IEc2ComputeInstance) class Ec2ComputeInstance( _aws_cdk_ceddda9d.Resource, metaclass=jsii.JSIIMeta, jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance\\", ): '''Ec2ComputeInstance. Compute instance to be used for experiments, does NOT contain DB access Owner: IT ''' def __init__( self, scope: _constructs_77d1e7e8.Construct, id: builtins.str, *, instance_type: typing.Optional[\\"Ec2ComputeInstance.InstanceType\\"] = None, numbers: typing.Optional[\\"Ec2ComputeInstance.Numbers\\"] = None, ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter: typing.Optional[builtins.str] = None, ) -> None: '''Create a new Service Catalog \`Ec2ComputeInstance\` product. :param scope: - scope in which this resource is defined. :param id: - scoped id of the resource. :param instance_type: InstanceType. The instance type of an EC2 instance. Must be t2 micro or small. Default: t2.micro :param numbers: Numbers. A number to be selected. These are the allowed numbers. Default: 5 :param ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter: SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter. Default: /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 ''' if __debug__: type_hints = typing.get_type_hints(_typecheckingstub__0784cfb843b6f72ff9d9cf293d897b54b852a1398816e3d2c2c812c8a4dbf0cf) check_type(argname=\\"argument scope\\", value=scope, expected_type=type_hints[\\"scope\\"]) check_type(argname=\\"argument id\\", value=id, expected_type=type_hints[\\"id\\"]) props = Ec2ComputeInstanceProps( instance_type=instance_type, numbers=numbers, ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter=ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter, ) jsii.create(self.__class__, self, [scope, id, props]) @builtins.property @jsii.member(jsii_name=\\"cloudFormationStackArn\\") def cloud_formation_stack_arn(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"cloudFormationStackArn\\")) @builtins.property @jsii.member(jsii_name=\\"downloadKeyCommand\\") def download_key_command(self) -> builtins.str: '''The command to download the key.''' return typing.cast(builtins.str, jsii.get(self, \\"downloadKeyCommand\\")) @builtins.property @jsii.member(jsii_name=\\"iPAddress\\") def i_p_address(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"iPAddress\\")) @builtins.property @jsii.member(jsii_name=\\"provisionedProductId\\") def provisioned_product_id(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"provisionedProductId\\")) @builtins.property @jsii.member(jsii_name=\\"recordId\\") def record_id(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"recordId\\")) @builtins.property @jsii.member(jsii_name=\\"sshcommand\\") def sshcommand(self) -> builtins.str: return typing.cast(builtins.str, jsii.get(self, \\"sshcommand\\")) @jsii.enum( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.InstanceType\\" ) class InstanceType(enum.Enum): T2_MICRO = \\"T2_MICRO\\" '''t2.micro.''' T2_SMALL = \\"T2_SMALL\\" '''t2.small.''' @jsii.enum( jsii_type=\\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6.Ec2ComputeInstance.Numbers\\" ) class Numbers(enum.Enum): VALUE_1 = \\"VALUE_1\\" '''1.''' VALUE_2 = \\"VALUE_2\\" '''2.''' VALUE_3 = \\"VALUE_3\\" '''3.''' VALUE_4 = \\"VALUE_4\\" '''4.''' VALUE_5 = \\"VALUE_5\\" '''5.''' __all__ = [ \\"Ec2ComputeInstance\\", \\"Ec2ComputeInstanceProps\\", \\"IEc2ComputeInstance\\", ] publication.publish() def _typecheckingstub__4bc288f73b6f04c4cbe3c81dfe5460cb602875447ace7cbee7c0cf0c364a45dc( *, instance_type: typing.Optional[Ec2ComputeInstance.InstanceType] = None, numbers: typing.Optional[Ec2ComputeInstance.Numbers] = None, ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass def _typecheckingstub__0784cfb843b6f72ff9d9cf293d897b54b852a1398816e3d2c2c812c8a4dbf0cf( scope: _constructs_77d1e7e8.Construct, id: builtins.str, *, instance_type: typing.Optional[Ec2ComputeInstance.InstanceType] = None, numbers: typing.Optional[Ec2ComputeInstance.Numbers] = None, ssm_parameter_valueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2_c96584_b6_f00_a464_ead1953_aff4_b05118_parameter: typing.Optional[builtins.str] = None, ) -> None: \\"\\"\\"Type checking stubs\\"\\"\\" pass ", "ec2_compute_instance/_jsii/__init__.py" => "import abc import builtins import datetime import enum import typing import jsii import publication import typing_extensions from typeguard import check_type import aws_cdk._jsii import aws_cdk.asset_awscli_v1._jsii import aws_cdk.asset_kubectl_v20._jsii import aws_cdk.asset_node_proxy_agent_v5._jsii import constructs._jsii __jsii_assembly__ = jsii.JSIIAssembly.load( \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6\\", \\"0.0.0\\", __name__[0:-6], \\"1bc04b5291c26a46d918139138b992d2de976d6851d0893b0476b85bfbdfc6e6@0.0.0.jsii.tgz\\", ) __all__ = [ \\"__jsii_assembly__\\", ] publication.publish() ", "ec2_compute_instance/py.typed" => " ", } `; exports[`typescript 1`] = ` Map { "awsqs-eks-cluster.ts" => "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as constructs from 'constructs'; /** * A resource that creates Amazon Elastic Kubernetes Service (Amazon EKS) clusters. * * @schema CfnClusterProps */ export interface CfnClusterProps { /** * A unique name for your cluster. * * @schema CfnClusterProps#Name */ readonly name?: string; /** * Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. * * @schema CfnClusterProps#RoleArn */ readonly roleArn: string; /** * Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC * * @schema CfnClusterProps#LambdaRoleName */ readonly lambdaRoleName?: string; /** * Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. * * @schema CfnClusterProps#Version */ readonly version?: string; /** * Network configuration for Amazon EKS cluster. * * * * @schema CfnClusterProps#KubernetesNetworkConfig */ readonly kubernetesNetworkConfig?: CfnClusterPropsKubernetesNetworkConfig; /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. * * @schema CfnClusterProps#ResourcesVpcConfig */ readonly resourcesVpcConfig: CfnClusterPropsResourcesVpcConfig; /** * Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. * * @schema CfnClusterProps#EnabledClusterLoggingTypes */ readonly enabledClusterLoggingTypes?: string[]; /** * Encryption configuration for the cluster. * * @schema CfnClusterProps#EncryptionConfig */ readonly encryptionConfig?: EncryptionConfigEntry[]; /** * @schema CfnClusterProps#KubernetesApiAccess */ readonly kubernetesApiAccess?: CfnClusterPropsKubernetesApiAccess; /** * @schema CfnClusterProps#Tags */ readonly tags?: CfnClusterPropsTags[]; } /** * Converts an object of type 'CfnClusterProps' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterProps(obj: CfnClusterProps | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Name': obj.name, 'RoleArn': obj.roleArn, 'LambdaRoleName': obj.lambdaRoleName, 'Version': obj.version, 'KubernetesNetworkConfig': toJson_CfnClusterPropsKubernetesNetworkConfig(obj.kubernetesNetworkConfig), 'ResourcesVpcConfig': toJson_CfnClusterPropsResourcesVpcConfig(obj.resourcesVpcConfig), 'EnabledClusterLoggingTypes': obj.enabledClusterLoggingTypes?.map(y => y), 'EncryptionConfig': obj.encryptionConfig?.map(y => toJson_EncryptionConfigEntry(y)), 'KubernetesApiAccess': toJson_CfnClusterPropsKubernetesApiAccess(obj.kubernetesApiAccess), 'Tags': obj.tags?.map(y => toJson_CfnClusterPropsTags(y)), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * Network configuration for Amazon EKS cluster. * * * * @schema CfnClusterPropsKubernetesNetworkConfig */ export interface CfnClusterPropsKubernetesNetworkConfig { /** * Specify the range from which cluster services will receive IPv4 addresses. * * @schema CfnClusterPropsKubernetesNetworkConfig#ServiceIpv4Cidr */ readonly serviceIpv4Cidr?: string; } /** * Converts an object of type 'CfnClusterPropsKubernetesNetworkConfig' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsKubernetesNetworkConfig(obj: CfnClusterPropsKubernetesNetworkConfig | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'ServiceIpv4Cidr': obj.serviceIpv4Cidr, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. * * @schema CfnClusterPropsResourcesVpcConfig */ export interface CfnClusterPropsResourcesVpcConfig { /** * Specify one or more security groups for the cross-account elastic network interfaces that Amazon EKS creates to use to allow communication between your worker nodes and the Kubernetes control plane. If you don't specify a security group, the default security group for your VPC is used. * * @schema CfnClusterPropsResourcesVpcConfig#SecurityGroupIds */ readonly securityGroupIds?: string[]; /** * Specify subnets for your Amazon EKS worker nodes. Amazon EKS creates cross-account elastic network interfaces in these subnets to allow communication between your worker nodes and the Kubernetes control plane. * * @schema CfnClusterPropsResourcesVpcConfig#SubnetIds */ readonly subnetIds: string[]; /** * Set this value to false to disable public access to your cluster's Kubernetes API server endpoint. If you disable public access, your cluster's Kubernetes API server can only receive requests from within the cluster VPC. The default value for this parameter is true , which enables public access for your Kubernetes API server. * * @schema CfnClusterPropsResourcesVpcConfig#EndpointPublicAccess */ readonly endpointPublicAccess?: boolean; /** * Set this value to true to enable private access for your cluster's Kubernetes API server endpoint. If you enable private access, Kubernetes API requests from within your cluster's VPC use the private VPC endpoint. The default value for this parameter is false , which disables private access for your Kubernetes API server. If you disable private access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that publicAccessCidrs includes the necessary CIDR blocks for communication with the worker nodes or Fargate pods. * * @schema CfnClusterPropsResourcesVpcConfig#EndpointPrivateAccess */ readonly endpointPrivateAccess?: boolean; /** * The CIDR blocks that are allowed access to your cluster's public Kubernetes API server endpoint. Communication to the endpoint from addresses outside of the CIDR blocks that you specify is denied. The default value is 0.0.0.0/0 . If you've disabled private endpoint access and you have worker nodes or AWS Fargate pods in the cluster, then ensure that you specify the necessary CIDR blocks. * * @schema CfnClusterPropsResourcesVpcConfig#PublicAccessCidrs */ readonly publicAccessCidrs?: string[]; } /** * Converts an object of type 'CfnClusterPropsResourcesVpcConfig' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsResourcesVpcConfig(obj: CfnClusterPropsResourcesVpcConfig | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'SecurityGroupIds': obj.securityGroupIds?.map(y => y), 'SubnetIds': obj.subnetIds?.map(y => y), 'EndpointPublicAccess': obj.endpointPublicAccess, 'EndpointPrivateAccess': obj.endpointPrivateAccess, 'PublicAccessCidrs': obj.publicAccessCidrs?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * The encryption configuration for the cluster. * * @schema EncryptionConfigEntry */ export interface EncryptionConfigEntry { /** * Specifies the resources to be encrypted. The only supported value is \\"secrets\\". * * @schema EncryptionConfigEntry#Resources */ readonly resources?: string[]; /** * @schema EncryptionConfigEntry#Provider */ readonly provider?: Provider; } /** * Converts an object of type 'EncryptionConfigEntry' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_EncryptionConfigEntry(obj: EncryptionConfigEntry | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Resources': obj.resources?.map(y => y), 'Provider': toJson_Provider(obj.provider), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnClusterPropsKubernetesApiAccess */ export interface CfnClusterPropsKubernetesApiAccess { /** * @schema CfnClusterPropsKubernetesApiAccess#Roles */ readonly roles?: KubernetesApiAccessEntry[]; /** * @schema CfnClusterPropsKubernetesApiAccess#Users */ readonly users?: KubernetesApiAccessEntry[]; } /** * Converts an object of type 'CfnClusterPropsKubernetesApiAccess' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsKubernetesApiAccess(obj: CfnClusterPropsKubernetesApiAccess | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Roles': obj.roles?.map(y => toJson_KubernetesApiAccessEntry(y)), 'Users': obj.users?.map(y => toJson_KubernetesApiAccessEntry(y)), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema CfnClusterPropsTags */ export interface CfnClusterPropsTags { /** * @schema CfnClusterPropsTags#Value */ readonly value: string; /** * @schema CfnClusterPropsTags#Key */ readonly key: string; } /** * Converts an object of type 'CfnClusterPropsTags' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_CfnClusterPropsTags(obj: CfnClusterPropsTags | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Value': obj.value, 'Key': obj.key, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * AWS Key Management Service (AWS KMS) customer master key (CMK). Either the ARN or the alias can be used. * * @schema Provider */ export interface Provider { /** * Amazon Resource Name (ARN) or alias of the customer master key (CMK). The CMK must be symmetric, created in the same region as the cluster, and if the CMK was created in a different account, the user must have access to the CMK. * * @schema Provider#KeyArn */ readonly keyArn?: string; } /** * Converts an object of type 'Provider' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_Provider(obj: Provider | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'KeyArn': obj.keyArn, }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * @schema KubernetesApiAccessEntry */ export interface KubernetesApiAccessEntry { /** * @schema KubernetesApiAccessEntry#Arn */ readonly arn?: string; /** * @schema KubernetesApiAccessEntry#Username */ readonly username?: string; /** * @schema KubernetesApiAccessEntry#Groups */ readonly groups?: string[]; } /** * Converts an object of type 'KubernetesApiAccessEntry' to JSON representation. */ /* eslint-disable max-len, quote-props */ export function toJson_KubernetesApiAccessEntry(obj: KubernetesApiAccessEntry | undefined): Record | undefined { if (obj === undefined) { return undefined; } const result = { 'Arn': obj.arn, 'Username': obj.username, 'Groups': obj.groups?.map(y => y), }; // filter undefined values return Object.entries(result).reduce((r, i) => (i[1] === undefined) ? r : ({ ...r, [i[0]]: i[1] }), {}); } /* eslint-enable max-len, quote-props */ /** * A CloudFormation \`AWSQS::EKS::Cluster\` * * @cloudformationResource AWSQS::EKS::Cluster * @stability external * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ export class CfnCluster extends cdk.CfnResource { /** * The CloudFormation resource type name for this resource class. */ public static readonly CFN_RESOURCE_TYPE_NAME = 'AWSQS::EKS::Cluster'; /** * \`AWSQS::EKS::Cluster.Name\` * A unique name for your cluster. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly name: string | undefined; /** * \`AWSQS::EKS::Cluster.RoleArn\` * Amazon Resource Name (ARN) of the AWS Identity and Access Management (IAM) role. This provides permissions for Amazon EKS to call other AWS APIs. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly roleArn: string; /** * \`AWSQS::EKS::Cluster.LambdaRoleName\` * Name of the AWS Identity and Access Management (IAM) role used for clusters that have the public endpoint disabled. this provides permissions for Lambda to be invoked and attach to the cluster VPC * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly lambdaRoleName: string | undefined; /** * \`AWSQS::EKS::Cluster.Version\` * Desired Kubernetes version for your cluster. If you don't specify this value, the cluster uses the latest version from Amazon EKS. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly version: string | undefined; /** * \`AWSQS::EKS::Cluster.KubernetesNetworkConfig\` * Network configuration for Amazon EKS cluster. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly kubernetesNetworkConfig: any | undefined; /** * \`AWSQS::EKS::Cluster.ResourcesVpcConfig\` * An object that represents the virtual private cloud (VPC) configuration to use for an Amazon EKS cluster. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly resourcesVpcConfig: any; /** * \`AWSQS::EKS::Cluster.EnabledClusterLoggingTypes\` * Enables exporting of logs from the Kubernetes control plane to Amazon CloudWatch Logs. By default, logs from the cluster control plane are not exported to CloudWatch Logs. The valid log types are api, audit, authenticator, controllerManager, and scheduler. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly enabledClusterLoggingTypes: string[] | undefined; /** * \`AWSQS::EKS::Cluster.EncryptionConfig\` * Encryption configuration for the cluster. * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly encryptionConfig: EncryptionConfigEntry[] | undefined; /** * \`AWSQS::EKS::Cluster.KubernetesApiAccess\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly kubernetesApiAccess: any | undefined; /** * \`AWSQS::EKS::Cluster.Tags\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly tags: any[] | undefined; /** * Attribute \`AWSQS::EKS::Cluster.Arn\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrArn: string; /** * Attribute \`AWSQS::EKS::Cluster.Endpoint\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrEndpoint: string; /** * Attribute \`AWSQS::EKS::Cluster.ClusterSecurityGroupId\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrClusterSecurityGroupId: string; /** * Attribute \`AWSQS::EKS::Cluster.CertificateAuthorityData\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrCertificateAuthorityData: string; /** * Attribute \`AWSQS::EKS::Cluster.EncryptionConfigKeyArn\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrEncryptionConfigKeyArn: string; /** * Attribute \`AWSQS::EKS::Cluster.OIDCIssuerURL\` * @link https://github.com/aws-quickstart/quickstart-amazon-eks-cluster-resource-provider.git */ public readonly attrOIDCIssuerURL: string; /** * Create a new \`AWSQS::EKS::Cluster\`. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: CfnClusterProps) { super(scope, id, { type: CfnCluster.CFN_RESOURCE_TYPE_NAME, properties: toJson_CfnClusterProps(props)! }); this.name = props.name; this.roleArn = props.roleArn; this.lambdaRoleName = props.lambdaRoleName; this.version = props.version; this.kubernetesNetworkConfig = props.kubernetesNetworkConfig; this.resourcesVpcConfig = props.resourcesVpcConfig; this.enabledClusterLoggingTypes = props.enabledClusterLoggingTypes; this.encryptionConfig = props.encryptionConfig; this.kubernetesApiAccess = props.kubernetesApiAccess; this.tags = props.tags; this.attrArn = cdk.Token.asString(this.getAtt('Arn')); this.attrEndpoint = cdk.Token.asString(this.getAtt('Endpoint')); this.attrClusterSecurityGroupId = cdk.Token.asString(this.getAtt('ClusterSecurityGroupId')); this.attrCertificateAuthorityData = cdk.Token.asString(this.getAtt('CertificateAuthorityData')); this.attrEncryptionConfigKeyArn = cdk.Token.asString(this.getAtt('EncryptionConfigKeyArn')); this.attrOIDCIssuerURL = cdk.Token.asString(this.getAtt('OIDCIssuerURL')); } }", } `; exports[`typescript 2`] = ` Map { "ec2-compute-instance.ts" => "// Generated by cdk-import import * as cdk from 'aws-cdk-lib'; import * as sc from 'aws-cdk-lib/aws-servicecatalog'; import * as constructs from 'constructs'; export interface IEc2ComputeInstance extends cdk.IResource { readonly provisionedProductId: string; readonly cloudFormationStackArn: string; readonly recordId: string; readonly iPAddress: string; readonly downloadKeyCommand: string; readonly sshcommand: string; } abstract class Ec2ComputeInstanceBase extends cdk.Resource implements IEc2ComputeInstance { public abstract readonly provisionedProductId: string; public abstract readonly cloudFormationStackArn: string; public abstract readonly recordId: string; public abstract readonly iPAddress: string; public abstract readonly downloadKeyCommand: string; public abstract readonly sshcommand: string; } enum ParameterKeys { ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter = 'SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter', instanceType = 'InstanceType', numbers = 'Numbers', } namespace ParameterKeys { const reverseMap = new Map(); Object.keys(ParameterKeys).forEach((s: string) => { const e = (ParameterKeys)[s]; reverseMap.set(s, e); }); export function valueOf(str: string) { return reverseMap.get(str); } } export interface Ec2ComputeInstanceProps { /** * SsmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter * * @default /aws/service/ami-amazon-linux-latest/amzn2-ami-hvm-arm64-gp2 */ readonly ssmParameterValueawsserviceamiamazonlinuxlatestamzn2amihvmarm64gp2C96584B6F00A464EAD1953AFF4B05118Parameter?: string; /** * InstanceType * * The instance type of an EC2 instance. * * Must be t2 micro or small. * * @default t2.micro */ readonly instanceType?: Ec2ComputeInstance.InstanceType; /** * Numbers * * A number to be selected. * * These are the allowed numbers. * * @default 5 */ readonly numbers?: Ec2ComputeInstance.Numbers; } /** * Ec2ComputeInstance * * Compute instance to be used for experiments, does NOT contain DB access * * Owner: IT */ export class Ec2ComputeInstance extends Ec2ComputeInstanceBase { public readonly provisionedProductId: string; public readonly cloudFormationStackArn: string; public readonly recordId: string; public readonly iPAddress: string; /** * The command to download the key */ public readonly downloadKeyCommand: string; public readonly sshcommand: string; private readonly provisionedProduct: sc.CfnCloudFormationProvisionedProduct; /** * Create a new Service Catalog \\\\\`Ec2ComputeInstance\\\\\` product. * * @param scope - scope in which this resource is defined * @param id - scoped id of the resource * @param props - resource properties */ constructor(scope: constructs.Construct, id: string, props: Ec2ComputeInstanceProps) { super(scope, id); this.provisionedProduct = new sc.CfnCloudFormationProvisionedProduct(this, 'Resource', { provisionedProductName: this.node.id, provisioningArtifactName: 'EC2LargeInstance', productName: 'Ec2ComputeInstance', pathName: 'DevTools', provisioningParameters: Object.entries(props).map(([k, v]) => { return { key: ParameterKeys.valueOf(k) as string, value: v as string, }; }), }); this.provisionedProductId = this.provisionedProduct.ref; this.cloudFormationStackArn = cdk.Token.asString(cdk.Fn.getAtt(this.provisionedProduct.logicalId, 'CloudformationStackArn')); this.recordId = cdk.Token.asString(cdk.Fn.getAtt(this.provisionedProduct.logicalId, 'RecordId')); this.iPAddress = cdk.Token.asString(cdk.Fn.getAtt(this.provisionedProduct.logicalId, 'Outputs.IPAddress')); this.downloadKeyCommand = cdk.Token.asString(cdk.Fn.getAtt(this.provisionedProduct.logicalId, 'Outputs.DownloadKeyCommand')); this.sshcommand = cdk.Token.asString(cdk.Fn.getAtt(this.provisionedProduct.logicalId, 'Outputs.sshcommand')); } } export namespace Ec2ComputeInstance { export enum InstanceType { /** * t2.micro */ T2_MICRO = 't2.micro', /** * t2.small */ T2_SMALL = 't2.small', } export enum Numbers { /** * 1 */ VALUE_1 = '1', /** * 2 */ VALUE_2 = '2', /** * 3 */ VALUE_3 = '3', /** * 4 */ VALUE_4 = '4', /** * 5 */ VALUE_5 = '5', } }", } `;