import * as core from "@terrascript/core"; export interface OidcArgs extends core.SchemaArgs { clientId: string | core.StringOut; groupsClaim?: string | core.StringOut; groupsPrefix?: string | core.StringOut; identityProviderConfigName: string | core.StringOut; issuerUrl: string | core.StringOut; requiredClaims?: core.Map | core.MapOut; usernameClaim?: string | core.StringOut; usernamePrefix?: string | core.StringOut; } export class Oidc extends core.Schema { @core.attr(String) public clientId!: string | core.StringOut; @core.attr(String) public groupsClaim?: string | core.StringOut; @core.attr(String) public groupsPrefix?: string | core.StringOut; @core.attr(String) public identityProviderConfigName!: string | core.StringOut; @core.attr(String) public issuerUrl!: string | core.StringOut; @core.attr(String, { kind: "map" }) public requiredClaims?: | core.Map | core.MapOut; @core.attr(String) public usernameClaim?: string | core.StringOut; @core.attr(String) public usernamePrefix?: string | core.StringOut; } export interface IdentityProviderConfigArgs extends core.ResourceArgs { clusterName: string | core.StringOut; /** * (Required) Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provid * er information for the cluster. Detailed below. */ oidc: Oidc; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ tagsAll?: core.Map | core.MapOut; } export class IdentityProviderConfig extends core.Resource { /** * Amazon Resource Name (ARN) of the EKS Identity Provider Configuration. */ @core.attr(String, { computed: true }) public arn!: string | core.StringOut; @core.attr(String) public clusterName!: string | core.StringOut; /** * EKS Cluster name and EKS Identity Provider Configuration name separated by a colon (`:`). */ @core.attr(String, { computed: true }) public id!: string | core.StringOut; /** * (Required) Nested attribute containing [OpenID Connect](https://openid.net/connect/) identity provid * er information for the cluster. Detailed below. */ @core.attr(Oidc) public oidc!: Oidc; /** * Status of the EKS Identity Provider Configuration. */ @core.attr(String, { computed: true }) public status!: string | core.StringOut; /** * (Optional) Key-value map of resource tags. If configured with a provider [`default_tags` configurati * on block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags-configurati * on-block) present, tags with matching keys will overwrite those defined at the provider-level. */ @core.attr(String, { kind: "map" }) public tags?: core.Map | core.MapOut; /** * A map of tags assigned to the resource, including those inherited from the provider [`default_tags` * configuration block](https://registry.terraform.io/providers/hashicorp/aws/latest/docs#default_tags- * configuration-block). */ @core.attr(String, { computed: true, kind: "map" }) public tagsAll?: core.Map | core.MapOut; constructor(name: string, args?: IdentityProviderConfigArgs) { super(name, "aws_eks_identity_provider_config", args); } public override getNamespace(): string { return "aws_eks"; } }