1. Packages
  2. NGINX Ingress Controller
  3. API Docs
  4. IngressController
NGINX Ingress Controller v0.1.3 published on Thursday, Mar 20, 2025 by Pulumi

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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. 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 This property is required. String
The unique name of the resource.
args This property is required. 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" },
                    },
                },
                WorkingDir = "string",
                ResizePolicy = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerResizePolicyArgs
                    {
                        ResourceName = "string",
                        RestartPolicy = "string",
                    },
                },
                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,
                },
                Command = new[]
                {
                    "string",
                },
                Ports = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerPortArgs
                    {
                        ContainerPort = 0,
                        HostIP = "string",
                        HostPort = 0,
                        Name = "string",
                        Protocol = "string",
                    },
                },
                RestartPolicy = "string",
                EnvFrom = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.EnvFromSourceArgs
                    {
                        ConfigMapRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapEnvSourceArgs
                        {
                            Name = "string",
                            Optional = false,
                        },
                        Prefix = "string",
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.SecretEnvSourceArgs
                        {
                            Name = "string",
                            Optional = false,
                        },
                    },
                },
                Env = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs
                    {
                        Name = "string",
                        Value = "string",
                        ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs
                        {
                            ConfigMapKeyRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapKeySelectorArgs
                            {
                                Key = "string",
                                Name = "string",
                                Optional = false,
                            },
                            FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                            {
                                FieldPath = "string",
                                ApiVersion = "string",
                            },
                            ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                            {
                                Resource = "string",
                                ContainerName = "string",
                                Divisor = "string",
                            },
                            SecretKeyRef = new Kubernetes.Types.Inputs.Core.V1.SecretKeySelectorArgs
                            {
                                Key = "string",
                                Name = "string",
                                Optional = false,
                            },
                        },
                    },
                },
                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,
                },
                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",
                    },
                },
                Args = new[]
                {
                    "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" },
                    },
                },
                WorkingDir = "string",
                ResizePolicy = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerResizePolicyArgs
                    {
                        ResourceName = "string",
                        RestartPolicy = "string",
                    },
                },
                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,
                },
                Command = new[]
                {
                    "string",
                },
                Ports = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.ContainerPortArgs
                    {
                        ContainerPort = 0,
                        HostIP = "string",
                        HostPort = 0,
                        Name = "string",
                        Protocol = "string",
                    },
                },
                RestartPolicy = "string",
                EnvFrom = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.EnvFromSourceArgs
                    {
                        ConfigMapRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapEnvSourceArgs
                        {
                            Name = "string",
                            Optional = false,
                        },
                        Prefix = "string",
                        SecretRef = new Kubernetes.Types.Inputs.Core.V1.SecretEnvSourceArgs
                        {
                            Name = "string",
                            Optional = false,
                        },
                    },
                },
                Env = new[]
                {
                    new Kubernetes.Types.Inputs.Core.V1.EnvVarArgs
                    {
                        Name = "string",
                        Value = "string",
                        ValueFrom = new Kubernetes.Types.Inputs.Core.V1.EnvVarSourceArgs
                        {
                            ConfigMapKeyRef = new Kubernetes.Types.Inputs.Core.V1.ConfigMapKeySelectorArgs
                            {
                                Key = "string",
                                Name = "string",
                                Optional = false,
                            },
                            FieldRef = new Kubernetes.Types.Inputs.Core.V1.ObjectFieldSelectorArgs
                            {
                                FieldPath = "string",
                                ApiVersion = "string",
                            },
                            ResourceFieldRef = new Kubernetes.Types.Inputs.Core.V1.ResourceFieldSelectorArgs
                            {
                                Resource = "string",
                                ContainerName = "string",
                                Divisor = "string",
                            },
                            SecretKeyRef = new Kubernetes.Types.Inputs.Core.V1.SecretKeySelectorArgs
                            {
                                Key = "string",
                                Name = "string",
                                Optional = false,
                            },
                        },
                    },
                },
                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,
                },
                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",
                    },
                },
                Args = new[]
                {
                    "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",
                },
                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",
                },
                HostPath = new Kubernetes.Types.Inputs.Core.V1.HostPathVolumeSourceArgs
                {
                    Path = "string",
                    Type = "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,
                },
                VsphereVolume = new Kubernetes.Types.Inputs.Core.V1.VsphereVirtualDiskVolumeSourceArgs
                {
                    VolumePath = "string",
                    FsType = "string",
                    StoragePolicyID = "string",
                    StoragePolicyName = "string",
                },
                AzureFile = new Kubernetes.Types.Inputs.Core.V1.AzureFileVolumeSourceArgs
                {
                    SecretName = "string",
                    ShareName = "string",
                    ReadOnly = false,
                },
                Image = new Kubernetes.Types.Inputs.Core.V1.ImageVolumeSourceArgs
                {
                    PullPolicy = "string",
                    Reference = "string",
                },
                Iscsi = new Kubernetes.Types.Inputs.Core.V1.ISCSIVolumeSourceArgs
                {
                    Iqn = "string",
                    Lun = 0,
                    TargetPortal = "string",
                    ChapAuthDiscovery = false,
                    ChapAuthSession = false,
                    FsType = "string",
                    InitiatorName = "string",
                    IscsiInterface = "string",
                    Portals = new[]
                    {
                        "string",
                    },
                    ReadOnly = false,
                    SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                    {
                        Name = "string",
                    },
                },
                AzureDisk = new Kubernetes.Types.Inputs.Core.V1.AzureDiskVolumeSourceArgs
                {
                    DiskName = "string",
                    DiskURI = "string",
                    CachingMode = "string",
                    FsType = "string",
                    Kind = "string",
                    ReadOnly = false,
                },
                Nfs = new Kubernetes.Types.Inputs.Core.V1.NFSVolumeSourceArgs
                {
                    Path = "string",
                    Server = "string",
                    ReadOnly = false,
                },
                PersistentVolumeClaim = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimVolumeSourceArgs
                {
                    ClaimName = "string",
                    ReadOnly = false,
                },
                PhotonPersistentDisk = new Kubernetes.Types.Inputs.Core.V1.PhotonPersistentDiskVolumeSourceArgs
                {
                    PdID = "string",
                    FsType = "string",
                },
                PortworxVolume = new Kubernetes.Types.Inputs.Core.V1.PortworxVolumeSourceArgs
                {
                    VolumeID = "string",
                    FsType = "string",
                    ReadOnly = false,
                },
                Projected = new Kubernetes.Types.Inputs.Core.V1.ProjectedVolumeSourceArgs
                {
                    Sources = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeProjectionArgs
                        {
                            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",
                },
                Glusterfs = new Kubernetes.Types.Inputs.Core.V1.GlusterfsVolumeSourceArgs
                {
                    Endpoints = "string",
                    Path = "string",
                    ReadOnly = false,
                },
            },
        },
        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",
                },
                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",
                },
                HostPath = new Kubernetes.Types.Inputs.Core.V1.HostPathVolumeSourceArgs
                {
                    Path = "string",
                    Type = "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,
                },
                VsphereVolume = new Kubernetes.Types.Inputs.Core.V1.VsphereVirtualDiskVolumeSourceArgs
                {
                    VolumePath = "string",
                    FsType = "string",
                    StoragePolicyID = "string",
                    StoragePolicyName = "string",
                },
                AzureFile = new Kubernetes.Types.Inputs.Core.V1.AzureFileVolumeSourceArgs
                {
                    SecretName = "string",
                    ShareName = "string",
                    ReadOnly = false,
                },
                Image = new Kubernetes.Types.Inputs.Core.V1.ImageVolumeSourceArgs
                {
                    PullPolicy = "string",
                    Reference = "string",
                },
                Iscsi = new Kubernetes.Types.Inputs.Core.V1.ISCSIVolumeSourceArgs
                {
                    Iqn = "string",
                    Lun = 0,
                    TargetPortal = "string",
                    ChapAuthDiscovery = false,
                    ChapAuthSession = false,
                    FsType = "string",
                    InitiatorName = "string",
                    IscsiInterface = "string",
                    Portals = new[]
                    {
                        "string",
                    },
                    ReadOnly = false,
                    SecretRef = new Kubernetes.Types.Inputs.Core.V1.LocalObjectReferenceArgs
                    {
                        Name = "string",
                    },
                },
                AzureDisk = new Kubernetes.Types.Inputs.Core.V1.AzureDiskVolumeSourceArgs
                {
                    DiskName = "string",
                    DiskURI = "string",
                    CachingMode = "string",
                    FsType = "string",
                    Kind = "string",
                    ReadOnly = false,
                },
                Nfs = new Kubernetes.Types.Inputs.Core.V1.NFSVolumeSourceArgs
                {
                    Path = "string",
                    Server = "string",
                    ReadOnly = false,
                },
                PersistentVolumeClaim = new Kubernetes.Types.Inputs.Core.V1.PersistentVolumeClaimVolumeSourceArgs
                {
                    ClaimName = "string",
                    ReadOnly = false,
                },
                PhotonPersistentDisk = new Kubernetes.Types.Inputs.Core.V1.PhotonPersistentDiskVolumeSourceArgs
                {
                    PdID = "string",
                    FsType = "string",
                },
                PortworxVolume = new Kubernetes.Types.Inputs.Core.V1.PortworxVolumeSourceArgs
                {
                    VolumeID = "string",
                    FsType = "string",
                    ReadOnly = false,
                },
                Projected = new Kubernetes.Types.Inputs.Core.V1.ProjectedVolumeSourceArgs
                {
                    Sources = new[]
                    {
                        new Kubernetes.Types.Inputs.Core.V1.VolumeProjectionArgs
                        {
                            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",
                },
                Glusterfs = new Kubernetes.Types.Inputs.Core.V1.GlusterfsVolumeSourceArgs
                {
                    Endpoints = "string",
                    Path = "string",
                    ReadOnly = 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",
        },
        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" },
        } },
    },
});
Copy
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"),
					},
				},
				WorkingDir: pulumi.String("string"),
				ResizePolicy: corev1.ContainerResizePolicyArray{
					&corev1.ContainerResizePolicyArgs{
						ResourceName:  pulumi.String("string"),
						RestartPolicy: pulumi.String("string"),
					},
				},
				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),
				},
				Command: pulumi.StringArray{
					pulumi.String("string"),
				},
				Ports: corev1.ContainerPortArray{
					&corev1.ContainerPortArgs{
						ContainerPort: pulumi.Int(0),
						HostIP:        pulumi.String("string"),
						HostPort:      pulumi.Int(0),
						Name:          pulumi.String("string"),
						Protocol:      pulumi.String("string"),
					},
				},
				RestartPolicy: pulumi.String("string"),
				EnvFrom: corev1.EnvFromSourceArray{
					&corev1.EnvFromSourceArgs{
						ConfigMapRef: &corev1.ConfigMapEnvSourceArgs{
							Name:     pulumi.String("string"),
							Optional: pulumi.Bool(false),
						},
						Prefix: pulumi.String("string"),
						SecretRef: &corev1.SecretEnvSourceArgs{
							Name:     pulumi.String("string"),
							Optional: pulumi.Bool(false),
						},
					},
				},
				Env: corev1.EnvVarArray{
					&corev1.EnvVarArgs{
						Name:  pulumi.String("string"),
						Value: pulumi.String("string"),
						ValueFrom: &corev1.EnvVarSourceArgs{
							ConfigMapKeyRef: &corev1.ConfigMapKeySelectorArgs{
								Key:      pulumi.String("string"),
								Name:     pulumi.String("string"),
								Optional: pulumi.Bool(false),
							},
							FieldRef: &corev1.ObjectFieldSelectorArgs{
								FieldPath:  pulumi.String("string"),
								ApiVersion: pulumi.String("string"),
							},
							ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
								Resource:      pulumi.String("string"),
								ContainerName: pulumi.String("string"),
								Divisor:       pulumi.String("string"),
							},
							SecretKeyRef: &corev1.SecretKeySelectorArgs{
								Key:      pulumi.String("string"),
								Name:     pulumi.String("string"),
								Optional: pulumi.Bool(false),
							},
						},
					},
				},
				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),
				},
				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"),
					},
				},
				Args: pulumi.StringArray{
					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"),
					},
				},
				WorkingDir: pulumi.String("string"),
				ResizePolicy: corev1.ContainerResizePolicyArray{
					&corev1.ContainerResizePolicyArgs{
						ResourceName:  pulumi.String("string"),
						RestartPolicy: pulumi.String("string"),
					},
				},
				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),
				},
				Command: pulumi.StringArray{
					pulumi.String("string"),
				},
				Ports: corev1.ContainerPortArray{
					&corev1.ContainerPortArgs{
						ContainerPort: pulumi.Int(0),
						HostIP:        pulumi.String("string"),
						HostPort:      pulumi.Int(0),
						Name:          pulumi.String("string"),
						Protocol:      pulumi.String("string"),
					},
				},
				RestartPolicy: pulumi.String("string"),
				EnvFrom: corev1.EnvFromSourceArray{
					&corev1.EnvFromSourceArgs{
						ConfigMapRef: &corev1.ConfigMapEnvSourceArgs{
							Name:     pulumi.String("string"),
							Optional: pulumi.Bool(false),
						},
						Prefix: pulumi.String("string"),
						SecretRef: &corev1.SecretEnvSourceArgs{
							Name:     pulumi.String("string"),
							Optional: pulumi.Bool(false),
						},
					},
				},
				Env: corev1.EnvVarArray{
					&corev1.EnvVarArgs{
						Name:  pulumi.String("string"),
						Value: pulumi.String("string"),
						ValueFrom: &corev1.EnvVarSourceArgs{
							ConfigMapKeyRef: &corev1.ConfigMapKeySelectorArgs{
								Key:      pulumi.String("string"),
								Name:     pulumi.String("string"),
								Optional: pulumi.Bool(false),
							},
							FieldRef: &corev1.ObjectFieldSelectorArgs{
								FieldPath:  pulumi.String("string"),
								ApiVersion: pulumi.String("string"),
							},
							ResourceFieldRef: &corev1.ResourceFieldSelectorArgs{
								Resource:      pulumi.String("string"),
								ContainerName: pulumi.String("string"),
								Divisor:       pulumi.String("string"),
							},
							SecretKeyRef: &corev1.SecretKeySelectorArgs{
								Key:      pulumi.String("string"),
								Name:     pulumi.String("string"),
								Optional: pulumi.Bool(false),
							},
						},
					},
				},
				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),
				},
				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"),
					},
				},
				Args: pulumi.StringArray{
					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"),
				},
				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"),
				},
				HostPath: &corev1.HostPathVolumeSourceArgs{
					Path: pulumi.String("string"),
					Type: 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),
				},
				VsphereVolume: &corev1.VsphereVirtualDiskVolumeSourceArgs{
					VolumePath:        pulumi.String("string"),
					FsType:            pulumi.String("string"),
					StoragePolicyID:   pulumi.String("string"),
					StoragePolicyName: pulumi.String("string"),
				},
				AzureFile: &corev1.AzureFileVolumeSourceArgs{
					SecretName: pulumi.String("string"),
					ShareName:  pulumi.String("string"),
					ReadOnly:   pulumi.Bool(false),
				},
				Image: &corev1.ImageVolumeSourceArgs{
					PullPolicy: pulumi.String("string"),
					Reference:  pulumi.String("string"),
				},
				Iscsi: &corev1.ISCSIVolumeSourceArgs{
					Iqn:               pulumi.String("string"),
					Lun:               pulumi.Int(0),
					TargetPortal:      pulumi.String("string"),
					ChapAuthDiscovery: pulumi.Bool(false),
					ChapAuthSession:   pulumi.Bool(false),
					FsType:            pulumi.String("string"),
					InitiatorName:     pulumi.String("string"),
					IscsiInterface:    pulumi.String("string"),
					Portals: pulumi.StringArray{
						pulumi.String("string"),
					},
					ReadOnly: pulumi.Bool(false),
					SecretRef: &corev1.LocalObjectReferenceArgs{
						Name: pulumi.String("string"),
					},
				},
				AzureDisk: &corev1.AzureDiskVolumeSourceArgs{
					DiskName:    pulumi.String("string"),
					DiskURI:     pulumi.String("string"),
					CachingMode: pulumi.String("string"),
					FsType:      pulumi.String("string"),
					Kind:        pulumi.String("string"),
					ReadOnly:    pulumi.Bool(false),
				},
				Nfs: &corev1.NFSVolumeSourceArgs{
					Path:     pulumi.String("string"),
					Server:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
				},
				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSourceArgs{
					ClaimName: pulumi.String("string"),
					ReadOnly:  pulumi.Bool(false),
				},
				PhotonPersistentDisk: &corev1.PhotonPersistentDiskVolumeSourceArgs{
					PdID:   pulumi.String("string"),
					FsType: pulumi.String("string"),
				},
				PortworxVolume: &corev1.PortworxVolumeSourceArgs{
					VolumeID: pulumi.String("string"),
					FsType:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
				},
				Projected: &corev1.ProjectedVolumeSourceArgs{
					Sources: corev1.VolumeProjectionArray{
						&corev1.VolumeProjectionArgs{
							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"),
				},
				Glusterfs: &corev1.GlusterfsVolumeSourceArgs{
					Endpoints: pulumi.String("string"),
					Path:      pulumi.String("string"),
					ReadOnly:  pulumi.Bool(false),
				},
			},
		},
		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"),
				},
				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"),
				},
				HostPath: &corev1.HostPathVolumeSourceArgs{
					Path: pulumi.String("string"),
					Type: 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),
				},
				VsphereVolume: &corev1.VsphereVirtualDiskVolumeSourceArgs{
					VolumePath:        pulumi.String("string"),
					FsType:            pulumi.String("string"),
					StoragePolicyID:   pulumi.String("string"),
					StoragePolicyName: pulumi.String("string"),
				},
				AzureFile: &corev1.AzureFileVolumeSourceArgs{
					SecretName: pulumi.String("string"),
					ShareName:  pulumi.String("string"),
					ReadOnly:   pulumi.Bool(false),
				},
				Image: &corev1.ImageVolumeSourceArgs{
					PullPolicy: pulumi.String("string"),
					Reference:  pulumi.String("string"),
				},
				Iscsi: &corev1.ISCSIVolumeSourceArgs{
					Iqn:               pulumi.String("string"),
					Lun:               pulumi.Int(0),
					TargetPortal:      pulumi.String("string"),
					ChapAuthDiscovery: pulumi.Bool(false),
					ChapAuthSession:   pulumi.Bool(false),
					FsType:            pulumi.String("string"),
					InitiatorName:     pulumi.String("string"),
					IscsiInterface:    pulumi.String("string"),
					Portals: pulumi.StringArray{
						pulumi.String("string"),
					},
					ReadOnly: pulumi.Bool(false),
					SecretRef: &corev1.LocalObjectReferenceArgs{
						Name: pulumi.String("string"),
					},
				},
				AzureDisk: &corev1.AzureDiskVolumeSourceArgs{
					DiskName:    pulumi.String("string"),
					DiskURI:     pulumi.String("string"),
					CachingMode: pulumi.String("string"),
					FsType:      pulumi.String("string"),
					Kind:        pulumi.String("string"),
					ReadOnly:    pulumi.Bool(false),
				},
				Nfs: &corev1.NFSVolumeSourceArgs{
					Path:     pulumi.String("string"),
					Server:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
				},
				PersistentVolumeClaim: &corev1.PersistentVolumeClaimVolumeSourceArgs{
					ClaimName: pulumi.String("string"),
					ReadOnly:  pulumi.Bool(false),
				},
				PhotonPersistentDisk: &corev1.PhotonPersistentDiskVolumeSourceArgs{
					PdID:   pulumi.String("string"),
					FsType: pulumi.String("string"),
				},
				PortworxVolume: &corev1.PortworxVolumeSourceArgs{
					VolumeID: pulumi.String("string"),
					FsType:   pulumi.String("string"),
					ReadOnly: pulumi.Bool(false),
				},
				Projected: &corev1.ProjectedVolumeSourceArgs{
					Sources: corev1.VolumeProjectionArray{
						&corev1.VolumeProjectionArgs{
							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"),
				},
				Glusterfs: &corev1.GlusterfsVolumeSourceArgs{
					Endpoints: pulumi.String("string"),
					Path:      pulumi.String("string"),
					ReadOnly:  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"),
		},
		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"),
		},
	},
})
Copy
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())
            .workingDir("string")
            .resizePolicy(ContainerResizePolicyArgs.builder()
                .resourceName("string")
                .restartPolicy("string")
                .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())
            .command("string")
            .ports(ContainerPortArgs.builder()
                .containerPort(0)
                .hostIP("string")
                .hostPort(0)
                .name("string")
                .protocol("string")
                .build())
            .restartPolicy("string")
            .envFrom(EnvFromSourceArgs.builder()
                .configMapRef(ConfigMapEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .prefix("string")
                .secretRef(SecretEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .build())
            .env(EnvVarArgs.builder()
                .name("string")
                .value("string")
                .valueFrom(EnvVarSourceArgs.builder()
                    .configMapKeyRef(ConfigMapKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .fieldRef(ObjectFieldSelectorArgs.builder()
                        .fieldPath("string")
                        .apiVersion("string")
                        .build())
                    .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                        .resource("string")
                        .containerName("string")
                        .divisor("string")
                        .build())
                    .secretKeyRef(SecretKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .build())
                .build())
            .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())
            .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())
            .args("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())
            .workingDir("string")
            .resizePolicy(ContainerResizePolicyArgs.builder()
                .resourceName("string")
                .restartPolicy("string")
                .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())
            .command("string")
            .ports(ContainerPortArgs.builder()
                .containerPort(0)
                .hostIP("string")
                .hostPort(0)
                .name("string")
                .protocol("string")
                .build())
            .restartPolicy("string")
            .envFrom(EnvFromSourceArgs.builder()
                .configMapRef(ConfigMapEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .prefix("string")
                .secretRef(SecretEnvSourceArgs.builder()
                    .name("string")
                    .optional(false)
                    .build())
                .build())
            .env(EnvVarArgs.builder()
                .name("string")
                .value("string")
                .valueFrom(EnvVarSourceArgs.builder()
                    .configMapKeyRef(ConfigMapKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .fieldRef(ObjectFieldSelectorArgs.builder()
                        .fieldPath("string")
                        .apiVersion("string")
                        .build())
                    .resourceFieldRef(ResourceFieldSelectorArgs.builder()
                        .resource("string")
                        .containerName("string")
                        .divisor("string")
                        .build())
                    .secretKeyRef(SecretKeySelectorArgs.builder()
                        .key("string")
                        .name("string")
                        .optional(false)
                        .build())
                    .build())
                .build())
            .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())
            .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())
            .args("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())
            .cephfs(CephFSVolumeSourceArgs.builder()
                .monitors("string")
                .path("string")
                .readOnly(false)
                .secretFile("string")
                .secretRef(LocalObjectReferenceArgs.builder()
                    .name("string")
                    .build())
                .user("string")
                .build())
            .hostPath(HostPathVolumeSourceArgs.builder()
                .path("string")
                .type("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())
            .vsphereVolume(VsphereVirtualDiskVolumeSourceArgs.builder()
                .volumePath("string")
                .fsType("string")
                .storagePolicyID("string")
                .storagePolicyName("string")
                .build())
            .azureFile(AzureFileVolumeSourceArgs.builder()
                .secretName("string")
                .shareName("string")
                .readOnly(false)
                .build())
            .image(ImageVolumeSourceArgs.builder()
                .pullPolicy("string")
                .reference("string")
                .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())
            .persistentVolumeClaim(PersistentVolumeClaimVolumeSourceArgs.builder()
                .claimName("string")
                .readOnly(false)
                .build())
            .photonPersistentDisk(PhotonPersistentDiskVolumeSourceArgs.builder()
                .pdID("string")
                .fsType("string")
                .build())
            .portworxVolume(PortworxVolumeSourceArgs.builder()
                .volumeID("string")
                .fsType("string")
                .readOnly(false)
                .build())
            .projected(ProjectedVolumeSourceArgs.builder()
                .sources(VolumeProjectionArgs.builder()
                    .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())
            .glusterfs(GlusterfsVolumeSourceArgs.builder()
                .endpoints("string")
                .path("string")
                .readOnly(false)
                .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())
            .cephfs(CephFSVolumeSourceArgs.builder()
                .monitors("string")
                .path("string")
                .readOnly(false)
                .secretFile("string")
                .secretRef(LocalObjectReferenceArgs.builder()
                    .name("string")
                    .build())
                .user("string")
                .build())
            .hostPath(HostPathVolumeSourceArgs.builder()
                .path("string")
                .type("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())
            .vsphereVolume(VsphereVirtualDiskVolumeSourceArgs.builder()
                .volumePath("string")
                .fsType("string")
                .storagePolicyID("string")
                .storagePolicyName("string")
                .build())
            .azureFile(AzureFileVolumeSourceArgs.builder()
                .secretName("string")
                .shareName("string")
                .readOnly(false)
                .build())
            .image(ImageVolumeSourceArgs.builder()
                .pullPolicy("string")
                .reference("string")
                .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())
            .persistentVolumeClaim(PersistentVolumeClaimVolumeSourceArgs.builder()
                .claimName("string")
                .readOnly(false)
                .build())
            .photonPersistentDisk(PhotonPersistentDiskVolumeSourceArgs.builder()
                .pdID("string")
                .fsType("string")
                .build())
            .portworxVolume(PortworxVolumeSourceArgs.builder()
                .volumeID("string")
                .fsType("string")
                .readOnly(false)
                .build())
            .projected(ProjectedVolumeSourceArgs.builder()
                .sources(VolumeProjectionArgs.builder()
                    .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())
            .glusterfs(GlusterfsVolumeSourceArgs.builder()
                .endpoints("string")
                .path("string")
                .readOnly(false)
                .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());
Copy
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",
                },
            },
            "working_dir": "string",
            "resize_policy": [{
                "resource_name": "string",
                "restart_policy": "string",
            }],
            "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,
            },
            "command": ["string"],
            "ports": [{
                "container_port": 0,
                "host_ip": "string",
                "host_port": 0,
                "name": "string",
                "protocol": "string",
            }],
            "restart_policy": "string",
            "env_from": [{
                "config_map_ref": {
                    "name": "string",
                    "optional": False,
                },
                "prefix": "string",
                "secret_ref": {
                    "name": "string",
                    "optional": False,
                },
            }],
            "env": [{
                "name": "string",
                "value": "string",
                "value_from": {
                    "config_map_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                    "field_ref": {
                        "field_path": "string",
                        "api_version": "string",
                    },
                    "resource_field_ref": {
                        "resource": "string",
                        "container_name": "string",
                        "divisor": "string",
                    },
                    "secret_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                },
            }],
            "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,
            },
            "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",
            }],
            "args": ["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",
                },
            },
            "working_dir": "string",
            "resize_policy": [{
                "resource_name": "string",
                "restart_policy": "string",
            }],
            "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,
            },
            "command": ["string"],
            "ports": [{
                "container_port": 0,
                "host_ip": "string",
                "host_port": 0,
                "name": "string",
                "protocol": "string",
            }],
            "restart_policy": "string",
            "env_from": [{
                "config_map_ref": {
                    "name": "string",
                    "optional": False,
                },
                "prefix": "string",
                "secret_ref": {
                    "name": "string",
                    "optional": False,
                },
            }],
            "env": [{
                "name": "string",
                "value": "string",
                "value_from": {
                    "config_map_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                    "field_ref": {
                        "field_path": "string",
                        "api_version": "string",
                    },
                    "resource_field_ref": {
                        "resource": "string",
                        "container_name": "string",
                        "divisor": "string",
                    },
                    "secret_key_ref": {
                        "key": "string",
                        "name": "string",
                        "optional": False,
                    },
                },
            }],
            "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,
            },
            "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",
            }],
            "args": ["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",
            },
            "cephfs": {
                "monitors": ["string"],
                "path": "string",
                "read_only": False,
                "secret_file": "string",
                "secret_ref": {
                    "name": "string",
                },
                "user": "string",
            },
            "host_path": {
                "path": "string",
                "type": "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,
            },
            "vsphere_volume": {
                "volume_path": "string",
                "fs_type": "string",
                "storage_policy_id": "string",
                "storage_policy_name": "string",
            },
            "azure_file": {
                "secret_name": "string",
                "share_name": "string",
                "read_only": False,
            },
            "image": {
                "pull_policy": "string",
                "reference": "string",
            },
            "iscsi": {
                "iqn": "string",
                "lun": 0,
                "target_portal": "string",
                "chap_auth_discovery": False,
                "chap_auth_session": False,
                "fs_type": "string",
                "initiator_name": "string",
                "iscsi_interface": "string",
                "portals": ["string"],
                "read_only": False,
                "secret_ref": {
                    "name": "string",
                },
            },
            "azure_disk": {
                "disk_name": "string",
                "disk_uri": "string",
                "caching_mode": "string",
                "fs_type": "string",
                "kind": "string",
                "read_only": False,
            },
            "nfs": {
                "path": "string",
                "server": "string",
                "read_only": False,
            },
            "persistent_volume_claim": {
                "claim_name": "string",
                "read_only": False,
            },
            "photon_persistent_disk": {
                "pd_id": "string",
                "fs_type": "string",
            },
            "portworx_volume": {
                "volume_id": "string",
                "fs_type": "string",
                "read_only": False,
            },
            "projected": {
                "sources": [{
                    "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",
            },
            "glusterfs": {
                "endpoints": "string",
                "path": "string",
                "read_only": False,
            },
        }],
        "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",
            },
            "cephfs": {
                "monitors": ["string"],
                "path": "string",
                "read_only": False,
                "secret_file": "string",
                "secret_ref": {
                    "name": "string",
                },
                "user": "string",
            },
            "host_path": {
                "path": "string",
                "type": "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,
            },
            "vsphere_volume": {
                "volume_path": "string",
                "fs_type": "string",
                "storage_policy_id": "string",
                "storage_policy_name": "string",
            },
            "azure_file": {
                "secret_name": "string",
                "share_name": "string",
                "read_only": False,
            },
            "image": {
                "pull_policy": "string",
                "reference": "string",
            },
            "iscsi": {
                "iqn": "string",
                "lun": 0,
                "target_portal": "string",
                "chap_auth_discovery": False,
                "chap_auth_session": False,
                "fs_type": "string",
                "initiator_name": "string",
                "iscsi_interface": "string",
                "portals": ["string"],
                "read_only": False,
                "secret_ref": {
                    "name": "string",
                },
            },
            "azure_disk": {
                "disk_name": "string",
                "disk_uri": "string",
                "caching_mode": "string",
                "fs_type": "string",
                "kind": "string",
                "read_only": False,
            },
            "nfs": {
                "path": "string",
                "server": "string",
                "read_only": False,
            },
            "persistent_volume_claim": {
                "claim_name": "string",
                "read_only": False,
            },
            "photon_persistent_disk": {
                "pd_id": "string",
                "fs_type": "string",
            },
            "portworx_volume": {
                "volume_id": "string",
                "fs_type": "string",
                "read_only": False,
            },
            "projected": {
                "sources": [{
                    "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",
            },
            "glusterfs": {
                "endpoints": "string",
                "path": "string",
                "read_only": 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",
        },
        "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",
        },
    })
