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

commonMain.aws.sdk.kotlin.services.dataexchange.model.RequestDetails.kt Maven / Gradle / Ivy

There is a newer version: 1.3.32
Show newest version
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.dataexchange.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The details for the request.
 */
public class RequestDetails private constructor(builder: Builder) {
    /**
     * Details of the request to create S3 data access from the Amazon S3 bucket.
     */
    public val createS3DataAccessFromS3Bucket: aws.sdk.kotlin.services.dataexchange.model.CreateS3DataAccessFromS3BucketRequestDetails? = builder.createS3DataAccessFromS3Bucket
    /**
     * Details about the export to signed URL request.
     */
    public val exportAssetToSignedUrl: aws.sdk.kotlin.services.dataexchange.model.ExportAssetToSignedUrlRequestDetails? = builder.exportAssetToSignedUrl
    /**
     * Details about the export to Amazon S3 request.
     */
    public val exportAssetsToS3: aws.sdk.kotlin.services.dataexchange.model.ExportAssetsToS3RequestDetails? = builder.exportAssetsToS3
    /**
     * Details about the export to Amazon S3 request.
     */
    public val exportRevisionsToS3: aws.sdk.kotlin.services.dataexchange.model.ExportRevisionsToS3RequestDetails? = builder.exportRevisionsToS3
    /**
     * Details about the import from signed URL request.
     */
    public val importAssetFromApiGatewayApi: aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromApiGatewayApiRequestDetails? = builder.importAssetFromApiGatewayApi
    /**
     * Details about the import from Amazon S3 request.
     */
    public val importAssetFromSignedUrl: aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromSignedUrlRequestDetails? = builder.importAssetFromSignedUrl
    /**
     * Request details for the ImportAssetsFromLakeFormationTagPolicy job.
     */
    public val importAssetsFromLakeFormationTagPolicy: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromLakeFormationTagPolicyRequestDetails? = builder.importAssetsFromLakeFormationTagPolicy
    /**
     * Details from an import from Amazon Redshift datashare request.
     */
    public val importAssetsFromRedshiftDataShares: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromRedshiftDataSharesRequestDetails? = builder.importAssetsFromRedshiftDataShares
    /**
     * Details about the import asset from API Gateway API request.
     */
    public val importAssetsFromS3: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromS3RequestDetails? = builder.importAssetsFromS3

    public companion object {
        public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.dataexchange.model.RequestDetails = Builder().apply(block).build()
    }

    override fun toString(): kotlin.String = buildString {
        append("RequestDetails(")
        append("createS3DataAccessFromS3Bucket=$createS3DataAccessFromS3Bucket,")
        append("exportAssetToSignedUrl=$exportAssetToSignedUrl,")
        append("exportAssetsToS3=$exportAssetsToS3,")
        append("exportRevisionsToS3=$exportRevisionsToS3,")
        append("importAssetFromApiGatewayApi=$importAssetFromApiGatewayApi,")
        append("importAssetFromSignedUrl=$importAssetFromSignedUrl,")
        append("importAssetsFromLakeFormationTagPolicy=$importAssetsFromLakeFormationTagPolicy,")
        append("importAssetsFromRedshiftDataShares=$importAssetsFromRedshiftDataShares,")
        append("importAssetsFromS3=$importAssetsFromS3")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = createS3DataAccessFromS3Bucket?.hashCode() ?: 0
        result = 31 * result + (exportAssetToSignedUrl?.hashCode() ?: 0)
        result = 31 * result + (exportAssetsToS3?.hashCode() ?: 0)
        result = 31 * result + (exportRevisionsToS3?.hashCode() ?: 0)
        result = 31 * result + (importAssetFromApiGatewayApi?.hashCode() ?: 0)
        result = 31 * result + (importAssetFromSignedUrl?.hashCode() ?: 0)
        result = 31 * result + (importAssetsFromLakeFormationTagPolicy?.hashCode() ?: 0)
        result = 31 * result + (importAssetsFromRedshiftDataShares?.hashCode() ?: 0)
        result = 31 * result + (importAssetsFromS3?.hashCode() ?: 0)
        return result
    }

    override fun equals(other: kotlin.Any?): kotlin.Boolean {
        if (this === other) return true
        if (other == null || this::class != other::class) return false

        other as RequestDetails

        if (createS3DataAccessFromS3Bucket != other.createS3DataAccessFromS3Bucket) return false
        if (exportAssetToSignedUrl != other.exportAssetToSignedUrl) return false
        if (exportAssetsToS3 != other.exportAssetsToS3) return false
        if (exportRevisionsToS3 != other.exportRevisionsToS3) return false
        if (importAssetFromApiGatewayApi != other.importAssetFromApiGatewayApi) return false
        if (importAssetFromSignedUrl != other.importAssetFromSignedUrl) return false
        if (importAssetsFromLakeFormationTagPolicy != other.importAssetsFromLakeFormationTagPolicy) return false
        if (importAssetsFromRedshiftDataShares != other.importAssetsFromRedshiftDataShares) return false
        if (importAssetsFromS3 != other.importAssetsFromS3) return false

        return true
    }

    public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.dataexchange.model.RequestDetails = Builder(this).apply(block).build()

