Sources/OSS/ClientObjectTagging.swift (69 lines of code) (raw):

import Foundation public extension Client { /// You can call this operation to add tags to or modify the tags of an object. /// - Parameters: /// - request: The request parameter to send /// - request: Optional, operation options /// - Returns: The result instance. func putObjectTagging( _ request: PutObjectTaggingRequest, _ options: OperationOptions? = nil ) async throws -> PutObjectTaggingResult { var input = OperationInput( operationName: "PutObjectTagging", method: "PUT", headers: [ "Content-Type": "application/xml", ], parameters: [ "tagging": "", ] ) input.bucket = try request.bucket.ensureRequired(field: "request.bucket") input.key = try request.key.ensureRequired(field: "request.key") var req = request try Serde.serializeInput(&req, &input, [Serde.serializePutObjectTagging, Serde.addContentMd5]) var output = try await clientImpl.execute(with: &input, args: options) var result = PutObjectTaggingResult() try Serde.deserializeOutput(&result, &output, [Serde.deserializePutObjectTagging]) return result } /// You can call this operation to query the tags of an object. /// - Parameters: /// - request: The request parameter to send /// - request: Optional, operation options /// - Returns: The result instance. func getObjectTagging( _ request: GetObjectTaggingRequest, _ options: OperationOptions? = nil ) async throws -> GetObjectTaggingResult { var input = OperationInput( operationName: "GetObjectTagging", method: "GET", parameters: [ "tagging": "", ] ) input.bucket = try request.bucket.ensureRequired(field: "request.bucket") input.key = try request.key.ensureRequired(field: "request.key") var req = request try Serde.serializeInput(&req, &input, [Serde.serializeGetObjectTagging, Serde.addContentMd5]) var output = try await clientImpl.execute(with: &input, args: options) var result = GetObjectTaggingResult() try Serde.deserializeOutput(&result, &output, [Serde.deserializeGetObjectTagging]) return result } /// You can call this operation to delete the tags of a specified object. /// - Parameters: /// - request: The request parameter to send /// - request: Optional, operation options /// - Returns: The result instance. func deleteObjectTagging( _ request: DeleteObjectTaggingRequest, _ options: OperationOptions? = nil ) async throws -> DeleteObjectTaggingResult { var input = OperationInput( operationName: "DeleteObjectTagging", method: "DELETE", headers: [ "Content-Type": "application/xml", ], parameters: [ "tagging": "", ] ) input.bucket = try request.bucket.ensureRequired(field: "request.bucket") input.key = try request.key.ensureRequired(field: "request.key") var req = request try Serde.serializeInput(&req, &input, [Serde.serializeDeleteObjectTagging, Serde.addContentMd5]) var output = try await clientImpl.execute(with: &input, args: options) var result = DeleteObjectTaggingResult() try Serde.deserializeOutput(&result, &output, [Serde.deserializeDeleteObjectTagging]) return result } }