Copy
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",
                },
            },
            workingDir: "string",
            resizePolicy: [{
                resourceName: "string",
                restartPolicy: "string",
            }],
            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,
            },
            command: ["string"],
            ports: [{
                containerPort: 0,
                hostIP: "string",
                hostPort: 0,
                name: "string",
                protocol: "string",
            }],
            restartPolicy: "string",
            envFrom: [{
                configMapRef: {
                    name: "string",
                    optional: false,
                },
                prefix: "string",
                secretRef: {
                    name: "string",
                    optional: false,
                },
            }],
            env: [{
                name: "string",
                value: "string",
                valueFrom: {
                    configMapKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                    fieldRef: {
                        fieldPath: "string",
                        apiVersion: "string",
                    },
                    resourceFieldRef: {
                        resource: "string",
                        containerName: "string",
                        divisor: "string",
                    },
                    secretKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                },
            }],
            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,
            },
            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",
            }],
            args: ["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",
                },
            },
            workingDir: "string",
            resizePolicy: [{
                resourceName: "string",
                restartPolicy: "string",
            }],
            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,
            },
            command: ["string"],
            ports: [{
                containerPort: 0,
                hostIP: "string",
                hostPort: 0,
                name: "string",
                protocol: "string",
            }],
            restartPolicy: "string",
            envFrom: [{
                configMapRef: {
                    name: "string",
                    optional: false,
                },
                prefix: "string",
                secretRef: {
                    name: "string",
                    optional: false,
                },
            }],
            env: [{
                name: "string",
                value: "string",
                valueFrom: {
                    configMapKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                    fieldRef: {
                        fieldPath: "string",
                        apiVersion: "string",
                    },
                    resourceFieldRef: {
                        resource: "string",
                        containerName: "string",
                        divisor: "string",
                    },
                    secretKeyRef: {
                        key: "string",
                        name: "string",
                        optional: false,
                    },
                },
            }],
            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,
            },
            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",
            }],
            args: ["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",
            },
            cephfs: {
                monitors: ["string"],
                path: "string",
                readOnly: false,
                secretFile: "string",
                secretRef: {
                    name: "string",
                },
                user: "string",
            },
            hostPath: {
                path: "string",
                type: "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,
            },
            vsphereVolume: {
                volumePath: "string",
                fsType: "string",
                storagePolicyID: "string",
                storagePolicyName: "string",
            },
            azureFile: {
                secretName: "string",
                shareName: "string",
                readOnly: false,
            },
            image: {
                pullPolicy: "string",
                reference: "string",
            },
            iscsi: {
                iqn: "string",
                lun: 0,
                targetPortal: "string",
                chapAuthDiscovery: false,
                chapAuthSession: false,
                fsType: "string",
                initiatorName: "string",
                iscsiInterface: "string",
                portals: ["string"],
                readOnly: false,
                secretRef: {
                    name: "string",
                },
            },
            azureDisk: {
                diskName: "string",
                diskURI: "string",
                cachingMode: "string",
                fsType: "string",
                kind: "string",
                readOnly: false,
            },
            nfs: {
                path: "string",
                server: "string",
                readOnly: false,
            },
            persistentVolumeClaim: {
                claimName: "string",
                readOnly: false,
            },
            photonPersistentDisk: {
                pdID: "string",
                fsType: "string",
            },
            portworxVolume: {
                volumeID: "string",
                fsType: "string",
                readOnly: false,
            },
            projected: {
                sources: [{
                    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",
            },
            glusterfs: {
                endpoints: "string",
                path: "string",
                readOnly: false,
            },
        }],
        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",
            },
            cephfs: {
                monitors: ["string"],
                path: "string",
                readOnly: false,
                secretFile: "string",
                secretRef: {
                    name: "string",
                },
                user: "string",
            },
            hostPath: {
                path: "string",
                type: "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,
            },
            vsphereVolume: {
                volumePath: "string",
                fsType: "string",
                storagePolicyID: "string",
                storagePolicyName: "string",
            },
            azureFile: {
                secretName: "string",
                shareName: "string",
                readOnly: false,
            },
            image: {
                pullPolicy: "string",
                reference: "string",
            },
            iscsi: {
                iqn: "string",
                lun: 0,
                targetPortal: "string",
                chapAuthDiscovery: false,
                chapAuthSession: false,
                fsType: "string",
                initiatorName: "string",
                iscsiInterface: "string",
                portals: ["string"],
                readOnly: false,
                secretRef: {
                    name: "string",
                },
            },
            azureDisk: {
                diskName: "string",
                diskURI: "string",
                cachingMode: "string",
                fsType: "string",
                kind: "string",
                readOnly: false,
            },
            nfs: {
                path: "string",
                server: "string",
                readOnly: false,
            },
            persistentVolumeClaim: {
                claimName: "string",
                readOnly: false,
            },
            photonPersistentDisk: {
                pdID: "string",
                fsType: "string",
            },
            portworxVolume: {
                volumeID: "string",
                fsType: "string",
                readOnly: false,
            },
            projected: {
                sources: [{
                    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",
            },
            glusterfs: {
                endpoints: "string",
                path: "string",
                readOnly: false,
            },
        }],
        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",
        },
    },
});
Copy
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
Copy