    @SdkDsl
    public class Builder {
        /**
         * Details of the request to create S3 data access from the Amazon S3 bucket.
         */
        public var createS3DataAccessFromS3Bucket: aws.sdk.kotlin.services.dataexchange.model.CreateS3DataAccessFromS3BucketRequestDetails? = null
        /**
         * Details about the export to signed URL request.
         */
        public var exportAssetToSignedUrl: aws.sdk.kotlin.services.dataexchange.model.ExportAssetToSignedUrlRequestDetails? = null
        /**
         * Details about the export to Amazon S3 request.
         */
        public var exportAssetsToS3: aws.sdk.kotlin.services.dataexchange.model.ExportAssetsToS3RequestDetails? = null
        /**
         * Details about the export to Amazon S3 request.
         */
        public var exportRevisionsToS3: aws.sdk.kotlin.services.dataexchange.model.ExportRevisionsToS3RequestDetails? = null
        /**
         * Details about the import from signed URL request.
         */
        public var importAssetFromApiGatewayApi: aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromApiGatewayApiRequestDetails? = null
        /**
         * Details about the import from Amazon S3 request.
         */
        public var importAssetFromSignedUrl: aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromSignedUrlRequestDetails? = null
        /**
         * Request details for the ImportAssetsFromLakeFormationTagPolicy job.
         */
        public var importAssetsFromLakeFormationTagPolicy: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromLakeFormationTagPolicyRequestDetails? = null
        /**
         * Details from an import from Amazon Redshift datashare request.
         */
        public var importAssetsFromRedshiftDataShares: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromRedshiftDataSharesRequestDetails? = null
        /**
         * Details about the import asset from API Gateway API request.
         */
        public var importAssetsFromS3: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromS3RequestDetails? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.dataexchange.model.RequestDetails) : this() {
            this.createS3DataAccessFromS3Bucket = x.createS3DataAccessFromS3Bucket
            this.exportAssetToSignedUrl = x.exportAssetToSignedUrl
            this.exportAssetsToS3 = x.exportAssetsToS3
            this.exportRevisionsToS3 = x.exportRevisionsToS3
            this.importAssetFromApiGatewayApi = x.importAssetFromApiGatewayApi
            this.importAssetFromSignedUrl = x.importAssetFromSignedUrl
            this.importAssetsFromLakeFormationTagPolicy = x.importAssetsFromLakeFormationTagPolicy
            this.importAssetsFromRedshiftDataShares = x.importAssetsFromRedshiftDataShares
            this.importAssetsFromS3 = x.importAssetsFromS3
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.dataexchange.model.RequestDetails = RequestDetails(this)

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.CreateS3DataAccessFromS3BucketRequestDetails] inside the given [block]
         */
        public fun createS3DataAccessFromS3Bucket(block: aws.sdk.kotlin.services.dataexchange.model.CreateS3DataAccessFromS3BucketRequestDetails.Builder.() -> kotlin.Unit) {
            this.createS3DataAccessFromS3Bucket = aws.sdk.kotlin.services.dataexchange.model.CreateS3DataAccessFromS3BucketRequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ExportAssetToSignedUrlRequestDetails] inside the given [block]
         */
        public fun exportAssetToSignedUrl(block: aws.sdk.kotlin.services.dataexchange.model.ExportAssetToSignedUrlRequestDetails.Builder.() -> kotlin.Unit) {
            this.exportAssetToSignedUrl = aws.sdk.kotlin.services.dataexchange.model.ExportAssetToSignedUrlRequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ExportAssetsToS3RequestDetails] inside the given [block]
         */
        public fun exportAssetsToS3(block: aws.sdk.kotlin.services.dataexchange.model.ExportAssetsToS3RequestDetails.Builder.() -> kotlin.Unit) {
            this.exportAssetsToS3 = aws.sdk.kotlin.services.dataexchange.model.ExportAssetsToS3RequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ExportRevisionsToS3RequestDetails] inside the given [block]
         */
        public fun exportRevisionsToS3(block: aws.sdk.kotlin.services.dataexchange.model.ExportRevisionsToS3RequestDetails.Builder.() -> kotlin.Unit) {
            this.exportRevisionsToS3 = aws.sdk.kotlin.services.dataexchange.model.ExportRevisionsToS3RequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromApiGatewayApiRequestDetails] inside the given [block]
         */
        public fun importAssetFromApiGatewayApi(block: aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromApiGatewayApiRequestDetails.Builder.() -> kotlin.Unit) {
            this.importAssetFromApiGatewayApi = aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromApiGatewayApiRequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromSignedUrlRequestDetails] inside the given [block]
         */
        public fun importAssetFromSignedUrl(block: aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromSignedUrlRequestDetails.Builder.() -> kotlin.Unit) {
            this.importAssetFromSignedUrl = aws.sdk.kotlin.services.dataexchange.model.ImportAssetFromSignedUrlRequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromLakeFormationTagPolicyRequestDetails] inside the given [block]
         */
        public fun importAssetsFromLakeFormationTagPolicy(block: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromLakeFormationTagPolicyRequestDetails.Builder.() -> kotlin.Unit) {
            this.importAssetsFromLakeFormationTagPolicy = aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromLakeFormationTagPolicyRequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromRedshiftDataSharesRequestDetails] inside the given [block]
         */
        public fun importAssetsFromRedshiftDataShares(block: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromRedshiftDataSharesRequestDetails.Builder.() -> kotlin.Unit) {
            this.importAssetsFromRedshiftDataShares = aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromRedshiftDataSharesRequestDetails.invoke(block)
        }

        /**
         * construct an [aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromS3RequestDetails] inside the given [block]
         */
        public fun importAssetsFromS3(block: aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromS3RequestDetails.Builder.() -> kotlin.Unit) {
            this.importAssetsFromS3 = aws.sdk.kotlin.services.dataexchange.model.ImportAssetsFromS3RequestDetails.invoke(block)
        }

        internal fun correctErrors(): Builder {
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy