kubernetes-ingress-nginx.IngressController
Explore with Pulumi AI
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" },
            },
            Certificate = "string",
            CreateSecretJob = new KubernetesIngressNginx.Inputs.ControllerAdmissionWebhooksCreateSecretJobArgs
            {
                Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                {
                    Claims = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.ResourceClaimArgs
                        {
                            Name = "string",
                            Request = "string",
                        },
                    },
                    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" },
                },
                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
                {
                    Claims = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.ResourceClaimArgs
                        {
                            Name = "string",
                            Request = "string",
                        },
                    },
                    Limits = 
                    {
                        { "string", "string" },
                    },
                    Requests = 
                    {
                        { "string", "string" },
                    },
                },
            },
            Port = 0,
            Service = new KubernetesIngressNginx.Inputs.ControllerAdmissionWebhooksServiceArgs
            {
                Annotations = 
                {
                    { "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" },
                                },
                            },
                            MatchLabelKeys = new[]
                            {
                                "string",
                            },
                            MismatchLabelKeys = new[]
                            {
                                "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" },
                            },
                        },
                        MatchLabelKeys = new[]
                        {
                            "string",
                        },
                        MismatchLabelKeys = new[]
                        {
                            "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" },
                                },
                            },
                            MatchLabelKeys = new[]
                            {
                                "string",
                            },
                            MismatchLabelKeys = new[]
                            {
                                "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" },
                            },
                        },
                        MatchLabelKeys = new[]
                        {
                            "string",
                        },
                        MismatchLabelKeys = new[]
                        {
                            "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" },
        },
        ConfigAnnotations = 
        {
            { "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" },
        },
        DnsPolicy = "string",
        ElectionID = "string",
        EnableMimalloc = false,
        ExistingPsp = "string",
        ExtraArgs = 
        {
            { "string", "string" },
        },
        ExtraContainers = new[]
        {
            new Kubernetes.Types.Inputs.Core.V1.ContainerArgs
            {
                Name = "string",
                Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                {
                    Claims = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.ResourceClaimArgs
                        {
                            Name = "string",
                            Request = "string",
                        },
                    },
                    Limits = 
                    {
                        { "string", "string" },
                    },
                    Requests = 
                    {
                        { "string", "string" },
                    },
                },
                Ports = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerPortArgs
                    {
                        ContainerPort = 0,
                        HostIP = "string",
                        HostPort = 0,
                        Name = "string",
                        Protocol = "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,
                        },
                    },
                },
                Image = "string",
                ImagePullPolicy = "string",
                Lifecycle = new Kubernetes.Types.Inputs.Core.V1.LifecycleArgs
                {
                    PostStart = new Kubernetes.Types.Inputs.Core.V1.LifecycleHandlerArgs
                    {
                        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",
                        },
                        Sleep = new Kubernetes.Types.Inputs.Core.V1.SleepActionArgs
                        {
                            Seconds = 0,
                        },
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                    },
                    PreStop = new Kubernetes.Types.Inputs.Core.V1.LifecycleHandlerArgs
                    {
                        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",
                        },
                        Sleep = new Kubernetes.Types.Inputs.Core.V1.SleepActionArgs
                        {
                            Seconds = 0,
                        },
                        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,
                    Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
                    {
                        Port = 0,
                        Service = "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",
                    },
                    InitialDelaySeconds = 0,
                    PeriodSeconds = 0,
                    SuccessThreshold = 0,
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                    TerminationGracePeriodSeconds = 0,
                    TimeoutSeconds = 0,
                },
                RestartPolicy = "string",
                Args = new[]
                {
                    "string",
                },
                ReadinessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                {
                    Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                    {
                        Command = new[]
                        {
                            "string",
                        },
                    },
                    FailureThreshold = 0,
                    Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
                    {
                        Port = 0,
                        Service = "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",
                    },
                    InitialDelaySeconds = 0,
                    PeriodSeconds = 0,
                    SuccessThreshold = 0,
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                    TerminationGracePeriodSeconds = 0,
                    TimeoutSeconds = 0,
                },
                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,
                            },
                        },
                    },
                },
                ResizePolicy = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerResizePolicyArgs
                    {
                        ResourceName = "string",
                        RestartPolicy = "string",
                    },
                },
                Command = new[]
                {
                    "string",
                },
                SecurityContext = new Kubernetes.Types.Inputs.Core.V1.SecurityContextArgs
                {
                    AllowPrivilegeEscalation = false,
                    AppArmorProfile = new Kubernetes.Types.Inputs.Core.V1.AppArmorProfileArgs
                    {
                        Type = "string",
                        LocalhostProfile = "string",
                    },
                    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",
                    },
                },
                StartupProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                {
                    Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                    {
                        Command = new[]
                        {
                            "string",
                        },
                    },
                    FailureThreshold = 0,
                    Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
                    {
                        Port = 0,
                        Service = "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",
                    },
                    InitialDelaySeconds = 0,
                    PeriodSeconds = 0,
                    SuccessThreshold = 0,
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                    TerminationGracePeriodSeconds = 0,
                    TimeoutSeconds = 0,
                },
                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,
                        RecursiveReadOnly = "string",
                        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",
                Resources = new Kubernetes.Types.Inputs.Core.V1.ResourceRequirementsArgs
                {
                    Claims = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.ResourceClaimArgs
                        {
                            Name = "string",
                            Request = "string",
                        },
                    },
                    Limits = 
                    {
                        { "string", "string" },
                    },
                    Requests = 
                    {
                        { "string", "string" },
                    },
                },
                Ports = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerPortArgs
                    {
                        ContainerPort = 0,
                        HostIP = "string",
                        HostPort = 0,
                        Name = "string",
                        Protocol = "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,
                        },
                    },
                },
                Image = "string",
                ImagePullPolicy = "string",
                Lifecycle = new Kubernetes.Types.Inputs.Core.V1.LifecycleArgs
                {
                    PostStart = new Kubernetes.Types.Inputs.Core.V1.LifecycleHandlerArgs
                    {
                        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",
                        },
                        Sleep = new Kubernetes.Types.Inputs.Core.V1.SleepActionArgs
                        {
                            Seconds = 0,
                        },
                        TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                        {
                            Port = 0,
                            Host = "string",
                        },
                    },
                    PreStop = new Kubernetes.Types.Inputs.Core.V1.LifecycleHandlerArgs
                    {
                        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",
                        },
                        Sleep = new Kubernetes.Types.Inputs.Core.V1.SleepActionArgs
                        {
                            Seconds = 0,
                        },
                        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,
                    Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
                    {
                        Port = 0,
                        Service = "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",
                    },
                    InitialDelaySeconds = 0,
                    PeriodSeconds = 0,
                    SuccessThreshold = 0,
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                    TerminationGracePeriodSeconds = 0,
                    TimeoutSeconds = 0,
                },
                RestartPolicy = "string",
                Args = new[]
                {
                    "string",
                },
                ReadinessProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                {
                    Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                    {
                        Command = new[]
                        {
                            "string",
                        },
                    },
                    FailureThreshold = 0,
                    Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
                    {
                        Port = 0,
                        Service = "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",
                    },
                    InitialDelaySeconds = 0,
                    PeriodSeconds = 0,
                    SuccessThreshold = 0,
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                    TerminationGracePeriodSeconds = 0,
                    TimeoutSeconds = 0,
                },
                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,
                            },
                        },
                    },
                },
                ResizePolicy = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerResizePolicyArgs
                    {
                        ResourceName = "string",
                        RestartPolicy = "string",
                    },
                },
                Command = new[]
                {
                    "string",
                },
                SecurityContext = new Kubernetes.Types.Inputs.Core.V1.SecurityContextArgs
                {
                    AllowPrivilegeEscalation = false,
                    AppArmorProfile = new Kubernetes.Types.Inputs.Core.V1.AppArmorProfileArgs
                    {
                        Type = "string",
                        LocalhostProfile = "string",
                    },
                    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",
                    },
                },
                StartupProbe = new Kubernetes.Types.Inputs.Core.V1.ProbeArgs
                {
                    Exec = new Kubernetes.Types.Inputs.Core.V1.ExecActionArgs
                    {
                        Command = new[]
                        {
                            "string",
                        },
                    },
                    FailureThreshold = 0,
                    Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
                    {
                        Port = 0,
                        Service = "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",
                    },
                    InitialDelaySeconds = 0,
                    PeriodSeconds = 0,
                    SuccessThreshold = 0,
                    TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                    {
                        Port = 0,
                        Host = "string",
                    },
                    TerminationGracePeriodSeconds = 0,
                    TimeoutSeconds = 0,
                },
                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,
                        RecursiveReadOnly = "string",
                        SubPath = "string",
                        SubPathExpr = "string",
                    },
                },
                WorkingDir = "string",
            },
        },
        ExtraVolumeMounts = new[]
        {
            new Kubernetes.Types.Inputs.Core.V1.VolumeMountArgs
            {
                MountPath = "string",
                Name = "string",
                MountPropagation = "string",
                ReadOnly = false,
                RecursiveReadOnly = "string",
                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",
                },
                PersistentVolumeClaim = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimVolumeSourceArgs
                {
                    ClaimName = "string",
                    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",
                },
                Cinder = new Kubernetes.Types.Inputs.Core.V1.CinderVolumeSourceArgs
                {
                    VolumeID = "string",
                    FsType = "string",
                    ReadOnly = false,
                    SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                    {
                        Name = "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,
                },
                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.TypedObjectReferenceArgs
                            {
                                Kind = "string",
                                Name = "string",
                                ApiGroup = "string",
                                Namespace = "string",
                            },
                            Resources = new Kubernetes.Types.Inputs.Core.V1.VolumeResourceRequirementsArgs
                            {
                                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",
                            VolumeAttributesClassName = "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",
                    },
                },
                Flocker = new Kubernetes.Types.Inputs.Core.V1.FlockerVolumeSourceArgs
                {
                    DatasetName = "string",
                    DatasetUUID = "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,
                },
                AzureFile = new Kubernetes.Types.Inputs.Core.V1.AzureFileVolumeSourceArgs
                {
                    SecretName = "string",
                    ShareName = "string",
                    ReadOnly = false,
                },
                Glusterfs = new Kubernetes.Types.Inputs.Core.V1.GlusterfsVolumeSourceArgs
                {
                    Endpoints = "string",
                    Path = "string",
                    ReadOnly = false,
                },
                PortworxVolume = new Kubernetes.Types.Inputs.Core.V1.PortworxVolumeSourceArgs
                {
                    VolumeID = "string",
                    FsType = "string",
                    ReadOnly = false,
                },
                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",
                    },
                },
                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,
                },
                HostPath = new Kubernetes.Types.Inputs.Core.V1.HostPathVolumeSourceArgs
                {
                    Path = "string",
                    Type = "string",
                },
                PhotonPersistentDisk = new Kubernetes.Types.Inputs.Core.V1.PhotonPersistentDiskVolumeSourceArgs
                {
                    PdID = "string",
                    FsType = "string",
                },
                Image = new Kubernetes.Types.Inputs.Core.V1.ImageVolumeSourceArgs
                {
                    PullPolicy = "string",
                    Reference = "string",
                },
                Projected = new Kubernetes.Types.Inputs.Core.V1.ProjectedVolumeSourceArgs
                {
                    Sources = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeProjectionArgs
                        {
                            ClusterTrustBundle = new Kubernetes.Types.Inputs.Core.V1.ClusterTrustBundleProjectionArgs
                            {
                                Path = "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" },
                                    },
                                },
                                Name = "string",
                                Optional = false,
                                SignerName = "string",
                            },
                            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.LifecycleHandlerArgs
            {
                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",
                },
                Sleep = new Kubernetes.Types.Inputs.Core.V1.SleepActionArgs
                {
                    Seconds = 0,
                },
                TcpSocket = new Kubernetes.Types.Inputs.Core.V1.TCPSocketActionArgs
                {
                    Port = 0,
                    Host = "string",
                },
            },
            PreStop = new Kubernetes.Types.Inputs.Core.V1.LifecycleHandlerArgs
            {
                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",
                },
                Sleep = new Kubernetes.Types.Inputs.Core.V1.SleepActionArgs
                {
                    Seconds = 0,
                },
                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,
            Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
            {
                Port = 0,
                Service = "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",
            },
            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" },
                },
                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" },
                },
                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" },
        },
        PodSecurityContext = new Kubernetes.Types.Inputs.Core.V1.PodSecurityContextArgs
        {
            AppArmorProfile = new Kubernetes.Types.Inputs.Core.V1.AppArmorProfileArgs
            {
                Type = "string",
                LocalhostProfile = "string",
            },
            FsGroup = 0,
            FsGroupChangePolicy = "string",
            RunAsGroup = 0,
            RunAsNonRoot = false,
            RunAsUser = 0,
            SeLinuxChangePolicy = "string",
            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,
            },
            SupplementalGroupsPolicy = "string",
            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,
            Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
            {
                Port = 0,
                Service = "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",
            },
            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
        {
            Claims = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.ResourceClaimArgs
                {
                    Name = "string",
                    Request = "string",
                },
            },
            Limits = 
            {
                { "string", "string" },
            },
            Requests = 
            {
                { "string", "string" },
            },
        },
        Scope = new KubernetesIngressNginx.Inputs.ControllerScopeArgs
        {
            Enabled = false,
            Namespace = "string",
        },
        Service = new KubernetesIngressNginx.Inputs.ControllerServiceArgs
        {
            Annotations = 
            {
                { "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" },
                },
                Enabled = false,
                ExternalTrafficPolicy = "string",
                Labels = 
                {
                    { "string", "string" },
                },
                LoadBalancerIPs = "string",
                LoadBalancerSourceRanges = new[]
                {
                    "string",
                },
            },
            Labels = 
            {
                { "string", "string" },
            },
            LoadBalancerIP = "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,
            Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
            {
                Port = 0,
                Service = "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",
            },
            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" },
                    },
                },
                MatchLabelKeys = new[]
                {
                    "string",
                },
                MinDomains = 0,
                NodeAffinityPolicy = "string",
                NodeTaintsPolicy = "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" },
                                },
                            },
                            MatchLabelKeys = new[]
                            {
                                "string",
                            },
                            MismatchLabelKeys = new[]
                            {
                                "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" },
                            },
                        },
                        MatchLabelKeys = new[]
                        {
                            "string",
                        },
                        MismatchLabelKeys = new[]
                        {
                            "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" },
                                },
                            },
                            MatchLabelKeys = new[]
                            {
                                "string",
                            },
                            MismatchLabelKeys = new[]
                            {
                                "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" },
                            },
                        },
                        MatchLabelKeys = new[]
                        {
                            "string",
                        },
                        MismatchLabelKeys = new[]
                        {
                            "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,
                RecursiveReadOnly = "string",
                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",
                },
                PersistentVolumeClaim = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimVolumeSourceArgs
                {
                    ClaimName = "string",
                    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",
                },
                Cinder = new Kubernetes.Types.Inputs.Core.V1.CinderVolumeSourceArgs
                {
                    VolumeID = "string",
                    FsType = "string",
                    ReadOnly = false,
                    SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                    {
                        Name = "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,
                },
                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.TypedObjectReferenceArgs
                            {
                                Kind = "string",
                                Name = "string",
                                ApiGroup = "string",
                                Namespace = "string",
                            },
                            Resources = new Kubernetes.Types.Inputs.Core.V1.VolumeResourceRequirementsArgs
                            {
                                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",
                            VolumeAttributesClassName = "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",
                    },
                },
                Flocker = new Kubernetes.Types.Inputs.Core.V1.FlockerVolumeSourceArgs
                {
                    DatasetName = "string",
                    DatasetUUID = "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,
                },
                AzureFile = new Kubernetes.Types.Inputs.Core.V1.AzureFileVolumeSourceArgs
                {
                    SecretName = "string",
                    ShareName = "string",
                    ReadOnly = false,
                },
                Glusterfs = new Kubernetes.Types.Inputs.Core.V1.GlusterfsVolumeSourceArgs
                {
                    Endpoints = "string",
                    Path = "string",
                    ReadOnly = false,
                },
                PortworxVolume = new Kubernetes.Types.Inputs.Core.V1.PortworxVolumeSourceArgs
                {
                    VolumeID = "string",
                    FsType = "string",
                    ReadOnly = false,
                },
                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",
                    },
                },
                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,
                },
                HostPath = new Kubernetes.Types.Inputs.Core.V1.HostPathVolumeSourceArgs
                {
                    Path = "string",
                    Type = "string",
                },
                PhotonPersistentDisk = new Kubernetes.Types.Inputs.Core.V1.PhotonPersistentDiskVolumeSourceArgs
                {
                    PdID = "string",
                    FsType = "string",
                },
                Image = new Kubernetes.Types.Inputs.Core.V1.ImageVolumeSourceArgs
                {
                    PullPolicy = "string",
                    Reference = "string",
                },
                Projected = new Kubernetes.Types.Inputs.Core.V1.ProjectedVolumeSourceArgs
                {
                    Sources = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeProjectionArgs
                        {
                            ClusterTrustBundle = new Kubernetes.Types.Inputs.Core.V1.ClusterTrustBundleProjectionArgs
                            {
                                Path = "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" },
                                    },
                                },
                                Name = "string",
                                Optional = false,
                                SignerName = "string",
                            },
                            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,
            Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
            {
                Port = 0,
                Service = "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",
            },
            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
        {
            AppArmorProfile = new Kubernetes.Types.Inputs.Core.V1.AppArmorProfileArgs
            {
                Type = "string",
                LocalhostProfile = "string",
            },
            FsGroup = 0,
            FsGroupChangePolicy = "string",
            RunAsGroup = 0,
            RunAsNonRoot = false,
            RunAsUser = 0,
            SeLinuxChangePolicy = "string",
            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,
            },
            SupplementalGroupsPolicy = "string",
            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,
            Grpc = new Kubernetes.Types.Inputs.Core.V1.GRPCActionArgs
            {
                Port = 0,
                Service = "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",
            },
            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
        {
            Claims = new[]
            {
                new Kubernetes.Types.Inputs.Core.V1.ResourceClaimArgs
                {
                    Name = "string",
                    Request = "string",
                },
            },
            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.StringMap{
				"string": pulumi.String("string"),
			},
			Certificate: pulumi.String("string"),
			CreateSecretJob: &kubernetesingressnginx.ControllerAdmissionWebhooksCreateSecretJobArgs{
				Resources: &corev1.ResourceRequirementsArgs{
					Claims: corev1.ResourceClaimArray{
						&corev1.ResourceClaimArgs{
							Name:    pulumi.String("string"),
							Request: pulumi.String("string"),
						},
					},
					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.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{
					Claims: corev1.ResourceClaimArray{
						&corev1.ResourceClaimArgs{
							Name:    pulumi.String("string"),
							Request: pulumi.String("string"),
						},
					},
					Limits: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					Requests: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
				},
			},
			Port: pulumi.Int(0),
			Service: &kubernetesingressnginx.ControllerAdmissionWebhooksServiceArgs{
				Annotations: 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"),
								},
							},
							MatchLabelKeys: pulumi.StringArray{
								pulumi.String("string"),
							},
							MismatchLabelKeys: pulumi.StringArray{
								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"),
							},
						},
						MatchLabelKeys: pulumi.StringArray{
							pulumi.String("string"),
						},
						MismatchLabelKeys: pulumi.StringArray{
							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"),
								},
							},
							MatchLabelKeys: pulumi.StringArray{
								pulumi.String("string"),
							},
							MismatchLabelKeys: pulumi.StringArray{
								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"),
							},
						},
						MatchLabelKeys: pulumi.StringArray{
							pulumi.String("string"),
						},
						MismatchLabelKeys: pulumi.StringArray{
							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.StringMap{
			"string": pulumi.String("string"),
		},
		ConfigAnnotations: 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.StringMap{
			"string": pulumi.String("string"),
		},
		DnsPolicy:      pulumi.String("string"),
		ElectionID:     pulumi.String("string"),
		EnableMimalloc: pulumi.Bool(false),
		ExistingPsp:    pulumi.String("string"),
		ExtraArgs: pulumi.StringMap{
			"string": pulumi.String("string"),
		},
		ExtraContainers: corev1.ContainerArray{
			&corev1.ContainerArgs{
				Name: pulumi.String("string"),
				Resources: &corev1.ResourceRequirementsArgs{
					Claims: corev1.ResourceClaimArray{
						&corev1.ResourceClaimArgs{
							Name:    pulumi.String("string"),
							Request: pulumi.String("string"),
						},
					},
					Limits: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					Requests: pulumi.StringMap{
						"string": 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"),
					},
				},
				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),
						},
					},
				},
				Image:           pulumi.String("string"),
				ImagePullPolicy: pulumi.String("string"),
				Lifecycle: &corev1.LifecycleArgs{
					PostStart: &corev1.LifecycleHandlerArgs{
						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"),
						},
						Sleep: &corev1.SleepActionArgs{
							Seconds: pulumi.Int(0),
						},
						TcpSocket: &corev1.TCPSocketActionArgs{
							Port: pulumi.Any(0),
							Host: pulumi.String("string"),
						},
					},
					PreStop: &corev1.LifecycleHandlerArgs{
						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"),
						},
						Sleep: &corev1.SleepActionArgs{
							Seconds: pulumi.Int(0),
						},
						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),
					Grpc: &corev1.GRPCActionArgs{
						Port:    pulumi.Int(0),
						Service: 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"),
					},
					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),
				},
				RestartPolicy: pulumi.String("string"),
				Args: pulumi.StringArray{
					pulumi.String("string"),
				},
				ReadinessProbe: &corev1.ProbeArgs{
					Exec: &corev1.ExecActionArgs{
						Command: pulumi.StringArray{
							pulumi.String("string"),
						},
					},
					FailureThreshold: pulumi.Int(0),
					Grpc: &corev1.GRPCActionArgs{
						Port:    pulumi.Int(0),
						Service: 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"),
					},
					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),
				},
				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),
							},
						},
					},
				},
				ResizePolicy: corev1.ContainerResizePolicyArray{
					&corev1.ContainerResizePolicyArgs{
						ResourceName:  pulumi.String("string"),
						RestartPolicy: pulumi.String("string"),
					},
				},
				Command: pulumi.StringArray{
					pulumi.String("string"),
				},
				SecurityContext: &corev1.SecurityContextArgs{
					AllowPrivilegeEscalation: pulumi.Bool(false),
					AppArmorProfile: &corev1.AppArmorProfileArgs{
						Type:             pulumi.String("string"),
						LocalhostProfile: pulumi.String("string"),
					},
					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"),
					},
				},
				StartupProbe: &corev1.ProbeArgs{
					Exec: &corev1.ExecActionArgs{
						Command: pulumi.StringArray{
							pulumi.String("string"),
						},
					},
					FailureThreshold: pulumi.Int(0),
					Grpc: &corev1.GRPCActionArgs{
						Port:    pulumi.Int(0),
						Service: 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"),
					},
					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),
				},
				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),
						RecursiveReadOnly: pulumi.String("string"),
						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"),
				Resources: &corev1.ResourceRequirementsArgs{
					Claims: corev1.ResourceClaimArray{
						&corev1.ResourceClaimArgs{
							Name:    pulumi.String("string"),
							Request: pulumi.String("string"),
						},
					},
					Limits: pulumi.StringMap{
						"string": pulumi.String("string"),
					},
					Requests: pulumi.StringMap{
						"string": 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"),
					},
				},
				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),
						},
					},
				},
				Image:           pulumi.String("string"),
				ImagePullPolicy: pulumi.String("string"),
				Lifecycle: &corev1.LifecycleArgs{
					PostStart: &corev1.LifecycleHandlerArgs{
						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"),
						},
						Sleep: &corev1.SleepActionArgs{
							Seconds: pulumi.Int(0),
						},
						TcpSocket: &corev1.TCPSocketActionArgs{
							Port: pulumi.Any(0),
							Host: pulumi.String("string"),
						},
					},
					PreStop: &corev1.LifecycleHandlerArgs{
						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"),
						},
						Sleep: &corev1.SleepActionArgs{
							Seconds: pulumi.Int(0),
						},
						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),
					Grpc: &corev1.GRPCActionArgs{
						Port:    pulumi.Int(0),
						Service: 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"),
					},
					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),
				},
				RestartPolicy: pulumi.String("string"),
				Args: pulumi.StringArray{
					pulumi.String("string"),
				},
				ReadinessProbe: &corev1.ProbeArgs{
					Exec: &corev1.ExecActionArgs{
						Command: pulumi.StringArray{
							pulumi.String("string"),
						},
					},
					FailureThreshold: pulumi.Int(0),
					Grpc: &corev1.GRPCActionArgs{
						Port:    pulumi.Int(0),
						Service: 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"),
					},
					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),
				},
				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),
							},
						},
					},
				},
				ResizePolicy: corev1.ContainerResizePolicyArray{
					&corev1.ContainerResizePolicyArgs{
						ResourceName:  pulumi.String("string"),
						RestartPolicy: pulumi.String("string"),
					},
				},
				Command: pulumi.StringArray{
					pulumi.String("string"),
				},
				SecurityContext: &corev1.SecurityContextArgs{
					AllowPrivilegeEscalation: pulumi.Bool(false),
					AppArmorProfile: &corev1.AppArmorProfileArgs{
						Type:             pulumi.String("string"),
						LocalhostProfile: pulumi.String("string"),
					},
					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"),
					},
				},
				StartupProbe: &corev1.ProbeArgs{
					Exec: &corev1.ExecActionArgs{
						Command: pulumi.StringArray{
							pulumi.String("string"),
						},
					},
					FailureThreshold: pulumi.Int(0),
					Grpc: &corev1.GRPCActionArgs{
						Port:    pulumi.Int(0),
						Service: 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"),
					},
					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),
				},
				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),
						RecursiveReadOnly: pulumi.String("string"),
						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),
				RecursiveReadOnly: pulumi.String("string"),
				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"),
				},
				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSourceArgs{
					ClaimName: pulumi.String("string"),
					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"),
				},
				Cinder: &corev1.CinderVolumeSourceArgs{
					VolumeID: pulumi.String("string"),
					FsType:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
					SecretRef: &corev1.LocalObjectReferenceArgs{
						Name: 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),
				},
				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.TypedObjectReferenceArgs{
								Kind:      pulumi.String("string"),
								Name:      pulumi.String("string"),
								ApiGroup:  pulumi.String("string"),
								Namespace: pulumi.String("string"),
							},
							Resources: &corev1.VolumeResourceRequirementsArgs{
								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"),
							VolumeAttributesClassName: 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"),
					},
				},
				Flocker: &corev1.FlockerVolumeSourceArgs{
					DatasetName: pulumi.String("string"),
					DatasetUUID: 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),
				},
				AzureFile: &corev1.AzureFileVolumeSourceArgs{
					SecretName: pulumi.String("string"),
					ShareName:  pulumi.String("string"),
					ReadOnly:   pulumi.Bool(false),
				},
				Glusterfs: &corev1.GlusterfsVolumeSourceArgs{
					Endpoints: pulumi.String("string"),
					Path:      pulumi.String("string"),
					ReadOnly:  pulumi.Bool(false),
				},
				PortworxVolume: &corev1.PortworxVolumeSourceArgs{
					VolumeID: pulumi.String("string"),
					FsType:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
				},
				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"),
					},
				},
				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),
				},
				HostPath: &corev1.HostPathVolumeSourceArgs{
					Path: pulumi.String("string"),
					Type: pulumi.String("string"),
				},
				PhotonPersistentDisk: &corev1.PhotonPersistentDiskVolumeSourceArgs{
					PdID:   pulumi.String("string"),
					FsType: pulumi.String("string"),
				},
				Image: &corev1.ImageVolumeSourceArgs{
					PullPolicy: pulumi.String("string"),
					Reference:  pulumi.String("string"),
				},
				Projected: &corev1.ProjectedVolumeSourceArgs{
					Sources: corev1.VolumeProjectionArray{
						&corev1.VolumeProjectionArgs{
							ClusterTrustBundle: &corev1.ClusterTrustBundleProjectionArgs{
								Path: 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"),
									},
								},
								Name:       pulumi.String("string"),
								Optional:   pulumi.Bool(false),
								SignerName: pulumi.String("string"),
							},
							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.LifecycleHandlerArgs{
				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"),
				},
				Sleep: &corev1.SleepActionArgs{
					Seconds: pulumi.Int(0),
				},
				TcpSocket: &corev1.TCPSocketActionArgs{
					Port: pulumi.Any(0),
					Host: pulumi.String("string"),
				},
			},
			PreStop: &corev1.LifecycleHandlerArgs{
				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"),
				},
				Sleep: &corev1.SleepActionArgs{
					Seconds: pulumi.Int(0),
				},
				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),
			Grpc: &corev1.GRPCActionArgs{
				Port:    pulumi.Int(0),
				Service: 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"),
			},
			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.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.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.StringMap{
			"string": pulumi.String("string"),
		},
		PodSecurityContext: &corev1.PodSecurityContextArgs{
			AppArmorProfile: &corev1.AppArmorProfileArgs{
				Type:             pulumi.String("string"),
				LocalhostProfile: pulumi.String("string"),
			},
			FsGroup:             pulumi.Int(0),
			FsGroupChangePolicy: pulumi.String("string"),
			RunAsGroup:          pulumi.Int(0),
			RunAsNonRoot:        pulumi.Bool(false),
			RunAsUser:           pulumi.Int(0),
			SeLinuxChangePolicy: pulumi.String("string"),
			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),
			},
			SupplementalGroupsPolicy: pulumi.String("string"),
			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),
			Grpc: &corev1.GRPCActionArgs{
				Port:    pulumi.Int(0),
				Service: 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"),
			},
			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{
			Claims: corev1.ResourceClaimArray{
				&corev1.ResourceClaimArgs{
					Name:    pulumi.String("string"),
					Request: pulumi.String("string"),
				},
			},
			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.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.StringMap{
					"string": pulumi.String("string"),
				},
				Enabled:               pulumi.Bool(false),
				ExternalTrafficPolicy: pulumi.String("string"),
				Labels: pulumi.StringMap{
					"string": pulumi.String("string"),
				},
				LoadBalancerIPs: pulumi.String("string"),
				LoadBalancerSourceRanges: pulumi.StringArray{
					pulumi.String("string"),
				},
			},
			Labels: pulumi.StringMap{
				"string": pulumi.String("string"),
			},
			LoadBalancerIP:  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),
			Grpc: &corev1.GRPCActionArgs{
				Port:    pulumi.Int(0),
				Service: 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"),
			},
			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"),
					},
				},
				MatchLabelKeys: pulumi.StringArray{
					pulumi.String("string"),
				},
				MinDomains:         pulumi.Int(0),
				NodeAffinityPolicy: pulumi.String("string"),
				NodeTaintsPolicy:   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"),
								},
							},
							MatchLabelKeys: pulumi.StringArray{
								pulumi.String("string"),
							},
							MismatchLabelKeys: pulumi.StringArray{
								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"),
							},
						},
						MatchLabelKeys: pulumi.StringArray{
							pulumi.String("string"),
						},
						MismatchLabelKeys: pulumi.StringArray{
							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"),
								},
							},
							MatchLabelKeys: pulumi.StringArray{
								pulumi.String("string"),
							},
							MismatchLabelKeys: pulumi.StringArray{
								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"),
							},
						},
						MatchLabelKeys: pulumi.StringArray{
							pulumi.String("string"),
						},
						MismatchLabelKeys: pulumi.StringArray{
							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),
				RecursiveReadOnly: pulumi.String("string"),
				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"),
				},
				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSourceArgs{
					ClaimName: pulumi.String("string"),
					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"),
				},
				Cinder: &corev1.CinderVolumeSourceArgs{
					VolumeID: pulumi.String("string"),
					FsType:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
					SecretRef: &corev1.LocalObjectReferenceArgs{
						Name: 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),
				},
				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.TypedObjectReferenceArgs{
								Kind:      pulumi.String("string"),
								Name:      pulumi.String("string"),
								ApiGroup:  pulumi.String("string"),
								Namespace: pulumi.String("string"),
							},
							Resources: &corev1.VolumeResourceRequirementsArgs{
								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"),
							VolumeAttributesClassName: 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"),
					},
				},
				Flocker: &corev1.FlockerVolumeSourceArgs{
					DatasetName: pulumi.String("string"),
					DatasetUUID: 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),
				},
				AzureFile: &corev1.AzureFileVolumeSourceArgs{
					SecretName: pulumi.String("string"),
					ShareName:  pulumi.String("string"),
					ReadOnly:   pulumi.Bool(false),
				},
				Glusterfs: &corev1.GlusterfsVolumeSourceArgs{
					Endpoints: pulumi.String("string"),
					Path:      pulumi.String("string"),
					ReadOnly:  pulumi.Bool(false),
				},
				PortworxVolume: &corev1.PortworxVolumeSourceArgs{
					VolumeID: pulumi.String("string"),
					FsType:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
				},
				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"),
					},
				},
				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),
				},
				HostPath: &corev1.HostPathVolumeSourceArgs{
					Path: pulumi.String("string"),
					Type: pulumi.String("string"),
				},
				PhotonPersistentDisk: &corev1.PhotonPersistentDiskVolumeSourceArgs{
					PdID:   pulumi.String("string"),
					FsType: pulumi.String("string"),
				},
				Image: &corev1.ImageVolumeSourceArgs{
					PullPolicy: pulumi.String("string"),
					Reference:  pulumi.String("string"),
				},
				Projected: &corev1.ProjectedVolumeSourceArgs{
					Sources: corev1.VolumeProjectionArray{
						&corev1.VolumeProjectionArgs{
							ClusterTrustBundle: &corev1.ClusterTrustBundleProjectionArgs{
								Path: 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"),
									},
								},
								Name:       pulumi.String("string"),
								Optional:   pulumi.Bool(false),
								SignerName: pulumi.String("string"),
							},
							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),
			Grpc: &corev1.GRPCActionArgs{
				Port:    pulumi.Int(0),
				Service: 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"),
			},
			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{
			AppArmorProfile: &corev1.AppArmorProfileArgs{
				Type:             pulumi.String("string"),
				LocalhostProfile: pulumi.String("string"),
			},
			FsGroup:             pulumi.Int(0),
			FsGroupChangePolicy: pulumi.String("string"),
			RunAsGroup:          pulumi.Int(0),
			RunAsNonRoot:        pulumi.Bool(false),
			RunAsUser:           pulumi.Int(0),
			SeLinuxChangePolicy: pulumi.String("string"),
			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),
			},
			SupplementalGroupsPolicy: pulumi.String("string"),
			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),
			Grpc: &corev1.GRPCActionArgs{
				Port:    pulumi.Int(0),
				Service: 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"),
			},
			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{
			Claims: corev1.ResourceClaimArray{
				&corev1.ResourceClaimArgs{
					Name:    pulumi.String("string"),
					Request: pulumi.String("string"),
				},
			},
			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", "string"))
            .certificate("string")
            .createSecretJob(ControllerAdmissionWebhooksCreateSecretJobArgs.builder()
                .resources(ResourceRequirementsArgs.builder()
                    .claims(ResourceClaimArgs.builder()
                        .name("string")
                        .request("string")
                        .build())
                    .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", "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()
                    .claims(ResourceClaimArgs.builder()
                        .name("string")
                        .request("string")
                        .build())
                    .limits(Map.of("string", "string"))
                    .requests(Map.of("string", "string"))
                    .build())
                .build())
            .port(0)
            .service(ControllerAdmissionWebhooksServiceArgs.builder()
                .annotations(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())
                        .matchLabelKeys("string")
                        .mismatchLabelKeys("string")
                        .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())
                    .matchLabelKeys("string")
                    .mismatchLabelKeys("string")
                    .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())
                        .matchLabelKeys("string")
                        .mismatchLabelKeys("string")
                        .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())
                    .matchLabelKeys("string")
                    .mismatchLabelKeys("string")
                    .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", "string"))
        .configAnnotations(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", "string"))
        .dnsPolicy("string")
        .electionID("string")
        .enableMimalloc(false)
        .existingPsp("string")
        .extraArgs(Map.of("string", "string"))
        .extraContainers(ContainerArgs.builder()
            .name("string")
            .resources(ResourceRequirementsArgs.builder()
                .claims(ResourceClaimArgs.builder()
                    .name("string")
                    .request("string")
                    .build())
                .limits(Map.of("string", "string"))
                .requests(Map.of("string", "string"))
                .build())
            .ports(ContainerPortArgs.builder()
                .containerPort(0)
                .hostIP("string")
                .hostPort(0)
                .name("string")
                .protocol("string")
                .build())
            .envFrom(EnvFromSourceArgs.builder()
                .configMapRef(ConfigMapEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .prefix("string")
                .secretRef(SecretEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .build())
            .image("string")
            .imagePullPolicy("string")
            .lifecycle(LifecycleArgs.builder()
                .postStart(LifecycleHandlerArgs.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())
                    .sleep(SleepActionArgs.builder()
                        .seconds(0)
                        .build())
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .build())
                .preStop(LifecycleHandlerArgs.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())
                    .sleep(SleepActionArgs.builder()
                        .seconds(0)
                        .build())
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .build())
                .build())
            .livenessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .grpc(GRPCActionArgs.builder()
                    .port(0)
                    .service("string")
                    .build())
                .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())
            .restartPolicy("string")
            .args("string")
            .readinessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .grpc(GRPCActionArgs.builder()
                    .port(0)
                    .service("string")
                    .build())
                .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())
            .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())
            .resizePolicy(ContainerResizePolicyArgs.builder()
                .resourceName("string")
                .restartPolicy("string")
                .build())
            .command("string")
            .securityContext(SecurityContextArgs.builder()
                .allowPrivilegeEscalation(false)
                .appArmorProfile(AppArmorProfileArgs.builder()
                    .type("string")
                    .localhostProfile("string")
                    .build())
                .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())
            .startupProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .grpc(GRPCActionArgs.builder()
                    .port(0)
                    .service("string")
                    .build())
                .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())
            .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)
                .recursiveReadOnly("string")
                .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")
            .resources(ResourceRequirementsArgs.builder()
                .claims(ResourceClaimArgs.builder()
                    .name("string")
                    .request("string")
                    .build())
                .limits(Map.of("string", "string"))
                .requests(Map.of("string", "string"))
                .build())
            .ports(ContainerPortArgs.builder()
                .containerPort(0)
                .hostIP("string")
                .hostPort(0)
                .name("string")
                .protocol("string")
                .build())
            .envFrom(EnvFromSourceArgs.builder()
                .configMapRef(ConfigMapEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .prefix("string")
                .secretRef(SecretEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .build())
            .image("string")
            .imagePullPolicy("string")
            .lifecycle(LifecycleArgs.builder()
                .postStart(LifecycleHandlerArgs.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())
                    .sleep(SleepActionArgs.builder()
                        .seconds(0)
                        .build())
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .build())
                .preStop(LifecycleHandlerArgs.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())
                    .sleep(SleepActionArgs.builder()
                        .seconds(0)
                        .build())
                    .tcpSocket(TCPSocketActionArgs.builder()
                        .port(0)
                        .host("string")
                        .build())
                    .build())
                .build())
            .livenessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .grpc(GRPCActionArgs.builder()
                    .port(0)
                    .service("string")
                    .build())
                .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())
            .restartPolicy("string")
            .args("string")
            .readinessProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .grpc(GRPCActionArgs.builder()
                    .port(0)
                    .service("string")
                    .build())
                .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())
            .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())
            .resizePolicy(ContainerResizePolicyArgs.builder()
                .resourceName("string")
                .restartPolicy("string")
                .build())
            .command("string")
            .securityContext(SecurityContextArgs.builder()
                .allowPrivilegeEscalation(false)
                .appArmorProfile(AppArmorProfileArgs.builder()
                    .type("string")
                    .localhostProfile("string")
                    .build())
                .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())
            .startupProbe(ProbeArgs.builder()
                .exec(ExecActionArgs.builder()
                    .command("string")
                    .build())
                .failureThreshold(0)
                .grpc(GRPCActionArgs.builder()
                    .port(0)
                    .service("string")
                    .build())
                .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())
            .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)
                .recursiveReadOnly("string")
                .subPath("string")
                .subPathExpr("string")
                .build())
            .workingDir("string")
            .build())
        .extraVolumeMounts(VolumeMountArgs.builder()
            .mountPath("string")
            .name("string")
            .mountPropagation("string")
            .readOnly(false)
            .recursiveReadOnly("string")
            .subPath("string")
            .subPathExpr("string")
            .build())
        .extraVolumes(VolumeArgs.builder()
            .name("string")
            .gitRepo(GitRepoVolumeSourceArgs.builder()
                .repository("string")
                .directory("string")
                .revision("string")
                .build())
            .persistentVolumeClaim(PersistentVolumeClaimVolumeSourceArgs.builder()
                .claimName("string")
                .readOnly(false)
                .build())
            .cephfs(CephFSVolumeSourceArgs.builder()
                .monitors("string")
                .path("string")
                .readOnly(false)
                .secretFile("string")
                .secretRef(LocalObjectReferenceArgs.builder()
                    .name("string")
                    .build())
                .user("string")
                .build())
            .cinder(CinderVolumeSourceArgs.builder()
                .volumeID("string")
                .fsType("string")
                .readOnly(false)
                .secretRef(LocalObjectReferenceArgs.builder()
                    .name("string")
                    .build())
                .build())
            .configMap(ConfigMapVolumeSourceArgs.builder()
                .defaultMode(0)
                .items(KeyToPathArgs.builder()
                    .key("string")
                    .path("string")
                    .mode(0)
                    .build())
                .name("string")
                .optional(false)
                .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(TypedObjectReferenceArgs.builder()
                            .kind("string")
                            .name("string")
                            .apiGroup("string")
                            .namespace("string")
                            .build())
                        .resources(VolumeResourceRequirementsArgs.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")
                        .volumeAttributesClassName("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())
            .flocker(FlockerVolumeSourceArgs.builder()
                .datasetName("string")
                .datasetUUID("string")
                .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())
            .azureFile(AzureFileVolumeSourceArgs.builder()
                .secretName("string")
                .shareName("string")
                .readOnly(false)
                .build())
            .glusterfs(GlusterfsVolumeSourceArgs.builder()
                .endpoints("string")
                .path("string")
                .readOnly(false)
                .build())
            .portworxVolume(PortworxVolumeSourceArgs.builder()
                .volumeID("string")
                .fsType("string")
                .readOnly(false)
                .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())
            .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())
            .hostPath(HostPathVolumeSourceArgs.builder()
                .path("string")
                .type("string")
                .build())
            .photonPersistentDisk(PhotonPersistentDiskVolumeSourceArgs.builder()
                .pdID("string")
                .fsType("string")
                .build())
            .image(ImageVolumeSourceArgs.builder()
                .pullPolicy("string")
                .reference("string")
                .build())
            .projected(ProjectedVolumeSourceArgs.builder()
                .sources(VolumeProjectionArgs.builder()
                    .clusterTrustBundle(ClusterTrustBundleProjectionArgs.builder()
                        .path("string")
                        .labelSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .name("string")
                        .optional(false)
                        .signerName("string")
                        .build())
                    .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(LifecycleHandlerArgs.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())
                .sleep(SleepActionArgs.builder()
                    .seconds(0)
                    .build())
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .build())
            .preStop(LifecycleHandlerArgs.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())
                .sleep(SleepActionArgs.builder()
                    .seconds(0)
                    .build())
                .tcpSocket(TCPSocketActionArgs.builder()
                    .port(0)
                    .host("string")
                    .build())
                .build())
            .build())
        .livenessProbe(ProbeArgs.builder()
            .exec(ExecActionArgs.builder()
                .command("string")
                .build())
            .failureThreshold(0)
            .grpc(GRPCActionArgs.builder()
                .port(0)
                .service("string")
                .build())
            .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", "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", "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", "string"))
        .podSecurityContext(PodSecurityContextArgs.builder()
            .appArmorProfile(AppArmorProfileArgs.builder()
                .type("string")
                .localhostProfile("string")
                .build())
            .fsGroup(0)
            .fsGroupChangePolicy("string")
            .runAsGroup(0)
            .runAsNonRoot(false)
            .runAsUser(0)
            .seLinuxChangePolicy("string")
            .seLinuxOptions(SELinuxOptionsArgs.builder()
                .level("string")
                .role("string")
                .type("string")
                .user("string")
                .build())
            .seccompProfile(SeccompProfileArgs.builder()
                .type("string")
                .localhostProfile("string")
                .build())
            .supplementalGroups(0)
            .supplementalGroupsPolicy("string")
            .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)
            .grpc(GRPCActionArgs.builder()
                .port(0)
                .service("string")
                .build())
            .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()
            .claims(ResourceClaimArgs.builder()
                .name("string")
                .request("string")
                .build())
            .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", "string"))
            .clusterIP("string")
            .enableHttp(false)
            .enableHttps(false)
            .enabled(false)
            .externalIPs("string")
            .externalTrafficPolicy("string")
            .healthCheckNodePort(0)
            .internal(ControllerServiceInternalArgs.builder()
                .annotations(Map.of("string", "string"))
                .enabled(false)
                .externalTrafficPolicy("string")
                .labels(Map.of("string", "string"))
                .loadBalancerIPs("string")
                .loadBalancerSourceRanges("string")
                .build())
            .labels(Map.of("string", "string"))
            .loadBalancerIP("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)
            .grpc(GRPCActionArgs.builder()
                .port(0)
                .service("string")
                .build())
            .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())
            .matchLabelKeys("string")
            .minDomains(0)
            .nodeAffinityPolicy("string")
            .nodeTaintsPolicy("string")
            .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())
                        .matchLabelKeys("string")
                        .mismatchLabelKeys("string")
                        .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())
                    .matchLabelKeys("string")
                    .mismatchLabelKeys("string")
                    .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())
                        .matchLabelKeys("string")
                        .mismatchLabelKeys("string")
                        .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())
                    .matchLabelKeys("string")
                    .mismatchLabelKeys("string")
                    .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)
            .recursiveReadOnly("string")
            .subPath("string")
            .subPathExpr("string")
            .build())
        .extraVolumes(VolumeArgs.builder()
            .name("string")
            .gitRepo(GitRepoVolumeSourceArgs.builder()
                .repository("string")
                .directory("string")
                .revision("string")
                .build())
            .persistentVolumeClaim(PersistentVolumeClaimVolumeSourceArgs.builder()
                .claimName("string")
                .readOnly(false)
                .build())
            .cephfs(CephFSVolumeSourceArgs.builder()
                .monitors("string")
                .path("string")
                .readOnly(false)
                .secretFile("string")
                .secretRef(LocalObjectReferenceArgs.builder()
                    .name("string")
                    .build())
                .user("string")
                .build())
            .cinder(CinderVolumeSourceArgs.builder()
                .volumeID("string")
                .fsType("string")
                .readOnly(false)
                .secretRef(LocalObjectReferenceArgs.builder()
                    .name("string")
                    .build())
                .build())
            .configMap(ConfigMapVolumeSourceArgs.builder()
                .defaultMode(0)
                .items(KeyToPathArgs.builder()
                    .key("string")
                    .path("string")
                    .mode(0)
                    .build())
                .name("string")
                .optional(false)
                .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(TypedObjectReferenceArgs.builder()
                            .kind("string")
                            .name("string")
                            .apiGroup("string")
                            .namespace("string")
                            .build())
                        .resources(VolumeResourceRequirementsArgs.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")
                        .volumeAttributesClassName("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())
            .flocker(FlockerVolumeSourceArgs.builder()
                .datasetName("string")
                .datasetUUID("string")
                .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())
            .azureFile(AzureFileVolumeSourceArgs.builder()
                .secretName("string")
                .shareName("string")
                .readOnly(false)
                .build())
            .glusterfs(GlusterfsVolumeSourceArgs.builder()
                .endpoints("string")
                .path("string")
                .readOnly(false)
                .build())
            .portworxVolume(PortworxVolumeSourceArgs.builder()
                .volumeID("string")
                .fsType("string")
                .readOnly(false)
                .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())
            .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())
            .hostPath(HostPathVolumeSourceArgs.builder()
                .path("string")
                .type("string")
                .build())
            .photonPersistentDisk(PhotonPersistentDiskVolumeSourceArgs.builder()
                .pdID("string")
                .fsType("string")
                .build())
            .image(ImageVolumeSourceArgs.builder()
                .pullPolicy("string")
                .reference("string")
                .build())
            .projected(ProjectedVolumeSourceArgs.builder()
                .sources(VolumeProjectionArgs.builder()
                    .clusterTrustBundle(ClusterTrustBundleProjectionArgs.builder()
                        .path("string")
                        .labelSelector(LabelSelectorArgs.builder()
                            .matchExpressions(LabelSelectorRequirementArgs.builder()
                                .key("string")
                                .operator("string")
                                .values("string")
                                .build())
                            .matchLabels(Map.of("string", "string"))
                            .build())
                        .name("string")
                        .optional(false)
                        .signerName("string")
                        .build())
                    .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)
            .grpc(GRPCActionArgs.builder()
                .port(0)
                .service("string")
                .build())
            .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()
            .appArmorProfile(AppArmorProfileArgs.builder()
                .type("string")
                .localhostProfile("string")
                .build())
            .fsGroup(0)
            .fsGroupChangePolicy("string")
            .runAsGroup(0)
            .runAsNonRoot(false)
            .runAsUser(0)
            .seLinuxChangePolicy("string")
            .seLinuxOptions(SELinuxOptionsArgs.builder()
                .level("string")
                .role("string")
                .type("string")
                .user("string")
                .build())
            .seccompProfile(SeccompProfileArgs.builder()
                .type("string")
                .localhostProfile("string")
                .build())
            .supplementalGroups(0)
            .supplementalGroupsPolicy("string")
            .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)
            .grpc(GRPCActionArgs.builder()
                .port(0)
                .service("string")
                .build())
            .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()
            .claims(ResourceClaimArgs.builder()
                .name("string")
                .request("string")
                .build())
            .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",
            },
            "certificate": "string",
            "create_secret_job": {
                "resources": {
                    "claims": [{
                        "name": "string",
                        "request": "string",
                    }],
                    "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",
                },
                "priority_class_name": "string",
                "run_as_user": 0,
                "tolerations": [{
                    "effect": "string",
                    "key": "string",
                    "operator": "string",
                    "toleration_seconds": 0,
                    "value": "string",
                }],
            },
            "patch_webhook_job": {
                "resources": {
                    "claims": [{
                        "name": "string",
                        "request": "string",
                    }],
                    "limits": {
                        "string": "string",
                    },
                    "requests": {
                        "string": "string",
                    },
                },
            },
            "port": 0,
            "service": {
                "annotations": {
                    "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",
                            },
                        },
                        "match_label_keys": ["string"],
                        "mismatch_label_keys": ["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",
                        },
                    },
                    "match_label_keys": ["string"],
                    "mismatch_label_keys": ["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",
                            },
                        },
                        "match_label_keys": ["string"],
                        "mismatch_label_keys": ["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",
                        },
                    },
                    "match_label_keys": ["string"],
                    "mismatch_label_keys": ["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",
        },
        "config_annotations": {
            "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",
        },
        "dns_policy": "string",
        "election_id": "string",
        "enable_mimalloc": False,
        "existing_psp": "string",
        "extra_args": {
            "string": "string",
        },
        "extra_containers": [{
            "name": "string",
            "resources": {
                "claims": [{
                    "name": "string",
                    "request": "string",
                }],
                "limits": {
                    "string": "string",
                },
                "requests": {
                    "string": "string",
                },
            },
            "ports": [{
                "container_port": 0,
                "host_ip": "string",
                "host_port": 0,
                "name": "string",
                "protocol": "string",
            }],
            "env_from": [{
                "config_map_ref": {
                    "name": "string",
                    "optional": False,
                },
                "prefix": "string",
                "secret_ref": {
                    "name": "string",
                    "optional": False,
                },
            }],
            "image": "string",
            "image_pull_policy": "string",
            "lifecycle": {
                "post_start": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "sleep": {
                        "seconds": 0,
                    },
                    "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",
                    },
                    "sleep": {
                        "seconds": 0,
                    },
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                },
            },
            "liveness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "grpc": {
                    "port": 0,
                    "service": "string",
                },
                "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,
            },
            "restart_policy": "string",
            "args": ["string"],
            "readiness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "grpc": {
                    "port": 0,
                    "service": "string",
                },
                "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,
            },
            "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,
                    },
                },
            }],
            "resize_policy": [{
                "resource_name": "string",
                "restart_policy": "string",
            }],
            "command": ["string"],
            "security_context": {
                "allow_privilege_escalation": False,
                "app_armor_profile": {
                    "type": "string",
                    "localhost_profile": "string",
                },
                "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",
                },
            },
            "startup_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "grpc": {
                    "port": 0,
                    "service": "string",
                },
                "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,
            },
            "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,
                "recursive_read_only": "string",
                "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",
            "resources": {
                "claims": [{
                    "name": "string",
                    "request": "string",
                }],
                "limits": {
                    "string": "string",
                },
                "requests": {
                    "string": "string",
                },
            },
            "ports": [{
                "container_port": 0,
                "host_ip": "string",
                "host_port": 0,
                "name": "string",
                "protocol": "string",
            }],
            "env_from": [{
                "config_map_ref": {
                    "name": "string",
                    "optional": False,
                },
                "prefix": "string",
                "secret_ref": {
                    "name": "string",
                    "optional": False,
                },
            }],
            "image": "string",
            "image_pull_policy": "string",
            "lifecycle": {
                "post_start": {
                    "exec_": {
                        "command": ["string"],
                    },
                    "http_get": {
                        "port": 0,
                        "host": "string",
                        "http_headers": [{
                            "name": "string",
                            "value": "string",
                        }],
                        "path": "string",
                        "scheme": "string",
                    },
                    "sleep": {
                        "seconds": 0,
                    },
                    "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",
                    },
                    "sleep": {
                        "seconds": 0,
                    },
                    "tcp_socket": {
                        "port": 0,
                        "host": "string",
                    },
                },
            },
            "liveness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "grpc": {
                    "port": 0,
                    "service": "string",
                },
                "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,
            },
            "restart_policy": "string",
            "args": ["string"],
            "readiness_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "grpc": {
                    "port": 0,
                    "service": "string",
                },
                "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,
            },
            "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,
                    },
                },
            }],
            "resize_policy": [{
                "resource_name": "string",
                "restart_policy": "string",
            }],
            "command": ["string"],
            "security_context": {
                "allow_privilege_escalation": False,
                "app_armor_profile": {
                    "type": "string",
                    "localhost_profile": "string",
                },
                "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",
                },
            },
            "startup_probe": {
                "exec_": {
                    "command": ["string"],
                },
                "failure_threshold": 0,
                "grpc": {
                    "port": 0,
                    "service": "string",
                },
                "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,
            },
            "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,
                "recursive_read_only": "string",
                "sub_path": "string",
                "sub_path_expr": "string",
            }],
            "working_dir": "string",
        }],
        "extra_volume_mounts": [{
            "mount_path": "string",
            "name": "string",
            "mount_propagation": "string",
            "read_only": False,
            "recursive_read_only": "string",
            "sub_path": "string",
            "sub_path_expr": "string",
        }],
        "extra_volumes": [{
            "name": "string",
            "git_repo": {
                "repository": "string",
                "directory": "string",
                "revision": "string",
            },
            "persistent_volume_claim": {
                "claim_name": "string",
                "read_only": False,
            },
            "cephfs": {
                "monitors": ["string"],
                "path": "string",
                "read_only": False,
                "secret_file": "string",
                "secret_ref": {
                    "name": "string",
                },
                "user": "string",
            },
            "cinder": {
                "volume_id": "string",
                "fs_type": "string",
                "read_only": False,
                "secret_ref": {
                    "name": "string",
                },
            },
            "config_map": {
                "default_mode": 0,
                "items": [{
                    "key": "string",
                    "path": "string",
                    "mode": 0,
                }],
                "name": "string",
                "optional": False,
            },
            "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",
                            "namespace": "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_attributes_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",
                },
            },
            "flocker": {
                "dataset_name": "string",
                "dataset_uuid": "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,
            },
            "azure_file": {
                "secret_name": "string",
                "share_name": "string",
                "read_only": False,
            },
            "glusterfs": {
                "endpoints": "string",
                "path": "string",
                "read_only": False,
            },
            "portworx_volume": {
                "volume_id": "string",
                "fs_type": "string",
                "read_only": False,
            },
            "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",
                },
            },
            "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,
            },
            "host_path": {
                "path": "string",
                "type": "string",
            },
            "photon_persistent_disk": {
                "pd_id": "string",
                "fs_type": "string",
            },
            "image": {
                "pull_policy": "string",
                "reference": "string",
            },
            "projected": {
                "sources": [{
                    "cluster_trust_bundle": {
                        "path": "string",
                        "label_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "name": "string",
                        "optional": False,
                        "signer_name": "string",
                    },
                    "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",
                },
                "sleep": {
                    "seconds": 0,
                },
                "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",
                },
                "sleep": {
                    "seconds": 0,
                },
                "tcp_socket": {
                    "port": 0,
                    "host": "string",
                },
            },
        },
        "liveness_probe": {
            "exec_": {
                "command": ["string"],
            },
            "failure_threshold": 0,
            "grpc": {
                "port": 0,
                "service": "string",
            },
            "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",
                },
                "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",
                },
                "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",
        },
        "pod_security_context": {
            "app_armor_profile": {
                "type": "string",
                "localhost_profile": "string",
            },
            "fs_group": 0,
            "fs_group_change_policy": "string",
            "run_as_group": 0,
            "run_as_non_root": False,
            "run_as_user": 0,
            "se_linux_change_policy": "string",
            "se_linux_options": {
                "level": "string",
                "role": "string",
                "type": "string",
                "user": "string",
            },
            "seccomp_profile": {
                "type": "string",
                "localhost_profile": "string",
            },
            "supplemental_groups": [0],
            "supplemental_groups_policy": "string",
            "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,
            "grpc": {
                "port": 0,
                "service": "string",
            },
            "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": {
            "claims": [{
                "name": "string",
                "request": "string",
            }],
            "limits": {
                "string": "string",
            },
            "requests": {
                "string": "string",
            },
        },
        "scope": {
            "enabled": False,
            "namespace": "string",
        },
        "service": {
            "annotations": {
                "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",
                },
                "enabled": False,
                "external_traffic_policy": "string",
                "labels": {
                    "string": "string",
                },
                "load_balancer_ips": "string",
                "load_balancer_source_ranges": ["string"],
            },
            "labels": {
                "string": "string",
            },
            "load_balancer_ip": "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,
            "grpc": {
                "port": 0,
                "service": "string",
            },
            "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",
                },
            },
            "match_label_keys": ["string"],
            "min_domains": 0,
            "node_affinity_policy": "string",
            "node_taints_policy": "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",
                            },
                        },
                        "match_label_keys": ["string"],
                        "mismatch_label_keys": ["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",
                        },
                    },
                    "match_label_keys": ["string"],
                    "mismatch_label_keys": ["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",
                            },
                        },
                        "match_label_keys": ["string"],
                        "mismatch_label_keys": ["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",
                        },
                    },
                    "match_label_keys": ["string"],
                    "mismatch_label_keys": ["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,
            "recursive_read_only": "string",
            "sub_path": "string",
            "sub_path_expr": "string",
        }],
        "extra_volumes": [{
            "name": "string",
            "git_repo": {
                "repository": "string",
                "directory": "string",
                "revision": "string",
            },
            "persistent_volume_claim": {
                "claim_name": "string",
                "read_only": False,
            },
            "cephfs": {
                "monitors": ["string"],
                "path": "string",
                "read_only": False,
                "secret_file": "string",
                "secret_ref": {
                    "name": "string",
                },
                "user": "string",
            },
            "cinder": {
                "volume_id": "string",
                "fs_type": "string",
                "read_only": False,
                "secret_ref": {
                    "name": "string",
                },
            },
            "config_map": {
                "default_mode": 0,
                "items": [{
                    "key": "string",
                    "path": "string",
                    "mode": 0,
                }],
                "name": "string",
                "optional": False,
            },
            "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",
                            "namespace": "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_attributes_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",
                },
            },
            "flocker": {
                "dataset_name": "string",
                "dataset_uuid": "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,
            },
            "azure_file": {
                "secret_name": "string",
                "share_name": "string",
                "read_only": False,
            },
            "glusterfs": {
                "endpoints": "string",
                "path": "string",
                "read_only": False,
            },
            "portworx_volume": {
                "volume_id": "string",
                "fs_type": "string",
                "read_only": False,
            },
            "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",
                },
            },
            "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,
            },
            "host_path": {
                "path": "string",
                "type": "string",
            },
            "photon_persistent_disk": {
                "pd_id": "string",
                "fs_type": "string",
            },
            "image": {
                "pull_policy": "string",
                "reference": "string",
            },
            "projected": {
                "sources": [{
                    "cluster_trust_bundle": {
                        "path": "string",
                        "label_selector": {
                            "match_expressions": [{
                                "key": "string",
                                "operator": "string",
                                "values": ["string"],
                            }],
                            "match_labels": {
                                "string": "string",
                            },
                        },
                        "name": "string",
                        "optional": False,
                        "signer_name": "string",
                    },
                    "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,
            "grpc": {
                "port": 0,
                "service": "string",
            },
            "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": {
            "app_armor_profile": {
                "type": "string",
                "localhost_profile": "string",
            },
            "fs_group": 0,
            "fs_group_change_policy": "string",
            "run_as_group": 0,
            "run_as_non_root": False,
            "run_as_user": 0,
            "se_linux_change_policy": "string",
            "se_linux_options": {
                "level": "string",
                "role": "string",
                "type": "string",
                "user": "string",
            },
            "seccomp_profile": {
                "type": "string",
                "localhost_profile": "string",
            },
            "supplemental_groups": [0],
            "supplemental_groups_policy": "string",
            "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,
            "grpc": {
                "port": 0,
                "service": "string",
            },
            "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": {
            "claims": [{
                "name": "string",
                "request": "string",
            }],
            "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",
            },
            certificate: "string",
            createSecretJob: {
                resources: {
                    claims: [{
                        name: "string",
                        request: "string",
                    }],
                    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",
                },
                priorityClassName: "string",
                runAsUser: 0,
                tolerations: [{
                    effect: "string",
                    key: "string",
                    operator: "string",
                    tolerationSeconds: 0,
                    value: "string",
                }],
            },
            patchWebhookJob: {
                resources: {
                    claims: [{
                        name: "string",
                        request: "string",
                    }],
                    limits: {
                        string: "string",
                    },
                    requests: {
                        string: "string",
                    },
                },
            },
            port: 0,
            service: {
                annotations: {
                    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",
                            },
                        },
                        matchLabelKeys: ["string"],
                        mismatchLabelKeys: ["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",
                        },
                    },
                    matchLabelKeys: ["string"],
                    mismatchLabelKeys: ["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",
                            },
                        },
                        matchLabelKeys: ["string"],
                        mismatchLabelKeys: ["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",
                        },
                    },
                    matchLabelKeys: ["string"],
                    mismatchLabelKeys: ["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",
        },
        configAnnotations: {
            string: "string",
        },
        configMapNamespace: "string",
        containerName: "string",
        containerPort: {
            http: 0,
            https: 0,
        },
        customTemplate: {
            configMapKey: "string",
            configMapName: "string",
        },
        dnsConfig: {
            string: "string",
        },
        dnsPolicy: "string",
        electionID: "string",
        enableMimalloc: false,
        existingPsp: "string",
        extraArgs: {
            string: "string",
        },
        extraContainers: [{
            name: "string",
            resources: {
                claims: [{
                    name: "string",
                    request: "string",
                }],
                limits: {
                    string: "string",
                },
                requests: {
                    string: "string",
                },
            },
            ports: [{
                containerPort: 0,
                hostIP: "string",
                hostPort: 0,
                name: "string",
                protocol: "string",
            }],
            envFrom: [{
                configMapRef: {
                    name: "string",
                    optional: false,
                },
                prefix: "string",
                secretRef: {
                    name: "string",
                    optional: false,
                },
            }],
            image: "string",
            imagePullPolicy: "string",
            lifecycle: {
                postStart: {
                    exec: {
                        command: ["string"],
                    },
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    sleep: {
                        seconds: 0,
                    },
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                },
                preStop: {
                    exec: {
                        command: ["string"],
                    },
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    sleep: {
                        seconds: 0,
                    },
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                },
            },
            livenessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                grpc: {
                    port: 0,
                    service: "string",
                },
                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,
            },
            restartPolicy: "string",
            args: ["string"],
            readinessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                grpc: {
                    port: 0,
                    service: "string",
                },
                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,
            },
            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,
                    },
                },
            }],
            resizePolicy: [{
                resourceName: "string",
                restartPolicy: "string",
            }],
            command: ["string"],
            securityContext: {
                allowPrivilegeEscalation: false,
                appArmorProfile: {
                    type: "string",
                    localhostProfile: "string",
                },
                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",
                },
            },
            startupProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                grpc: {
                    port: 0,
                    service: "string",
                },
                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,
            },
            stdin: false,
            stdinOnce: false,
            terminationMessagePath: "string",
            terminationMessagePolicy: "string",
            tty: false,
            volumeDevices: [{
                devicePath: "string",
                name: "string",
            }],
            volumeMounts: [{
                mountPath: "string",
                name: "string",
                mountPropagation: "string",
                readOnly: false,
                recursiveReadOnly: "string",
                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",
            resources: {
                claims: [{
                    name: "string",
                    request: "string",
                }],
                limits: {
                    string: "string",
                },
                requests: {
                    string: "string",
                },
            },
            ports: [{
                containerPort: 0,
                hostIP: "string",
                hostPort: 0,
                name: "string",
                protocol: "string",
            }],
            envFrom: [{
                configMapRef: {
                    name: "string",
                    optional: false,
                },
                prefix: "string",
                secretRef: {
                    name: "string",
                    optional: false,
                },
            }],
            image: "string",
            imagePullPolicy: "string",
            lifecycle: {
                postStart: {
                    exec: {
                        command: ["string"],
                    },
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    sleep: {
                        seconds: 0,
                    },
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                },
                preStop: {
                    exec: {
                        command: ["string"],
                    },
                    httpGet: {
                        port: 0,
                        host: "string",
                        httpHeaders: [{
                            name: "string",
                            value: "string",
                        }],
                        path: "string",
                        scheme: "string",
                    },
                    sleep: {
                        seconds: 0,
                    },
                    tcpSocket: {
                        port: 0,
                        host: "string",
                    },
                },
            },
            livenessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                grpc: {
                    port: 0,
                    service: "string",
                },
                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,
            },
            restartPolicy: "string",
            args: ["string"],
            readinessProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                grpc: {
                    port: 0,
                    service: "string",
                },
                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,
            },
            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,
                    },
                },
            }],
            resizePolicy: [{
                resourceName: "string",
                restartPolicy: "string",
            }],
            command: ["string"],
            securityContext: {
                allowPrivilegeEscalation: false,
                appArmorProfile: {
                    type: "string",
                    localhostProfile: "string",
                },
                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",
                },
            },
            startupProbe: {
                exec: {
                    command: ["string"],
                },
                failureThreshold: 0,
                grpc: {
                    port: 0,
                    service: "string",
                },
                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,
            },
            stdin: false,
            stdinOnce: false,
            terminationMessagePath: "string",
            terminationMessagePolicy: "string",
            tty: false,
            volumeDevices: [{
                devicePath: "string",
                name: "string",
            }],
            volumeMounts: [{
                mountPath: "string",
                name: "string",
                mountPropagation: "string",
                readOnly: false,
                recursiveReadOnly: "string",
                subPath: "string",
                subPathExpr: "string",
            }],
            workingDir: "string",
        }],
        extraVolumeMounts: [{
            mountPath: "string",
            name: "string",
            mountPropagation: "string",
            readOnly: false,
            recursiveReadOnly: "string",
            subPath: "string",
            subPathExpr: "string",
        }],
        extraVolumes: [{
            name: "string",
            gitRepo: {
                repository: "string",
                directory: "string",
                revision: "string",
            },
            persistentVolumeClaim: {
                claimName: "string",
                readOnly: false,
            },
            cephfs: {
                monitors: ["string"],
                path: "string",
                readOnly: false,
                secretFile: "string",
                secretRef: {
                    name: "string",
                },
                user: "string",
            },
            cinder: {
                volumeID: "string",
                fsType: "string",
                readOnly: false,
                secretRef: {
                    name: "string",
                },
            },
            configMap: {
                defaultMode: 0,
                items: [{
                    key: "string",
                    path: "string",
                    mode: 0,
                }],
                name: "string",
                optional: false,
            },
            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",
                            namespace: "string",
                        },
                        resources: {
                            limits: {
                                string: "string",
                            },
                            requests: {
                                string: "string",
                            },
                        },
                        selector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        storageClassName: "string",
                        volumeAttributesClassName: "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",
                },
            },
            flocker: {
                datasetName: "string",
                datasetUUID: "string",
            },
            gcePersistentDisk: {
                pdName: "string",
                fsType: "string",
                partition: 0,
                readOnly: false,
            },
            awsElasticBlockStore: {
                volumeID: "string",
                fsType: "string",
                partition: 0,
                readOnly: false,
            },
            azureFile: {
                secretName: "string",
                shareName: "string",
                readOnly: false,
            },
            glusterfs: {
                endpoints: "string",
                path: "string",
                readOnly: false,
            },
            portworxVolume: {
                volumeID: "string",
                fsType: "string",
                readOnly: false,
            },
            iscsi: {
                iqn: "string",
                lun: 0,
                targetPortal: "string",
                chapAuthDiscovery: false,
                chapAuthSession: false,
                fsType: "string",
                initiatorName: "string",
                iscsiInterface: "string",
                portals: ["string"],
                readOnly: false,
                secretRef: {
                    name: "string",
                },
            },
            azureDisk: {
                diskName: "string",
                diskURI: "string",
                cachingMode: "string",
                fsType: "string",
                kind: "string",
                readOnly: false,
            },
            nfs: {
                path: "string",
                server: "string",
                readOnly: false,
            },
            hostPath: {
                path: "string",
                type: "string",
            },
            photonPersistentDisk: {
                pdID: "string",
                fsType: "string",
            },
            image: {
                pullPolicy: "string",
                reference: "string",
            },
            projected: {
                sources: [{
                    clusterTrustBundle: {
                        path: "string",
                        labelSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        name: "string",
                        optional: false,
                        signerName: "string",
                    },
                    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",
                },
                sleep: {
                    seconds: 0,
                },
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
            },
            preStop: {
                exec: {
                    command: ["string"],
                },
                httpGet: {
                    port: 0,
                    host: "string",
                    httpHeaders: [{
                        name: "string",
                        value: "string",
                    }],
                    path: "string",
                    scheme: "string",
                },
                sleep: {
                    seconds: 0,
                },
                tcpSocket: {
                    port: 0,
                    host: "string",
                },
            },
        },
        livenessProbe: {
            exec: {
                command: ["string"],
            },
            failureThreshold: 0,
            grpc: {
                port: 0,
                service: "string",
            },
            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",
                },
                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",
                },
                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",
        },
        podSecurityContext: {
            appArmorProfile: {
                type: "string",
                localhostProfile: "string",
            },
            fsGroup: 0,
            fsGroupChangePolicy: "string",
            runAsGroup: 0,
            runAsNonRoot: false,
            runAsUser: 0,
            seLinuxChangePolicy: "string",
            seLinuxOptions: {
                level: "string",
                role: "string",
                type: "string",
                user: "string",
            },
            seccompProfile: {
                type: "string",
                localhostProfile: "string",
            },
            supplementalGroups: [0],
            supplementalGroupsPolicy: "string",
            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,
            grpc: {
                port: 0,
                service: "string",
            },
            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: {
            claims: [{
                name: "string",
                request: "string",
            }],
            limits: {
                string: "string",
            },
            requests: {
                string: "string",
            },
        },
        scope: {
            enabled: false,
            namespace: "string",
        },
        service: {
            annotations: {
                string: "string",
            },
            clusterIP: "string",
            enableHttp: false,
            enableHttps: false,
            enabled: false,
            externalIPs: ["string"],
            externalTrafficPolicy: "string",
            healthCheckNodePort: 0,
            internal: {
                annotations: {
                    string: "string",
                },
                enabled: false,
                externalTrafficPolicy: "string",
                labels: {
                    string: "string",
                },
                loadBalancerIPs: "string",
                loadBalancerSourceRanges: ["string"],
            },
            labels: {
                string: "string",
            },
            loadBalancerIP: "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,
            grpc: {
                port: 0,
                service: "string",
            },
            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",
                },
            },
            matchLabelKeys: ["string"],
            minDomains: 0,
            nodeAffinityPolicy: "string",
            nodeTaintsPolicy: "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",
                            },
                        },
                        matchLabelKeys: ["string"],
                        mismatchLabelKeys: ["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",
                        },
                    },
                    matchLabelKeys: ["string"],
                    mismatchLabelKeys: ["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",
                            },
                        },
                        matchLabelKeys: ["string"],
                        mismatchLabelKeys: ["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",
                        },
                    },
                    matchLabelKeys: ["string"],
                    mismatchLabelKeys: ["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,
            recursiveReadOnly: "string",
            subPath: "string",
            subPathExpr: "string",
        }],
        extraVolumes: [{
            name: "string",
            gitRepo: {
                repository: "string",
                directory: "string",
                revision: "string",
            },
            persistentVolumeClaim: {
                claimName: "string",
                readOnly: false,
            },
            cephfs: {
                monitors: ["string"],
                path: "string",
                readOnly: false,
                secretFile: "string",
                secretRef: {
                    name: "string",
                },
                user: "string",
            },
            cinder: {
                volumeID: "string",
                fsType: "string",
                readOnly: false,
                secretRef: {
                    name: "string",
                },
            },
            configMap: {
                defaultMode: 0,
                items: [{
                    key: "string",
                    path: "string",
                    mode: 0,
                }],
                name: "string",
                optional: false,
            },
            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",
                            namespace: "string",
                        },
                        resources: {
                            limits: {
                                string: "string",
                            },
                            requests: {
                                string: "string",
                            },
                        },
                        selector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        storageClassName: "string",
                        volumeAttributesClassName: "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",
                },
            },
            flocker: {
                datasetName: "string",
                datasetUUID: "string",
            },
            gcePersistentDisk: {
                pdName: "string",
                fsType: "string",
                partition: 0,
                readOnly: false,
            },
            awsElasticBlockStore: {
                volumeID: "string",
                fsType: "string",
                partition: 0,
                readOnly: false,
            },
            azureFile: {
                secretName: "string",
                shareName: "string",
                readOnly: false,
            },
            glusterfs: {
                endpoints: "string",
                path: "string",
                readOnly: false,
            },
            portworxVolume: {
                volumeID: "string",
                fsType: "string",
                readOnly: false,
            },
            iscsi: {
                iqn: "string",
                lun: 0,
                targetPortal: "string",
                chapAuthDiscovery: false,
                chapAuthSession: false,
                fsType: "string",
                initiatorName: "string",
                iscsiInterface: "string",
                portals: ["string"],
                readOnly: false,
                secretRef: {
                    name: "string",
                },
            },
            azureDisk: {
                diskName: "string",
                diskURI: "string",
                cachingMode: "string",
                fsType: "string",
                kind: "string",
                readOnly: false,
            },
            nfs: {
                path: "string",
                server: "string",
                readOnly: false,
            },
            hostPath: {
                path: "string",
                type: "string",
            },
            photonPersistentDisk: {
                pdID: "string",
                fsType: "string",
            },
            image: {
                pullPolicy: "string",
                reference: "string",
            },
            projected: {
                sources: [{
                    clusterTrustBundle: {
                        path: "string",
                        labelSelector: {
                            matchExpressions: [{
                                key: "string",
                                operator: "string",
                                values: ["string"],
                            }],
                            matchLabels: {
                                string: "string",
                            },
                        },
                        name: "string",
                        optional: false,
                        signerName: "string",
                    },
                    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,
            grpc: {
                port: 0,
                service: "string",
            },
            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: {
            appArmorProfile: {
                type: "string",
                localhostProfile: "string",
            },
            fsGroup: 0,
            fsGroupChangePolicy: "string",
            runAsGroup: 0,
            runAsNonRoot: false,
            runAsUser: 0,
            seLinuxChangePolicy: "string",
            seLinuxOptions: {
                level: "string",
                role: "string",
                type: "string",
                user: "string",
            },
            seccompProfile: {
                type: "string",
                localhostProfile: "string",
            },
            supplementalGroups: [0],
            supplementalGroupsPolicy: "string",
            sysctls: [{
                name: "string",
                value: "string",
            }],
            windowsOptions: {
                gmsaCredentialSpec: "string",
                gmsaCredentialSpecName: "string",
                hostProcess: false,
                runAsUserName: "string",
            },
        },
        port: 0,
        priorityClassName: "string",
        readinessProbe: {
            exec: {
                command: ["string"],
            },
            failureThreshold: 0,
            grpc: {
                port: 0,
                service: "string",
            },
            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: {
            claims: [{
                name: "string",
                request: "string",
            }],
            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
            certificate: string
            createSecretJob:
                resources:
                    claims:
                        - name: string
                          request: string
                    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
                priorityClassName: string
                runAsUser: 0
                tolerations:
                    - effect: string
                      key: string
                      operator: string
                      tolerationSeconds: 0
                      value: string
            patchWebhookJob:
                resources:
                    claims:
                        - name: string
                          request: string
                    limits:
                        string: string
                    requests:
                        string: string
            port: 0
            service:
                annotations:
                    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
                        matchLabelKeys:
                            - string
                        mismatchLabelKeys:
                            - 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
                      matchLabelKeys:
                        - string
                      mismatchLabelKeys:
                        - 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
                        matchLabelKeys:
                            - string
                        mismatchLabelKeys:
                            - 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
                      matchLabelKeys:
                        - string
                      mismatchLabelKeys:
                        - 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
        configAnnotations:
            string: string
        configMapNamespace: string
        containerName: string
        containerPort:
            http: 0
            https: 0
        customTemplate:
            configMapKey: string
            configMapName: string
        dnsConfig:
            string: string
        dnsPolicy: string
        electionID: string
        enableMimalloc: false
        existingPsp: string
        extraArgs:
            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
                    sleep:
                        seconds: 0
                    tcpSocket:
                        host: string
                        port: 0
                preStop:
                    exec:
                        command:
                            - string
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    sleep:
                        seconds: 0
                    tcpSocket:
                        host: string
                        port: 0
              livenessProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                grpc:
                    port: 0
                    service: string
                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
                grpc:
                    port: 0
                    service: string
                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
              resizePolicy:
                - resourceName: string
                  restartPolicy: string
              resources:
                claims:
                    - name: string
                      request: string
                limits:
                    string: string
                requests:
                    string: string
              restartPolicy: string
              securityContext:
                allowPrivilegeEscalation: false
                appArmorProfile:
                    localhostProfile: string
                    type: string
                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
                grpc:
                    port: 0
                    service: string
                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
                  recursiveReadOnly: string
                  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
                    sleep:
                        seconds: 0
                    tcpSocket:
                        host: string
                        port: 0
                preStop:
                    exec:
                        command:
                            - string
                    httpGet:
                        host: string
                        httpHeaders:
                            - name: string
                              value: string
                        path: string
                        port: 0
                        scheme: string
                    sleep:
                        seconds: 0
                    tcpSocket:
                        host: string
                        port: 0
              livenessProbe:
                exec:
                    command:
                        - string
                failureThreshold: 0
                grpc:
                    port: 0
                    service: string
                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
                grpc:
                    port: 0
                    service: string
                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
              resizePolicy:
                - resourceName: string
                  restartPolicy: string
              resources:
                claims:
                    - name: string
                      request: string
                limits:
                    string: string
                requests:
                    string: string
              restartPolicy: string
              securityContext:
                allowPrivilegeEscalation: false
                appArmorProfile:
                    localhostProfile: string
                    type: string
                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
                grpc:
                    port: 0
                    service: string
                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
                  recursiveReadOnly: string
                  subPath: string
                  subPathExpr: string
              workingDir: string
        extraVolumeMounts:
            - mountPath: string
              mountPropagation: string
              name: string
              readOnly: false
              recursiveReadOnly: string
              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
                            namespace: string
                        resources:
                            limits:
                                string: string
                            requests:
                                string: string
                        selector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                        storageClassName: string
                        volumeAttributesClassName: 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
              image:
                pullPolicy: string
                reference: 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:
                    - clusterTrustBundle:
                        labelSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                        name: string
                        optional: false
                        path: string
                        signerName: string
                      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
                sleep:
                    seconds: 0
                tcpSocket:
                    host: string
                    port: 0
            preStop:
                exec:
                    command:
                        - string
                httpGet:
                    host: string
                    httpHeaders:
                        - name: string
                          value: string
                    path: string
                    port: 0
                    scheme: string
                sleep:
                    seconds: 0
                tcpSocket:
                    host: string
                    port: 0
        livenessProbe:
            exec:
                command:
                    - string
            failureThreshold: 0
            grpc:
                port: 0
                service: string
            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
                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
                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
        podSecurityContext:
            appArmorProfile:
                localhostProfile: string
                type: string
            fsGroup: 0
            fsGroupChangePolicy: string
            runAsGroup: 0
            runAsNonRoot: false
            runAsUser: 0
            seLinuxChangePolicy: string
            seLinuxOptions:
                level: string
                role: string
                type: string
                user: string
            seccompProfile:
                localhostProfile: string
                type: string
            supplementalGroups:
                - 0
            supplementalGroupsPolicy: string
            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
            grpc:
                port: 0
                service: string
            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:
            claims:
                - name: string
                  request: string
            limits:
                string: string
            requests:
                string: string
        scope:
            enabled: false
            namespace: string
        service:
            annotations:
                string: string
            clusterIP: string
            enableHttp: false
            enableHttps: false
            enabled: false
            externalIPs:
                - string
            externalTrafficPolicy: string
            healthCheckNodePort: 0
            internal:
                annotations:
                    string: string
                enabled: false
                externalTrafficPolicy: string
                labels:
                    string: string
                loadBalancerIPs: string
                loadBalancerSourceRanges:
                    - string
            labels:
                string: string
            loadBalancerIP: 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
            grpc:
                port: 0
                service: string
            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
              matchLabelKeys:
                - string
              maxSkew: 0
              minDomains: 0
              nodeAffinityPolicy: string
              nodeTaintsPolicy: string
              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
                        matchLabelKeys:
                            - string
                        mismatchLabelKeys:
                            - 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
                      matchLabelKeys:
                        - string
                      mismatchLabelKeys:
                        - 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
                        matchLabelKeys:
                            - string
                        mismatchLabelKeys:
                            - 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
                      matchLabelKeys:
                        - string
                      mismatchLabelKeys:
                        - 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
              recursiveReadOnly: string
              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
                            namespace: string
                        resources:
                            limits:
                                string: string
                            requests:
                                string: string
                        selector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                        storageClassName: string
                        volumeAttributesClassName: 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
              image:
                pullPolicy: string
                reference: 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:
                    - clusterTrustBundle:
                        labelSelector:
                            matchExpressions:
                                - key: string
                                  operator: string
                                  values:
                                    - string
                            matchLabels:
                                string: string
                        name: string
                        optional: false
                        path: string
                        signerName: string
                      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
            grpc:
                port: 0
                service: string
            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:
            appArmorProfile:
                localhostProfile: string
                type: string
            fsGroup: 0
            fsGroupChangePolicy: string
            runAsGroup: 0
            runAsNonRoot: false
            runAsUser: 0
            seLinuxChangePolicy: string
            seLinuxOptions:
                level: string
                role: string
                type: string
                user: string
            seccompProfile:
                localhostProfile: string
                type: string
            supplementalGroups:
                - 0
            supplementalGroupsPolicy: string
            sysctls:
                - name: string
                  value: string
            windowsOptions:
                gmsaCredentialSpec: string
                gmsaCredentialSpecName: string
                hostProcess: false
                runAsUserName: string
        port: 0
        priorityClassName: string
        readinessProbe:
            exec:
                command:
                    - string
            failureThreshold: 0
            grpc:
                port: 0
                service: string
            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:
            claims:
                - name: string
                  request: string
            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.Kubernetes Ingress Nginx. Inputs. Controller 
- DefaultBackend Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Default Backend 
- 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.Kubernetes Ingress Nginx. 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.
- ImagePull List<Pulumi.Secrets Kubernetes. Types. Inputs. Core. V1. Local Object Reference> 
- 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.
- PodSecurity Pulumi.Policy Kubernetes Ingress Nginx. Inputs. Controller Pod Security Policy 
- If true, create & use Pod Security Policy resources https://kubernetes.io/docs/concepts/policy/pod-security-policy/
- Rbac
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller RBAC 
- 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
- RevisionHistory intLimit 
- Rollback limit.
- ServiceAccount Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Service Account 
- 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 ControllerDefault Backend Args 
- 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.
- ImagePull LocalSecrets Object Reference Args 
- 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.
- PodSecurity ControllerPolicy Pod Security Policy Args 
- 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
- RevisionHistory intLimit 
- Rollback limit.
- ServiceAccount ControllerService Account Args 
- 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 ControllerDefault Backend 
- 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.
- imagePull List<LocalSecrets Object Reference> 
- 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.
- podSecurity ControllerPolicy Pod Security Policy 
- 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
- revisionHistory IntegerLimit 
- Rollback limit.
- serviceAccount ControllerService Account 
- 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 ControllerDefault Backend 
- 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.
- imagePull pulumiSecrets Kubernetestypesinputcorev1Local Object Reference[] 
- 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.
- podSecurity ControllerPolicy Pod Security Policy 
- 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
- revisionHistory numberLimit 
- Rollback limit.
- serviceAccount ControllerService Account 
- 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 ControllerDefault Backend Args 
- 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_ Sequence[pulumi_secrets kubernetes.core.v1. Local Object Reference Args] 
- 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_ Controllerpolicy Pod Security Policy Args 
- 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_ intlimit 
- Rollback limit.
- service_account ControllerService Account Args 
- 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.
- imagePull List<Property Map>Secrets 
- 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.
- podSecurity Property MapPolicy 
- 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
- revisionHistory NumberLimit 
- 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.Kubernetes Ingress Nginx. Outputs. Release Status 
- 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  
- Annotations Dictionary<string, string>
- ControllerAutoscaling Pulumi.Behavior Kubernetes Ingress Nginx. Inputs. Autoscaling Behavior 
- Enabled bool
- MaxReplicas int
- MinReplicas int
- TargetCPUUtilization intPercentage 
- TargetMemory intUtilization Percentage 
- Annotations map[string]string
- ControllerAutoscaling AutoscalingBehavior Behavior 
- Enabled bool
- MaxReplicas int
- MinReplicas int
- TargetCPUUtilization intPercentage 
- TargetMemory intUtilization Percentage 
- annotations Map<String,String>
- controllerAutoscaling AutoscalingBehavior Behavior 
- enabled Boolean
- maxReplicas Integer
- minReplicas Integer
- targetCPUUtilization IntegerPercentage 
- targetMemory IntegerUtilization Percentage 
- annotations {[key: string]: string}
- controllerAutoscaling AutoscalingBehavior Behavior 
- enabled boolean
- maxReplicas number
- minReplicas number
- targetCPUUtilization numberPercentage 
- targetMemory numberUtilization Percentage 
- annotations Map<String>
- controllerAutoscaling Property MapBehavior 
- enabled Boolean
- maxReplicas Number
- minReplicas Number
- targetCPUUtilization NumberPercentage 
- targetMemory NumberUtilization Percentage 
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
- period_seconds int
- type str
- value int
- periodSeconds Number
- type String
- value Number
AutoscalingTemplate, AutoscalingTemplateArgs    
- Pods
AutoscalingTemplate Pods 
- Type string
- pods
AutoscalingTemplate Pods 
- type String
- pods
AutoscalingTemplate Pods 
- type string
- pods Property Map
- type String
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
- average_value str
- type str
- averageValue String
- type String
ContollerAdmissionWebhooks, ContollerAdmissionWebhooksArgs      
- Annotations Dictionary<string, string>
- Certificate string
- CreateSecret Pulumi.Job Kubernetes Ingress Nginx. Inputs. Controller Admission Webhooks Create Secret Job 
- Enabled bool
- ExistingPsp string
- Use an existing PSP instead of creating one.
- FailurePolicy string
- Key string
- NamespaceSelector Dictionary<string, ImmutableDictionary<string, string>> 
- ObjectSelector Dictionary<string, ImmutableDictionary<string, string>> 
- Patch
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Admission Webhooks Patch 
- PatchWebhook Pulumi.Job Kubernetes Ingress Nginx. Inputs. Controller Admission Webhooks Patch Webhbook Job 
- Port int
- Service
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Admission Webhooks Service 
- TimeoutSeconds int
- Annotations map[string]string
- Certificate string
- CreateSecret ControllerJob Admission Webhooks Create Secret Job 
- Enabled bool
- ExistingPsp string
- Use an existing PSP instead of creating one.
- FailurePolicy string
- Key string
- NamespaceSelector map[string]map[string]string
- ObjectSelector map[string]map[string]string
- Patch
ControllerAdmission Webhooks Patch 
- PatchWebhook ControllerJob Admission Webhooks Patch Webhbook Job 
- Port int
- Service
ControllerAdmission Webhooks Service 
- TimeoutSeconds int
- annotations Map<String,String>
- certificate String
- createSecret ControllerJob Admission Webhooks Create Secret Job 
- enabled Boolean
- existingPsp String
- Use an existing PSP instead of creating one.
- failurePolicy String
- key String
- namespaceSelector Map<String,Map<String,String>>
- objectSelector Map<String,Map<String,String>>
- patch
ControllerAdmission Webhooks Patch 
- patchWebhook ControllerJob Admission Webhooks Patch Webhbook Job 
- port Integer
- service
ControllerAdmission Webhooks Service 
- timeoutSeconds Integer
- annotations {[key: string]: string}
- certificate string
- createSecret ControllerJob Admission Webhooks Create Secret Job 
- 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
ControllerAdmission Webhooks Patch 
- patchWebhook ControllerJob Admission Webhooks Patch Webhbook Job 
- port number
- service
ControllerAdmission Webhooks Service 
- timeoutSeconds number
- annotations Mapping[str, str]
- certificate str
- create_secret_ Controllerjob Admission Webhooks Create Secret Job 
- enabled bool
- existing_psp str
- Use an existing PSP instead of creating one.
- failure_policy str
- key str
- namespace_selector Mapping[str, Mapping[str, str]]
- object_selector Mapping[str, Mapping[str, str]]
- patch
ControllerAdmission Webhooks Patch 
- patch_webhook_ Controllerjob Admission Webhooks Patch Webhbook Job 
- port int
- service
ControllerAdmission Webhooks Service 
- timeout_seconds int
- annotations Map<String>
- certificate String
- createSecret Property MapJob 
- 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
- patchWebhook Property MapJob 
- 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.Kubernetes Ingress Nginx. Inputs. Contoller Admission Webhooks 
- 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.
- AllowSnippet boolAnnotations 
- 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.Kubernetes Ingress Nginx. Inputs. Autoscaling 
- Mutually exclusive with keda autoscaling.
- AutoscalingTemplate List<Pulumi.Kubernetes Ingress Nginx. Inputs. Autoscaling Template> 
- Custom or additional autoscaling metrics ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/#support-for-custom-metrics
- Config Dictionary<string, string>
- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
- ConfigAnnotations Dictionary<string, string>
- Annotations to be added to the controller config configuration configmap.
- ConfigMap stringNamespace 
- Allows customization of the configmap / nginx-configmap namespace.
- ContainerName string
- Configures the controller container name.
- ContainerPort Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Port 
- Configures the ports the nginx-controller listens on.
- CustomTemplate Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Custom Template 
- Override NGINX template.
- DnsConfig Dictionary<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, 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. Env Var> 
- Additional environment variables to set.
- ExtraInit List<Pulumi.Containers 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;']
- ExtraVolume List<Pulumi.Mounts Kubernetes. Types. Inputs. Core. V1. Volume Mount> 
- 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: {}
- HealthCheck stringPath 
- Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
- HeathCheck stringHost 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Host Port 
- Use host ports 80 and 443. Disabled by default.
- Hostname
Dictionary<string, ImmutableDictionary<string, string>> 
- Optionally customize the pod hostname.
- Image
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Image 
- IngressClass boolBy Name 
- Process IngressClass per name (additionally as per spec.controller).
- IngressClass Pulumi.Resource Kubernetes Ingress Nginx. Inputs. Controller Ingress Class Resource 
- 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.Kubernetes Ingress Nginx. 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.
- MaxmindLicense stringKey 
- Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
- Metrics
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Metrics 
- int
- MinReady intSeconds 
- 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, string>
- labels to add to the pod container metadata.
- PodSecurity Pulumi.Context Kubernetes. Types. Inputs. Core. V1. Pod Security Context 
- Security Context policies for controller pods. This type is defined in the Kubernetes package.
- PriorityClass stringName 
- ProxySet Dictionary<string, ImmutableHeaders Dictionary<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.Kubernetes Ingress Nginx. Inputs. Controller Publish Service 
- 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
- ReportNode boolInternal Ip 
- 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. Resource Requirements 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Scope 
- Limit the scope of the controller.
- Service
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Service 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Tcp 
- Allows customization of the tcp-services-configmap.
- TerminateGrace intPeriod Seconds 
- 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.
- TopologySpread List<Pulumi.Constraints Kubernetes. Types. Inputs. Core. V1. Topology Spread Constraint> 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Udp 
- UpdateStrategy Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Update Strategy 
- The update strategy to apply to the Deployment or DaemonSet.
- WatchIngress boolWithout Class 
- 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 ContollerAdmission Webhooks 
- 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.
- AllowSnippet boolAnnotations 
- 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]string
- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
- ConfigAnnotations map[string]string
- Annotations to be added to the controller config configuration configmap.
- ConfigMap stringNamespace 
- 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 ControllerCustom Template 
- Override NGINX template.
- DnsConfig 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]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.
- ExtraInit ContainerContainers 
- 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;']
- ExtraVolume VolumeMounts Mount 
- 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: {}
- HealthCheck stringPath 
- Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
- HeathCheck stringHost 
- 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 ControllerHost Port 
- Use host ports 80 and 443. Disabled by default.
- Hostname map[string]map[string]string
- Optionally customize the pod hostname.
- Image
ControllerImage 
- IngressClass boolBy Name 
- Process IngressClass per name (additionally as per spec.controller).
- IngressClass ControllerResource Ingress Class Resource 
- 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.
- MaxmindLicense stringKey 
- Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
- Metrics
ControllerMetrics 
- int
- MinReady intSeconds 
- 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]string
- labels to add to the pod container metadata.
- PodSecurity PodContext Security Context 
- Security Context policies for controller pods. This type is defined in the Kubernetes package.
- PriorityClass stringName 
- ProxySet map[string]map[string]stringHeaders 
- 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 ControllerPublish Service 
- 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
- ReportNode boolInternal Ip 
- 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.
- TerminateGrace intPeriod Seconds 
- 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.
- TopologySpread TopologyConstraints Spread Constraint 
- 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 ControllerUpdate Strategy 
- The update strategy to apply to the Deployment or DaemonSet.
- WatchIngress boolWithout Class 
- 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 ContollerAdmission Webhooks 
- 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.
- allowSnippet BooleanAnnotations 
- 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,String>
- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
- configAnnotations Map<String,String>
- Annotations to be added to the controller config configuration configmap.
- configMap StringNamespace 
- 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 ControllerCustom Template 
- Override NGINX template.
- dnsConfig 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,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.
- extraInit List<Container>Containers 
- 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;']
- extraVolume List<VolumeMounts Mount> 
- 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: {}
- healthCheck StringPath 
- Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
- heathCheck StringHost 
- 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 ControllerHost Port 
- Use host ports 80 and 443. Disabled by default.
- hostname Map<String,Map<String,String>>
- Optionally customize the pod hostname.
- image
ControllerImage 
- ingressClass BooleanBy Name 
- Process IngressClass per name (additionally as per spec.controller).
- ingressClass ControllerResource Ingress Class Resource 
- 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.
- maxmindLicense StringKey 
- Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
- metrics
ControllerMetrics 
- Integer
- minReady IntegerSeconds 
- 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,String>
- labels to add to the pod container metadata.
- podSecurity PodContext Security Context 
- Security Context policies for controller pods. This type is defined in the Kubernetes package.
- priorityClass StringName 
- proxySet Map<String,Map<String,String>>Headers 
- 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 ControllerPublish Service 
- 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
- reportNode BooleanInternal Ip 
- 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.
- terminateGrace IntegerPeriod Seconds 
- 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.
- topologySpread List<TopologyConstraints Spread Constraint> 
- 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 ControllerUpdate Strategy 
- The update strategy to apply to the Deployment or DaemonSet.
- watchIngress BooleanWithout Class 
- 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 ContollerAdmission Webhooks 
- 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.
- allowSnippet booleanAnnotations 
- 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]: string}
- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
- configAnnotations {[key: string]: string}
- Annotations to be added to the controller config configuration configmap.
- configMap stringNamespace 
- 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 ControllerCustom Template 
- Override NGINX template.
- dnsConfig {[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]: 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 pulumiKubernetestypesinputcorev1Env Var[] 
- Additional environment variables to set.
- extraInit pulumiContainers Kubernetestypesinputcorev1Container[] 
- 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;']
- extraVolume pulumiMounts Kubernetestypesinputcorev1Volume Mount[] 
- 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: {}
- healthCheck stringPath 
- Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
- heathCheck stringHost 
- 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 ControllerHost Port 
- Use host ports 80 and 443. Disabled by default.
- hostname {[key: string]: {[key: string]: string}}
- Optionally customize the pod hostname.
- image
ControllerImage 
- ingressClass booleanBy Name 
- Process IngressClass per name (additionally as per spec.controller).
- ingressClass ControllerResource Ingress Class Resource 
- 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.
- maxmindLicense stringKey 
- Maxmind license key to download GeoLite2 Databases https://blog.maxmind.com/2019/12/18/significant-changes-to-accessing-and-using-geolite2-databases.
- metrics
ControllerMetrics 
- number
- minReady numberSeconds 
- 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]: string}
- labels to add to the pod container metadata.
- podSecurity pulumiContext Kubernetestypesinputcorev1Pod Security Context 
- Security Context policies for controller pods. This type is defined in the Kubernetes package.
- priorityClass stringName 
- proxySet {[key: string]: {[key: string]: string}}Headers 
- 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 ControllerPublish Service 
- 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
- reportNode booleanInternal Ip 
- 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
pulumiKubernetestypesinputcorev1Resource Requirements 
- 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.
- terminateGrace numberPeriod Seconds 
- 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.
- topologySpread pulumiConstraints Kubernetestypesinputcorev1Topology Spread Constraint[] 
- 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 ControllerUpdate Strategy 
- The update strategy to apply to the Deployment or DaemonSet.
- watchIngress booleanWithout Class 
- 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 ContollerAdmission Webhooks 
- affinity
pulumi_kubernetes.core.v1. Affinity Args 
- 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_ boolannotations 
- 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, str]
- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
- config_annotations Mapping[str, str]
- Annotations to be added to the controller config configuration configmap.
- config_map_ strnamespace 
- 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 ControllerCustom Template 
- Override NGINX template.
- dns_config 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, 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. Container Args] 
- 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. Env Var Args] 
- Additional environment variables to set.
- extra_init_ Sequence[pulumi_containers kubernetes.core.v1. Container Args] 
- 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_ Sequence[pulumi_mounts kubernetes.core.v1. Volume Mount Args] 
- 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. Volume Args] 
- Additional volumes to the controller pod. - name: copy-portal-skins emptyDir: {}
- health_check_ strpath 
- 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_ strhost 
- 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 ControllerHost Port 
- Use host ports 80 and 443. Disabled by default.
- hostname Mapping[str, Mapping[str, str]]
- Optionally customize the pod hostname.
- image
ControllerImage 
- ingress_class_ boolby_ name 
- Process IngressClass per name (additionally as per spec.controller).
- ingress_class_ Controllerresource Ingress Class Resource 
- 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. Lifecycle Args 
- 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. Probe Args 
- 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_ strkey 
- 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_ intseconds 
- 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, str]
- labels to add to the pod container metadata.
- pod_security_ pulumi_context kubernetes.core.v1. Pod Security Context Args 
- Security Context policies for controller pods. This type is defined in the Kubernetes package.
- priority_class_ strname 
- proxy_set_ Mapping[str, Mapping[str, str]]headers 
- 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 ControllerPublish Service 
- 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. Probe Args 
- 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_ boolinternal_ ip 
- 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. Resource Requirements Args 
- 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. Probe Args 
- 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_ intperiod_ seconds 
- How long to wait for the drain of connections.
- tolerations
pulumi_kubernetes.core.v1. Toleration Args 
- 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_ Sequence[pulumi_constraints kubernetes.core.v1. Topology Spread Constraint Args] 
- 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 ControllerUpdate Strategy 
- The update strategy to apply to the Deployment or DaemonSet.
- watch_ingress_ boolwithout_ class 
- 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.
- allowSnippet BooleanAnnotations 
- 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<String>
- Will add custom configuration options to Nginx https://kubernetes.github.io/ingress-nginx/user-guide/nginx-configuration/configmap/.
- configAnnotations Map<String>
- Annotations to be added to the controller config configuration configmap.
- configMap StringNamespace 
- 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<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>
- 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.
- extraInit List<Property Map>Containers 
- 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;']
- extraVolume List<Property Map>Mounts 
- 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: {}
- healthCheck StringPath 
- Path of the health check endpoint. All requests received on the port defined by the healthz-port parameter are forwarded internally to this path.
- heathCheck StringHost 
- 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
- ingressClass BooleanBy Name 
- Process IngressClass per name (additionally as per spec.controller).
- ingressClass Property MapResource 
- 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.
- maxmindLicense StringKey 
- 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
- Number
- minReady NumberSeconds 
- 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<String>
- labels to add to the pod container metadata.
- podSecurity Property MapContext 
- Security Context policies for controller pods. This type is defined in the Kubernetes package.
- priorityClass StringName 
- proxySet Map<Map<String>>Headers 
- 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
- reportNode BooleanInternal Ip 
- 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.
- terminateGrace NumberPeriod Seconds 
- 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.
- topologySpread List<Property Map>Constraints 
- 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.
- watchIngress BooleanWithout Class 
- 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
Pulumi.Kubernetes. Types. Inputs. Core. V1. Resource Requirements 
- This type is defined in the Kubernetes package.
- Resources
ResourceRequirements 
- This type is defined in the Kubernetes package.
- resources
ResourceRequirements 
- This type is defined in the Kubernetes package.
- resources
pulumiKubernetestypesinputcorev1Resource Requirements 
- This type is defined in the Kubernetes package.
- resources
pulumi_kubernetes.core.v1. Resource Requirements Args 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Image 
- NodeSelector Dictionary<string, string>
- PodAnnotations Dictionary<string, string>
- PriorityClass stringName 
- Provide a priority class name to the webhook patching job.
- RunAs intUser 
- Tolerations
List<Pulumi.Kubernetes. Types. Inputs. Core. V1. Toleration> 
- Enabled bool
- Image
ControllerImage 
- NodeSelector map[string]string
- PodAnnotations map[string]string
- PriorityClass stringName 
- Provide a priority class name to the webhook patching job.
- RunAs intUser 
- Tolerations Toleration
- enabled Boolean
- image
ControllerImage 
- nodeSelector Map<String,String>
- podAnnotations Map<String,String>
- priorityClass StringName 
- Provide a priority class name to the webhook patching job.
- runAs IntegerUser 
- tolerations List<Toleration>
- enabled boolean
- image
ControllerImage 
- nodeSelector {[key: string]: string}
- podAnnotations {[key: string]: string}
- priorityClass stringName 
- Provide a priority class name to the webhook patching job.
- runAs numberUser 
- tolerations
pulumiKubernetestypesinputcorev1Toleration[] 
- enabled bool
- image
ControllerImage 
- node_selector Mapping[str, str]
- pod_annotations Mapping[str, str]
- priority_class_ strname 
- Provide a priority class name to the webhook patching job.
- run_as_ intuser 
- tolerations
Sequence[pulumi_kubernetes.core.v1. Toleration Args] 
- enabled Boolean
- image Property Map
- nodeSelector Map<String>
- podAnnotations Map<String>
- priorityClass StringName 
- Provide a priority class name to the webhook patching job.
- runAs NumberUser 
- tolerations List<Property Map>
ControllerAdmissionWebhooksPatchWebhbookJob, ControllerAdmissionWebhooksPatchWebhbookJobArgs            
- Resources
Pulumi.Kubernetes. Types. Inputs. Core. V1. Resource Requirements 
- This type is defined in the Kubernetes package.
- Resources
ResourceRequirements 
- This type is defined in the Kubernetes package.
- resources
ResourceRequirements 
- This type is defined in the Kubernetes package.
- resources
pulumiKubernetestypesinputcorev1Resource Requirements 
- This type is defined in the Kubernetes package.
- resources
pulumi_kubernetes.core.v1. Resource Requirements Args 
- This type is defined in the Kubernetes package.
- resources Property Map
- This type is defined in the Kubernetes package.
ControllerAdmissionWebhooksService, ControllerAdmissionWebhooksServiceArgs        
- Annotations Dictionary<string, string>
- ClusterIP string
- ExternalIPs List<string>
- LoadBalancer stringIPs 
- LoadBalancer List<string>Source Ranges 
- ServicePort int
- Type string
- Annotations map[string]string
- ClusterIP string
- ExternalIPs []string
- LoadBalancer stringIPs 
- LoadBalancer []stringSource Ranges 
- ServicePort int
- Type string
- annotations Map<String,String>
- clusterIP String
- externalIPs List<String>
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- servicePort Integer
- type String
- annotations {[key: string]: string}
- clusterIP string
- externalIPs string[]
- loadBalancer stringIPs 
- loadBalancer string[]Source Ranges 
- servicePort number
- type string
- annotations Mapping[str, str]
- cluster_ip str
- external_ips Sequence[str]
- load_balancer_ strips 
- load_balancer_ Sequence[str]source_ ranges 
- service_port int
- type str
- annotations Map<String>
- clusterIP String
- externalIPs List<String>
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- servicePort Number
- type String
ControllerCustomTemplate, ControllerCustomTemplateArgs      
- ConfigMap stringKey 
- ConfigMap stringName 
- ConfigMap stringKey 
- ConfigMap stringName 
- configMap StringKey 
- configMap StringName 
- configMap stringKey 
- configMap stringName 
- config_map_ strkey 
- config_map_ strname 
- configMap StringKey 
- configMap StringName 
ControllerDefaultBackend, ControllerDefaultBackendArgs      
- Affinity
Pulumi.Kubernetes. Types. Inputs. Core. V1. Affinity 
- This type is defined in the Kubernetes package.
- Autoscaling
Pulumi.Kubernetes Ingress Nginx. 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. Env Var> 
- ExtraVolume List<Pulumi.Mounts Kubernetes. Types. Inputs. Core. V1. Volume Mount> 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Image 
- 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.
- 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
- PodSecurity Pulumi.Context Kubernetes. Types. Inputs. Core. V1. Pod Security Context 
- 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
- PriorityClass stringName 
- 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. Resource Requirements 
- This type is defined in the Kubernetes package.
- Service
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Default Backend Service 
- ServiceAccount Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Service Account 
- 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 
- ExtraVolume VolumeMounts Mount 
- 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.
- 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
- PodSecurity PodContext Security Context 
- 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
- PriorityClass stringName 
- 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
ControllerDefault Backend Service 
- ServiceAccount ControllerService Account 
- 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> 
- extraVolume List<VolumeMounts Mount> 
- 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.
- 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
- podSecurity PodContext Security Context 
- 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
- priorityClass StringName 
- 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
ControllerDefault Backend Service 
- serviceAccount ControllerService Account 
- 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 pulumiKubernetestypesinputcorev1Env Var[] 
- extraVolume pulumiMounts Kubernetestypesinputcorev1Volume Mount[] 
- 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.
- 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
- podSecurity pulumiContext Kubernetestypesinputcorev1Pod Security Context 
- 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
- priorityClass stringName 
- 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
pulumiKubernetestypesinputcorev1Resource Requirements 
- This type is defined in the Kubernetes package.
- service
ControllerDefault Backend Service 
- serviceAccount ControllerService Account 
- 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. Affinity Args 
- 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. Env Var Args] 
- extra_volume_ Sequence[pulumi_mounts kubernetes.core.v1. Volume Mount Args] 
- 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. Volume Args] 
- Additional volumes to the default backend pod. - name: copy-portal-skins emptyDir: {}
- image
ControllerImage 
- liveness_probe pulumi_kubernetes.core.v1. Probe Args 
- 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_ pulumi_context kubernetes.core.v1. Pod Security Context Args 
- 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_ strname 
- readiness_probe pulumi_kubernetes.core.v1. Probe Args 
- 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. Resource Requirements Args 
- This type is defined in the Kubernetes package.
- service
ControllerDefault Backend Service 
- service_account ControllerService Account 
- tolerations
Sequence[pulumi_kubernetes.core.v1. Toleration Args] 
- 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>
- extraVolume List<Property Map>Mounts 
- 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.
- 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
- podSecurity Property MapContext 
- 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
- priorityClass StringName 
- 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
- LoadBalancer stringIP 
- LoadBalancer List<string>Source Ranges 
- 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
- LoadBalancer stringIP 
- LoadBalancer []stringSource Ranges 
- 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
- loadBalancer StringIP 
- loadBalancer List<String>Source Ranges 
- 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
- loadBalancer stringIP 
- loadBalancer string[]Source Ranges 
- 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_ strip 
- load_balancer_ Sequence[str]source_ ranges 
- 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
- loadBalancer StringIP 
- loadBalancer List<String>Source Ranges 
- servicePort Number
- type String
ControllerHostPort, ControllerHostPortArgs      
- enabled Boolean
- ports
ControllerHost Port Ports 
- enabled boolean
- ports
ControllerHost Port Ports 
- enabled Boolean
- ports Property Map
ControllerHostPortPorts, ControllerHostPortPortsArgs        
ControllerImage, ControllerImageArgs    
- AllowPrivilege boolEscalation 
- Digest string
- Image string
- PullPolicy string
- ReadOnly boolRoot Filesystem 
- 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.
- RunAs boolNon Root 
- RunAs stringUser 
- Tag string
- AllowPrivilege boolEscalation 
- Digest string
- Image string
- PullPolicy string
- ReadOnly boolRoot Filesystem 
- 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.
- RunAs boolNon Root 
- RunAs stringUser 
- Tag string
- allowPrivilege BooleanEscalation 
- digest String
- image String
- pullPolicy String
- readOnly BooleanRoot Filesystem 
- 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.
- runAs BooleanNon Root 
- runAs StringUser 
- tag String
- allowPrivilege booleanEscalation 
- digest string
- image string
- pullPolicy string
- readOnly booleanRoot Filesystem 
- 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.
- runAs booleanNon Root 
- runAs stringUser 
- tag string
- allow_privilege_ boolescalation 
- digest str
- image str
- pull_policy str
- read_only_ boolroot_ filesystem 
- 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_ boolnon_ root 
- run_as_ struser 
- tag str
- allowPrivilege BooleanEscalation 
- digest String
- image String
- pullPolicy String
- readOnly BooleanRoot Filesystem 
- 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.
- runAs BooleanNon Root 
- runAs StringUser 
- 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 bool
- Port int
- if this port is changed, change healthz-port: in extraArgs: accordingly.
- PrometheusRule Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Metrics Prometheus Rules 
- Service
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Metrics Service 
- ServiceMonitor Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Metrics Service Monitor 
- Enabled bool
- Port int
- if this port is changed, change healthz-port: in extraArgs: accordingly.
- PrometheusRule ControllerMetrics Prometheus Rules 
- Service
ControllerMetrics Service 
- ServiceMonitor ControllerMetrics Service Monitor 
- enabled Boolean
- port Integer
- if this port is changed, change healthz-port: in extraArgs: accordingly.
- prometheusRule ControllerMetrics Prometheus Rules 
- service
ControllerMetrics Service 
- serviceMonitor ControllerMetrics Service Monitor 
- enabled boolean
- port number
- if this port is changed, change healthz-port: in extraArgs: accordingly.
- prometheusRule ControllerMetrics Prometheus Rules 
- service
ControllerMetrics Service 
- serviceMonitor ControllerMetrics Service Monitor 
- enabled bool
- port int
- if this port is changed, change healthz-port: in extraArgs: accordingly.
- prometheus_rule ControllerMetrics Prometheus Rules 
- service
ControllerMetrics Service 
- service_monitor ControllerMetrics Service Monitor 
- 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, string>
- Enabled bool
- Namespace string
- Rules
List<ImmutableDictionary<string, string>> 
- AdditionalLabels map[string]string
- Enabled bool
- Namespace string
- Rules []map[string]string
- additionalLabels Map<String,String>
- enabled Boolean
- namespace String
- rules List<Map<String,String>>
- additionalLabels {[key: string]: string}
- enabled boolean
- namespace string
- rules {[key: string]: string}[]
- additional_labels Mapping[str, str]
- enabled bool
- namespace str
- rules Sequence[Mapping[str, str]]
- additionalLabels Map<String>
- enabled Boolean
- namespace String
- rules List<Map<String>>
ControllerMetricsService, ControllerMetricsServiceArgs      
- Annotations Dictionary<string, string>
- ClusterIP string
- ExternalIPs List<string>
- ExternalTraffic stringPolicy 
- LoadBalancer stringIPs 
- LoadBalancer List<string>Source Ranges 
- NodePort string
- ServicePort int
- Type string
- Annotations map[string]string
- ClusterIP string
- ExternalIPs []string
- ExternalTraffic stringPolicy 
- LoadBalancer stringIPs 
- LoadBalancer []stringSource Ranges 
- NodePort string
- ServicePort int
- Type string
- annotations Map<String,String>
- clusterIP String
- externalIPs List<String>
- externalTraffic StringPolicy 
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- nodePort String
- servicePort Integer
- type String
- annotations {[key: string]: string}
- clusterIP string
- externalIPs string[]
- externalTraffic stringPolicy 
- loadBalancer stringIPs 
- loadBalancer string[]Source Ranges 
- nodePort string
- servicePort number
- type string
- annotations Mapping[str, str]
- cluster_ip str
- external_ips Sequence[str]
- external_traffic_ strpolicy 
- load_balancer_ strips 
- load_balancer_ Sequence[str]source_ ranges 
- node_port str
- service_port int
- type str
- annotations Map<String>
- clusterIP String
- externalIPs List<String>
- externalTraffic StringPolicy 
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- nodePort String
- servicePort Number
- type String
ControllerMetricsServiceMonitor, ControllerMetricsServiceMonitorArgs        
- AdditionalLabels Dictionary<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]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,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]: 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, 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<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    
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    
ControllerRollingUpdate, ControllerRollingUpdateArgs      
- int
- int
- Integer
- number
- int
- Number
ControllerScope, ControllerScopeArgs    
ControllerService, ControllerServiceArgs    
- Annotations Dictionary<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
- ExternalTraffic stringPolicy 
- 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
- HealthCheck intNode Port 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Service Internal 
- 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, string>
- LoadBalancer stringIP 
- LoadBalancer stringIPs 
- LoadBalancer List<string>Source Ranges 
- NodePorts Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Service Node Ports 
- Ports
Pulumi.Kubernetes Ingress Nginx. Inputs. Controller Port 
- 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.Kubernetes Ingress Nginx. Inputs. Controller Port 
- Type string
- Annotations 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
- ExternalTraffic stringPolicy 
- 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
- HealthCheck intNode Port 
- 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
ControllerService Internal 
- 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]string
- LoadBalancer stringIP 
- LoadBalancer stringIPs 
- LoadBalancer []stringSource Ranges 
- NodePorts ControllerService Node Ports 
- 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,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
- externalTraffic StringPolicy 
- 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
- healthCheck IntegerNode Port 
- 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
ControllerService Internal 
- 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,String>
- loadBalancer StringIP 
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- nodePorts ControllerService Node Ports 
- 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]: 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
- externalTraffic stringPolicy 
- 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
- healthCheck numberNode Port 
- 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
ControllerService Internal 
- 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]: string}
- loadBalancer stringIP 
- loadBalancer stringIPs 
- loadBalancer string[]Source Ranges 
- nodePorts ControllerService Node Ports 
- 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, 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_ strpolicy 
- 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_ intnode_ port 
- 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
ControllerService Internal 
- 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, str]
- load_balancer_ strip 
- load_balancer_ strips 
- load_balancer_ Sequence[str]source_ ranges 
- node_ports ControllerService Node Ports 
- 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<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
- externalTraffic StringPolicy 
- 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
- healthCheck NumberNode Port 
- 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<String>
- loadBalancer StringIP 
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- 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      
- AutomountService boolAccount Token 
- Create bool
- Name string
- AutomountService boolAccount Token 
- Create bool
- Name string
- automountService BooleanAccount Token 
- create Boolean
- name String
- automountService booleanAccount Token 
- create boolean
- name string
- automount_service_ boolaccount_ token 
- create bool
- name str
- automountService BooleanAccount Token 
- create Boolean
- name String
ControllerServiceInternal, ControllerServiceInternalArgs      
- Annotations Dictionary<string, string>
- Enabled bool
- ExternalTraffic stringPolicy 
- 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, string>
- LoadBalancer stringIPs 
- LoadBalancer List<string>Source Ranges 
- Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
- Annotations map[string]string
- Enabled bool
- ExternalTraffic stringPolicy 
- 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]string
- LoadBalancer stringIPs 
- LoadBalancer []stringSource Ranges 
- Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
- annotations Map<String,String>
- enabled Boolean
- externalTraffic StringPolicy 
- 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,String>
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
- annotations {[key: string]: string}
- enabled boolean
- externalTraffic stringPolicy 
- 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]: string}
- loadBalancer stringIPs 
- loadBalancer string[]Source Ranges 
- Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
- annotations Mapping[str, str]
- enabled bool
- external_traffic_ strpolicy 
- 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, str]
- load_balancer_ strips 
- load_balancer_ Sequence[str]source_ ranges 
- Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
- annotations Map<String>
- enabled Boolean
- externalTraffic StringPolicy 
- 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>
- loadBalancer StringIPs 
- loadBalancer List<String>Source Ranges 
- Restrict access For LoadBalancer service. Defaults to 0.0.0.0/0.
ControllerServiceNodePorts, ControllerServiceNodePortsArgs        
ControllerTcp, ControllerTcpArgs    
- Annotations Dictionary<string, string>
- Annotations to be added to the tcp config configmap.
- ConfigMap stringNamespace 
- Annotations map[string]string
- Annotations to be added to the tcp config configmap.
- ConfigMap stringNamespace 
- annotations Map<String,String>
- Annotations to be added to the tcp config configmap.
- configMap StringNamespace 
- annotations {[key: string]: string}
- Annotations to be added to the tcp config configmap.
- configMap stringNamespace 
- annotations Mapping[str, str]
- Annotations to be added to the tcp config configmap.
- config_map_ strnamespace 
- annotations Map<String>
- Annotations to be added to the tcp config configmap.
- configMap StringNamespace 
ControllerUdp, ControllerUdpArgs    
- Annotations Dictionary<string, string>
- Annotations to be added to the udp config configmap.
- ConfigMap stringNamespace 
- Annotations map[string]string
- Annotations to be added to the udp config configmap.
- ConfigMap stringNamespace 
- annotations Map<String,String>
- Annotations to be added to the udp config configmap.
- configMap StringNamespace 
- annotations {[key: string]: string}
- Annotations to be added to the udp config configmap.
- configMap stringNamespace 
- annotations Mapping[str, str]
- Annotations to be added to the udp config configmap.
- config_map_ strnamespace 
- annotations Map<String>
- Annotations to be added to the udp config configmap.
- configMap StringNamespace 
ControllerUpdateStrategy, ControllerUpdateStrategyArgs      
- rollingUpdate Property Map
- type String
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
Pulumi.Kubernetes Ingress Nginx. Inputs. Autoscaling Behavior 
- CooldownPeriod int
- Enabled bool
- MaxReplicas int
- MinReplicas int
- PollingInterval int
- RestoreTo boolOriginal Replica Count 
- ScaledObject Pulumi.Kubernetes Ingress Nginx. Inputs. Keda Scaled Object 
- Triggers
List<Pulumi.Kubernetes Ingress Nginx. Inputs. Keda Trigger> 
- 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
- RestoreTo boolOriginal Replica Count 
- ScaledObject KedaScaled Object 
- 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
- restoreTo BooleanOriginal Replica Count 
- scaledObject KedaScaled Object 
- 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
- restoreTo booleanOriginal Replica Count 
- scaledObject KedaScaled Object 
- triggers
KedaTrigger[] 
- api_version str
- apiVersion changes with keda 1.x vs 2.x: 2.x = keda.sh/v1alpha1, 1.x = keda.k8s.io/v1alpha1.
- behavior
AutoscalingBehavior 
- cooldown_period int
- enabled bool
- max_replicas int
- min_replicas int
- polling_interval int
- restore_to_ booloriginal_ replica_ count 
- scaled_object KedaScaled Object 
- triggers
Sequence[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
- restoreTo BooleanOriginal Replica Count 
- 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    
Release, ReleaseArgs  
- Atomic bool
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- Chart string
- Chart name to be installed. A path may be used.
- CleanupOn boolFail 
- 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 versionis set, this is ignored.
- DisableCRDHooks bool
- Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
- DisableOpenapi boolValidation 
- 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 verifyis 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.
- RenderSubchart boolNotes 
- 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.Kubernetes Ingress Nginx. Inputs. Repository Opts 
- 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.
- ValueYaml List<AssetFiles Or Archive> 
- 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.
- WaitFor boolJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- Atomic bool
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- Chart string
- Chart name to be installed. A path may be used.
- CleanupOn boolFail 
- 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 versionis set, this is ignored.
- DisableCRDHooks bool
- Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
- DisableOpenapi boolValidation 
- 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 verifyis 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.
- RenderSubchart boolNotes 
- 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.
- ValueYaml AssetFiles Or Archive 
- 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.
- WaitFor boolJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- atomic Boolean
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- chart String
- Chart name to be installed. A path may be used.
- cleanupOn BooleanFail 
- 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 versionis set, this is ignored.
- disableCRDHooks Boolean
- Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
- disableOpenapi BooleanValidation 
- 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 verifyis 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.
- renderSubchart BooleanNotes 
- 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.
- valueYaml List<AssetFiles Or Archive> 
- 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.
- waitFor BooleanJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- atomic boolean
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- chart string
- Chart name to be installed. A path may be used.
- cleanupOn booleanFail 
- 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 versionis set, this is ignored.
- disableCRDHooks boolean
- Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
- disableOpenapi booleanValidation 
- 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 verifyis 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.
- renderSubchart booleanNotes 
- 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.
- valueYaml (pulumiassetFiles Asset | pulumiasset Archive)[] 
- 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.
- waitFor booleanJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- atomic bool
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- chart str
- Chart name to be installed. A path may be used.
- cleanup_on_ boolfail 
- 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 versionis set, this is ignored.
- disable_crd_ boolhooks 
- Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
- disable_openapi_ boolvalidation 
- 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 verifyis 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_ boolnotes 
- 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_ Sequence[Union[pulumi.files 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_ booljobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis enabled.
- atomic Boolean
- If set, installation process purges chart on fail. skipAwaitwill be disabled automatically if atomic is used.
- chart String
- Chart name to be installed. A path may be used.
- cleanupOn BooleanFail 
- 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 versionis set, this is ignored.
- disableCRDHooks Boolean
- Prevent CRD hooks from, running, but run other hooks. See helm install --no-crd-hook
- disableOpenapi BooleanValidation 
- 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 verifyis 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.
- renderSubchart BooleanNotes 
- 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.
- valueYaml List<Asset>Files 
- 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.
- waitFor BooleanJobs 
- Will wait until all Jobs have been completed before marking the release as successful. This is ignored if skipAwaitis 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) pulumi/pulumi-kubernetes-ingress-nginx
- License
- Apache-2.0