IngressController Resource Properties

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

Inputs

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

The IngressController resource accepts the following input properties:

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

Outputs

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

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

Supporting Types

Autoscaling
, AutoscalingArgs

AutoscalingBehavior
, AutoscalingBehaviorArgs

AutoscalingBehaviorScaling
, AutoscalingBehaviorScalingArgs

AutoscalingBehaviorScalingPolicy
, AutoscalingBehaviorScalingPolicyArgs

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

AutoscalingTemplate
, AutoscalingTemplateArgs

AutoscalingTemplatePods
, AutoscalingTemplatePodsArgs

AutoscalingTemplatePodsMetric
, AutoscalingTemplatePodsMetricArgs

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

AutoscalingTemplatePodsTarget
, AutoscalingTemplatePodsTargetArgs

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

ContollerAdmissionWebhooks
, ContollerAdmissionWebhooksArgs

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

Controller
, ControllerArgs

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

ControllerAdmissionWebhooksCreateSecretJob
, ControllerAdmissionWebhooksCreateSecretJobArgs

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

ControllerAdmissionWebhooksPatch
, ControllerAdmissionWebhooksPatchArgs

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

ControllerAdmissionWebhooksPatchWebhbookJob
, ControllerAdmissionWebhooksPatchWebhbookJobArgs

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

