/**
 *
 * Please note:
 * This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
 * Do not edit this file manually.
 *
 */

@file:Suppress(
    "ArrayInDataClass",
    "EnumEntryName",
    "RemoveRedundantQualifierName",
    "UnusedImport"
)

package org.openapitools.client.models

import org.openapitools.client.models.StringEnumRef

import com.fasterxml.jackson.annotation.JsonEnumDefaultValue
import com.fasterxml.jackson.annotation.JsonProperty

/**
 * to test the default value of properties
 *
 * @param arrayStringEnumRefDefault 
 * @param arrayStringEnumDefault 
 * @param arrayStringDefault 
 * @param arrayIntegerDefault 
 * @param arrayString 
 * @param arrayStringNullable 
 * @param arrayStringExtensionNullable 
 * @param stringNullable 
 */


data class DefaultValue (

    @field:JsonProperty("array_string_enum_ref_default")
    val arrayStringEnumRefDefault: kotlin.collections.List<StringEnumRef>? = null,

    @field:JsonProperty("array_string_enum_default")
    val arrayStringEnumDefault: kotlin.collections.List<DefaultValue.ArrayStringEnumDefault>? = null,

    @field:JsonProperty("array_string_default")
    val arrayStringDefault: kotlin.collections.List<kotlin.String>? = arrayListOf("failure","skipped"),

    @field:JsonProperty("array_integer_default")
    val arrayIntegerDefault: kotlin.collections.List<kotlin.Int>? = arrayListOf(1,3),

    @field:JsonProperty("array_string")
    val arrayString: kotlin.collections.List<kotlin.String>? = null,

    @field:JsonProperty("array_string_nullable")
    val arrayStringNullable: kotlin.collections.List<kotlin.String>? = null,

    @field:JsonProperty("array_string_extension_nullable")
    val arrayStringExtensionNullable: kotlin.collections.List<kotlin.String>? = null,

    @field:JsonProperty("string_nullable")
    val stringNullable: kotlin.String? = null

) {

    /**
     * 
     *
     * Values: success,failure,unclassified,unknown_default_open_api
     */
    enum class ArrayStringEnumDefault(val value: kotlin.String) {
        @JsonProperty(value = "success") success("success"),
        @JsonProperty(value = "failure") failure("failure"),
        @JsonProperty(value = "unclassified") unclassified("unclassified"),
        @JsonProperty(value = "unknown_default_open_api") @JsonEnumDefaultValue unknown_default_open_api("unknown_default_open_api");
    }
}

