// Code generated by Speakeasy (https://speakeasyapi.dev). DO NOT EDIT. import Foundation extension Operations { /// A model object public struct ButlerTask { public let description: String? public let enabled: Bool? @DecimalSerialized public private(set) var interval: Double? public let name: String? public let scheduleRandomized: Bool? public let title: String? /// Creates an object with the specified parameters /// /// public init(description: String? = nil, enabled: Bool? = nil, interval: Double? = nil, name: String? = nil, scheduleRandomized: Bool? = nil, title: String? = nil) { self.description = description self.enabled = enabled self._interval = DecimalSerialized(wrappedValue: interval) self.name = name self.scheduleRandomized = scheduleRandomized self.title = title } } } extension Operations.ButlerTask: Codable { enum CodingKeys: String, CodingKey { case description case enabled case interval case name case scheduleRandomized case title } public init(from decoder: Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) self.description = try container.decodeIfPresent(String.self, forKey: .description) self.enabled = try container.decodeIfPresent(Bool.self, forKey: .enabled) self._interval = try container.decodeIfPresent(DecimalSerialized.self, forKey: .interval) ?? DecimalSerialized(wrappedValue: nil) self.name = try container.decodeIfPresent(String.self, forKey: .name) self.scheduleRandomized = try container.decodeIfPresent(Bool.self, forKey: .scheduleRandomized) self.title = try container.decodeIfPresent(String.self, forKey: .title) } public func encode(to encoder: Encoder) throws { var container = encoder.container(keyedBy: CodingKeys.self) try container.encodeIfPresent(self.description, forKey: .description) try container.encodeIfPresent(self.enabled, forKey: .enabled) if self.interval != nil { try container.encode(self._interval, forKey: .interval) } try container.encodeIfPresent(self.name, forKey: .name) try container.encodeIfPresent(self.scheduleRandomized, forKey: .scheduleRandomized) try container.encodeIfPresent(self.title, forKey: .title) } } extension Operations.ButlerTask { var intervalWrapper: DecimalSerialized { return _interval } }