// // ScheduleAPI.swift // // Generated by openapi-generator // https://openapi-generator.tech // import Foundation #if canImport(AnyCodable) import AnyCodable #endif open class ScheduleAPI { /** - parameter createScheduleRequest: (body) - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func createSchedule(createScheduleRequest: CreateScheduleRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: ScheduledJob?, _ error: Error?) -> Void)) -> RequestTask { return createScheduleWithRequestBuilder(createScheduleRequest: createScheduleRequest).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - POST /schedule/create - parameter createScheduleRequest: (body) - returns: RequestBuilder */ open class func createScheduleWithRequestBuilder(createScheduleRequest: CreateScheduleRequest) -> RequestBuilder { let localVariablePath = "/schedule/create" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: createScheduleRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule to delete - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func deleteSchedule(id: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return deleteScheduleWithRequestBuilder(id: id).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - DELETE /schedule/delete/{id} - parameter id: (path) ID of the schedule to delete - returns: RequestBuilder */ open class func deleteScheduleWithRequestBuilder(id: String) -> RequestBuilder { var localVariablePath = "/schedule/delete/{id}" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getNonDecodableBuilder() return localVariableRequestBuilder.init(method: "DELETE", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule to inspect - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func inspectRunningJob(id: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: InspectJobResponse?, _ error: Error?) -> Void)) -> RequestTask { return inspectRunningJobWithRequestBuilder(id: id).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /schedule/{id}/inspect - parameter id: (path) ID of the schedule to inspect - returns: RequestBuilder */ open class func inspectRunningJobWithRequestBuilder(id: String) -> RequestBuilder { var localVariablePath = "/schedule/{id}/inspect" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func killRunningJob(id: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return killRunningJobWithRequestBuilder(id: id).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - POST /schedule/{id}/kill - parameter id: (path) - returns: RequestBuilder */ open class func killRunningJobWithRequestBuilder(id: String) -> RequestBuilder { var localVariablePath = "/schedule/{id}/kill" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getNonDecodableBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func listSchedules(apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: ListSchedulesResponse?, _ error: Error?) -> Void)) -> RequestTask { return listSchedulesWithRequestBuilder().execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /schedule/list - returns: RequestBuilder */ open class func listSchedulesWithRequestBuilder() -> RequestBuilder { let localVariablePath = "/schedule/list" let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule to pause - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func pauseSchedule(id: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return pauseScheduleWithRequestBuilder(id: id).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - POST /schedule/{id}/pause - parameter id: (path) ID of the schedule to pause - returns: RequestBuilder */ open class func pauseScheduleWithRequestBuilder(id: String) -> RequestBuilder { var localVariablePath = "/schedule/{id}/pause" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getNonDecodableBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule to run - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func runNowHandler(id: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: RunNowResponse?, _ error: Error?) -> Void)) -> RequestTask { return runNowHandlerWithRequestBuilder(id: id).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - POST /schedule/{id}/run_now - parameter id: (path) ID of the schedule to run - returns: RequestBuilder */ open class func runNowHandlerWithRequestBuilder(id: String) -> RequestBuilder { var localVariablePath = "/schedule/{id}/run_now" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule - parameter limit: (query) (optional) - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func sessionsHandler(id: String, limit: Int? = nil, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: [SessionDisplayInfo]?, _ error: Error?) -> Void)) -> RequestTask { return sessionsHandlerWithRequestBuilder(id: id, limit: limit).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - GET /schedule/{id}/sessions - parameter id: (path) ID of the schedule - parameter limit: (query) (optional) - returns: RequestBuilder<[SessionDisplayInfo]> */ open class func sessionsHandlerWithRequestBuilder(id: String, limit: Int? = nil) -> RequestBuilder<[SessionDisplayInfo]> { var localVariablePath = "/schedule/{id}/sessions" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil var localVariableUrlComponents = URLComponents(string: localVariableURLString) localVariableUrlComponents?.queryItems = APIHelper.mapValuesToQueryItems([ "limit": (wrappedValue: limit?.encodeToJSON(), isExplode: true), ]) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder<[SessionDisplayInfo]>.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "GET", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule to unpause - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func unpauseSchedule(id: String, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: Void?, _ error: Error?) -> Void)) -> RequestTask { return unpauseScheduleWithRequestBuilder(id: id).execute(apiResponseQueue) { result in switch result { case .success: completion((), nil) case let .failure(error): completion(nil, error) } } } /** - POST /schedule/{id}/unpause - parameter id: (path) ID of the schedule to unpause - returns: RequestBuilder */ open class func unpauseScheduleWithRequestBuilder(id: String) -> RequestBuilder { var localVariablePath = "/schedule/{id}/unpause" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters: [String: Any]? = nil let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ : ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getNonDecodableBuilder() return localVariableRequestBuilder.init(method: "POST", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } /** - parameter id: (path) ID of the schedule to update - parameter updateScheduleRequest: (body) - parameter apiResponseQueue: The queue on which api response is dispatched. - parameter completion: completion handler to receive the data and the error objects */ @discardableResult open class func updateSchedule(id: String, updateScheduleRequest: UpdateScheduleRequest, apiResponseQueue: DispatchQueue = GooseAPIAPI.apiResponseQueue, completion: @escaping ((_ data: ScheduledJob?, _ error: Error?) -> Void)) -> RequestTask { return updateScheduleWithRequestBuilder(id: id, updateScheduleRequest: updateScheduleRequest).execute(apiResponseQueue) { result in switch result { case let .success(response): completion(response.body, nil) case let .failure(error): completion(nil, error) } } } /** - PUT /schedule/{id} - parameter id: (path) ID of the schedule to update - parameter updateScheduleRequest: (body) - returns: RequestBuilder */ open class func updateScheduleWithRequestBuilder(id: String, updateScheduleRequest: UpdateScheduleRequest) -> RequestBuilder { var localVariablePath = "/schedule/{id}" let idPreEscape = "\(APIHelper.mapValueToPathItem(id))" let idPostEscape = idPreEscape.addingPercentEncoding(withAllowedCharacters: .urlPathAllowed) ?? "" localVariablePath = localVariablePath.replacingOccurrences(of: "{id}", with: idPostEscape, options: .literal, range: nil) let localVariableURLString = GooseAPIAPI.basePath + localVariablePath let localVariableParameters = JSONEncodingHelper.encodingParameters(forEncodableObject: updateScheduleRequest) let localVariableUrlComponents = URLComponents(string: localVariableURLString) let localVariableNillableHeaders: [String: Any?] = [ "Content-Type": "application/json", ] let localVariableHeaderParameters = APIHelper.rejectNilHeaders(localVariableNillableHeaders) let localVariableRequestBuilder: RequestBuilder.Type = GooseAPIAPI.requestBuilderFactory.getBuilder() return localVariableRequestBuilder.init(method: "PUT", URLString: (localVariableUrlComponents?.string ?? localVariableURLString), parameters: localVariableParameters, headers: localVariableHeaderParameters, requiresAuthentication: false) } }