All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.aws.sdk.kotlin.services.s3control.serde.JobOperationDocumentSerializer.kt Maven / Gradle / Ivy

// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.s3control.serde

import aws.sdk.kotlin.services.s3control.model.JobOperation
import aws.smithy.kotlin.runtime.serde.SdkFieldDescriptor
import aws.smithy.kotlin.runtime.serde.SdkObjectDescriptor
import aws.smithy.kotlin.runtime.serde.SerialKind
import aws.smithy.kotlin.runtime.serde.Serializer
import aws.smithy.kotlin.runtime.serde.asSdkSerializable
import aws.smithy.kotlin.runtime.serde.deserializeList
import aws.smithy.kotlin.runtime.serde.deserializeMap
import aws.smithy.kotlin.runtime.serde.deserializeStruct
import aws.smithy.kotlin.runtime.serde.field
import aws.smithy.kotlin.runtime.serde.serializeList
import aws.smithy.kotlin.runtime.serde.serializeMap
import aws.smithy.kotlin.runtime.serde.serializeStruct
import aws.smithy.kotlin.runtime.serde.xml.XmlDeserializer
import aws.smithy.kotlin.runtime.serde.xml.XmlNamespace
import aws.smithy.kotlin.runtime.serde.xml.XmlSerialName

internal fun serializeJobOperationDocument(serializer: Serializer, input: JobOperation) {
    val LAMBDAINVOKE_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("LambdaInvoke"))
    val S3DELETEOBJECTTAGGING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3DeleteObjectTagging"))
    val S3INITIATERESTOREOBJECT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3InitiateRestoreObject"))
    val S3PUTOBJECTACL_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3PutObjectAcl"))
    val S3PUTOBJECTCOPY_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3PutObjectCopy"))
    val S3PUTOBJECTLEGALHOLD_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3PutObjectLegalHold"))
    val S3PUTOBJECTRETENTION_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3PutObjectRetention"))
    val S3PUTOBJECTTAGGING_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3PutObjectTagging"))
    val S3REPLICATEOBJECT_DESCRIPTOR = SdkFieldDescriptor(SerialKind.Struct, XmlSerialName("S3ReplicateObject"))
    val OBJ_DESCRIPTOR = SdkObjectDescriptor.build {
        trait(XmlSerialName("JobOperation"))
        trait(XmlNamespace("http://awss3control.amazonaws.com/doc/2018-08-20/"))
        field(LAMBDAINVOKE_DESCRIPTOR)
        field(S3DELETEOBJECTTAGGING_DESCRIPTOR)
        field(S3INITIATERESTOREOBJECT_DESCRIPTOR)
        field(S3PUTOBJECTACL_DESCRIPTOR)
        field(S3PUTOBJECTCOPY_DESCRIPTOR)
        field(S3PUTOBJECTLEGALHOLD_DESCRIPTOR)
        field(S3PUTOBJECTRETENTION_DESCRIPTOR)
        field(S3PUTOBJECTTAGGING_DESCRIPTOR)
        field(S3REPLICATEOBJECT_DESCRIPTOR)
    }

    serializer.serializeStruct(OBJ_DESCRIPTOR) {
        input.lambdaInvoke?.let { field(LAMBDAINVOKE_DESCRIPTOR, it, ::serializeLambdaInvokeOperationDocument) }
        input.s3DeleteObjectTagging?.let { field(S3DELETEOBJECTTAGGING_DESCRIPTOR, it, ::serializeS3DeleteObjectTaggingOperationDocument) }
        input.s3InitiateRestoreObject?.let { field(S3INITIATERESTOREOBJECT_DESCRIPTOR, it, ::serializeS3InitiateRestoreObjectOperationDocument) }
        input.s3PutObjectAcl?.let { field(S3PUTOBJECTACL_DESCRIPTOR, it, ::serializeS3SetObjectAclOperationDocument) }
        input.s3PutObjectCopy?.let { field(S3PUTOBJECTCOPY_DESCRIPTOR, it, ::serializeS3CopyObjectOperationDocument) }
        input.s3PutObjectLegalHold?.let { field(S3PUTOBJECTLEGALHOLD_DESCRIPTOR, it, ::serializeS3SetObjectLegalHoldOperationDocument) }
        input.s3PutObjectRetention?.let { field(S3PUTOBJECTRETENTION_DESCRIPTOR, it, ::serializeS3SetObjectRetentionOperationDocument) }
        input.s3PutObjectTagging?.let { field(S3PUTOBJECTTAGGING_DESCRIPTOR, it, ::serializeS3SetObjectTaggingOperationDocument) }
        input.s3ReplicateObject?.let { field(S3REPLICATEOBJECT_DESCRIPTOR, it, ::serializeS3ReplicateObjectOperationDocument) }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy