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


mutable struct OrchestrationServiceStateInput <: SwaggerModel
    serviceName::Any # spec type: Union{ Nothing, String } # spec name: serviceName
    action::Any # spec type: Union{ Nothing, String } # spec name: action

    function OrchestrationServiceStateInput(;serviceName=nothing, action=nothing)
        o = new()
        validate_property(OrchestrationServiceStateInput, Symbol("serviceName"), serviceName)
        setfield!(o, Symbol("serviceName"), serviceName)
        validate_property(OrchestrationServiceStateInput, Symbol("action"), action)
        setfield!(o, Symbol("action"), action)
        o
    end
end # type OrchestrationServiceStateInput

const _property_map_OrchestrationServiceStateInput = Dict{Symbol,Symbol}(Symbol("serviceName")=>Symbol("serviceName"), Symbol("action")=>Symbol("action"))
const _property_types_OrchestrationServiceStateInput = Dict{Symbol,String}(Symbol("serviceName")=>"String", Symbol("action")=>"String")
Base.propertynames(::Type{ OrchestrationServiceStateInput }) = collect(keys(_property_map_OrchestrationServiceStateInput))
Swagger.property_type(::Type{ OrchestrationServiceStateInput }, name::Symbol) = Union{Nothing,eval(Base.Meta.parse(_property_types_OrchestrationServiceStateInput[name]))}
Swagger.field_name(::Type{ OrchestrationServiceStateInput }, property_name::Symbol) =  _property_map_OrchestrationServiceStateInput[property_name]

const _allowed_OrchestrationServiceStateInput_serviceName = ["AutomaticRepairs"]

const _allowed_OrchestrationServiceStateInput_action = ["Resume", "Suspend"]

function check_required(o::OrchestrationServiceStateInput)
    true
end

function validate_property(::Type{ OrchestrationServiceStateInput }, name::Symbol, val)
    if name === Symbol("serviceName")
        Swagger.validate_param(name, "OrchestrationServiceStateInput", :enum, val, _allowed_OrchestrationServiceStateInput_serviceName)
    end
    if name === Symbol("action")
        Swagger.validate_param(name, "OrchestrationServiceStateInput", :enum, val, _allowed_OrchestrationServiceStateInput_action)
    end
end
