UNPKG

@cloudtoolkit/aws

Version:

The Cloud Toolkit AWS provider for Pulumi provision well-architected solutions in [AWS](https://aws.amazon.com/). With Cloud Toolkit AWS you can use your preferred programming language to manage your platform with Infrastructure as Code.

240 lines (239 loc) 6.9 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../../types/input"; import * as enums from "../../types/enums"; export interface AddonsArgs { /** * Enable the ClusterAddons. */ enabled: pulumi.Input<boolean>; } export interface AdotApplicationMetricsArgs { /** * Data retention expressed in days. */ dataRetention?: pulumi.Input<number>; /** * Enable metrics. */ enabled?: pulumi.Input<boolean>; } export interface ClusterAddonsIngressArgs { /** * Configure the admin IngressController. */ admin?: pulumi.Input<inputs.kubernetes.ClusterAddonsIngressItemArgs>; /** * Configure the default IngressController. */ default?: pulumi.Input<inputs.kubernetes.ClusterAddonsIngressItemArgs>; } export interface ClusterAddonsIngressItemArgs { /** * The domain used to expose the IngressController. */ domain?: pulumi.Input<string>; /** * Enable TLS termination in Load Balancer. */ enableTlsTermination?: pulumi.Input<boolean>; /** * Use a public Load Balancer to expose the IngressController. */ public?: pulumi.Input<boolean>; /** * Set a whitelist to access the IngressController. */ whitelist?: pulumi.Input<pulumi.Input<string>[]>; } export interface ClusterApiArgs { /** * Configure the private endpoint for the Kubernetes API. */ private?: pulumi.Input<inputs.kubernetes.ClusterPrivateApiArgs>; /** * Configure the public endpoint for the Kubernetes API. */ public?: pulumi.Input<inputs.kubernetes.ClusterPublicApiArgs>; } export interface ClusterAuthenticationArgs { /** * The list of AWS Accounts that can authenticate with the API Server. */ accounts?: pulumi.Input<pulumi.Input<string>[]>; /** * The list of AWS IAM Users names to be configured as cluster-admin. */ clusterAdmins?: pulumi.Input<pulumi.Input<string>[]>; /** * The list of AWS IAM Roles that can authenticate with the API server. */ roles?: pulumi.Input<pulumi.Input<inputs.kubernetes.IamAuthenticatorRoleArgs>[]>; /** * The list of AWS IAM Users that can authenticate with the API server. */ users?: pulumi.Input<pulumi.Input<inputs.kubernetes.IamAuthenticatorUserArgs>[]>; } export interface ClusterNetworkingArgs { /** * Configure the access to admin applications. */ admin?: pulumi.Input<inputs.kubernetes.ClusterNetworkingIngressArgs>; /** * Configure the access to applications. */ default?: pulumi.Input<inputs.kubernetes.ClusterNetworkingIngressArgs>; } export interface ClusterNetworkingIngressArgs { /** * The domain used to expose the IngressController. */ domain: pulumi.Input<string>; /** * Enable TLS termination in Load Balancer. */ enableTlsTermination?: pulumi.Input<boolean>; /** * Use a public Load Balancer to expose the IngressController. */ public?: pulumi.Input<boolean>; /** * Set a whitelist to access the IngressController. */ whitelist?: pulumi.Input<pulumi.Input<string>[]>; } export interface ClusterNodeGroupArgs { /** * Disk size in GiB for each node. Defaults to 20. */ diskSize?: pulumi.Input<number>; /** * The EC2 Instance Type to be used to create the Nodes. */ instanceType?: pulumi.Input<string>; /** * The maxium number of nodes running in the node group. Defaults to 2. */ maxCount: pulumi.Input<number>; /** * The maximum number of nodes unavailable at once during a version update. Defaults to 1. */ maxUnavailable: pulumi.Input<number>; /** * The minimum number of nodes running in the node group. Defaults to 1. */ minCount: pulumi.Input<number>; /** * The Node Group name. */ name: pulumi.Input<string>; /** * The subnets type to be used to deploy the Node Groups. */ subnetsType?: pulumi.Input<enums.kubernetes.ClusterSubnetsType>; } export interface ClusterOidcProvidersArgs { /** * Enable the default OIDC Provider that is used in the cluster to let Service Accounts to authenticate against AWS with a given IAM Role. */ enableDefaultProvider: pulumi.Input<boolean>; } export interface ClusterPrivateApiArgs { /** * Enable the private endpoint for Kubernetes API. */ enabled?: pulumi.Input<boolean>; } export interface ClusterPublicApiArgs { /** * Enable the public endpoint for Kubernetes API. */ enabled?: pulumi.Input<boolean>; /** * The list of CIDR that will be allowed to reach the public endpoint for Kubernetes API. */ whitelist?: pulumi.Input<pulumi.Input<string>[]>; } export interface FluentbitLoggingArgs { /** * Configure applications logging. */ applications?: pulumi.Input<inputs.kubernetes.FluentbitLoggingItemArgs>; /** * Configure data plane logging. */ dataplane?: pulumi.Input<inputs.kubernetes.FluentbitLoggingItemArgs>; /** * Configure host logging. */ host?: pulumi.Input<inputs.kubernetes.FluentbitLoggingItemArgs>; } export interface FluentbitLoggingItemArgs { /** * Data retention expressed in days. */ dataRetention?: pulumi.Input<number>; /** * Enable logging. */ enabled: pulumi.Input<boolean>; } export interface IamAuthenticatorRoleArgs { /** * The list of Kubernetes groups to be associated with the AWS IAM Role. */ groups?: pulumi.Input<pulumi.Input<string>[]>; /** * The AWS IAM Role arn. */ rolearn: pulumi.Input<string>; /** * The Kubernetes username to be associated with the AWS IAM Role. */ username: pulumi.Input<string>; } export interface IamAuthenticatorUserArgs { /** * The list of Kubernetes groups to be associated with the AWS IAM User. */ groups?: pulumi.Input<pulumi.Input<string>[]>; /** * The AWS IAM User arn. */ userarn: pulumi.Input<string>; /** * The Kubernetes username to be associated with the AWS IAM User. */ username: pulumi.Input<string>; } export interface IngressNginxTlsArgs { /** * The domain to be used to create a signed Certificate. */ domain: pulumi.Input<string>; /** * Enable the signed Certificate. */ enabled?: pulumi.Input<boolean>; /** * The Zone id. */ zoneId: pulumi.Input<string>; } export interface ProjectResourcesArgs { /** * Amount of reserved CPU. */ cpu?: pulumi.Input<string>; /** * Amount of CPU limit. */ limitCpu?: pulumi.Input<string>; /** * Amount of Memory limit. */ limitMemory?: pulumi.Input<string>; /** * Amount of reserved Memory. */ memory?: pulumi.Input<string>; }