ControllerAdmissionWebhooksService
, ControllerAdmissionWebhooksServiceArgs

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

ControllerCustomTemplate
, ControllerCustomTemplateArgs

ControllerDefaultBackend
, ControllerDefaultBackendArgs

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

ControllerDefaultBackendService
, ControllerDefaultBackendServiceArgs

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

ControllerHostPort
, ControllerHostPortArgs

ControllerHostPortPorts
, ControllerHostPortPortsArgs

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

ControllerImage
, ControllerImageArgs

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

ControllerIngressClassResource
, ControllerIngressClassResourceArgs

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

ControllerMetrics
, ControllerMetricsArgs

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

ControllerMetricsPrometheusRules
, ControllerMetricsPrometheusRulesArgs

AdditionalLabels Dictionary<string, 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>
ExternalTrafficPolicy string
LoadBalancerIPs string
LoadBalancerSourceRanges List<string>
NodePort string
ServicePort int
Type string
annotations Map<String,String>
clusterIP String
externalIPs List<String>
externalTrafficPolicy String
loadBalancerIPs String
loadBalancerSourceRanges List<String>
nodePort String
servicePort Integer
type String
annotations {[key: string]: string}
clusterIP string
externalIPs string[]
externalTrafficPolicy string
loadBalancerIPs string
loadBalancerSourceRanges string[]
nodePort string
servicePort number
type string
annotations Map<String>
clusterIP String
externalIPs List<String>
externalTrafficPolicy String
loadBalancerIPs String
loadBalancerSourceRanges List<String>
nodePort String
servicePort Number
type String

ControllerMetricsServiceMonitor
, ControllerMetricsServiceMonitorArgs

AdditionalLabels Dictionary<string, 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

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

ControllerPublishService
, ControllerPublishServiceArgs

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

ControllerRBAC
, ControllerRBACArgs

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

ControllerRollingUpdate
, ControllerRollingUpdateArgs

ControllerScope
, ControllerScopeArgs

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

ControllerService
, ControllerServiceArgs

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

ControllerServiceAccount
, ControllerServiceAccountArgs

ControllerServiceInternal
, ControllerServiceInternalArgs

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

ControllerServiceNodePorts
, ControllerServiceNodePortsArgs

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

ControllerTcp
, ControllerTcpArgs

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

ControllerUdp
, ControllerUdpArgs

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

ControllerUpdateStrategy
, ControllerUpdateStrategyArgs

Keda
, KedaArgs

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

KedaScaledObject
, KedaScaledObjectArgs

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

KedaTrigger
, KedaTriggerArgs

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

Release
, ReleaseArgs

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

ReleaseStatus
, ReleaseStatusArgs

AppVersion This property is required. string
The version number of the application being deployed.
Chart This property is required. string
The name of the chart.
Name This property is required. string
Name is the name of the release.
Namespace This property is required. string
Namespace is the kubernetes namespace of the release.
Revision This property is required. int
Version is an int32 which represents the version of the release.
Status This property is required. string
Status of the release.
Version This property is required. string
A SemVer 2 conformant version string of the chart.
AppVersion This property is required. string
The version number of the application being deployed.
Chart This property is required. string
The name of the chart.
Name This property is required. string
Name is the name of the release.
Namespace This property is required. string
Namespace is the kubernetes namespace of the release.
Revision This property is required. int
Version is an int32 which represents the version of the release.
Status This property is required. string
Status of the release.
Version This property is required. string
A SemVer 2 conformant version string of the chart.
appVersion This property is required. String
The version number of the application being deployed.
chart This property is required. String
The name of the chart.
name This property is required. String
Name is the name of the release.
namespace This property is required. String
Namespace is the kubernetes namespace of the release.
revision This property is required. Integer
Version is an int32 which represents the version of the release.
status This property is required. String
Status of the release.
version This property is required. String
A SemVer 2 conformant version string of the chart.
appVersion This property is required. string
The version number of the application being deployed.
chart This property is required. string
The name of the chart.
name This property is required. string
Name is the name of the release.
namespace This property is required. string
Namespace is the kubernetes namespace of the release.
revision This property is required. number
Version is an int32 which represents the version of the release.
status This property is required. string
Status of the release.
version This property is required. string
A SemVer 2 conformant version string of the chart.
app_version This property is required. str
The version number of the application being deployed.
chart This property is required. str
The name of the chart.
name This property is required. str
Name is the name of the release.
namespace This property is required. str
Namespace is the kubernetes namespace of the release.
revision This property is required. int
Version is an int32 which represents the version of the release.
status This property is required. str
Status of the release.
version This property is required. str
A SemVer 2 conformant version string of the chart.
appVersion This property is required. String
The version number of the application being deployed.
chart This property is required. String
The name of the chart.
name This property is required. String
Name is the name of the release.
namespace This property is required. String
Namespace is the kubernetes namespace of the release.
revision This property is required. Number
Version is an int32 which represents the version of the release.
status This property is required. String
Status of the release.
version This property is required. 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