1. Packages
  2. NGINX Ingress Controller
  3. API Docs
  4. IngressController
NGINX Ingress Controller v0.0.10 published on Wednesday, Nov 30, 2022 by Pulumi

kubernetes-ingress-nginx.IngressController

Explore with Pulumi AI

kubernetes-ingress-nginx logo
NGINX Ingress Controller v0.0.10 published on Wednesday, Nov 30, 2022 by Pulumi

    Ingress controller for Kubernetes using NGINX as a reverse proxy and load balancer

    Create IngressController Resource

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

    Constructor syntax

    new IngressController(name: string, args?: IngressControllerArgs, opts?: ComponentResourceOptions);
    @overload
    def IngressController(resource_name: str,
                          args: Optional[IngressControllerArgs] = None,
                          opts: Optional[ResourceOptions] = None)
    
    @overload
    def IngressController(resource_name: str,
                          opts: Optional[ResourceOptions] = None,
                          controller: Optional[ControllerArgs] = None,
                          default_backend: Optional[ControllerDefaultBackendArgs] = None,
                          dh_param: Optional[str] = None,
                          fullname_override: Optional[str] = None,
                          helm_options: Optional[ReleaseArgs] = None,
                          image_pull_secrets: Optional[Sequence[pulumi_kubernetes.core.v1.LocalObjectReferenceArgs]] = None,
                          name_override: Optional[str] = None,
                          pod_security_policy: Optional[ControllerPodSecurityPolicyArgs] = None,
                          rbac: Optional[ControllerRBACArgs] = None,
                          revision_history_limit: Optional[int] = None,
                          service_account: Optional[ControllerServiceAccountArgs] = None,
                          tcp: Optional[Mapping[str, Mapping[str, str]]] = None,
                          udp: Optional[Mapping[str, Mapping[str, str]]] = None)
    func NewIngressController(ctx *Context, name string, args *IngressControllerArgs, opts ...ResourceOption) (*IngressController, error)
    public IngressController(string name, IngressControllerArgs? args = null, ComponentResourceOptions? opts = null)
    public IngressController(String name, IngressControllerArgs args)
    public IngressController(String name, IngressControllerArgs args, ComponentResourceOptions options)
    
    type: kubernetes-ingress-nginx:IngressController
    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 IngressControllerArgs
    The arguments to resource properties.
    opts ComponentResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args IngressControllerArgs
    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 IngressControllerArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args IngressControllerArgs
    The arguments to resource properties.
    opts ComponentResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args IngressControllerArgs
    The arguments to resource properties.
    options ComponentResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

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

    var ingressControllerResource = new KubernetesIngressNginx.IngressController("ingressControllerResource", new()
    {
        Controller = new KubernetesIngressNginx.Inputs.ControllerArgs
        {
            AddHeaders = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            AdmissionWebhooks = new KubernetesIngressNginx.Inputs.ContollerAdmissionWebhooksArgs
            {
                Annotations = 
                {
                    { "string", 
                    {
                        { "string", "string" },
                    } },
                },
                Certificate = "string",
                CreateSecretJob = new KubernetesIngressNginx.Inputs.ControllerAdmissionWebhooksCreateSecretJobArgs
                {
                    Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                },
                Enabled = false,
                ExistingPsp = "string",
                FailurePolicy = "string",
                Key = "string",
                NamespaceSelector = 
                {
                    { "string", 
                    {
                        { "string", "string" },
                    } },
                },
                ObjectSelector = 
                {
                    { "string", 
                    {
                        { "string", "string" },
                    } },
                },
                Patch = new KubernetesIngressNginx.Inputs.ControllerAdmissionWebhooksPatchArgs
                {
                    Enabled = false,
                    Image = new KubernetesIngressNginx.Inputs.ControllerImageArgs
                    {
                        AllowPrivilegeEscalation = false,
                        Digest = "string",
                        Image = "string",
                        PullPolicy = "string",
                        ReadOnlyRootFilesystem = false,
                        Registry = "string",
                        Repository = "string",
                        RunAsNonRoot = false,
                        RunAsUser = "string",
                        Tag = "string",
                    },
                    NodeSelector = 
                    {
                        { "string", "string" },
                    },
                    PodAnnotations = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    PriorityClassName = "string",
                    RunAsUser = 0,
                    Tolerations = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.TolerationArgs
                        {
                            Effect = "string",
                            Key = "string",
                            Operator = "string",
                            TolerationSeconds = 0,
                            Value = "string",
                        },
                    },
                },
                PatchWebhookJob = new KubernetesIngressNginx.Inputs.ControllerAdmissionWebhooksPatchWebhbookJobArgs
                {
                    Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                },
                Port = 0,
                Service = new KubernetesIngressNginx.Inputs.ControllerAdmissionWebhooksServiceArgs
                {
                    Annotations = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    ClusterIP = "string",
                    ExternalIPs = new[]
                    {
                        "string",
                    },
                    LoadBalancerIPs = "string",
                    LoadBalancerSourceRanges = new[]
                    {
                        "string",
                    },
                    ServicePort = 0,
                    Type = "string",
                },
                TimeoutSeconds = 0,
            },
            Affinity = new Kubernetes.Types.Inputs.Core.V1.AffinityArgs
            {
                NodeAffinity = new Kubernetes.Types.Inputs.Core.V1.NodeAffinityArgs
                {
                    PreferredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.PreferredSchedulingTermArgs
                        {
                            Preference = new Kubernetes.Types.Inputs.Core.V1.NodeSelectorTermArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchFields = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                            Weight = 0,
                        },
                    },
                    RequiredDuringSchedulingIgnoredDuringExecution = new Kubernetes.Types.Inputs.Core.V1.NodeSelectorArgs
                    {
                        NodeSelectorTerms = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.NodeSelectorTermArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchFields = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                        },
                    },
                },
                PodAffinity = new Kubernetes.Types.Inputs.Core.V1.PodAffinityArgs
                {
                    PreferredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.WeightedPodAffinityTermArgs
                        {
                            PodAffinityTerm = new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                            {
                                TopologyKey = "string",
                                LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                Namespaces = new[]
                                {
                                    "string",
                                },
                            },
                            Weight = 0,
                        },
                    },
                    RequiredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                        {
                            TopologyKey = "string",
                            LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            Namespaces = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
                PodAntiAffinity = new Kubernetes.Types.Inputs.Core.V1.PodAntiAffinityArgs
                {
                    PreferredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.WeightedPodAffinityTermArgs
                        {
                            PodAffinityTerm = new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                            {
                                TopologyKey = "string",
                                LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                Namespaces = new[]
                                {
                                    "string",
                                },
                            },
                            Weight = 0,
                        },
                    },
                    RequiredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                        {
                            TopologyKey = "string",
                            LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            Namespaces = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
            },
            AllowSnippetAnnotations = false,
            Annotations = 
            {
                { "string", "string" },
            },
            Autoscaling = new KubernetesIngressNginx.Inputs.AutoscalingArgs
            {
                Annotations = 
                {
                    { "string", "string" },
                },
                ControllerAutoscalingBehavior = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorArgs
                {
                    ScaleDown = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingArgs
                    {
                        Policies = new[]
                        {
                            new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingPolicyArgs
                            {
                                PeriodSeconds = 0,
                                Type = "string",
                                Value = 0,
                            },
                        },
                        StabilizationWindowSeconds = 0,
                    },
                    ScaleUp = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingArgs
                    {
                        Policies = new[]
                        {
                            new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingPolicyArgs
                            {
                                PeriodSeconds = 0,
                                Type = "string",
                                Value = 0,
                            },
                        },
                        StabilizationWindowSeconds = 0,
                    },
                },
                Enabled = false,
                MaxReplicas = 0,
                MinReplicas = 0,
                TargetCPUUtilizationPercentage = 0,
                TargetMemoryUtilizationPercentage = 0,
            },
            AutoscalingTemplate = new[]
            {
                new KubernetesIngressNginx.Inputs.AutoscalingTemplateArgs
                {
                    Pods = new KubernetesIngressNginx.Inputs.AutoscalingTemplatePodsArgs
                    {
                        Metric = new KubernetesIngressNginx.Inputs.AutoscalingTemplatePodsMetricArgs
                        {
                            Name = "string",
                        },
                        Target = new KubernetesIngressNginx.Inputs.AutoscalingTemplatePodsTargetArgs
                        {
                            AverageValue = "string",
                            Type = "string",
                        },
                    },
                    Type = "string",
                },
            },
            Config = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            ConfigAnnotations = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            ConfigMapNamespace = "string",
            ContainerName = "string",
            ContainerPort = new KubernetesIngressNginx.Inputs.ControllerPortArgs
            {
                Http = 0,
                Https = 0,
            },
            CustomTemplate = new KubernetesIngressNginx.Inputs.ControllerCustomTemplateArgs
            {
                ConfigMapKey = "string",
                ConfigMapName = "string",
            },
            DnsConfig = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            DnsPolicy = "string",
            ElectionID = "string",
            EnableMimalloc = false,
            ExistingPsp = "string",
            ExtraArgs = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            ExtraContainers = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.ContainerArgs
                {
                    Name = "string",
                    ReadinessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                    {
                        Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                        {
                            Command = new[]
                            {
                                "string",
                            },
                        },
                        FailureThreshold = 0,
                        HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                        {
                            Port = 0,
                            Host = "string",
                            HttpHeaders = new[]
                            {
                                new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Scheme = "string",
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        SuccessThreshold = 0,
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                        TerminationGracePeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    ImagePullPolicy = "string",
                    Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                    StartupProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                    {
                        Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                        {
                            Command = new[]
                            {
                                "string",
                            },
                        },
                        FailureThreshold = 0,
                        HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                        {
                            Port = 0,
                            Host = "string",
                            HttpHeaders = new[]
                            {
                                new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Scheme = "string",
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        SuccessThreshold = 0,
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                        TerminationGracePeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    SecurityContext = new Kubernetes.Types.Inputs.Core.V1.SecurityContextArgs
                    {
                        AllowPrivilegeEscalation = false,
                        Capabilities = new Kubernetes.Types.Inputs.Core.V1.CapabilitiesArgs
                        {
                            Add = new[]
                            {
                                "string",
                            },
                            Drop = new[]
                            {
                                "string",
                            },
                        },
                        Privileged = false,
                        ProcMount = "string",
                        ReadOnlyRootFilesystem = false,
                        RunAsGroup = 0,
                        RunAsNonRoot = false,
                        RunAsUser = 0,
                        SeLinuxOptions = new Kubernetes.Types.Inputs.Core.V1.SELinuxOptionsArgs
                        {
                            Level = "string",
                            Role = "string",
                            Type = "string",
                            User = "string",
                        },
                        SeccompProfile = new Kubernetes.Types.Inputs.Core.V1.SeccompProfileArgs
                        {
                            Type = "string",
                            LocalhostProfile = "string",
                        },
                        WindowsOptions = new Kubernetes.Types.Inputs.Core.V1.WindowsSecurityContextOptionsArgs
                        {
                            GmsaCredentialSpec = "string",
                            GmsaCredentialSpecName = "string",
                            HostProcess = false,
                            RunAsUserName = "string",
                        },
                    },
                    Lifecycle = new Kubernetes.Types.Inputs.Core.V1.LifecycleArgs
                    {
                        PostStart = new Kubernetes.Types.Inputs.Core.V1.HandlerArgs
                        {
                            Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                            {
                                Command = new[]
                                {
                                    "string",
                                },
                            },
                            HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                            {
                                Port = 0,
                                Host = "string",
                                HttpHeaders = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                                Path = "string",
                                Scheme = "string",
                            },
                            TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                            {
                                Port = 0,
                                Host = "string",
                            },
                        },
                        PreStop = new Kubernetes.Types.Inputs.Core.V1.HandlerArgs
                        {
                            Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                            {
                                Command = new[]
                                {
                                    "string",
                                },
                            },
                            HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                            {
                                Port = 0,
                                Host = "string",
                                HttpHeaders = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                                Path = "string",
                                Scheme = "string",
                            },
                            TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                            {
                                Port = 0,
                                Host = "string",
                            },
                        },
                    },
                    LivenessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                    {
                        Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                        {
                            Command = new[]
                            {
                                "string",
                            },
                        },
                        FailureThreshold = 0,
                        HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                        {
                            Port = 0,
                            Host = "string",
                            HttpHeaders = new[]
                            {
                                new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Scheme = "string",
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        SuccessThreshold = 0,
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                        TerminationGracePeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    Command = new[]
                    {
                        "string",
                    },
                    Ports = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.ContainerPortArgs
                        {
                            ContainerPort = 0,
                            HostIP = "string",
                            HostPort = 0,
                            Name = "string",
                            Protocol = "string",
                        },
                    },
                    Args = new[]
                    {
                        "string",
                    },
                    EnvFrom = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.EnvFromSourceArgs
                        {
                            ConfigMapRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapEnvSourceArgs
                            {
                                Name = "string",
                                Optional = false,
                            },
                            Prefix = "string",
                            SecretRef = new Kubernetes.Types.Inputs.Core.V1.SecretEnvSourceArgs
                            {
                                Name = "string",
                                Optional = false,
                            },
                        },
                    },
                    Env = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs
                        {
                            Name = "string",
                            Value = "string",
                            ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs
                            {
                                ConfigMapKeyRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapKeySelectorArgs
                                {
                                    Key = "string",
                                    Name = "string",
                                    Optional = false,
                                },
                                FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                                {
                                    FieldPath = "string",
                                    ApiVersion = "string",
                                },
                                ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                                {
                                    Resource = "string",
                                    ContainerName = "string",
                                    Divisor = "string",
                                },
                                SecretKeyRef = new Kubernetes.Types.Inputs.Core.V1.SecretKeySelectorArgs
                                {
                                    Key = "string",
                                    Name = "string",
                                    Optional = false,
                                },
                            },
                        },
                    },
                    Image = "string",
                    Stdin = false,
                    StdinOnce = false,
                    TerminationMessagePath = "string",
                    TerminationMessagePolicy = "string",
                    Tty = false,
                    VolumeDevices = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeDeviceArgs
                        {
                            DevicePath = "string",
                            Name = "string",
                        },
                    },
                    VolumeMounts = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeMountArgs
                        {
                            MountPath = "string",
                            Name = "string",
                            MountPropagation = "string",
                            ReadOnly = false,
                            SubPath = "string",
                            SubPathExpr = "string",
                        },
                    },
                    WorkingDir = "string",
                },
            },
            ExtraEnvs = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs
                {
                    Name = "string",
                    Value = "string",
                    ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs
                    {
                        ConfigMapKeyRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapKeySelectorArgs
                        {
                            Key = "string",
                            Name = "string",
                            Optional = false,
                        },
                        FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                        {
                            FieldPath = "string",
                            ApiVersion = "string",
                        },
                        ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                        {
                            Resource = "string",
                            ContainerName = "string",
                            Divisor = "string",
                        },
                        SecretKeyRef = new Kubernetes.Types.Inputs.Core.V1.SecretKeySelectorArgs
                        {
                            Key = "string",
                            Name = "string",
                            Optional = false,
                        },
                    },
                },
            },
            ExtraInitContainers = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.ContainerArgs
                {
                    Name = "string",
                    ReadinessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                    {
                        Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                        {
                            Command = new[]
                            {
                                "string",
                            },
                        },
                        FailureThreshold = 0,
                        HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                        {
                            Port = 0,
                            Host = "string",
                            HttpHeaders = new[]
                            {
                                new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Scheme = "string",
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        SuccessThreshold = 0,
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                        TerminationGracePeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    ImagePullPolicy = "string",
                    Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                    {
                        Limits = 
                        {
                            { "string", "string" },
                        },
                        Requests = 
                        {
                            { "string", "string" },
                        },
                    },
                    StartupProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                    {
                        Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                        {
                            Command = new[]
                            {
                                "string",
                            },
                        },
                        FailureThreshold = 0,
                        HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                        {
                            Port = 0,
                            Host = "string",
                            HttpHeaders = new[]
                            {
                                new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Scheme = "string",
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        SuccessThreshold = 0,
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                        TerminationGracePeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    SecurityContext = new Kubernetes.Types.Inputs.Core.V1.SecurityContextArgs
                    {
                        AllowPrivilegeEscalation = false,
                        Capabilities = new Kubernetes.Types.Inputs.Core.V1.CapabilitiesArgs
                        {
                            Add = new[]
                            {
                                "string",
                            },
                            Drop = new[]
                            {
                                "string",
                            },
                        },
                        Privileged = false,
                        ProcMount = "string",
                        ReadOnlyRootFilesystem = false,
                        RunAsGroup = 0,
                        RunAsNonRoot = false,
                        RunAsUser = 0,
                        SeLinuxOptions = new Kubernetes.Types.Inputs.Core.V1.SELinuxOptionsArgs
                        {
                            Level = "string",
                            Role = "string",
                            Type = "string",
                            User = "string",
                        },
                        SeccompProfile = new Kubernetes.Types.Inputs.Core.V1.SeccompProfileArgs
                        {
                            Type = "string",
                            LocalhostProfile = "string",
                        },
                        WindowsOptions = new Kubernetes.Types.Inputs.Core.V1.WindowsSecurityContextOptionsArgs
                        {
                            GmsaCredentialSpec = "string",
                            GmsaCredentialSpecName = "string",
                            HostProcess = false,
                            RunAsUserName = "string",
                        },
                    },
                    Lifecycle = new Kubernetes.Types.Inputs.Core.V1.LifecycleArgs
                    {
                        PostStart = new Kubernetes.Types.Inputs.Core.V1.HandlerArgs
                        {
                            Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                            {
                                Command = new[]
                                {
                                    "string",
                                },
                            },
                            HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                            {
                                Port = 0,
                                Host = "string",
                                HttpHeaders = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                                Path = "string",
                                Scheme = "string",
                            },
                            TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                            {
                                Port = 0,
                                Host = "string",
                            },
                        },
                        PreStop = new Kubernetes.Types.Inputs.Core.V1.HandlerArgs
                        {
                            Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                            {
                                Command = new[]
                                {
                                    "string",
                                },
                            },
                            HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                            {
                                Port = 0,
                                Host = "string",
                                HttpHeaders = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                    {
                                        Name = "string",
                                        Value = "string",
                                    },
                                },
                                Path = "string",
                                Scheme = "string",
                            },
                            TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                            {
                                Port = 0,
                                Host = "string",
                            },
                        },
                    },
                    LivenessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                    {
                        Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                        {
                            Command = new[]
                            {
                                "string",
                            },
                        },
                        FailureThreshold = 0,
                        HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                        {
                            Port = 0,
                            Host = "string",
                            HttpHeaders = new[]
                            {
                                new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                                {
                                    Name = "string",
                                    Value = "string",
                                },
                            },
                            Path = "string",
                            Scheme = "string",
                        },
                        InitialDelaySeconds = 0,
                        PeriodSeconds = 0,
                        SuccessThreshold = 0,
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                        TerminationGracePeriodSeconds = 0,
                        TimeoutSeconds = 0,
                    },
                    Command = new[]
                    {
                        "string",
                    },
                    Ports = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.ContainerPortArgs
                        {
                            ContainerPort = 0,
                            HostIP = "string",
                            HostPort = 0,
                            Name = "string",
                            Protocol = "string",
                        },
                    },
                    Args = new[]
                    {
                        "string",
                    },
                    EnvFrom = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.EnvFromSourceArgs
                        {
                            ConfigMapRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapEnvSourceArgs
                            {
                                Name = "string",
                                Optional = false,
                            },
                            Prefix = "string",
                            SecretRef = new Kubernetes.Types.Inputs.Core.V1.SecretEnvSourceArgs
                            {
                                Name = "string",
                                Optional = false,
                            },
                        },
                    },
                    Env = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs
                        {
                            Name = "string",
                            Value = "string",
                            ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs
                            {
                                ConfigMapKeyRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapKeySelectorArgs
                                {
                                    Key = "string",
                                    Name = "string",
                                    Optional = false,
                                },
                                FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                                {
                                    FieldPath = "string",
                                    ApiVersion = "string",
                                },
                                ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                                {
                                    Resource = "string",
                                    ContainerName = "string",
                                    Divisor = "string",
                                },
                                SecretKeyRef = new Kubernetes.Types.Inputs.Core.V1.SecretKeySelectorArgs
                                {
                                    Key = "string",
                                    Name = "string",
                                    Optional = false,
                                },
                            },
                        },
                    },
                    Image = "string",
                    Stdin = false,
                    StdinOnce = false,
                    TerminationMessagePath = "string",
                    TerminationMessagePolicy = "string",
                    Tty = false,
                    VolumeDevices = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeDeviceArgs
                        {
                            DevicePath = "string",
                            Name = "string",
                        },
                    },
                    VolumeMounts = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeMountArgs
                        {
                            MountPath = "string",
                            Name = "string",
                            MountPropagation = "string",
                            ReadOnly = false,
                            SubPath = "string",
                            SubPathExpr = "string",
                        },
                    },
                    WorkingDir = "string",
                },
            },
            ExtraVolumeMounts = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.VolumeMountArgs
                {
                    MountPath = "string",
                    Name = "string",
                    MountPropagation = "string",
                    ReadOnly = false,
                    SubPath = "string",
                    SubPathExpr = "string",
                },
            },
            ExtraVolumes = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.VolumeArgs
                {
                    Name = "string",
                    GitRepo = new Kubernetes.Types.Inputs.Core.V1.GitRepoVolumeSourceArgs
                    {
                        Repository = "string",
                        Directory = "string",
                        Revision = "string",
                    },
                    ConfigMap = new Kubernetes.Types.Inputs.Core.V1.ConfigMapVolumeSourceArgs
                    {
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                            {
                                Key = "string",
                                Path = "string",
                                Mode = 0,
                            },
                        },
                        Name = "string",
                        Optional = false,
                    },
                    Glusterfs = new Kubernetes.Types.Inputs.Core.V1.GlusterfsVolumeSourceArgs
                    {
                        Endpoints = "string",
                        Path = "string",
                        ReadOnly = false,
                    },
                    Cinder = new Kubernetes.Types.Inputs.Core.V1.CinderVolumeSourceArgs
                    {
                        VolumeID = "string",
                        FsType = "string",
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                    },
                    HostPath = new Kubernetes.Types.Inputs.Core.V1.HostPathVolumeSourceArgs
                    {
                        Path = "string",
                        Type = "string",
                    },
                    Csi = new Kubernetes.Types.Inputs.Core.V1.CSIVolumeSourceArgs
                    {
                        Driver = "string",
                        FsType = "string",
                        NodePublishSecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        ReadOnly = false,
                        VolumeAttributes = 
                        {
                            { "string", "string" },
                        },
                    },
                    DownwardAPI = new Kubernetes.Types.Inputs.Core.V1.DownwardAPIVolumeSourceArgs
                    {
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.DownwardAPIVolumeFileArgs
                            {
                                Path = "string",
                                FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                                {
                                    FieldPath = "string",
                                    ApiVersion = "string",
                                },
                                Mode = 0,
                                ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                                {
                                    Resource = "string",
                                    ContainerName = "string",
                                    Divisor = "string",
                                },
                            },
                        },
                    },
                    EmptyDir = new Kubernetes.Types.Inputs.Core.V1.EmptyDirVolumeSourceArgs
                    {
                        Medium = "string",
                        SizeLimit = "string",
                    },
                    Ephemeral = new Kubernetes.Types.Inputs.Core.V1.EphemeralVolumeSourceArgs
                    {
                        ReadOnly = false,
                        VolumeClaimTemplate = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimTemplateArgs
                        {
                            Spec = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimSpecArgs
                            {
                                AccessModes = new[]
                                {
                                    "string",
                                },
                                DataSource = new Kubernetes.Types.Inputs.Core.V1.TypedLocalObjectReferenceArgs
                                {
                                    Kind = "string",
                                    Name = "string",
                                    ApiGroup = "string",
                                },
                                DataSourceRef = new Kubernetes.Types.Inputs.Core.V1.TypedLocalObjectReferenceArgs
                                {
                                    Kind = "string",
                                    Name = "string",
                                    ApiGroup = "string",
                                },
                                Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                                {
                                    Limits = 
                                    {
                                        { "string", "string" },
                                    },
                                    Requests = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                Selector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                StorageClassName = "string",
                                VolumeMode = "string",
                                VolumeName = "string",
                            },
                            Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs
                            {
                                Annotations = 
                                {
                                    { "string", "string" },
                                },
                                ClusterName = "string",
                                CreationTimestamp = "string",
                                DeletionGracePeriodSeconds = 0,
                                DeletionTimestamp = "string",
                                Finalizers = new[]
                                {
                                    "string",
                                },
                                GenerateName = "string",
                                Generation = 0,
                                Labels = 
                                {
                                    { "string", "string" },
                                },
                                ManagedFields = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.ManagedFieldsEntryArgs
                                    {
                                        ApiVersion = "string",
                                        FieldsType = "string",
                                        FieldsV1 = "{}",
                                        Manager = "string",
                                        Operation = "string",
                                        Subresource = "string",
                                        Time = "string",
                                    },
                                },
                                Name = "string",
                                Namespace = "string",
                                OwnerReferences = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.OwnerReferenceArgs
                                    {
                                        ApiVersion = "string",
                                        Kind = "string",
                                        Name = "string",
                                        Uid = "string",
                                        BlockOwnerDeletion = false,
                                        Controller = false,
                                    },
                                },
                                ResourceVersion = "string",
                                SelfLink = "string",
                                Uid = "string",
                            },
                        },
                    },
                    Fc = new Kubernetes.Types.Inputs.Core.V1.FCVolumeSourceArgs
                    {
                        FsType = "string",
                        Lun = 0,
                        ReadOnly = false,
                        TargetWWNs = new[]
                        {
                            "string",
                        },
                        Wwids = new[]
                        {
                            "string",
                        },
                    },
                    FlexVolume = new Kubernetes.Types.Inputs.Core.V1.FlexVolumeSourceArgs
                    {
                        Driver = "string",
                        FsType = "string",
                        Options = 
                        {
                            { "string", "string" },
                        },
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                    },
                    Iscsi = new Kubernetes.Types.Inputs.Core.V1.ISCSIVolumeSourceArgs
                    {
                        Iqn = "string",
                        Lun = 0,
                        TargetPortal = "string",
                        ChapAuthDiscovery = false,
                        ChapAuthSession = false,
                        FsType = "string",
                        InitiatorName = "string",
                        IscsiInterface = "string",
                        Portals = new[]
                        {
                            "string",
                        },
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                    },
                    GcePersistentDisk = new Kubernetes.Types.Inputs.Core.V1.GCEPersistentDiskVolumeSourceArgs
                    {
                        PdName = "string",
                        FsType = "string",
                        Partition = 0,
                        ReadOnly = false,
                    },
                    AwsElasticBlockStore = new Kubernetes.Types.Inputs.Core.V1.AWSElasticBlockStoreVolumeSourceArgs
                    {
                        VolumeID = "string",
                        FsType = "string",
                        Partition = 0,
                        ReadOnly = false,
                    },
                    Cephfs = new Kubernetes.Types.Inputs.Core.V1.CephFSVolumeSourceArgs
                    {
                        Monitors = new[]
                        {
                            "string",
                        },
                        Path = "string",
                        ReadOnly = false,
                        SecretFile = "string",
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        User = "string",
                    },
                    AzureFile = new Kubernetes.Types.Inputs.Core.V1.AzureFileVolumeSourceArgs
                    {
                        SecretName = "string",
                        ShareName = "string",
                        ReadOnly = false,
                    },
                    Flocker = new Kubernetes.Types.Inputs.Core.V1.FlockerVolumeSourceArgs
                    {
                        DatasetName = "string",
                        DatasetUUID = "string",
                    },
                    AzureDisk = new Kubernetes.Types.Inputs.Core.V1.AzureDiskVolumeSourceArgs
                    {
                        DiskName = "string",
                        DiskURI = "string",
                        CachingMode = "string",
                        FsType = "string",
                        Kind = "string",
                        ReadOnly = false,
                    },
                    Nfs = new Kubernetes.Types.Inputs.Core.V1.NFSVolumeSourceArgs
                    {
                        Path = "string",
                        Server = "string",
                        ReadOnly = false,
                    },
                    PersistentVolumeClaim = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimVolumeSourceArgs
                    {
                        ClaimName = "string",
                        ReadOnly = false,
                    },
                    PhotonPersistentDisk = new Kubernetes.Types.Inputs.Core.V1.PhotonPersistentDiskVolumeSourceArgs
                    {
                        PdID = "string",
                        FsType = "string",
                    },
                    PortworxVolume = new Kubernetes.Types.Inputs.Core.V1.PortworxVolumeSourceArgs
                    {
                        VolumeID = "string",
                        FsType = "string",
                        ReadOnly = false,
                    },
                    Projected = new Kubernetes.Types.Inputs.Core.V1.ProjectedVolumeSourceArgs
                    {
                        Sources = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.VolumeProjectionArgs
                            {
                                ConfigMap = new Kubernetes.Types.Inputs.Core.V1.ConfigMapProjectionArgs
                                {
                                    Items = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                                        {
                                            Key = "string",
                                            Path = "string",
                                            Mode = 0,
                                        },
                                    },
                                    Name = "string",
                                    Optional = false,
                                },
                                DownwardAPI = new Kubernetes.Types.Inputs.Core.V1.DownwardAPIProjectionArgs
                                {
                                    Items = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Core.V1.DownwardAPIVolumeFileArgs
                                        {
                                            Path = "string",
                                            FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                                            {
                                                FieldPath = "string",
                                                ApiVersion = "string",
                                            },
                                            Mode = 0,
                                            ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                                            {
                                                Resource = "string",
                                                ContainerName = "string",
                                                Divisor = "string",
                                            },
                                        },
                                    },
                                },
                                Secret = new Kubernetes.Types.Inputs.Core.V1.SecretProjectionArgs
                                {
                                    Items = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                                        {
                                            Key = "string",
                                            Path = "string",
                                            Mode = 0,
                                        },
                                    },
                                    Name = "string",
                                    Optional = false,
                                },
                                ServiceAccountToken = new Kubernetes.Types.Inputs.Core.V1.ServiceAccountTokenProjectionArgs
                                {
                                    Path = "string",
                                    Audience = "string",
                                    ExpirationSeconds = 0,
                                },
                            },
                        },
                        DefaultMode = 0,
                    },
                    Quobyte = new Kubernetes.Types.Inputs.Core.V1.QuobyteVolumeSourceArgs
                    {
                        Registry = "string",
                        Volume = "string",
                        Group = "string",
                        ReadOnly = false,
                        Tenant = "string",
                        User = "string",
                    },
                    Rbd = new Kubernetes.Types.Inputs.Core.V1.RBDVolumeSourceArgs
                    {
                        Image = "string",
                        Monitors = new[]
                        {
                            "string",
                        },
                        FsType = "string",
                        Keyring = "string",
                        Pool = "string",
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        User = "string",
                    },
                    ScaleIO = new Kubernetes.Types.Inputs.Core.V1.ScaleIOVolumeSourceArgs
                    {
                        Gateway = "string",
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        System = "string",
                        FsType = "string",
                        ProtectionDomain = "string",
                        ReadOnly = false,
                        SslEnabled = false,
                        StorageMode = "string",
                        StoragePool = "string",
                        VolumeName = "string",
                    },
                    Secret = new Kubernetes.Types.Inputs.Core.V1.SecretVolumeSourceArgs
                    {
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                            {
                                Key = "string",
                                Path = "string",
                                Mode = 0,
                            },
                        },
                        Optional = false,
                        SecretName = "string",
                    },
                    Storageos = new Kubernetes.Types.Inputs.Core.V1.StorageOSVolumeSourceArgs
                    {
                        FsType = "string",
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        VolumeName = "string",
                        VolumeNamespace = "string",
                    },
                    VsphereVolume = new Kubernetes.Types.Inputs.Core.V1.VsphereVirtualDiskVolumeSourceArgs
                    {
                        VolumePath = "string",
                        FsType = "string",
                        StoragePolicyID = "string",
                        StoragePolicyName = "string",
                    },
                },
            },
            HealthCheckPath = "string",
            HeathCheckHost = "string",
            HostNetwork = false,
            HostPort = new KubernetesIngressNginx.Inputs.ControllerHostPortArgs
            {
                Enabled = false,
                Ports = new KubernetesIngressNginx.Inputs.ControllerHostPortPortsArgs
                {
                    Http = 0,
                    Https = 0,
                },
            },
            Hostname = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            Image = new KubernetesIngressNginx.Inputs.ControllerImageArgs
            {
                AllowPrivilegeEscalation = false,
                Digest = "string",
                Image = "string",
                PullPolicy = "string",
                ReadOnlyRootFilesystem = false,
                Registry = "string",
                Repository = "string",
                RunAsNonRoot = false,
                RunAsUser = "string",
                Tag = "string",
            },
            IngressClassByName = false,
            IngressClassResource = new KubernetesIngressNginx.Inputs.ControllerIngressClassResourceArgs
            {
                ControllerValue = "string",
                Default = false,
                Enabled = false,
                Name = "string",
                Parameters = 
                {
                    { "string", 
                    {
                        { "string", "string" },
                    } },
                },
            },
            Keda = new KubernetesIngressNginx.Inputs.KedaArgs
            {
                ApiVersion = "string",
                Behavior = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorArgs
                {
                    ScaleDown = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingArgs
                    {
                        Policies = new[]
                        {
                            new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingPolicyArgs
                            {
                                PeriodSeconds = 0,
                                Type = "string",
                                Value = 0,
                            },
                        },
                        StabilizationWindowSeconds = 0,
                    },
                    ScaleUp = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingArgs
                    {
                        Policies = new[]
                        {
                            new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingPolicyArgs
                            {
                                PeriodSeconds = 0,
                                Type = "string",
                                Value = 0,
                            },
                        },
                        StabilizationWindowSeconds = 0,
                    },
                },
                CooldownPeriod = 0,
                Enabled = false,
                MaxReplicas = 0,
                MinReplicas = 0,
                PollingInterval = 0,
                RestoreToOriginalReplicaCount = false,
                ScaledObject = new KubernetesIngressNginx.Inputs.KedaScaledObjectArgs
                {
                    Annotations = 
                    {
                        { "string", "string" },
                    },
                },
                Triggers = new[]
                {
                    new KubernetesIngressNginx.Inputs.KedaTriggerArgs
                    {
                        Metadata = 
                        {
                            { "string", 
                            {
                                { "string", "string" },
                            } },
                        },
                        Type = "string",
                    },
                },
            },
            Kind = "string",
            Lifecycle = new Kubernetes.Types.Inputs.Core.V1.LifecycleArgs
            {
                PostStart = new Kubernetes.Types.Inputs.Core.V1.HandlerArgs
                {
                    Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                    {
                        Command = new[]
                        {
                            "string",
                        },
                    },
                    HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                    {
                        Port = 0,
                        Host = "string",
                        HttpHeaders = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                            {
                                Name = "string",
                                Value = "string",
                            },
                        },
                        Path = "string",
                        Scheme = "string",
                    },
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                },
                PreStop = new Kubernetes.Types.Inputs.Core.V1.HandlerArgs
                {
                    Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                    {
                        Command = new[]
                        {
                            "string",
                        },
                    },
                    HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                    {
                        Port = 0,
                        Host = "string",
                        HttpHeaders = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                            {
                                Name = "string",
                                Value = "string",
                            },
                        },
                        Path = "string",
                        Scheme = "string",
                    },
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                },
            },
            LivenessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
            {
                Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                {
                    Command = new[]
                    {
                        "string",
                    },
                },
                FailureThreshold = 0,
                HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                {
                    Port = 0,
                    Host = "string",
                    HttpHeaders = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    Path = "string",
                    Scheme = "string",
                },
                InitialDelaySeconds = 0,
                PeriodSeconds = 0,
                SuccessThreshold = 0,
                TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                {
                    Port = 0,
                    Host = "string",
                },
                TerminationGracePeriodSeconds = 0,
                TimeoutSeconds = 0,
            },
            MaxmindLicenseKey = "string",
            Metrics = new KubernetesIngressNginx.Inputs.ControllerMetricsArgs
            {
                Enabled = false,
                Port = 0,
                PrometheusRule = new KubernetesIngressNginx.Inputs.ControllerMetricsPrometheusRulesArgs
                {
                    AdditionalLabels = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    Enabled = false,
                    Namespace = "string",
                    Rules = new[]
                    {
                        
                        {
                            { "string", "string" },
                        },
                    },
                },
                Service = new KubernetesIngressNginx.Inputs.ControllerMetricsServiceArgs
                {
                    Annotations = 
                    {
                        { "string", "string" },
                    },
                    ClusterIP = "string",
                    ExternalIPs = new[]
                    {
                        "string",
                    },
                    ExternalTrafficPolicy = "string",
                    LoadBalancerIPs = "string",
                    LoadBalancerSourceRanges = new[]
                    {
                        "string",
                    },
                    NodePort = "string",
                    ServicePort = 0,
                    Type = "string",
                },
                ServiceMonitor = new KubernetesIngressNginx.Inputs.ControllerMetricsServiceMonitorArgs
                {
                    AdditionalLabels = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    Enabled = false,
                    HonorLabels = false,
                    JobLabel = "string",
                    MetricRelabelings = new[]
                    {
                        "string",
                    },
                    Namespace = "string",
                    NamespaceSelector = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    ScrapeInterval = "string",
                    TargetLabels = new[]
                    {
                        "string",
                    },
                },
            },
            MinAvailable = 0,
            MinReadySeconds = 0,
            Name = "string",
            NodeSelector = 
            {
                { "string", "string" },
            },
            PodAnnotations = 
            {
                { "string", "string" },
            },
            PodLabels = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            PodSecurityContext = new Kubernetes.Types.Inputs.Core.V1.PodSecurityContextArgs
            {
                FsGroup = 0,
                FsGroupChangePolicy = "string",
                RunAsGroup = 0,
                RunAsNonRoot = false,
                RunAsUser = 0,
                SeLinuxOptions = new Kubernetes.Types.Inputs.Core.V1.SELinuxOptionsArgs
                {
                    Level = "string",
                    Role = "string",
                    Type = "string",
                    User = "string",
                },
                SeccompProfile = new Kubernetes.Types.Inputs.Core.V1.SeccompProfileArgs
                {
                    Type = "string",
                    LocalhostProfile = "string",
                },
                SupplementalGroups = new[]
                {
                    0,
                },
                Sysctls = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.SysctlArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                WindowsOptions = new Kubernetes.Types.Inputs.Core.V1.WindowsSecurityContextOptionsArgs
                {
                    GmsaCredentialSpec = "string",
                    GmsaCredentialSpecName = "string",
                    HostProcess = false,
                    RunAsUserName = "string",
                },
            },
            PriorityClassName = "string",
            ProxySetHeaders = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            PublishService = new KubernetesIngressNginx.Inputs.ControllerPublishServiceArgs
            {
                Enabled = false,
                PathOverride = "string",
            },
            ReadinessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
            {
                Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                {
                    Command = new[]
                    {
                        "string",
                    },
                },
                FailureThreshold = 0,
                HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                {
                    Port = 0,
                    Host = "string",
                    HttpHeaders = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    Path = "string",
                    Scheme = "string",
                },
                InitialDelaySeconds = 0,
                PeriodSeconds = 0,
                SuccessThreshold = 0,
                TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                {
                    Port = 0,
                    Host = "string",
                },
                TerminationGracePeriodSeconds = 0,
                TimeoutSeconds = 0,
            },
            ReplicaCount = 0,
            ReportNodeInternalIp = false,
            Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
            {
                Limits = 
                {
                    { "string", "string" },
                },
                Requests = 
                {
                    { "string", "string" },
                },
            },
            Scope = new KubernetesIngressNginx.Inputs.ControllerScopeArgs
            {
                Enabled = false,
                Namespace = "string",
            },
            Service = new KubernetesIngressNginx.Inputs.ControllerServiceArgs
            {
                Annotations = 
                {
                    { "string", 
                    {
                        { "string", "string" },
                    } },
                },
                ClusterIP = "string",
                EnableHttp = false,
                EnableHttps = false,
                Enabled = false,
                ExternalIPs = new[]
                {
                    "string",
                },
                ExternalTrafficPolicy = "string",
                HealthCheckNodePort = 0,
                Internal = new KubernetesIngressNginx.Inputs.ControllerServiceInternalArgs
                {
                    Annotations = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    Enabled = false,
                    ExternalTrafficPolicy = "string",
                    Labels = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    LoadBalancerIPs = "string",
                    LoadBalancerSourceRanges = new[]
                    {
                        "string",
                    },
                },
                Labels = 
                {
                    { "string", 
                    {
                        { "string", "string" },
                    } },
                },
                LoadBalancerIPs = "string",
                LoadBalancerSourceRanges = new[]
                {
                    "string",
                },
                NodePorts = new KubernetesIngressNginx.Inputs.ControllerServiceNodePortsArgs
                {
                    Http = "string",
                    Https = "string",
                    Tcp = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                    Udp = 
                    {
                        { "string", 
                        {
                            { "string", "string" },
                        } },
                    },
                },
                Ports = new KubernetesIngressNginx.Inputs.ControllerPortArgs
                {
                    Http = 0,
                    Https = 0,
                },
                SessionAffinity = "string",
                TargetPorts = new KubernetesIngressNginx.Inputs.ControllerPortArgs
                {
                    Http = 0,
                    Https = 0,
                },
                Type = "string",
            },
            StartupProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
            {
                Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                {
                    Command = new[]
                    {
                        "string",
                    },
                },
                FailureThreshold = 0,
                HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                {
                    Port = 0,
                    Host = "string",
                    HttpHeaders = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    Path = "string",
                    Scheme = "string",
                },
                InitialDelaySeconds = 0,
                PeriodSeconds = 0,
                SuccessThreshold = 0,
                TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                {
                    Port = 0,
                    Host = "string",
                },
                TerminationGracePeriodSeconds = 0,
                TimeoutSeconds = 0,
            },
            Sysctls = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            Tcp = new KubernetesIngressNginx.Inputs.ControllerTcpArgs
            {
                Annotations = 
                {
                    { "string", "string" },
                },
                ConfigMapNamespace = "string",
            },
            TerminateGracePeriodSeconds = 0,
            Tolerations = new Kubernetes.Types.Inputs.Core.V1.TolerationArgs
            {
                Effect = "string",
                Key = "string",
                Operator = "string",
                TolerationSeconds = 0,
                Value = "string",
            },
            TopologySpreadConstraints = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.TopologySpreadConstraintArgs
                {
                    MaxSkew = 0,
                    TopologyKey = "string",
                    WhenUnsatisfiable = "string",
                    LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                    {
                        MatchExpressions = new[]
                        {
                            new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                            {
                                Key = "string",
                                Operator = "string",
                                Values = new[]
                                {
                                    "string",
                                },
                            },
                        },
                        MatchLabels = 
                        {
                            { "string", "string" },
                        },
                    },
                },
            },
            Udp = new KubernetesIngressNginx.Inputs.ControllerUdpArgs
            {
                Annotations = 
                {
                    { "string", "string" },
                },
                ConfigMapNamespace = "string",
            },
            UpdateStrategy = new KubernetesIngressNginx.Inputs.ControllerUpdateStrategyArgs
            {
                RollingUpdate = new KubernetesIngressNginx.Inputs.ControllerRollingUpdateArgs
                {
                    MaxUnavailable = 0,
                },
                Type = "string",
            },
            WatchIngressWithoutClass = false,
        },
        DefaultBackend = new KubernetesIngressNginx.Inputs.ControllerDefaultBackendArgs
        {
            Affinity = new Kubernetes.Types.Inputs.Core.V1.AffinityArgs
            {
                NodeAffinity = new Kubernetes.Types.Inputs.Core.V1.NodeAffinityArgs
                {
                    PreferredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.PreferredSchedulingTermArgs
                        {
                            Preference = new Kubernetes.Types.Inputs.Core.V1.NodeSelectorTermArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchFields = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                            Weight = 0,
                        },
                    },
                    RequiredDuringSchedulingIgnoredDuringExecution = new Kubernetes.Types.Inputs.Core.V1.NodeSelectorArgs
                    {
                        NodeSelectorTerms = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.NodeSelectorTermArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchFields = new[]
                                {
                                    new Kubernetes.Types.Inputs.Core.V1.NodeSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                            },
                        },
                    },
                },
                PodAffinity = new Kubernetes.Types.Inputs.Core.V1.PodAffinityArgs
                {
                    PreferredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.WeightedPodAffinityTermArgs
                        {
                            PodAffinityTerm = new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                            {
                                TopologyKey = "string",
                                LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                Namespaces = new[]
                                {
                                    "string",
                                },
                            },
                            Weight = 0,
                        },
                    },
                    RequiredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                        {
                            TopologyKey = "string",
                            LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            Namespaces = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
                PodAntiAffinity = new Kubernetes.Types.Inputs.Core.V1.PodAntiAffinityArgs
                {
                    PreferredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.WeightedPodAffinityTermArgs
                        {
                            PodAffinityTerm = new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                            {
                                TopologyKey = "string",
                                LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                Namespaces = new[]
                                {
                                    "string",
                                },
                            },
                            Weight = 0,
                        },
                    },
                    RequiredDuringSchedulingIgnoredDuringExecution = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.PodAffinityTermArgs
                        {
                            TopologyKey = "string",
                            LabelSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            NamespaceSelector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                            {
                                MatchExpressions = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                    {
                                        Key = "string",
                                        Operator = "string",
                                        Values = new[]
                                        {
                                            "string",
                                        },
                                    },
                                },
                                MatchLabels = 
                                {
                                    { "string", "string" },
                                },
                            },
                            Namespaces = new[]
                            {
                                "string",
                            },
                        },
                    },
                },
            },
            Autoscaling = new KubernetesIngressNginx.Inputs.AutoscalingArgs
            {
                Annotations = 
                {
                    { "string", "string" },
                },
                ControllerAutoscalingBehavior = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorArgs
                {
                    ScaleDown = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingArgs
                    {
                        Policies = new[]
                        {
                            new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingPolicyArgs
                            {
                                PeriodSeconds = 0,
                                Type = "string",
                                Value = 0,
                            },
                        },
                        StabilizationWindowSeconds = 0,
                    },
                    ScaleUp = new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingArgs
                    {
                        Policies = new[]
                        {
                            new KubernetesIngressNginx.Inputs.AutoscalingBehaviorScalingPolicyArgs
                            {
                                PeriodSeconds = 0,
                                Type = "string",
                                Value = 0,
                            },
                        },
                        StabilizationWindowSeconds = 0,
                    },
                },
                Enabled = false,
                MaxReplicas = 0,
                MinReplicas = 0,
                TargetCPUUtilizationPercentage = 0,
                TargetMemoryUtilizationPercentage = 0,
            },
            Enabled = false,
            ExistingPsp = "string",
            ExtraArgs = 
            {
                { "string", 
                {
                    { "string", "string" },
                } },
            },
            ExtraEnvs = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs
                {
                    Name = "string",
                    Value = "string",
                    ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs
                    {
                        ConfigMapKeyRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapKeySelectorArgs
                        {
                            Key = "string",
                            Name = "string",
                            Optional = false,
                        },
                        FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                        {
                            FieldPath = "string",
                            ApiVersion = "string",
                        },
                        ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                        {
                            Resource = "string",
                            ContainerName = "string",
                            Divisor = "string",
                        },
                        SecretKeyRef = new Kubernetes.Types.Inputs.Core.V1.SecretKeySelectorArgs
                        {
                            Key = "string",
                            Name = "string",
                            Optional = false,
                        },
                    },
                },
            },
            ExtraVolumeMounts = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.VolumeMountArgs
                {
                    MountPath = "string",
                    Name = "string",
                    MountPropagation = "string",
                    ReadOnly = false,
                    SubPath = "string",
                    SubPathExpr = "string",
                },
            },
            ExtraVolumes = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.VolumeArgs
                {
                    Name = "string",
                    GitRepo = new Kubernetes.Types.Inputs.Core.V1.GitRepoVolumeSourceArgs
                    {
                        Repository = "string",
                        Directory = "string",
                        Revision = "string",
                    },
                    ConfigMap = new Kubernetes.Types.Inputs.Core.V1.ConfigMapVolumeSourceArgs
                    {
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                            {
                                Key = "string",
                                Path = "string",
                                Mode = 0,
                            },
                        },
                        Name = "string",
                        Optional = false,
                    },
                    Glusterfs = new Kubernetes.Types.Inputs.Core.V1.GlusterfsVolumeSourceArgs
                    {
                        Endpoints = "string",
                        Path = "string",
                        ReadOnly = false,
                    },
                    Cinder = new Kubernetes.Types.Inputs.Core.V1.CinderVolumeSourceArgs
                    {
                        VolumeID = "string",
                        FsType = "string",
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                    },
                    HostPath = new Kubernetes.Types.Inputs.Core.V1.HostPathVolumeSourceArgs
                    {
                        Path = "string",
                        Type = "string",
                    },
                    Csi = new Kubernetes.Types.Inputs.Core.V1.CSIVolumeSourceArgs
                    {
                        Driver = "string",
                        FsType = "string",
                        NodePublishSecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        ReadOnly = false,
                        VolumeAttributes = 
                        {
                            { "string", "string" },
                        },
                    },
                    DownwardAPI = new Kubernetes.Types.Inputs.Core.V1.DownwardAPIVolumeSourceArgs
                    {
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.DownwardAPIVolumeFileArgs
                            {
                                Path = "string",
                                FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                                {
                                    FieldPath = "string",
                                    ApiVersion = "string",
                                },
                                Mode = 0,
                                ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                                {
                                    Resource = "string",
                                    ContainerName = "string",
                                    Divisor = "string",
                                },
                            },
                        },
                    },
                    EmptyDir = new Kubernetes.Types.Inputs.Core.V1.EmptyDirVolumeSourceArgs
                    {
                        Medium = "string",
                        SizeLimit = "string",
                    },
                    Ephemeral = new Kubernetes.Types.Inputs.Core.V1.EphemeralVolumeSourceArgs
                    {
                        ReadOnly = false,
                        VolumeClaimTemplate = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimTemplateArgs
                        {
                            Spec = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimSpecArgs
                            {
                                AccessModes = new[]
                                {
                                    "string",
                                },
                                DataSource = new Kubernetes.Types.Inputs.Core.V1.TypedLocalObjectReferenceArgs
                                {
                                    Kind = "string",
                                    Name = "string",
                                    ApiGroup = "string",
                                },
                                DataSourceRef = new Kubernetes.Types.Inputs.Core.V1.TypedLocalObjectReferenceArgs
                                {
                                    Kind = "string",
                                    Name = "string",
                                    ApiGroup = "string",
                                },
                                Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                                {
                                    Limits = 
                                    {
                                        { "string", "string" },
                                    },
                                    Requests = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                Selector = new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorArgs
                                {
                                    MatchExpressions = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Meta.V1.LabelSelectorRequirementArgs
                                        {
                                            Key = "string",
                                            Operator = "string",
                                            Values = new[]
                                            {
                                                "string",
                                            },
                                        },
                                    },
                                    MatchLabels = 
                                    {
                                        { "string", "string" },
                                    },
                                },
                                StorageClassName = "string",
                                VolumeMode = "string",
                                VolumeName = "string",
                            },
                            Metadata = new Kubernetes.Types.Inputs.Meta.V1.ObjectMetaArgs
                            {
                                Annotations = 
                                {
                                    { "string", "string" },
                                },
                                ClusterName = "string",
                                CreationTimestamp = "string",
                                DeletionGracePeriodSeconds = 0,
                                DeletionTimestamp = "string",
                                Finalizers = new[]
                                {
                                    "string",
                                },
                                GenerateName = "string",
                                Generation = 0,
                                Labels = 
                                {
                                    { "string", "string" },
                                },
                                ManagedFields = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.ManagedFieldsEntryArgs
                                    {
                                        ApiVersion = "string",
                                        FieldsType = "string",
                                        FieldsV1 = "{}",
                                        Manager = "string",
                                        Operation = "string",
                                        Subresource = "string",
                                        Time = "string",
                                    },
                                },
                                Name = "string",
                                Namespace = "string",
                                OwnerReferences = new[]
                                {
                                    new Kubernetes.Types.Inputs.Meta.V1.OwnerReferenceArgs
                                    {
                                        ApiVersion = "string",
                                        Kind = "string",
                                        Name = "string",
                                        Uid = "string",
                                        BlockOwnerDeletion = false,
                                        Controller = false,
                                    },
                                },
                                ResourceVersion = "string",
                                SelfLink = "string",
                                Uid = "string",
                            },
                        },
                    },
                    Fc = new Kubernetes.Types.Inputs.Core.V1.FCVolumeSourceArgs
                    {
                        FsType = "string",
                        Lun = 0,
                        ReadOnly = false,
                        TargetWWNs = new[]
                        {
                            "string",
                        },
                        Wwids = new[]
                        {
                            "string",
                        },
                    },
                    FlexVolume = new Kubernetes.Types.Inputs.Core.V1.FlexVolumeSourceArgs
                    {
                        Driver = "string",
                        FsType = "string",
                        Options = 
                        {
                            { "string", "string" },
                        },
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                    },
                    Iscsi = new Kubernetes.Types.Inputs.Core.V1.ISCSIVolumeSourceArgs
                    {
                        Iqn = "string",
                        Lun = 0,
                        TargetPortal = "string",
                        ChapAuthDiscovery = false,
                        ChapAuthSession = false,
                        FsType = "string",
                        InitiatorName = "string",
                        IscsiInterface = "string",
                        Portals = new[]
                        {
                            "string",
                        },
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                    },
                    GcePersistentDisk = new Kubernetes.Types.Inputs.Core.V1.GCEPersistentDiskVolumeSourceArgs
                    {
                        PdName = "string",
                        FsType = "string",
                        Partition = 0,
                        ReadOnly = false,
                    },
                    AwsElasticBlockStore = new Kubernetes.Types.Inputs.Core.V1.AWSElasticBlockStoreVolumeSourceArgs
                    {
                        VolumeID = "string",
                        FsType = "string",
                        Partition = 0,
                        ReadOnly = false,
                    },
                    Cephfs = new Kubernetes.Types.Inputs.Core.V1.CephFSVolumeSourceArgs
                    {
                        Monitors = new[]
                        {
                            "string",
                        },
                        Path = "string",
                        ReadOnly = false,
                        SecretFile = "string",
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        User = "string",
                    },
                    AzureFile = new Kubernetes.Types.Inputs.Core.V1.AzureFileVolumeSourceArgs
                    {
                        SecretName = "string",
                        ShareName = "string",
                        ReadOnly = false,
                    },
                    Flocker = new Kubernetes.Types.Inputs.Core.V1.FlockerVolumeSourceArgs
                    {
                        DatasetName = "string",
                        DatasetUUID = "string",
                    },
                    AzureDisk = new Kubernetes.Types.Inputs.Core.V1.AzureDiskVolumeSourceArgs
                    {
                        DiskName = "string",
                        DiskURI = "string",
                        CachingMode = "string",
                        FsType = "string",
                        Kind = "string",
                        ReadOnly = false,
                    },
                    Nfs = new Kubernetes.Types.Inputs.Core.V1.NFSVolumeSourceArgs
                    {
                        Path = "string",
                        Server = "string",
                        ReadOnly = false,
                    },
                    PersistentVolumeClaim = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimVolumeSourceArgs
                    {
                        ClaimName = "string",
                        ReadOnly = false,
                    },
                    PhotonPersistentDisk = new Kubernetes.Types.Inputs.Core.V1.PhotonPersistentDiskVolumeSourceArgs
                    {
                        PdID = "string",
                        FsType = "string",
                    },
                    PortworxVolume = new Kubernetes.Types.Inputs.Core.V1.PortworxVolumeSourceArgs
                    {
                        VolumeID = "string",
                        FsType = "string",
                        ReadOnly = false,
                    },
                    Projected = new Kubernetes.Types.Inputs.Core.V1.ProjectedVolumeSourceArgs
                    {
                        Sources = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.VolumeProjectionArgs
                            {
                                ConfigMap = new Kubernetes.Types.Inputs.Core.V1.ConfigMapProjectionArgs
                                {
                                    Items = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                                        {
                                            Key = "string",
                                            Path = "string",
                                            Mode = 0,
                                        },
                                    },
                                    Name = "string",
                                    Optional = false,
                                },
                                DownwardAPI = new Kubernetes.Types.Inputs.Core.V1.DownwardAPIProjectionArgs
                                {
                                    Items = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Core.V1.DownwardAPIVolumeFileArgs
                                        {
                                            Path = "string",
                                            FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                                            {
                                                FieldPath = "string",
                                                ApiVersion = "string",
                                            },
                                            Mode = 0,
                                            ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                                            {
                                                Resource = "string",
                                                ContainerName = "string",
                                                Divisor = "string",
                                            },
                                        },
                                    },
                                },
                                Secret = new Kubernetes.Types.Inputs.Core.V1.SecretProjectionArgs
                                {
                                    Items = new[]
                                    {
                                        new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                                        {
                                            Key = "string",
                                            Path = "string",
                                            Mode = 0,
                                        },
                                    },
                                    Name = "string",
                                    Optional = false,
                                },
                                ServiceAccountToken = new Kubernetes.Types.Inputs.Core.V1.ServiceAccountTokenProjectionArgs
                                {
                                    Path = "string",
                                    Audience = "string",
                                    ExpirationSeconds = 0,
                                },
                            },
                        },
                        DefaultMode = 0,
                    },
                    Quobyte = new Kubernetes.Types.Inputs.Core.V1.QuobyteVolumeSourceArgs
                    {
                        Registry = "string",
                        Volume = "string",
                        Group = "string",
                        ReadOnly = false,
                        Tenant = "string",
                        User = "string",
                    },
                    Rbd = new Kubernetes.Types.Inputs.Core.V1.RBDVolumeSourceArgs
                    {
                        Image = "string",
                        Monitors = new[]
                        {
                            "string",
                        },
                        FsType = "string",
                        Keyring = "string",
                        Pool = "string",
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        User = "string",
                    },
                    ScaleIO = new Kubernetes.Types.Inputs.Core.V1.ScaleIOVolumeSourceArgs
                    {
                        Gateway = "string",
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        System = "string",
                        FsType = "string",
                        ProtectionDomain = "string",
                        ReadOnly = false,
                        SslEnabled = false,
                        StorageMode = "string",
                        StoragePool = "string",
                        VolumeName = "string",
                    },
                    Secret = new Kubernetes.Types.Inputs.Core.V1.SecretVolumeSourceArgs
                    {
                        DefaultMode = 0,
                        Items = new[]
                        {
                            new Kubernetes.Types.Inputs.Core.V1.KeyToPathArgs
                            {
                                Key = "string",
                                Path = "string",
                                Mode = 0,
                            },
                        },
                        Optional = false,
                        SecretName = "string",
                    },
                    Storageos = new Kubernetes.Types.Inputs.Core.V1.StorageOSVolumeSourceArgs
                    {
                        FsType = "string",
                        ReadOnly = false,
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                        {
                            Name = "string",
                        },
                        VolumeName = "string",
                        VolumeNamespace = "string",
                    },
                    VsphereVolume = new Kubernetes.Types.Inputs.Core.V1.VsphereVirtualDiskVolumeSourceArgs
                    {
                        VolumePath = "string",
                        FsType = "string",
                        StoragePolicyID = "string",
                        StoragePolicyName = "string",
                    },
                },
            },
            Image = new KubernetesIngressNginx.Inputs.ControllerImageArgs
            {
                AllowPrivilegeEscalation = false,
                Digest = "string",
                Image = "string",
                PullPolicy = "string",
                ReadOnlyRootFilesystem = false,
                Registry = "string",
                Repository = "string",
                RunAsNonRoot = false,
                RunAsUser = "string",
                Tag = "string",
            },
            LivenessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
            {
                Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                {
                    Command = new[]
                    {
                        "string",
                    },
                },
                FailureThreshold = 0,
                HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                {
                    Port = 0,
                    Host = "string",
                    HttpHeaders = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    Path = "string",
                    Scheme = "string",
                },
                InitialDelaySeconds = 0,
                PeriodSeconds = 0,
                SuccessThreshold = 0,
                TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                {
                    Port = 0,
                    Host = "string",
                },
                TerminationGracePeriodSeconds = 0,
                TimeoutSeconds = 0,
            },
            MinAvailable = 0,
            Name = "string",
            NodeSelector = 
            {
                { "string", "string" },
            },
            PodAnnotations = 
            {
                { "string", "string" },
            },
            PodLabels = 
            {
                { "string", "string" },
            },
            PodSecurityContext = new Kubernetes.Types.Inputs.Core.V1.PodSecurityContextArgs
            {
                FsGroup = 0,
                FsGroupChangePolicy = "string",
                RunAsGroup = 0,
                RunAsNonRoot = false,
                RunAsUser = 0,
                SeLinuxOptions = new Kubernetes.Types.Inputs.Core.V1.SELinuxOptionsArgs
                {
                    Level = "string",
                    Role = "string",
                    Type = "string",
                    User = "string",
                },
                SeccompProfile = new Kubernetes.Types.Inputs.Core.V1.SeccompProfileArgs
                {
                    Type = "string",
                    LocalhostProfile = "string",
                },
                SupplementalGroups = new[]
                {
                    0,
                },
                Sysctls = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.SysctlArgs
                    {
                        Name = "string",
                        Value = "string",
                    },
                },
                WindowsOptions = new Kubernetes.Types.Inputs.Core.V1.WindowsSecurityContextOptionsArgs
                {
                    GmsaCredentialSpec = "string",
                    GmsaCredentialSpecName = "string",
                    HostProcess = false,
                    RunAsUserName = "string",
                },
            },
            Port = 0,
            PriorityClassName = "string",
            ReadinessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
            {
                Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                {
                    Command = new[]
                    {
                        "string",
                    },
                },
                FailureThreshold = 0,
                HttpGet = new Kubernetes.Types.Inputs.Core.V1.HTTPGetActionArgs
                {
                    Port = 0,
                    Host = "string",
                    HttpHeaders = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.HTTPHeaderArgs
                        {
                            Name = "string",
                            Value = "string",
                        },
                    },
                    Path = "string",
                    Scheme = "string",
                },
                InitialDelaySeconds = 0,
                PeriodSeconds = 0,
                SuccessThreshold = 0,
                TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                {
                    Port = 0,
                    Host = "string",
                },
                TerminationGracePeriodSeconds = 0,
                TimeoutSeconds = 0,
            },
            ReplicaCount = 0,
            Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
            {
                Limits = 
                {
                    { "string", "string" },
                },
                Requests = 
                {
                    { "string", "string" },
                },
            },
            Service = new KubernetesIngressNginx.Inputs.ControllerDefaultBackendServiceArgs
            {
                Annotations = 
                {
                    { "string", "string" },
                },
                ClusterIP = "string",
                ExternalIPs = new[]
                {
                    "string",
                },
                LoadBalancerIP = "string",
                LoadBalancerSourceRanges = new[]
                {
                    "string",
                },
                ServicePort = 0,
                Type = "string",
            },
            ServiceAccount = new KubernetesIngressNginx.Inputs.ControllerServiceAccountArgs
            {
                AutomountServiceAccountToken = false,
                Create = false,
                Name = "string",
            },
            Tolerations = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.TolerationArgs
                {
                    Effect = "string",
                    Key = "string",
                    Operator = "string",
                    TolerationSeconds = 0,
                    Value = "string",
                },
            },
        },
        DhParam = "string",
        FullnameOverride = "string",
        HelmOptions = new KubernetesIngressNginx.Inputs.ReleaseArgs
        {
            Atomic = false,
            Chart = "string",
            CleanupOnFail = false,
            CreateNamespace = false,
            DependencyUpdate = false,
            Description = "string",
            Devel = false,
            DisableCRDHooks = false,
            DisableOpenapiValidation = false,
            DisableWebhooks = false,
            ForceUpdate = false,
            Keyring = "string",
            Lint = false,
            Manifest = 
            {
                { "string", "any" },
            },
            MaxHistory = 0,
            Name = "string",
            Namespace = "string",
            Postrender = "string",
            RecreatePods = false,
            RenderSubchartNotes = false,
            Replace = false,
            RepositoryOpts = new KubernetesIngressNginx.Inputs.RepositoryOptsArgs
            {
                CaFile = "string",
                CertFile = "string",
                KeyFile = "string",
                Password = "string",
                Repo = "string",
                Username = "string",
            },
            ResetValues = false,
            ResourceNames = 
            {
                { "string", new[]
                {
                    "string",
                } },
            },
            ReuseValues = false,
            SkipAwait = false,
            SkipCrds = false,
            Timeout = 0,
            ValueYamlFiles = new[]
            {
                new StringAsset("content"),
            },
            Values = 
            {
                { "string", "any" },
            },
            Verify = false,
            Version = "string",
            WaitForJobs = false,
        },
        ImagePullSecrets = new[]
        {
            new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
            {
                Name = "string",
            },
        },
        NameOverride = "string",
        PodSecurityPolicy = new KubernetesIngressNginx.Inputs.ControllerPodSecurityPolicyArgs
        {
            Enabled = false,
        },
        Rbac = new KubernetesIngressNginx.Inputs.ControllerRBACArgs
        {
            Create = false,
            Scope = false,
        },
        RevisionHistoryLimit = 0,
        ServiceAccount = new KubernetesIngressNginx.Inputs.ControllerServiceAccountArgs
        {
            AutomountServiceAccountToken = false,
            Create = false,
            Name = "string",
        },
        Tcp = 
        {
            { "string", 
            {
                { "string", "string" },
            } },
        },
        Udp = 
        {
            { "string", 
            {
                { "string", "string" },
            } },
        },
    });
    
    example, err := kubernetesingressnginx.NewIngressController(ctx, "ingressControllerResource", &kubernetesingressnginx.IngressControllerArgs{
    	Controller: &kubernetesingressnginx.ControllerArgs{
    		AddHeaders: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		AdmissionWebhooks: &kubernetesingressnginx.ContollerAdmissionWebhooksArgs{
    			Annotations: pulumi.StringMapMap{
    				"string": pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			Certificate: pulumi.String("string"),
    			CreateSecretJob: &kubernetesingressnginx.ControllerAdmissionWebhooksCreateSecretJobArgs{
    				Resources: &corev1.ResourceRequirementsArgs{
    					Limits: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Requests: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    			Enabled:       pulumi.Bool(false),
    			ExistingPsp:   pulumi.String("string"),
    			FailurePolicy: pulumi.String("string"),
    			Key:           pulumi.String("string"),
    			NamespaceSelector: pulumi.StringMapMap{
    				"string": pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			ObjectSelector: pulumi.StringMapMap{
    				"string": pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			Patch: &kubernetesingressnginx.ControllerAdmissionWebhooksPatchArgs{
    				Enabled: pulumi.Bool(false),
    				Image: &kubernetesingressnginx.ControllerImageArgs{
    					AllowPrivilegeEscalation: pulumi.Bool(false),
    					Digest:                   pulumi.String("string"),
    					Image:                    pulumi.String("string"),
    					PullPolicy:               pulumi.String("string"),
    					ReadOnlyRootFilesystem:   pulumi.Bool(false),
    					Registry:                 pulumi.String("string"),
    					Repository:               pulumi.String("string"),
    					RunAsNonRoot:             pulumi.Bool(false),
    					RunAsUser:                pulumi.String("string"),
    					Tag:                      pulumi.String("string"),
    				},
    				NodeSelector: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				PodAnnotations: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				PriorityClassName: pulumi.String("string"),
    				RunAsUser:         pulumi.Int(0),
    				Tolerations: corev1.TolerationArray{
    					&corev1.TolerationArgs{
    						Effect:            pulumi.String("string"),
    						Key:               pulumi.String("string"),
    						Operator:          pulumi.String("string"),
    						TolerationSeconds: pulumi.Int(0),
    						Value:             pulumi.String("string"),
    					},
    				},
    			},
    			PatchWebhookJob: &kubernetesingressnginx.ControllerAdmissionWebhooksPatchWebhbookJobArgs{
    				Resources: &corev1.ResourceRequirementsArgs{
    					Limits: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Requests: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    			Port: pulumi.Int(0),
    			Service: &kubernetesingressnginx.ControllerAdmissionWebhooksServiceArgs{
    				Annotations: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				ClusterIP: pulumi.String("string"),
    				ExternalIPs: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				LoadBalancerIPs: pulumi.String("string"),
    				LoadBalancerSourceRanges: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ServicePort: pulumi.Int(0),
    				Type:        pulumi.String("string"),
    			},
    			TimeoutSeconds: pulumi.Int(0),
    		},
    		Affinity: &corev1.AffinityArgs{
    			NodeAffinity: &corev1.NodeAffinityArgs{
    				PreferredDuringSchedulingIgnoredDuringExecution: corev1.PreferredSchedulingTermArray{
    					&corev1.PreferredSchedulingTermArgs{
    						Preference: &corev1.NodeSelectorTermArgs{
    							MatchExpressions: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchFields: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    						Weight: pulumi.Int(0),
    					},
    				},
    				RequiredDuringSchedulingIgnoredDuringExecution: &corev1.NodeSelectorArgs{
    					NodeSelectorTerms: corev1.NodeSelectorTermArray{
    						&corev1.NodeSelectorTermArgs{
    							MatchExpressions: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchFields: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    					},
    				},
    			},
    			PodAffinity: &corev1.PodAffinityArgs{
    				PreferredDuringSchedulingIgnoredDuringExecution: corev1.WeightedPodAffinityTermArray{
    					&corev1.WeightedPodAffinityTermArgs{
    						PodAffinityTerm: &corev1.PodAffinityTermArgs{
    							TopologyKey: pulumi.String("string"),
    							LabelSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							NamespaceSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							Namespaces: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						Weight: pulumi.Int(0),
    					},
    				},
    				RequiredDuringSchedulingIgnoredDuringExecution: corev1.PodAffinityTermArray{
    					&corev1.PodAffinityTermArgs{
    						TopologyKey: pulumi.String("string"),
    						LabelSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						NamespaceSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						Namespaces: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    			PodAntiAffinity: &corev1.PodAntiAffinityArgs{
    				PreferredDuringSchedulingIgnoredDuringExecution: corev1.WeightedPodAffinityTermArray{
    					&corev1.WeightedPodAffinityTermArgs{
    						PodAffinityTerm: &corev1.PodAffinityTermArgs{
    							TopologyKey: pulumi.String("string"),
    							LabelSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							NamespaceSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							Namespaces: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						Weight: pulumi.Int(0),
    					},
    				},
    				RequiredDuringSchedulingIgnoredDuringExecution: corev1.PodAffinityTermArray{
    					&corev1.PodAffinityTermArgs{
    						TopologyKey: pulumi.String("string"),
    						LabelSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						NamespaceSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						Namespaces: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		AllowSnippetAnnotations: pulumi.Bool(false),
    		Annotations: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		Autoscaling: &kubernetesingressnginx.AutoscalingArgs{
    			Annotations: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ControllerAutoscalingBehavior: &kubernetesingressnginx.AutoscalingBehaviorArgs{
    				ScaleDown: &kubernetesingressnginx.AutoscalingBehaviorScalingArgs{
    					Policies: kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArray{
    						&kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArgs{
    							PeriodSeconds: pulumi.Int(0),
    							Type:          pulumi.String("string"),
    							Value:         pulumi.Int(0),
    						},
    					},
    					StabilizationWindowSeconds: pulumi.Int(0),
    				},
    				ScaleUp: &kubernetesingressnginx.AutoscalingBehaviorScalingArgs{
    					Policies: kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArray{
    						&kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArgs{
    							PeriodSeconds: pulumi.Int(0),
    							Type:          pulumi.String("string"),
    							Value:         pulumi.Int(0),
    						},
    					},
    					StabilizationWindowSeconds: pulumi.Int(0),
    				},
    			},
    			Enabled:                           pulumi.Bool(false),
    			MaxReplicas:                       pulumi.Int(0),
    			MinReplicas:                       pulumi.Int(0),
    			TargetCPUUtilizationPercentage:    pulumi.Int(0),
    			TargetMemoryUtilizationPercentage: pulumi.Int(0),
    		},
    		AutoscalingTemplate: kubernetesingressnginx.AutoscalingTemplateArray{
    			&kubernetesingressnginx.AutoscalingTemplateArgs{
    				Pods: &kubernetesingressnginx.AutoscalingTemplatePodsArgs{
    					Metric: &kubernetesingressnginx.AutoscalingTemplatePodsMetricArgs{
    						Name: pulumi.String("string"),
    					},
    					Target: &kubernetesingressnginx.AutoscalingTemplatePodsTargetArgs{
    						AverageValue: pulumi.String("string"),
    						Type:         pulumi.String("string"),
    					},
    				},
    				Type: pulumi.String("string"),
    			},
    		},
    		Config: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		ConfigAnnotations: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		ConfigMapNamespace: pulumi.String("string"),
    		ContainerName:      pulumi.String("string"),
    		ContainerPort: &kubernetesingressnginx.ControllerPortArgs{
    			Http:  pulumi.Int(0),
    			Https: pulumi.Int(0),
    		},
    		CustomTemplate: &kubernetesingressnginx.ControllerCustomTemplateArgs{
    			ConfigMapKey:  pulumi.String("string"),
    			ConfigMapName: pulumi.String("string"),
    		},
    		DnsConfig: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		DnsPolicy:      pulumi.String("string"),
    		ElectionID:     pulumi.String("string"),
    		EnableMimalloc: pulumi.Bool(false),
    		ExistingPsp:    pulumi.String("string"),
    		ExtraArgs: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		ExtraContainers: corev1.ContainerArray{
    			&corev1.ContainerArgs{
    				Name: pulumi.String("string"),
    				ReadinessProbe: &corev1.ProbeArgs{
    					Exec: &corev1.ExecActionArgs{
    						Command: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					FailureThreshold: pulumi.Int(0),
    					HttpGet: &corev1.HTTPGetActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    						HttpHeaders: corev1.HTTPHeaderArray{
    							&corev1.HTTPHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Path:   pulumi.String("string"),
    						Scheme: pulumi.String("string"),
    					},
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TcpSocket: &corev1.TCPSocketActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    					},
    					TerminationGracePeriodSeconds: pulumi.Int(0),
    					TimeoutSeconds:                pulumi.Int(0),
    				},
    				ImagePullPolicy: pulumi.String("string"),
    				Resources: &corev1.ResourceRequirementsArgs{
    					Limits: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Requests: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				StartupProbe: &corev1.ProbeArgs{
    					Exec: &corev1.ExecActionArgs{
    						Command: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					FailureThreshold: pulumi.Int(0),
    					HttpGet: &corev1.HTTPGetActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    						HttpHeaders: corev1.HTTPHeaderArray{
    							&corev1.HTTPHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Path:   pulumi.String("string"),
    						Scheme: pulumi.String("string"),
    					},
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TcpSocket: &corev1.TCPSocketActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    					},
    					TerminationGracePeriodSeconds: pulumi.Int(0),
    					TimeoutSeconds:                pulumi.Int(0),
    				},
    				SecurityContext: &corev1.SecurityContextArgs{
    					AllowPrivilegeEscalation: pulumi.Bool(false),
    					Capabilities: &corev1.CapabilitiesArgs{
    						Add: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Drop: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Privileged:             pulumi.Bool(false),
    					ProcMount:              pulumi.String("string"),
    					ReadOnlyRootFilesystem: pulumi.Bool(false),
    					RunAsGroup:             pulumi.Int(0),
    					RunAsNonRoot:           pulumi.Bool(false),
    					RunAsUser:              pulumi.Int(0),
    					SeLinuxOptions: &corev1.SELinuxOptionsArgs{
    						Level: pulumi.String("string"),
    						Role:  pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						User:  pulumi.String("string"),
    					},
    					SeccompProfile: &corev1.SeccompProfileArgs{
    						Type:             pulumi.String("string"),
    						LocalhostProfile: pulumi.String("string"),
    					},
    					WindowsOptions: &corev1.WindowsSecurityContextOptionsArgs{
    						GmsaCredentialSpec:     pulumi.String("string"),
    						GmsaCredentialSpecName: pulumi.String("string"),
    						HostProcess:            pulumi.Bool(false),
    						RunAsUserName:          pulumi.String("string"),
    					},
    				},
    				Lifecycle: &corev1.LifecycleArgs{
    					PostStart: &corev1.HandlerArgs{
    						Exec: &corev1.ExecActionArgs{
    							Command: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						HttpGet: &corev1.HTTPGetActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    							HttpHeaders: corev1.HTTPHeaderArray{
    								&corev1.HTTPHeaderArgs{
    									Name:  pulumi.String("string"),
    									Value: pulumi.String("string"),
    								},
    							},
    							Path:   pulumi.String("string"),
    							Scheme: pulumi.String("string"),
    						},
    						TcpSocket: &corev1.TCPSocketActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    						},
    					},
    					PreStop: &corev1.HandlerArgs{
    						Exec: &corev1.ExecActionArgs{
    							Command: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						HttpGet: &corev1.HTTPGetActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    							HttpHeaders: corev1.HTTPHeaderArray{
    								&corev1.HTTPHeaderArgs{
    									Name:  pulumi.String("string"),
    									Value: pulumi.String("string"),
    								},
    							},
    							Path:   pulumi.String("string"),
    							Scheme: pulumi.String("string"),
    						},
    						TcpSocket: &corev1.TCPSocketActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    						},
    					},
    				},
    				LivenessProbe: &corev1.ProbeArgs{
    					Exec: &corev1.ExecActionArgs{
    						Command: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					FailureThreshold: pulumi.Int(0),
    					HttpGet: &corev1.HTTPGetActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    						HttpHeaders: corev1.HTTPHeaderArray{
    							&corev1.HTTPHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Path:   pulumi.String("string"),
    						Scheme: pulumi.String("string"),
    					},
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TcpSocket: &corev1.TCPSocketActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    					},
    					TerminationGracePeriodSeconds: pulumi.Int(0),
    					TimeoutSeconds:                pulumi.Int(0),
    				},
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Ports: corev1.ContainerPortArray{
    					&corev1.ContainerPortArgs{
    						ContainerPort: pulumi.Int(0),
    						HostIP:        pulumi.String("string"),
    						HostPort:      pulumi.Int(0),
    						Name:          pulumi.String("string"),
    						Protocol:      pulumi.String("string"),
    					},
    				},
    				Args: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				EnvFrom: corev1.EnvFromSourceArray{
    					&corev1.EnvFromSourceArgs{
    						ConfigMapRef: &corev1.ConfigMapEnvSourceArgs{
    							Name:     pulumi.String("string"),
    							Optional: pulumi.Bool(false),
    						},
    						Prefix: pulumi.String("string"),
    						SecretRef: &corev1.SecretEnvSourceArgs{
    							Name:     pulumi.String("string"),
    							Optional: pulumi.Bool(false),
    						},
    					},
    				},
    				Env: corev1.EnvVarArray{
    					&corev1.EnvVarArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    						ValueFrom: &corev1.EnvVarSourceArgs{
    							ConfigMapKeyRef: &corev1.ConfigMapKeySelectorArgs{
    								Key:      pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    							FieldRef: &corev1.ObjectFieldSelectorArgs{
    								FieldPath:  pulumi.String("string"),
    								ApiVersion: pulumi.String("string"),
    							},
    							ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    								Resource:      pulumi.String("string"),
    								ContainerName: pulumi.String("string"),
    								Divisor:       pulumi.String("string"),
    							},
    							SecretKeyRef: &corev1.SecretKeySelectorArgs{
    								Key:      pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    						},
    					},
    				},
    				Image:                    pulumi.String("string"),
    				Stdin:                    pulumi.Bool(false),
    				StdinOnce:                pulumi.Bool(false),
    				TerminationMessagePath:   pulumi.String("string"),
    				TerminationMessagePolicy: pulumi.String("string"),
    				Tty:                      pulumi.Bool(false),
    				VolumeDevices: corev1.VolumeDeviceArray{
    					&corev1.VolumeDeviceArgs{
    						DevicePath: pulumi.String("string"),
    						Name:       pulumi.String("string"),
    					},
    				},
    				VolumeMounts: corev1.VolumeMountArray{
    					&corev1.VolumeMountArgs{
    						MountPath:        pulumi.String("string"),
    						Name:             pulumi.String("string"),
    						MountPropagation: pulumi.String("string"),
    						ReadOnly:         pulumi.Bool(false),
    						SubPath:          pulumi.String("string"),
    						SubPathExpr:      pulumi.String("string"),
    					},
    				},
    				WorkingDir: pulumi.String("string"),
    			},
    		},
    		ExtraEnvs: corev1.EnvVarArray{
    			&corev1.EnvVarArgs{
    				Name:  pulumi.String("string"),
    				Value: pulumi.String("string"),
    				ValueFrom: &corev1.EnvVarSourceArgs{
    					ConfigMapKeyRef: &corev1.ConfigMapKeySelectorArgs{
    						Key:      pulumi.String("string"),
    						Name:     pulumi.String("string"),
    						Optional: pulumi.Bool(false),
    					},
    					FieldRef: &corev1.ObjectFieldSelectorArgs{
    						FieldPath:  pulumi.String("string"),
    						ApiVersion: pulumi.String("string"),
    					},
    					ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    						Resource:      pulumi.String("string"),
    						ContainerName: pulumi.String("string"),
    						Divisor:       pulumi.String("string"),
    					},
    					SecretKeyRef: &corev1.SecretKeySelectorArgs{
    						Key:      pulumi.String("string"),
    						Name:     pulumi.String("string"),
    						Optional: pulumi.Bool(false),
    					},
    				},
    			},
    		},
    		ExtraInitContainers: corev1.ContainerArray{
    			&corev1.ContainerArgs{
    				Name: pulumi.String("string"),
    				ReadinessProbe: &corev1.ProbeArgs{
    					Exec: &corev1.ExecActionArgs{
    						Command: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					FailureThreshold: pulumi.Int(0),
    					HttpGet: &corev1.HTTPGetActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    						HttpHeaders: corev1.HTTPHeaderArray{
    							&corev1.HTTPHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Path:   pulumi.String("string"),
    						Scheme: pulumi.String("string"),
    					},
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TcpSocket: &corev1.TCPSocketActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    					},
    					TerminationGracePeriodSeconds: pulumi.Int(0),
    					TimeoutSeconds:                pulumi.Int(0),
    				},
    				ImagePullPolicy: pulumi.String("string"),
    				Resources: &corev1.ResourceRequirementsArgs{
    					Limits: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					Requests: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				StartupProbe: &corev1.ProbeArgs{
    					Exec: &corev1.ExecActionArgs{
    						Command: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					FailureThreshold: pulumi.Int(0),
    					HttpGet: &corev1.HTTPGetActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    						HttpHeaders: corev1.HTTPHeaderArray{
    							&corev1.HTTPHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Path:   pulumi.String("string"),
    						Scheme: pulumi.String("string"),
    					},
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TcpSocket: &corev1.TCPSocketActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    					},
    					TerminationGracePeriodSeconds: pulumi.Int(0),
    					TimeoutSeconds:                pulumi.Int(0),
    				},
    				SecurityContext: &corev1.SecurityContextArgs{
    					AllowPrivilegeEscalation: pulumi.Bool(false),
    					Capabilities: &corev1.CapabilitiesArgs{
    						Add: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    						Drop: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					Privileged:             pulumi.Bool(false),
    					ProcMount:              pulumi.String("string"),
    					ReadOnlyRootFilesystem: pulumi.Bool(false),
    					RunAsGroup:             pulumi.Int(0),
    					RunAsNonRoot:           pulumi.Bool(false),
    					RunAsUser:              pulumi.Int(0),
    					SeLinuxOptions: &corev1.SELinuxOptionsArgs{
    						Level: pulumi.String("string"),
    						Role:  pulumi.String("string"),
    						Type:  pulumi.String("string"),
    						User:  pulumi.String("string"),
    					},
    					SeccompProfile: &corev1.SeccompProfileArgs{
    						Type:             pulumi.String("string"),
    						LocalhostProfile: pulumi.String("string"),
    					},
    					WindowsOptions: &corev1.WindowsSecurityContextOptionsArgs{
    						GmsaCredentialSpec:     pulumi.String("string"),
    						GmsaCredentialSpecName: pulumi.String("string"),
    						HostProcess:            pulumi.Bool(false),
    						RunAsUserName:          pulumi.String("string"),
    					},
    				},
    				Lifecycle: &corev1.LifecycleArgs{
    					PostStart: &corev1.HandlerArgs{
    						Exec: &corev1.ExecActionArgs{
    							Command: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						HttpGet: &corev1.HTTPGetActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    							HttpHeaders: corev1.HTTPHeaderArray{
    								&corev1.HTTPHeaderArgs{
    									Name:  pulumi.String("string"),
    									Value: pulumi.String("string"),
    								},
    							},
    							Path:   pulumi.String("string"),
    							Scheme: pulumi.String("string"),
    						},
    						TcpSocket: &corev1.TCPSocketActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    						},
    					},
    					PreStop: &corev1.HandlerArgs{
    						Exec: &corev1.ExecActionArgs{
    							Command: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						HttpGet: &corev1.HTTPGetActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    							HttpHeaders: corev1.HTTPHeaderArray{
    								&corev1.HTTPHeaderArgs{
    									Name:  pulumi.String("string"),
    									Value: pulumi.String("string"),
    								},
    							},
    							Path:   pulumi.String("string"),
    							Scheme: pulumi.String("string"),
    						},
    						TcpSocket: &corev1.TCPSocketActionArgs{
    							Port: pulumi.Any(0),
    							Host: pulumi.String("string"),
    						},
    					},
    				},
    				LivenessProbe: &corev1.ProbeArgs{
    					Exec: &corev1.ExecActionArgs{
    						Command: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    					FailureThreshold: pulumi.Int(0),
    					HttpGet: &corev1.HTTPGetActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    						HttpHeaders: corev1.HTTPHeaderArray{
    							&corev1.HTTPHeaderArgs{
    								Name:  pulumi.String("string"),
    								Value: pulumi.String("string"),
    							},
    						},
    						Path:   pulumi.String("string"),
    						Scheme: pulumi.String("string"),
    					},
    					InitialDelaySeconds: pulumi.Int(0),
    					PeriodSeconds:       pulumi.Int(0),
    					SuccessThreshold:    pulumi.Int(0),
    					TcpSocket: &corev1.TCPSocketActionArgs{
    						Port: pulumi.Any(0),
    						Host: pulumi.String("string"),
    					},
    					TerminationGracePeriodSeconds: pulumi.Int(0),
    					TimeoutSeconds:                pulumi.Int(0),
    				},
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Ports: corev1.ContainerPortArray{
    					&corev1.ContainerPortArgs{
    						ContainerPort: pulumi.Int(0),
    						HostIP:        pulumi.String("string"),
    						HostPort:      pulumi.Int(0),
    						Name:          pulumi.String("string"),
    						Protocol:      pulumi.String("string"),
    					},
    				},
    				Args: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				EnvFrom: corev1.EnvFromSourceArray{
    					&corev1.EnvFromSourceArgs{
    						ConfigMapRef: &corev1.ConfigMapEnvSourceArgs{
    							Name:     pulumi.String("string"),
    							Optional: pulumi.Bool(false),
    						},
    						Prefix: pulumi.String("string"),
    						SecretRef: &corev1.SecretEnvSourceArgs{
    							Name:     pulumi.String("string"),
    							Optional: pulumi.Bool(false),
    						},
    					},
    				},
    				Env: corev1.EnvVarArray{
    					&corev1.EnvVarArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    						ValueFrom: &corev1.EnvVarSourceArgs{
    							ConfigMapKeyRef: &corev1.ConfigMapKeySelectorArgs{
    								Key:      pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    							FieldRef: &corev1.ObjectFieldSelectorArgs{
    								FieldPath:  pulumi.String("string"),
    								ApiVersion: pulumi.String("string"),
    							},
    							ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    								Resource:      pulumi.String("string"),
    								ContainerName: pulumi.String("string"),
    								Divisor:       pulumi.String("string"),
    							},
    							SecretKeyRef: &corev1.SecretKeySelectorArgs{
    								Key:      pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    						},
    					},
    				},
    				Image:                    pulumi.String("string"),
    				Stdin:                    pulumi.Bool(false),
    				StdinOnce:                pulumi.Bool(false),
    				TerminationMessagePath:   pulumi.String("string"),
    				TerminationMessagePolicy: pulumi.String("string"),
    				Tty:                      pulumi.Bool(false),
    				VolumeDevices: corev1.VolumeDeviceArray{
    					&corev1.VolumeDeviceArgs{
    						DevicePath: pulumi.String("string"),
    						Name:       pulumi.String("string"),
    					},
    				},
    				VolumeMounts: corev1.VolumeMountArray{
    					&corev1.VolumeMountArgs{
    						MountPath:        pulumi.String("string"),
    						Name:             pulumi.String("string"),
    						MountPropagation: pulumi.String("string"),
    						ReadOnly:         pulumi.Bool(false),
    						SubPath:          pulumi.String("string"),
    						SubPathExpr:      pulumi.String("string"),
    					},
    				},
    				WorkingDir: pulumi.String("string"),
    			},
    		},
    		ExtraVolumeMounts: corev1.VolumeMountArray{
    			&corev1.VolumeMountArgs{
    				MountPath:        pulumi.String("string"),
    				Name:             pulumi.String("string"),
    				MountPropagation: pulumi.String("string"),
    				ReadOnly:         pulumi.Bool(false),
    				SubPath:          pulumi.String("string"),
    				SubPathExpr:      pulumi.String("string"),
    			},
    		},
    		ExtraVolumes: corev1.VolumeArray{
    			&corev1.VolumeArgs{
    				Name: pulumi.String("string"),
    				GitRepo: &corev1.GitRepoVolumeSourceArgs{
    					Repository: pulumi.String("string"),
    					Directory:  pulumi.String("string"),
    					Revision:   pulumi.String("string"),
    				},
    				ConfigMap: &corev1.ConfigMapVolumeSourceArgs{
    					DefaultMode: pulumi.Int(0),
    					Items: corev1.KeyToPathArray{
    						&corev1.KeyToPathArgs{
    							Key:  pulumi.String("string"),
    							Path: pulumi.String("string"),
    							Mode: pulumi.Int(0),
    						},
    					},
    					Name:     pulumi.String("string"),
    					Optional: pulumi.Bool(false),
    				},
    				Glusterfs: &corev1.GlusterfsVolumeSourceArgs{
    					Endpoints: pulumi.String("string"),
    					Path:      pulumi.String("string"),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				Cinder: &corev1.CinderVolumeSourceArgs{
    					VolumeID: pulumi.String("string"),
    					FsType:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				HostPath: &corev1.HostPathVolumeSourceArgs{
    					Path: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    				Csi: &corev1.CSIVolumeSourceArgs{
    					Driver: pulumi.String("string"),
    					FsType: pulumi.String("string"),
    					NodePublishSecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					ReadOnly: pulumi.Bool(false),
    					VolumeAttributes: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				DownwardAPI: &corev1.DownwardAPIVolumeSourceArgs{
    					DefaultMode: pulumi.Int(0),
    					Items: corev1.DownwardAPIVolumeFileArray{
    						&corev1.DownwardAPIVolumeFileArgs{
    							Path: pulumi.String("string"),
    							FieldRef: &corev1.ObjectFieldSelectorArgs{
    								FieldPath:  pulumi.String("string"),
    								ApiVersion: pulumi.String("string"),
    							},
    							Mode: pulumi.Int(0),
    							ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    								Resource:      pulumi.String("string"),
    								ContainerName: pulumi.String("string"),
    								Divisor:       pulumi.String("string"),
    							},
    						},
    					},
    				},
    				EmptyDir: &corev1.EmptyDirVolumeSourceArgs{
    					Medium:    pulumi.String("string"),
    					SizeLimit: pulumi.String("string"),
    				},
    				Ephemeral: &corev1.EphemeralVolumeSourceArgs{
    					ReadOnly: pulumi.Bool(false),
    					VolumeClaimTemplate: &corev1.PersistentVolumeClaimTemplateArgs{
    						Spec: &corev1.PersistentVolumeClaimSpecArgs{
    							AccessModes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							DataSource: &corev1.TypedLocalObjectReferenceArgs{
    								Kind:     pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								ApiGroup: pulumi.String("string"),
    							},
    							DataSourceRef: &corev1.TypedLocalObjectReferenceArgs{
    								Kind:     pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								ApiGroup: pulumi.String("string"),
    							},
    							Resources: &corev1.ResourceRequirementsArgs{
    								Limits: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    								Requests: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							Selector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							StorageClassName: pulumi.String("string"),
    							VolumeMode:       pulumi.String("string"),
    							VolumeName:       pulumi.String("string"),
    						},
    						Metadata: &metav1.ObjectMetaArgs{
    							Annotations: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    							ClusterName:                pulumi.String("string"),
    							CreationTimestamp:          pulumi.String("string"),
    							DeletionGracePeriodSeconds: pulumi.Int(0),
    							DeletionTimestamp:          pulumi.String("string"),
    							Finalizers: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							GenerateName: pulumi.String("string"),
    							Generation:   pulumi.Int(0),
    							Labels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    							ManagedFields: metav1.ManagedFieldsEntryArray{
    								&metav1.ManagedFieldsEntryArgs{
    									ApiVersion:  pulumi.String("string"),
    									FieldsType:  pulumi.String("string"),
    									FieldsV1:    pulumi.Any("{}"),
    									Manager:     pulumi.String("string"),
    									Operation:   pulumi.String("string"),
    									Subresource: pulumi.String("string"),
    									Time:        pulumi.String("string"),
    								},
    							},
    							Name:      pulumi.String("string"),
    							Namespace: pulumi.String("string"),
    							OwnerReferences: metav1.OwnerReferenceArray{
    								&metav1.OwnerReferenceArgs{
    									ApiVersion:         pulumi.String("string"),
    									Kind:               pulumi.String("string"),
    									Name:               pulumi.String("string"),
    									Uid:                pulumi.String("string"),
    									BlockOwnerDeletion: pulumi.Bool(false),
    									Controller:         pulumi.Bool(false),
    								},
    							},
    							ResourceVersion: pulumi.String("string"),
    							SelfLink:        pulumi.String("string"),
    							Uid:             pulumi.String("string"),
    						},
    					},
    				},
    				Fc: &corev1.FCVolumeSourceArgs{
    					FsType:   pulumi.String("string"),
    					Lun:      pulumi.Int(0),
    					ReadOnly: pulumi.Bool(false),
    					TargetWWNs: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Wwids: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				FlexVolume: &corev1.FlexVolumeSourceArgs{
    					Driver: pulumi.String("string"),
    					FsType: pulumi.String("string"),
    					Options: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				Iscsi: &corev1.ISCSIVolumeSourceArgs{
    					Iqn:               pulumi.String("string"),
    					Lun:               pulumi.Int(0),
    					TargetPortal:      pulumi.String("string"),
    					ChapAuthDiscovery: pulumi.Bool(false),
    					ChapAuthSession:   pulumi.Bool(false),
    					FsType:            pulumi.String("string"),
    					InitiatorName:     pulumi.String("string"),
    					IscsiInterface:    pulumi.String("string"),
    					Portals: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				GcePersistentDisk: &corev1.GCEPersistentDiskVolumeSourceArgs{
    					PdName:    pulumi.String("string"),
    					FsType:    pulumi.String("string"),
    					Partition: pulumi.Int(0),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				AwsElasticBlockStore: &corev1.AWSElasticBlockStoreVolumeSourceArgs{
    					VolumeID:  pulumi.String("string"),
    					FsType:    pulumi.String("string"),
    					Partition: pulumi.Int(0),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				Cephfs: &corev1.CephFSVolumeSourceArgs{
    					Monitors: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Path:       pulumi.String("string"),
    					ReadOnly:   pulumi.Bool(false),
    					SecretFile: pulumi.String("string"),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					User: pulumi.String("string"),
    				},
    				AzureFile: &corev1.AzureFileVolumeSourceArgs{
    					SecretName: pulumi.String("string"),
    					ShareName:  pulumi.String("string"),
    					ReadOnly:   pulumi.Bool(false),
    				},
    				Flocker: &corev1.FlockerVolumeSourceArgs{
    					DatasetName: pulumi.String("string"),
    					DatasetUUID: pulumi.String("string"),
    				},
    				AzureDisk: &corev1.AzureDiskVolumeSourceArgs{
    					DiskName:    pulumi.String("string"),
    					DiskURI:     pulumi.String("string"),
    					CachingMode: pulumi.String("string"),
    					FsType:      pulumi.String("string"),
    					Kind:        pulumi.String("string"),
    					ReadOnly:    pulumi.Bool(false),
    				},
    				Nfs: &corev1.NFSVolumeSourceArgs{
    					Path:     pulumi.String("string"),
    					Server:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    				},
    				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSourceArgs{
    					ClaimName: pulumi.String("string"),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				PhotonPersistentDisk: &corev1.PhotonPersistentDiskVolumeSourceArgs{
    					PdID:   pulumi.String("string"),
    					FsType: pulumi.String("string"),
    				},
    				PortworxVolume: &corev1.PortworxVolumeSourceArgs{
    					VolumeID: pulumi.String("string"),
    					FsType:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    				},
    				Projected: &corev1.ProjectedVolumeSourceArgs{
    					Sources: corev1.VolumeProjectionArray{
    						&corev1.VolumeProjectionArgs{
    							ConfigMap: &corev1.ConfigMapProjectionArgs{
    								Items: corev1.KeyToPathArray{
    									&corev1.KeyToPathArgs{
    										Key:  pulumi.String("string"),
    										Path: pulumi.String("string"),
    										Mode: pulumi.Int(0),
    									},
    								},
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    							DownwardAPI: &corev1.DownwardAPIProjectionArgs{
    								Items: corev1.DownwardAPIVolumeFileArray{
    									&corev1.DownwardAPIVolumeFileArgs{
    										Path: pulumi.String("string"),
    										FieldRef: &corev1.ObjectFieldSelectorArgs{
    											FieldPath:  pulumi.String("string"),
    											ApiVersion: pulumi.String("string"),
    										},
    										Mode: pulumi.Int(0),
    										ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    											Resource:      pulumi.String("string"),
    											ContainerName: pulumi.String("string"),
    											Divisor:       pulumi.String("string"),
    										},
    									},
    								},
    							},
    							Secret: &corev1.SecretProjectionArgs{
    								Items: corev1.KeyToPathArray{
    									&corev1.KeyToPathArgs{
    										Key:  pulumi.String("string"),
    										Path: pulumi.String("string"),
    										Mode: pulumi.Int(0),
    									},
    								},
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    							ServiceAccountToken: &corev1.ServiceAccountTokenProjectionArgs{
    								Path:              pulumi.String("string"),
    								Audience:          pulumi.String("string"),
    								ExpirationSeconds: pulumi.Int(0),
    							},
    						},
    					},
    					DefaultMode: pulumi.Int(0),
    				},
    				Quobyte: &corev1.QuobyteVolumeSourceArgs{
    					Registry: pulumi.String("string"),
    					Volume:   pulumi.String("string"),
    					Group:    pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					Tenant:   pulumi.String("string"),
    					User:     pulumi.String("string"),
    				},
    				Rbd: &corev1.RBDVolumeSourceArgs{
    					Image: pulumi.String("string"),
    					Monitors: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					FsType:   pulumi.String("string"),
    					Keyring:  pulumi.String("string"),
    					Pool:     pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					User: pulumi.String("string"),
    				},
    				ScaleIO: &corev1.ScaleIOVolumeSourceArgs{
    					Gateway: pulumi.String("string"),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					System:           pulumi.String("string"),
    					FsType:           pulumi.String("string"),
    					ProtectionDomain: pulumi.String("string"),
    					ReadOnly:         pulumi.Bool(false),
    					SslEnabled:       pulumi.Bool(false),
    					StorageMode:      pulumi.String("string"),
    					StoragePool:      pulumi.String("string"),
    					VolumeName:       pulumi.String("string"),
    				},
    				Secret: &corev1.SecretVolumeSourceArgs{
    					DefaultMode: pulumi.Int(0),
    					Items: corev1.KeyToPathArray{
    						&corev1.KeyToPathArgs{
    							Key:  pulumi.String("string"),
    							Path: pulumi.String("string"),
    							Mode: pulumi.Int(0),
    						},
    					},
    					Optional:   pulumi.Bool(false),
    					SecretName: pulumi.String("string"),
    				},
    				Storageos: &corev1.StorageOSVolumeSourceArgs{
    					FsType:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					VolumeName:      pulumi.String("string"),
    					VolumeNamespace: pulumi.String("string"),
    				},
    				VsphereVolume: &corev1.VsphereVirtualDiskVolumeSourceArgs{
    					VolumePath:        pulumi.String("string"),
    					FsType:            pulumi.String("string"),
    					StoragePolicyID:   pulumi.String("string"),
    					StoragePolicyName: pulumi.String("string"),
    				},
    			},
    		},
    		HealthCheckPath: pulumi.String("string"),
    		HeathCheckHost:  pulumi.String("string"),
    		HostNetwork:     pulumi.Bool(false),
    		HostPort: &kubernetesingressnginx.ControllerHostPortArgs{
    			Enabled: pulumi.Bool(false),
    			Ports: &kubernetesingressnginx.ControllerHostPortPortsArgs{
    				Http:  pulumi.Int(0),
    				Https: pulumi.Int(0),
    			},
    		},
    		Hostname: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		Image: &kubernetesingressnginx.ControllerImageArgs{
    			AllowPrivilegeEscalation: pulumi.Bool(false),
    			Digest:                   pulumi.String("string"),
    			Image:                    pulumi.String("string"),
    			PullPolicy:               pulumi.String("string"),
    			ReadOnlyRootFilesystem:   pulumi.Bool(false),
    			Registry:                 pulumi.String("string"),
    			Repository:               pulumi.String("string"),
    			RunAsNonRoot:             pulumi.Bool(false),
    			RunAsUser:                pulumi.String("string"),
    			Tag:                      pulumi.String("string"),
    		},
    		IngressClassByName: pulumi.Bool(false),
    		IngressClassResource: &kubernetesingressnginx.ControllerIngressClassResourceArgs{
    			ControllerValue: pulumi.String("string"),
    			Default:         pulumi.Bool(false),
    			Enabled:         pulumi.Bool(false),
    			Name:            pulumi.String("string"),
    			Parameters: pulumi.StringMapMap{
    				"string": pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    		},
    		Keda: &kubernetesingressnginx.KedaArgs{
    			ApiVersion: pulumi.String("string"),
    			Behavior: &kubernetesingressnginx.AutoscalingBehaviorArgs{
    				ScaleDown: &kubernetesingressnginx.AutoscalingBehaviorScalingArgs{
    					Policies: kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArray{
    						&kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArgs{
    							PeriodSeconds: pulumi.Int(0),
    							Type:          pulumi.String("string"),
    							Value:         pulumi.Int(0),
    						},
    					},
    					StabilizationWindowSeconds: pulumi.Int(0),
    				},
    				ScaleUp: &kubernetesingressnginx.AutoscalingBehaviorScalingArgs{
    					Policies: kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArray{
    						&kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArgs{
    							PeriodSeconds: pulumi.Int(0),
    							Type:          pulumi.String("string"),
    							Value:         pulumi.Int(0),
    						},
    					},
    					StabilizationWindowSeconds: pulumi.Int(0),
    				},
    			},
    			CooldownPeriod:                pulumi.Int(0),
    			Enabled:                       pulumi.Bool(false),
    			MaxReplicas:                   pulumi.Int(0),
    			MinReplicas:                   pulumi.Int(0),
    			PollingInterval:               pulumi.Int(0),
    			RestoreToOriginalReplicaCount: pulumi.Bool(false),
    			ScaledObject: &kubernetesingressnginx.KedaScaledObjectArgs{
    				Annotations: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			Triggers: kubernetesingressnginx.KedaTriggerArray{
    				&kubernetesingressnginx.KedaTriggerArgs{
    					Metadata: pulumi.StringMapMap{
    						"string": pulumi.StringMap{
    							"string": pulumi.String("string"),
    						},
    					},
    					Type: pulumi.String("string"),
    				},
    			},
    		},
    		Kind: pulumi.String("string"),
    		Lifecycle: &corev1.LifecycleArgs{
    			PostStart: &corev1.HandlerArgs{
    				Exec: &corev1.ExecActionArgs{
    					Command: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				HttpGet: &corev1.HTTPGetActionArgs{
    					Port: pulumi.Any(0),
    					Host: pulumi.String("string"),
    					HttpHeaders: corev1.HTTPHeaderArray{
    						&corev1.HTTPHeaderArgs{
    							Name:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    					Path:   pulumi.String("string"),
    					Scheme: pulumi.String("string"),
    				},
    				TcpSocket: &corev1.TCPSocketActionArgs{
    					Port: pulumi.Any(0),
    					Host: pulumi.String("string"),
    				},
    			},
    			PreStop: &corev1.HandlerArgs{
    				Exec: &corev1.ExecActionArgs{
    					Command: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				HttpGet: &corev1.HTTPGetActionArgs{
    					Port: pulumi.Any(0),
    					Host: pulumi.String("string"),
    					HttpHeaders: corev1.HTTPHeaderArray{
    						&corev1.HTTPHeaderArgs{
    							Name:  pulumi.String("string"),
    							Value: pulumi.String("string"),
    						},
    					},
    					Path:   pulumi.String("string"),
    					Scheme: pulumi.String("string"),
    				},
    				TcpSocket: &corev1.TCPSocketActionArgs{
    					Port: pulumi.Any(0),
    					Host: pulumi.String("string"),
    				},
    			},
    		},
    		LivenessProbe: &corev1.ProbeArgs{
    			Exec: &corev1.ExecActionArgs{
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			FailureThreshold: pulumi.Int(0),
    			HttpGet: &corev1.HTTPGetActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    				HttpHeaders: corev1.HTTPHeaderArray{
    					&corev1.HTTPHeaderArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Path:   pulumi.String("string"),
    				Scheme: pulumi.String("string"),
    			},
    			InitialDelaySeconds: pulumi.Int(0),
    			PeriodSeconds:       pulumi.Int(0),
    			SuccessThreshold:    pulumi.Int(0),
    			TcpSocket: &corev1.TCPSocketActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    			},
    			TerminationGracePeriodSeconds: pulumi.Int(0),
    			TimeoutSeconds:                pulumi.Int(0),
    		},
    		MaxmindLicenseKey: pulumi.String("string"),
    		Metrics: &kubernetesingressnginx.ControllerMetricsArgs{
    			Enabled: pulumi.Bool(false),
    			Port:    pulumi.Int(0),
    			PrometheusRule: &kubernetesingressnginx.ControllerMetricsPrometheusRulesArgs{
    				AdditionalLabels: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				Enabled:   pulumi.Bool(false),
    				Namespace: pulumi.String("string"),
    				Rules: pulumi.StringMapArray{
    					pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    			Service: &kubernetesingressnginx.ControllerMetricsServiceArgs{
    				Annotations: pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    				ClusterIP: pulumi.String("string"),
    				ExternalIPs: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				ExternalTrafficPolicy: pulumi.String("string"),
    				LoadBalancerIPs:       pulumi.String("string"),
    				LoadBalancerSourceRanges: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				NodePort:    pulumi.String("string"),
    				ServicePort: pulumi.Int(0),
    				Type:        pulumi.String("string"),
    			},
    			ServiceMonitor: &kubernetesingressnginx.ControllerMetricsServiceMonitorArgs{
    				AdditionalLabels: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				Enabled:     pulumi.Bool(false),
    				HonorLabels: pulumi.Bool(false),
    				JobLabel:    pulumi.String("string"),
    				MetricRelabelings: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    				Namespace: pulumi.String("string"),
    				NamespaceSelector: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				ScrapeInterval: pulumi.String("string"),
    				TargetLabels: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    		},
    		MinAvailable:    pulumi.Int(0),
    		MinReadySeconds: pulumi.Int(0),
    		Name:            pulumi.String("string"),
    		NodeSelector: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		PodAnnotations: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		PodLabels: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		PodSecurityContext: &corev1.PodSecurityContextArgs{
    			FsGroup:             pulumi.Int(0),
    			FsGroupChangePolicy: pulumi.String("string"),
    			RunAsGroup:          pulumi.Int(0),
    			RunAsNonRoot:        pulumi.Bool(false),
    			RunAsUser:           pulumi.Int(0),
    			SeLinuxOptions: &corev1.SELinuxOptionsArgs{
    				Level: pulumi.String("string"),
    				Role:  pulumi.String("string"),
    				Type:  pulumi.String("string"),
    				User:  pulumi.String("string"),
    			},
    			SeccompProfile: &corev1.SeccompProfileArgs{
    				Type:             pulumi.String("string"),
    				LocalhostProfile: pulumi.String("string"),
    			},
    			SupplementalGroups: pulumi.IntArray{
    				pulumi.Int(0),
    			},
    			Sysctls: corev1.SysctlArray{
    				&corev1.SysctlArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			WindowsOptions: &corev1.WindowsSecurityContextOptionsArgs{
    				GmsaCredentialSpec:     pulumi.String("string"),
    				GmsaCredentialSpecName: pulumi.String("string"),
    				HostProcess:            pulumi.Bool(false),
    				RunAsUserName:          pulumi.String("string"),
    			},
    		},
    		PriorityClassName: pulumi.String("string"),
    		ProxySetHeaders: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		PublishService: &kubernetesingressnginx.ControllerPublishServiceArgs{
    			Enabled:      pulumi.Bool(false),
    			PathOverride: pulumi.String("string"),
    		},
    		ReadinessProbe: &corev1.ProbeArgs{
    			Exec: &corev1.ExecActionArgs{
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			FailureThreshold: pulumi.Int(0),
    			HttpGet: &corev1.HTTPGetActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    				HttpHeaders: corev1.HTTPHeaderArray{
    					&corev1.HTTPHeaderArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Path:   pulumi.String("string"),
    				Scheme: pulumi.String("string"),
    			},
    			InitialDelaySeconds: pulumi.Int(0),
    			PeriodSeconds:       pulumi.Int(0),
    			SuccessThreshold:    pulumi.Int(0),
    			TcpSocket: &corev1.TCPSocketActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    			},
    			TerminationGracePeriodSeconds: pulumi.Int(0),
    			TimeoutSeconds:                pulumi.Int(0),
    		},
    		ReplicaCount:         pulumi.Int(0),
    		ReportNodeInternalIp: pulumi.Bool(false),
    		Resources: &corev1.ResourceRequirementsArgs{
    			Limits: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Requests: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		Scope: &kubernetesingressnginx.ControllerScopeArgs{
    			Enabled:   pulumi.Bool(false),
    			Namespace: pulumi.String("string"),
    		},
    		Service: &kubernetesingressnginx.ControllerServiceArgs{
    			Annotations: pulumi.StringMapMap{
    				"string": pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			ClusterIP:   pulumi.String("string"),
    			EnableHttp:  pulumi.Bool(false),
    			EnableHttps: pulumi.Bool(false),
    			Enabled:     pulumi.Bool(false),
    			ExternalIPs: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ExternalTrafficPolicy: pulumi.String("string"),
    			HealthCheckNodePort:   pulumi.Int(0),
    			Internal: &kubernetesingressnginx.ControllerServiceInternalArgs{
    				Annotations: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				Enabled:               pulumi.Bool(false),
    				ExternalTrafficPolicy: pulumi.String("string"),
    				Labels: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				LoadBalancerIPs: pulumi.String("string"),
    				LoadBalancerSourceRanges: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			Labels: pulumi.StringMapMap{
    				"string": pulumi.StringMap{
    					"string": pulumi.String("string"),
    				},
    			},
    			LoadBalancerIPs: pulumi.String("string"),
    			LoadBalancerSourceRanges: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			NodePorts: &kubernetesingressnginx.ControllerServiceNodePortsArgs{
    				Http:  pulumi.String("string"),
    				Https: pulumi.String("string"),
    				Tcp: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				Udp: pulumi.StringMapMap{
    					"string": pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    			Ports: &kubernetesingressnginx.ControllerPortArgs{
    				Http:  pulumi.Int(0),
    				Https: pulumi.Int(0),
    			},
    			SessionAffinity: pulumi.String("string"),
    			TargetPorts: &kubernetesingressnginx.ControllerPortArgs{
    				Http:  pulumi.Int(0),
    				Https: pulumi.Int(0),
    			},
    			Type: pulumi.String("string"),
    		},
    		StartupProbe: &corev1.ProbeArgs{
    			Exec: &corev1.ExecActionArgs{
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			FailureThreshold: pulumi.Int(0),
    			HttpGet: &corev1.HTTPGetActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    				HttpHeaders: corev1.HTTPHeaderArray{
    					&corev1.HTTPHeaderArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Path:   pulumi.String("string"),
    				Scheme: pulumi.String("string"),
    			},
    			InitialDelaySeconds: pulumi.Int(0),
    			PeriodSeconds:       pulumi.Int(0),
    			SuccessThreshold:    pulumi.Int(0),
    			TcpSocket: &corev1.TCPSocketActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    			},
    			TerminationGracePeriodSeconds: pulumi.Int(0),
    			TimeoutSeconds:                pulumi.Int(0),
    		},
    		Sysctls: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		Tcp: &kubernetesingressnginx.ControllerTcpArgs{
    			Annotations: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ConfigMapNamespace: pulumi.String("string"),
    		},
    		TerminateGracePeriodSeconds: pulumi.Int(0),
    		Tolerations: &corev1.TolerationArgs{
    			Effect:            pulumi.String("string"),
    			Key:               pulumi.String("string"),
    			Operator:          pulumi.String("string"),
    			TolerationSeconds: pulumi.Int(0),
    			Value:             pulumi.String("string"),
    		},
    		TopologySpreadConstraints: corev1.TopologySpreadConstraintArray{
    			&corev1.TopologySpreadConstraintArgs{
    				MaxSkew:           pulumi.Int(0),
    				TopologyKey:       pulumi.String("string"),
    				WhenUnsatisfiable: pulumi.String("string"),
    				LabelSelector: &metav1.LabelSelectorArgs{
    					MatchExpressions: metav1.LabelSelectorRequirementArray{
    						&metav1.LabelSelectorRequirementArgs{
    							Key:      pulumi.String("string"),
    							Operator: pulumi.String("string"),
    							Values: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    					},
    					MatchLabels: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    			},
    		},
    		Udp: &kubernetesingressnginx.ControllerUdpArgs{
    			Annotations: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ConfigMapNamespace: pulumi.String("string"),
    		},
    		UpdateStrategy: &kubernetesingressnginx.ControllerUpdateStrategyArgs{
    			RollingUpdate: &kubernetesingressnginx.ControllerRollingUpdateArgs{
    				MaxUnavailable: pulumi.Int(0),
    			},
    			Type: pulumi.String("string"),
    		},
    		WatchIngressWithoutClass: pulumi.Bool(false),
    	},
    	DefaultBackend: &kubernetesingressnginx.ControllerDefaultBackendArgs{
    		Affinity: &corev1.AffinityArgs{
    			NodeAffinity: &corev1.NodeAffinityArgs{
    				PreferredDuringSchedulingIgnoredDuringExecution: corev1.PreferredSchedulingTermArray{
    					&corev1.PreferredSchedulingTermArgs{
    						Preference: &corev1.NodeSelectorTermArgs{
    							MatchExpressions: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchFields: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    						Weight: pulumi.Int(0),
    					},
    				},
    				RequiredDuringSchedulingIgnoredDuringExecution: &corev1.NodeSelectorArgs{
    					NodeSelectorTerms: corev1.NodeSelectorTermArray{
    						&corev1.NodeSelectorTermArgs{
    							MatchExpressions: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchFields: corev1.NodeSelectorRequirementArray{
    								&corev1.NodeSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    						},
    					},
    				},
    			},
    			PodAffinity: &corev1.PodAffinityArgs{
    				PreferredDuringSchedulingIgnoredDuringExecution: corev1.WeightedPodAffinityTermArray{
    					&corev1.WeightedPodAffinityTermArgs{
    						PodAffinityTerm: &corev1.PodAffinityTermArgs{
    							TopologyKey: pulumi.String("string"),
    							LabelSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							NamespaceSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							Namespaces: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						Weight: pulumi.Int(0),
    					},
    				},
    				RequiredDuringSchedulingIgnoredDuringExecution: corev1.PodAffinityTermArray{
    					&corev1.PodAffinityTermArgs{
    						TopologyKey: pulumi.String("string"),
    						LabelSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						NamespaceSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						Namespaces: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    			PodAntiAffinity: &corev1.PodAntiAffinityArgs{
    				PreferredDuringSchedulingIgnoredDuringExecution: corev1.WeightedPodAffinityTermArray{
    					&corev1.WeightedPodAffinityTermArgs{
    						PodAffinityTerm: &corev1.PodAffinityTermArgs{
    							TopologyKey: pulumi.String("string"),
    							LabelSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							NamespaceSelector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							Namespaces: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    						},
    						Weight: pulumi.Int(0),
    					},
    				},
    				RequiredDuringSchedulingIgnoredDuringExecution: corev1.PodAffinityTermArray{
    					&corev1.PodAffinityTermArgs{
    						TopologyKey: pulumi.String("string"),
    						LabelSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						NamespaceSelector: &metav1.LabelSelectorArgs{
    							MatchExpressions: metav1.LabelSelectorRequirementArray{
    								&metav1.LabelSelectorRequirementArgs{
    									Key:      pulumi.String("string"),
    									Operator: pulumi.String("string"),
    									Values: pulumi.StringArray{
    										pulumi.String("string"),
    									},
    								},
    							},
    							MatchLabels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    						},
    						Namespaces: pulumi.StringArray{
    							pulumi.String("string"),
    						},
    					},
    				},
    			},
    		},
    		Autoscaling: &kubernetesingressnginx.AutoscalingArgs{
    			Annotations: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ControllerAutoscalingBehavior: &kubernetesingressnginx.AutoscalingBehaviorArgs{
    				ScaleDown: &kubernetesingressnginx.AutoscalingBehaviorScalingArgs{
    					Policies: kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArray{
    						&kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArgs{
    							PeriodSeconds: pulumi.Int(0),
    							Type:          pulumi.String("string"),
    							Value:         pulumi.Int(0),
    						},
    					},
    					StabilizationWindowSeconds: pulumi.Int(0),
    				},
    				ScaleUp: &kubernetesingressnginx.AutoscalingBehaviorScalingArgs{
    					Policies: kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArray{
    						&kubernetesingressnginx.AutoscalingBehaviorScalingPolicyArgs{
    							PeriodSeconds: pulumi.Int(0),
    							Type:          pulumi.String("string"),
    							Value:         pulumi.Int(0),
    						},
    					},
    					StabilizationWindowSeconds: pulumi.Int(0),
    				},
    			},
    			Enabled:                           pulumi.Bool(false),
    			MaxReplicas:                       pulumi.Int(0),
    			MinReplicas:                       pulumi.Int(0),
    			TargetCPUUtilizationPercentage:    pulumi.Int(0),
    			TargetMemoryUtilizationPercentage: pulumi.Int(0),
    		},
    		Enabled:     pulumi.Bool(false),
    		ExistingPsp: pulumi.String("string"),
    		ExtraArgs: pulumi.StringMapMap{
    			"string": pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		ExtraEnvs: corev1.EnvVarArray{
    			&corev1.EnvVarArgs{
    				Name:  pulumi.String("string"),
    				Value: pulumi.String("string"),
    				ValueFrom: &corev1.EnvVarSourceArgs{
    					ConfigMapKeyRef: &corev1.ConfigMapKeySelectorArgs{
    						Key:      pulumi.String("string"),
    						Name:     pulumi.String("string"),
    						Optional: pulumi.Bool(false),
    					},
    					FieldRef: &corev1.ObjectFieldSelectorArgs{
    						FieldPath:  pulumi.String("string"),
    						ApiVersion: pulumi.String("string"),
    					},
    					ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    						Resource:      pulumi.String("string"),
    						ContainerName: pulumi.String("string"),
    						Divisor:       pulumi.String("string"),
    					},
    					SecretKeyRef: &corev1.SecretKeySelectorArgs{
    						Key:      pulumi.String("string"),
    						Name:     pulumi.String("string"),
    						Optional: pulumi.Bool(false),
    					},
    				},
    			},
    		},
    		ExtraVolumeMounts: corev1.VolumeMountArray{
    			&corev1.VolumeMountArgs{
    				MountPath:        pulumi.String("string"),
    				Name:             pulumi.String("string"),
    				MountPropagation: pulumi.String("string"),
    				ReadOnly:         pulumi.Bool(false),
    				SubPath:          pulumi.String("string"),
    				SubPathExpr:      pulumi.String("string"),
    			},
    		},
    		ExtraVolumes: corev1.VolumeArray{
    			&corev1.VolumeArgs{
    				Name: pulumi.String("string"),
    				GitRepo: &corev1.GitRepoVolumeSourceArgs{
    					Repository: pulumi.String("string"),
    					Directory:  pulumi.String("string"),
    					Revision:   pulumi.String("string"),
    				},
    				ConfigMap: &corev1.ConfigMapVolumeSourceArgs{
    					DefaultMode: pulumi.Int(0),
    					Items: corev1.KeyToPathArray{
    						&corev1.KeyToPathArgs{
    							Key:  pulumi.String("string"),
    							Path: pulumi.String("string"),
    							Mode: pulumi.Int(0),
    						},
    					},
    					Name:     pulumi.String("string"),
    					Optional: pulumi.Bool(false),
    				},
    				Glusterfs: &corev1.GlusterfsVolumeSourceArgs{
    					Endpoints: pulumi.String("string"),
    					Path:      pulumi.String("string"),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				Cinder: &corev1.CinderVolumeSourceArgs{
    					VolumeID: pulumi.String("string"),
    					FsType:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				HostPath: &corev1.HostPathVolumeSourceArgs{
    					Path: pulumi.String("string"),
    					Type: pulumi.String("string"),
    				},
    				Csi: &corev1.CSIVolumeSourceArgs{
    					Driver: pulumi.String("string"),
    					FsType: pulumi.String("string"),
    					NodePublishSecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					ReadOnly: pulumi.Bool(false),
    					VolumeAttributes: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    				},
    				DownwardAPI: &corev1.DownwardAPIVolumeSourceArgs{
    					DefaultMode: pulumi.Int(0),
    					Items: corev1.DownwardAPIVolumeFileArray{
    						&corev1.DownwardAPIVolumeFileArgs{
    							Path: pulumi.String("string"),
    							FieldRef: &corev1.ObjectFieldSelectorArgs{
    								FieldPath:  pulumi.String("string"),
    								ApiVersion: pulumi.String("string"),
    							},
    							Mode: pulumi.Int(0),
    							ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    								Resource:      pulumi.String("string"),
    								ContainerName: pulumi.String("string"),
    								Divisor:       pulumi.String("string"),
    							},
    						},
    					},
    				},
    				EmptyDir: &corev1.EmptyDirVolumeSourceArgs{
    					Medium:    pulumi.String("string"),
    					SizeLimit: pulumi.String("string"),
    				},
    				Ephemeral: &corev1.EphemeralVolumeSourceArgs{
    					ReadOnly: pulumi.Bool(false),
    					VolumeClaimTemplate: &corev1.PersistentVolumeClaimTemplateArgs{
    						Spec: &corev1.PersistentVolumeClaimSpecArgs{
    							AccessModes: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							DataSource: &corev1.TypedLocalObjectReferenceArgs{
    								Kind:     pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								ApiGroup: pulumi.String("string"),
    							},
    							DataSourceRef: &corev1.TypedLocalObjectReferenceArgs{
    								Kind:     pulumi.String("string"),
    								Name:     pulumi.String("string"),
    								ApiGroup: pulumi.String("string"),
    							},
    							Resources: &corev1.ResourceRequirementsArgs{
    								Limits: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    								Requests: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							Selector: &metav1.LabelSelectorArgs{
    								MatchExpressions: metav1.LabelSelectorRequirementArray{
    									&metav1.LabelSelectorRequirementArgs{
    										Key:      pulumi.String("string"),
    										Operator: pulumi.String("string"),
    										Values: pulumi.StringArray{
    											pulumi.String("string"),
    										},
    									},
    								},
    								MatchLabels: pulumi.StringMap{
    									"string": pulumi.String("string"),
    								},
    							},
    							StorageClassName: pulumi.String("string"),
    							VolumeMode:       pulumi.String("string"),
    							VolumeName:       pulumi.String("string"),
    						},
    						Metadata: &metav1.ObjectMetaArgs{
    							Annotations: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    							ClusterName:                pulumi.String("string"),
    							CreationTimestamp:          pulumi.String("string"),
    							DeletionGracePeriodSeconds: pulumi.Int(0),
    							DeletionTimestamp:          pulumi.String("string"),
    							Finalizers: pulumi.StringArray{
    								pulumi.String("string"),
    							},
    							GenerateName: pulumi.String("string"),
    							Generation:   pulumi.Int(0),
    							Labels: pulumi.StringMap{
    								"string": pulumi.String("string"),
    							},
    							ManagedFields: metav1.ManagedFieldsEntryArray{
    								&metav1.ManagedFieldsEntryArgs{
    									ApiVersion:  pulumi.String("string"),
    									FieldsType:  pulumi.String("string"),
    									FieldsV1:    pulumi.Any("{}"),
    									Manager:     pulumi.String("string"),
    									Operation:   pulumi.String("string"),
    									Subresource: pulumi.String("string"),
    									Time:        pulumi.String("string"),
    								},
    							},
    							Name:      pulumi.String("string"),
    							Namespace: pulumi.String("string"),
    							OwnerReferences: metav1.OwnerReferenceArray{
    								&metav1.OwnerReferenceArgs{
    									ApiVersion:         pulumi.String("string"),
    									Kind:               pulumi.String("string"),
    									Name:               pulumi.String("string"),
    									Uid:                pulumi.String("string"),
    									BlockOwnerDeletion: pulumi.Bool(false),
    									Controller:         pulumi.Bool(false),
    								},
    							},
    							ResourceVersion: pulumi.String("string"),
    							SelfLink:        pulumi.String("string"),
    							Uid:             pulumi.String("string"),
    						},
    					},
    				},
    				Fc: &corev1.FCVolumeSourceArgs{
    					FsType:   pulumi.String("string"),
    					Lun:      pulumi.Int(0),
    					ReadOnly: pulumi.Bool(false),
    					TargetWWNs: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Wwids: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    				},
    				FlexVolume: &corev1.FlexVolumeSourceArgs{
    					Driver: pulumi.String("string"),
    					FsType: pulumi.String("string"),
    					Options: pulumi.StringMap{
    						"string": pulumi.String("string"),
    					},
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				Iscsi: &corev1.ISCSIVolumeSourceArgs{
    					Iqn:               pulumi.String("string"),
    					Lun:               pulumi.Int(0),
    					TargetPortal:      pulumi.String("string"),
    					ChapAuthDiscovery: pulumi.Bool(false),
    					ChapAuthSession:   pulumi.Bool(false),
    					FsType:            pulumi.String("string"),
    					InitiatorName:     pulumi.String("string"),
    					IscsiInterface:    pulumi.String("string"),
    					Portals: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    				},
    				GcePersistentDisk: &corev1.GCEPersistentDiskVolumeSourceArgs{
    					PdName:    pulumi.String("string"),
    					FsType:    pulumi.String("string"),
    					Partition: pulumi.Int(0),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				AwsElasticBlockStore: &corev1.AWSElasticBlockStoreVolumeSourceArgs{
    					VolumeID:  pulumi.String("string"),
    					FsType:    pulumi.String("string"),
    					Partition: pulumi.Int(0),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				Cephfs: &corev1.CephFSVolumeSourceArgs{
    					Monitors: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					Path:       pulumi.String("string"),
    					ReadOnly:   pulumi.Bool(false),
    					SecretFile: pulumi.String("string"),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					User: pulumi.String("string"),
    				},
    				AzureFile: &corev1.AzureFileVolumeSourceArgs{
    					SecretName: pulumi.String("string"),
    					ShareName:  pulumi.String("string"),
    					ReadOnly:   pulumi.Bool(false),
    				},
    				Flocker: &corev1.FlockerVolumeSourceArgs{
    					DatasetName: pulumi.String("string"),
    					DatasetUUID: pulumi.String("string"),
    				},
    				AzureDisk: &corev1.AzureDiskVolumeSourceArgs{
    					DiskName:    pulumi.String("string"),
    					DiskURI:     pulumi.String("string"),
    					CachingMode: pulumi.String("string"),
    					FsType:      pulumi.String("string"),
    					Kind:        pulumi.String("string"),
    					ReadOnly:    pulumi.Bool(false),
    				},
    				Nfs: &corev1.NFSVolumeSourceArgs{
    					Path:     pulumi.String("string"),
    					Server:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    				},
    				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSourceArgs{
    					ClaimName: pulumi.String("string"),
    					ReadOnly:  pulumi.Bool(false),
    				},
    				PhotonPersistentDisk: &corev1.PhotonPersistentDiskVolumeSourceArgs{
    					PdID:   pulumi.String("string"),
    					FsType: pulumi.String("string"),
    				},
    				PortworxVolume: &corev1.PortworxVolumeSourceArgs{
    					VolumeID: pulumi.String("string"),
    					FsType:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    				},
    				Projected: &corev1.ProjectedVolumeSourceArgs{
    					Sources: corev1.VolumeProjectionArray{
    						&corev1.VolumeProjectionArgs{
    							ConfigMap: &corev1.ConfigMapProjectionArgs{
    								Items: corev1.KeyToPathArray{
    									&corev1.KeyToPathArgs{
    										Key:  pulumi.String("string"),
    										Path: pulumi.String("string"),
    										Mode: pulumi.Int(0),
    									},
    								},
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    							DownwardAPI: &corev1.DownwardAPIProjectionArgs{
    								Items: corev1.DownwardAPIVolumeFileArray{
    									&corev1.DownwardAPIVolumeFileArgs{
    										Path: pulumi.String("string"),
    										FieldRef: &corev1.ObjectFieldSelectorArgs{
    											FieldPath:  pulumi.String("string"),
    											ApiVersion: pulumi.String("string"),
    										},
    										Mode: pulumi.Int(0),
    										ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
    											Resource:      pulumi.String("string"),
    											ContainerName: pulumi.String("string"),
    											Divisor:       pulumi.String("string"),
    										},
    									},
    								},
    							},
    							Secret: &corev1.SecretProjectionArgs{
    								Items: corev1.KeyToPathArray{
    									&corev1.KeyToPathArgs{
    										Key:  pulumi.String("string"),
    										Path: pulumi.String("string"),
    										Mode: pulumi.Int(0),
    									},
    								},
    								Name:     pulumi.String("string"),
    								Optional: pulumi.Bool(false),
    							},
    							ServiceAccountToken: &corev1.ServiceAccountTokenProjectionArgs{
    								Path:              pulumi.String("string"),
    								Audience:          pulumi.String("string"),
    								ExpirationSeconds: pulumi.Int(0),
    							},
    						},
    					},
    					DefaultMode: pulumi.Int(0),
    				},
    				Quobyte: &corev1.QuobyteVolumeSourceArgs{
    					Registry: pulumi.String("string"),
    					Volume:   pulumi.String("string"),
    					Group:    pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					Tenant:   pulumi.String("string"),
    					User:     pulumi.String("string"),
    				},
    				Rbd: &corev1.RBDVolumeSourceArgs{
    					Image: pulumi.String("string"),
    					Monitors: pulumi.StringArray{
    						pulumi.String("string"),
    					},
    					FsType:   pulumi.String("string"),
    					Keyring:  pulumi.String("string"),
    					Pool:     pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					User: pulumi.String("string"),
    				},
    				ScaleIO: &corev1.ScaleIOVolumeSourceArgs{
    					Gateway: pulumi.String("string"),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					System:           pulumi.String("string"),
    					FsType:           pulumi.String("string"),
    					ProtectionDomain: pulumi.String("string"),
    					ReadOnly:         pulumi.Bool(false),
    					SslEnabled:       pulumi.Bool(false),
    					StorageMode:      pulumi.String("string"),
    					StoragePool:      pulumi.String("string"),
    					VolumeName:       pulumi.String("string"),
    				},
    				Secret: &corev1.SecretVolumeSourceArgs{
    					DefaultMode: pulumi.Int(0),
    					Items: corev1.KeyToPathArray{
    						&corev1.KeyToPathArgs{
    							Key:  pulumi.String("string"),
    							Path: pulumi.String("string"),
    							Mode: pulumi.Int(0),
    						},
    					},
    					Optional:   pulumi.Bool(false),
    					SecretName: pulumi.String("string"),
    				},
    				Storageos: &corev1.StorageOSVolumeSourceArgs{
    					FsType:   pulumi.String("string"),
    					ReadOnly: pulumi.Bool(false),
    					SecretRef: &corev1.LocalObjectReferenceArgs{
    						Name: pulumi.String("string"),
    					},
    					VolumeName:      pulumi.String("string"),
    					VolumeNamespace: pulumi.String("string"),
    				},
    				VsphereVolume: &corev1.VsphereVirtualDiskVolumeSourceArgs{
    					VolumePath:        pulumi.String("string"),
    					FsType:            pulumi.String("string"),
    					StoragePolicyID:   pulumi.String("string"),
    					StoragePolicyName: pulumi.String("string"),
    				},
    			},
    		},
    		Image: &kubernetesingressnginx.ControllerImageArgs{
    			AllowPrivilegeEscalation: pulumi.Bool(false),
    			Digest:                   pulumi.String("string"),
    			Image:                    pulumi.String("string"),
    			PullPolicy:               pulumi.String("string"),
    			ReadOnlyRootFilesystem:   pulumi.Bool(false),
    			Registry:                 pulumi.String("string"),
    			Repository:               pulumi.String("string"),
    			RunAsNonRoot:             pulumi.Bool(false),
    			RunAsUser:                pulumi.String("string"),
    			Tag:                      pulumi.String("string"),
    		},
    		LivenessProbe: &corev1.ProbeArgs{
    			Exec: &corev1.ExecActionArgs{
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			FailureThreshold: pulumi.Int(0),
    			HttpGet: &corev1.HTTPGetActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    				HttpHeaders: corev1.HTTPHeaderArray{
    					&corev1.HTTPHeaderArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Path:   pulumi.String("string"),
    				Scheme: pulumi.String("string"),
    			},
    			InitialDelaySeconds: pulumi.Int(0),
    			PeriodSeconds:       pulumi.Int(0),
    			SuccessThreshold:    pulumi.Int(0),
    			TcpSocket: &corev1.TCPSocketActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    			},
    			TerminationGracePeriodSeconds: pulumi.Int(0),
    			TimeoutSeconds:                pulumi.Int(0),
    		},
    		MinAvailable: pulumi.Int(0),
    		Name:         pulumi.String("string"),
    		NodeSelector: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		PodAnnotations: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		PodLabels: pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    		PodSecurityContext: &corev1.PodSecurityContextArgs{
    			FsGroup:             pulumi.Int(0),
    			FsGroupChangePolicy: pulumi.String("string"),
    			RunAsGroup:          pulumi.Int(0),
    			RunAsNonRoot:        pulumi.Bool(false),
    			RunAsUser:           pulumi.Int(0),
    			SeLinuxOptions: &corev1.SELinuxOptionsArgs{
    				Level: pulumi.String("string"),
    				Role:  pulumi.String("string"),
    				Type:  pulumi.String("string"),
    				User:  pulumi.String("string"),
    			},
    			SeccompProfile: &corev1.SeccompProfileArgs{
    				Type:             pulumi.String("string"),
    				LocalhostProfile: pulumi.String("string"),
    			},
    			SupplementalGroups: pulumi.IntArray{
    				pulumi.Int(0),
    			},
    			Sysctls: corev1.SysctlArray{
    				&corev1.SysctlArgs{
    					Name:  pulumi.String("string"),
    					Value: pulumi.String("string"),
    				},
    			},
    			WindowsOptions: &corev1.WindowsSecurityContextOptionsArgs{
    				GmsaCredentialSpec:     pulumi.String("string"),
    				GmsaCredentialSpecName: pulumi.String("string"),
    				HostProcess:            pulumi.Bool(false),
    				RunAsUserName:          pulumi.String("string"),
    			},
    		},
    		Port:              pulumi.Int(0),
    		PriorityClassName: pulumi.String("string"),
    		ReadinessProbe: &corev1.ProbeArgs{
    			Exec: &corev1.ExecActionArgs{
    				Command: pulumi.StringArray{
    					pulumi.String("string"),
    				},
    			},
    			FailureThreshold: pulumi.Int(0),
    			HttpGet: &corev1.HTTPGetActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    				HttpHeaders: corev1.HTTPHeaderArray{
    					&corev1.HTTPHeaderArgs{
    						Name:  pulumi.String("string"),
    						Value: pulumi.String("string"),
    					},
    				},
    				Path:   pulumi.String("string"),
    				Scheme: pulumi.String("string"),
    			},
    			InitialDelaySeconds: pulumi.Int(0),
    			PeriodSeconds:       pulumi.Int(0),
    			SuccessThreshold:    pulumi.Int(0),
    			TcpSocket: &corev1.TCPSocketActionArgs{
    				Port: pulumi.Any(0),
    				Host: pulumi.String("string"),
    			},
    			TerminationGracePeriodSeconds: pulumi.Int(0),
    			TimeoutSeconds:                pulumi.Int(0),
    		},
    		ReplicaCount: pulumi.Int(0),
    		Resources: &corev1.ResourceRequirementsArgs{
    			Limits: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			Requests: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    		},
    		Service: &kubernetesingressnginx.ControllerDefaultBackendServiceArgs{
    			Annotations: pulumi.StringMap{
    				"string": pulumi.String("string"),
    			},
    			ClusterIP: pulumi.String("string"),
    			ExternalIPs: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			LoadBalancerIP: pulumi.String("string"),
    			LoadBalancerSourceRanges: pulumi.StringArray{
    				pulumi.String("string"),
    			},
    			ServicePort: pulumi.Int(0),
    			Type:        pulumi.String("string"),
    		},
    		ServiceAccount: &kubernetesingressnginx.ControllerServiceAccountArgs{
    			AutomountServiceAccountToken: pulumi.Bool(false),
    			Create:                       pulumi.Bool(false),
    			Name:                         pulumi.String("string"),
    		},
    		Tolerations: corev1.TolerationArray{
    			&corev1.TolerationArgs{
    				Effect:            pulumi.String("string"),
    				Key:               pulumi.String("string"),
    				Operator:          pulumi.String("string"),
    				TolerationSeconds: pulumi.Int(0),
    				Value:             pulumi.String("string"),
    			},
    		},
    	},
    	DhParam:          pulumi.String("string"),
    	FullnameOverride: pulumi.String("string"),
    	HelmOptions: &kubernetesingressnginx.ReleaseArgs{
    		Atomic:                   pulumi.Bool(false),
    		Chart:                    pulumi.String("string"),
    		CleanupOnFail:            pulumi.Bool(false),
    		CreateNamespace:          pulumi.Bool(false),
    		DependencyUpdate:         pulumi.Bool(false),
    		Description:              pulumi.String("string"),
    		Devel:                    pulumi.Bool(false),
    		DisableCRDHooks:          pulumi.Bool(false),
    		DisableOpenapiValidation: pulumi.Bool(false),
    		DisableWebhooks:          pulumi.Bool(false),
    		ForceUpdate:              pulumi.Bool(false),
    		Keyring:                  pulumi.String("string"),
    		Lint:                     pulumi.Bool(false),
    		Manifest: pulumi.Map{
    			"string": pulumi.Any("any"),
    		},
    		MaxHistory:          pulumi.Int(0),
    		Name:                pulumi.String("string"),
    		Namespace:           pulumi.String("string"),
    		Postrender:          pulumi.String("string"),
    		RecreatePods:        pulumi.Bool(false),
    		RenderSubchartNotes: pulumi.Bool(false),
    		Replace:             pulumi.Bool(false),
    		RepositoryOpts: &kubernetesingressnginx.RepositoryOptsArgs{
    			CaFile:   pulumi.String("string"),
    			CertFile: pulumi.String("string"),
    			KeyFile:  pulumi.String("string"),
    			Password: pulumi.String("string"),
    			Repo:     pulumi.String("string"),
    			Username: pulumi.String("string"),
    		},
    		ResetValues: pulumi.Bool(false),
    		ResourceNames: pulumi.StringArrayMap{
    			"string": pulumi.StringArray{
    				pulumi.String("string"),
    			},
    		},
    		ReuseValues: pulumi.Bool(false),
    		SkipAwait:   pulumi.Bool(false),
    		SkipCrds:    pulumi.Bool(false),
    		Timeout:     pulumi.Int(0),
    		ValueYamlFiles: pulumi.AssetOrArchiveArray{
    			pulumi.NewStringAsset("content"),
    		},
    		Values: pulumi.Map{
    			"string": pulumi.Any("any"),
    		},
    		Verify:      pulumi.Bool(false),
    		Version:     pulumi.String("string"),
    		WaitForJobs: pulumi.Bool(false),
    	},
    	ImagePullSecrets: corev1.LocalObjectReferenceArray{
    		&corev1.LocalObjectReferenceArgs{
    			Name: pulumi.String("string"),
    		},
    	},
    	NameOverride: pulumi.String("string"),
    	PodSecurityPolicy: &kubernetesingressnginx.ControllerPodSecurityPolicyArgs{
    		Enabled: pulumi.Bool(false),
    	},
    	Rbac: &kubernetesingressnginx.ControllerRBACArgs{
    		Create: pulumi.Bool(false),
    		Scope:  pulumi.Bool(false),
    	},
    	RevisionHistoryLimit: pulumi.Int(0),
    	ServiceAccount: &kubernetesingressnginx.ControllerServiceAccountArgs{
    		AutomountServiceAccountToken: pulumi.Bool(false),
    		Create:                       pulumi.Bool(false),
    		Name:                         pulumi.String("string"),
    	},
    	Tcp: pulumi.StringMapMap{
    		"string": pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    	Udp: pulumi.StringMapMap{
    		"string": pulumi.StringMap{
    			"string": pulumi.String("string"),
    		},
    	},
    })
    
    var ingressControllerResource = new IngressController("ingressControllerResource", IngressControllerArgs.builder()
        .controller(ControllerArgs.builder()
            .addHeaders(Map.of("string", Map.of("string", "string")))
            .admissionWebhooks(ContollerAdmissionWebhooksArgs.builder()
                .annotations(Map.of("string", Map.of("string", "string")))
                .certificate("string")
                .createSecretJob(ControllerAdmissionWebhooksCreateSecretJobArgs.builder()
                    .resources(ResourceRequirementsArgs.builder()
                        .limits(Map.of("string", "string"))
                        .requests(Map.of("string", "string"))
                        .build())
                    .build())
                .enabled(false)
                .existingPsp("string")
                .failurePolicy("string")
                .key("string")
                .namespaceSelector(Map.of("string", Map.of("string", "string")))
                .objectSelector(Map.of("string", Map.of("string", "string")))
                .patch(ControllerAdmissionWebhooksPatchArgs.builder()
                    .enabled(false)
                    .image(ControllerImageArgs.builder()
                        .allowPrivilegeEscalation(false)
                        .digest("string")
                        .image("string")
                        .pullPolicy("string")
                        .readOnlyRootFilesystem(false)
                        .registry("string")
                        .repository("string")
                        .runAsNonRoot(false)
                        .runAsUser("string")
                        .tag("string")
                        .build())
                    .nodeSelector(Map.of("string", "string"))
                    .podAnnotations(Map.of("string", Map.of("string", "string")))
                    .priorityClassName("string")
                    .runAsUser(0)
                    .tolerations(TolerationArgs.builder()
                        .effect("string")
                        .key("string")
                        .operator("string")
                        .tolerationSeconds(0)
                        .value("string")
                        .build())
                    .build())
                .patchWebhookJob(ControllerAdmissionWebhooksPatchWebhbookJobArgs.builder()
                    .resources(ResourceRequirementsArgs.builder()
                        .limits(Map.of("string", "string"))
                        .requests(Map.of("string", "string"))
                        .build())
                    .build())
                .port(0)
                .service(ControllerAdmissionWebhooksServiceArgs.builder()
                    .annotations(Map.of("string", Map.of("string", "string")))
                    .clusterIP("string")
                    .externalIPs("string")
                    .loadBalancerIPs("string")
                    .loadBalancerSourceRanges("string")
                    .servicePort(0)
                    .type("string")
                    .build())
                .timeoutSeconds(0)
                .build())
            .affinity(AffinityArgs.builder()
                .nodeAffinity(NodeAffinityArgs.builder()
                    .preferredDuringSchedulingIgnoredDuringExecution(PreferredSchedulingTermArgs.builder()
                        .preference(NodeSelectorTermArgs.builder()
                            .matchExpressions(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchFields(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .build())
                        .weight(0)
                        .build())
                    .requiredDuringSchedulingIgnoredDuringExecution(NodeSelectorArgs.builder()
                        .nodeSelectorTerms(NodeSelectorTermArgs.builder()
                            .matchExpressions(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchFields(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .build())
                        .build())
                    .build())
                .podAffinity(PodAffinityArgs.builder()
                    .preferredDuringSchedulingIgnoredDuringExecution(WeightedPodAffinityTermArgs.builder()
                        .podAffinityTerm(PodAffinityTermArgs.builder()
                            .topologyKey("string")
                            .labelSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaceSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaces("string")
                            .build())
                        .weight(0)
                        .build())
                    .requiredDuringSchedulingIgnoredDuringExecution(PodAffinityTermArgs.builder()
                        .topologyKey("string")
                        .labelSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaceSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaces("string")
                        .build())
                    .build())
                .podAntiAffinity(PodAntiAffinityArgs.builder()
                    .preferredDuringSchedulingIgnoredDuringExecution(WeightedPodAffinityTermArgs.builder()
                        .podAffinityTerm(PodAffinityTermArgs.builder()
                            .topologyKey("string")
                            .labelSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaceSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaces("string")
                            .build())
                        .weight(0)
                        .build())
                    .requiredDuringSchedulingIgnoredDuringExecution(PodAffinityTermArgs.builder()
                        .topologyKey("string")
                        .labelSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaceSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaces("string")
                        .build())
                    .build())
                .build())
            .allowSnippetAnnotations(false)
            .annotations(Map.of("string", "string"))
            .autoscaling(AutoscalingArgs.builder()
                .annotations(Map.of("string", "string"))
                .controllerAutoscalingBehavior(AutoscalingBehaviorArgs.builder()
                    .scaleDown(AutoscalingBehaviorScalingArgs.builder()
                        .policies(AutoscalingBehaviorScalingPolicyArgs.builder()
                            .periodSeconds(0)
                            .type("string")
                            .value(0)
                            .build())
                        .stabilizationWindowSeconds(0)
                        .build())
                    .scaleUp(AutoscalingBehaviorScalingArgs.builder()
                        .policies(AutoscalingBehaviorScalingPolicyArgs.builder()
                            .periodSeconds(0)
                            .type("string")
                            .value(0)
                            .build())
                        .stabilizationWindowSeconds(0)
                        .build())
                    .build())
                .enabled(false)
                .maxReplicas(0)
                .minReplicas(0)
                .targetCPUUtilizationPercentage(0)
                .targetMemoryUtilizationPercentage(0)
                .build())
            .autoscalingTemplate(AutoscalingTemplateArgs.builder()
                .pods(AutoscalingTemplatePodsArgs.builder()
                    .metric(AutoscalingTemplatePodsMetricArgs.builder()
                        .name("string")
                        .build())
                    .target(AutoscalingTemplatePodsTargetArgs.builder()
                        .averageValue("string")
                        .type("string")
                        .build())
                    .build())
                .type("string")
                .build())
            .config(Map.of("string", Map.of("string", "string")))
            .configAnnotations(Map.of("string", Map.of("string", "string")))
            .configMapNamespace("string")
            .containerName("string")
            .containerPort(ControllerPortArgs.builder()
                .http(0)
                .https(0)
                .build())
            .customTemplate(ControllerCustomTemplateArgs.builder()
                .configMapKey("string")
                .configMapName("string")
                .build())
            .dnsConfig(Map.of("string", Map.of("string", "string")))
            .dnsPolicy("string")
            .electionID("string")
            .enableMimalloc(false)
            .existingPsp("string")
            .extraArgs(Map.of("string", Map.of("string", "string")))
            .extraContainers(ContainerArgs.builder()
                .name("string")
                .readinessProbe(ProbeArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .failureThreshold(0)
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .successThreshold(0)
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .terminationGracePeriodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .imagePullPolicy("string")
                .resources(ResourceRequirementsArgs.builder()
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .startupProbe(ProbeArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .failureThreshold(0)
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .successThreshold(0)
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .terminationGracePeriodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .securityContext(SecurityContextArgs.builder()
                    .allowPrivilegeEscalation(false)
                    .capabilities(CapabilitiesArgs.builder()
                        .add("string")
                        .drop("string")
                        .build())
                    .privileged(false)
                    .procMount("string")
                    .readOnlyRootFilesystem(false)
                    .runAsGroup(0)
                    .runAsNonRoot(false)
                    .runAsUser(0)
                    .seLinuxOptions(SELinuxOptionsArgs.builder()
                        .level("string")
                        .role("string")
                        .type("string")
                        .user("string")
                        .build())
                    .seccompProfile(SeccompProfileArgs.builder()
                        .type("string")
                        .localhostProfile("string")
                        .build())
                    .windowsOptions(WindowsSecurityContextOptionsArgs.builder()
                        .gmsaCredentialSpec("string")
                        .gmsaCredentialSpecName("string")
                        .hostProcess(false)
                        .runAsUserName("string")
                        .build())
                    .build())
                .lifecycle(LifecycleArgs.builder()
                    .postStart(HandlerArgs.builder()
                        .exec(ExecActionArgs.builder()
                            .command("string")
                            .build())
                        .httpGet(HTTPGetActionArgs.builder()
                            .port(0)
                            .host("string")
                            .httpHeaders(HTTPHeaderArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .path("string")
                            .scheme("string")
                            .build())
                        .tcpSocket(TCPSocketActionArgs.builder()
                            .port(0)
                            .host("string")
                            .build())
                        .build())
                    .preStop(HandlerArgs.builder()
                        .exec(ExecActionArgs.builder()
                            .command("string")
                            .build())
                        .httpGet(HTTPGetActionArgs.builder()
                            .port(0)
                            .host("string")
                            .httpHeaders(HTTPHeaderArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .path("string")
                            .scheme("string")
                            .build())
                        .tcpSocket(TCPSocketActionArgs.builder()
                            .port(0)
                            .host("string")
                            .build())
                        .build())
                    .build())
                .livenessProbe(ProbeArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .failureThreshold(0)
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .successThreshold(0)
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .terminationGracePeriodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .command("string")
                .ports(ContainerPortArgs.builder()
                    .containerPort(0)
                    .hostIP("string")
                    .hostPort(0)
                    .name("string")
                    .protocol("string")
                    .build())
                .args("string")
                .envFrom(EnvFromSourceArgs.builder()
                    .configMapRef(ConfigMapEnvSourceArgs.builder()
                        .name("string")
                        .optional(false)
                        .build())
                    .prefix("string")
                    .secretRef(SecretEnvSourceArgs.builder()
                        .name("string")
                        .optional(false)
                        .build())
                    .build())
                .env(EnvVarArgs.builder()
                    .name("string")
                    .value("string")
                    .valueFrom(EnvVarSourceArgs.builder()
                        .configMapKeyRef(ConfigMapKeySelectorArgs.builder()
                            .key("string")
                            .name("string")
                            .optional(false)
                            .build())
                        .fieldRef(ObjectFieldSelectorArgs.builder()
                            .fieldPath("string")
                            .apiVersion("string")
                            .build())
                        .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                            .resource("string")
                            .containerName("string")
                            .divisor("string")
                            .build())
                        .secretKeyRef(SecretKeySelectorArgs.builder()
                            .key("string")
                            .name("string")
                            .optional(false)
                            .build())
                        .build())
                    .build())
                .image("string")
                .stdin(false)
                .stdinOnce(false)
                .terminationMessagePath("string")
                .terminationMessagePolicy("string")
                .tty(false)
                .volumeDevices(VolumeDeviceArgs.builder()
                    .devicePath("string")
                    .name("string")
                    .build())
                .volumeMounts(VolumeMountArgs.builder()
                    .mountPath("string")
                    .name("string")
                    .mountPropagation("string")
                    .readOnly(false)
                    .subPath("string")
                    .subPathExpr("string")
                    .build())
                .workingDir("string")
                .build())
            .extraEnvs(EnvVarArgs.builder()
                .name("string")
                .value("string")
                .valueFrom(EnvVarSourceArgs.builder()
                    .configMapKeyRef(ConfigMapKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .fieldRef(ObjectFieldSelectorArgs.builder()
                        .fieldPath("string")
                        .apiVersion("string")
                        .build())
                    .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                        .resource("string")
                        .containerName("string")
                        .divisor("string")
                        .build())
                    .secretKeyRef(SecretKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .build())
                .build())
            .extraInitContainers(ContainerArgs.builder()
                .name("string")
                .readinessProbe(ProbeArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .failureThreshold(0)
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .successThreshold(0)
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .terminationGracePeriodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .imagePullPolicy("string")
                .resources(ResourceRequirementsArgs.builder()
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .startupProbe(ProbeArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .failureThreshold(0)
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .successThreshold(0)
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .terminationGracePeriodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .securityContext(SecurityContextArgs.builder()
                    .allowPrivilegeEscalation(false)
                    .capabilities(CapabilitiesArgs.builder()
                        .add("string")
                        .drop("string")
                        .build())
                    .privileged(false)
                    .procMount("string")
                    .readOnlyRootFilesystem(false)
                    .runAsGroup(0)
                    .runAsNonRoot(false)
                    .runAsUser(0)
                    .seLinuxOptions(SELinuxOptionsArgs.builder()
                        .level("string")
                        .role("string")
                        .type("string")
                        .user("string")
                        .build())
                    .seccompProfile(SeccompProfileArgs.builder()
                        .type("string")
                        .localhostProfile("string")
                        .build())
                    .windowsOptions(WindowsSecurityContextOptionsArgs.builder()
                        .gmsaCredentialSpec("string")
                        .gmsaCredentialSpecName("string")
                        .hostProcess(false)
                        .runAsUserName("string")
                        .build())
                    .build())
                .lifecycle(LifecycleArgs.builder()
                    .postStart(HandlerArgs.builder()
                        .exec(ExecActionArgs.builder()
                            .command("string")
                            .build())
                        .httpGet(HTTPGetActionArgs.builder()
                            .port(0)
                            .host("string")
                            .httpHeaders(HTTPHeaderArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .path("string")
                            .scheme("string")
                            .build())
                        .tcpSocket(TCPSocketActionArgs.builder()
                            .port(0)
                            .host("string")
                            .build())
                        .build())
                    .preStop(HandlerArgs.builder()
                        .exec(ExecActionArgs.builder()
                            .command("string")
                            .build())
                        .httpGet(HTTPGetActionArgs.builder()
                            .port(0)
                            .host("string")
                            .httpHeaders(HTTPHeaderArgs.builder()
                                .name("string")
                                .value("string")
                                .build())
                            .path("string")
                            .scheme("string")
                            .build())
                        .tcpSocket(TCPSocketActionArgs.builder()
                            .port(0)
                            .host("string")
                            .build())
                        .build())
                    .build())
                .livenessProbe(ProbeArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .failureThreshold(0)
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .initialDelaySeconds(0)
                    .periodSeconds(0)
                    .successThreshold(0)
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .terminationGracePeriodSeconds(0)
                    .timeoutSeconds(0)
                    .build())
                .command("string")
                .ports(ContainerPortArgs.builder()
                    .containerPort(0)
                    .hostIP("string")
                    .hostPort(0)
                    .name("string")
                    .protocol("string")
                    .build())
                .args("string")
                .envFrom(EnvFromSourceArgs.builder()
                    .configMapRef(ConfigMapEnvSourceArgs.builder()
                        .name("string")
                        .optional(false)
                        .build())
                    .prefix("string")
                    .secretRef(SecretEnvSourceArgs.builder()
                        .name("string")
                        .optional(false)
                        .build())
                    .build())
                .env(EnvVarArgs.builder()
                    .name("string")
                    .value("string")
                    .valueFrom(EnvVarSourceArgs.builder()
                        .configMapKeyRef(ConfigMapKeySelectorArgs.builder()
                            .key("string")
                            .name("string")
                            .optional(false)
                            .build())
                        .fieldRef(ObjectFieldSelectorArgs.builder()
                            .fieldPath("string")
                            .apiVersion("string")
                            .build())
                        .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                            .resource("string")
                            .containerName("string")
                            .divisor("string")
                            .build())
                        .secretKeyRef(SecretKeySelectorArgs.builder()
                            .key("string")
                            .name("string")
                            .optional(false)
                            .build())
                        .build())
                    .build())
                .image("string")
                .stdin(false)
                .stdinOnce(false)
                .terminationMessagePath("string")
                .terminationMessagePolicy("string")
                .tty(false)
                .volumeDevices(VolumeDeviceArgs.builder()
                    .devicePath("string")
                    .name("string")
                    .build())
                .volumeMounts(VolumeMountArgs.builder()
                    .mountPath("string")
                    .name("string")
                    .mountPropagation("string")
                    .readOnly(false)
                    .subPath("string")
                    .subPathExpr("string")
                    .build())
                .workingDir("string")
                .build())
            .extraVolumeMounts(VolumeMountArgs.builder()
                .mountPath("string")
                .name("string")
                .mountPropagation("string")
                .readOnly(false)
                .subPath("string")
                .subPathExpr("string")
                .build())
            .extraVolumes(VolumeArgs.builder()
                .name("string")
                .gitRepo(GitRepoVolumeSourceArgs.builder()
                    .repository("string")
                    .directory("string")
                    .revision("string")
                    .build())
                .configMap(ConfigMapVolumeSourceArgs.builder()
                    .defaultMode(0)
                    .items(KeyToPathArgs.builder()
                        .key("string")
                        .path("string")
                        .mode(0)
                        .build())
                    .name("string")
                    .optional(false)
                    .build())
                .glusterfs(GlusterfsVolumeSourceArgs.builder()
                    .endpoints("string")
                    .path("string")
                    .readOnly(false)
                    .build())
                .cinder(CinderVolumeSourceArgs.builder()
                    .volumeID("string")
                    .fsType("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .hostPath(HostPathVolumeSourceArgs.builder()
                    .path("string")
                    .type("string")
                    .build())
                .csi(CSIVolumeSourceArgs.builder()
                    .driver("string")
                    .fsType("string")
                    .nodePublishSecretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .readOnly(false)
                    .volumeAttributes(Map.of("string", "string"))
                    .build())
                .downwardAPI(DownwardAPIVolumeSourceArgs.builder()
                    .defaultMode(0)
                    .items(DownwardAPIVolumeFileArgs.builder()
                        .path("string")
                        .fieldRef(ObjectFieldSelectorArgs.builder()
                            .fieldPath("string")
                            .apiVersion("string")
                            .build())
                        .mode(0)
                        .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                            .resource("string")
                            .containerName("string")
                            .divisor("string")
                            .build())
                        .build())
                    .build())
                .emptyDir(EmptyDirVolumeSourceArgs.builder()
                    .medium("string")
                    .sizeLimit("string")
                    .build())
                .ephemeral(EphemeralVolumeSourceArgs.builder()
                    .readOnly(false)
                    .volumeClaimTemplate(PersistentVolumeClaimTemplateArgs.builder()
                        .spec(PersistentVolumeClaimSpecArgs.builder()
                            .accessModes("string")
                            .dataSource(TypedLocalObjectReferenceArgs.builder()
                                .kind("string")
                                .name("string")
                                .apiGroup("string")
                                .build())
                            .dataSourceRef(TypedLocalObjectReferenceArgs.builder()
                                .kind("string")
                                .name("string")
                                .apiGroup("string")
                                .build())
                            .resources(ResourceRequirementsArgs.builder()
                                .limits(Map.of("string", "string"))
                                .requests(Map.of("string", "string"))
                                .build())
                            .selector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .storageClassName("string")
                            .volumeMode("string")
                            .volumeName("string")
                            .build())
                        .metadata(ObjectMetaArgs.builder()
                            .annotations(Map.of("string", "string"))
                            .clusterName("string")
                            .creationTimestamp("string")
                            .deletionGracePeriodSeconds(0)
                            .deletionTimestamp("string")
                            .finalizers("string")
                            .generateName("string")
                            .generation(0)
                            .labels(Map.of("string", "string"))
                            .managedFields(ManagedFieldsEntryArgs.builder()
                                .apiVersion("string")
                                .fieldsType("string")
                                .fieldsV1("{}")
                                .manager("string")
                                .operation("string")
                                .subresource("string")
                                .time("string")
                                .build())
                            .name("string")
                            .namespace("string")
                            .ownerReferences(OwnerReferenceArgs.builder()
                                .apiVersion("string")
                                .kind("string")
                                .name("string")
                                .uid("string")
                                .blockOwnerDeletion(false)
                                .controller(false)
                                .build())
                            .resourceVersion("string")
                            .selfLink("string")
                            .uid("string")
                            .build())
                        .build())
                    .build())
                .fc(FCVolumeSourceArgs.builder()
                    .fsType("string")
                    .lun(0)
                    .readOnly(false)
                    .targetWWNs("string")
                    .wwids("string")
                    .build())
                .flexVolume(FlexVolumeSourceArgs.builder()
                    .driver("string")
                    .fsType("string")
                    .options(Map.of("string", "string"))
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .iscsi(ISCSIVolumeSourceArgs.builder()
                    .iqn("string")
                    .lun(0)
                    .targetPortal("string")
                    .chapAuthDiscovery(false)
                    .chapAuthSession(false)
                    .fsType("string")
                    .initiatorName("string")
                    .iscsiInterface("string")
                    .portals("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .gcePersistentDisk(GCEPersistentDiskVolumeSourceArgs.builder()
                    .pdName("string")
                    .fsType("string")
                    .partition(0)
                    .readOnly(false)
                    .build())
                .awsElasticBlockStore(AWSElasticBlockStoreVolumeSourceArgs.builder()
                    .volumeID("string")
                    .fsType("string")
                    .partition(0)
                    .readOnly(false)
                    .build())
                .cephfs(CephFSVolumeSourceArgs.builder()
                    .monitors("string")
                    .path("string")
                    .readOnly(false)
                    .secretFile("string")
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .user("string")
                    .build())
                .azureFile(AzureFileVolumeSourceArgs.builder()
                    .secretName("string")
                    .shareName("string")
                    .readOnly(false)
                    .build())
                .flocker(FlockerVolumeSourceArgs.builder()
                    .datasetName("string")
                    .datasetUUID("string")
                    .build())
                .azureDisk(AzureDiskVolumeSourceArgs.builder()
                    .diskName("string")
                    .diskURI("string")
                    .cachingMode("string")
                    .fsType("string")
                    .kind("string")
                    .readOnly(false)
                    .build())
                .nfs(NFSVolumeSourceArgs.builder()
                    .path("string")
                    .server("string")
                    .readOnly(false)
                    .build())
                .persistentVolumeClaim(PersistentVolumeClaimVolumeSourceArgs.builder()
                    .claimName("string")
                    .readOnly(false)
                    .build())
                .photonPersistentDisk(PhotonPersistentDiskVolumeSourceArgs.builder()
                    .pdID("string")
                    .fsType("string")
                    .build())
                .portworxVolume(PortworxVolumeSourceArgs.builder()
                    .volumeID("string")
                    .fsType("string")
                    .readOnly(false)
                    .build())
                .projected(ProjectedVolumeSourceArgs.builder()
                    .sources(VolumeProjectionArgs.builder()
                        .configMap(ConfigMapProjectionArgs.builder()
                            .items(KeyToPathArgs.builder()
                                .key("string")
                                .path("string")
                                .mode(0)
                                .build())
                            .name("string")
                            .optional(false)
                            .build())
                        .downwardAPI(DownwardAPIProjectionArgs.builder()
                            .items(DownwardAPIVolumeFileArgs.builder()
                                .path("string")
                                .fieldRef(ObjectFieldSelectorArgs.builder()
                                    .fieldPath("string")
                                    .apiVersion("string")
                                    .build())
                                .mode(0)
                                .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                                    .resource("string")
                                    .containerName("string")
                                    .divisor("string")
                                    .build())
                                .build())
                            .build())
                        .secret(SecretProjectionArgs.builder()
                            .items(KeyToPathArgs.builder()
                                .key("string")
                                .path("string")
                                .mode(0)
                                .build())
                            .name("string")
                            .optional(false)
                            .build())
                        .serviceAccountToken(ServiceAccountTokenProjectionArgs.builder()
                            .path("string")
                            .audience("string")
                            .expirationSeconds(0)
                            .build())
                        .build())
                    .defaultMode(0)
                    .build())
                .quobyte(QuobyteVolumeSourceArgs.builder()
                    .registry("string")
                    .volume("string")
                    .group("string")
                    .readOnly(false)
                    .tenant("string")
                    .user("string")
                    .build())
                .rbd(RBDVolumeSourceArgs.builder()
                    .image("string")
                    .monitors("string")
                    .fsType("string")
                    .keyring("string")
                    .pool("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .user("string")
                    .build())
                .scaleIO(ScaleIOVolumeSourceArgs.builder()
                    .gateway("string")
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .system("string")
                    .fsType("string")
                    .protectionDomain("string")
                    .readOnly(false)
                    .sslEnabled(false)
                    .storageMode("string")
                    .storagePool("string")
                    .volumeName("string")
                    .build())
                .secret(SecretVolumeSourceArgs.builder()
                    .defaultMode(0)
                    .items(KeyToPathArgs.builder()
                        .key("string")
                        .path("string")
                        .mode(0)
                        .build())
                    .optional(false)
                    .secretName("string")
                    .build())
                .storageos(StorageOSVolumeSourceArgs.builder()
                    .fsType("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .volumeName("string")
                    .volumeNamespace("string")
                    .build())
                .vsphereVolume(VsphereVirtualDiskVolumeSourceArgs.builder()
                    .volumePath("string")
                    .fsType("string")
                    .storagePolicyID("string")
                    .storagePolicyName("string")
                    .build())
                .build())
            .healthCheckPath("string")
            .heathCheckHost("string")
            .hostNetwork(false)
            .hostPort(ControllerHostPortArgs.builder()
                .enabled(false)
                .ports(ControllerHostPortPortsArgs.builder()
                    .http(0)
                    .https(0)
                    .build())
                .build())
            .hostname(Map.of("string", Map.of("string", "string")))
            .image(ControllerImageArgs.builder()
                .allowPrivilegeEscalation(false)
                .digest("string")
                .image("string")
                .pullPolicy("string")
                .readOnlyRootFilesystem(false)
                .registry("string")
                .repository("string")
                .runAsNonRoot(false)
                .runAsUser("string")
                .tag("string")
                .build())
            .ingressClassByName(false)
            .ingressClassResource(ControllerIngressClassResourceArgs.builder()
                .controllerValue("string")
                .default_(false)
                .enabled(false)
                .name("string")
                .parameters(Map.of("string", Map.of("string", "string")))
                .build())
            .keda(KedaArgs.builder()
                .apiVersion("string")
                .behavior(AutoscalingBehaviorArgs.builder()
                    .scaleDown(AutoscalingBehaviorScalingArgs.builder()
                        .policies(AutoscalingBehaviorScalingPolicyArgs.builder()
                            .periodSeconds(0)
                            .type("string")
                            .value(0)
                            .build())
                        .stabilizationWindowSeconds(0)
                        .build())
                    .scaleUp(AutoscalingBehaviorScalingArgs.builder()
                        .policies(AutoscalingBehaviorScalingPolicyArgs.builder()
                            .periodSeconds(0)
                            .type("string")
                            .value(0)
                            .build())
                        .stabilizationWindowSeconds(0)
                        .build())
                    .build())
                .cooldownPeriod(0)
                .enabled(false)
                .maxReplicas(0)
                .minReplicas(0)
                .pollingInterval(0)
                .restoreToOriginalReplicaCount(false)
                .scaledObject(KedaScaledObjectArgs.builder()
                    .annotations(Map.of("string", "string"))
                    .build())
                .triggers(KedaTriggerArgs.builder()
                    .metadata(Map.of("string", Map.of("string", "string")))
                    .type("string")
                    .build())
                .build())
            .kind("string")
            .lifecycle(LifecycleArgs.builder()
                .postStart(HandlerArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .build())
                .preStop(HandlerArgs.builder()
                    .exec(ExecActionArgs.builder()
                        .command("string")
                        .build())
                    .httpGet(HTTPGetActionArgs.builder()
                        .port(0)
                        .host("string")
                        .httpHeaders(HTTPHeaderArgs.builder()
                            .name("string")
                            .value("string")
                            .build())
                        .path("string")
                        .scheme("string")
                        .build())
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .build())
                .build())
            .livenessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .httpGet(HTTPGetActionArgs.builder()
                    .port(0)
                    .host("string")
                    .httpHeaders(HTTPHeaderArgs.builder()
                        .name("string")
                        .value("string")
                        .build())
                    .path("string")
                    .scheme("string")
                    .build())
                .initialDelaySeconds(0)
                .periodSeconds(0)
                .successThreshold(0)
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .terminationGracePeriodSeconds(0)
                .timeoutSeconds(0)
                .build())
            .maxmindLicenseKey("string")
            .metrics(ControllerMetricsArgs.builder()
                .enabled(false)
                .port(0)
                .prometheusRule(ControllerMetricsPrometheusRulesArgs.builder()
                    .additionalLabels(Map.of("string", Map.of("string", "string")))
                    .enabled(false)
                    .namespace("string")
                    .rules(Map.of("string", "string"))
                    .build())
                .service(ControllerMetricsServiceArgs.builder()
                    .annotations(Map.of("string", "string"))
                    .clusterIP("string")
                    .externalIPs("string")
                    .externalTrafficPolicy("string")
                    .loadBalancerIPs("string")
                    .loadBalancerSourceRanges("string")
                    .nodePort("string")
                    .servicePort(0)
                    .type("string")
                    .build())
                .serviceMonitor(ControllerMetricsServiceMonitorArgs.builder()
                    .additionalLabels(Map.of("string", Map.of("string", "string")))
                    .enabled(false)
                    .honorLabels(false)
                    .jobLabel("string")
                    .metricRelabelings("string")
                    .namespace("string")
                    .namespaceSelector(Map.of("string", Map.of("string", "string")))
                    .scrapeInterval("string")
                    .targetLabels("string")
                    .build())
                .build())
            .minAvailable(0)
            .minReadySeconds(0)
            .name("string")
            .nodeSelector(Map.of("string", "string"))
            .podAnnotations(Map.of("string", "string"))
            .podLabels(Map.of("string", Map.of("string", "string")))
            .podSecurityContext(PodSecurityContextArgs.builder()
                .fsGroup(0)
                .fsGroupChangePolicy("string")
                .runAsGroup(0)
                .runAsNonRoot(false)
                .runAsUser(0)
                .seLinuxOptions(SELinuxOptionsArgs.builder()
                    .level("string")
                    .role("string")
                    .type("string")
                    .user("string")
                    .build())
                .seccompProfile(SeccompProfileArgs.builder()
                    .type("string")
                    .localhostProfile("string")
                    .build())
                .supplementalGroups(0)
                .sysctls(SysctlArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .windowsOptions(WindowsSecurityContextOptionsArgs.builder()
                    .gmsaCredentialSpec("string")
                    .gmsaCredentialSpecName("string")
                    .hostProcess(false)
                    .runAsUserName("string")
                    .build())
                .build())
            .priorityClassName("string")
            .proxySetHeaders(Map.of("string", Map.of("string", "string")))
            .publishService(ControllerPublishServiceArgs.builder()
                .enabled(false)
                .pathOverride("string")
                .build())
            .readinessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .httpGet(HTTPGetActionArgs.builder()
                    .port(0)
                    .host("string")
                    .httpHeaders(HTTPHeaderArgs.builder()
                        .name("string")
                        .value("string")
                        .build())
                    .path("string")
                    .scheme("string")
                    .build())
                .initialDelaySeconds(0)
                .periodSeconds(0)
                .successThreshold(0)
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .terminationGracePeriodSeconds(0)
                .timeoutSeconds(0)
                .build())
            .replicaCount(0)
            .reportNodeInternalIp(false)
            .resources(ResourceRequirementsArgs.builder()
                .limits(Map.of("string", "string"))
                .requests(Map.of("string", "string"))
                .build())
            .scope(ControllerScopeArgs.builder()
                .enabled(false)
                .namespace("string")
                .build())
            .service(ControllerServiceArgs.builder()
                .annotations(Map.of("string", Map.of("string", "string")))
                .clusterIP("string")
                .enableHttp(false)
                .enableHttps(false)
                .enabled(false)
                .externalIPs("string")
                .externalTrafficPolicy("string")
                .healthCheckNodePort(0)
                .internal(ControllerServiceInternalArgs.builder()
                    .annotations(Map.of("string", Map.of("string", "string")))
                    .enabled(false)
                    .externalTrafficPolicy("string")
                    .labels(Map.of("string", Map.of("string", "string")))
                    .loadBalancerIPs("string")
                    .loadBalancerSourceRanges("string")
                    .build())
                .labels(Map.of("string", Map.of("string", "string")))
                .loadBalancerIPs("string")
                .loadBalancerSourceRanges("string")
                .nodePorts(ControllerServiceNodePortsArgs.builder()
                    .http("string")
                    .https("string")
                    .tcp(Map.of("string", Map.of("string", "string")))
                    .udp(Map.of("string", Map.of("string", "string")))
                    .build())
                .ports(ControllerPortArgs.builder()
                    .http(0)
                    .https(0)
                    .build())
                .sessionAffinity("string")
                .targetPorts(ControllerPortArgs.builder()
                    .http(0)
                    .https(0)
                    .build())
                .type("string")
                .build())
            .startupProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .httpGet(HTTPGetActionArgs.builder()
                    .port(0)
                    .host("string")
                    .httpHeaders(HTTPHeaderArgs.builder()
                        .name("string")
                        .value("string")
                        .build())
                    .path("string")
                    .scheme("string")
                    .build())
                .initialDelaySeconds(0)
                .periodSeconds(0)
                .successThreshold(0)
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .terminationGracePeriodSeconds(0)
                .timeoutSeconds(0)
                .build())
            .sysctls(Map.of("string", Map.of("string", "string")))
            .tcp(ControllerTcpArgs.builder()
                .annotations(Map.of("string", "string"))
                .configMapNamespace("string")
                .build())
            .terminateGracePeriodSeconds(0)
            .tolerations(TolerationArgs.builder()
                .effect("string")
                .key("string")
                .operator("string")
                .tolerationSeconds(0)
                .value("string")
                .build())
            .topologySpreadConstraints(TopologySpreadConstraintArgs.builder()
                .maxSkew(0)
                .topologyKey("string")
                .whenUnsatisfiable("string")
                .labelSelector(LabelSelectorArgs.builder()
                    .matchExpressions(LabelSelectorRequirementArgs.builder()
                        .key("string")
                        .operator("string")
                        .values("string")
                        .build())
                    .matchLabels(Map.of("string", "string"))
                    .build())
                .build())
            .udp(ControllerUdpArgs.builder()
                .annotations(Map.of("string", "string"))
                .configMapNamespace("string")
                .build())
            .updateStrategy(ControllerUpdateStrategyArgs.builder()
                .rollingUpdate(ControllerRollingUpdateArgs.builder()
                    .maxUnavailable(0)
                    .build())
                .type("string")
                .build())
            .watchIngressWithoutClass(false)
            .build())
        .defaultBackend(ControllerDefaultBackendArgs.builder()
            .affinity(AffinityArgs.builder()
                .nodeAffinity(NodeAffinityArgs.builder()
                    .preferredDuringSchedulingIgnoredDuringExecution(PreferredSchedulingTermArgs.builder()
                        .preference(NodeSelectorTermArgs.builder()
                            .matchExpressions(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchFields(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .build())
                        .weight(0)
                        .build())
                    .requiredDuringSchedulingIgnoredDuringExecution(NodeSelectorArgs.builder()
                        .nodeSelectorTerms(NodeSelectorTermArgs.builder()
                            .matchExpressions(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchFields(NodeSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .build())
                        .build())
                    .build())
                .podAffinity(PodAffinityArgs.builder()
                    .preferredDuringSchedulingIgnoredDuringExecution(WeightedPodAffinityTermArgs.builder()
                        .podAffinityTerm(PodAffinityTermArgs.builder()
                            .topologyKey("string")
                            .labelSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaceSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaces("string")
                            .build())
                        .weight(0)
                        .build())
                    .requiredDuringSchedulingIgnoredDuringExecution(PodAffinityTermArgs.builder()
                        .topologyKey("string")
                        .labelSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaceSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaces("string")
                        .build())
                    .build())
                .podAntiAffinity(PodAntiAffinityArgs.builder()
                    .preferredDuringSchedulingIgnoredDuringExecution(WeightedPodAffinityTermArgs.builder()
                        .podAffinityTerm(PodAffinityTermArgs.builder()
                            .topologyKey("string")
                            .labelSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaceSelector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .namespaces("string")
                            .build())
                        .weight(0)
                        .build())
                    .requiredDuringSchedulingIgnoredDuringExecution(PodAffinityTermArgs.builder()
                        .topologyKey("string")
                        .labelSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaceSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .namespaces("string")
                        .build())
                    .build())
                .build())
            .autoscaling(AutoscalingArgs.builder()
                .annotations(Map.of("string", "string"))
                .controllerAutoscalingBehavior(AutoscalingBehaviorArgs.builder()
                    .scaleDown(AutoscalingBehaviorScalingArgs.builder()
                        .policies(AutoscalingBehaviorScalingPolicyArgs.builder()
                            .periodSeconds(0)
                            .type("string")
                            .value(0)
                            .build())
                        .stabilizationWindowSeconds(0)
                        .build())
                    .scaleUp(AutoscalingBehaviorScalingArgs.builder()
                        .policies(AutoscalingBehaviorScalingPolicyArgs.builder()
                            .periodSeconds(0)
                            .type("string")
                            .value(0)
                            .build())
                        .stabilizationWindowSeconds(0)
                        .build())
                    .build())
                .enabled(false)
                .maxReplicas(0)
                .minReplicas(0)
                .targetCPUUtilizationPercentage(0)
                .targetMemoryUtilizationPercentage(0)
                .build())
            .enabled(false)
            .existingPsp("string")
            .extraArgs(Map.of("string", Map.of("string", "string")))
            .extraEnvs(EnvVarArgs.builder()
                .name("string")
                .value("string")
                .valueFrom(EnvVarSourceArgs.builder()
                    .configMapKeyRef(ConfigMapKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .fieldRef(ObjectFieldSelectorArgs.builder()
                        .fieldPath("string")
                        .apiVersion("string")
                        .build())
                    .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                        .resource("string")
                        .containerName("string")
                        .divisor("string")
                        .build())
                    .secretKeyRef(SecretKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .build())
                .build())
            .extraVolumeMounts(VolumeMountArgs.builder()
                .mountPath("string")
                .name("string")
                .mountPropagation("string")
                .readOnly(false)
                .subPath("string")
                .subPathExpr("string")
                .build())
            .extraVolumes(VolumeArgs.builder()
                .name("string")
                .gitRepo(GitRepoVolumeSourceArgs.builder()
                    .repository("string")
                    .directory("string")
                    .revision("string")
                    .build())
                .configMap(ConfigMapVolumeSourceArgs.builder()
                    .defaultMode(0)
                    .items(KeyToPathArgs.builder()
                        .key("string")
                        .path("string")
                        .mode(0)
                        .build())
                    .name("string")
                    .optional(false)
                    .build())
                .glusterfs(GlusterfsVolumeSourceArgs.builder()
                    .endpoints("string")
                    .path("string")
                    .readOnly(false)
                    .build())
                .cinder(CinderVolumeSourceArgs.builder()
                    .volumeID("string")
                    .fsType("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .hostPath(HostPathVolumeSourceArgs.builder()
                    .path("string")
                    .type("string")
                    .build())
                .csi(CSIVolumeSourceArgs.builder()
                    .driver("string")
                    .fsType("string")
                    .nodePublishSecretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .readOnly(false)
                    .volumeAttributes(Map.of("string", "string"))
                    .build())
                .downwardAPI(DownwardAPIVolumeSourceArgs.builder()
                    .defaultMode(0)
                    .items(DownwardAPIVolumeFileArgs.builder()
                        .path("string")
                        .fieldRef(ObjectFieldSelectorArgs.builder()
                            .fieldPath("string")
                            .apiVersion("string")
                            .build())
                        .mode(0)
                        .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                            .resource("string")
                            .containerName("string")
                            .divisor("string")
                            .build())
                        .build())
                    .build())
                .emptyDir(EmptyDirVolumeSourceArgs.builder()
                    .medium("string")
                    .sizeLimit("string")
                    .build())
                .ephemeral(EphemeralVolumeSourceArgs.builder()
                    .readOnly(false)
                    .volumeClaimTemplate(PersistentVolumeClaimTemplateArgs.builder()
                        .spec(PersistentVolumeClaimSpecArgs.builder()
                            .accessModes("string")
                            .dataSource(TypedLocalObjectReferenceArgs.builder()
                                .kind("string")
                                .name("string")
                                .apiGroup("string")
                                .build())
                            .dataSourceRef(TypedLocalObjectReferenceArgs.builder()
                                .kind("string")
                                .name("string")
                                .apiGroup("string")
                                .build())
                            .resources(ResourceRequirementsArgs.builder()
                                .limits(Map.of("string", "string"))
                                .requests(Map.of("string", "string"))
                                .build())
                            .selector(LabelSelectorArgs.builder()
                                .matchExpressions(LabelSelectorRequirementArgs.builder()
                                    .key("string")
                                    .operator("string")
                                    .values("string")
                                    .build())
                                .matchLabels(Map.of("string", "string"))
                                .build())
                            .storageClassName("string")
                            .volumeMode("string")
                            .volumeName("string")
                            .build())
                        .metadata(ObjectMetaArgs.builder()
                            .annotations(Map.of("string", "string"))
                            .clusterName("string")
                            .creationTimestamp("string")
                            .deletionGracePeriodSeconds(0)
                            .deletionTimestamp("string")
                            .finalizers("string")
                            .generateName("string")
                            .generation(0)
                            .labels(Map.of("string", "string"))
                            .managedFields(ManagedFieldsEntryArgs.builder()
                                .apiVersion("string")
                                .fieldsType("string")
                                .fieldsV1("{}")
                                .manager("string")
                                .operation("string")
                                .subresource("string")
                                .time("string")
                                .build())
                            .name("string")
                            .namespace("string")
                            .ownerReferences(OwnerReferenceArgs.builder()
                                .apiVersion("string")
                                .kind("string")
                                .name("string")
                                .uid("string")
                                .blockOwnerDeletion(false)
                                .controller(false)
                                .build())
                            .resourceVersion("string")
                            .selfLink("string")
                            .uid("string")
                            .build())
                        .build())
                    .build())
                .fc(FCVolumeSourceArgs.builder()
                    .fsType("string")
                    .lun(0)
                    .readOnly(false)
                    .targetWWNs("string")
                    .wwids("string")
                    .build())
                .flexVolume(FlexVolumeSourceArgs.builder()
                    .driver("string")
                    .fsType("string")
                    .options(Map.of("string", "string"))
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .iscsi(ISCSIVolumeSourceArgs.builder()
                    .iqn("string")
                    .lun(0)
                    .targetPortal("string")
                    .chapAuthDiscovery(false)
                    .chapAuthSession(false)
                    .fsType("string")
                    .initiatorName("string")
                    .iscsiInterface("string")
                    .portals("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .build())
                .gcePersistentDisk(GCEPersistentDiskVolumeSourceArgs.builder()
                    .pdName("string")
                    .fsType("string")
                    .partition(0)
                    .readOnly(false)
                    .build())
                .awsElasticBlockStore(AWSElasticBlockStoreVolumeSourceArgs.builder()
                    .volumeID("string")
                    .fsType("string")
                    .partition(0)
                    .readOnly(false)
                    .build())
                .cephfs(CephFSVolumeSourceArgs.builder()
                    .monitors("string")
                    .path("string")
                    .readOnly(false)
                    .secretFile("string")
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .user("string")
                    .build())
                .azureFile(AzureFileVolumeSourceArgs.builder()
                    .secretName("string")
                    .shareName("string")
                    .readOnly(false)
                    .build())
                .flocker(FlockerVolumeSourceArgs.builder()
                    .datasetName("string")
                    .datasetUUID("string")
                    .build())
                .azureDisk(AzureDiskVolumeSourceArgs.builder()
                    .diskName("string")
                    .diskURI("string")
                    .cachingMode("string")
                    .fsType("string")
                    .kind("string")
                    .readOnly(false)
                    .build())
                .nfs(NFSVolumeSourceArgs.builder()
                    .path("string")
                    .server("string")
                    .readOnly(false)
                    .build())
                .persistentVolumeClaim(PersistentVolumeClaimVolumeSourceArgs.builder()
                    .claimName("string")
                    .readOnly(false)
                    .build())
                .photonPersistentDisk(PhotonPersistentDiskVolumeSourceArgs.builder()
                    .pdID("string")
                    .fsType("string")
                    .build())
                .portworxVolume(PortworxVolumeSourceArgs.builder()
                    .volumeID("string")
                    .fsType("string")
                    .readOnly(false)
                    .build())
                .projected(ProjectedVolumeSourceArgs.builder()
                    .sources(VolumeProjectionArgs.builder()
                        .configMap(ConfigMapProjectionArgs.builder()
                            .items(KeyToPathArgs.builder()
                                .key("string")
                                .path("string")
                                .mode(0)
                                .build())
                            .name("string")
                            .optional(false)
                            .build())
                        .downwardAPI(DownwardAPIProjectionArgs.builder()
                            .items(DownwardAPIVolumeFileArgs.builder()
                                .path("string")
                                .fieldRef(ObjectFieldSelectorArgs.builder()
                                    .fieldPath("string")
                                    .apiVersion("string")
                                    .build())
                                .mode(0)
                                .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                                    .resource("string")
                                    .containerName("string")
                                    .divisor("string")
                                    .build())
                                .build())
                            .build())
                        .secret(SecretProjectionArgs.builder()
                            .items(KeyToPathArgs.builder()
                                .key("string")
                                .path("string")
                                .mode(0)
                                .build())
                            .name("string")
                            .optional(false)
                            .build())
                        .serviceAccountToken(ServiceAccountTokenProjectionArgs.builder()
                            .path("string")
                            .audience("string")
                            .expirationSeconds(0)
                            .build())
                        .build())
                    .defaultMode(0)
                    .build())
                .quobyte(QuobyteVolumeSourceArgs.builder()
                    .registry("string")
                    .volume("string")
                    .group("string")
                    .readOnly(false)
                    .tenant("string")
                    .user("string")
                    .build())
                .rbd(RBDVolumeSourceArgs.builder()
                    .image("string")
                    .monitors("string")
                    .fsType("string")
                    .keyring("string")
                    .pool("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .user("string")
                    .build())
                .scaleIO(ScaleIOVolumeSourceArgs.builder()
                    .gateway("string")
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .system("string")
                    .fsType("string")
                    .protectionDomain("string")
                    .readOnly(false)
                    .sslEnabled(false)
                    .storageMode("string")
                    .storagePool("string")
                    .volumeName("string")
                    .build())
                .secret(SecretVolumeSourceArgs.builder()
                    .defaultMode(0)
                    .items(KeyToPathArgs.builder()
                        .key("string")
                        .path("string")
                        .mode(0)
                        .build())
                    .optional(false)
                    .secretName("string")
                    .build())
                .storageos(StorageOSVolumeSourceArgs.builder()
                    .fsType("string")
                    .readOnly(false)
                    .secretRef(LocalObjectReferenceArgs.builder()
                        .name("string")
                        .build())
                    .volumeName("string")
                    .volumeNamespace("string")
                    .build())
                .vsphereVolume(VsphereVirtualDiskVolumeSourceArgs.builder()
                    .volumePath("string")
                    .fsType("string")
                    .storagePolicyID("string")
                    .storagePolicyName("string")
                    .build())
                .build())
            .image(ControllerImageArgs.builder()
                .allowPrivilegeEscalation(false)
                .digest("string")
                .image("string")
                .pullPolicy("string")
                .readOnlyRootFilesystem(false)
                .registry("string")
                .repository("string")
                .runAsNonRoot(false)
                .runAsUser("string")
                .tag("string")
                .build())
            .livenessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .httpGet(HTTPGetActionArgs.builder()
                    .port(0)
                    .host("string")
                    .httpHeaders(HTTPHeaderArgs.builder()
                        .name("string")
                        .value("string")
                        .build())
                    .path("string")
                    .scheme("string")
                    .build())
                .initialDelaySeconds(0)
                .periodSeconds(0)
                .successThreshold(0)
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .terminationGracePeriodSeconds(0)
                .timeoutSeconds(0)
                .build())
            .minAvailable(0)
            .name("string")
            .nodeSelector(Map.of("string", "string"))
            .podAnnotations(Map.of("string", "string"))
            .podLabels(Map.of("string", "string"))
            .podSecurityContext(PodSecurityContextArgs.builder()
                .fsGroup(0)
                .fsGroupChangePolicy("string")
                .runAsGroup(0)
                .runAsNonRoot(false)
                .runAsUser(0)
                .seLinuxOptions(SELinuxOptionsArgs.builder()
                    .level("string")
                    .role("string")
                    .type("string")
                    .user("string")
                    .build())
                .seccompProfile(SeccompProfileArgs.builder()
                    .type("string")
                    .localhostProfile("string")
                    .build())
                .supplementalGroups(0)
                .sysctls(SysctlArgs.builder()
                    .name("string")
                    .value("string")
                    .build())
                .windowsOptions(WindowsSecurityContextOptionsArgs.builder()
                    .gmsaCredentialSpec("string")
                    .gmsaCredentialSpecName("string")
                    .hostProcess(false)
                    .runAsUserName("string")
                    .build())
                .build())
            .port(0)
            .priorityClassName("string")
            .readinessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .httpGet(HTTPGetActionArgs.builder()
                    .port(0)
                    .host("string")
                    .httpHeaders(HTTPHeaderArgs.builder()
                        .name("string")
                        .value("string")
                        .build())
                    .path("string")
                    .scheme("string")
                    .build())
                .initialDelaySeconds(0)
                .periodSeconds(0)
                .successThreshold(0)
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .terminationGracePeriodSeconds(0)
                .timeoutSeconds(0)
                .build())
            .replicaCount(0)
            .resources(ResourceRequirementsArgs.builder()
                .limits(Map.of("string", "string"))
                .requests(Map.of("string", "string"))
                .build())
            .service(ControllerDefaultBackendServiceArgs.builder()
                .annotations(Map.of("string", "string"))
                .clusterIP("string")
                .externalIPs("string")
                .loadBalancerIP("string")
                .loadBalancerSourceRanges("string")
                .servicePort(0)
                .type("string")
                .build())
            .serviceAccount(ControllerServiceAccountArgs.builder()
                .automountServiceAccountToken(false)
                .create(false)
                .name("string")
                .build())
            .tolerations(TolerationArgs.builder()
                .effect("string")
                .key("string")
                .operator("string")
                .tolerationSeconds(0)
                .value("string")
                .build())
            .build())
        .dhParam("string")
        .fullnameOverride("string")
        .helmOptions(ReleaseArgs.builder()
            .atomic(false)
            .chart("string")
            .cleanupOnFail(false)
            .createNamespace(false)
            .dependencyUpdate(false)
            .description("string")
            .devel(false)
            .disableCRDHooks(false)
            .disableOpenapiValidation(false)
            .disableWebhooks(false)
            .forceUpdate(false)
            .keyring("string")
            .lint(false)
            .manifest(Map.of("string", "any"))
            .maxHistory(0)
            .name("string")
            .namespace("string")
            .postrender("string")
            .recreatePods(false)
            .renderSubchartNotes(false)
            .replace(false)
            .repositoryOpts(RepositoryOptsArgs.builder()
                .caFile("string")
                .certFile("string")
                .keyFile("string")
                .password("string")
                .repo("string")
                .username("string")
                .build())
            .resetValues(false)
            .resourceNames(Map.of("string", "string"))
            .reuseValues(false)
            .skipAwait(false)
            .skipCrds(false)
            .timeout(0)
            .valueYamlFiles(new StringAsset("content"))
            .values(Map.of("string", "any"))
            .verify(false)
            .version("string")
            .waitForJobs(false)
            .build())
        .imagePullSecrets(LocalObjectReferenceArgs.builder()
            .name("string")
            .build())
        .nameOverride("string")
        .podSecurityPolicy(ControllerPodSecurityPolicyArgs.builder()
            .enabled(false)
            .build())
        .rbac(ControllerRBACArgs.builder()
            .create(false)
            .scope(false)
            .build())
        .revisionHistoryLimit(0)
        .serviceAccount(ControllerServiceAccountArgs.builder()
            .automountServiceAccountToken(false)
            .create(false)
            .name("string")
            .build())
        .tcp(Map.of("string", Map.of("string", "string")))
        .udp(Map.of("string", Map.of("string", "string")))
        .build());
    
    ingress_controller_resource = kubernetes_ingress_nginx.IngressController("ingressControllerResource",
        controller={
            "add_headers": {
                "string": {
                    "string": "string",
                },
            },
            "admission_webhooks": {
                "annotations": {
                    "string": {
                        "string": "string",
                    },
                },
                "certificate": "string",
                "create_secret_job": {
                    "resources": {
                        "limits": {
                            "string": "string",
                        },
                        "requests": {
                            "string": "string",
                        },
                    },
                },
                "enabled": False,
                "existing_psp": "string",
                "failure_policy": "string",
                "key": "string",
                "namespace_selector": {
                    "string": {
                        "string": "string",
                    },
                },
                "object_selector": {
                    "string": {
                        "string": "string",
                    },
                },
                "patch": {
                    "enabled": False,
                    "image": {
                        "allow_privilege_escalation": False,
                        "digest": "string",
                        "image": "string",
                        "pull_policy": "string",
                        "read_only_root_filesystem": False,
                        "registry": "string",
                        "repository": "string",
                        "run_as_non_root": False,
                        "run_as_user": "string",
                        "tag": "string",
                    },
                    "node_selector": {
                        "string": "string",
                    },
                    "pod_annotations": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "priority_class_name": "string",
                    "run_as_user": 0,
                    "tolerations": [{
                        "effect": "string",
                        "key": "string",
                        "operator": "string",
                        "toleration_seconds": 0,
                        "value": "string",
                    }],
                },
                "patch_webhook_job": {
                    "resources": {
                        "limits": {
                            "string": "string",
                        },
                        "requests": {
                            "string": "string",
                        },
                    },
                },
                "port": 0,
                "service": {
                    "annotations": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "cluster_ip": "string",
                    "external_ips": ["string"],
                    "load_balancer_ips": "string",
                    "load_balancer_source_ranges": ["string"],
                    "service_port": 0,
                    "type": "string",
                },
                "timeout_seconds": 0,
            },
            "affinity": {
                "node_affinity": {
                    "preferred_during_scheduling_ignored_during_execution": [{
                        "preference": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_fields": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                        },
                        "weight": 0,
                    }],
                    "required_during_scheduling_ignored_during_execution": {
                        "node_selector_terms": [{
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_fields": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                        }],
                    },
                },
                "pod_affinity": {
                    "preferred_during_scheduling_ignored_during_execution": [{
                        "pod_affinity_term": {
                            "topology_key": "string",
                            "label_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespace_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespaces": ["string"],
                        },
                        "weight": 0,
                    }],
                    "required_during_scheduling_ignored_during_execution": [{
                        "topology_key": "string",
                        "label_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespace_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespaces": ["string"],
                    }],
                },
                "pod_anti_affinity": {
                    "preferred_during_scheduling_ignored_during_execution": [{
                        "pod_affinity_term": {
                            "topology_key": "string",
                            "label_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespace_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespaces": ["string"],
                        },
                        "weight": 0,
                    }],
                    "required_during_scheduling_ignored_during_execution": [{
                        "topology_key": "string",
                        "label_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespace_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespaces": ["string"],
                    }],
                },
            },
            "allow_snippet_annotations": False,
            "annotations": {
                "string": "string",
            },
            "autoscaling": {
                "annotations": {
                    "string": "string",
                },
                "controller_autoscaling_behavior": {
                    "scale_down": {
                        "policies": [{
                            "period_seconds": 0,
                            "type": "string",
                            "value": 0,
                        }],
                        "stabilization_window_seconds": 0,
                    },
                    "scale_up": {
                        "policies": [{
                            "period_seconds": 0,
                            "type": "string",
                            "value": 0,
                        }],
                        "stabilization_window_seconds": 0,
                    },
                },
                "enabled": False,
                "max_replicas": 0,
                "min_replicas": 0,
                "target_cpu_utilization_percentage": 0,
                "target_memory_utilization_percentage": 0,
            },
            "autoscaling_template": [{
                "pods": {
                    "metric": {
                        "name": "string",
                    },
                    "target": {
                        "average_value": "string",
                        "type": "string",
                    },
                },
                "type": "string",
            }],
            "config": {
                "string": {
                    "string": "string",
                },
            },
            "config_annotations": {
                "string": {
                    "string": "string",
                },
            },
            "config_map_namespace": "string",
            "container_name": "string",
            "container_port": {
                "http": 0,
                "https": 0,
            },
            "custom_template": {
                "config_map_key": "string",
                "config_map_name": "string",
            },
            "dns_config": {
                "string": {
                    "string": "string",
                },
            },
            "dns_policy": "string",
            "election_id": "string",
            "enable_mimalloc": False,
            "existing_psp": "string",
            "extra_args": {
                "string": {
                    "string": "string",
                },
            },
            "extra_containers": [{
                "name": "string",
                "readiness_probe": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "failure_threshold": 0,
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "success_threshold": 0,
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                    "termination_grace_period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "image_pull_policy": "string",
                "resources": {
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
                "startup_probe": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "failure_threshold": 0,
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "success_threshold": 0,
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                    "termination_grace_period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "security_context": {
                    "allow_privilege_escalation": False,
                    "capabilities": {
                        "add": ["string"],
                        "drop": ["string"],
                    },
                    "privileged": False,
                    "proc_mount": "string",
                    "read_only_root_filesystem": False,
                    "run_as_group": 0,
                    "run_as_non_root": False,
                    "run_as_user": 0,
                    "se_linux_options": {
                        "level": "string",
                        "role": "string",
                        "type": "string",
                        "user": "string",
                    },
                    "seccomp_profile": {
                        "type": "string",
                        "localhost_profile": "string",
                    },
                    "windows_options": {
                        "gmsa_credential_spec": "string",
                        "gmsa_credential_spec_name": "string",
                        "host_process": False,
                        "run_as_user_name": "string",
                    },
                },
                "lifecycle": {
                    "post_start": {
                        "exec_": {
                            "command": ["string"],
                        },
                        "http_get": {
                            "port": 0,
                            "host": "string",
                            "http_headers": [{
                                "name": "string",
                                "value": "string",
                            }],
                            "path": "string",
                            "scheme": "string",
                        },
                        "tcp_socket": {
                            "port": 0,
                            "host": "string",
                        },
                    },
                    "pre_stop": {
                        "exec_": {
                            "command": ["string"],
                        },
                        "http_get": {
                            "port": 0,
                            "host": "string",
                            "http_headers": [{
                                "name": "string",
                                "value": "string",
                            }],
                            "path": "string",
                            "scheme": "string",
                        },
                        "tcp_socket": {
                            "port": 0,
                            "host": "string",
                        },
                    },
                },
                "liveness_probe": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "failure_threshold": 0,
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "success_threshold": 0,
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                    "termination_grace_period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "command": ["string"],
                "ports": [{
                    "container_port": 0,
                    "host_ip": "string",
                    "host_port": 0,
                    "name": "string",
                    "protocol": "string",
                }],
                "args": ["string"],
                "env_from": [{
                    "config_map_ref": {
                        "name": "string",
                        "optional": False,
                    },
                    "prefix": "string",
                    "secret_ref": {
                        "name": "string",
                        "optional": False,
                    },
                }],
                "env": [{
                    "name": "string",
                    "value": "string",
                    "value_from": {
                        "config_map_key_ref": {
                            "key": "string",
                            "name": "string",
                            "optional": False,
                        },
                        "field_ref": {
                            "field_path": "string",
                            "api_version": "string",
                        },
                        "resource_field_ref": {
                            "resource": "string",
                            "container_name": "string",
                            "divisor": "string",
                        },
                        "secret_key_ref": {
                            "key": "string",
                            "name": "string",
                            "optional": False,
                        },
                    },
                }],
                "image": "string",
                "stdin": False,
                "stdin_once": False,
                "termination_message_path": "string",
                "termination_message_policy": "string",
                "tty": False,
                "volume_devices": [{
                    "device_path": "string",
                    "name": "string",
                }],
                "volume_mounts": [{
                    "mount_path": "string",
                    "name": "string",
                    "mount_propagation": "string",
                    "read_only": False,
                    "sub_path": "string",
                    "sub_path_expr": "string",
                }],
                "working_dir": "string",
            }],
            "extra_envs": [{
                "name": "string",
                "value": "string",
                "value_from": {
                    "config_map_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                    "field_ref": {
                        "field_path": "string",
                        "api_version": "string",
                    },
                    "resource_field_ref": {
                        "resource": "string",
                        "container_name": "string",
                        "divisor": "string",
                    },
                    "secret_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                },
            }],
            "extra_init_containers": [{
                "name": "string",
                "readiness_probe": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "failure_threshold": 0,
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "success_threshold": 0,
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                    "termination_grace_period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "image_pull_policy": "string",
                "resources": {
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
                "startup_probe": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "failure_threshold": 0,
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "success_threshold": 0,
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                    "termination_grace_period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "security_context": {
                    "allow_privilege_escalation": False,
                    "capabilities": {
                        "add": ["string"],
                        "drop": ["string"],
                    },
                    "privileged": False,
                    "proc_mount": "string",
                    "read_only_root_filesystem": False,
                    "run_as_group": 0,
                    "run_as_non_root": False,
                    "run_as_user": 0,
                    "se_linux_options": {
                        "level": "string",
                        "role": "string",
                        "type": "string",
                        "user": "string",
                    },
                    "seccomp_profile": {
                        "type": "string",
                        "localhost_profile": "string",
                    },
                    "windows_options": {
                        "gmsa_credential_spec": "string",
                        "gmsa_credential_spec_name": "string",
                        "host_process": False,
                        "run_as_user_name": "string",
                    },
                },
                "lifecycle": {
                    "post_start": {
                        "exec_": {
                            "command": ["string"],
                        },
                        "http_get": {
                            "port": 0,
                            "host": "string",
                            "http_headers": [{
                                "name": "string",
                                "value": "string",
                            }],
                            "path": "string",
                            "scheme": "string",
                        },
                        "tcp_socket": {
                            "port": 0,
                            "host": "string",
                        },
                    },
                    "pre_stop": {
                        "exec_": {
                            "command": ["string"],
                        },
                        "http_get": {
                            "port": 0,
                            "host": "string",
                            "http_headers": [{
                                "name": "string",
                                "value": "string",
                            }],
                            "path": "string",
                            "scheme": "string",
                        },
                        "tcp_socket": {
                            "port": 0,
                            "host": "string",
                        },
                    },
                },
                "liveness_probe": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "failure_threshold": 0,
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "initial_delay_seconds": 0,
                    "period_seconds": 0,
                    "success_threshold": 0,
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                    "termination_grace_period_seconds": 0,
                    "timeout_seconds": 0,
                },
                "command": ["string"],
                "ports": [{
                    "container_port": 0,
                    "host_ip": "string",
                    "host_port": 0,
                    "name": "string",
                    "protocol": "string",
                }],
                "args": ["string"],
                "env_from": [{
                    "config_map_ref": {
                        "name": "string",
                        "optional": False,
                    },
                    "prefix": "string",
                    "secret_ref": {
                        "name": "string",
                        "optional": False,
                    },
                }],
                "env": [{
                    "name": "string",
                    "value": "string",
                    "value_from": {
                        "config_map_key_ref": {
                            "key": "string",
                            "name": "string",
                            "optional": False,
                        },
                        "field_ref": {
                            "field_path": "string",
                            "api_version": "string",
                        },
                        "resource_field_ref": {
                            "resource": "string",
                            "container_name": "string",
                            "divisor": "string",
                        },
                        "secret_key_ref": {
                            "key": "string",
                            "name": "string",
                            "optional": False,
                        },
                    },
                }],
                "image": "string",
                "stdin": False,
                "stdin_once": False,
                "termination_message_path": "string",
                "termination_message_policy": "string",
                "tty": False,
                "volume_devices": [{
                    "device_path": "string",
                    "name": "string",
                }],
                "volume_mounts": [{
                    "mount_path": "string",
                    "name": "string",
                    "mount_propagation": "string",
                    "read_only": False,
                    "sub_path": "string",
                    "sub_path_expr": "string",
                }],
                "working_dir": "string",
            }],
            "extra_volume_mounts": [{
                "mount_path": "string",
                "name": "string",
                "mount_propagation": "string",
                "read_only": False,
                "sub_path": "string",
                "sub_path_expr": "string",
            }],
            "extra_volumes": [{
                "name": "string",
                "git_repo": {
                    "repository": "string",
                    "directory": "string",
                    "revision": "string",
                },
                "config_map": {
                    "default_mode": 0,
                    "items": [{
                        "key": "string",
                        "path": "string",
                        "mode": 0,
                    }],
                    "name": "string",
                    "optional": False,
                },
                "glusterfs": {
                    "endpoints": "string",
                    "path": "string",
                    "read_only": False,
                },
                "cinder": {
                    "volume_id": "string",
                    "fs_type": "string",
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                },
                "host_path": {
                    "path": "string",
                    "type": "string",
                },
                "csi": {
                    "driver": "string",
                    "fs_type": "string",
                    "node_publish_secret_ref": {
                        "name": "string",
                    },
                    "read_only": False,
                    "volume_attributes": {
                        "string": "string",
                    },
                },
                "downward_api": {
                    "default_mode": 0,
                    "items": [{
                        "path": "string",
                        "field_ref": {
                            "field_path": "string",
                            "api_version": "string",
                        },
                        "mode": 0,
                        "resource_field_ref": {
                            "resource": "string",
                            "container_name": "string",
                            "divisor": "string",
                        },
                    }],
                },
                "empty_dir": {
                    "medium": "string",
                    "size_limit": "string",
                },
                "ephemeral": {
                    "read_only": False,
                    "volume_claim_template": {
                        "spec": {
                            "access_modes": ["string"],
                            "data_source": {
                                "kind": "string",
                                "name": "string",
                                "api_group": "string",
                            },
                            "data_source_ref": {
                                "kind": "string",
                                "name": "string",
                                "api_group": "string",
                            },
                            "resources": {
                                "limits": {
                                    "string": "string",
                                },
                                "requests": {
                                    "string": "string",
                                },
                            },
                            "selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "storage_class_name": "string",
                            "volume_mode": "string",
                            "volume_name": "string",
                        },
                        "metadata": {
                            "annotations": {
                                "string": "string",
                            },
                            "cluster_name": "string",
                            "creation_timestamp": "string",
                            "deletion_grace_period_seconds": 0,
                            "deletion_timestamp": "string",
                            "finalizers": ["string"],
                            "generate_name": "string",
                            "generation": 0,
                            "labels": {
                                "string": "string",
                            },
                            "managed_fields": [{
                                "api_version": "string",
                                "fields_type": "string",
                                "fields_v1": "{}",
                                "manager": "string",
                                "operation": "string",
                                "subresource": "string",
                                "time": "string",
                            }],
                            "name": "string",
                            "namespace": "string",
                            "owner_references": [{
                                "api_version": "string",
                                "kind": "string",
                                "name": "string",
                                "uid": "string",
                                "block_owner_deletion": False,
                                "controller": False,
                            }],
                            "resource_version": "string",
                            "self_link": "string",
                            "uid": "string",
                        },
                    },
                },
                "fc": {
                    "fs_type": "string",
                    "lun": 0,
                    "read_only": False,
                    "target_wwns": ["string"],
                    "wwids": ["string"],
                },
                "flex_volume": {
                    "driver": "string",
                    "fs_type": "string",
                    "options": {
                        "string": "string",
                    },
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                },
                "iscsi": {
                    "iqn": "string",
                    "lun": 0,
                    "target_portal": "string",
                    "chap_auth_discovery": False,
                    "chap_auth_session": False,
                    "fs_type": "string",
                    "initiator_name": "string",
                    "iscsi_interface": "string",
                    "portals": ["string"],
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                },
                "gce_persistent_disk": {
                    "pd_name": "string",
                    "fs_type": "string",
                    "partition": 0,
                    "read_only": False,
                },
                "aws_elastic_block_store": {
                    "volume_id": "string",
                    "fs_type": "string",
                    "partition": 0,
                    "read_only": False,
                },
                "cephfs": {
                    "monitors": ["string"],
                    "path": "string",
                    "read_only": False,
                    "secret_file": "string",
                    "secret_ref": {
                        "name": "string",
                    },
                    "user": "string",
                },
                "azure_file": {
                    "secret_name": "string",
                    "share_name": "string",
                    "read_only": False,
                },
                "flocker": {
                    "dataset_name": "string",
                    "dataset_uuid": "string",
                },
                "azure_disk": {
                    "disk_name": "string",
                    "disk_uri": "string",
                    "caching_mode": "string",
                    "fs_type": "string",
                    "kind": "string",
                    "read_only": False,
                },
                "nfs": {
                    "path": "string",
                    "server": "string",
                    "read_only": False,
                },
                "persistent_volume_claim": {
                    "claim_name": "string",
                    "read_only": False,
                },
                "photon_persistent_disk": {
                    "pd_id": "string",
                    "fs_type": "string",
                },
                "portworx_volume": {
                    "volume_id": "string",
                    "fs_type": "string",
                    "read_only": False,
                },
                "projected": {
                    "sources": [{
                        "config_map": {
                            "items": [{
                                "key": "string",
                                "path": "string",
                                "mode": 0,
                            }],
                            "name": "string",
                            "optional": False,
                        },
                        "downward_api": {
                            "items": [{
                                "path": "string",
                                "field_ref": {
                                    "field_path": "string",
                                    "api_version": "string",
                                },
                                "mode": 0,
                                "resource_field_ref": {
                                    "resource": "string",
                                    "container_name": "string",
                                    "divisor": "string",
                                },
                            }],
                        },
                        "secret": {
                            "items": [{
                                "key": "string",
                                "path": "string",
                                "mode": 0,
                            }],
                            "name": "string",
                            "optional": False,
                        },
                        "service_account_token": {
                            "path": "string",
                            "audience": "string",
                            "expiration_seconds": 0,
                        },
                    }],
                    "default_mode": 0,
                },
                "quobyte": {
                    "registry": "string",
                    "volume": "string",
                    "group": "string",
                    "read_only": False,
                    "tenant": "string",
                    "user": "string",
                },
                "rbd": {
                    "image": "string",
                    "monitors": ["string"],
                    "fs_type": "string",
                    "keyring": "string",
                    "pool": "string",
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                    "user": "string",
                },
                "scale_io": {
                    "gateway": "string",
                    "secret_ref": {
                        "name": "string",
                    },
                    "system": "string",
                    "fs_type": "string",
                    "protection_domain": "string",
                    "read_only": False,
                    "ssl_enabled": False,
                    "storage_mode": "string",
                    "storage_pool": "string",
                    "volume_name": "string",
                },
                "secret": {
                    "default_mode": 0,
                    "items": [{
                        "key": "string",
                        "path": "string",
                        "mode": 0,
                    }],
                    "optional": False,
                    "secret_name": "string",
                },
                "storageos": {
                    "fs_type": "string",
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                    "volume_name": "string",
                    "volume_namespace": "string",
                },
                "vsphere_volume": {
                    "volume_path": "string",
                    "fs_type": "string",
                    "storage_policy_id": "string",
                    "storage_policy_name": "string",
                },
            }],
            "health_check_path": "string",
            "heath_check_host": "string",
            "host_network": False,
            "host_port": {
                "enabled": False,
                "ports": {
                    "http": 0,
                    "https": 0,
                },
            },
            "hostname": {
                "string": {
                    "string": "string",
                },
            },
            "image": {
                "allow_privilege_escalation": False,
                "digest": "string",
                "image": "string",
                "pull_policy": "string",
                "read_only_root_filesystem": False,
                "registry": "string",
                "repository": "string",
                "run_as_non_root": False,
                "run_as_user": "string",
                "tag": "string",
            },
            "ingress_class_by_name": False,
            "ingress_class_resource": {
                "controller_value": "string",
                "default": False,
                "enabled": False,
                "name": "string",
                "parameters": {
                    "string": {
                        "string": "string",
                    },
                },
            },
            "keda": {
                "api_version": "string",
                "behavior": {
                    "scale_down": {
                        "policies": [{
                            "period_seconds": 0,
                            "type": "string",
                            "value": 0,
                        }],
                        "stabilization_window_seconds": 0,
                    },
                    "scale_up": {
                        "policies": [{
                            "period_seconds": 0,
                            "type": "string",
                            "value": 0,
                        }],
                        "stabilization_window_seconds": 0,
                    },
                },
                "cooldown_period": 0,
                "enabled": False,
                "max_replicas": 0,
                "min_replicas": 0,
                "polling_interval": 0,
                "restore_to_original_replica_count": False,
                "scaled_object": {
                    "annotations": {
                        "string": "string",
                    },
                },
                "triggers": [{
                    "metadata": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "type": "string",
                }],
            },
            "kind": "string",
            "lifecycle": {
                "post_start": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                },
                "pre_stop": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                },
            },
            "liveness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "http_get": {
                    "port": 0,
                    "host": "string",
                    "http_headers": [{
                        "name": "string",
                        "value": "string",
                    }],
                    "path": "string",
                    "scheme": "string",
                },
                "initial_delay_seconds": 0,
                "period_seconds": 0,
                "success_threshold": 0,
                "tcp_socket": {
                    "port": 0,
                    "host": "string",
                },
                "termination_grace_period_seconds": 0,
                "timeout_seconds": 0,
            },
            "maxmind_license_key": "string",
            "metrics": {
                "enabled": False,
                "port": 0,
                "prometheus_rule": {
                    "additional_labels": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "enabled": False,
                    "namespace": "string",
                    "rules": [{
                        "string": "string",
                    }],
                },
                "service": {
                    "annotations": {
                        "string": "string",
                    },
                    "cluster_ip": "string",
                    "external_ips": ["string"],
                    "external_traffic_policy": "string",
                    "load_balancer_ips": "string",
                    "load_balancer_source_ranges": ["string"],
                    "node_port": "string",
                    "service_port": 0,
                    "type": "string",
                },
                "service_monitor": {
                    "additional_labels": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "enabled": False,
                    "honor_labels": False,
                    "job_label": "string",
                    "metric_relabelings": ["string"],
                    "namespace": "string",
                    "namespace_selector": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "scrape_interval": "string",
                    "target_labels": ["string"],
                },
            },
            "min_available": 0,
            "min_ready_seconds": 0,
            "name": "string",
            "node_selector": {
                "string": "string",
            },
            "pod_annotations": {
                "string": "string",
            },
            "pod_labels": {
                "string": {
                    "string": "string",
                },
            },
            "pod_security_context": {
                "fs_group": 0,
                "fs_group_change_policy": "string",
                "run_as_group": 0,
                "run_as_non_root": False,
                "run_as_user": 0,
                "se_linux_options": {
                    "level": "string",
                    "role": "string",
                    "type": "string",
                    "user": "string",
                },
                "seccomp_profile": {
                    "type": "string",
                    "localhost_profile": "string",
                },
                "supplemental_groups": [0],
                "sysctls": [{
                    "name": "string",
                    "value": "string",
                }],
                "windows_options": {
                    "gmsa_credential_spec": "string",
                    "gmsa_credential_spec_name": "string",
                    "host_process": False,
                    "run_as_user_name": "string",
                },
            },
            "priority_class_name": "string",
            "proxy_set_headers": {
                "string": {
                    "string": "string",
                },
            },
            "publish_service": {
                "enabled": False,
                "path_override": "string",
            },
            "readiness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "http_get": {
                    "port": 0,
                    "host": "string",
                    "http_headers": [{
                        "name": "string",
                        "value": "string",
                    }],
                    "path": "string",
                    "scheme": "string",
                },
                "initial_delay_seconds": 0,
                "period_seconds": 0,
                "success_threshold": 0,
                "tcp_socket": {
                    "port": 0,
                    "host": "string",
                },
                "termination_grace_period_seconds": 0,
                "timeout_seconds": 0,
            },
            "replica_count": 0,
            "report_node_internal_ip": False,
            "resources": {
                "limits": {
                    "string": "string",
                },
                "requests": {
                    "string": "string",
                },
            },
            "scope": {
                "enabled": False,
                "namespace": "string",
            },
            "service": {
                "annotations": {
                    "string": {
                        "string": "string",
                    },
                },
                "cluster_ip": "string",
                "enable_http": False,
                "enable_https": False,
                "enabled": False,
                "external_ips": ["string"],
                "external_traffic_policy": "string",
                "health_check_node_port": 0,
                "internal": {
                    "annotations": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "enabled": False,
                    "external_traffic_policy": "string",
                    "labels": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "load_balancer_ips": "string",
                    "load_balancer_source_ranges": ["string"],
                },
                "labels": {
                    "string": {
                        "string": "string",
                    },
                },
                "load_balancer_ips": "string",
                "load_balancer_source_ranges": ["string"],
                "node_ports": {
                    "http": "string",
                    "https": "string",
                    "tcp": {
                        "string": {
                            "string": "string",
                        },
                    },
                    "udp": {
                        "string": {
                            "string": "string",
                        },
                    },
                },
                "ports": {
                    "http": 0,
                    "https": 0,
                },
                "session_affinity": "string",
                "target_ports": {
                    "http": 0,
                    "https": 0,
                },
                "type": "string",
            },
            "startup_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "http_get": {
                    "port": 0,
                    "host": "string",
                    "http_headers": [{
                        "name": "string",
                        "value": "string",
                    }],
                    "path": "string",
                    "scheme": "string",
                },
                "initial_delay_seconds": 0,
                "period_seconds": 0,
                "success_threshold": 0,
                "tcp_socket": {
                    "port": 0,
                    "host": "string",
                },
                "termination_grace_period_seconds": 0,
                "timeout_seconds": 0,
            },
            "sysctls": {
                "string": {
                    "string": "string",
                },
            },
            "tcp": {
                "annotations": {
                    "string": "string",
                },
                "config_map_namespace": "string",
            },
            "terminate_grace_period_seconds": 0,
            "tolerations": {
                "effect": "string",
                "key": "string",
                "operator": "string",
                "toleration_seconds": 0,
                "value": "string",
            },
            "topology_spread_constraints": [{
                "max_skew": 0,
                "topology_key": "string",
                "when_unsatisfiable": "string",
                "label_selector": {
                    "match_expressions": [{
                        "key": "string",
                        "operator": "string",
                        "values": ["string"],
                    }],
                    "match_labels": {
                        "string": "string",
                    },
                },
            }],
            "udp": {
                "annotations": {
                    "string": "string",
                },
                "config_map_namespace": "string",
            },
            "update_strategy": {
                "rolling_update": {
                    "max_unavailable": 0,
                },
                "type": "string",
            },
            "watch_ingress_without_class": False,
        },
        default_backend={
            "affinity": {
                "node_affinity": {
                    "preferred_during_scheduling_ignored_during_execution": [{
                        "preference": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_fields": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                        },
                        "weight": 0,
                    }],
                    "required_during_scheduling_ignored_during_execution": {
                        "node_selector_terms": [{
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_fields": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                        }],
                    },
                },
                "pod_affinity": {
                    "preferred_during_scheduling_ignored_during_execution": [{
                        "pod_affinity_term": {
                            "topology_key": "string",
                            "label_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespace_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespaces": ["string"],
                        },
                        "weight": 0,
                    }],
                    "required_during_scheduling_ignored_during_execution": [{
                        "topology_key": "string",
                        "label_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespace_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespaces": ["string"],
                    }],
                },
                "pod_anti_affinity": {
                    "preferred_during_scheduling_ignored_during_execution": [{
                        "pod_affinity_term": {
                            "topology_key": "string",
                            "label_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespace_selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "namespaces": ["string"],
                        },
                        "weight": 0,
                    }],
                    "required_during_scheduling_ignored_during_execution": [{
                        "topology_key": "string",
                        "label_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespace_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "namespaces": ["string"],
                    }],
                },
            },
            "autoscaling": {
                "annotations": {
                    "string": "string",
                },
                "controller_autoscaling_behavior": {
                    "scale_down": {
                        "policies": [{
                            "period_seconds": 0,
                            "type": "string",
                            "value": 0,
                        }],
                        "stabilization_window_seconds": 0,
                    },
                    "scale_up": {
                        "policies": [{
                            "period_seconds": 0,
                            "type": "string",
                            "value": 0,
                        }],
                        "stabilization_window_seconds": 0,
                    },
                },
                "enabled": False,
                "max_replicas": 0,
                "min_replicas": 0,
                "target_cpu_utilization_percentage": 0,
                "target_memory_utilization_percentage": 0,
            },
            "enabled": False,
            "existing_psp": "string",
            "extra_args": {
                "string": {
                    "string": "string",
                },
            },
            "extra_envs": [{
                "name": "string",
                "value": "string",
                "value_from": {
                    "config_map_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                    "field_ref": {
                        "field_path": "string",
                        "api_version": "string",
                    },
                    "resource_field_ref": {
                        "resource": "string",
                        "container_name": "string",
                        "divisor": "string",
                    },
                    "secret_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                },
            }],
            "extra_volume_mounts": [{
                "mount_path": "string",
                "name": "string",
                "mount_propagation": "string",
                "read_only": False,
                "sub_path": "string",
                "sub_path_expr": "string",
            }],
            "extra_volumes": [{
                "name": "string",
                "git_repo": {
                    "repository": "string",
                    "directory": "string",
                    "revision": "string",
                },
                "config_map": {
                    "default_mode": 0,
                    "items": [{
                        "key": "string",
                        "path": "string",
                        "mode": 0,
                    }],
                    "name": "string",
                    "optional": False,
                },
                "glusterfs": {
                    "endpoints": "string",
                    "path": "string",
                    "read_only": False,
                },
                "cinder": {
                    "volume_id": "string",
                    "fs_type": "string",
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                },
                "host_path": {
                    "path": "string",
                    "type": "string",
                },
                "csi": {
                    "driver": "string",
                    "fs_type": "string",
                    "node_publish_secret_ref": {
                        "name": "string",
                    },
                    "read_only": False,
                    "volume_attributes": {
                        "string": "string",
                    },
                },
                "downward_api": {
                    "default_mode": 0,
                    "items": [{
                        "path": "string",
                        "field_ref": {
                            "field_path": "string",
                            "api_version": "string",
                        },
                        "mode": 0,
                        "resource_field_ref": {
                            "resource": "string",
                            "container_name": "string",
                            "divisor": "string",
                        },
                    }],
                },
                "empty_dir": {
                    "medium": "string",
                    "size_limit": "string",
                },
                "ephemeral": {
                    "read_only": False,
                    "volume_claim_template": {
                        "spec": {
                            "access_modes": ["string"],
                            "data_source": {
                                "kind": "string",
                                "name": "string",
                                "api_group": "string",
                            },
                            "data_source_ref": {
                                "kind": "string",
                                "name": "string",
                                "api_group": "string",
                            },
                            "resources": {
                                "limits": {
                                    "string": "string",
                                },
                                "requests": {
                                    "string": "string",
                                },
                            },
                            "selector": {
                                "match_expressions": [{
                                    "key": "string",
                                    "operator": "string",
                                    "values": ["string"],
                                }],
                                "match_labels": {
                                    "string": "string",
                                },
                            },
                            "storage_class_name": "string",
                            "volume_mode": "string",
                            "volume_name": "string",
                        },
                        "metadata": {
                            "annotations": {
                                "string": "string",
                            },
                            "cluster_name": "string",
                            "creation_timestamp": "string",
                            "deletion_grace_period_seconds": 0,
                            "deletion_timestamp": "string",
                            "finalizers": ["string"],
                            "generate_name": "string",
                            "generation": 0,
                            "labels": {
                                "string": "string",
                            },
                            "managed_fields": [{
                                "api_version": "string",
                                "fields_type": "string",
                                "fields_v1": "{}",
                                "manager": "string",
                                "operation": "string",
                                "subresource": "string",
                                "time": "string",
                            }],
                            "name": "string",
                            "namespace": "string",
                            "owner_references": [{
                                "api_version": "string",
                                "kind": "string",
                                "name": "string",
                                "uid": "string",
                                "block_owner_deletion": False,
                                "controller": False,
                            }],
                            "resource_version": "string",
                            "self_link": "string",
                            "uid": "string",
                        },
                    },
                },
                "fc": {
                    "fs_type": "string",
                    "lun": 0,
                    "read_only": False,
                    "target_wwns": ["string"],
                    "wwids": ["string"],
                },
                "flex_volume": {
                    "driver": "string",
                    "fs_type": "string",
                    "options": {
                        "string": "string",
                    },
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                },
                "iscsi": {
                    "iqn": "string",
                    "lun": 0,
                    "target_portal": "string",
                    "chap_auth_discovery": False,
                    "chap_auth_session": False,
                    "fs_type": "string",
                    "initiator_name": "string",
                    "iscsi_interface": "string",
                    "portals": ["string"],
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                },
                "gce_persistent_disk": {
                    "pd_name": "string",
                    "fs_type": "string",
                    "partition": 0,
                    "read_only": False,
                },
                "aws_elastic_block_store": {
                    "volume_id": "string",
                    "fs_type": "string",
                    "partition": 0,
                    "read_only": False,
                },
                "cephfs": {
                    "monitors": ["string"],
                    "path": "string",
                    "read_only": False,
                    "secret_file": "string",
                    "secret_ref": {
                        "name": "string",
                    },
                    "user": "string",
                },
                "azure_file": {
                    "secret_name": "string",
                    "share_name": "string",
                    "read_only": False,
                },
                "flocker": {
                    "dataset_name": "string",
                    "dataset_uuid": "string",
                },
                "azure_disk": {
                    "disk_name": "string",
                    "disk_uri": "string",
                    "caching_mode": "string",
                    "fs_type": "string",
                    "kind": "string",
                    "read_only": False,
                },
                "nfs": {
                    "path": "string",
                    "server": "string",
                    "read_only": False,
                },
                "persistent_volume_claim": {
                    "claim_name": "string",
                    "read_only": False,
                },
                "photon_persistent_disk": {
                    "pd_id": "string",
                    "fs_type": "string",
                },
                "portworx_volume": {
                    "volume_id": "string",
                    "fs_type": "string",
                    "read_only": False,
                },
                "projected": {
                    "sources": [{
                        "config_map": {
                            "items": [{
                                "key": "string",
                                "path": "string",
                                "mode": 0,
                            }],
                            "name": "string",
                            "optional": False,
                        },
                        "downward_api": {
                            "items": [{
                                "path": "string",
                                "field_ref": {
                                    "field_path": "string",
                                    "api_version": "string",
                                },
                                "mode": 0,
                                "resource_field_ref": {
                                    "resource": "string",
                                    "container_name": "string",
                                    "divisor": "string",
                                },
                            }],
                        },
                        "secret": {
                            "items": [{
                                "key": "string",
                                "path": "string",
                                "mode": 0,
                            }],
                            "name": "string",
                            "optional": False,
                        },
                        "service_account_token": {
                            "path": "string",
                            "audience": "string",
                            "expiration_seconds": 0,
                        },
                    }],
                    "default_mode": 0,
                },
                "quobyte": {
                    "registry": "string",
                    "volume": "string",
                    "group": "string",
                    "read_only": False,
                    "tenant": "string",
                    "user": "string",
                },
                "rbd": {
                    "image": "string",
                    "monitors": ["string"],
                    "fs_type": "string",
                    "keyring": "string",
                    "pool": "string",
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                    "user": "string",
                },
                "scale_io": {
                    "gateway": "string",
                    "secret_ref": {
                        "name": "string",
                    },
                    "system": "string",
                    "fs_type": "string",
                    "protection_domain": "string",
                    "read_only": False,
                    "ssl_enabled": False,
                    "storage_mode": "string",
                    "storage_pool": "string",
                    "volume_name": "string",
                },
                "secret": {
                    "default_mode": 0,
                    "items": [{
                        "key": "string",
                        "path": "string",
                        "mode": 0,
                    }],
                    "optional": False,
                    "secret_name": "string",
                },
                "storageos": {
                    "fs_type": "string",
                    "read_only": False,
                    "secret_ref": {
                        "name": "string",
                    },
                    "volume_name": "string",
                    "volume_namespace": "string",
                },
                "vsphere_volume": {
                    "volume_path": "string",
                    "fs_type": "string",
                    "storage_policy_id": "string",
                    "storage_policy_name": "string",
                },
            }],
            "image": {
                "allow_privilege_escalation": False,
                "digest": "string",
                "image": "string",
                "pull_policy": "string",
                "read_only_root_filesystem": False,
                "registry": "string",
                "repository": "string",
                "run_as_non_root": False,
                "run_as_user": "string",
                "tag": "string",
            },
            "liveness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "http_get": {
                    "port": 0,
                    "host": "string",
                    "http_headers": [{
                        "name": "string",
                        "value": "string",
                    }],
                    "path": "string",
                    "scheme": "string",
                },
                "initial_delay_seconds": 0,
                "period_seconds": 0,
                "success_threshold": 0,
                "tcp_socket": {
                    "port": 0,
                    "host": "string",
                },
                "termination_grace_period_seconds": 0,
                "timeout_seconds": 0,
            },
            "min_available": 0,
            "name": "string",
            "node_selector": {
                "string": "string",
            },
            "pod_annotations": {
                "string": "string",
            },
            "pod_labels": {
                "string": "string",
            },
            "pod_security_context": {
                "fs_group": 0,
                "fs_group_change_policy": "string",
                "run_as_group": 0,
                "run_as_non_root": False,
                "run_as_user": 0,
                "se_linux_options": {
                    "level": "string",
                    "role": "string",
                    "type": "string",
                    "user": "string",
                },
                "seccomp_profile": {
                    "type": "string",
                    "localhost_profile": "string",
                },
                "supplemental_groups": [0],
                "sysctls": [{
                    "name": "string",
                    "value": "string",
                }],
                "windows_options": {
                    "gmsa_credential_spec": "string",
                    "gmsa_credential_spec_name": "string",
                    "host_process": False,
                    "run_as_user_name": "string",
                },
            },
            "port": 0,
            "priority_class_name": "string",
            "readiness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "http_get": {
                    "port": 0,
                    "host": "string",
                    "http_headers": [{
                        "name": "string",
                        "value": "string",
                    }],
                    "path": "string",
                    "scheme": "string",
                },
                "initial_delay_seconds": 0,
                "period_seconds": 0,
                "success_threshold": 0,
                "tcp_socket": {
                    "port": 0,
                    "host": "string",
                },
                "termination_grace_period_seconds": 0,
                "timeout_seconds": 0,
            },
            "replica_count": 0,
            "resources": {
                "limits": {
                    "string": "string",
                },
                "requests": {
                    "string": "string",
                },
            },
            "service": {
                "annotations": {
                    "string": "string",
                },
                "cluster_ip": "string",
                "external_ips": ["string"],
                "load_balancer_ip": "string",
                "load_balancer_source_ranges": ["string"],
                "service_port": 0,
                "type": "string",
            },
            "service_account": {
                "automount_service_account_token": False,
                "create": False,
                "name": "string",
            },
            "tolerations": [{
                "effect": "string",
                "key": "string",
                "operator": "string",
                "toleration_seconds": 0,
                "value": "string",
            }],
        },
        dh_param="string",
        fullname_override="string",
        helm_options={
            "atomic": False,
            "chart": "string",
            "cleanup_on_fail": False,
            "create_namespace": False,
            "dependency_update": False,
            "description": "string",
            "devel": False,
            "disable_crd_hooks": False,
            "disable_openapi_validation": False,
            "disable_webhooks": False,
            "force_update": False,
            "keyring": "string",
            "lint": False,
            "manifest": {
                "string": "any",
            },
            "max_history": 0,
            "name": "string",
            "namespace": "string",
            "postrender": "string",
            "recreate_pods": False,
            "render_subchart_notes": False,
            "replace": False,
            "repository_opts": {
                "ca_file": "string",
                "cert_file": "string",
                "key_file": "string",
                "password": "string",
                "repo": "string",
                "username": "string",
            },
            "reset_values": False,
            "resource_names": {
                "string": ["string"],
            },
            "reuse_values": False,
            "skip_await": False,
            "skip_crds": False,
            "timeout": 0,
            "value_yaml_files": [pulumi.StringAsset("content")],
            "values": {
                "string": "any",
            },
            "verify": False,
            "version": "string",
            "wait_for_jobs": False,
        },
        image_pull_secrets=[{
            "name": "string",
        }],
        name_override="string",
        pod_security_policy={
            "enabled": False,
        },
        rbac={
            "create": False,
            "scope": False,
        },
        revision_history_limit=0,
        service_account={
            "automount_service_account_token": False,
            "create": False,
            "name": "string",
        },
        tcp={
            "string": {
                "string": "string",
            },
        },
        udp={
            "string": {
                "string": "string",
            },
        })
    
    const ingressControllerResource = new kubernetes_ingress_nginx.IngressController("ingressControllerResource", {
        controller: {
            addHeaders: {
                string: {
                    string: "string",
                },
            },
            admissionWebhooks: {
                annotations: {
                    string: {
                        string: "string",
                    },
                },
                certificate: "string",
                createSecretJob: {
                    resources: {
                        limits: {
                            string: "string",
                        },
                        requests: {
                            string: "string",
                        },
                    },
                },
                enabled: false,
                existingPsp: "string",
                failurePolicy: "string",
                key: "string",
                namespaceSelector: {
                    string: {
                        string: "string",
                    },
                },
                objectSelector: {
                    string: {
                        string: "string",
                    },
                },
                patch: {
                    enabled: false,
                    image: {
                        allowPrivilegeEscalation: false,
                        digest: "string",
                        image: "string",
                        pullPolicy: "string",
                        readOnlyRootFilesystem: false,
                        registry: "string",
                        repository: "string",
                        runAsNonRoot: false,
                        runAsUser: "string",
                        tag: "string",
                    },
                    nodeSelector: {
                        string: "string",
                    },
                    podAnnotations: {
                        string: {
                            string: "string",
                        },
                    },
                    priorityClassName: "string",
                    runAsUser: 0,
                    tolerations: [{
                        effect: "string",
                        key: "string",
                        operator: "string",
                        tolerationSeconds: 0,
                        value: "string",
                    }],
                },
                patchWebhookJob: {
                    resources: {
                        limits: {
                            string: "string",
                        },
                        requests: {
                            string: "string",
                        },
                    },
                },
                port: 0,
                service: {
                    annotations: {
                        string: {
                            string: "string",
                        },
                    },
                    clusterIP: "string",
                    externalIPs: ["string"],
                    loadBalancerIPs: "string",
                    loadBalancerSourceRanges: ["string"],
                    servicePort: 0,
                    type: "string",
                },
                timeoutSeconds: 0,
            },
            affinity: {
                nodeAffinity: {
                    preferredDuringSchedulingIgnoredDuringExecution: [{
                        preference: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchFields: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                        },
                        weight: 0,
                    }],
                    requiredDuringSchedulingIgnoredDuringExecution: {
                        nodeSelectorTerms: [{
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchFields: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                        }],
                    },
                },
                podAffinity: {
                    preferredDuringSchedulingIgnoredDuringExecution: [{
                        podAffinityTerm: {
                            topologyKey: "string",
                            labelSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaceSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaces: ["string"],
                        },
                        weight: 0,
                    }],
                    requiredDuringSchedulingIgnoredDuringExecution: [{
                        topologyKey: "string",
                        labelSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaceSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaces: ["string"],
                    }],
                },
                podAntiAffinity: {
                    preferredDuringSchedulingIgnoredDuringExecution: [{
                        podAffinityTerm: {
                            topologyKey: "string",
                            labelSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaceSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaces: ["string"],
                        },
                        weight: 0,
                    }],
                    requiredDuringSchedulingIgnoredDuringExecution: [{
                        topologyKey: "string",
                        labelSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaceSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaces: ["string"],
                    }],
                },
            },
            allowSnippetAnnotations: false,
            annotations: {
                string: "string",
            },
            autoscaling: {
                annotations: {
                    string: "string",
                },
                controllerAutoscalingBehavior: {
                    scaleDown: {
                        policies: [{
                            periodSeconds: 0,
                            type: "string",
                            value: 0,
                        }],
                        stabilizationWindowSeconds: 0,
                    },
                    scaleUp: {
                        policies: [{
                            periodSeconds: 0,
                            type: "string",
                            value: 0,
                        }],
                        stabilizationWindowSeconds: 0,
                    },
                },
                enabled: false,
                maxReplicas: 0,
                minReplicas: 0,
                targetCPUUtilizationPercentage: 0,
                targetMemoryUtilizationPercentage: 0,
            },
            autoscalingTemplate: [{
                pods: {
                    metric: {
                        name: "string",
                    },
                    target: {
                        averageValue: "string",
                        type: "string",
                    },
                },
                type: "string",
            }],
            config: {
                string: {
                    string: "string",
                },
            },
            configAnnotations: {
                string: {
                    string: "string",
                },
            },
            configMapNamespace: "string",
            containerName: "string",
            containerPort: {
                http: 0,
                https: 0,
            },
            customTemplate: {
                configMapKey: "string",
                configMapName: "string",
            },
            dnsConfig: {
                string: {
                    string: "string",
                },
            },
            dnsPolicy: "string",
            electionID: "string",
            enableMimalloc: false,
            existingPsp: "string",
            extraArgs: {
                string: {
                    string: "string",
                },
            },
            extraContainers: [{
                name: "string",
                readinessProbe: {
                    exec: {
                        command: ["string"],
                    },
                    failureThreshold: 0,
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    successThreshold: 0,
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                    terminationGracePeriodSeconds: 0,
                    timeoutSeconds: 0,
                },
                imagePullPolicy: "string",
                resources: {
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
                startupProbe: {
                    exec: {
                        command: ["string"],
                    },
                    failureThreshold: 0,
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    successThreshold: 0,
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                    terminationGracePeriodSeconds: 0,
                    timeoutSeconds: 0,
                },
                securityContext: {
                    allowPrivilegeEscalation: false,
                    capabilities: {
                        add: ["string"],
                        drop: ["string"],
                    },
                    privileged: false,
                    procMount: "string",
                    readOnlyRootFilesystem: false,
                    runAsGroup: 0,
                    runAsNonRoot: false,
                    runAsUser: 0,
                    seLinuxOptions: {
                        level: "string",
                        role: "string",
                        type: "string",
                        user: "string",
                    },
                    seccompProfile: {
                        type: "string",
                        localhostProfile: "string",
                    },
                    windowsOptions: {
                        gmsaCredentialSpec: "string",
                        gmsaCredentialSpecName: "string",
                        hostProcess: false,
                        runAsUserName: "string",
                    },
                },
                lifecycle: {
                    postStart: {
                        exec: {
                            command: ["string"],
                        },
                        httpGet: {
                            port: 0,
                            host: "string",
                            httpHeaders: [{
                                name: "string",
                                value: "string",
                            }],
                            path: "string",
                            scheme: "string",
                        },
                        tcpSocket: {
                            port: 0,
                            host: "string",
                        },
                    },
                    preStop: {
                        exec: {
                            command: ["string"],
                        },
                        httpGet: {
                            port: 0,
                            host: "string",
                            httpHeaders: [{
                                name: "string",
                                value: "string",
                            }],
                            path: "string",
                            scheme: "string",
                        },
                        tcpSocket: {
                            port: 0,
                            host: "string",
                        },
                    },
                },
                livenessProbe: {
                    exec: {
                        command: ["string"],
                    },
                    failureThreshold: 0,
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    successThreshold: 0,
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                    terminationGracePeriodSeconds: 0,
                    timeoutSeconds: 0,
                },
                command: ["string"],
                ports: [{
                    containerPort: 0,
                    hostIP: "string",
                    hostPort: 0,
                    name: "string",
                    protocol: "string",
                }],
                args: ["string"],
                envFrom: [{
                    configMapRef: {
                        name: "string",
                        optional: false,
                    },
                    prefix: "string",
                    secretRef: {
                        name: "string",
                        optional: false,
                    },
                }],
                env: [{
                    name: "string",
                    value: "string",
                    valueFrom: {
                        configMapKeyRef: {
                            key: "string",
                            name: "string",
                            optional: false,
                        },
                        fieldRef: {
                            fieldPath: "string",
                            apiVersion: "string",
                        },
                        resourceFieldRef: {
                            resource: "string",
                            containerName: "string",
                            divisor: "string",
                        },
                        secretKeyRef: {
                            key: "string",
                            name: "string",
                            optional: false,
                        },
                    },
                }],
                image: "string",
                stdin: false,
                stdinOnce: false,
                terminationMessagePath: "string",
                terminationMessagePolicy: "string",
                tty: false,
                volumeDevices: [{
                    devicePath: "string",
                    name: "string",
                }],
                volumeMounts: [{
                    mountPath: "string",
                    name: "string",
                    mountPropagation: "string",
                    readOnly: false,
                    subPath: "string",
                    subPathExpr: "string",
                }],
                workingDir: "string",
            }],
            extraEnvs: [{
                name: "string",
                value: "string",
                valueFrom: {
                    configMapKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                    fieldRef: {
                        fieldPath: "string",
                        apiVersion: "string",
                    },
                    resourceFieldRef: {
                        resource: "string",
                        containerName: "string",
                        divisor: "string",
                    },
                    secretKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                },
            }],
            extraInitContainers: [{
                name: "string",
                readinessProbe: {
                    exec: {
                        command: ["string"],
                    },
                    failureThreshold: 0,
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    successThreshold: 0,
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                    terminationGracePeriodSeconds: 0,
                    timeoutSeconds: 0,
                },
                imagePullPolicy: "string",
                resources: {
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
                startupProbe: {
                    exec: {
                        command: ["string"],
                    },
                    failureThreshold: 0,
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    successThreshold: 0,
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                    terminationGracePeriodSeconds: 0,
                    timeoutSeconds: 0,
                },
                securityContext: {
                    allowPrivilegeEscalation: false,
                    capabilities: {
                        add: ["string"],
                        drop: ["string"],
                    },
                    privileged: false,
                    procMount: "string",
                    readOnlyRootFilesystem: false,
                    runAsGroup: 0,
                    runAsNonRoot: false,
                    runAsUser: 0,
                    seLinuxOptions: {
                        level: "string",
                        role: "string",
                        type: "string",
                        user: "string",
                    },
                    seccompProfile: {
                        type: "string",
                        localhostProfile: "string",
                    },
                    windowsOptions: {
                        gmsaCredentialSpec: "string",
                        gmsaCredentialSpecName: "string",
                        hostProcess: false,
                        runAsUserName: "string",
                    },
                },
                lifecycle: {
                    postStart: {
                        exec: {
                            command: ["string"],
                        },
                        httpGet: {
                            port: 0,
                            host: "string",
                            httpHeaders: [{
                                name: "string",
                                value: "string",
                            }],
                            path: "string",
                            scheme: "string",
                        },
                        tcpSocket: {
                            port: 0,
                            host: "string",
                        },
                    },
                    preStop: {
                        exec: {
                            command: ["string"],
                        },
                        httpGet: {
                            port: 0,
                            host: "string",
                            httpHeaders: [{
                                name: "string",
                                value: "string",
                            }],
                            path: "string",
                            scheme: "string",
                        },
                        tcpSocket: {
                            port: 0,
                            host: "string",
                        },
                    },
                },
                livenessProbe: {
                    exec: {
                        command: ["string"],
                    },
                    failureThreshold: 0,
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    initialDelaySeconds: 0,
                    periodSeconds: 0,
                    successThreshold: 0,
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                    terminationGracePeriodSeconds: 0,
                    timeoutSeconds: 0,
                },
                command: ["string"],
                ports: [{
                    containerPort: 0,
                    hostIP: "string",
                    hostPort: 0,
                    name: "string",
                    protocol: "string",
                }],
                args: ["string"],
                envFrom: [{
                    configMapRef: {
                        name: "string",
                        optional: false,
                    },
                    prefix: "string",
                    secretRef: {
                        name: "string",
                        optional: false,
                    },
                }],
                env: [{
                    name: "string",
                    value: "string",
                    valueFrom: {
                        configMapKeyRef: {
                            key: "string",
                            name: "string",
                            optional: false,
                        },
                        fieldRef: {
                            fieldPath: "string",
                            apiVersion: "string",
                        },
                        resourceFieldRef: {
                            resource: "string",
                            containerName: "string",
                            divisor: "string",
                        },
                        secretKeyRef: {
                            key: "string",
                            name: "string",
                            optional: false,
                        },
                    },
                }],
                image: "string",
                stdin: false,
                stdinOnce: false,
                terminationMessagePath: "string",
                terminationMessagePolicy: "string",
                tty: false,
                volumeDevices: [{
                    devicePath: "string",
                    name: "string",
                }],
                volumeMounts: [{
                    mountPath: "string",
                    name: "string",
                    mountPropagation: "string",
                    readOnly: false,
                    subPath: "string",
                    subPathExpr: "string",
                }],
                workingDir: "string",
            }],
            extraVolumeMounts: [{
                mountPath: "string",
                name: "string",
                mountPropagation: "string",
                readOnly: false,
                subPath: "string",
                subPathExpr: "string",
            }],
            extraVolumes: [{
                name: "string",
                gitRepo: {
                    repository: "string",
                    directory: "string",
                    revision: "string",
                },
                configMap: {
                    defaultMode: 0,
                    items: [{
                        key: "string",
                        path: "string",
                        mode: 0,
                    }],
                    name: "string",
                    optional: false,
                },
                glusterfs: {
                    endpoints: "string",
                    path: "string",
                    readOnly: false,
                },
                cinder: {
                    volumeID: "string",
                    fsType: "string",
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                },
                hostPath: {
                    path: "string",
                    type: "string",
                },
                csi: {
                    driver: "string",
                    fsType: "string",
                    nodePublishSecretRef: {
                        name: "string",
                    },
                    readOnly: false,
                    volumeAttributes: {
                        string: "string",
                    },
                },
                downwardAPI: {
                    defaultMode: 0,
                    items: [{
                        path: "string",
                        fieldRef: {
                            fieldPath: "string",
                            apiVersion: "string",
                        },
                        mode: 0,
                        resourceFieldRef: {
                            resource: "string",
                            containerName: "string",
                            divisor: "string",
                        },
                    }],
                },
                emptyDir: {
                    medium: "string",
                    sizeLimit: "string",
                },
                ephemeral: {
                    readOnly: false,
                    volumeClaimTemplate: {
                        spec: {
                            accessModes: ["string"],
                            dataSource: {
                                kind: "string",
                                name: "string",
                                apiGroup: "string",
                            },
                            dataSourceRef: {
                                kind: "string",
                                name: "string",
                                apiGroup: "string",
                            },
                            resources: {
                                limits: {
                                    string: "string",
                                },
                                requests: {
                                    string: "string",
                                },
                            },
                            selector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            storageClassName: "string",
                            volumeMode: "string",
                            volumeName: "string",
                        },
                        metadata: {
                            annotations: {
                                string: "string",
                            },
                            clusterName: "string",
                            creationTimestamp: "string",
                            deletionGracePeriodSeconds: 0,
                            deletionTimestamp: "string",
                            finalizers: ["string"],
                            generateName: "string",
                            generation: 0,
                            labels: {
                                string: "string",
                            },
                            managedFields: [{
                                apiVersion: "string",
                                fieldsType: "string",
                                fieldsV1: "{}",
                                manager: "string",
                                operation: "string",
                                subresource: "string",
                                time: "string",
                            }],
                            name: "string",
                            namespace: "string",
                            ownerReferences: [{
                                apiVersion: "string",
                                kind: "string",
                                name: "string",
                                uid: "string",
                                blockOwnerDeletion: false,
                                controller: false,
                            }],
                            resourceVersion: "string",
                            selfLink: "string",
                            uid: "string",
                        },
                    },
                },
                fc: {
                    fsType: "string",
                    lun: 0,
                    readOnly: false,
                    targetWWNs: ["string"],
                    wwids: ["string"],
                },
                flexVolume: {
                    driver: "string",
                    fsType: "string",
                    options: {
                        string: "string",
                    },
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                },
                iscsi: {
                    iqn: "string",
                    lun: 0,
                    targetPortal: "string",
                    chapAuthDiscovery: false,
                    chapAuthSession: false,
                    fsType: "string",
                    initiatorName: "string",
                    iscsiInterface: "string",
                    portals: ["string"],
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                },
                gcePersistentDisk: {
                    pdName: "string",
                    fsType: "string",
                    partition: 0,
                    readOnly: false,
                },
                awsElasticBlockStore: {
                    volumeID: "string",
                    fsType: "string",
                    partition: 0,
                    readOnly: false,
                },
                cephfs: {
                    monitors: ["string"],
                    path: "string",
                    readOnly: false,
                    secretFile: "string",
                    secretRef: {
                        name: "string",
                    },
                    user: "string",
                },
                azureFile: {
                    secretName: "string",
                    shareName: "string",
                    readOnly: false,
                },
                flocker: {
                    datasetName: "string",
                    datasetUUID: "string",
                },
                azureDisk: {
                    diskName: "string",
                    diskURI: "string",
                    cachingMode: "string",
                    fsType: "string",
                    kind: "string",
                    readOnly: false,
                },
                nfs: {
                    path: "string",
                    server: "string",
                    readOnly: false,
                },
                persistentVolumeClaim: {
                    claimName: "string",
                    readOnly: false,
                },
                photonPersistentDisk: {
                    pdID: "string",
                    fsType: "string",
                },
                portworxVolume: {
                    volumeID: "string",
                    fsType: "string",
                    readOnly: false,
                },
                projected: {
                    sources: [{
                        configMap: {
                            items: [{
                                key: "string",
                                path: "string",
                                mode: 0,
                            }],
                            name: "string",
                            optional: false,
                        },
                        downwardAPI: {
                            items: [{
                                path: "string",
                                fieldRef: {
                                    fieldPath: "string",
                                    apiVersion: "string",
                                },
                                mode: 0,
                                resourceFieldRef: {
                                    resource: "string",
                                    containerName: "string",
                                    divisor: "string",
                                },
                            }],
                        },
                        secret: {
                            items: [{
                                key: "string",
                                path: "string",
                                mode: 0,
                            }],
                            name: "string",
                            optional: false,
                        },
                        serviceAccountToken: {
                            path: "string",
                            audience: "string",
                            expirationSeconds: 0,
                        },
                    }],
                    defaultMode: 0,
                },
                quobyte: {
                    registry: "string",
                    volume: "string",
                    group: "string",
                    readOnly: false,
                    tenant: "string",
                    user: "string",
                },
                rbd: {
                    image: "string",
                    monitors: ["string"],
                    fsType: "string",
                    keyring: "string",
                    pool: "string",
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                    user: "string",
                },
                scaleIO: {
                    gateway: "string",
                    secretRef: {
                        name: "string",
                    },
                    system: "string",
                    fsType: "string",
                    protectionDomain: "string",
                    readOnly: false,
                    sslEnabled: false,
                    storageMode: "string",
                    storagePool: "string",
                    volumeName: "string",
                },
                secret: {
                    defaultMode: 0,
                    items: [{
                        key: "string",
                        path: "string",
                        mode: 0,
                    }],
                    optional: false,
                    secretName: "string",
                },
                storageos: {
                    fsType: "string",
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                    volumeName: "string",
                    volumeNamespace: "string",
                },
                vsphereVolume: {
                    volumePath: "string",
                    fsType: "string",
                    storagePolicyID: "string",
                    storagePolicyName: "string",
                },
            }],
            healthCheckPath: "string",
            heathCheckHost: "string",
            hostNetwork: false,
            hostPort: {
                enabled: false,
                ports: {
                    http: 0,
                    https: 0,
                },
            },
            hostname: {
                string: {
                    string: "string",
                },
            },
            image: {
                allowPrivilegeEscalation: false,
                digest: "string",
                image: "string",
                pullPolicy: "string",
                readOnlyRootFilesystem: false,
                registry: "string",
                repository: "string",
                runAsNonRoot: false,
                runAsUser: "string",
                tag: "string",
            },
            ingressClassByName: false,
            ingressClassResource: {
                controllerValue: "string",
                "default": false,
                enabled: false,
                name: "string",
                parameters: {
                    string: {
                        string: "string",
                    },
                },
            },
            keda: {
                apiVersion: "string",
                behavior: {
                    scaleDown: {
                        policies: [{
                            periodSeconds: 0,
                            type: "string",
                            value: 0,
                        }],
                        stabilizationWindowSeconds: 0,
                    },
                    scaleUp: {
                        policies: [{
                            periodSeconds: 0,
                            type: "string",
                            value: 0,
                        }],
                        stabilizationWindowSeconds: 0,
                    },
                },
                cooldownPeriod: 0,
                enabled: false,
                maxReplicas: 0,
                minReplicas: 0,
                pollingInterval: 0,
                restoreToOriginalReplicaCount: false,
                scaledObject: {
                    annotations: {
                        string: "string",
                    },
                },
                triggers: [{
                    metadata: {
                        string: {
                            string: "string",
                        },
                    },
                    type: "string",
                }],
            },
            kind: "string",
            lifecycle: {
                postStart: {
                    exec: {
                        command: ["string"],
                    },
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                },
                preStop: {
                    exec: {
                        command: ["string"],
                    },
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                },
            },
            livenessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                httpGet: {
                    port: 0,
                    host: "string",
                    httpHeaders: [{
                        name: "string",
                        value: "string",
                    }],
                    path: "string",
                    scheme: "string",
                },
                initialDelaySeconds: 0,
                periodSeconds: 0,
                successThreshold: 0,
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
                terminationGracePeriodSeconds: 0,
                timeoutSeconds: 0,
            },
            maxmindLicenseKey: "string",
            metrics: {
                enabled: false,
                port: 0,
                prometheusRule: {
                    additionalLabels: {
                        string: {
                            string: "string",
                        },
                    },
                    enabled: false,
                    namespace: "string",
                    rules: [{
                        string: "string",
                    }],
                },
                service: {
                    annotations: {
                        string: "string",
                    },
                    clusterIP: "string",
                    externalIPs: ["string"],
                    externalTrafficPolicy: "string",
                    loadBalancerIPs: "string",
                    loadBalancerSourceRanges: ["string"],
                    nodePort: "string",
                    servicePort: 0,
                    type: "string",
                },
                serviceMonitor: {
                    additionalLabels: {
                        string: {
                            string: "string",
                        },
                    },
                    enabled: false,
                    honorLabels: false,
                    jobLabel: "string",
                    metricRelabelings: ["string"],
                    namespace: "string",
                    namespaceSelector: {
                        string: {
                            string: "string",
                        },
                    },
                    scrapeInterval: "string",
                    targetLabels: ["string"],
                },
            },
            minAvailable: 0,
            minReadySeconds: 0,
            name: "string",
            nodeSelector: {
                string: "string",
            },
            podAnnotations: {
                string: "string",
            },
            podLabels: {
                string: {
                    string: "string",
                },
            },
            podSecurityContext: {
                fsGroup: 0,
                fsGroupChangePolicy: "string",
                runAsGroup: 0,
                runAsNonRoot: false,
                runAsUser: 0,
                seLinuxOptions: {
                    level: "string",
                    role: "string",
                    type: "string",
                    user: "string",
                },
                seccompProfile: {
                    type: "string",
                    localhostProfile: "string",
                },
                supplementalGroups: [0],
                sysctls: [{
                    name: "string",
                    value: "string",
                }],
                windowsOptions: {
                    gmsaCredentialSpec: "string",
                    gmsaCredentialSpecName: "string",
                    hostProcess: false,
                    runAsUserName: "string",
                },
            },
            priorityClassName: "string",
            proxySetHeaders: {
                string: {
                    string: "string",
                },
            },
            publishService: {
                enabled: false,
                pathOverride: "string",
            },
            readinessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                httpGet: {
                    port: 0,
                    host: "string",
                    httpHeaders: [{
                        name: "string",
                        value: "string",
                    }],
                    path: "string",
                    scheme: "string",
                },
                initialDelaySeconds: 0,
                periodSeconds: 0,
                successThreshold: 0,
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
                terminationGracePeriodSeconds: 0,
                timeoutSeconds: 0,
            },
            replicaCount: 0,
            reportNodeInternalIp: false,
            resources: {
                limits: {
                    string: "string",
                },
                requests: {
                    string: "string",
                },
            },
            scope: {
                enabled: false,
                namespace: "string",
            },
            service: {
                annotations: {
                    string: {
                        string: "string",
                    },
                },
                clusterIP: "string",
                enableHttp: false,
                enableHttps: false,
                enabled: false,
                externalIPs: ["string"],
                externalTrafficPolicy: "string",
                healthCheckNodePort: 0,
                internal: {
                    annotations: {
                        string: {
                            string: "string",
                        },
                    },
                    enabled: false,
                    externalTrafficPolicy: "string",
                    labels: {
                        string: {
                            string: "string",
                        },
                    },
                    loadBalancerIPs: "string",
                    loadBalancerSourceRanges: ["string"],
                },
                labels: {
                    string: {
                        string: "string",
                    },
                },
                loadBalancerIPs: "string",
                loadBalancerSourceRanges: ["string"],
                nodePorts: {
                    http: "string",
                    https: "string",
                    tcp: {
                        string: {
                            string: "string",
                        },
                    },
                    udp: {
                        string: {
                            string: "string",
                        },
                    },
                },
                ports: {
                    http: 0,
                    https: 0,
                },
                sessionAffinity: "string",
                targetPorts: {
                    http: 0,
                    https: 0,
                },
                type: "string",
            },
            startupProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                httpGet: {
                    port: 0,
                    host: "string",
                    httpHeaders: [{
                        name: "string",
                        value: "string",
                    }],
                    path: "string",
                    scheme: "string",
                },
                initialDelaySeconds: 0,
                periodSeconds: 0,
                successThreshold: 0,
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
                terminationGracePeriodSeconds: 0,
                timeoutSeconds: 0,
            },
            sysctls: {
                string: {
                    string: "string",
                },
            },
            tcp: {
                annotations: {
                    string: "string",
                },
                configMapNamespace: "string",
            },
            terminateGracePeriodSeconds: 0,
            tolerations: {
                effect: "string",
                key: "string",
                operator: "string",
                tolerationSeconds: 0,
                value: "string",
            },
            topologySpreadConstraints: [{
                maxSkew: 0,
                topologyKey: "string",
                whenUnsatisfiable: "string",
                labelSelector: {
                    matchExpressions: [{
                        key: "string",
                        operator: "string",
                        values: ["string"],
                    }],
                    matchLabels: {
                        string: "string",
                    },
                },
            }],
            udp: {
                annotations: {
                    string: "string",
                },
                configMapNamespace: "string",
            },
            updateStrategy: {
                rollingUpdate: {
                    maxUnavailable: 0,
                },
                type: "string",
            },
            watchIngressWithoutClass: false,
        },
        defaultBackend: {
            affinity: {
                nodeAffinity: {
                    preferredDuringSchedulingIgnoredDuringExecution: [{
                        preference: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchFields: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                        },
                        weight: 0,
                    }],
                    requiredDuringSchedulingIgnoredDuringExecution: {
                        nodeSelectorTerms: [{
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchFields: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                        }],
                    },
                },
                podAffinity: {
                    preferredDuringSchedulingIgnoredDuringExecution: [{
                        podAffinityTerm: {
                            topologyKey: "string",
                            labelSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaceSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaces: ["string"],
                        },
                        weight: 0,
                    }],
                    requiredDuringSchedulingIgnoredDuringExecution: [{
                        topologyKey: "string",
                        labelSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaceSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaces: ["string"],
                    }],
                },
                podAntiAffinity: {
                    preferredDuringSchedulingIgnoredDuringExecution: [{
                        podAffinityTerm: {
                            topologyKey: "string",
                            labelSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaceSelector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            namespaces: ["string"],
                        },
                        weight: 0,
                    }],
                    requiredDuringSchedulingIgnoredDuringExecution: [{
                        topologyKey: "string",
                        labelSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaceSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        namespaces: ["string"],
                    }],
                },
            },
            autoscaling: {
                annotations: {
                    string: "string",
                },
                controllerAutoscalingBehavior: {
                    scaleDown: {
                        policies: [{
                            periodSeconds: 0,
                            type: "string",
                            value: 0,
                        }],
                        stabilizationWindowSeconds: 0,
                    },
                    scaleUp: {
                        policies: [{
                            periodSeconds: 0,
                            type: "string",
                            value: 0,
                        }],
                        stabilizationWindowSeconds: 0,
                    },
                },
                enabled: false,
                maxReplicas: 0,
                minReplicas: 0,
                targetCPUUtilizationPercentage: 0,
                targetMemoryUtilizationPercentage: 0,
            },
            enabled: false,
            existingPsp: "string",
            extraArgs: {
                string: {
                    string: "string",
                },
            },
            extraEnvs: [{
                name: "string",
                value: "string",
                valueFrom: {
                    configMapKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                    fieldRef: {
                        fieldPath: "string",
                        apiVersion: "string",
                    },
                    resourceFieldRef: {
                        resource: "string",
                        containerName: "string",
                        divisor: "string",
                    },
                    secretKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                },
            }],
            extraVolumeMounts: [{
                mountPath: "string",
                name: "string",
                mountPropagation: "string",
                readOnly: false,
                subPath: "string",
                subPathExpr: "string",
            }],
            extraVolumes: [{
                name: "string",
                gitRepo: {
                    repository: "string",
                    directory: "string",
                    revision: "string",
                },
                configMap: {
                    defaultMode: 0,
                    items: [{
                        key: "string",
                        path: "string",
                        mode: 0,
                    }],
                    name: "string",
                    optional: false,
                },
                glusterfs: {
                    endpoints: "string",
                    path: "string",
                    readOnly: false,
                },
                cinder: {
                    volumeID: "string",
                    fsType: "string",
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                },
                hostPath: {
                    path: "string",
                    type: "string",
                },
                csi: {
                    driver: "string",
                    fsType: "string",
                    nodePublishSecretRef: {
                        name: "string",
                    },
                    readOnly: false,
                    volumeAttributes: {
                        string: "string",
                    },
                },
                downwardAPI: {
                    defaultMode: 0,
                    items: [{
                        path: "string",
                        fieldRef: {
                            fieldPath: "string",
                            apiVersion: "string",
                        },
                        mode: 0,
                        resourceFieldRef: {
                            resource: "string",
                            containerName: "string",
                            divisor: "string",
                        },
                    }],
                },
                emptyDir: {
                    medium: "string",
                    sizeLimit: "string",
                },
                ephemeral: {
                    readOnly: false,
                    volumeClaimTemplate: {
                        spec: {
                            accessModes: ["string"],
                            dataSource: {
                                kind: "string",
                                name: "string",
                                apiGroup: "string",
                            },
                            dataSourceRef: {
                                kind: "string",
                                name: "string",
                                apiGroup: "string",
                            },
                            resources: {
                                limits: {
                                    string: "string",
                                },
                                requests: {
                                    string: "string",
                                },
                            },
                            selector: {
                                matchExpressions: [{
                                    key: "string",
                                    operator: "string",
                                    values: ["string"],
                                }],
                                matchLabels: {
                                    string: "string",
                                },
                            },
                            storageClassName: "string",
                            volumeMode: "string",
                            volumeName: "string",
                        },
                        metadata: {
                            annotations: {
                                string: "string",
                            },
                            clusterName: "string",
                            creationTimestamp: "string",
                            deletionGracePeriodSeconds: 0,
                            deletionTimestamp: "string",
                            finalizers: ["string"],
                            generateName: "string",
                            generation: 0,
                            labels: {
                                string: "string",
                            },
                            managedFields: [{
                                apiVersion: "string",
                                fieldsType: "string",
                                fieldsV1: "{}",
                                manager: "string",
                                operation: "string",
                                subresource: "string",
                                time: "string",
                            }],
                            name: "string",
                            namespace: "string",
                            ownerReferences: [{
                                apiVersion: "string",
                                kind: "string",
                                name: "string",
                                uid: "string",
                                blockOwnerDeletion: false,
                                controller: false,
                            }],
                            resourceVersion: "string",
                            selfLink: "string",
                            uid: "string",
                        },
                    },
                },
                fc: {
                    fsType: "string",
                    lun: 0,
                    readOnly: false,
                    targetWWNs: ["string"],
                    wwids: ["string"],
                },
                flexVolume: {
                    driver: "string",
                    fsType: "string",
                    options: {
                        string: "string",
                    },
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                },
                iscsi: {
                    iqn: "string",
                    lun: 0,
                    targetPortal: "string",
                    chapAuthDiscovery: false,
                    chapAuthSession: false,
                    fsType: "string",
                    initiatorName: "string",
                    iscsiInterface: "string",
                    portals: ["string"],
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                },
                gcePersistentDisk: {
                    pdName: "string",
                    fsType: "string",
                    partition: 0,
                    readOnly: false,
                },
                awsElasticBlockStore: {
                    volumeID: "string",
                    fsType: "string",
                    partition: 0,
                    readOnly: false,
                },
                cephfs: {
                    monitors: ["string"],
                    path: "string",
                    readOnly: false,
                    secretFile: "string",
                    secretRef: {
                        name: "string",
                    },
                    user: "string",
                },
                azureFile: {
                    secretName: "string",
                    shareName: "string",
                    readOnly: false,
                },
                flocker: {
                    datasetName: "string",
                    datasetUUID: "string",
                },
                azureDisk: {
                    diskName: "string",
                    diskURI: "string",
                    cachingMode: "string",
                    fsType: "string",
                    kind: "string",
                    readOnly: false,
                },
                nfs: {
                    path: "string",
                    server: "string",
                    readOnly: false,
                },
                persistentVolumeClaim: {
                    claimName: "string",
                    readOnly: false,
                },
                photonPersistentDisk: {
                    pdID: "string",
                    fsType: "string",
                },
                portworxVolume: {
                    volumeID: "string",
                    fsType: "string",
                    readOnly: false,
                },
                projected: {
                    sources: [{
                        configMap: {
                            items: [{
                                key: "string",
                                path: "string",
                                mode: 0,
                            }],
                            name: "string",
                            optional: false,
                        },
                        downwardAPI: {
                            items: [{
                                path: "string",
                                fieldRef: {
                                    fieldPath: "string",
                                    apiVersion: "string",
                                },
                                mode: 0,
                                resourceFieldRef: {
                                    resource: "string",
                                    containerName: "string",
                                    divisor: "string",
                                },
                            }],
                        },
                        secret: {
                            items: [{
                                key: "string",
                                path: "string",
                                mode: 0,
                            }],
                            name: "string",
                            optional: false,
                        },
                        serviceAccountToken: {
                            path: "string",
                            audience: "string",
                            expirationSeconds: 0,
                        },
                    }],
                    defaultMode: 0,
                },
                quobyte: {
                    registry: "string",
                    volume: "string",
                    group: "string",
                    readOnly: false,
                    tenant: "string",
                    user: "string",
                },
                rbd: {
                    image: "string",
                    monitors: ["string"],
                    fsType: "string",
                    keyring: "string",
                    pool: "string",
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                    user: "string",
                },
                scaleIO: {
                    gateway: "string",
                    secretRef: {
                        name: "string",
                    },
                    system: "string",
                    fsType: "string",
                    protectionDomain: "string",
                    readOnly: false,
                    sslEnabled: false,
                    storageMode: "string",
                    storagePool: "string",
                    volumeName: "string",
                },
                secret: {
                    defaultMode: 0,
                    items: [{
                        key: "string",
                        path: "string",
                        mode: 0,
                    }],
                    optional: false,
                    secretName: "string",
                },
                storageos: {
                    fsType: "string",
                    readOnly: false,
                    secretRef: {
                        name: "string",
                    },
                    volumeName: "string",
                    volumeNamespace: "string",
                },
                vsphereVolume: {
                    volumePath: "string",
                    fsType: "string",
                    storagePolicyID: "string",
                    storagePolicyName: "string",
                },
            }],
            image: {
                allowPrivilegeEscalation: false,
                digest: "string",
                image: "string",
                pullPolicy: "string",
                readOnlyRootFilesystem: false,
                registry: "string",
                repository: "string",
                runAsNonRoot: false,
                runAsUser: "string",
                tag: "string",
            },
            livenessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                httpGet: {
                    port: 0,
                    host: "string",
                    httpHeaders: [{
                        name: "string",
                        value: "string",
                    }],
                    path: "string",
                    scheme: "string",
                },
                initialDelaySeconds: 0,
                periodSeconds: 0,
                successThreshold: 0,
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
                terminationGracePeriodSeconds: 0,
                timeoutSeconds: 0,
            },
            minAvailable: 0,
            name: "string",
            nodeSelector: {
                string: "string",
            },
            podAnnotations: {
                string: "string",
            },
            podLabels: {
                string: "string",
            },
            podSecurityContext: {
                fsGroup: 0,
                fsGroupChangePolicy: "string",
                runAsGroup: 0,
                runAsNonRoot: false,
                runAsUser: 0,
                seLinuxOptions: {
                    level: "string",
                    role: "string",
                    type: "string",
                    user: "string",
                },
                seccompProfile: {
                    type: "string",
                    localhostProfile: "string",
                },
                supplementalGroups: [0],
                sysctls: [{
                    name: "string",
                    value: "string",
                }],
                windowsOptions: {
                    gmsaCredentialSpec: "string",
                    gmsaCredentialSpecName: "string",
                    hostProcess: false,
                    runAsUserName: "string",
                },
            },
            port: 0,
            priorityClassName: "string",
            readinessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                httpGet: {
                    port: 0,
                    host: "string",
                    httpHeaders: [{
                        name: "string",
                        value: "string",
                    }],
                    path: "string",
                    scheme: "string",
                },
                initialDelaySeconds: 0,
                periodSeconds: 0,
                successThreshold: 0,
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
                terminationGracePeriodSeconds: 0,
                timeoutSeconds: 0,
            },
            replicaCount: 0,
            resources: {
                limits: {
                    string: "string",
                },
                requests: {
                    string: "string",
                },
            },
            service: {
                annotations: {
                    string: "string",
                },
                clusterIP: "string",
                externalIPs: ["string"],
                loadBalancerIP: "string",
                loadBalancerSourceRanges: ["string"],
                servicePort: 0,
                type: "string",
            },
            serviceAccount: {
                automountServiceAccountToken: false,
                create: false,
                name: "string",
            },
            tolerations: [{
                effect: "string",
                key: "string",
                operator: "string",
                tolerationSeconds: 0,
                value: "string",
            }],
        },
        dhParam: "string",
        fullnameOverride: "string",
        helmOptions: {
            atomic: false,
            chart: "string",
            cleanupOnFail: false,
            createNamespace: false,
            dependencyUpdate: false,
            description: "string",
            devel: false,
            disableCRDHooks: false,
            disableOpenapiValidation: false,
            disableWebhooks: false,
            forceUpdate: false,
            keyring: "string",
            lint: false,
            manifest: {
                string: "any",
            },
            maxHistory: 0,
            name: "string",
            namespace: "string",
            postrender: "string",
            recreatePods: false,
            renderSubchartNotes: false,
            replace: false,
            repositoryOpts: {
                caFile: "string",
                certFile: "string",
                keyFile: "string",
                password: "string",
                repo: "string",
                username: "string",
            },
            resetValues: false,
            resourceNames: {
                string: ["string"],
            },
            reuseValues: false,
            skipAwait: false,
            skipCrds: false,
            timeout: 0,
            valueYamlFiles: [new pulumi.asset.StringAsset("content")],
            values: {
                string: "any",
            },
            verify: false,
            version: "string",
            waitForJobs: false,
        },
        imagePullSecrets: [{
            name: "string",
        }],
        nameOverride: "string",
        podSecurityPolicy: {
            enabled: false,
        },
        rbac: {
            create: false,
            scope: false,
        },
        revisionHistoryLimit: 0,
        serviceAccount: {
            automountServiceAccountToken: false,
            create: false,
            name: "string",
        },
        tcp: {
            string: {
                string: "string",
            },
        },
        udp: {
            string: {
                string: "string",
            },
        },
    });
    
    type: kubernetes-ingress-nginx:IngressController
    properties:
        controller:
            addHeaders:
                string:
                    string: string
            admissionWebhooks:
                annotations:
                    string:
                        string: string
                certificate: string
                createSecretJob:
                    resources:
                        limits:
                            string: string
                        requests:
                            string: string
                enabled: false
                existingPsp: string
                failurePolicy: string
                key: string
                namespaceSelector:
                    string:
                        string: string
                objectSelector:
                    string:
                        string: string
                patch:
                    enabled: false
                    image:
                        allowPrivilegeEscalation: false
                        digest: string
                        image: string
                        pullPolicy: string
                        readOnlyRootFilesystem: false
                        registry: string
                        repository: string
                        runAsNonRoot: false
                        runAsUser: string
                        tag: string
                    nodeSelector:
                        string: string
                    podAnnotations:
                        string:
                            string: string
                    priorityClassName: string
                    runAsUser: 0
                    tolerations:
                        - effect: string
                          key: string
                          operator: string
                          tolerationSeconds: 0
                          value: string
                patchWebhookJob:
                    resources:
                        limits:
                            string: string
                        requests:
                            string: string
                port: 0
                service:
                    annotations:
                        string:
                            string: string
                    clusterIP: string
                    externalIPs:
                        - string
                    loadBalancerIPs: string
                    loadBalancerSourceRanges:
                        - string
                    servicePort: 0
                    type: string
                timeoutSeconds: 0
            affinity:
                nodeAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                        - preference:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchFields:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                          weight: 0
                    requiredDuringSchedulingIgnoredDuringExecution:
                        nodeSelectorTerms:
                            - matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                              matchFields:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                podAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                        - podAffinityTerm:
                            labelSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaceSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaces:
                                - string
                            topologyKey: string
                          weight: 0
                    requiredDuringSchedulingIgnoredDuringExecution:
                        - labelSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaceSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaces:
                            - string
                          topologyKey: string
                podAntiAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                        - podAffinityTerm:
                            labelSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaceSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaces:
                                - string
                            topologyKey: string
                          weight: 0
                    requiredDuringSchedulingIgnoredDuringExecution:
                        - labelSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaceSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaces:
                            - string
                          topologyKey: string
            allowSnippetAnnotations: false
            annotations:
                string: string
            autoscaling:
                annotations:
                    string: string
                controllerAutoscalingBehavior:
                    scaleDown:
                        policies:
                            - periodSeconds: 0
                              type: string
                              value: 0
                        stabilizationWindowSeconds: 0
                    scaleUp:
                        policies:
                            - periodSeconds: 0
                              type: string
                              value: 0
                        stabilizationWindowSeconds: 0
                enabled: false
                maxReplicas: 0
                minReplicas: 0
                targetCPUUtilizationPercentage: 0
                targetMemoryUtilizationPercentage: 0
            autoscalingTemplate:
                - pods:
                    metric:
                        name: string
                    target:
                        averageValue: string
                        type: string
                  type: string
            config:
                string:
                    string: string
            configAnnotations:
                string:
                    string: string
            configMapNamespace: string
            containerName: string
            containerPort:
                http: 0
                https: 0
            customTemplate:
                configMapKey: string
                configMapName: string
            dnsConfig:
                string:
                    string: string
            dnsPolicy: string
            electionID: string
            enableMimalloc: false
            existingPsp: string
            extraArgs:
                string:
                    string: string
            extraContainers:
                - args:
                    - string
                  command:
                    - string
                  env:
                    - name: string
                      value: string
                      valueFrom:
                        configMapKeyRef:
                            key: string
                            name: string
                            optional: false
                        fieldRef:
                            apiVersion: string
                            fieldPath: string
                        resourceFieldRef:
                            containerName: string
                            divisor: string
                            resource: string
                        secretKeyRef:
                            key: string
                            name: string
                            optional: false
                  envFrom:
                    - configMapRef:
                        name: string
                        optional: false
                      prefix: string
                      secretRef:
                        name: string
                        optional: false
                  image: string
                  imagePullPolicy: string
                  lifecycle:
                    postStart:
                        exec:
                            command:
                                - string
                        httpGet:
                            host: string
                            httpHeaders:
                                - name: string
                                  value: string
                            path: string
                            port: 0
                            scheme: string
                        tcpSocket:
                            host: string
                            port: 0
                    preStop:
                        exec:
                            command:
                                - string
                        httpGet:
                            host: string
                            httpHeaders:
                                - name: string
                                  value: string
                            path: string
                            port: 0
                            scheme: string
                        tcpSocket:
                            host: string
                            port: 0
                  livenessProbe:
                    exec:
                        command:
                            - string
                    failureThreshold: 0
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    successThreshold: 0
                    tcpSocket:
                        host: string
                        port: 0
                    terminationGracePeriodSeconds: 0
                    timeoutSeconds: 0
                  name: string
                  ports:
                    - containerPort: 0
                      hostIP: string
                      hostPort: 0
                      name: string
                      protocol: string
                  readinessProbe:
                    exec:
                        command:
                            - string
                    failureThreshold: 0
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    successThreshold: 0
                    tcpSocket:
                        host: string
                        port: 0
                    terminationGracePeriodSeconds: 0
                    timeoutSeconds: 0
                  resources:
                    limits:
                        string: string
                    requests:
                        string: string
                  securityContext:
                    allowPrivilegeEscalation: false
                    capabilities:
                        add:
                            - string
                        drop:
                            - string
                    privileged: false
                    procMount: string
                    readOnlyRootFilesystem: false
                    runAsGroup: 0
                    runAsNonRoot: false
                    runAsUser: 0
                    seLinuxOptions:
                        level: string
                        role: string
                        type: string
                        user: string
                    seccompProfile:
                        localhostProfile: string
                        type: string
                    windowsOptions:
                        gmsaCredentialSpec: string
                        gmsaCredentialSpecName: string
                        hostProcess: false
                        runAsUserName: string
                  startupProbe:
                    exec:
                        command:
                            - string
                    failureThreshold: 0
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    successThreshold: 0
                    tcpSocket:
                        host: string
                        port: 0
                    terminationGracePeriodSeconds: 0
                    timeoutSeconds: 0
                  stdin: false
                  stdinOnce: false
                  terminationMessagePath: string
                  terminationMessagePolicy: string
                  tty: false
                  volumeDevices:
                    - devicePath: string
                      name: string
                  volumeMounts:
                    - mountPath: string
                      mountPropagation: string
                      name: string
                      readOnly: false
                      subPath: string
                      subPathExpr: string
                  workingDir: string
            extraEnvs:
                - name: string
                  value: string
                  valueFrom:
                    configMapKeyRef:
                        key: string
                        name: string
                        optional: false
                    fieldRef:
                        apiVersion: string
                        fieldPath: string
                    resourceFieldRef:
                        containerName: string
                        divisor: string
                        resource: string
                    secretKeyRef:
                        key: string
                        name: string
                        optional: false
            extraInitContainers:
                - args:
                    - string
                  command:
                    - string
                  env:
                    - name: string
                      value: string
                      valueFrom:
                        configMapKeyRef:
                            key: string
                            name: string
                            optional: false
                        fieldRef:
                            apiVersion: string
                            fieldPath: string
                        resourceFieldRef:
                            containerName: string
                            divisor: string
                            resource: string
                        secretKeyRef:
                            key: string
                            name: string
                            optional: false
                  envFrom:
                    - configMapRef:
                        name: string
                        optional: false
                      prefix: string
                      secretRef:
                        name: string
                        optional: false
                  image: string
                  imagePullPolicy: string
                  lifecycle:
                    postStart:
                        exec:
                            command:
                                - string
                        httpGet:
                            host: string
                            httpHeaders:
                                - name: string
                                  value: string
                            path: string
                            port: 0
                            scheme: string
                        tcpSocket:
                            host: string
                            port: 0
                    preStop:
                        exec:
                            command:
                                - string
                        httpGet:
                            host: string
                            httpHeaders:
                                - name: string
                                  value: string
                            path: string
                            port: 0
                            scheme: string
                        tcpSocket:
                            host: string
                            port: 0
                  livenessProbe:
                    exec:
                        command:
                            - string
                    failureThreshold: 0
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    successThreshold: 0
                    tcpSocket:
                        host: string
                        port: 0
                    terminationGracePeriodSeconds: 0
                    timeoutSeconds: 0
                  name: string
                  ports:
                    - containerPort: 0
                      hostIP: string
                      hostPort: 0
                      name: string
                      protocol: string
                  readinessProbe:
                    exec:
                        command:
                            - string
                    failureThreshold: 0
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    successThreshold: 0
                    tcpSocket:
                        host: string
                        port: 0
                    terminationGracePeriodSeconds: 0
                    timeoutSeconds: 0
                  resources:
                    limits:
                        string: string
                    requests:
                        string: string
                  securityContext:
                    allowPrivilegeEscalation: false
                    capabilities:
                        add:
                            - string
                        drop:
                            - string
                    privileged: false
                    procMount: string
                    readOnlyRootFilesystem: false
                    runAsGroup: 0
                    runAsNonRoot: false
                    runAsUser: 0
                    seLinuxOptions:
                        level: string
                        role: string
                        type: string
                        user: string
                    seccompProfile:
                        localhostProfile: string
                        type: string
                    windowsOptions:
                        gmsaCredentialSpec: string
                        gmsaCredentialSpecName: string
                        hostProcess: false
                        runAsUserName: string
                  startupProbe:
                    exec:
                        command:
                            - string
                    failureThreshold: 0
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    initialDelaySeconds: 0
                    periodSeconds: 0
                    successThreshold: 0
                    tcpSocket:
                        host: string
                        port: 0
                    terminationGracePeriodSeconds: 0
                    timeoutSeconds: 0
                  stdin: false
                  stdinOnce: false
                  terminationMessagePath: string
                  terminationMessagePolicy: string
                  tty: false
                  volumeDevices:
                    - devicePath: string
                      name: string
                  volumeMounts:
                    - mountPath: string
                      mountPropagation: string
                      name: string
                      readOnly: false
                      subPath: string
                      subPathExpr: string
                  workingDir: string
            extraVolumeMounts:
                - mountPath: string
                  mountPropagation: string
                  name: string
                  readOnly: false
                  subPath: string
                  subPathExpr: string
            extraVolumes:
                - awsElasticBlockStore:
                    fsType: string
                    partition: 0
                    readOnly: false
                    volumeID: string
                  azureDisk:
                    cachingMode: string
                    diskName: string
                    diskURI: string
                    fsType: string
                    kind: string
                    readOnly: false
                  azureFile:
                    readOnly: false
                    secretName: string
                    shareName: string
                  cephfs:
                    monitors:
                        - string
                    path: string
                    readOnly: false
                    secretFile: string
                    secretRef:
                        name: string
                    user: string
                  cinder:
                    fsType: string
                    readOnly: false
                    secretRef:
                        name: string
                    volumeID: string
                  configMap:
                    defaultMode: 0
                    items:
                        - key: string
                          mode: 0
                          path: string
                    name: string
                    optional: false
                  csi:
                    driver: string
                    fsType: string
                    nodePublishSecretRef:
                        name: string
                    readOnly: false
                    volumeAttributes:
                        string: string
                  downwardAPI:
                    defaultMode: 0
                    items:
                        - fieldRef:
                            apiVersion: string
                            fieldPath: string
                          mode: 0
                          path: string
                          resourceFieldRef:
                            containerName: string
                            divisor: string
                            resource: string
                  emptyDir:
                    medium: string
                    sizeLimit: string
                  ephemeral:
                    readOnly: false
                    volumeClaimTemplate:
                        metadata:
                            annotations:
                                string: string
                            clusterName: string
                            creationTimestamp: string
                            deletionGracePeriodSeconds: 0
                            deletionTimestamp: string
                            finalizers:
                                - string
                            generateName: string
                            generation: 0
                            labels:
                                string: string
                            managedFields:
                                - apiVersion: string
                                  fieldsType: string
                                  fieldsV1: '{}'
                                  manager: string
                                  operation: string
                                  subresource: string
                                  time: string
                            name: string
                            namespace: string
                            ownerReferences:
                                - apiVersion: string
                                  blockOwnerDeletion: false
                                  controller: false
                                  kind: string
                                  name: string
                                  uid: string
                            resourceVersion: string
                            selfLink: string
                            uid: string
                        spec:
                            accessModes:
                                - string
                            dataSource:
                                apiGroup: string
                                kind: string
                                name: string
                            dataSourceRef:
                                apiGroup: string
                                kind: string
                                name: string
                            resources:
                                limits:
                                    string: string
                                requests:
                                    string: string
                            selector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            storageClassName: string
                            volumeMode: string
                            volumeName: string
                  fc:
                    fsType: string
                    lun: 0
                    readOnly: false
                    targetWWNs:
                        - string
                    wwids:
                        - string
                  flexVolume:
                    driver: string
                    fsType: string
                    options:
                        string: string
                    readOnly: false
                    secretRef:
                        name: string
                  flocker:
                    datasetName: string
                    datasetUUID: string
                  gcePersistentDisk:
                    fsType: string
                    partition: 0
                    pdName: string
                    readOnly: false
                  gitRepo:
                    directory: string
                    repository: string
                    revision: string
                  glusterfs:
                    endpoints: string
                    path: string
                    readOnly: false
                  hostPath:
                    path: string
                    type: string
                  iscsi:
                    chapAuthDiscovery: false
                    chapAuthSession: false
                    fsType: string
                    initiatorName: string
                    iqn: string
                    iscsiInterface: string
                    lun: 0
                    portals:
                        - string
                    readOnly: false
                    secretRef:
                        name: string
                    targetPortal: string
                  name: string
                  nfs:
                    path: string
                    readOnly: false
                    server: string
                  persistentVolumeClaim:
                    claimName: string
                    readOnly: false
                  photonPersistentDisk:
                    fsType: string
                    pdID: string
                  portworxVolume:
                    fsType: string
                    readOnly: false
                    volumeID: string
                  projected:
                    defaultMode: 0
                    sources:
                        - configMap:
                            items:
                                - key: string
                                  mode: 0
                                  path: string
                            name: string
                            optional: false
                          downwardAPI:
                            items:
                                - fieldRef:
                                    apiVersion: string
                                    fieldPath: string
                                  mode: 0
                                  path: string
                                  resourceFieldRef:
                                    containerName: string
                                    divisor: string
                                    resource: string
                          secret:
                            items:
                                - key: string
                                  mode: 0
                                  path: string
                            name: string
                            optional: false
                          serviceAccountToken:
                            audience: string
                            expirationSeconds: 0
                            path: string
                  quobyte:
                    group: string
                    readOnly: false
                    registry: string
                    tenant: string
                    user: string
                    volume: string
                  rbd:
                    fsType: string
                    image: string
                    keyring: string
                    monitors:
                        - string
                    pool: string
                    readOnly: false
                    secretRef:
                        name: string
                    user: string
                  scaleIO:
                    fsType: string
                    gateway: string
                    protectionDomain: string
                    readOnly: false
                    secretRef:
                        name: string
                    sslEnabled: false
                    storageMode: string
                    storagePool: string
                    system: string
                    volumeName: string
                  secret:
                    defaultMode: 0
                    items:
                        - key: string
                          mode: 0
                          path: string
                    optional: false
                    secretName: string
                  storageos:
                    fsType: string
                    readOnly: false
                    secretRef:
                        name: string
                    volumeName: string
                    volumeNamespace: string
                  vsphereVolume:
                    fsType: string
                    storagePolicyID: string
                    storagePolicyName: string
                    volumePath: string
            healthCheckPath: string
            heathCheckHost: string
            hostNetwork: false
            hostPort:
                enabled: false
                ports:
                    http: 0
                    https: 0
            hostname:
                string:
                    string: string
            image:
                allowPrivilegeEscalation: false
                digest: string
                image: string
                pullPolicy: string
                readOnlyRootFilesystem: false
                registry: string
                repository: string
                runAsNonRoot: false
                runAsUser: string
                tag: string
            ingressClassByName: false
            ingressClassResource:
                controllerValue: string
                default: false
                enabled: false
                name: string
                parameters:
                    string:
                        string: string
            keda:
                apiVersion: string
                behavior:
                    scaleDown:
                        policies:
                            - periodSeconds: 0
                              type: string
                              value: 0
                        stabilizationWindowSeconds: 0
                    scaleUp:
                        policies:
                            - periodSeconds: 0
                              type: string
                              value: 0
                        stabilizationWindowSeconds: 0
                cooldownPeriod: 0
                enabled: false
                maxReplicas: 0
                minReplicas: 0
                pollingInterval: 0
                restoreToOriginalReplicaCount: false
                scaledObject:
                    annotations:
                        string: string
                triggers:
                    - metadata:
                        string:
                            string: string
                      type: string
            kind: string
            lifecycle:
                postStart:
                    exec:
                        command:
                            - string
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    tcpSocket:
                        host: string
                        port: 0
                preStop:
                    exec:
                        command:
                            - string
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    tcpSocket:
                        host: string
                        port: 0
            livenessProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                httpGet:
                    host: string
                    httpHeaders:
                        - name: string
                          value: string
                    path: string
                    port: 0
                    scheme: string
                initialDelaySeconds: 0
                periodSeconds: 0
                successThreshold: 0
                tcpSocket:
                    host: string
                    port: 0
                terminationGracePeriodSeconds: 0
                timeoutSeconds: 0
            maxmindLicenseKey: string
            metrics:
                enabled: false
                port: 0
                prometheusRule:
                    additionalLabels:
                        string:
                            string: string
                    enabled: false
                    namespace: string
                    rules:
                        - string: string
                service:
                    annotations:
                        string: string
                    clusterIP: string
                    externalIPs:
                        - string
                    externalTrafficPolicy: string
                    loadBalancerIPs: string
                    loadBalancerSourceRanges:
                        - string
                    nodePort: string
                    servicePort: 0
                    type: string
                serviceMonitor:
                    additionalLabels:
                        string:
                            string: string
                    enabled: false
                    honorLabels: false
                    jobLabel: string
                    metricRelabelings:
                        - string
                    namespace: string
                    namespaceSelector:
                        string:
                            string: string
                    scrapeInterval: string
                    targetLabels:
                        - string
            minAvailable: 0
            minReadySeconds: 0
            name: string
            nodeSelector:
                string: string
            podAnnotations:
                string: string
            podLabels:
                string:
                    string: string
            podSecurityContext:
                fsGroup: 0
                fsGroupChangePolicy: string
                runAsGroup: 0
                runAsNonRoot: false
                runAsUser: 0
                seLinuxOptions:
                    level: string
                    role: string
                    type: string
                    user: string
                seccompProfile:
                    localhostProfile: string
                    type: string
                supplementalGroups:
                    - 0
                sysctls:
                    - name: string
                      value: string
                windowsOptions:
                    gmsaCredentialSpec: string
                    gmsaCredentialSpecName: string
                    hostProcess: false
                    runAsUserName: string
            priorityClassName: string
            proxySetHeaders:
                string:
                    string: string
            publishService:
                enabled: false
                pathOverride: string
            readinessProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                httpGet:
                    host: string
                    httpHeaders:
                        - name: string
                          value: string
                    path: string
                    port: 0
                    scheme: string
                initialDelaySeconds: 0
                periodSeconds: 0
                successThreshold: 0
                tcpSocket:
                    host: string
                    port: 0
                terminationGracePeriodSeconds: 0
                timeoutSeconds: 0
            replicaCount: 0
            reportNodeInternalIp: false
            resources:
                limits:
                    string: string
                requests:
                    string: string
            scope:
                enabled: false
                namespace: string
            service:
                annotations:
                    string:
                        string: string
                clusterIP: string
                enableHttp: false
                enableHttps: false
                enabled: false
                externalIPs:
                    - string
                externalTrafficPolicy: string
                healthCheckNodePort: 0
                internal:
                    annotations:
                        string:
                            string: string
                    enabled: false
                    externalTrafficPolicy: string
                    labels:
                        string:
                            string: string
                    loadBalancerIPs: string
                    loadBalancerSourceRanges:
                        - string
                labels:
                    string:
                        string: string
                loadBalancerIPs: string
                loadBalancerSourceRanges:
                    - string
                nodePorts:
                    http: string
                    https: string
                    tcp:
                        string:
                            string: string
                    udp:
                        string:
                            string: string
                ports:
                    http: 0
                    https: 0
                sessionAffinity: string
                targetPorts:
                    http: 0
                    https: 0
                type: string
            startupProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                httpGet:
                    host: string
                    httpHeaders:
                        - name: string
                          value: string
                    path: string
                    port: 0
                    scheme: string
                initialDelaySeconds: 0
                periodSeconds: 0
                successThreshold: 0
                tcpSocket:
                    host: string
                    port: 0
                terminationGracePeriodSeconds: 0
                timeoutSeconds: 0
            sysctls:
                string:
                    string: string
            tcp:
                annotations:
                    string: string
                configMapNamespace: string
            terminateGracePeriodSeconds: 0
            tolerations:
                effect: string
                key: string
                operator: string
                tolerationSeconds: 0
                value: string
            topologySpreadConstraints:
                - labelSelector:
                    matchExpressions:
                        - key: string
                          operator: string
                          values:
                            - string
                    matchLabels:
                        string: string
                  maxSkew: 0
                  topologyKey: string
                  whenUnsatisfiable: string
            udp:
                annotations:
                    string: string
                configMapNamespace: string
            updateStrategy:
                rollingUpdate:
                    maxUnavailable: 0
                type: string
            watchIngressWithoutClass: false
        defaultBackend:
            affinity:
                nodeAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                        - preference:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchFields:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                          weight: 0
                    requiredDuringSchedulingIgnoredDuringExecution:
                        nodeSelectorTerms:
                            - matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                              matchFields:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                podAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                        - podAffinityTerm:
                            labelSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaceSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaces:
                                - string
                            topologyKey: string
                          weight: 0
                    requiredDuringSchedulingIgnoredDuringExecution:
                        - labelSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaceSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaces:
                            - string
                          topologyKey: string
                podAntiAffinity:
                    preferredDuringSchedulingIgnoredDuringExecution:
                        - podAffinityTerm:
                            labelSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaceSelector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            namespaces:
                                - string
                            topologyKey: string
                          weight: 0
                    requiredDuringSchedulingIgnoredDuringExecution:
                        - labelSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaceSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                          namespaces:
                            - string
                          topologyKey: string
            autoscaling:
                annotations:
                    string: string
                controllerAutoscalingBehavior:
                    scaleDown:
                        policies:
                            - periodSeconds: 0
                              type: string
                              value: 0
                        stabilizationWindowSeconds: 0
                    scaleUp:
                        policies:
                            - periodSeconds: 0
                              type: string
                              value: 0
                        stabilizationWindowSeconds: 0
                enabled: false
                maxReplicas: 0
                minReplicas: 0
                targetCPUUtilizationPercentage: 0
                targetMemoryUtilizationPercentage: 0
            enabled: false
            existingPsp: string
            extraArgs:
                string:
                    string: string
            extraEnvs:
                - name: string
                  value: string
                  valueFrom:
                    configMapKeyRef:
                        key: string
                        name: string
                        optional: false
                    fieldRef:
                        apiVersion: string
                        fieldPath: string
                    resourceFieldRef:
                        containerName: string
                        divisor: string
                        resource: string
                    secretKeyRef:
                        key: string
                        name: string
                        optional: false
            extraVolumeMounts:
                - mountPath: string
                  mountPropagation: string
                  name: string
                  readOnly: false
                  subPath: string
                  subPathExpr: string
            extraVolumes:
                - awsElasticBlockStore:
                    fsType: string
                    partition: 0
                    readOnly: false
                    volumeID: string
                  azureDisk:
                    cachingMode: string
                    diskName: string
                    diskURI: string
                    fsType: string
                    kind: string
                    readOnly: false
                  azureFile:
                    readOnly: false
                    secretName: string
                    shareName: string
                  cephfs:
                    monitors:
                        - string
                    path: string
                    readOnly: false
                    secretFile: string
                    secretRef:
                        name: string
                    user: string
                  cinder:
                    fsType: string
                    readOnly: false
                    secretRef:
                        name: string
                    volumeID: string
                  configMap:
                    defaultMode: 0
                    items:
                        - key: string
                          mode: 0
                          path: string
                    name: string
                    optional: false
                  csi:
                    driver: string
                    fsType: string
                    nodePublishSecretRef:
                        name: string
                    readOnly: false
                    volumeAttributes:
                        string: string
                  downwardAPI:
                    defaultMode: 0
                    items:
                        - fieldRef:
                            apiVersion: string
                            fieldPath: string
                          mode: 0
                          path: string
                          resourceFieldRef:
                            containerName: string
                            divisor: string
                            resource: string
                  emptyDir:
                    medium: string
                    sizeLimit: string
                  ephemeral:
                    readOnly: false
                    volumeClaimTemplate:
                        metadata:
                            annotations:
                                string: string
                            clusterName: string
                            creationTimestamp: string
                            deletionGracePeriodSeconds: 0
                            deletionTimestamp: string
                            finalizers:
                                - string
                            generateName: string
                            generation: 0
                            labels:
                                string: string
                            managedFields:
                                - apiVersion: string
                                  fieldsType: string
                                  fieldsV1: '{}'
                                  manager: string
                                  operation: string
                                  subresource: string
                                  time: string
                            name: string
                            namespace: string
                            ownerReferences:
                                - apiVersion: string
                                  blockOwnerDeletion: false
                                  controller: false
                                  kind: string
                                  name: string
                                  uid: string
                            resourceVersion: string
                            selfLink: string
                            uid: string
                        spec:
                            accessModes:
                                - string
                            dataSource:
                                apiGroup: string
                                kind: string
                                name: string
                            dataSourceRef:
                                apiGroup: string
                                kind: string
                                name: string
                            resources:
                                limits:
                                    string: string
                                requests:
                                    string: string
                            selector:
                                matchExpressions:
                                    - key: string
                                      operator: string
                                      values:
                                        - string
                                matchLabels:
                                    string: string
                            storageClassName: string
                            volumeMode: string
                            volumeName: string
                  fc:
                    fsType: string
                    lun: 0
                    readOnly: false
                    targetWWNs:
                        - string
                    wwids:
                        - string
                  flexVolume:
                    driver: string
                    fsType: string
                    options:
                        string: string
                    readOnly: false
                    secretRef:
                        name: string
                  flocker:
                    datasetName: string
                    datasetUUID: string
                  gcePersistentDisk:
                    fsType: string
                    partition: 0
                    pdName: string
                    readOnly: false
                  gitRepo:
                    directory: string
                    repository: string
                    revision: string
                  glusterfs:
                    endpoints: string
                    path: string
                    readOnly: false
                  hostPath:
                    path: string
                    type: string
                  iscsi:
                    chapAuthDiscovery: false
                    chapAuthSession: false
                    fsType: string
                    initiatorName: string
                    iqn: string
                    iscsiInterface: string
                    lun: 0
                    portals:
                        - string
                    readOnly: false
                    secretRef:
                        name: string
                    targetPortal: string
                  name: string
                  nfs:
                    path: string
                    readOnly: false
                    server: string
                  persistentVolumeClaim:
                    claimName: string
                    readOnly: false
                  photonPersistentDisk:
                    fsType: string
                    pdID: string
                  portworxVolume:
                    fsType: string
                    readOnly: false
                    volumeID: string
                  projected:
                    defaultMode: 0
                    sources:
                        - configMap:
                            items:
                                - key: string
                                  mode: 0
                                  path: string
                            name: string
                            optional: false
                          downwardAPI:
                            items:
                                - fieldRef:
                                    apiVersion: string
                                    fieldPath: string
                                  mode: 0
                                  path: string
                                  resourceFieldRef:
                                    containerName: string
                                    divisor: string
                                    resource: string
                          secret:
                            items:
                                - key: string
                                  mode: 0
                                  path: string
                            name: string
                            optional: false
                          serviceAccountToken:
                            audience: string
                            expirationSeconds: 0
                            path: string
                  quobyte:
                    group: string
                    readOnly: false
                    registry: string
                    tenant: string
                    user: string
                    volume: string
                  rbd:
                    fsType: string
                    image: string
                    keyring: string
                    monitors:
                        - string
                    pool: string
                    readOnly: false
                    secretRef:
                        name: string
                    user: string
                  scaleIO:
                    fsType: string
                    gateway: string
                    protectionDomain: string
                    readOnly: false
                    secretRef:
                        name: string
                    sslEnabled: false
                    storageMode: string
                    storagePool: string
                    system: string
                    volumeName: string
                  secret:
                    defaultMode: 0
                    items:
                        - key: string
                          mode: 0
                          path: string
                    optional: false
                    secretName: string
                  storageos:
                    fsType: string
                    readOnly: false
                    secretRef:
                        name: string
                    volumeName: string
                    volumeNamespace: string
                  vsphereVolume:
                    fsType: string
                    storagePolicyID: string
                    storagePolicyName: string
                    volumePath: string
            image:
                allowPrivilegeEscalation: false
                digest: string
                image: string
                pullPolicy: string
                readOnlyRootFilesystem: false
                registry: string
                repository: string
                runAsNonRoot: false
                runAsUser: string
                tag: string
            livenessProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                httpGet:
                    host: string
                    httpHeaders:
                        - name: string
                          value: string
                    path: string
                    port: 0
                    scheme: string
                initialDelaySeconds: 0
                periodSeconds: 0
                successThreshold: 0
                tcpSocket:
                    host: string
                    port: 0
                terminationGracePeriodSeconds: 0
                timeoutSeconds: 0
            minAvailable: 0
            name: string
            nodeSelector:
                string: string
            podAnnotations:
                string: string
            podLabels:
                string: string
            podSecurityContext:
                fsGroup: 0
                fsGroupChangePolicy: string
                runAsGroup: 0
                runAsNonRoot: false
                runAsUser: 0
                seLinuxOptions:
                    level: string
                    role: string
                    type: string
                    user: string
                seccompProfile:
                    localhostProfile: string
                    type: string
                supplementalGroups:
                    - 0
                sysctls:
                    - name: string
                      value: string
                windowsOptions:
                    gmsaCredentialSpec: string
                    gmsaCredentialSpecName: string
                    hostProcess: false
                    runAsUserName: string
            port: 0
            priorityClassName: string
            readinessProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                httpGet:
                    host: string
                    httpHeaders:
                        - name: string
                          value: string
                    path: string
                    port: 0
                    scheme: string
                initialDelaySeconds: 0
                periodSeconds: 0
                successThreshold: 0
                tcpSocket:
                    host: string
                    port: 0
                terminationGracePeriodSeconds: 0
                timeoutSeconds: 0
            replicaCount: 0
            resources:
                limits:
                    string: string
                requests:
                    string: string
            service:
                annotations:
                    string: string
                clusterIP: string
                externalIPs:
                    - string
                loadBalancerIP: string
                loadBalancerSourceRanges:
                    - string
                servicePort: 0
                type: string
            serviceAccount:
                automountServiceAccountToken: false
                create: false
                name: string
            tolerations:
                - effect: string
                  key: string
                  operator: string
                  tolerationSeconds: 0
                  value: string
        dhParam: string
        fullnameOverride: string
        helmOptions:
            atomic: false
            chart: string
            cleanupOnFail: false
            createNamespace: false
            dependencyUpdate: false
            description: string
            devel: false
            disableCRDHooks: false
            disableOpenapiValidation: false
            disableWebhooks: false
            forceUpdate: false
            keyring: string
            lint: false
            manifest:
                string: any
            maxHistory: 0
            name: string
            namespace: string
            postrender: string
            recreatePods: false
            renderSubchartNotes: false
            replace: false
            repositoryOpts:
                caFile: string
                certFile: string
                keyFile: string
                password: string
                repo: string
                username: string
            resetValues: false
            resourceNames:
                string:
                    - string
            reuseValues: false
            skipAwait: false
            skipCrds: false
            timeout: 0
            valueYamlFiles:
                - fn::StringAsset: content
            values:
                string: any
            verify: false
            version: string
            waitForJobs: false
        imagePullSecrets:
            - name: string
        nameOverride: string
        podSecurityPolicy:
            enabled: false
        rbac:
            create: false
            scope: false
        revisionHistoryLimit: 0
        serviceAccount:
            automountServiceAccountToken: false
            create: false
            name: string
        tcp:
            string:
                string: string
        udp:
            string:
                string: string
    

    IngressController Resource Properties

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

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The IngressController resource accepts the following input properties:

    Controller Pulumi.KubernetesIngressNginx.Inputs.Controller
    DefaultBackend Pulumi.KubernetesIngressNginx.Inputs.ControllerDefaultBackend
    Default 404 backend.
    DhParam string
    A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.
    FullnameOverride string
    Overrides for generated resource names.
    HelmOptions Pulumi.KubernetesIngressNginx.Inputs.Release
    HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
    ImagePullSecrets List<Pulumi.Kubernetes.Types.Inputs.Core.V1.LocalObjectReference>
    Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.
    NameOverride string
    Overrides for generated resource names.
    PodSecurityPolicy Pulumi.KubernetesIngressNginx.Inputs.ControllerPodSecurityPolicy
    If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
    Rbac Pulumi.KubernetesIngressNginx.Inputs.ControllerRBAC
    Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
    RevisionHistoryLimit int
    Rollback limit.
    ServiceAccount Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceAccount
    Tcp Dictionary<string, ImmutableDictionary<string, string>>
    TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    Udp Dictionary<string, ImmutableDictionary<string, string>>
    UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    Controller ControllerArgs
    DefaultBackend ControllerDefaultBackendArgs
    Default 404 backend.
    DhParam string
    A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.
    FullnameOverride string
    Overrides for generated resource names.
    HelmOptions ReleaseArgs
    HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
    ImagePullSecrets LocalObjectReferenceArgs
    Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.
    NameOverride string
    Overrides for generated resource names.
    PodSecurityPolicy ControllerPodSecurityPolicyArgs
    If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
    Rbac ControllerRBACArgs
    Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
    RevisionHistoryLimit int
    Rollback limit.
    ServiceAccount ControllerServiceAccountArgs
    Tcp map[string]map[string]string
    TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    Udp map[string]map[string]string
    UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    controller Controller
    defaultBackend ControllerDefaultBackend
    Default 404 backend.
    dhParam String
    A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.
    fullnameOverride String
    Overrides for generated resource names.
    helmOptions Release
    HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
    imagePullSecrets List<LocalObjectReference>
    Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.
    nameOverride String
    Overrides for generated resource names.
    podSecurityPolicy ControllerPodSecurityPolicy
    If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
    rbac ControllerRBAC
    Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
    revisionHistoryLimit Integer
    Rollback limit.
    serviceAccount ControllerServiceAccount
    tcp Map<String,Map<String,String>>
    TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    udp Map<String,Map<String,String>>
    UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    controller Controller
    defaultBackend ControllerDefaultBackend
    Default 404 backend.
    dhParam string
    A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.
    fullnameOverride string
    Overrides for generated resource names.
    helmOptions Release
    HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
    imagePullSecrets pulumiKubernetestypesinputcorev1LocalObjectReference[]
    Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.
    nameOverride string
    Overrides for generated resource names.
    podSecurityPolicy ControllerPodSecurityPolicy
    If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
    rbac ControllerRBAC
    Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
    revisionHistoryLimit number
    Rollback limit.
    serviceAccount ControllerServiceAccount
    tcp {[key: string]: {[key: string]: string}}
    TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    udp {[key: string]: {[key: string]: string}}
    UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    controller ControllerArgs
    default_backend ControllerDefaultBackendArgs
    Default 404 backend.
    dh_param str
    A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.
    fullname_override str
    Overrides for generated resource names.
    helm_options ReleaseArgs
    HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
    image_pull_secrets Sequence[pulumi_kubernetes.core.v1.LocalObjectReferenceArgs]
    Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.
    name_override str
    Overrides for generated resource names.
    pod_security_policy ControllerPodSecurityPolicyArgs
    If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
    rbac ControllerRBACArgs
    Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
    revision_history_limit int
    Rollback limit.
    service_account ControllerServiceAccountArgs
    tcp Mapping[str, Mapping[str, str]]
    TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    udp Mapping[str, Mapping[str, str]]
    UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    controller Property Map
    defaultBackend Property Map
    Default 404 backend.
    dhParam String
    A base64ed Diffie-Hellman parameter. This can be generated with: openssl dhparam 4096 2> /dev/null | base64 Ref: https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/ssl-dh-param.
    fullnameOverride String
    Overrides for generated resource names.
    helmOptions Property Map
    HelmOptions is an escape hatch that lets the end user control any aspect of the Helm deployment. This exposes the entirety of the underlying Helm Release component args.
    imagePullSecrets List<Property Map>
    Optional array of imagePullSecrets containing private registry credentials Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/.
    nameOverride String
    Overrides for generated resource names.
    podSecurityPolicy Property Map
    If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
    rbac Property Map
    Enable RBAC as per https://github.com/kubernetes/ingress-nginx/blob/main/docs/deploy/rbac.md and https://github.com/kubernetes/ingress-nginx/issues/266
    revisionHistoryLimit Number
    Rollback limit.
    serviceAccount Property Map
    tcp Map<Map<String>>
    TCP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.
    udp Map<Map<String>>
    UDP service key:value pairs Ref: https://github.com/kubernetes/ingress-nginx/blob/main/docs/user-guide/exposing-tcp-udp-services.md.

    Outputs

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

    Status Pulumi.KubernetesIngressNginx.Outputs.ReleaseStatus
    Detailed information about the status of the underlying Helm deployment.
    Status ReleaseStatus
    Detailed information about the status of the underlying Helm deployment.
    status ReleaseStatus
    Detailed information about the status of the underlying Helm deployment.
    status ReleaseStatus
    Detailed information about the status of the underlying Helm deployment.
    status ReleaseStatus
    Detailed information about the status of the underlying Helm deployment.
    status Property Map
    Detailed information about the status of the underlying Helm deployment.

    Supporting Types

    Autoscaling, AutoscalingArgs

    AutoscalingBehavior, AutoscalingBehaviorArgs

    AutoscalingBehaviorScaling, AutoscalingBehaviorScalingArgs

    AutoscalingBehaviorScalingPolicy, AutoscalingBehaviorScalingPolicyArgs

    PeriodSeconds int
    Type string
    Value int
    PeriodSeconds int
    Type string
    Value int
    periodSeconds Integer
    type String
    value Integer
    periodSeconds number
    type string
    value number
    periodSeconds Number
    type String
    value Number

    AutoscalingTemplate, AutoscalingTemplateArgs

    AutoscalingTemplatePods, AutoscalingTemplatePodsArgs

    AutoscalingTemplatePodsMetric, AutoscalingTemplatePodsMetricArgs

    Name string
    Name string
    name String
    name string
    name str
    name String

    AutoscalingTemplatePodsTarget, AutoscalingTemplatePodsTargetArgs

    AverageValue string
    Type string
    AverageValue string
    Type string
    averageValue String
    type String
    averageValue string
    type string
    averageValue String
    type String

    ContollerAdmissionWebhooks, ContollerAdmissionWebhooksArgs

    annotations {[key: string]: {[key: string]: string}}
    certificate string
    createSecretJob ControllerAdmissionWebhooksCreateSecretJob
    enabled boolean
    existingPsp string
    Use an existing PSP instead of creating one.
    failurePolicy string
    key string
    namespaceSelector {[key: string]: {[key: string]: string}}
    objectSelector {[key: string]: {[key: string]: string}}
    patch ControllerAdmissionWebhooksPatch
    patchWebhookJob ControllerAdmissionWebhooksPatchWebhbookJob
    port number
    service ControllerAdmissionWebhooksService
    timeoutSeconds number
    annotations Map<Map<String>>
    certificate String
    createSecretJob Property Map
    enabled Boolean
    existingPsp String
    Use an existing PSP instead of creating one.
    failurePolicy String
    key String
    namespaceSelector Map<Map<String>>
    objectSelector Map<Map<String>>
    patch Property Map
    patchWebhookJob Property Map
    port Number
    service Property Map
    timeoutSeconds Number

    Controller, ControllerArgs

    AddHeaders Dictionary<string, ImmutableDictionary<string, string>>
    Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.
    AdmissionWebhooks Pulumi.KubernetesIngressNginx.Inputs.ContollerAdmissionWebhooks
    Affinity Pulumi.Kubernetes.Types.Inputs.Core.V1.Affinity
    Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. This type is defined in the Kubernetes package.
    AllowSnippetAnnotations bool
    This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.
    Annotations Dictionary<string, string>
    Annotations to be added to the controller Deployment or DaemonSet.
    Autoscaling Pulumi.KubernetesIngressNginx.Inputs.Autoscaling
    Mutually exclusive with keda autoscaling.
    AutoscalingTemplate List<Pulumi.KubernetesIngressNginx.Inputs.AutoscalingTemplate>
    Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
    Config Dictionary<string, ImmutableDictionary<string, string>>
    Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
    ConfigAnnotations Dictionary<string, ImmutableDictionary<string, string>>
    Annotations to be added to the controller config configuration configmap.
    ConfigMapNamespace string
    Allows customization of the configmap / nginx-configmap namespace.
    ContainerName string
    Configures the controller container name.
    ContainerPort Pulumi.KubernetesIngressNginx.Inputs.ControllerPort
    Configures the ports the nginx-controller listens on.
    CustomTemplate Pulumi.KubernetesIngressNginx.Inputs.ControllerCustomTemplate
    Override NGINX template.
    DnsConfig Dictionary<string, ImmutableDictionary<string, string>>
    Optionally customize the pod dnsConfig.
    DnsPolicy string
    Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
    ElectionID string
    Election ID to use for status update.
    EnableMimalloc bool
    Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.
    ExistingPsp string
    Use an existing PSP instead of creating one.
    ExtraArgs Dictionary<string, ImmutableDictionary<string, string>>
    Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".
    ExtraContainers List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Container>
    Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
    ExtraEnvs List<Pulumi.Kubernetes.Types.Inputs.Core.V1.EnvVar>
    Additional environment variables to set.
    ExtraInitContainers List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Container>
    Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
    ExtraVolumeMounts List<Pulumi.Kubernetes.Types.Inputs.Core.V1.VolumeMount>
    Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    ExtraVolumes List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Volume>
    Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
    HealthCheckPath string
    Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
    HeathCheckHost string
    Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.
    HostNetwork bool
    Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.
    HostPort Pulumi.KubernetesIngressNginx.Inputs.ControllerHostPort
    Use host ports 80 and 443. Disabled by default.
    Hostname Dictionary<string, ImmutableDictionary<string, string>>
    Optionally customize the pod hostname.
    Image Pulumi.KubernetesIngressNginx.Inputs.ControllerImage
    IngressClassByName bool
    Process IngressClass per name (additionally as per spec.controller).
    IngressClassResource Pulumi.KubernetesIngressNginx.Inputs.ControllerIngressClassResource
    This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
    Keda Pulumi.KubernetesIngressNginx.Inputs.Keda
    Mutually exclusive with hpa autoscaling.
    Kind string
    DaemonSet or Deployment.
    Lifecycle Pulumi.Kubernetes.Types.Inputs.Core.V1.Lifecycle
    Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s. This type is defined in the Kubernetes package.
    LivenessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe
    Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    MaxmindLicenseKey string
    Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
    Metrics Pulumi.KubernetesIngressNginx.Inputs.ControllerMetrics
    MinAvailable int
    MinReadySeconds int
    minReadySeconds to avoid killing pods before we are ready.
    Name string
    NodeSelector Dictionary<string, string>
    Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    PodAnnotations Dictionary<string, string>
    Annotations to be added to controller pods.
    PodLabels Dictionary<string, ImmutableDictionary<string, string>>
    labels to add to the pod container metadata.
    PodSecurityContext Pulumi.Kubernetes.Types.Inputs.Core.V1.PodSecurityContext
    Security Context policies for controller pods. This type is defined in the Kubernetes package.
    PriorityClassName string
    ProxySetHeaders Dictionary<string, ImmutableDictionary<string, string>>
    Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
    PublishService Pulumi.KubernetesIngressNginx.Inputs.ControllerPublishService
    Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.
    ReadinessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe
    Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    ReplicaCount int
    ReportNodeInternalIp bool
    Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.
    Resources Pulumi.Kubernetes.Types.Inputs.Core.V1.ResourceRequirements
    Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ This type is defined in the Kubernetes package.
    Scope Pulumi.KubernetesIngressNginx.Inputs.ControllerScope
    Limit the scope of the controller.
    Service Pulumi.KubernetesIngressNginx.Inputs.ControllerService
    StartupProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe
    Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    Sysctls Dictionary<string, ImmutableDictionary<string, string>>
    See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.
    Tcp Pulumi.KubernetesIngressNginx.Inputs.ControllerTcp
    Allows customization of the tcp-services-configmap.
    TerminateGracePeriodSeconds int
    How long to wait for the drain of connections.
    Tolerations Pulumi.Kubernetes.Types.Inputs.Core.V1.Toleration
    Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/. This type is defined in the Kubernetes package.
    TopologySpreadConstraints List<Pulumi.Kubernetes.Types.Inputs.Core.V1.TopologySpreadConstraint>
    Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.
    Udp Pulumi.KubernetesIngressNginx.Inputs.ControllerUdp
    UpdateStrategy Pulumi.KubernetesIngressNginx.Inputs.ControllerUpdateStrategy
    The update strategy to apply to the Deployment or DaemonSet.
    WatchIngressWithoutClass bool
    Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.
    AddHeaders map[string]map[string]string
    Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.
    AdmissionWebhooks ContollerAdmissionWebhooks
    Affinity Affinity
    Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. This type is defined in the Kubernetes package.
    AllowSnippetAnnotations bool
    This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.
    Annotations map[string]string
    Annotations to be added to the controller Deployment or DaemonSet.
    Autoscaling Autoscaling
    Mutually exclusive with keda autoscaling.
    AutoscalingTemplate []AutoscalingTemplate
    Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
    Config map[string]map[string]string
    Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
    ConfigAnnotations map[string]map[string]string
    Annotations to be added to the controller config configuration configmap.
    ConfigMapNamespace string
    Allows customization of the configmap / nginx-configmap namespace.
    ContainerName string
    Configures the controller container name.
    ContainerPort ControllerPort
    Configures the ports the nginx-controller listens on.
    CustomTemplate ControllerCustomTemplate
    Override NGINX template.
    DnsConfig map[string]map[string]string
    Optionally customize the pod dnsConfig.
    DnsPolicy string
    Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
    ElectionID string
    Election ID to use for status update.
    EnableMimalloc bool
    Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.
    ExistingPsp string
    Use an existing PSP instead of creating one.
    ExtraArgs map[string]map[string]string
    Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".
    ExtraContainers Container
    Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
    ExtraEnvs EnvVar
    Additional environment variables to set.
    ExtraInitContainers Container
    Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
    ExtraVolumeMounts VolumeMount
    Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    ExtraVolumes Volume
    Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
    HealthCheckPath string
    Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
    HeathCheckHost string
    Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.
    HostNetwork bool
    Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.
    HostPort ControllerHostPort
    Use host ports 80 and 443. Disabled by default.
    Hostname map[string]map[string]string
    Optionally customize the pod hostname.
    Image ControllerImage
    IngressClassByName bool
    Process IngressClass per name (additionally as per spec.controller).
    IngressClassResource ControllerIngressClassResource
    This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
    Keda Keda
    Mutually exclusive with hpa autoscaling.
    Kind string
    DaemonSet or Deployment.
    Lifecycle Lifecycle
    Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s. This type is defined in the Kubernetes package.
    LivenessProbe Probe
    Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    MaxmindLicenseKey string
    Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
    Metrics ControllerMetrics
    MinAvailable int
    MinReadySeconds int
    minReadySeconds to avoid killing pods before we are ready.
    Name string
    NodeSelector map[string]string
    Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    PodAnnotations map[string]string
    Annotations to be added to controller pods.
    PodLabels map[string]map[string]string
    labels to add to the pod container metadata.
    PodSecurityContext PodSecurityContext
    Security Context policies for controller pods. This type is defined in the Kubernetes package.
    PriorityClassName string
    ProxySetHeaders map[string]map[string]string
    Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
    PublishService ControllerPublishService
    Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.
    ReadinessProbe Probe
    Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    ReplicaCount int
    ReportNodeInternalIp bool
    Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.
    Resources ResourceRequirements
    Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ This type is defined in the Kubernetes package.
    Scope ControllerScope
    Limit the scope of the controller.
    Service ControllerService
    StartupProbe Probe
    Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    Sysctls map[string]map[string]string
    See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.
    Tcp ControllerTcp
    Allows customization of the tcp-services-configmap.
    TerminateGracePeriodSeconds int
    How long to wait for the drain of connections.
    Tolerations Toleration
    Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/. This type is defined in the Kubernetes package.
    TopologySpreadConstraints TopologySpreadConstraint
    Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.
    Udp ControllerUdp
    UpdateStrategy ControllerUpdateStrategy
    The update strategy to apply to the Deployment or DaemonSet.
    WatchIngressWithoutClass bool
    Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.
    addHeaders Map<String,Map<String,String>>
    Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.
    admissionWebhooks ContollerAdmissionWebhooks
    affinity Affinity
    Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. This type is defined in the Kubernetes package.
    allowSnippetAnnotations Boolean
    This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.
    annotations Map<String,String>
    Annotations to be added to the controller Deployment or DaemonSet.
    autoscaling Autoscaling
    Mutually exclusive with keda autoscaling.
    autoscalingTemplate List<AutoscalingTemplate>
    Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
    config Map<String,Map<String,String>>
    Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
    configAnnotations Map<String,Map<String,String>>
    Annotations to be added to the controller config configuration configmap.
    configMapNamespace String
    Allows customization of the configmap / nginx-configmap namespace.
    containerName String
    Configures the controller container name.
    containerPort ControllerPort
    Configures the ports the nginx-controller listens on.
    customTemplate ControllerCustomTemplate
    Override NGINX template.
    dnsConfig Map<String,Map<String,String>>
    Optionally customize the pod dnsConfig.
    dnsPolicy String
    Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
    electionID String
    Election ID to use for status update.
    enableMimalloc Boolean
    Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.
    existingPsp String
    Use an existing PSP instead of creating one.
    extraArgs Map<String,Map<String,String>>
    Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".
    extraContainers List<Container>
    Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
    extraEnvs List<EnvVar>
    Additional environment variables to set.
    extraInitContainers List<Container>
    Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
    extraVolumeMounts List<VolumeMount>
    Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extraVolumes List<Volume>
    Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
    healthCheckPath String
    Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
    heathCheckHost String
    Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.
    hostNetwork Boolean
    Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.
    hostPort ControllerHostPort
    Use host ports 80 and 443. Disabled by default.
    hostname Map<String,Map<String,String>>
    Optionally customize the pod hostname.
    image ControllerImage
    ingressClassByName Boolean
    Process IngressClass per name (additionally as per spec.controller).
    ingressClassResource ControllerIngressClassResource
    This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
    keda Keda
    Mutually exclusive with hpa autoscaling.
    kind String
    DaemonSet or Deployment.
    lifecycle Lifecycle
    Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s. This type is defined in the Kubernetes package.
    livenessProbe Probe
    Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    maxmindLicenseKey String
    Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
    metrics ControllerMetrics
    minAvailable Integer
    minReadySeconds Integer
    minReadySeconds to avoid killing pods before we are ready.
    name String
    nodeSelector Map<String,String>
    Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    podAnnotations Map<String,String>
    Annotations to be added to controller pods.
    podLabels Map<String,Map<String,String>>
    labels to add to the pod container metadata.
    podSecurityContext PodSecurityContext
    Security Context policies for controller pods. This type is defined in the Kubernetes package.
    priorityClassName String
    proxySetHeaders Map<String,Map<String,String>>
    Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
    publishService ControllerPublishService
    Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.
    readinessProbe Probe
    Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replicaCount Integer
    reportNodeInternalIp Boolean
    Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.
    resources ResourceRequirements
    Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ This type is defined in the Kubernetes package.
    scope ControllerScope
    Limit the scope of the controller.
    service ControllerService
    startupProbe Probe
    Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    sysctls Map<String,Map<String,String>>
    See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.
    tcp ControllerTcp
    Allows customization of the tcp-services-configmap.
    terminateGracePeriodSeconds Integer
    How long to wait for the drain of connections.
    tolerations Toleration
    Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/. This type is defined in the Kubernetes package.
    topologySpreadConstraints List<TopologySpreadConstraint>
    Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.
    udp ControllerUdp
    updateStrategy ControllerUpdateStrategy
    The update strategy to apply to the Deployment or DaemonSet.
    watchIngressWithoutClass Boolean
    Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.
    addHeaders {[key: string]: {[key: string]: string}}
    Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.
    admissionWebhooks ContollerAdmissionWebhooks
    affinity pulumiKubernetestypesinputcorev1Affinity
    Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. This type is defined in the Kubernetes package.
    allowSnippetAnnotations boolean
    This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.
    annotations {[key: string]: string}
    Annotations to be added to the controller Deployment or DaemonSet.
    autoscaling Autoscaling
    Mutually exclusive with keda autoscaling.
    autoscalingTemplate AutoscalingTemplate[]
    Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
    config {[key: string]: {[key: string]: string}}
    Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
    configAnnotations {[key: string]: {[key: string]: string}}
    Annotations to be added to the controller config configuration configmap.
    configMapNamespace string
    Allows customization of the configmap / nginx-configmap namespace.
    containerName string
    Configures the controller container name.
    containerPort ControllerPort
    Configures the ports the nginx-controller listens on.
    customTemplate ControllerCustomTemplate
    Override NGINX template.
    dnsConfig {[key: string]: {[key: string]: string}}
    Optionally customize the pod dnsConfig.
    dnsPolicy string
    Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
    electionID string
    Election ID to use for status update.
    enableMimalloc boolean
    Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.
    existingPsp string
    Use an existing PSP instead of creating one.
    extraArgs {[key: string]: {[key: string]: string}}
    Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".
    extraContainers pulumiKubernetestypesinputcorev1Container[]
    Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
    extraEnvs pulumiKubernetestypesinputcorev1EnvVar[]
    Additional environment variables to set.
    extraInitContainers pulumiKubernetestypesinputcorev1Container[]
    Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
    extraVolumeMounts pulumiKubernetestypesinputcorev1VolumeMount[]
    Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extraVolumes pulumiKubernetestypesinputcorev1Volume[]
    Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
    healthCheckPath string
    Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
    heathCheckHost string
    Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.
    hostNetwork boolean
    Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.
    hostPort ControllerHostPort
    Use host ports 80 and 443. Disabled by default.
    hostname {[key: string]: {[key: string]: string}}
    Optionally customize the pod hostname.
    image ControllerImage
    ingressClassByName boolean
    Process IngressClass per name (additionally as per spec.controller).
    ingressClassResource ControllerIngressClassResource
    This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
    keda Keda
    Mutually exclusive with hpa autoscaling.
    kind string
    DaemonSet or Deployment.
    lifecycle pulumiKubernetestypesinputcorev1Lifecycle
    Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s. This type is defined in the Kubernetes package.
    livenessProbe pulumiKubernetestypesinputcorev1Probe
    Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    maxmindLicenseKey string
    Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
    metrics ControllerMetrics
    minAvailable number
    minReadySeconds number
    minReadySeconds to avoid killing pods before we are ready.
    name string
    nodeSelector {[key: string]: string}
    Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    podAnnotations {[key: string]: string}
    Annotations to be added to controller pods.
    podLabels {[key: string]: {[key: string]: string}}
    labels to add to the pod container metadata.
    podSecurityContext pulumiKubernetestypesinputcorev1PodSecurityContext
    Security Context policies for controller pods. This type is defined in the Kubernetes package.
    priorityClassName string
    proxySetHeaders {[key: string]: {[key: string]: string}}
    Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
    publishService ControllerPublishService
    Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.
    readinessProbe pulumiKubernetestypesinputcorev1Probe
    Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replicaCount number
    reportNodeInternalIp boolean
    Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.
    resources pulumiKubernetestypesinputcorev1ResourceRequirements
    Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ This type is defined in the Kubernetes package.
    scope ControllerScope
    Limit the scope of the controller.
    service ControllerService
    startupProbe pulumiKubernetestypesinputcorev1Probe
    Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    sysctls {[key: string]: {[key: string]: string}}
    See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.
    tcp ControllerTcp
    Allows customization of the tcp-services-configmap.
    terminateGracePeriodSeconds number
    How long to wait for the drain of connections.
    tolerations pulumiKubernetestypesinputcorev1Toleration
    Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/. This type is defined in the Kubernetes package.
    topologySpreadConstraints pulumiKubernetestypesinputcorev1TopologySpreadConstraint[]
    Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.
    udp ControllerUdp
    updateStrategy ControllerUpdateStrategy
    The update strategy to apply to the Deployment or DaemonSet.
    watchIngressWithoutClass boolean
    Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.
    add_headers Mapping[str, Mapping[str, str]]
    Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.
    admission_webhooks ContollerAdmissionWebhooks
    affinity pulumi_kubernetes.core.v1.AffinityArgs
    Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. This type is defined in the Kubernetes package.
    allow_snippet_annotations bool
    This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.
    annotations Mapping[str, str]
    Annotations to be added to the controller Deployment or DaemonSet.
    autoscaling Autoscaling
    Mutually exclusive with keda autoscaling.
    autoscaling_template Sequence[AutoscalingTemplate]
    Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
    config Mapping[str, Mapping[str, str]]
    Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
    config_annotations Mapping[str, Mapping[str, str]]
    Annotations to be added to the controller config configuration configmap.
    config_map_namespace str
    Allows customization of the configmap / nginx-configmap namespace.
    container_name str
    Configures the controller container name.
    container_port ControllerPort
    Configures the ports the nginx-controller listens on.
    custom_template ControllerCustomTemplate
    Override NGINX template.
    dns_config Mapping[str, Mapping[str, str]]
    Optionally customize the pod dnsConfig.
    dns_policy str
    Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
    election_id str
    Election ID to use for status update.
    enable_mimalloc bool
    Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.
    existing_psp str
    Use an existing PSP instead of creating one.
    extra_args Mapping[str, Mapping[str, str]]
    Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".
    extra_containers Sequence[pulumi_kubernetes.core.v1.ContainerArgs]
    Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
    extra_envs Sequence[pulumi_kubernetes.core.v1.EnvVarArgs]
    Additional environment variables to set.
    extra_init_containers Sequence[pulumi_kubernetes.core.v1.ContainerArgs]
    Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
    extra_volume_mounts Sequence[pulumi_kubernetes.core.v1.VolumeMountArgs]
    Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extra_volumes Sequence[pulumi_kubernetes.core.v1.VolumeArgs]
    Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
    health_check_path str
    Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
    heath_check_host str
    Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.
    host_network bool
    Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.
    host_port ControllerHostPort
    Use host ports 80 and 443. Disabled by default.
    hostname Mapping[str, Mapping[str, str]]
    Optionally customize the pod hostname.
    image ControllerImage
    ingress_class_by_name bool
    Process IngressClass per name (additionally as per spec.controller).
    ingress_class_resource ControllerIngressClassResource
    This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
    keda Keda
    Mutually exclusive with hpa autoscaling.
    kind str
    DaemonSet or Deployment.
    lifecycle pulumi_kubernetes.core.v1.LifecycleArgs
    Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s. This type is defined in the Kubernetes package.
    liveness_probe pulumi_kubernetes.core.v1.ProbeArgs
    Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    maxmind_license_key str
    Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
    metrics ControllerMetrics
    min_available int
    min_ready_seconds int
    minReadySeconds to avoid killing pods before we are ready.
    name str
    node_selector Mapping[str, str]
    Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    pod_annotations Mapping[str, str]
    Annotations to be added to controller pods.
    pod_labels Mapping[str, Mapping[str, str]]
    labels to add to the pod container metadata.
    pod_security_context pulumi_kubernetes.core.v1.PodSecurityContextArgs
    Security Context policies for controller pods. This type is defined in the Kubernetes package.
    priority_class_name str
    proxy_set_headers Mapping[str, Mapping[str, str]]
    Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
    publish_service ControllerPublishService
    Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.
    readiness_probe pulumi_kubernetes.core.v1.ProbeArgs
    Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replica_count int
    report_node_internal_ip bool
    Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.
    resources pulumi_kubernetes.core.v1.ResourceRequirementsArgs
    Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ This type is defined in the Kubernetes package.
    scope ControllerScope
    Limit the scope of the controller.
    service ControllerService
    startup_probe pulumi_kubernetes.core.v1.ProbeArgs
    Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    sysctls Mapping[str, Mapping[str, str]]
    See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.
    tcp ControllerTcp
    Allows customization of the tcp-services-configmap.
    terminate_grace_period_seconds int
    How long to wait for the drain of connections.
    tolerations pulumi_kubernetes.core.v1.TolerationArgs
    Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/. This type is defined in the Kubernetes package.
    topology_spread_constraints Sequence[pulumi_kubernetes.core.v1.TopologySpreadConstraintArgs]
    Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.
    udp ControllerUdp
    update_strategy ControllerUpdateStrategy
    The update strategy to apply to the Deployment or DaemonSet.
    watch_ingress_without_class bool
    Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.
    addHeaders Map<Map<String>>
    Will add custom headers before sending response traffic to the client according to: https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/#add-headers.
    admissionWebhooks Property Map
    affinity Property Map
    Affinity and anti-affinity Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity. This type is defined in the Kubernetes package.
    allowSnippetAnnotations Boolean
    This configuration defines if Ingress Controller should allow users to set their own *-snippet annotations, otherwise this is forbidden / dropped when users add those annotations. Global snippets in ConfigMap are still respected.
    annotations Map<String>
    Annotations to be added to the controller Deployment or DaemonSet.
    autoscaling Property Map
    Mutually exclusive with keda autoscaling.
    autoscalingTemplate List<Property Map>
    Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
    config Map<Map<String>>
    Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
    configAnnotations Map<Map<String>>
    Annotations to be added to the controller config configuration configmap.
    configMapNamespace String
    Allows customization of the configmap / nginx-configmap namespace.
    containerName String
    Configures the controller container name.
    containerPort Property Map
    Configures the ports the nginx-controller listens on.
    customTemplate Property Map
    Override NGINX template.
    dnsConfig Map<Map<String>>
    Optionally customize the pod dnsConfig.
    dnsPolicy String
    Optionally change this to ClusterFirstWithHostNet in case you have 'hostNetwork: true'. By default, while using host network, name resolution uses the host's DNS. If you wish nginx-controller to keep resolving names inside the k8s network, use ClusterFirstWithHostNet.
    electionID String
    Election ID to use for status update.
    enableMimalloc Boolean
    Enable mimalloc as a drop-in replacement for malloc. ref: https://github.com/microsoft/mimalloc.
    existingPsp String
    Use an existing PSP instead of creating one.
    extraArgs Map<Map<String>>
    Additional command line arguments to pass to nginx-ingress-controller E.g. to specify the default SSL certificate you can use default-ssl-certificate: "<namespace>/<secret_name>".
    extraContainers List<Property Map>
    Additional containers to be added to the controller pod. See https://github.com/lemonldap-ng-controller/lemonldap-ng-controller as example.
    extraEnvs List<Property Map>
    Additional environment variables to set.
    extraInitContainers List<Property Map>
    Containers, which are run before the app containers are started. - name: init-myservice image: busybox command: ['sh', '-c', 'until nslookup myservice; do echo waiting for myservice; sleep 2; done;']
    extraVolumeMounts List<Property Map>
    Additional volumeMounts to the controller main container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extraVolumes List<Property Map>
    Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
    healthCheckPath String
    Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
    heathCheckHost String
    Address to bind the health check endpoint. It is better to set this option to the internal node address if the ingress nginx controller is running in the hostNetwork: true mode.
    hostNetwork Boolean
    Required for use with CNI based kubernetes installations (such as ones set up by kubeadm), since CNI and hostport don't mix yet. Can be deprecated once https://github.com/kubernetes/kubernetes/issues/23920 is merged.
    hostPort Property Map
    Use host ports 80 and 443. Disabled by default.
    hostname Map<Map<String>>
    Optionally customize the pod hostname.
    image Property Map
    ingressClassByName Boolean
    Process IngressClass per name (additionally as per spec.controller).
    ingressClassResource Property Map
    This section refers to the creation of the IngressClass resource. IngressClass resources are supported since k8s >= 1.18 and required since k8s >= 1.19
    keda Property Map
    Mutually exclusive with hpa autoscaling.
    kind String
    DaemonSet or Deployment.
    lifecycle Property Map
    Improve connection draining when ingress controller pod is deleted using a lifecycle hook: With this new hook, we increased the default terminationGracePeriodSeconds from 30 seconds to 300, allowing the draining of connections up to five minutes. If the active connections end before that, the pod will terminate gracefully at that time. To effectively take advantage of this feature, the Configmap feature worker-shutdown-timeout new value is 240s instead of 10s. This type is defined in the Kubernetes package.
    livenessProbe Property Map
    Liveness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    maxmindLicenseKey String
    Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
    metrics Property Map
    minAvailable Number
    minReadySeconds Number
    minReadySeconds to avoid killing pods before we are ready.
    name String
    nodeSelector Map<String>
    Node labels for controller pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    podAnnotations Map<String>
    Annotations to be added to controller pods.
    podLabels Map<Map<String>>
    labels to add to the pod container metadata.
    podSecurityContext Property Map
    Security Context policies for controller pods. This type is defined in the Kubernetes package.
    priorityClassName String
    proxySetHeaders Map<Map<String>>
    Will add custom headers before sending traffic to backends according to https://github.com/kubernetes/ingress-nginx/tree/main/docs/examples/customization/custom-headers.
    publishService Property Map
    Allows customization of the source of the IP address or FQDN to report in the ingress status field. By default, it reads the information provided by the service. If disable, the status field reports the IP address of the node or nodes where an ingress controller pod is running.
    readinessProbe Property Map
    Readiness probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replicaCount Number
    reportNodeInternalIp Boolean
    Bare-metal considerations via the host network https://kubernetes.github.io/ingress-nginx/deploy/baremetal/#via-the-host-network Ingress status was blank because there is no Service exposing the NGINX Ingress controller in a configuration using the host network, the default --publish-service flag used in standard cloud setups does not apply.
    resources Property Map
    Define requests resources to avoid probe issues due to CPU utilization in busy nodes ref: https://github.com/kubernetes/ingress-nginx/issues/4735#issuecomment-551204903 Ideally, there should be no limits. https://engineering.indeedblog.com/blog/2019/12/cpu-throttling-regression-fix/ This type is defined in the Kubernetes package.
    scope Property Map
    Limit the scope of the controller.
    service Property Map
    startupProbe Property Map
    Startup probe values Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    sysctls Map<Map<String>>
    See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls.
    tcp Property Map
    Allows customization of the tcp-services-configmap.
    terminateGracePeriodSeconds Number
    How long to wait for the drain of connections.
    tolerations Property Map
    Node tolerations for server scheduling to nodes with taints Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/. This type is defined in the Kubernetes package.
    topologySpreadConstraints List<Property Map>
    Topology spread constraints rely on node labels to identify the topology domain(s) that each Node is in. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-topology-spread-constraints/.
    udp Property Map
    updateStrategy Property Map
    The update strategy to apply to the Deployment or DaemonSet.
    watchIngressWithoutClass Boolean
    Process Ingress objects without ingressClass annotation/ingressClassName field. Overrides value for --watch-ingress-without-class flag of the controller binary. Defaults to false.

    ControllerAdmissionWebhooksCreateSecretJob, ControllerAdmissionWebhooksCreateSecretJobArgs

    Resources ResourceRequirements
    This type is defined in the Kubernetes package.
    resources ResourceRequirements
    This type is defined in the Kubernetes package.
    resources Property Map
    This type is defined in the Kubernetes package.

    ControllerAdmissionWebhooksPatch, ControllerAdmissionWebhooksPatchArgs

    Enabled bool
    Image Pulumi.KubernetesIngressNginx.Inputs.ControllerImage
    NodeSelector Dictionary<string, string>
    PodAnnotations Dictionary<string, ImmutableDictionary<string, string>>
    PriorityClassName string
    Provide a priority class name to the webhook patching job.
    RunAsUser int
    Tolerations List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Toleration>
    Enabled bool
    Image ControllerImage
    NodeSelector map[string]string
    PodAnnotations map[string]map[string]string
    PriorityClassName string
    Provide a priority class name to the webhook patching job.
    RunAsUser int
    Tolerations Toleration
    enabled Boolean
    image ControllerImage
    nodeSelector Map<String,String>
    podAnnotations Map<String,Map<String,String>>
    priorityClassName String
    Provide a priority class name to the webhook patching job.
    runAsUser Integer
    tolerations List<Toleration>
    enabled boolean
    image ControllerImage
    nodeSelector {[key: string]: string}
    podAnnotations {[key: string]: {[key: string]: string}}
    priorityClassName string
    Provide a priority class name to the webhook patching job.
    runAsUser number
    tolerations pulumiKubernetestypesinputcorev1Toleration[]
    enabled bool
    image ControllerImage
    node_selector Mapping[str, str]
    pod_annotations Mapping[str, Mapping[str, str]]
    priority_class_name str
    Provide a priority class name to the webhook patching job.
    run_as_user int
    tolerations Sequence[pulumi_kubernetes.core.v1.TolerationArgs]
    enabled Boolean
    image Property Map
    nodeSelector Map<String>
    podAnnotations Map<Map<String>>
    priorityClassName String
    Provide a priority class name to the webhook patching job.
    runAsUser Number
    tolerations List<Property Map>

    ControllerAdmissionWebhooksPatchWebhbookJob, ControllerAdmissionWebhooksPatchWebhbookJobArgs

    Resources ResourceRequirements
    This type is defined in the Kubernetes package.
    resources ResourceRequirements
    This type is defined in the Kubernetes package.
    resources Property Map
    This type is defined in the Kubernetes package.

    ControllerAdmissionWebhooksService, ControllerAdmissionWebhooksServiceArgs

    Annotations Dictionary<string, ImmutableDictionary<string, string>>
    ClusterIP string
    ExternalIPs List<string>
    LoadBalancerIPs string
    LoadBalancerSourceRanges List<string>
    ServicePort int
    Type string
    Annotations map[string]map[string]string
    ClusterIP string
    ExternalIPs []string
    LoadBalancerIPs string
    LoadBalancerSourceRanges []string
    ServicePort int
    Type string
    annotations Map<String,Map<String,String>>
    clusterIP String
    externalIPs List<String>
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    servicePort Integer
    type String
    annotations {[key: string]: {[key: string]: string}}
    clusterIP string
    externalIPs string[]
    loadBalancerIPs string
    loadBalancerSourceRanges string[]
    servicePort number
    type string
    annotations Mapping[str, Mapping[str, str]]
    cluster_ip str
    external_ips Sequence[str]
    load_balancer_ips str
    load_balancer_source_ranges Sequence[str]
    service_port int
    type str
    annotations Map<Map<String>>
    clusterIP String
    externalIPs List<String>
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    servicePort Number
    type String

    ControllerCustomTemplate, ControllerCustomTemplateArgs

    ControllerDefaultBackend, ControllerDefaultBackendArgs

    Affinity Pulumi.Kubernetes.Types.Inputs.Core.V1.Affinity
    This type is defined in the Kubernetes package.
    Autoscaling Pulumi.KubernetesIngressNginx.Inputs.Autoscaling
    Enabled bool
    ExistingPsp string
    Use an existing PSP instead of creating one.
    ExtraArgs Dictionary<string, ImmutableDictionary<string, string>>
    ExtraEnvs List<Pulumi.Kubernetes.Types.Inputs.Core.V1.EnvVar>
    ExtraVolumeMounts List<Pulumi.Kubernetes.Types.Inputs.Core.V1.VolumeMount>
    Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    ExtraVolumes List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Volume>
    Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
    Image Pulumi.KubernetesIngressNginx.Inputs.ControllerImage
    LivenessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe
    Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    MinAvailable int
    Name string
    NodeSelector Dictionary<string, string>
    Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    PodAnnotations Dictionary<string, string>
    Annotations to be added to default backend pods.
    PodLabels Dictionary<string, string>
    labels to add to the pod container metadata
    PodSecurityContext Pulumi.Kubernetes.Types.Inputs.Core.V1.PodSecurityContext
    Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls. This type is defined in the Kubernetes package.
    Port int
    PriorityClassName string
    ReadinessProbe Pulumi.Kubernetes.Types.Inputs.Core.V1.Probe
    Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    ReplicaCount int
    Resources Pulumi.Kubernetes.Types.Inputs.Core.V1.ResourceRequirements
    This type is defined in the Kubernetes package.
    Service Pulumi.KubernetesIngressNginx.Inputs.ControllerDefaultBackendService
    ServiceAccount Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceAccount
    Tolerations List<Pulumi.Kubernetes.Types.Inputs.Core.V1.Toleration>
    Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
    Affinity Affinity
    This type is defined in the Kubernetes package.
    Autoscaling Autoscaling
    Enabled bool
    ExistingPsp string
    Use an existing PSP instead of creating one.
    ExtraArgs map[string]map[string]string
    ExtraEnvs EnvVar
    ExtraVolumeMounts VolumeMount
    Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    ExtraVolumes Volume
    Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
    Image ControllerImage
    LivenessProbe Probe
    Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    MinAvailable int
    Name string
    NodeSelector map[string]string
    Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    PodAnnotations map[string]string
    Annotations to be added to default backend pods.
    PodLabels map[string]string
    labels to add to the pod container metadata
    PodSecurityContext PodSecurityContext
    Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls. This type is defined in the Kubernetes package.
    Port int
    PriorityClassName string
    ReadinessProbe Probe
    Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    ReplicaCount int
    Resources ResourceRequirements
    This type is defined in the Kubernetes package.
    Service ControllerDefaultBackendService
    ServiceAccount ControllerServiceAccount
    Tolerations Toleration
    Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
    affinity Affinity
    This type is defined in the Kubernetes package.
    autoscaling Autoscaling
    enabled Boolean
    existingPsp String
    Use an existing PSP instead of creating one.
    extraArgs Map<String,Map<String,String>>
    extraEnvs List<EnvVar>
    extraVolumeMounts List<VolumeMount>
    Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extraVolumes List<Volume>
    Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
    image ControllerImage
    livenessProbe Probe
    Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    minAvailable Integer
    name String
    nodeSelector Map<String,String>
    Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    podAnnotations Map<String,String>
    Annotations to be added to default backend pods.
    podLabels Map<String,String>
    labels to add to the pod container metadata
    podSecurityContext PodSecurityContext
    Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls. This type is defined in the Kubernetes package.
    port Integer
    priorityClassName String
    readinessProbe Probe
    Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replicaCount Integer
    resources ResourceRequirements
    This type is defined in the Kubernetes package.
    service ControllerDefaultBackendService
    serviceAccount ControllerServiceAccount
    tolerations List<Toleration>
    Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
    affinity pulumiKubernetestypesinputcorev1Affinity
    This type is defined in the Kubernetes package.
    autoscaling Autoscaling
    enabled boolean
    existingPsp string
    Use an existing PSP instead of creating one.
    extraArgs {[key: string]: {[key: string]: string}}
    extraEnvs pulumiKubernetestypesinputcorev1EnvVar[]
    extraVolumeMounts pulumiKubernetestypesinputcorev1VolumeMount[]
    Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extraVolumes pulumiKubernetestypesinputcorev1Volume[]
    Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
    image ControllerImage
    livenessProbe pulumiKubernetestypesinputcorev1Probe
    Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    minAvailable number
    name string
    nodeSelector {[key: string]: string}
    Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    podAnnotations {[key: string]: string}
    Annotations to be added to default backend pods.
    podLabels {[key: string]: string}
    labels to add to the pod container metadata
    podSecurityContext pulumiKubernetestypesinputcorev1PodSecurityContext
    Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls. This type is defined in the Kubernetes package.
    port number
    priorityClassName string
    readinessProbe pulumiKubernetestypesinputcorev1Probe
    Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replicaCount number
    resources pulumiKubernetestypesinputcorev1ResourceRequirements
    This type is defined in the Kubernetes package.
    service ControllerDefaultBackendService
    serviceAccount ControllerServiceAccount
    tolerations pulumiKubernetestypesinputcorev1Toleration[]
    Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
    affinity pulumi_kubernetes.core.v1.AffinityArgs
    This type is defined in the Kubernetes package.
    autoscaling Autoscaling
    enabled bool
    existing_psp str
    Use an existing PSP instead of creating one.
    extra_args Mapping[str, Mapping[str, str]]
    extra_envs Sequence[pulumi_kubernetes.core.v1.EnvVarArgs]
    extra_volume_mounts Sequence[pulumi_kubernetes.core.v1.VolumeMountArgs]
    Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extra_volumes Sequence[pulumi_kubernetes.core.v1.VolumeArgs]
    Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
    image ControllerImage
    liveness_probe pulumi_kubernetes.core.v1.ProbeArgs
    Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    min_available int
    name str
    node_selector Mapping[str, str]
    Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    pod_annotations Mapping[str, str]
    Annotations to be added to default backend pods.
    pod_labels Mapping[str, str]
    labels to add to the pod container metadata
    pod_security_context pulumi_kubernetes.core.v1.PodSecurityContextArgs
    Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls. This type is defined in the Kubernetes package.
    port int
    priority_class_name str
    readiness_probe pulumi_kubernetes.core.v1.ProbeArgs
    Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replica_count int
    resources pulumi_kubernetes.core.v1.ResourceRequirementsArgs
    This type is defined in the Kubernetes package.
    service ControllerDefaultBackendService
    service_account ControllerServiceAccount
    tolerations Sequence[pulumi_kubernetes.core.v1.TolerationArgs]
    Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/
    affinity Property Map
    This type is defined in the Kubernetes package.
    autoscaling Property Map
    enabled Boolean
    existingPsp String
    Use an existing PSP instead of creating one.
    extraArgs Map<Map<String>>
    extraEnvs List<Property Map>
    extraVolumeMounts List<Property Map>
    Additional volumeMounts to the default backend container. - name: copy-portal-skins mountPath: /var/lib/lemonldap-ng/portal/skins
    extraVolumes List<Property Map>
    Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
    image Property Map
    livenessProbe Property Map
    Liveness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    minAvailable Number
    name String
    nodeSelector Map<String>
    Node labels for default backend pod assignment Ref: https://kubernetes.io/docs/user-guide/node-selection/.
    podAnnotations Map<String>
    Annotations to be added to default backend pods.
    podLabels Map<String>
    labels to add to the pod container metadata
    podSecurityContext Property Map
    Security Context policies for controller pods. See https://kubernetes.io/docs/tasks/administer-cluster/sysctl-cluster/ for notes on enabling and using sysctls. This type is defined in the Kubernetes package.
    port Number
    priorityClassName String
    readinessProbe Property Map
    Readiness probe values for default backend. Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#container-probes. This type is defined in the Kubernetes package.
    replicaCount Number
    resources Property Map
    This type is defined in the Kubernetes package.
    service Property Map
    serviceAccount Property Map
    tolerations List<Property Map>
    Node tolerations for server scheduling to nodes with taints. Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/

    ControllerDefaultBackendService, ControllerDefaultBackendServiceArgs

    Annotations Dictionary<string, string>
    ClusterIP string
    ExternalIPs List<string>
    List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    LoadBalancerIP string
    LoadBalancerSourceRanges List<string>
    ServicePort int
    Type string
    Annotations map[string]string
    ClusterIP string
    ExternalIPs []string
    List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    LoadBalancerIP string
    LoadBalancerSourceRanges []string
    ServicePort int
    Type string
    annotations Map<String,String>
    clusterIP String
    externalIPs List<String>
    List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    loadBalancerIP String
    loadBalancerSourceRanges List<String>
    servicePort Integer
    type String
    annotations {[key: string]: string}
    clusterIP string
    externalIPs string[]
    List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    loadBalancerIP string
    loadBalancerSourceRanges string[]
    servicePort number
    type string
    annotations Mapping[str, str]
    cluster_ip str
    external_ips Sequence[str]
    List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    load_balancer_ip str
    load_balancer_source_ranges Sequence[str]
    service_port int
    type str
    annotations Map<String>
    clusterIP String
    externalIPs List<String>
    List of IP addresses at which the default backend service is available. Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    loadBalancerIP String
    loadBalancerSourceRanges List<String>
    servicePort Number
    type String

    ControllerHostPort, ControllerHostPortArgs

    ControllerHostPortPorts, ControllerHostPortPortsArgs

    Http int
    Https int
    Http int
    Https int
    http Integer
    https Integer
    http number
    https number
    http int
    https int
    http Number
    https Number

    ControllerImage, ControllerImageArgs

    AllowPrivilegeEscalation bool
    Digest string
    Image string
    PullPolicy string
    ReadOnlyRootFilesystem bool
    Registry string
    Repository string
    for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.
    RunAsNonRoot bool
    RunAsUser string
    Tag string
    AllowPrivilegeEscalation bool
    Digest string
    Image string
    PullPolicy string
    ReadOnlyRootFilesystem bool
    Registry string
    Repository string
    for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.
    RunAsNonRoot bool
    RunAsUser string
    Tag string
    allowPrivilegeEscalation Boolean
    digest String
    image String
    pullPolicy String
    readOnlyRootFilesystem Boolean
    registry String
    repository String
    for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.
    runAsNonRoot Boolean
    runAsUser String
    tag String
    allowPrivilegeEscalation boolean
    digest string
    image string
    pullPolicy string
    readOnlyRootFilesystem boolean
    registry string
    repository string
    for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.
    runAsNonRoot boolean
    runAsUser string
    tag string
    allow_privilege_escalation bool
    digest str
    image str
    pull_policy str
    read_only_root_filesystem bool
    registry str
    repository str
    for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.
    run_as_non_root bool
    run_as_user str
    tag str
    allowPrivilegeEscalation Boolean
    digest String
    image String
    pullPolicy String
    readOnlyRootFilesystem Boolean
    registry String
    repository String
    for backwards compatibility consider setting the full image url via the repository value below use either current default registry/image or repository format or installing will fail.
    runAsNonRoot Boolean
    runAsUser String
    tag String

    ControllerIngressClassResource, ControllerIngressClassResourceArgs

    ControllerValue string
    Default bool
    Enabled bool
    Name string
    Parameters Dictionary<string, ImmutableDictionary<string, string>>
    Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
    ControllerValue string
    Default bool
    Enabled bool
    Name string
    Parameters map[string]map[string]string
    Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
    controllerValue String
    default_ Boolean
    enabled Boolean
    name String
    parameters Map<String,Map<String,String>>
    Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
    controllerValue string
    default boolean
    enabled boolean
    name string
    parameters {[key: string]: {[key: string]: string}}
    Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
    controller_value str
    default bool
    enabled bool
    name str
    parameters Mapping[str, Mapping[str, str]]
    Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.
    controllerValue String
    default Boolean
    enabled Boolean
    name String
    parameters Map<Map<String>>
    Parameters is a link to a custom resource containing additional configuration for the controller. This is optional if the controller does not require extra parameters.

    ControllerMetrics, ControllerMetricsArgs

    enabled Boolean
    port Integer
    if this port is changed, change healthz-port: in extraArgs: accordingly.
    prometheusRule ControllerMetricsPrometheusRules
    service ControllerMetricsService
    serviceMonitor ControllerMetricsServiceMonitor
    enabled boolean
    port number
    if this port is changed, change healthz-port: in extraArgs: accordingly.
    prometheusRule ControllerMetricsPrometheusRules
    service ControllerMetricsService
    serviceMonitor ControllerMetricsServiceMonitor
    enabled Boolean
    port Number
    if this port is changed, change healthz-port: in extraArgs: accordingly.
    prometheusRule Property Map
    service Property Map
    serviceMonitor Property Map

    ControllerMetricsPrometheusRules, ControllerMetricsPrometheusRulesArgs

    AdditionalLabels Dictionary<string, ImmutableDictionary<string, string>>
    Enabled bool
    Namespace string
    Rules List<ImmutableDictionary<string, string>>
    AdditionalLabels map[string]map[string]string
    Enabled bool
    Namespace string
    Rules []map[string]string
    additionalLabels Map<String,Map<String,String>>
    enabled Boolean
    namespace String
    rules List<Map<String,String>>
    additionalLabels {[key: string]: {[key: string]: string}}
    enabled boolean
    namespace string
    rules {[key: string]: string}[]
    additional_labels Mapping[str, Mapping[str, str]]
    enabled bool
    namespace str
    rules Sequence[Mapping[str, str]]
    additionalLabels Map<Map<String>>
    enabled Boolean
    namespace String
    rules List<Map<String>>

    ControllerMetricsService, ControllerMetricsServiceArgs

    Annotations Dictionary<string, string>
    ClusterIP string
    ExternalIPs List<string>
    ExternalTrafficPolicy string
    LoadBalancerIPs string
    LoadBalancerSourceRanges List<string>
    NodePort string
    ServicePort int
    Type string
    annotations Map<String,String>
    clusterIP String
    externalIPs List<String>
    externalTrafficPolicy String
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    nodePort String
    servicePort Integer
    type String
    annotations {[key: string]: string}
    clusterIP string
    externalIPs string[]
    externalTrafficPolicy string
    loadBalancerIPs string
    loadBalancerSourceRanges string[]
    nodePort string
    servicePort number
    type string
    annotations Map<String>
    clusterIP String
    externalIPs List<String>
    externalTrafficPolicy String
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    nodePort String
    servicePort Number
    type String

    ControllerMetricsServiceMonitor, ControllerMetricsServiceMonitorArgs

    AdditionalLabels Dictionary<string, ImmutableDictionary<string, string>>
    Enabled bool
    HonorLabels bool
    JobLabel string
    The label to use to retrieve the job name from.
    MetricRelabelings List<string>
    Namespace string
    NamespaceSelector Dictionary<string, ImmutableDictionary<string, string>>
    ScrapeInterval string
    TargetLabels List<string>
    AdditionalLabels map[string]map[string]string
    Enabled bool
    HonorLabels bool
    JobLabel string
    The label to use to retrieve the job name from.
    MetricRelabelings []string
    Namespace string
    NamespaceSelector map[string]map[string]string
    ScrapeInterval string
    TargetLabels []string
    additionalLabels Map<String,Map<String,String>>
    enabled Boolean
    honorLabels Boolean
    jobLabel String
    The label to use to retrieve the job name from.
    metricRelabelings List<String>
    namespace String
    namespaceSelector Map<String,Map<String,String>>
    scrapeInterval String
    targetLabels List<String>
    additionalLabels {[key: string]: {[key: string]: string}}
    enabled boolean
    honorLabels boolean
    jobLabel string
    The label to use to retrieve the job name from.
    metricRelabelings string[]
    namespace string
    namespaceSelector {[key: string]: {[key: string]: string}}
    scrapeInterval string
    targetLabels string[]
    additional_labels Mapping[str, Mapping[str, str]]
    enabled bool
    honor_labels bool
    job_label str
    The label to use to retrieve the job name from.
    metric_relabelings Sequence[str]
    namespace str
    namespace_selector Mapping[str, Mapping[str, str]]
    scrape_interval str
    target_labels Sequence[str]
    additionalLabels Map<Map<String>>
    enabled Boolean
    honorLabels Boolean
    jobLabel String
    The label to use to retrieve the job name from.
    metricRelabelings List<String>
    namespace String
    namespaceSelector Map<Map<String>>
    scrapeInterval String
    targetLabels List<String>

    ControllerPodSecurityPolicy, ControllerPodSecurityPolicyArgs

    Enabled bool
    Enabled bool
    enabled Boolean
    enabled boolean
    enabled bool
    enabled Boolean

    ControllerPort, ControllerPortArgs

    Http int
    Https int
    Http int
    Https int
    http Integer
    https Integer
    http number
    https number
    http int
    https int
    http Number
    https Number

    ControllerPublishService, ControllerPublishServiceArgs

    Enabled bool
    PathOverride string
    Allows overriding of the publish service to bind to. Must be /<service_name>.
    Enabled bool
    PathOverride string
    Allows overriding of the publish service to bind to. Must be /<service_name>.
    enabled Boolean
    pathOverride String
    Allows overriding of the publish service to bind to. Must be /<service_name>.
    enabled boolean
    pathOverride string
    Allows overriding of the publish service to bind to. Must be /<service_name>.
    enabled bool
    path_override str
    Allows overriding of the publish service to bind to. Must be /<service_name>.
    enabled Boolean
    pathOverride String
    Allows overriding of the publish service to bind to. Must be /<service_name>.

    ControllerRBAC, ControllerRBACArgs

    Create bool
    Scope bool
    Create bool
    Scope bool
    create Boolean
    scope Boolean
    create boolean
    scope boolean
    create bool
    scope bool
    create Boolean
    scope Boolean

    ControllerRollingUpdate, ControllerRollingUpdateArgs

    ControllerScope, ControllerScopeArgs

    Enabled bool
    Namespace string
    Enabled bool
    Namespace string
    enabled Boolean
    namespace String
    enabled boolean
    namespace string
    enabled Boolean
    namespace String

    ControllerService, ControllerServiceArgs

    Annotations Dictionary<string, ImmutableDictionary<string, string>>
    ClusterIP string
    EnableHttp bool
    EnableHttps bool
    Enabled bool
    ExternalIPs List<string>
    List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ExternalTrafficPolicy string
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    HealthCheckNodePort int
    specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    Internal Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceInternal
    Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
    Labels Dictionary<string, ImmutableDictionary<string, string>>
    LoadBalancerIPs string
    LoadBalancerSourceRanges List<string>
    NodePorts Pulumi.KubernetesIngressNginx.Inputs.ControllerServiceNodePorts
    Ports Pulumi.KubernetesIngressNginx.Inputs.ControllerPort
    SessionAffinity string
    Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    TargetPorts Pulumi.KubernetesIngressNginx.Inputs.ControllerPort
    Type string
    Annotations map[string]map[string]string
    ClusterIP string
    EnableHttp bool
    EnableHttps bool
    Enabled bool
    ExternalIPs []string
    List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    ExternalTrafficPolicy string
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    HealthCheckNodePort int
    specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    Internal ControllerServiceInternal
    Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
    Labels map[string]map[string]string
    LoadBalancerIPs string
    LoadBalancerSourceRanges []string
    NodePorts ControllerServiceNodePorts
    Ports ControllerPort
    SessionAffinity string
    Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    TargetPorts ControllerPort
    Type string
    annotations Map<String,Map<String,String>>
    clusterIP String
    enableHttp Boolean
    enableHttps Boolean
    enabled Boolean
    externalIPs List<String>
    List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    externalTrafficPolicy String
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    healthCheckNodePort Integer
    specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    internal ControllerServiceInternal
    Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
    labels Map<String,Map<String,String>>
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    nodePorts ControllerServiceNodePorts
    ports ControllerPort
    sessionAffinity String
    Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    targetPorts ControllerPort
    type String
    annotations {[key: string]: {[key: string]: string}}
    clusterIP string
    enableHttp boolean
    enableHttps boolean
    enabled boolean
    externalIPs string[]
    List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    externalTrafficPolicy string
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    healthCheckNodePort number
    specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    internal ControllerServiceInternal
    Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
    labels {[key: string]: {[key: string]: string}}
    loadBalancerIPs string
    loadBalancerSourceRanges string[]
    nodePorts ControllerServiceNodePorts
    ports ControllerPort
    sessionAffinity string
    Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    targetPorts ControllerPort
    type string
    annotations Mapping[str, Mapping[str, str]]
    cluster_ip str
    enable_http bool
    enable_https bool
    enabled bool
    external_ips Sequence[str]
    List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    external_traffic_policy str
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    health_check_node_port int
    specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    internal ControllerServiceInternal
    Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
    labels Mapping[str, Mapping[str, str]]
    load_balancer_ips str
    load_balancer_source_ranges Sequence[str]
    node_ports ControllerServiceNodePorts
    ports ControllerPort
    session_affinity str
    Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    target_ports ControllerPort
    type str
    annotations Map<Map<String>>
    clusterIP String
    enableHttp Boolean
    enableHttps Boolean
    enabled Boolean
    externalIPs List<String>
    List of IP addresses at which the controller services are available Ref: https://kubernetes.io/docs/user-guide/services/#external-ips
    externalTrafficPolicy String
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    healthCheckNodePort Number
    specifies the health check node port (numeric port number) for the service. If healthCheckNodePort isn’t specified, the service controller allocates a port from your cluster’s NodePort range. Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip
    internal Property Map
    Enables an additional internal load balancer (besides the external one). Annotations are mandatory for the load balancer to come up. Varies with the cloud service.
    labels Map<Map<String>>
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    nodePorts Property Map
    ports Property Map
    sessionAffinity String
    Must be either "None" or "ClientIP" if set. Kubernetes will default to "None". Ref: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
    targetPorts Property Map
    type String

    ControllerServiceAccount, ControllerServiceAccountArgs

    ControllerServiceInternal, ControllerServiceInternalArgs

    Annotations Dictionary<string, ImmutableDictionary<string, string>>
    Enabled bool
    ExternalTrafficPolicy string
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    Labels Dictionary<string, ImmutableDictionary<string, string>>
    LoadBalancerIPs string
    LoadBalancerSourceRanges List<string>
    Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
    Annotations map[string]map[string]string
    Enabled bool
    ExternalTrafficPolicy string
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    Labels map[string]map[string]string
    LoadBalancerIPs string
    LoadBalancerSourceRanges []string
    Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
    annotations Map<String,Map<String,String>>
    enabled Boolean
    externalTrafficPolicy String
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    labels Map<String,Map<String,String>>
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
    annotations {[key: string]: {[key: string]: string}}
    enabled boolean
    externalTrafficPolicy string
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    labels {[key: string]: {[key: string]: string}}
    loadBalancerIPs string
    loadBalancerSourceRanges string[]
    Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
    annotations Mapping[str, Mapping[str, str]]
    enabled bool
    external_traffic_policy str
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    labels Mapping[str, Mapping[str, str]]
    load_balancer_ips str
    load_balancer_source_ranges Sequence[str]
    Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
    annotations Map<Map<String>>
    enabled Boolean
    externalTrafficPolicy String
    Set external traffic policy to: "Local" to preserve source IP on providers supporting it. Ref: https://kubernetes.io/docs/tutorials/services/source-ip/#source-ip-for-services-with-typeloadbalancer
    labels Map<Map<String>>
    loadBalancerIPs String
    loadBalancerSourceRanges List<String>
    Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.

    ControllerServiceNodePorts, ControllerServiceNodePortsArgs

    Http string
    Https string
    Tcp Dictionary<string, ImmutableDictionary<string, string>>
    Udp Dictionary<string, ImmutableDictionary<string, string>>
    Http string
    Https string
    Tcp map[string]map[string]string
    Udp map[string]map[string]string
    http String
    https String
    tcp Map<String,Map<String,String>>
    udp Map<String,Map<String,String>>
    http string
    https string
    tcp {[key: string]: {[key: string]: string}}
    udp {[key: string]: {[key: string]: string}}
    http str
    https str
    tcp Mapping[str, Mapping[str, str]]
    udp Mapping[str, Mapping[str, str]]
    http String
    https String
    tcp Map<Map<String>>
    udp Map<Map<String>>

    ControllerTcp, ControllerTcpArgs

    Annotations Dictionary<string, string>
    Annotations to be added to the tcp config configmap.
    ConfigMapNamespace string
    Annotations map[string]string
    Annotations to be added to the tcp config configmap.
    ConfigMapNamespace string
    annotations Map<String,String>
    Annotations to be added to the tcp config configmap.
    configMapNamespace String
    annotations {[key: string]: string}
    Annotations to be added to the tcp config configmap.
    configMapNamespace string
    annotations Mapping[str, str]
    Annotations to be added to the tcp config configmap.
    config_map_namespace str
    annotations Map<String>
    Annotations to be added to the tcp config configmap.
    configMapNamespace String

    ControllerUdp, ControllerUdpArgs

    Annotations Dictionary<string, string>
    Annotations to be added to the udp config configmap.
    ConfigMapNamespace string
    Annotations map[string]string
    Annotations to be added to the udp config configmap.
    ConfigMapNamespace string
    annotations Map<String,String>
    Annotations to be added to the udp config configmap.
    configMapNamespace String
    annotations {[key: string]: string}
    Annotations to be added to the udp config configmap.
    configMapNamespace string
    annotations Mapping[str, str]
    Annotations to be added to the udp config configmap.
    config_map_namespace str
    annotations Map<String>
    Annotations to be added to the udp config configmap.
    configMapNamespace String

    ControllerUpdateStrategy, ControllerUpdateStrategyArgs

    Keda, KedaArgs

    ApiVersion string
    apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.
    Behavior AutoscalingBehavior
    CooldownPeriod int
    Enabled bool
    MaxReplicas int
    MinReplicas int
    PollingInterval int
    RestoreToOriginalReplicaCount bool
    ScaledObject KedaScaledObject
    Triggers []KedaTrigger
    apiVersion String
    apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.
    behavior AutoscalingBehavior
    cooldownPeriod Integer
    enabled Boolean
    maxReplicas Integer
    minReplicas Integer
    pollingInterval Integer
    restoreToOriginalReplicaCount Boolean
    scaledObject KedaScaledObject
    triggers List<KedaTrigger>
    apiVersion string
    apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.
    behavior AutoscalingBehavior
    cooldownPeriod number
    enabled boolean
    maxReplicas number
    minReplicas number
    pollingInterval number
    restoreToOriginalReplicaCount boolean
    scaledObject KedaScaledObject
    triggers KedaTrigger[]
    apiVersion String
    apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.
    behavior Property Map
    cooldownPeriod Number
    enabled Boolean
    maxReplicas Number
    minReplicas Number
    pollingInterval Number
    restoreToOriginalReplicaCount Boolean
    scaledObject Property Map
    triggers List<Property Map>

    KedaScaledObject, KedaScaledObjectArgs

    Annotations Dictionary<string, string>
    Custom annotations for ScaledObject resource.
    Annotations map[string]string
    Custom annotations for ScaledObject resource.
    annotations Map<String,String>
    Custom annotations for ScaledObject resource.
    annotations {[key: string]: string}
    Custom annotations for ScaledObject resource.
    annotations Mapping[str, str]
    Custom annotations for ScaledObject resource.
    annotations Map<String>
    Custom annotations for ScaledObject resource.

    KedaTrigger, KedaTriggerArgs

    Metadata Dictionary<string, ImmutableDictionary<string, string>>
    Type string
    Metadata map[string]map[string]string
    Type string
    metadata Map<String,Map<String,String>>
    type String
    metadata {[key: string]: {[key: string]: string}}
    type string
    metadata Mapping[str, Mapping[str, str]]
    type str
    metadata Map<Map<String>>
    type String

    Release, ReleaseArgs

    Atomic bool
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    Chart string
    Chart name to be installed. A path may be used.
    CleanupOnFail bool
    Allow deletion of new resources created in this upgrade when upgrade fails.
    CreateNamespace bool
    Create the namespace if it does not exist.
    DependencyUpdate bool
    Run helm dependency update before installing the chart.
    Description string
    Add a custom description
    Devel bool
    Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.
    DisableCRDHooks bool
    Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
    DisableOpenapiValidation bool
    If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    DisableWebhooks bool
    Prevent hooks from running.
    ForceUpdate bool
    Force resource update through delete/recreate if needed.
    Keyring string
    Location of public keys used for verification. Used only if verify is true
    Lint bool
    Run helm lint when planning.
    Manifest Dictionary<string, object>
    The rendered manifests as JSON. Not yet supported.
    MaxHistory int
    Limit the maximum number of revisions saved per release. Use 0 for no limit.
    Name string
    Release name.
    Namespace string
    Namespace to install the release into.
    Postrender string
    Postrender command to run.
    RecreatePods bool
    Perform pods restart during upgrade/rollback.
    RenderSubchartNotes bool
    If set, render subchart notes along with the parent.
    Replace bool
    Re-use the given name, even if that name is already used. This is unsafe in production
    RepositoryOpts Pulumi.KubernetesIngressNginx.Inputs.RepositoryOpts
    Specification defining the Helm chart repository to use.
    ResetValues bool
    When upgrading, reset the values to the ones built into the chart.
    ResourceNames Dictionary<string, ImmutableArray<string>>
    Names of resources created by the release grouped by "kind/version".
    ReuseValues bool
    When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
    SkipAwait bool
    By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
    SkipCrds bool
    If set, no CRDs will be installed. By default, CRDs are installed if not already present.
    Timeout int
    Time in seconds to wait for any individual kubernetes operation.
    ValueYamlFiles List<AssetOrArchive>
    List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
    Values Dictionary<string, object>
    Custom values set for the release.
    Verify bool
    Verify the package before installing it.
    Version string
    Specify the exact chart version to install. If this is not specified, the latest version is installed.
    WaitForJobs bool
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    Atomic bool
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    Chart string
    Chart name to be installed. A path may be used.
    CleanupOnFail bool
    Allow deletion of new resources created in this upgrade when upgrade fails.
    CreateNamespace bool
    Create the namespace if it does not exist.
    DependencyUpdate bool
    Run helm dependency update before installing the chart.
    Description string
    Add a custom description
    Devel bool
    Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.
    DisableCRDHooks bool
    Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
    DisableOpenapiValidation bool
    If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    DisableWebhooks bool
    Prevent hooks from running.
    ForceUpdate bool
    Force resource update through delete/recreate if needed.
    Keyring string
    Location of public keys used for verification. Used only if verify is true
    Lint bool
    Run helm lint when planning.
    Manifest map[string]interface{}
    The rendered manifests as JSON. Not yet supported.
    MaxHistory int
    Limit the maximum number of revisions saved per release. Use 0 for no limit.
    Name string
    Release name.
    Namespace string
    Namespace to install the release into.
    Postrender string
    Postrender command to run.
    RecreatePods bool
    Perform pods restart during upgrade/rollback.
    RenderSubchartNotes bool
    If set, render subchart notes along with the parent.
    Replace bool
    Re-use the given name, even if that name is already used. This is unsafe in production
    RepositoryOpts RepositoryOpts
    Specification defining the Helm chart repository to use.
    ResetValues bool
    When upgrading, reset the values to the ones built into the chart.
    ResourceNames map[string][]string
    Names of resources created by the release grouped by "kind/version".
    ReuseValues bool
    When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
    SkipAwait bool
    By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
    SkipCrds bool
    If set, no CRDs will be installed. By default, CRDs are installed if not already present.
    Timeout int
    Time in seconds to wait for any individual kubernetes operation.
    ValueYamlFiles AssetOrArchive
    List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
    Values map[string]interface{}
    Custom values set for the release.
    Verify bool
    Verify the package before installing it.
    Version string
    Specify the exact chart version to install. If this is not specified, the latest version is installed.
    WaitForJobs bool
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    atomic Boolean
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    chart String
    Chart name to be installed. A path may be used.
    cleanupOnFail Boolean
    Allow deletion of new resources created in this upgrade when upgrade fails.
    createNamespace Boolean
    Create the namespace if it does not exist.
    dependencyUpdate Boolean
    Run helm dependency update before installing the chart.
    description String
    Add a custom description
    devel Boolean
    Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.
    disableCRDHooks Boolean
    Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
    disableOpenapiValidation Boolean
    If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    disableWebhooks Boolean
    Prevent hooks from running.
    forceUpdate Boolean
    Force resource update through delete/recreate if needed.
    keyring String
    Location of public keys used for verification. Used only if verify is true
    lint Boolean
    Run helm lint when planning.
    manifest Map<String,Object>
    The rendered manifests as JSON. Not yet supported.
    maxHistory Integer
    Limit the maximum number of revisions saved per release. Use 0 for no limit.
    name String
    Release name.
    namespace String
    Namespace to install the release into.
    postrender String
    Postrender command to run.
    recreatePods Boolean
    Perform pods restart during upgrade/rollback.
    renderSubchartNotes Boolean
    If set, render subchart notes along with the parent.
    replace Boolean
    Re-use the given name, even if that name is already used. This is unsafe in production
    repositoryOpts RepositoryOpts
    Specification defining the Helm chart repository to use.
    resetValues Boolean
    When upgrading, reset the values to the ones built into the chart.
    resourceNames Map<String,List<String>>
    Names of resources created by the release grouped by "kind/version".
    reuseValues Boolean
    When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
    skipAwait Boolean
    By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
    skipCrds Boolean
    If set, no CRDs will be installed. By default, CRDs are installed if not already present.
    timeout Integer
    Time in seconds to wait for any individual kubernetes operation.
    valueYamlFiles List<AssetOrArchive>
    List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
    values Map<String,Object>
    Custom values set for the release.
    verify Boolean
    Verify the package before installing it.
    version String
    Specify the exact chart version to install. If this is not specified, the latest version is installed.
    waitForJobs Boolean
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    atomic boolean
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    chart string
    Chart name to be installed. A path may be used.
    cleanupOnFail boolean
    Allow deletion of new resources created in this upgrade when upgrade fails.
    createNamespace boolean
    Create the namespace if it does not exist.
    dependencyUpdate boolean
    Run helm dependency update before installing the chart.
    description string
    Add a custom description
    devel boolean
    Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.
    disableCRDHooks boolean
    Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
    disableOpenapiValidation boolean
    If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    disableWebhooks boolean
    Prevent hooks from running.
    forceUpdate boolean
    Force resource update through delete/recreate if needed.
    keyring string
    Location of public keys used for verification. Used only if verify is true
    lint boolean
    Run helm lint when planning.
    manifest {[key: string]: any}
    The rendered manifests as JSON. Not yet supported.
    maxHistory number
    Limit the maximum number of revisions saved per release. Use 0 for no limit.
    name string
    Release name.
    namespace string
    Namespace to install the release into.
    postrender string
    Postrender command to run.
    recreatePods boolean
    Perform pods restart during upgrade/rollback.
    renderSubchartNotes boolean
    If set, render subchart notes along with the parent.
    replace boolean
    Re-use the given name, even if that name is already used. This is unsafe in production
    repositoryOpts RepositoryOpts
    Specification defining the Helm chart repository to use.
    resetValues boolean
    When upgrading, reset the values to the ones built into the chart.
    resourceNames {[key: string]: string[]}
    Names of resources created by the release grouped by "kind/version".
    reuseValues boolean
    When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
    skipAwait boolean
    By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
    skipCrds boolean
    If set, no CRDs will be installed. By default, CRDs are installed if not already present.
    timeout number
    Time in seconds to wait for any individual kubernetes operation.
    valueYamlFiles (pulumiassetAsset | pulumiassetArchive)[]
    List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
    values {[key: string]: any}
    Custom values set for the release.
    verify boolean
    Verify the package before installing it.
    version string
    Specify the exact chart version to install. If this is not specified, the latest version is installed.
    waitForJobs boolean
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    atomic bool
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    chart str
    Chart name to be installed. A path may be used.
    cleanup_on_fail bool
    Allow deletion of new resources created in this upgrade when upgrade fails.
    create_namespace bool
    Create the namespace if it does not exist.
    dependency_update bool
    Run helm dependency update before installing the chart.
    description str
    Add a custom description
    devel bool
    Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.
    disable_crd_hooks bool
    Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
    disable_openapi_validation bool
    If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    disable_webhooks bool
    Prevent hooks from running.
    force_update bool
    Force resource update through delete/recreate if needed.
    keyring str
    Location of public keys used for verification. Used only if verify is true
    lint bool
    Run helm lint when planning.
    manifest Mapping[str, Any]
    The rendered manifests as JSON. Not yet supported.
    max_history int
    Limit the maximum number of revisions saved per release. Use 0 for no limit.
    name str
    Release name.
    namespace str
    Namespace to install the release into.
    postrender str
    Postrender command to run.
    recreate_pods bool
    Perform pods restart during upgrade/rollback.
    render_subchart_notes bool
    If set, render subchart notes along with the parent.
    replace bool
    Re-use the given name, even if that name is already used. This is unsafe in production
    repository_opts RepositoryOpts
    Specification defining the Helm chart repository to use.
    reset_values bool
    When upgrading, reset the values to the ones built into the chart.
    resource_names Mapping[str, Sequence[str]]
    Names of resources created by the release grouped by "kind/version".
    reuse_values bool
    When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
    skip_await bool
    By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
    skip_crds bool
    If set, no CRDs will be installed. By default, CRDs are installed if not already present.
    timeout int
    Time in seconds to wait for any individual kubernetes operation.
    value_yaml_files Sequence[Union[pulumi.Asset, pulumi.Archive]]
    List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
    values Mapping[str, Any]
    Custom values set for the release.
    verify bool
    Verify the package before installing it.
    version str
    Specify the exact chart version to install. If this is not specified, the latest version is installed.
    wait_for_jobs bool
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.
    atomic Boolean
    If set, installation process purges chart on fail. skipAwait will be disabled automatically if atomic is used.
    chart String
    Chart name to be installed. A path may be used.
    cleanupOnFail Boolean
    Allow deletion of new resources created in this upgrade when upgrade fails.
    createNamespace Boolean
    Create the namespace if it does not exist.
    dependencyUpdate Boolean
    Run helm dependency update before installing the chart.
    description String
    Add a custom description
    devel Boolean
    Use chart development versions, too. Equivalent to version '>0.0.0-0'. If version is set, this is ignored.
    disableCRDHooks Boolean
    Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
    disableOpenapiValidation Boolean
    If set, the installation process will not validate rendered templates against the Kubernetes OpenAPI Schema
    disableWebhooks Boolean
    Prevent hooks from running.
    forceUpdate Boolean
    Force resource update through delete/recreate if needed.
    keyring String
    Location of public keys used for verification. Used only if verify is true
    lint Boolean
    Run helm lint when planning.
    manifest Map<Any>
    The rendered manifests as JSON. Not yet supported.
    maxHistory Number
    Limit the maximum number of revisions saved per release. Use 0 for no limit.
    name String
    Release name.
    namespace String
    Namespace to install the release into.
    postrender String
    Postrender command to run.
    recreatePods Boolean
    Perform pods restart during upgrade/rollback.
    renderSubchartNotes Boolean
    If set, render subchart notes along with the parent.
    replace Boolean
    Re-use the given name, even if that name is already used. This is unsafe in production
    repositoryOpts Property Map
    Specification defining the Helm chart repository to use.
    resetValues Boolean
    When upgrading, reset the values to the ones built into the chart.
    resourceNames Map<List<String>>
    Names of resources created by the release grouped by "kind/version".
    reuseValues Boolean
    When upgrading, reuse the last release's values and merge in any overrides. If 'resetValues' is specified, this is ignored
    skipAwait Boolean
    By default, the provider waits until all resources are in a ready state before marking the release as successful. Setting this to true will skip such await logic.
    skipCrds Boolean
    If set, no CRDs will be installed. By default, CRDs are installed if not already present.
    timeout Number
    Time in seconds to wait for any individual kubernetes operation.
    valueYamlFiles List<Asset>
    List of assets (raw yaml files). Content is read and merged with values. Not yet supported.
    values Map<Any>
    Custom values set for the release.
    verify Boolean
    Verify the package before installing it.
    version String
    Specify the exact chart version to install. If this is not specified, the latest version is installed.
    waitForJobs Boolean
    Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwait is enabled.

    ReleaseStatus, ReleaseStatusArgs

    AppVersion string
    The version number of the application being deployed.
    Chart string
    The name of the chart.
    Name string
    Name is the name of the release.
    Namespace string
    Namespace is the kubernetes namespace of the release.
    Revision int
    Version is an int32 which represents the version of the release.
    Status string
    Status of the release.
    Version string
    A SemVer 2 conformant version string of the chart.
    AppVersion string
    The version number of the application being deployed.
    Chart string
    The name of the chart.
    Name string
    Name is the name of the release.
    Namespace string
    Namespace is the kubernetes namespace of the release.
    Revision int
    Version is an int32 which represents the version of the release.
    Status string
    Status of the release.
    Version string
    A SemVer 2 conformant version string of the chart.
    appVersion String
    The version number of the application being deployed.
    chart String
    The name of the chart.
    name String
    Name is the name of the release.
    namespace String
    Namespace is the kubernetes namespace of the release.
    revision Integer
    Version is an int32 which represents the version of the release.
    status String
    Status of the release.
    version String
    A SemVer 2 conformant version string of the chart.
    appVersion string
    The version number of the application being deployed.
    chart string
    The name of the chart.
    name string
    Name is the name of the release.
    namespace string
    Namespace is the kubernetes namespace of the release.
    revision number
    Version is an int32 which represents the version of the release.
    status string
    Status of the release.
    version string
    A SemVer 2 conformant version string of the chart.
    app_version str
    The version number of the application being deployed.
    chart str
    The name of the chart.
    name str
    Name is the name of the release.
    namespace str
    Namespace is the kubernetes namespace of the release.
    revision int
    Version is an int32 which represents the version of the release.
    status str
    Status of the release.
    version str
    A SemVer 2 conformant version string of the chart.
    appVersion String
    The version number of the application being deployed.
    chart String
    The name of the chart.
    name String
    Name is the name of the release.
    namespace String
    Namespace is the kubernetes namespace of the release.
    revision Number
    Version is an int32 which represents the version of the release.
    status String
    Status of the release.
    version String
    A SemVer 2 conformant version string of the chart.

    RepositoryOpts, RepositoryOptsArgs

    CaFile string
    The Repository's CA File
    CertFile string
    The repository's cert file
    KeyFile string
    The repository's cert key file
    Password string
    Password for HTTP basic authentication
    Repo string
    Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
    Username string
    Username for HTTP basic authentication
    CaFile string
    The Repository's CA File
    CertFile string
    The repository's cert file
    KeyFile string
    The repository's cert key file
    Password string
    Password for HTTP basic authentication
    Repo string
    Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
    Username string
    Username for HTTP basic authentication
    caFile String
    The Repository's CA File
    certFile String
    The repository's cert file
    keyFile String
    The repository's cert key file
    password String
    Password for HTTP basic authentication
    repo String
    Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
    username String
    Username for HTTP basic authentication
    caFile string
    The Repository's CA File
    certFile string
    The repository's cert file
    keyFile string
    The repository's cert key file
    password string
    Password for HTTP basic authentication
    repo string
    Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
    username string
    Username for HTTP basic authentication
    ca_file str
    The Repository's CA File
    cert_file str
    The repository's cert file
    key_file str
    The repository's cert key file
    password str
    Password for HTTP basic authentication
    repo str
    Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
    username str
    Username for HTTP basic authentication
    caFile String
    The Repository's CA File
    certFile String
    The repository's cert file
    keyFile String
    The repository's cert key file
    password String
    Password for HTTP basic authentication
    repo String
    Repository where to locate the requested chart. If is a URL the chart is installed without installing the repository.
    username String
    Username for HTTP basic authentication

    Package Details

    Repository
    NGINX Ingress Controller (Helm)
    License
    kubernetes-ingress-nginx logo
    NGINX Ingress Controller v0.0.10 published on Wednesday, Nov 30, 2022 by Pulumi