commonMain.aws.sdk.kotlin.services.backup.model.PutBackupVaultAccessPolicyRequest.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.backup.model
import aws.smithy.kotlin.runtime.SdkDsl
public class PutBackupVaultAccessPolicyRequest private constructor(builder: Builder) {
/**
* The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.
*/
public val backupVaultName: kotlin.String? = builder.backupVaultName
/**
* The backup vault access policy document in JSON format.
*/
public val policy: kotlin.String? = builder.policy
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.backup.model.PutBackupVaultAccessPolicyRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("PutBackupVaultAccessPolicyRequest(")
append("backupVaultName=$backupVaultName,")
append("policy=$policy")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = backupVaultName?.hashCode() ?: 0
result = 31 * result + (policy?.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 PutBackupVaultAccessPolicyRequest
if (backupVaultName != other.backupVaultName) return false
if (policy != other.policy) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.backup.model.PutBackupVaultAccessPolicyRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The name of a logical container where backups are stored. Backup vaults are identified by names that are unique to the account used to create them and the Amazon Web Services Region where they are created. They consist of lowercase letters, numbers, and hyphens.
*/
public var backupVaultName: kotlin.String? = null
/**
* The backup vault access policy document in JSON format.
*/
public var policy: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.backup.model.PutBackupVaultAccessPolicyRequest) : this() {
this.backupVaultName = x.backupVaultName
this.policy = x.policy
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.backup.model.PutBackupVaultAccessPolicyRequest = PutBackupVaultAccessPolicyRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}