commonMain.aws.sdk.kotlin.services.datasync.model.CreateLocationAzureBlobRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.datasync.model
import aws.smithy.kotlin.runtime.SdkDsl
public class CreateLocationAzureBlobRequest private constructor(builder: Builder) {
/**
* Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see [Access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers).
*/
public val accessTier: aws.sdk.kotlin.services.datasync.model.AzureAccessTier? = builder.accessTier
/**
* Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
*
* You can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html).
*/
public val agentArns: List? = builder.agentArns
/**
* Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).
*/
public val authenticationType: aws.sdk.kotlin.services.datasync.model.AzureBlobAuthenticationType? = builder.authenticationType
/**
* Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the [Azure Blob Storage documentation](https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs).
*/
public val blobType: aws.sdk.kotlin.services.datasync.model.AzureBlobType? = builder.blobType
/**
* Specifies the URL of the Azure Blob Storage container involved in your transfer.
*/
public val containerUrl: kotlin.String? = builder.containerUrl
/**
* Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
*/
public val sasConfiguration: aws.sdk.kotlin.services.datasync.model.AzureBlobSasConfiguration? = builder.sasConfiguration
/**
* Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images`).
*/
public val subdirectory: kotlin.String? = builder.subdirectory
/**
* Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.
*/
public val tags: List? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.datasync.model.CreateLocationAzureBlobRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("CreateLocationAzureBlobRequest(")
append("accessTier=$accessTier,")
append("agentArns=$agentArns,")
append("authenticationType=$authenticationType,")
append("blobType=$blobType,")
append("containerUrl=$containerUrl,")
append("sasConfiguration=$sasConfiguration,")
append("subdirectory=$subdirectory,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = accessTier?.hashCode() ?: 0
result = 31 * result + (agentArns?.hashCode() ?: 0)
result = 31 * result + (authenticationType?.hashCode() ?: 0)
result = 31 * result + (blobType?.hashCode() ?: 0)
result = 31 * result + (containerUrl?.hashCode() ?: 0)
result = 31 * result + (sasConfiguration?.hashCode() ?: 0)
result = 31 * result + (subdirectory?.hashCode() ?: 0)
result = 31 * result + (tags?.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 CreateLocationAzureBlobRequest
if (accessTier != other.accessTier) return false
if (agentArns != other.agentArns) return false
if (authenticationType != other.authenticationType) return false
if (blobType != other.blobType) return false
if (containerUrl != other.containerUrl) return false
if (sasConfiguration != other.sasConfiguration) return false
if (subdirectory != other.subdirectory) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.datasync.model.CreateLocationAzureBlobRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* Specifies the access tier that you want your objects or files transferred into. This only applies when using the location as a transfer destination. For more information, see [Access tiers](https://docs.aws.amazon.com/datasync/latest/userguide/creating-azure-blob-location.html#azure-blob-access-tiers).
*/
public var accessTier: aws.sdk.kotlin.services.datasync.model.AzureAccessTier? = null
/**
* Specifies the Amazon Resource Name (ARN) of the DataSync agent that can connect with your Azure Blob Storage container.
*
* You can specify more than one agent. For more information, see [Using multiple agents for your transfer](https://docs.aws.amazon.com/datasync/latest/userguide/multiple-agents.html).
*/
public var agentArns: List? = null
/**
* Specifies the authentication method DataSync uses to access your Azure Blob Storage. DataSync can access blob storage using a shared access signature (SAS).
*/
public var authenticationType: aws.sdk.kotlin.services.datasync.model.AzureBlobAuthenticationType? = null
/**
* Specifies the type of blob that you want your objects or files to be when transferring them into Azure Blob Storage. Currently, DataSync only supports moving data into Azure Blob Storage as block blobs. For more information on blob types, see the [Azure Blob Storage documentation](https://learn.microsoft.com/en-us/rest/api/storageservices/understanding-block-blobs--append-blobs--and-page-blobs).
*/
public var blobType: aws.sdk.kotlin.services.datasync.model.AzureBlobType? = null
/**
* Specifies the URL of the Azure Blob Storage container involved in your transfer.
*/
public var containerUrl: kotlin.String? = null
/**
* Specifies the SAS configuration that allows DataSync to access your Azure Blob Storage.
*/
public var sasConfiguration: aws.sdk.kotlin.services.datasync.model.AzureBlobSasConfiguration? = null
/**
* Specifies path segments if you want to limit your transfer to a virtual directory in your container (for example, `/my/images`).
*/
public var subdirectory: kotlin.String? = null
/**
* Specifies labels that help you categorize, filter, and search for your Amazon Web Services resources. We recommend creating at least a name tag for your transfer location.
*/
public var tags: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.datasync.model.CreateLocationAzureBlobRequest) : this() {
this.accessTier = x.accessTier
this.agentArns = x.agentArns
this.authenticationType = x.authenticationType
this.blobType = x.blobType
this.containerUrl = x.containerUrl
this.sasConfiguration = x.sasConfiguration
this.subdirectory = x.subdirectory
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.datasync.model.CreateLocationAzureBlobRequest = CreateLocationAzureBlobRequest(this)
/**
* construct an [aws.sdk.kotlin.services.datasync.model.AzureBlobSasConfiguration] inside the given [block]
*/
public fun sasConfiguration(block: aws.sdk.kotlin.services.datasync.model.AzureBlobSasConfiguration.Builder.() -> kotlin.Unit) {
this.sasConfiguration = aws.sdk.kotlin.services.datasync.model.AzureBlobSasConfiguration.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy