# This file was generated by the Julia Swagger Code Generator
# Do not modify this file directly. Modify the swagger specification instead.


@doc raw"""IngressTLS describes the transport layer security associated with an Ingress.

    IoK8sApiNetworkingV1beta1IngressTLS(;
        hosts=nothing,
        secretName=nothing,
    )

    - hosts::Vector{String} : Hosts are a list of hosts included in the TLS certificate. The values in this list must match the name/s used in the tlsSecret. Defaults to the wildcard host setting for the loadbalancer controller fulfilling this Ingress, if left unspecified.
    - secretName::String : SecretName is the name of the secret used to terminate SSL traffic on 443. Field is left optional to allow SSL routing based on SNI hostname alone. If the SNI host in a listener conflicts with the \&quot;Host\&quot; header field used by an IngressRule, the SNI host is used for termination and value of the Host header is used for routing.
"""
mutable struct IoK8sApiNetworkingV1beta1IngressTLS <: SwaggerModel
    hosts::Any # spec type: Union{ Nothing, Vector{String} } # spec name: hosts
    secretName::Any # spec type: Union{ Nothing, String } # spec name: secretName

    function IoK8sApiNetworkingV1beta1IngressTLS(;hosts=nothing, secretName=nothing)
        o = new()
        validate_property(IoK8sApiNetworkingV1beta1IngressTLS, Symbol("hosts"), hosts)
        setfield!(o, Symbol("hosts"), hosts)
        validate_property(IoK8sApiNetworkingV1beta1IngressTLS, Symbol("secretName"), secretName)
        setfield!(o, Symbol("secretName"), secretName)
        o
    end
end # type IoK8sApiNetworkingV1beta1IngressTLS

const _property_map_IoK8sApiNetworkingV1beta1IngressTLS = Dict{Symbol,Symbol}(Symbol("hosts")=>Symbol("hosts"), Symbol("secretName")=>Symbol("secretName"))
const _property_types_IoK8sApiNetworkingV1beta1IngressTLS = Dict{Symbol,String}(Symbol("hosts")=>"Vector{String}", Symbol("secretName")=>"String")
Base.propertynames(::Type{ IoK8sApiNetworkingV1beta1IngressTLS }) = collect(keys(_property_map_IoK8sApiNetworkingV1beta1IngressTLS))
Swagger.property_type(::Type{ IoK8sApiNetworkingV1beta1IngressTLS }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_IoK8sApiNetworkingV1beta1IngressTLS[name]))}
Swagger.field_name(::Type{ IoK8sApiNetworkingV1beta1IngressTLS }, property_name::Symbol) =  _property_map_IoK8sApiNetworkingV1beta1IngressTLS[property_name]

function check_required(o::IoK8sApiNetworkingV1beta1IngressTLS)
    true
end

function validate_property(::Type{ IoK8sApiNetworkingV1beta1IngressTLS }, name::Symbol, val)
end
