package io.flow.dependency.v0.models import com.fasterxml.jackson.annotation.JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonProperty import com.fasterxml.jackson.annotation.JsonSubTypes import com.fasterxml.jackson.annotation.JsonTypeInfo import java.io.Serializable import kotlin.String /** * This code was generated by [models.generator.kotlin.KotlinGenerator] */ @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeInfo( use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NAME, include = com.fasterxml.jackson.annotation.JsonTypeInfo.As.PROPERTY, property = "discriminator", defaultImpl = io.flow.dependency.v0.models.Credentials.CredentialsUndefined::class ) @JsonSubTypes( JsonSubTypes.Type(value = io.flow.dependency.v0.models.Credentials.UsernamePassword::class, name = "username_password"), JsonSubTypes.Type(value = io.flow.dependency.v0.models.Credentials.CredentialsUndefined::class) ) sealed class Credentials { /** * This code was generated by [models.generator.kotlin.KotlinGenerator] */ @JsonIgnoreProperties(ignoreUnknown=true) @JsonTypeInfo(use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NONE) data class UsernamePassword( @JsonProperty("username") @get:JsonProperty("username") val username: String, @JsonProperty("password") @get:JsonProperty("password") val password: String? ) : Credentials(), Serializable { fun toJsonString(): String = io.flow.dependency.v0.models.JacksonObjectMapperFactory.create().writeValueAsString(this) companion object { fun parseJson(json: String): UsernamePassword = io.flow.dependency.v0.models.JacksonObjectMapperFactory.create().readValue( json, UsernamePassword::class.java) } } @JsonTypeInfo(use = com.fasterxml.jackson.annotation.JsonTypeInfo.Id.NONE) object CredentialsUndefined : Credentials() companion object { fun parseJson(json: String): Credentials = io.flow.dependency.v0.models.JacksonObjectMapperFactory.create().readValue( json, Credentials::class.java) } }