//
// ClientCreationRequest.swift
//
// Generated by swagger-codegen
// https://github.com/swagger-api/swagger-codegen
//

import Foundation



public struct ClientCreationRequest: Codable {

    public enum ClientType: String, Codable { 
        case customer = "CUSTOMER"
        case exCustomer = "EX_CUSTOMER"
        case test = "TEST"
        case unclassified = "UNCLASSIFIED"
    }
    public var name: String?
    public var shortName: String?
    public var clientName: String?
    public var domainName: String?
    public var userEmail: String
    public var userPassword: String
    public var userFirstName: String?
    public var userLastName: String?
    public var verificationCode: String?
    public var pod: String?
    public var clientType: ClientType?
    public var properties: [String:String]?

    public init(name: String? = nil, shortName: String? = nil, clientName: String? = nil, domainName: String? = nil, userEmail: String, userPassword: String, userFirstName: String? = nil, userLastName: String? = nil, verificationCode: String? = nil, pod: String? = nil, clientType: ClientType? = nil, properties: [String:String]? = nil) {
        self.name = name
        self.shortName = shortName
        self.clientName = clientName
        self.domainName = domainName
        self.userEmail = userEmail
        self.userPassword = userPassword
        self.userFirstName = userFirstName
        self.userLastName = userLastName
        self.verificationCode = verificationCode
        self.pod = pod
        self.clientType = clientType
        self.properties = properties
    }

    public enum CodingKeys: String, CodingKey { 
        case name
        case shortName = "short_name"
        case clientName = "client_name"
        case domainName = "domain_name"
        case userEmail = "user_email"
        case userPassword = "user_password"
        case userFirstName = "user_first_name"
        case userLastName = "user_last_name"
        case verificationCode = "verification_code"
        case pod
        case clientType = "client_type"
        case properties
    }

}
