1. Packages
  2. Control Plane (cpln)
  3. API Docs
  4. Mk8s
Control Plane v0.0.27 published on Saturday, May 25, 2024 by pulumiverse

cpln.Mk8s

Explore with Pulumi AI

cpln logo
Control Plane v0.0.27 published on Saturday, May 25, 2024 by pulumiverse

    Manages a Mk8s’s Mk8s.

    Declaration

    Required

    • name (String) Name of the Mk8s.
    • version (String)

    Note Only one of the providers listed below can be included in a resource.

    • generic_provider (Block List, Max: 1) (see below)
    • hetzner_provider (Block List, Max: 1) (see below)
    • aws_provider (Block List, Max: 1) (see below)

    Optional

    • description (String) Description of the Mk8s.
    • tags (Map of String) Key-value map of resource tags.
    • firewall (Block List, Max: 1) (see below)
    • add_ons (Block List, Max: 1) (see below)

    generic_provider

    Required:

    • location (String) Control Plane location that will host the K8S components. Prefer one that is closest to where the nodes are running.

    Optional:

    • networking (Block List, Max: 1) (see below)
    • node_pool (Block List) (see below)

    generic_provider.networking

    Optional:

    • service_network (String) The CIDR of the service network.
    • pod_network (String) The CIDR of the pod network.

    generic_provider.node_pool

    List of node pools.

    Required:

    • name (String)

    Optional:

    • labels (Map of String) Labels to attach to nodes of a node pool.
    • taint (Block List) (see below)

    generic_provider.node_pool.taint

    Taint for the nodes of a pool.

    Optional:

    • key (String)
    • value (String)
    • effect (String)

    hetzner_provider

    Required:

    • region (String) Hetzner region to deploy nodes to.
    • token_secret_link (String) Link to a secret holding Hetzner access key.
    • network_id (String) ID of the Hetzner network to deploy nodes to.

    Optional:

    • hetzner_labels (Map of String) Extra labels to attach to servers.
    • networking (Block List, Max: 1) (see below)
    • pre_install_script (String) Optional shell script that will be run before K8S is installed.
    • firewall_id (String) Optional firewall rule to attach to all nodes.
    • node_pool (Block List) (see below)
    • dedicated_server_node_pool (Block List) (see below)
    • image (String) Default image for all nodes.
    • ssh_key (String) SSH key name for accessing deployed nodes.
    • autoscaler (Block List, Max: 1) (see below)

    hetzner_provider.node_pool

    List of node pools.

    Required:

    • name (String)
    • server_type (String)

    Optional:

    • labels (Map of String) Labels to attach to nodes of a node pool.
    • taint (Block List) (see below)
    • override_image (String)
    • min_size (Number)
    • max_size (Number)

    hetzner_provider.dedicated_server_node_pool

    Node pool that can configure dedicated Hetzner servers.

    Required:

    • name (String)

    Optional:

    • labels (Map of String) Labels to attach to nodes of a node pool.
    • taint (Block List) (see below)

    aws_provider

    Required:

    • region (String) Region where the cluster nodes will live.
    • skip_create_roles (Boolean) If true, Control Plane will not create any roles.
    • image (Block List, Max: 1) (see below)
    • deploy_role_arn (String) Control Plane will set up the cluster by assuming this role.
    • vpc_id (String) The vpc where nodes will be deployed. Supports SSM.

    Optional:

    • aws_tags (Map of String) Extra tags to attach to all created objects.
    • networking (Block List, Max: 1) (see below)
    • pre_install_script (String) Optional shell script that will be run before K8S is installed. Supports SSM.
    • key_pair (String) Name of keyPair. Supports SSM
    • disk_encryption_key_arn (String) KMS key used to encrypt volumes. Supports SSM.
    • security_group_ids (List of String) Security groups to deploy nodes to. Security groups control if the cluster is multi-zone or single-zon.
    • node_pool (Block List) (see below)
    • autoscaler (Block List, Max: 1) (see below)

    aws_provider.node_pool

    List of node pools.

    Required:

    • name (String)
    • instance_types (List of String)
    • override_image (Block List, Max: 1) (see below)
    • subnet_ids (List of String)

    Optional:

    • labels (Map of String) Labels to attach to nodes of a node pool.
    • taint (Block List) (see below)
    • boot_disk_size (Number) Size in GB.
    • min_size (Number)
    • max_size (Number)
    • on_demand_base_capacity (Number)
    • on_demand_percentage_above_base_capacity (Number)
    • spot_allocation_strategy (String)
    • extra_security_group_ids (List of String)

    ami

    Default image for all nodes.

    Required:

    Note Only one of the following listed below can be included.

    • recommended (String)
    • exact (String) Support SSM.

    autoscaler

    Optional:

    • expander (List of String)
    • unneeded_time (String)
    • unready_time (String)
    • utilization_threshold (Float64)

    firewall

    Allow-list.

    Required:

    • source_cidr (String)

    Optional:

    • description (String)

    add_ons

    Optional:

    • dashboard (Boolean)
    • azure_workload_identity (Block List, Max: 1) (see below)
    • aws_workload_identity (Boolean)
    • local_path_storage (Boolean)
    • metrics (Block List, Max: 1) (see below)
    • logs (Block List, Max: 1) (see below)
    • nvidia (Block List, Max: 1) (see below)
    • aws_efs (Block List, Max: 1) (see below)
    • aws_ecr (Block List, Max: 1) (see below)
    • aws_elb (Block List, Max: 1) (see below)
    • azure_acr (Block List, Max: 1) (see below)
    • sysbox (Boolean)

    add_ons.azure_workload_identity

    Required:

    • tenant_id (String) Tenant ID to use for workload identity.

    add_ons.metrics

    Optional:

    • kube_state (Boolean) Enable kube-state metrics.
    • core_dns (Boolean) Enable scraping of core-dns service.
    • kubelet (Boolean) Enable scraping kubelet stats.
    • api_server (Boolean) Enable scraping apiserver stats.
    • node_exporter (Boolean) Enable collecting node-level stats (disk, network, filesystem, etc).
    • cadvisor (Boolean) Enable CNI-level container stats.
    • scrape_annotated (Block List, Max: 1) (see below)

    add_ons.metrics.scrape-annotated

    Scrape pods annotated with prometheus.io/scrape=true.

    Optional:

    • interval_seconds (Number)
    • include_namespaces (String)
    • exclude_namespaces (String)
    • retain_labels (String)

    add_ons.logs

    Optional:

    • audit_enabled (Boolean) Collect k8s audit log as log events.
    • include_namespaces (String)
    • exclude_namespaces (String)

    add_ons.nvidia

    Required:

    • taint_gpu_nodes (Boolean)

    add_ons.aws_efs

    Required:

    • role_arn (String) Use this role for EFS interaction.

    add_ons.aws_ecr

    Required:

    • role_arn (String) Role to use when authorizing ECR pulls. Optional on AWS, in which case it will use the instance role to pull.

    add_ons.aws_elb

    Required:

    • role_arn (String) Role to use when authorizing calls to EC2 ELB. Optional on AWS, when not provided it will create the recommended role.

    add_ons.azure_acr

    Required:

    • client_id (String)

    Outputs

    The following attributes are exported:

    • cpln_id (String) The ID, in GUID format, of the Mk8s.
    • alias (String) The alias name of the Mk8s.
    • self_link (String) Full link to this resource. Can be referenced by other resources.
    • status (Block List, Max: 1) (see below).

    status

    Status of the mk8s.

    Read-Only:

    • oidc_provider_url (String)
    • server_url (String)
    • home_location (String)
    • add_ons (Block List, Max: 1) (see below)

    status.add_ons

    Read-Only:

    • dashboard (Block List, Max: 1) (see below)
    • aws_workload_identity (Block List, Max: 1) (see below)
    • metrics (Block List, Max: 1) (see below)
    • logs (Block List, Max: 1) (see below)
    • aws_ecr (Block List, Max: 1) (see below)
    • aws_efs (Block List, Max: 1) (see below)
    • aws_elb (Block List, Max: 1) (see below)

    status.add_ons.dashboard

    Read-Only:

    • url (String) Access to dashboard.

    status.add_ons.aws_workload_identity

    Read-Only:

    • oidc_provider_config (Block List, Max: 1) (see below)
    • trust_policy (String)

    status.add_ons.aws_workload_identity.oidc_provider_config

    Read-Only:

    • provider_url (String)
    • audience (String)

    status.add_ons.metrics

    Read-Only:

    • prometheus_endpoint (String)
    • remote_write_config (String)

    status.add_ons.logs

    Read-Only:

    • loki_address (String) Loki endpoint to query logs from.

    status.add_ons.aws

    Read-Only:

    • trust_policy (String)

    Example Usage

    Generic Provider

    Coming soon!

    Coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cpln.Mk8s;
    import com.pulumi.cpln.Mk8sArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAzureAcrArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAzureWorkloadIdentityArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsLogsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsNvidiaArgs;
    import com.pulumi.cpln.inputs.Mk8sFirewallArgs;
    import com.pulumi.cpln.inputs.Mk8sGenericProviderArgs;
    import com.pulumi.cpln.inputs.Mk8sGenericProviderNetworkingArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var generic = new Mk8s("generic", Mk8sArgs.builder()        
                .addOns(Mk8sAddOnsArgs.builder()
                    .awsWorkloadIdentity(true)
                    .azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
                        .clientId("4e25b134-160b-4a9d-b392-13b381ced5ef")
                        .build())
                    .azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
                        .tenantId("7f43458a-a34e-4bfa-9e56-e2289e49c4ec")
                        .build())
                    .dashboard(true)
                    .localPathStorage(true)
                    .logs(Mk8sAddOnsLogsArgs.builder()
                        .auditEnabled(true)
                        .excludeNamespaces("^[a-z]$")
                        .includeNamespaces("^\\d+$")
                        .build())
                    .metrics(Mk8sAddOnsMetricsArgs.builder()
                        .apiServer(true)
                        .cadvisor(true)
                        .coreDns(true)
                        .kubeState(true)
                        .kubelet(true)
                        .nodeExporter(true)
                        .scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
                            .excludeNamespaces("^[a-z]$")
                            .includeNamespaces("^\\d+$")
                            .intervalSeconds(30)
                            .retainLabels("^\\w+$")
                            .build())
                        .build())
                    .nvidia(Mk8sAddOnsNvidiaArgs.builder()
                        .taintGpuNodes(true)
                        .build())
                    .sysbox(true)
                    .build())
                .description("demo-mk8s-generic-provider")
                .firewalls(Mk8sFirewallArgs.builder()
                    .description("hello world")
                    .sourceCidr("192.168.1.255")
                    .build())
                .genericProvider(Mk8sGenericProviderArgs.builder()
                    .location("aws-eu-central-1")
                    .networking(Mk8sGenericProviderNetworkingArgs.builder()
                        .podNetwork("10.42.0.0/16")
                        .serviceNetwork("10.43.0.0/16")
                        .build())
                    .nodePools(Mk8sGenericProviderNodePoolArgs.builder()
                        .labels(Map.of("hello", "world"))
                        .name("my-node-pool")
                        .taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("acceptance_test", "true"),
                    Map.entry("terraform_generated", "true")
                ))
                .version("1.28.4")
                .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      generic:
        type: cpln:Mk8s
        properties:
          addOns:
            awsWorkloadIdentity: true
            azureAcr:
              clientId: 4e25b134-160b-4a9d-b392-13b381ced5ef
            azureWorkloadIdentity:
              tenantId: 7f43458a-a34e-4bfa-9e56-e2289e49c4ec
            dashboard: true
            localPathStorage: true
            logs:
              auditEnabled: true
              excludeNamespaces: ^[a-z]$
              includeNamespaces: ^\d+$
            metrics:
              apiServer: true
              cadvisor: true
              coreDns: true
              kubeState: true
              kubelet: true
              nodeExporter: true
              scrapeAnnotated:
                excludeNamespaces: ^[a-z]$
                includeNamespaces: ^\d+$
                intervalSeconds: 30
                retainLabels: ^\w+$
            nvidia:
              taintGpuNodes: true
            sysbox: true
          description: demo-mk8s-generic-provider
          firewalls:
            - description: hello world
              sourceCidr: 192.168.1.255
          genericProvider:
            location: aws-eu-central-1
            networking:
              podNetwork: 10.42.0.0/16
              serviceNetwork: 10.43.0.0/16
            nodePools:
              - labels:
                  hello: world
                name: my-node-pool
                taint:
                  - effect: NoSchedule
                    key: hello
                    value: world
          tags:
            acceptance_test: 'true'
            terraform_generated: 'true'
          version: 1.28.4
    

    Hetzner Provider

    Coming soon!

    Coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cpln.Mk8s;
    import com.pulumi.cpln.Mk8sArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAzureAcrArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAzureWorkloadIdentityArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsLogsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsNvidiaArgs;
    import com.pulumi.cpln.inputs.Mk8sFirewallArgs;
    import com.pulumi.cpln.inputs.Mk8sHetznerProviderArgs;
    import com.pulumi.cpln.inputs.Mk8sHetznerProviderAutoscalerArgs;
    import com.pulumi.cpln.inputs.Mk8sHetznerProviderNetworkingArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var hetzner = new Mk8s("hetzner", Mk8sArgs.builder()        
                .addOns(Mk8sAddOnsArgs.builder()
                    .awsWorkloadIdentity(true)
                    .azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
                        .clientId("4e25b134-160b-4a9d-b392-13b381ced5ef")
                        .build())
                    .azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
                        .tenantId("7f43458a-a34e-4bfa-9e56-e2289e49c4ec")
                        .build())
                    .dashboard(true)
                    .localPathStorage(true)
                    .logs(Mk8sAddOnsLogsArgs.builder()
                        .auditEnabled(true)
                        .excludeNamespaces("^[a-z]$")
                        .includeNamespaces("^\\d+$")
                        .build())
                    .metrics(Mk8sAddOnsMetricsArgs.builder()
                        .apiServer(true)
                        .cadvisor(true)
                        .coreDns(true)
                        .kubeState(true)
                        .kubelet(true)
                        .nodeExporter(true)
                        .scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
                            .excludeNamespaces("^[a-z]$")
                            .includeNamespaces("^\\d+$")
                            .intervalSeconds(30)
                            .retainLabels("^\\w+$")
                            .build())
                        .build())
                    .nvidia(Mk8sAddOnsNvidiaArgs.builder()
                        .taintGpuNodes(true)
                        .build())
                    .sysbox(true)
                    .build())
                .description("demo-mk8s-hetzner-provider")
                .firewalls(Mk8sFirewallArgs.builder()
                    .description("hello world")
                    .sourceCidr("192.168.1.255")
                    .build())
                .hetznerProvider(Mk8sHetznerProviderArgs.builder()
                    .autoscaler(Mk8sHetznerProviderAutoscalerArgs.builder()
                        .expander("most-pods")
                        .unneededTime("10m")
                        .unreadyTime("20m")
                        .utilizationThreshold(0.7)
                        .build())
                    .dedicatedServerNodePools(Mk8sHetznerProviderDedicatedServerNodePoolArgs.builder()
                        .labels(Map.of("hello", "world"))
                        .name("my-node-pool")
                        .taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .hetznerLabels(Map.of("hello", "world"))
                    .image("centos-7")
                    .networkId("2808575")
                    .networking(Mk8sHetznerProviderNetworkingArgs.builder()
                        .podNetwork("10.42.0.0/16")
                        .serviceNetwork("10.43.0.0/16")
                        .build())
                    .nodePools(Mk8sHetznerProviderNodePoolArgs.builder()
                        .labels(Map.of("hello", "world"))
                        .maxSize(0)
                        .minSize(0)
                        .name("my-hetzner-node-pool")
                        .overrideImage("debian-11")
                        .serverType("cx11")
                        .taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .preInstallScript("#! echo hello world")
                    .region("fsn1")
                    .sshKey("10925607")
                    .tokenSecretLink("/org/terraform-test-org/secret/hetzner")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("acceptance_test", "true"),
                    Map.entry("terraform_generated", "true")
                ))
                .version("1.28.4")
                .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      hetzner:
        type: cpln:Mk8s
        properties:
          addOns:
            awsWorkloadIdentity: true
            azureAcr:
              clientId: 4e25b134-160b-4a9d-b392-13b381ced5ef
            azureWorkloadIdentity:
              tenantId: 7f43458a-a34e-4bfa-9e56-e2289e49c4ec
            dashboard: true
            localPathStorage: true
            logs:
              auditEnabled: true
              excludeNamespaces: ^[a-z]$
              includeNamespaces: ^\d+$
            metrics:
              apiServer: true
              cadvisor: true
              coreDns: true
              kubeState: true
              kubelet: true
              nodeExporter: true
              scrapeAnnotated:
                excludeNamespaces: ^[a-z]$
                includeNamespaces: ^\d+$
                intervalSeconds: 30
                retainLabels: ^\w+$
            nvidia:
              taintGpuNodes: true
            sysbox: true
          description: demo-mk8s-hetzner-provider
          firewalls:
            - description: hello world
              sourceCidr: 192.168.1.255
          hetznerProvider:
            autoscaler:
              expander:
                - most-pods
              unneededTime: 10m
              unreadyTime: 20m
              utilizationThreshold: 0.7
            dedicatedServerNodePools:
              - labels:
                  hello: world
                name: my-node-pool
                taint:
                  - effect: NoSchedule
                    key: hello
                    value: world
            hetznerLabels:
              hello: world
            image: centos-7
            networkId: '2808575'
            networking:
              podNetwork: 10.42.0.0/16
              serviceNetwork: 10.43.0.0/16
            nodePools:
              - labels:
                  hello: world
                maxSize: 0
                minSize: 0
                name: my-hetzner-node-pool
                overrideImage: debian-11
                serverType: cx11
                taint:
                  - effect: NoSchedule
                    key: hello
                    value: world
            preInstallScript: '#! echo hello world'
            region: fsn1
            sshKey: '10925607'
            tokenSecretLink: /org/terraform-test-org/secret/hetzner
          tags:
            acceptance_test: 'true'
            terraform_generated: 'true'
          version: 1.28.4
    

    AWS Provider

    Coming soon!

    Coming soon!

    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.cpln.Mk8s;
    import com.pulumi.cpln.Mk8sArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAwsEcrArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAwsEfsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAwsElbArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAzureAcrArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsAzureWorkloadIdentityArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsLogsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs;
    import com.pulumi.cpln.inputs.Mk8sAddOnsNvidiaArgs;
    import com.pulumi.cpln.inputs.Mk8sAwsProviderArgs;
    import com.pulumi.cpln.inputs.Mk8sAwsProviderAutoscalerArgs;
    import com.pulumi.cpln.inputs.Mk8sAwsProviderImageArgs;
    import com.pulumi.cpln.inputs.Mk8sAwsProviderNetworkingArgs;
    import com.pulumi.cpln.inputs.Mk8sFirewallArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var aws = new Mk8s("aws", Mk8sArgs.builder()        
                .addOns(Mk8sAddOnsArgs.builder()
                    .awsEcr(Mk8sAddOnsAwsEcrArgs.builder()
                        .roleArn("arn:aws:iam::123456789012:role/aws-ecr-role")
                        .build())
                    .awsEfs(Mk8sAddOnsAwsEfsArgs.builder()
                        .roleArn("arn:aws:iam::123456789012:role/aws-efs-role")
                        .build())
                    .awsElb(Mk8sAddOnsAwsElbArgs.builder()
                        .roleArn("arn:aws:iam::123456789012:role/aws-elb-role")
                        .build())
                    .awsWorkloadIdentity(true)
                    .azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
                        .clientId("4e25b134-160b-4a9d-b392-13b381ced5ef")
                        .build())
                    .azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
                        .tenantId("7f43458a-a34e-4bfa-9e56-e2289e49c4ec")
                        .build())
                    .dashboard(true)
                    .localPathStorage(true)
                    .logs(Mk8sAddOnsLogsArgs.builder()
                        .auditEnabled(true)
                        .excludeNamespaces("^[a-z]$")
                        .includeNamespaces("^\\d+$")
                        .build())
                    .metrics(Mk8sAddOnsMetricsArgs.builder()
                        .apiServer(true)
                        .cadvisor(true)
                        .coreDns(true)
                        .kubeState(true)
                        .kubelet(true)
                        .nodeExporter(true)
                        .scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
                            .excludeNamespaces("^[a-z]$")
                            .includeNamespaces("^\\d+$")
                            .intervalSeconds(30)
                            .retainLabels("^\\w+$")
                            .build())
                        .build())
                    .nvidia(Mk8sAddOnsNvidiaArgs.builder()
                        .taintGpuNodes(true)
                        .build())
                    .sysbox(true)
                    .build())
                .awsProvider(Mk8sAwsProviderArgs.builder()
                    .autoscaler(Mk8sAwsProviderAutoscalerArgs.builder()
                        .expander("most-pods")
                        .unneededTime("10m")
                        .unreadyTime("20m")
                        .utilizationThreshold(0.7)
                        .build())
                    .awsTags(Map.of("hello", "world"))
                    .deployRoleArn("arn:aws:iam::12345678901:role/cpln")
                    .diskEncryptionKeyArn("arn:aws:kms:eu-central-1:12345678901:key/0a1bcd23-4567-8901-e2fg-3h4i5jk678lm")
                    .image(Mk8sAwsProviderImageArgs.builder()
                        .recommended("amazon/al2023")
                        .build())
                    .keyPair("cem_uzak")
                    .networking(Mk8sAwsProviderNetworkingArgs.builder()
                        .podNetwork("10.42.0.0/16")
                        .serviceNetwork("10.43.0.0/16")
                        .build())
                    .nodePools(Mk8sAwsProviderNodePoolArgs.builder()
                        .bootDiskSize(20)
                        .extraSecurityGroupIds("sg-031480aa7a1e6e38b")
                        .instanceTypes("t4g.nano")
                        .labels(Map.of("hello", "world"))
                        .maxSize(0)
                        .minSize(0)
                        .name("my-aws-node-pool")
                        .onDemandBaseCapacity(0)
                        .onDemandPercentageAboveBaseCapacity(0)
                        .overrideImage(Mk8sAwsProviderNodePoolOverrideImageArgs.builder()
                            .exact("ami-123")
                            .build())
                        .spotAllocationStrategy("lowest-price")
                        .subnetIds("subnet-0e564a042e2a45009")
                        .taint(%!v(PANIC=Format method: runtime error: invalid memory address or nil pointer dereference))
                        .build())
                    .preInstallScript("#! echo hello world")
                    .region("eu-central-1")
                    .securityGroupIds("sg-031480aa7a1e6e38b")
                    .skipCreateRoles(false)
                    .vpcId("vpc-03105bd4dc058d3a8")
                    .build())
                .description("demo-mk8s-aws-provider")
                .firewalls(Mk8sFirewallArgs.builder()
                    .description("hello world")
                    .sourceCidr("192.168.1.255")
                    .build())
                .tags(Map.ofEntries(
                    Map.entry("acceptance_test", "true"),
                    Map.entry("terraform_generated", "true")
                ))
                .version("1.28.4")
                .build());
    
        }
    }
    

    Coming soon!

    Coming soon!

    resources:
      aws:
        type: cpln:Mk8s
        properties:
          addOns:
            awsEcr:
              roleArn: arn:aws:iam::123456789012:role/aws-ecr-role
            awsEfs:
              roleArn: arn:aws:iam::123456789012:role/aws-efs-role
            awsElb:
              roleArn: arn:aws:iam::123456789012:role/aws-elb-role
            awsWorkloadIdentity: true
            azureAcr:
              clientId: 4e25b134-160b-4a9d-b392-13b381ced5ef
            azureWorkloadIdentity:
              tenantId: 7f43458a-a34e-4bfa-9e56-e2289e49c4ec
            dashboard: true
            localPathStorage: true
            logs:
              auditEnabled: true
              excludeNamespaces: ^[a-z]$
              includeNamespaces: ^\d+$
            metrics:
              apiServer: true
              cadvisor: true
              coreDns: true
              kubeState: true
              kubelet: true
              nodeExporter: true
              scrapeAnnotated:
                excludeNamespaces: ^[a-z]$
                includeNamespaces: ^\d+$
                intervalSeconds: 30
                retainLabels: ^\w+$
            nvidia:
              taintGpuNodes: true
            sysbox: true
          awsProvider:
            autoscaler:
              expander:
                - most-pods
              unneededTime: 10m
              unreadyTime: 20m
              utilizationThreshold: 0.7
            awsTags:
              hello: world
            deployRoleArn: arn:aws:iam::12345678901:role/cpln
            diskEncryptionKeyArn: arn:aws:kms:eu-central-1:12345678901:key/0a1bcd23-4567-8901-e2fg-3h4i5jk678lm
            image:
              recommended: amazon/al2023
            keyPair: cem_uzak
            networking:
              podNetwork: 10.42.0.0/16
              serviceNetwork: 10.43.0.0/16
            nodePools:
              - bootDiskSize: 20
                extraSecurityGroupIds:
                  - sg-031480aa7a1e6e38b
                instanceTypes:
                  - t4g.nano
                labels:
                  hello: world
                maxSize: 0
                minSize: 0
                name: my-aws-node-pool
                onDemandBaseCapacity: 0
                onDemandPercentageAboveBaseCapacity: 0
                overrideImage:
                  exact: ami-123
                spotAllocationStrategy: lowest-price
                subnetIds:
                  - subnet-0e564a042e2a45009
                taint:
                  - effect: NoSchedule
                    key: hello
                    value: world
            preInstallScript: '#! echo hello world'
            region: eu-central-1
            securityGroupIds:
              - sg-031480aa7a1e6e38b
            skipCreateRoles: false
            vpcId: vpc-03105bd4dc058d3a8
          description: demo-mk8s-aws-provider
          firewalls:
            - description: hello world
              sourceCidr: 192.168.1.255
          tags:
            acceptance_test: 'true'
            terraform_generated: 'true'
          version: 1.28.4
    

    Create Mk8s Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Mk8s(name: string, args: Mk8sArgs, opts?: CustomResourceOptions);
    @overload
    def Mk8s(resource_name: str,
             args: Mk8sArgs,
             opts: Optional[ResourceOptions] = None)
    
    @overload
    def Mk8s(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             version: Optional[str] = None,
             add_ons: Optional[Mk8sAddOnsArgs] = None,
             aws_provider: Optional[Mk8sAwsProviderArgs] = None,
             description: Optional[str] = None,
             firewalls: Optional[Sequence[Mk8sFirewallArgs]] = None,
             generic_provider: Optional[Mk8sGenericProviderArgs] = None,
             hetzner_provider: Optional[Mk8sHetznerProviderArgs] = None,
             name: Optional[str] = None,
             tags: Optional[Mapping[str, str]] = None)
    func NewMk8s(ctx *Context, name string, args Mk8sArgs, opts ...ResourceOption) (*Mk8s, error)
    public Mk8s(string name, Mk8sArgs args, CustomResourceOptions? opts = null)
    public Mk8s(String name, Mk8sArgs args)
    public Mk8s(String name, Mk8sArgs args, CustomResourceOptions options)
    
    type: cpln:Mk8s
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args Mk8sArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args Mk8sArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args Mk8sArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args Mk8sArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args Mk8sArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var mk8sResource = new Cpln.Mk8s("mk8sResource", new()
    {
        Version = "string",
        AddOns = new Cpln.Inputs.Mk8sAddOnsArgs
        {
            AwsEcr = new Cpln.Inputs.Mk8sAddOnsAwsEcrArgs
            {
                RoleArn = "string",
            },
            AwsEfs = new Cpln.Inputs.Mk8sAddOnsAwsEfsArgs
            {
                RoleArn = "string",
            },
            AwsElb = new Cpln.Inputs.Mk8sAddOnsAwsElbArgs
            {
                RoleArn = "string",
            },
            AwsWorkloadIdentity = false,
            AzureAcr = new Cpln.Inputs.Mk8sAddOnsAzureAcrArgs
            {
                ClientId = "string",
            },
            AzureWorkloadIdentity = new Cpln.Inputs.Mk8sAddOnsAzureWorkloadIdentityArgs
            {
                TenantId = "string",
            },
            Dashboard = false,
            LocalPathStorage = false,
            Logs = new Cpln.Inputs.Mk8sAddOnsLogsArgs
            {
                AuditEnabled = false,
                ExcludeNamespaces = "string",
                IncludeNamespaces = "string",
            },
            Metrics = new Cpln.Inputs.Mk8sAddOnsMetricsArgs
            {
                ApiServer = false,
                Cadvisor = false,
                CoreDns = false,
                KubeState = false,
                Kubelet = false,
                NodeExporter = false,
                ScrapeAnnotated = new Cpln.Inputs.Mk8sAddOnsMetricsScrapeAnnotatedArgs
                {
                    ExcludeNamespaces = "string",
                    IncludeNamespaces = "string",
                    IntervalSeconds = 0,
                    RetainLabels = "string",
                },
            },
            Nvidia = new Cpln.Inputs.Mk8sAddOnsNvidiaArgs
            {
                TaintGpuNodes = false,
            },
            Sysbox = false,
        },
        AwsProvider = new Cpln.Inputs.Mk8sAwsProviderArgs
        {
            Image = new Cpln.Inputs.Mk8sAwsProviderImageArgs
            {
                Exact = "string",
                Recommended = "string",
            },
            VpcId = "string",
            DeployRoleArn = "string",
            Region = "string",
            DiskEncryptionKeyArn = "string",
            KeyPair = "string",
            Networking = new Cpln.Inputs.Mk8sAwsProviderNetworkingArgs
            {
                PodNetwork = "string",
                ServiceNetwork = "string",
            },
            NodePools = new[]
            {
                new Cpln.Inputs.Mk8sAwsProviderNodePoolArgs
                {
                    OverrideImage = new Cpln.Inputs.Mk8sAwsProviderNodePoolOverrideImageArgs
                    {
                        Exact = "string",
                        Recommended = "string",
                    },
                    InstanceTypes = new[]
                    {
                        "string",
                    },
                    Name = "string",
                    SubnetIds = new[]
                    {
                        "string",
                    },
                    ExtraSecurityGroupIds = new[]
                    {
                        "string",
                    },
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    MaxSize = 0,
                    MinSize = 0,
                    OnDemandBaseCapacity = 0,
                    OnDemandPercentageAboveBaseCapacity = 0,
                    BootDiskSize = 0,
                    SpotAllocationStrategy = "string",
                    Taints = new[]
                    {
                        new Cpln.Inputs.Mk8sAwsProviderNodePoolTaintArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
            },
            PreInstallScript = "string",
            Autoscaler = new Cpln.Inputs.Mk8sAwsProviderAutoscalerArgs
            {
                Expanders = new[]
                {
                    "string",
                },
                UnneededTime = "string",
                UnreadyTime = "string",
                UtilizationThreshold = 0,
            },
            SecurityGroupIds = new[]
            {
                "string",
            },
            SkipCreateRoles = false,
            AwsTags = 
            {
                { "string", "string" },
            },
        },
        Description = "string",
        Firewalls = new[]
        {
            new Cpln.Inputs.Mk8sFirewallArgs
            {
                SourceCidr = "string",
                Description = "string",
            },
        },
        GenericProvider = new Cpln.Inputs.Mk8sGenericProviderArgs
        {
            Location = "string",
            Networking = new Cpln.Inputs.Mk8sGenericProviderNetworkingArgs
            {
                PodNetwork = "string",
                ServiceNetwork = "string",
            },
            NodePools = new[]
            {
                new Cpln.Inputs.Mk8sGenericProviderNodePoolArgs
                {
                    Name = "string",
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    Taints = new[]
                    {
                        new Cpln.Inputs.Mk8sGenericProviderNodePoolTaintArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
            },
        },
        HetznerProvider = new Cpln.Inputs.Mk8sHetznerProviderArgs
        {
            NetworkId = "string",
            Region = "string",
            TokenSecretLink = "string",
            Autoscaler = new Cpln.Inputs.Mk8sHetznerProviderAutoscalerArgs
            {
                Expanders = new[]
                {
                    "string",
                },
                UnneededTime = "string",
                UnreadyTime = "string",
                UtilizationThreshold = 0,
            },
            DedicatedServerNodePools = new[]
            {
                new Cpln.Inputs.Mk8sHetznerProviderDedicatedServerNodePoolArgs
                {
                    Name = "string",
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    Taints = new[]
                    {
                        new Cpln.Inputs.Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
            },
            FirewallId = "string",
            HetznerLabels = 
            {
                { "string", "string" },
            },
            Image = "string",
            Networking = new Cpln.Inputs.Mk8sHetznerProviderNetworkingArgs
            {
                PodNetwork = "string",
                ServiceNetwork = "string",
            },
            NodePools = new[]
            {
                new Cpln.Inputs.Mk8sHetznerProviderNodePoolArgs
                {
                    Name = "string",
                    ServerType = "string",
                    Labels = 
                    {
                        { "string", "string" },
                    },
                    MaxSize = 0,
                    MinSize = 0,
                    OverrideImage = "string",
                    Taints = new[]
                    {
                        new Cpln.Inputs.Mk8sHetznerProviderNodePoolTaintArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Value = "string",
                        },
                    },
                },
            },
            PreInstallScript = "string",
            SshKey = "string",
        },
        Name = "string",
        Tags = 
        {
            { "string", "string" },
        },
    });
    
    example, err := cpln.NewMk8s(ctx, "mk8sResource", &cpln.Mk8sArgs{
    	Version: pulumi.String("string"),
    	AddOns: &cpln.Mk8sAddOnsArgs{
    		AwsEcr: &cpln.Mk8sAddOnsAwsEcrArgs{
    			RoleArn: pulumi.String("string"),
    		},
    		AwsEfs: &cpln.Mk8sAddOnsAwsEfsArgs{
    			RoleArn: pulumi.String("string"),
    		},
    		AwsElb: &cpln.Mk8sAddOnsAwsElbArgs{
    			RoleArn: pulumi.String("string"),
    		},
    		AwsWorkloadIdentity: pulumi.Bool(false),
    		AzureAcr: &cpln.Mk8sAddOnsAzureAcrArgs{
    			ClientId: pulumi.String("string"),
    		},
    		AzureWorkloadIdentity: &cpln.Mk8sAddOnsAzureWorkloadIdentityArgs{
    			TenantId: pulumi.String("string"),
    		},
    		Dashboard:        pulumi.Bool(false),
    		LocalPathStorage: pulumi.Bool(false),
    		Logs: &cpln.Mk8sAddOnsLogsArgs{
    			AuditEnabled:      pulumi.Bool(false),
    			ExcludeNamespaces: pulumi.String("string"),
    			IncludeNamespaces: pulumi.String("string"),
    		},
    		Metrics: &cpln.Mk8sAddOnsMetricsArgs{
    			ApiServer:    pulumi.Bool(false),
    			Cadvisor:     pulumi.Bool(false),
    			CoreDns:      pulumi.Bool(false),
    			KubeState:    pulumi.Bool(false),
    			Kubelet:      pulumi.Bool(false),
    			NodeExporter: pulumi.Bool(false),
    			ScrapeAnnotated: &cpln.Mk8sAddOnsMetricsScrapeAnnotatedArgs{
    				ExcludeNamespaces: pulumi.String("string"),
    				IncludeNamespaces: pulumi.String("string"),
    				IntervalSeconds:   pulumi.Int(0),
    				RetainLabels:      pulumi.String("string"),
    			},
    		},
    		Nvidia: &cpln.Mk8sAddOnsNvidiaArgs{
    			TaintGpuNodes: pulumi.Bool(false),
    		},
    		Sysbox: pulumi.Bool(false),
    	},
    	AwsProvider: &cpln.Mk8sAwsProviderArgs{
    		Image: &cpln.Mk8sAwsProviderImageArgs{
    			Exact:       pulumi.String("string"),
    			Recommended: pulumi.String("string"),
    		},
    		VpcId:                pulumi.String("string"),
    		DeployRoleArn:        pulumi.String("string"),
    		Region:               pulumi.String("string"),
    		DiskEncryptionKeyArn: pulumi.String("string"),
    		KeyPair:              pulumi.String("string"),
    		Networking: &cpln.Mk8sAwsProviderNetworkingArgs{
    			PodNetwork:     pulumi.String("string"),
    			ServiceNetwork: pulumi.String("string"),
    		},
    		NodePools: cpln.Mk8sAwsProviderNodePoolArray{
    			&cpln.Mk8sAwsProviderNodePoolArgs{
    				OverrideImage: &cpln.Mk8sAwsProviderNodePoolOverrideImageArgs{
    					Exact:       pulumi.String("string"),
    					Recommended: pulumi.String("string"),
    				},
    				InstanceTypes: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Name: pulumi.String("string"),
    				SubnetIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ExtraSecurityGroupIds: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				MaxSize:                             pulumi.Int(0),
    				MinSize:                             pulumi.Int(0),
    				OnDemandBaseCapacity:                pulumi.Int(0),
    				OnDemandPercentageAboveBaseCapacity: pulumi.Int(0),
    				BootDiskSize:                        pulumi.Int(0),
    				SpotAllocationStrategy:              pulumi.String("string"),
    				Taints: cpln.Mk8sAwsProviderNodePoolTaintArray{
    					&cpln.Mk8sAwsProviderNodePoolTaintArgs{
    						Effect: pulumi.String("string"),
    						Key:    pulumi.String("string"),
    						Value:  pulumi.String("string"),
    					},
    				},
    			},
    		},
    		PreInstallScript: pulumi.String("string"),
    		Autoscaler: &cpln.Mk8sAwsProviderAutoscalerArgs{
    			Expanders: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			UnneededTime:         pulumi.String("string"),
    			UnreadyTime:          pulumi.String("string"),
    			UtilizationThreshold: pulumi.Float64(0),
    		},
    		SecurityGroupIds: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    		SkipCreateRoles: pulumi.Bool(false),
    		AwsTags: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	Description: pulumi.String("string"),
    	Firewalls: cpln.Mk8sFirewallArray{
    		&cpln.Mk8sFirewallArgs{
    			SourceCidr:  pulumi.String("string"),
    			Description: pulumi.String("string"),
    		},
    	},
    	GenericProvider: &cpln.Mk8sGenericProviderArgs{
    		Location: pulumi.String("string"),
    		Networking: &cpln.Mk8sGenericProviderNetworkingArgs{
    			PodNetwork:     pulumi.String("string"),
    			ServiceNetwork: pulumi.String("string"),
    		},
    		NodePools: cpln.Mk8sGenericProviderNodePoolArray{
    			&cpln.Mk8sGenericProviderNodePoolArgs{
    				Name: pulumi.String("string"),
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				Taints: cpln.Mk8sGenericProviderNodePoolTaintArray{
    					&cpln.Mk8sGenericProviderNodePoolTaintArgs{
    						Effect: pulumi.String("string"),
    						Key:    pulumi.String("string"),
    						Value:  pulumi.String("string"),
    					},
    				},
    			},
    		},
    	},
    	HetznerProvider: &cpln.Mk8sHetznerProviderArgs{
    		NetworkId:       pulumi.String("string"),
    		Region:          pulumi.String("string"),
    		TokenSecretLink: pulumi.String("string"),
    		Autoscaler: &cpln.Mk8sHetznerProviderAutoscalerArgs{
    			Expanders: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			UnneededTime:         pulumi.String("string"),
    			UnreadyTime:          pulumi.String("string"),
    			UtilizationThreshold: pulumi.Float64(0),
    		},
    		DedicatedServerNodePools: cpln.Mk8sHetznerProviderDedicatedServerNodePoolArray{
    			&cpln.Mk8sHetznerProviderDedicatedServerNodePoolArgs{
    				Name: pulumi.String("string"),
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				Taints: cpln.Mk8sHetznerProviderDedicatedServerNodePoolTaintArray{
    					&cpln.Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs{
    						Effect: pulumi.String("string"),
    						Key:    pulumi.String("string"),
    						Value:  pulumi.String("string"),
    					},
    				},
    			},
    		},
    		FirewallId: pulumi.String("string"),
    		HetznerLabels: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Image: pulumi.String("string"),
    		Networking: &cpln.Mk8sHetznerProviderNetworkingArgs{
    			PodNetwork:     pulumi.String("string"),
    			ServiceNetwork: pulumi.String("string"),
    		},
    		NodePools: cpln.Mk8sHetznerProviderNodePoolArray{
    			&cpln.Mk8sHetznerProviderNodePoolArgs{
    				Name:       pulumi.String("string"),
    				ServerType: pulumi.String("string"),
    				Labels: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				MaxSize:       pulumi.Int(0),
    				MinSize:       pulumi.Int(0),
    				OverrideImage: pulumi.String("string"),
    				Taints: cpln.Mk8sHetznerProviderNodePoolTaintArray{
    					&cpln.Mk8sHetznerProviderNodePoolTaintArgs{
    						Effect: pulumi.String("string"),
    						Key:    pulumi.String("string"),
    						Value:  pulumi.String("string"),
    					},
    				},
    			},
    		},
    		PreInstallScript: pulumi.String("string"),
    		SshKey:           pulumi.String("string"),
    	},
    	Name: pulumi.String("string"),
    	Tags: pulumi.StringMap{
    		"string": pulumi.String("string"),
    	},
    })
    
    var mk8sResource = new Mk8s("mk8sResource", Mk8sArgs.builder()
        .version("string")
        .addOns(Mk8sAddOnsArgs.builder()
            .awsEcr(Mk8sAddOnsAwsEcrArgs.builder()
                .roleArn("string")
                .build())
            .awsEfs(Mk8sAddOnsAwsEfsArgs.builder()
                .roleArn("string")
                .build())
            .awsElb(Mk8sAddOnsAwsElbArgs.builder()
                .roleArn("string")
                .build())
            .awsWorkloadIdentity(false)
            .azureAcr(Mk8sAddOnsAzureAcrArgs.builder()
                .clientId("string")
                .build())
            .azureWorkloadIdentity(Mk8sAddOnsAzureWorkloadIdentityArgs.builder()
                .tenantId("string")
                .build())
            .dashboard(false)
            .localPathStorage(false)
            .logs(Mk8sAddOnsLogsArgs.builder()
                .auditEnabled(false)
                .excludeNamespaces("string")
                .includeNamespaces("string")
                .build())
            .metrics(Mk8sAddOnsMetricsArgs.builder()
                .apiServer(false)
                .cadvisor(false)
                .coreDns(false)
                .kubeState(false)
                .kubelet(false)
                .nodeExporter(false)
                .scrapeAnnotated(Mk8sAddOnsMetricsScrapeAnnotatedArgs.builder()
                    .excludeNamespaces("string")
                    .includeNamespaces("string")
                    .intervalSeconds(0)
                    .retainLabels("string")
                    .build())
                .build())
            .nvidia(Mk8sAddOnsNvidiaArgs.builder()
                .taintGpuNodes(false)
                .build())
            .sysbox(false)
            .build())
        .awsProvider(Mk8sAwsProviderArgs.builder()
            .image(Mk8sAwsProviderImageArgs.builder()
                .exact("string")
                .recommended("string")
                .build())
            .vpcId("string")
            .deployRoleArn("string")
            .region("string")
            .diskEncryptionKeyArn("string")
            .keyPair("string")
            .networking(Mk8sAwsProviderNetworkingArgs.builder()
                .podNetwork("string")
                .serviceNetwork("string")
                .build())
            .nodePools(Mk8sAwsProviderNodePoolArgs.builder()
                .overrideImage(Mk8sAwsProviderNodePoolOverrideImageArgs.builder()
                    .exact("string")
                    .recommended("string")
                    .build())
                .instanceTypes("string")
                .name("string")
                .subnetIds("string")
                .extraSecurityGroupIds("string")
                .labels(Map.of("string", "string"))
                .maxSize(0)
                .minSize(0)
                .onDemandBaseCapacity(0)
                .onDemandPercentageAboveBaseCapacity(0)
                .bootDiskSize(0)
                .spotAllocationStrategy("string")
                .taints(Mk8sAwsProviderNodePoolTaintArgs.builder()
                    .effect("string")
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .preInstallScript("string")
            .autoscaler(Mk8sAwsProviderAutoscalerArgs.builder()
                .expanders("string")
                .unneededTime("string")
                .unreadyTime("string")
                .utilizationThreshold(0)
                .build())
            .securityGroupIds("string")
            .skipCreateRoles(false)
            .awsTags(Map.of("string", "string"))
            .build())
        .description("string")
        .firewalls(Mk8sFirewallArgs.builder()
            .sourceCidr("string")
            .description("string")
            .build())
        .genericProvider(Mk8sGenericProviderArgs.builder()
            .location("string")
            .networking(Mk8sGenericProviderNetworkingArgs.builder()
                .podNetwork("string")
                .serviceNetwork("string")
                .build())
            .nodePools(Mk8sGenericProviderNodePoolArgs.builder()
                .name("string")
                .labels(Map.of("string", "string"))
                .taints(Mk8sGenericProviderNodePoolTaintArgs.builder()
                    .effect("string")
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .build())
        .hetznerProvider(Mk8sHetznerProviderArgs.builder()
            .networkId("string")
            .region("string")
            .tokenSecretLink("string")
            .autoscaler(Mk8sHetznerProviderAutoscalerArgs.builder()
                .expanders("string")
                .unneededTime("string")
                .unreadyTime("string")
                .utilizationThreshold(0)
                .build())
            .dedicatedServerNodePools(Mk8sHetznerProviderDedicatedServerNodePoolArgs.builder()
                .name("string")
                .labels(Map.of("string", "string"))
                .taints(Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs.builder()
                    .effect("string")
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .firewallId("string")
            .hetznerLabels(Map.of("string", "string"))
            .image("string")
            .networking(Mk8sHetznerProviderNetworkingArgs.builder()
                .podNetwork("string")
                .serviceNetwork("string")
                .build())
            .nodePools(Mk8sHetznerProviderNodePoolArgs.builder()
                .name("string")
                .serverType("string")
                .labels(Map.of("string", "string"))
                .maxSize(0)
                .minSize(0)
                .overrideImage("string")
                .taints(Mk8sHetznerProviderNodePoolTaintArgs.builder()
                    .effect("string")
                    .key("string")
                    .value("string")
                    .build())
                .build())
            .preInstallScript("string")
            .sshKey("string")
            .build())
        .name("string")
        .tags(Map.of("string", "string"))
        .build());
    
    mk8s_resource = cpln.Mk8s("mk8sResource",
        version="string",
        add_ons=cpln.Mk8sAddOnsArgs(
            aws_ecr=cpln.Mk8sAddOnsAwsEcrArgs(
                role_arn="string",
            ),
            aws_efs=cpln.Mk8sAddOnsAwsEfsArgs(
                role_arn="string",
            ),
            aws_elb=cpln.Mk8sAddOnsAwsElbArgs(
                role_arn="string",
            ),
            aws_workload_identity=False,
            azure_acr=cpln.Mk8sAddOnsAzureAcrArgs(
                client_id="string",
            ),
            azure_workload_identity=cpln.Mk8sAddOnsAzureWorkloadIdentityArgs(
                tenant_id="string",
            ),
            dashboard=False,
            local_path_storage=False,
            logs=cpln.Mk8sAddOnsLogsArgs(
                audit_enabled=False,
                exclude_namespaces="string",
                include_namespaces="string",
            ),
            metrics=cpln.Mk8sAddOnsMetricsArgs(
                api_server=False,
                cadvisor=False,
                core_dns=False,
                kube_state=False,
                kubelet=False,
                node_exporter=False,
                scrape_annotated=cpln.Mk8sAddOnsMetricsScrapeAnnotatedArgs(
                    exclude_namespaces="string",
                    include_namespaces="string",
                    interval_seconds=0,
                    retain_labels="string",
                ),
            ),
            nvidia=cpln.Mk8sAddOnsNvidiaArgs(
                taint_gpu_nodes=False,
            ),
            sysbox=False,
        ),
        aws_provider=cpln.Mk8sAwsProviderArgs(
            image=cpln.Mk8sAwsProviderImageArgs(
                exact="string",
                recommended="string",
            ),
            vpc_id="string",
            deploy_role_arn="string",
            region="string",
            disk_encryption_key_arn="string",
            key_pair="string",
            networking=cpln.Mk8sAwsProviderNetworkingArgs(
                pod_network="string",
                service_network="string",
            ),
            node_pools=[cpln.Mk8sAwsProviderNodePoolArgs(
                override_image=cpln.Mk8sAwsProviderNodePoolOverrideImageArgs(
                    exact="string",
                    recommended="string",
                ),
                instance_types=["string"],
                name="string",
                subnet_ids=["string"],
                extra_security_group_ids=["string"],
                labels={
                    "string": "string",
                },
                max_size=0,
                min_size=0,
                on_demand_base_capacity=0,
                on_demand_percentage_above_base_capacity=0,
                boot_disk_size=0,
                spot_allocation_strategy="string",
                taints=[cpln.Mk8sAwsProviderNodePoolTaintArgs(
                    effect="string",
                    key="string",
                    value="string",
                )],
            )],
            pre_install_script="string",
            autoscaler=cpln.Mk8sAwsProviderAutoscalerArgs(
                expanders=["string"],
                unneeded_time="string",
                unready_time="string",
                utilization_threshold=0,
            ),
            security_group_ids=["string"],
            skip_create_roles=False,
            aws_tags={
                "string": "string",
            },
        ),
        description="string",
        firewalls=[cpln.Mk8sFirewallArgs(
            source_cidr="string",
            description="string",
        )],
        generic_provider=cpln.Mk8sGenericProviderArgs(
            location="string",
            networking=cpln.Mk8sGenericProviderNetworkingArgs(
                pod_network="string",
                service_network="string",
            ),
            node_pools=[cpln.Mk8sGenericProviderNodePoolArgs(
                name="string",
                labels={
                    "string": "string",
                },
                taints=[cpln.Mk8sGenericProviderNodePoolTaintArgs(
                    effect="string",
                    key="string",
                    value="string",
                )],
            )],
        ),
        hetzner_provider=cpln.Mk8sHetznerProviderArgs(
            network_id="string",
            region="string",
            token_secret_link="string",
            autoscaler=cpln.Mk8sHetznerProviderAutoscalerArgs(
                expanders=["string"],
                unneeded_time="string",
                unready_time="string",
                utilization_threshold=0,
            ),
            dedicated_server_node_pools=[cpln.Mk8sHetznerProviderDedicatedServerNodePoolArgs(
                name="string",
                labels={
                    "string": "string",
                },
                taints=[cpln.Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs(
                    effect="string",
                    key="string",
                    value="string",
                )],
            )],
            firewall_id="string",
            hetzner_labels={
                "string": "string",
            },
            image="string",
            networking=cpln.Mk8sHetznerProviderNetworkingArgs(
                pod_network="string",
                service_network="string",
            ),
            node_pools=[cpln.Mk8sHetznerProviderNodePoolArgs(
                name="string",
                server_type="string",
                labels={
                    "string": "string",
                },
                max_size=0,
                min_size=0,
                override_image="string",
                taints=[cpln.Mk8sHetznerProviderNodePoolTaintArgs(
                    effect="string",
                    key="string",
                    value="string",
                )],
            )],
            pre_install_script="string",
            ssh_key="string",
        ),
        name="string",
        tags={
            "string": "string",
        })
    
    const mk8sResource = new cpln.Mk8s("mk8sResource", {
        version: "string",
        addOns: {
            awsEcr: {
                roleArn: "string",
            },
            awsEfs: {
                roleArn: "string",
            },
            awsElb: {
                roleArn: "string",
            },
            awsWorkloadIdentity: false,
            azureAcr: {
                clientId: "string",
            },
            azureWorkloadIdentity: {
                tenantId: "string",
            },
            dashboard: false,
            localPathStorage: false,
            logs: {
                auditEnabled: false,
                excludeNamespaces: "string",
                includeNamespaces: "string",
            },
            metrics: {
                apiServer: false,
                cadvisor: false,
                coreDns: false,
                kubeState: false,
                kubelet: false,
                nodeExporter: false,
                scrapeAnnotated: {
                    excludeNamespaces: "string",
                    includeNamespaces: "string",
                    intervalSeconds: 0,
                    retainLabels: "string",
                },
            },
            nvidia: {
                taintGpuNodes: false,
            },
            sysbox: false,
        },
        awsProvider: {
            image: {
                exact: "string",
                recommended: "string",
            },
            vpcId: "string",
            deployRoleArn: "string",
            region: "string",
            diskEncryptionKeyArn: "string",
            keyPair: "string",
            networking: {
                podNetwork: "string",
                serviceNetwork: "string",
            },
            nodePools: [{
                overrideImage: {
                    exact: "string",
                    recommended: "string",
                },
                instanceTypes: ["string"],
                name: "string",
                subnetIds: ["string"],
                extraSecurityGroupIds: ["string"],
                labels: {
                    string: "string",
                },
                maxSize: 0,
                minSize: 0,
                onDemandBaseCapacity: 0,
                onDemandPercentageAboveBaseCapacity: 0,
                bootDiskSize: 0,
                spotAllocationStrategy: "string",
                taints: [{
                    effect: "string",
                    key: "string",
                    value: "string",
                }],
            }],
            preInstallScript: "string",
            autoscaler: {
                expanders: ["string"],
                unneededTime: "string",
                unreadyTime: "string",
                utilizationThreshold: 0,
            },
            securityGroupIds: ["string"],
            skipCreateRoles: false,
            awsTags: {
                string: "string",
            },
        },
        description: "string",
        firewalls: [{
            sourceCidr: "string",
            description: "string",
        }],
        genericProvider: {
            location: "string",
            networking: {
                podNetwork: "string",
                serviceNetwork: "string",
            },
            nodePools: [{
                name: "string",
                labels: {
                    string: "string",
                },
                taints: [{
                    effect: "string",
                    key: "string",
                    value: "string",
                }],
            }],
        },
        hetznerProvider: {
            networkId: "string",
            region: "string",
            tokenSecretLink: "string",
            autoscaler: {
                expanders: ["string"],
                unneededTime: "string",
                unreadyTime: "string",
                utilizationThreshold: 0,
            },
            dedicatedServerNodePools: [{
                name: "string",
                labels: {
                    string: "string",
                },
                taints: [{
                    effect: "string",
                    key: "string",
                    value: "string",
                }],
            }],
            firewallId: "string",
            hetznerLabels: {
                string: "string",
            },
            image: "string",
            networking: {
                podNetwork: "string",
                serviceNetwork: "string",
            },
            nodePools: [{
                name: "string",
                serverType: "string",
                labels: {
                    string: "string",
                },
                maxSize: 0,
                minSize: 0,
                overrideImage: "string",
                taints: [{
                    effect: "string",
                    key: "string",
                    value: "string",
                }],
            }],
            preInstallScript: "string",
            sshKey: "string",
        },
        name: "string",
        tags: {
            string: "string",
        },
    });
    
    type: cpln:Mk8s
    properties:
        addOns:
            awsEcr:
                roleArn: string
            awsEfs:
                roleArn: string
            awsElb:
                roleArn: string
            awsWorkloadIdentity: false
            azureAcr:
                clientId: string
            azureWorkloadIdentity:
                tenantId: string
            dashboard: false
            localPathStorage: false
            logs:
                auditEnabled: false
                excludeNamespaces: string
                includeNamespaces: string
            metrics:
                apiServer: false
                cadvisor: false
                coreDns: false
                kubeState: false
                kubelet: false
                nodeExporter: false
                scrapeAnnotated:
                    excludeNamespaces: string
                    includeNamespaces: string
                    intervalSeconds: 0
                    retainLabels: string
            nvidia:
                taintGpuNodes: false
            sysbox: false
        awsProvider:
            autoscaler:
                expanders:
                    - string
                unneededTime: string
                unreadyTime: string
                utilizationThreshold: 0
            awsTags:
                string: string
            deployRoleArn: string
            diskEncryptionKeyArn: string
            image:
                exact: string
                recommended: string
            keyPair: string
            networking:
                podNetwork: string
                serviceNetwork: string
            nodePools:
                - bootDiskSize: 0
                  extraSecurityGroupIds:
                    - string
                  instanceTypes:
                    - string
                  labels:
                    string: string
                  maxSize: 0
                  minSize: 0
                  name: string
                  onDemandBaseCapacity: 0
                  onDemandPercentageAboveBaseCapacity: 0
                  overrideImage:
                    exact: string
                    recommended: string
                  spotAllocationStrategy: string
                  subnetIds:
                    - string
                  taints:
                    - effect: string
                      key: string
                      value: string
            preInstallScript: string
            region: string
            securityGroupIds:
                - string
            skipCreateRoles: false
            vpcId: string
        description: string
        firewalls:
            - description: string
              sourceCidr: string
        genericProvider:
            location: string
            networking:
                podNetwork: string
                serviceNetwork: string
            nodePools:
                - labels:
                    string: string
                  name: string
                  taints:
                    - effect: string
                      key: string
                      value: string
        hetznerProvider:
            autoscaler:
                expanders:
                    - string
                unneededTime: string
                unreadyTime: string
                utilizationThreshold: 0
            dedicatedServerNodePools:
                - labels:
                    string: string
                  name: string
                  taints:
                    - effect: string
                      key: string
                      value: string
            firewallId: string
            hetznerLabels:
                string: string
            image: string
            networkId: string
            networking:
                podNetwork: string
                serviceNetwork: string
            nodePools:
                - labels:
                    string: string
                  maxSize: 0
                  minSize: 0
                  name: string
                  overrideImage: string
                  serverType: string
                  taints:
                    - effect: string
                      key: string
                      value: string
            preInstallScript: string
            region: string
            sshKey: string
            tokenSecretLink: string
        name: string
        tags:
            string: string
        version: string
    

    Mk8s Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Mk8s resource accepts the following input properties:

    Version string
    AddOns Mk8sAddOnsArgs
    AwsProvider Mk8sAwsProviderArgs
    Description string
    Description of the Mk8s.
    Firewalls []Mk8sFirewallArgs
    Allow-list.
    GenericProvider Mk8sGenericProviderArgs
    HetznerProvider Mk8sHetznerProviderArgs
    Name string
    Name of the Mk8s.
    Tags map[string]string
    Key-value map of resource tags.
    version String
    addOns Mk8sAddOns
    awsProvider Mk8sAwsProvider
    description String
    Description of the Mk8s.
    firewalls List<Mk8sFirewall>
    Allow-list.
    genericProvider Mk8sGenericProvider
    hetznerProvider Mk8sHetznerProvider
    name String
    Name of the Mk8s.
    tags Map<String,String>
    Key-value map of resource tags.
    version string
    addOns Mk8sAddOns
    awsProvider Mk8sAwsProvider
    description string
    Description of the Mk8s.
    firewalls Mk8sFirewall[]
    Allow-list.
    genericProvider Mk8sGenericProvider
    hetznerProvider Mk8sHetznerProvider
    name string
    Name of the Mk8s.
    tags {[key: string]: string}
    Key-value map of resource tags.
    version String
    addOns Property Map
    awsProvider Property Map
    description String
    Description of the Mk8s.
    firewalls List<Property Map>
    Allow-list.
    genericProvider Property Map
    hetznerProvider Property Map
    name String
    Name of the Mk8s.
    tags Map<String>
    Key-value map of resource tags.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Mk8s resource produces the following output properties:

    Alias string
    The alias name of the Mk8s.
    CplnId string
    The ID, in GUID format, of the Mk8s.
    Id string
    The provider-assigned unique ID for this managed resource.
    SelfLink string
    Full link to this resource. Can be referenced by other resources.
    Statuses List<Pulumiverse.Cpln.Outputs.Mk8sStatus>
    Status of the mk8s.
    Alias string
    The alias name of the Mk8s.
    CplnId string
    The ID, in GUID format, of the Mk8s.
    Id string
    The provider-assigned unique ID for this managed resource.
    SelfLink string
    Full link to this resource. Can be referenced by other resources.
    Statuses []Mk8sStatus
    Status of the mk8s.
    alias String
    The alias name of the Mk8s.
    cplnId String
    The ID, in GUID format, of the Mk8s.
    id String
    The provider-assigned unique ID for this managed resource.
    selfLink String
    Full link to this resource. Can be referenced by other resources.
    statuses List<Mk8sStatus>
    Status of the mk8s.
    alias string
    The alias name of the Mk8s.
    cplnId string
    The ID, in GUID format, of the Mk8s.
    id string
    The provider-assigned unique ID for this managed resource.
    selfLink string
    Full link to this resource. Can be referenced by other resources.
    statuses Mk8sStatus[]
    Status of the mk8s.
    alias str
    The alias name of the Mk8s.
    cpln_id str
    The ID, in GUID format, of the Mk8s.
    id str
    The provider-assigned unique ID for this managed resource.
    self_link str
    Full link to this resource. Can be referenced by other resources.
    statuses Sequence[Mk8sStatus]
    Status of the mk8s.
    alias String
    The alias name of the Mk8s.
    cplnId String
    The ID, in GUID format, of the Mk8s.
    id String
    The provider-assigned unique ID for this managed resource.
    selfLink String
    Full link to this resource. Can be referenced by other resources.
    statuses List<Property Map>
    Status of the mk8s.

    Look up Existing Mk8s Resource

    Get an existing Mk8s resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: Mk8sState, opts?: CustomResourceOptions): Mk8s
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            add_ons: Optional[Mk8sAddOnsArgs] = None,
            alias: Optional[str] = None,
            aws_provider: Optional[Mk8sAwsProviderArgs] = None,
            cpln_id: Optional[str] = None,
            description: Optional[str] = None,
            firewalls: Optional[Sequence[Mk8sFirewallArgs]] = None,
            generic_provider: Optional[Mk8sGenericProviderArgs] = None,
            hetzner_provider: Optional[Mk8sHetznerProviderArgs] = None,
            name: Optional[str] = None,
            self_link: Optional[str] = None,
            statuses: Optional[Sequence[Mk8sStatusArgs]] = None,
            tags: Optional[Mapping[str, str]] = None,
            version: Optional[str] = None) -> Mk8s
    func GetMk8s(ctx *Context, name string, id IDInput, state *Mk8sState, opts ...ResourceOption) (*Mk8s, error)
    public static Mk8s Get(string name, Input<string> id, Mk8sState? state, CustomResourceOptions? opts = null)
    public static Mk8s get(String name, Output<String> id, Mk8sState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AddOns Pulumiverse.Cpln.Inputs.Mk8sAddOns
    Alias string
    The alias name of the Mk8s.
    AwsProvider Pulumiverse.Cpln.Inputs.Mk8sAwsProvider
    CplnId string
    The ID, in GUID format, of the Mk8s.
    Description string
    Description of the Mk8s.
    Firewalls List<Pulumiverse.Cpln.Inputs.Mk8sFirewall>
    Allow-list.
    GenericProvider Pulumiverse.Cpln.Inputs.Mk8sGenericProvider
    HetznerProvider Pulumiverse.Cpln.Inputs.Mk8sHetznerProvider
    Name string
    Name of the Mk8s.
    SelfLink string
    Full link to this resource. Can be referenced by other resources.
    Statuses List<Pulumiverse.Cpln.Inputs.Mk8sStatus>
    Status of the mk8s.
    Tags Dictionary<string, string>
    Key-value map of resource tags.
    Version string
    AddOns Mk8sAddOnsArgs
    Alias string
    The alias name of the Mk8s.
    AwsProvider Mk8sAwsProviderArgs
    CplnId string
    The ID, in GUID format, of the Mk8s.
    Description string
    Description of the Mk8s.
    Firewalls []Mk8sFirewallArgs
    Allow-list.
    GenericProvider Mk8sGenericProviderArgs
    HetznerProvider Mk8sHetznerProviderArgs
    Name string
    Name of the Mk8s.
    SelfLink string
    Full link to this resource. Can be referenced by other resources.
    Statuses []Mk8sStatusArgs
    Status of the mk8s.
    Tags map[string]string
    Key-value map of resource tags.
    Version string
    addOns Mk8sAddOns
    alias String
    The alias name of the Mk8s.
    awsProvider Mk8sAwsProvider
    cplnId String
    The ID, in GUID format, of the Mk8s.
    description String
    Description of the Mk8s.
    firewalls List<Mk8sFirewall>
    Allow-list.
    genericProvider Mk8sGenericProvider
    hetznerProvider Mk8sHetznerProvider
    name String
    Name of the Mk8s.
    selfLink String
    Full link to this resource. Can be referenced by other resources.
    statuses List<Mk8sStatus>
    Status of the mk8s.
    tags Map<String,String>
    Key-value map of resource tags.
    version String
    addOns Mk8sAddOns
    alias string
    The alias name of the Mk8s.
    awsProvider Mk8sAwsProvider
    cplnId string
    The ID, in GUID format, of the Mk8s.
    description string
    Description of the Mk8s.
    firewalls Mk8sFirewall[]
    Allow-list.
    genericProvider Mk8sGenericProvider
    hetznerProvider Mk8sHetznerProvider
    name string
    Name of the Mk8s.
    selfLink string
    Full link to this resource. Can be referenced by other resources.
    statuses Mk8sStatus[]
    Status of the mk8s.
    tags {[key: string]: string}
    Key-value map of resource tags.
    version string
    add_ons Mk8sAddOnsArgs
    alias str
    The alias name of the Mk8s.
    aws_provider Mk8sAwsProviderArgs
    cpln_id str
    The ID, in GUID format, of the Mk8s.
    description str
    Description of the Mk8s.
    firewalls Sequence[Mk8sFirewallArgs]
    Allow-list.
    generic_provider Mk8sGenericProviderArgs
    hetzner_provider Mk8sHetznerProviderArgs
    name str
    Name of the Mk8s.
    self_link str
    Full link to this resource. Can be referenced by other resources.
    statuses Sequence[Mk8sStatusArgs]
    Status of the mk8s.
    tags Mapping[str, str]
    Key-value map of resource tags.
    version str
    addOns Property Map
    alias String
    The alias name of the Mk8s.
    awsProvider Property Map
    cplnId String
    The ID, in GUID format, of the Mk8s.
    description String
    Description of the Mk8s.
    firewalls List<Property Map>
    Allow-list.
    genericProvider Property Map
    hetznerProvider Property Map
    name String
    Name of the Mk8s.
    selfLink String
    Full link to this resource. Can be referenced by other resources.
    statuses List<Property Map>
    Status of the mk8s.
    tags Map<String>
    Key-value map of resource tags.
    version String

    Supporting Types

    Mk8sAddOns, Mk8sAddOnsArgs

    Mk8sAddOnsAwsEcr, Mk8sAddOnsAwsEcrArgs

    RoleArn string
    RoleArn string
    roleArn String
    roleArn string
    roleArn String

    Mk8sAddOnsAwsEfs, Mk8sAddOnsAwsEfsArgs

    RoleArn string
    RoleArn string
    roleArn String
    roleArn string
    roleArn String

    Mk8sAddOnsAwsElb, Mk8sAddOnsAwsElbArgs

    RoleArn string
    RoleArn string
    roleArn String
    roleArn string
    roleArn String

    Mk8sAddOnsAzureAcr, Mk8sAddOnsAzureAcrArgs

    ClientId string
    ClientId string
    clientId String
    clientId string
    clientId String

    Mk8sAddOnsAzureWorkloadIdentity, Mk8sAddOnsAzureWorkloadIdentityArgs

    TenantId string
    TenantId string
    tenantId String
    tenantId string
    tenantId String

    Mk8sAddOnsLogs, Mk8sAddOnsLogsArgs

    Mk8sAddOnsMetrics, Mk8sAddOnsMetricsArgs

    Mk8sAddOnsMetricsScrapeAnnotated, Mk8sAddOnsMetricsScrapeAnnotatedArgs

    Mk8sAddOnsNvidia, Mk8sAddOnsNvidiaArgs

    Mk8sAwsProvider, Mk8sAwsProviderArgs

    Mk8sAwsProviderAutoscaler, Mk8sAwsProviderAutoscalerArgs

    Mk8sAwsProviderImage, Mk8sAwsProviderImageArgs

    Exact string
    Recommended string
    Exact string
    Recommended string
    exact String
    recommended String
    exact string
    recommended string
    exact String
    recommended String

    Mk8sAwsProviderNetworking, Mk8sAwsProviderNetworkingArgs

    Mk8sAwsProviderNodePool, Mk8sAwsProviderNodePoolArgs

    Mk8sAwsProviderNodePoolOverrideImage, Mk8sAwsProviderNodePoolOverrideImageArgs

    Exact string
    Recommended string
    Exact string
    Recommended string
    exact String
    recommended String
    exact string
    recommended string
    exact String
    recommended String

    Mk8sAwsProviderNodePoolTaint, Mk8sAwsProviderNodePoolTaintArgs

    Effect string
    Key string
    Value string
    Effect string
    Key string
    Value string
    effect String
    key String
    value String
    effect string
    key string
    value string
    effect str
    key str
    value str
    effect String
    key String
    value String

    Mk8sFirewall, Mk8sFirewallArgs

    SourceCidr string
    Description string
    SourceCidr string
    Description string
    sourceCidr String
    description String
    sourceCidr string
    description string
    sourceCidr String
    description String

    Mk8sGenericProvider, Mk8sGenericProviderArgs

    Mk8sGenericProviderNetworking, Mk8sGenericProviderNetworkingArgs

    Mk8sGenericProviderNodePool, Mk8sGenericProviderNodePoolArgs

    Mk8sGenericProviderNodePoolTaint, Mk8sGenericProviderNodePoolTaintArgs

    Effect string
    Key string
    Value string
    Effect string
    Key string
    Value string
    effect String
    key String
    value String
    effect string
    key string
    value string
    effect str
    key str
    value str
    effect String
    key String
    value String

    Mk8sHetznerProvider, Mk8sHetznerProviderArgs

    Mk8sHetznerProviderAutoscaler, Mk8sHetznerProviderAutoscalerArgs

    Mk8sHetznerProviderDedicatedServerNodePool, Mk8sHetznerProviderDedicatedServerNodePoolArgs

    Mk8sHetznerProviderDedicatedServerNodePoolTaint, Mk8sHetznerProviderDedicatedServerNodePoolTaintArgs

    Effect string
    Key string
    Value string
    Effect string
    Key string
    Value string
    effect String
    key String
    value String
    effect string
    key string
    value string
    effect str
    key str
    value str
    effect String
    key String
    value String

    Mk8sHetznerProviderNetworking, Mk8sHetznerProviderNetworkingArgs

    Mk8sHetznerProviderNodePool, Mk8sHetznerProviderNodePoolArgs

    name string
    serverType string
    labels {[key: string]: string}
    maxSize number
    minSize number
    overrideImage string
    taints Mk8sHetznerProviderNodePoolTaint[]
    name String
    serverType String
    labels Map<String>
    maxSize Number
    minSize Number
    overrideImage String
    taints List<Property Map>

    Mk8sHetznerProviderNodePoolTaint, Mk8sHetznerProviderNodePoolTaintArgs

    Effect string
    Key string
    Value string
    Effect string
    Key string
    Value string
    effect String
    key String
    value String
    effect string
    key string
    value string
    effect str
    key str
    value str
    effect String
    key String
    value String

    Mk8sStatus, Mk8sStatusArgs

    Mk8sStatusAddOn, Mk8sStatusAddOnArgs

    Mk8sStatusAddOnAwsEcr, Mk8sStatusAddOnAwsEcrArgs

    Mk8sStatusAddOnAwsEf, Mk8sStatusAddOnAwsEfArgs

    Mk8sStatusAddOnAwsElb, Mk8sStatusAddOnAwsElbArgs

    Mk8sStatusAddOnAwsWorkloadIdentity, Mk8sStatusAddOnAwsWorkloadIdentityArgs

    Mk8sStatusAddOnAwsWorkloadIdentityOidcProviderConfig, Mk8sStatusAddOnAwsWorkloadIdentityOidcProviderConfigArgs

    Audience string
    ProviderUrl string
    Audience string
    ProviderUrl string
    audience String
    providerUrl String
    audience string
    providerUrl string
    audience String
    providerUrl String

    Mk8sStatusAddOnDashboard, Mk8sStatusAddOnDashboardArgs

    Url string
    Url string
    url String
    url string
    url str
    url String

    Mk8sStatusAddOnLog, Mk8sStatusAddOnLogArgs

    Mk8sStatusAddOnMetric, Mk8sStatusAddOnMetricArgs

    Package Details

    Repository
    cpln pulumiverse/pulumi-cpln
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the cpln Terraform Provider.
    cpln logo
    Control Plane v0.0.27 published on Saturday, May 25, 2024 by pulumiverse