commonMain.aws.sdk.kotlin.services.codeartifact.model.PutRepositoryPermissionsPolicyRequest.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of codeartifact-jvm Show documentation
Show all versions of codeartifact-jvm Show documentation
The AWS SDK for Kotlin client for codeartifact
The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.codeartifact.model
import aws.smithy.kotlin.runtime.SdkDsl
public class PutRepositoryPermissionsPolicyRequest private constructor(builder: Builder) {
/**
* The name of the domain containing the repository to set the resource policy on.
*/
public val domain: kotlin.String? = builder.domain
/**
* The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
*/
public val domainOwner: kotlin.String? = builder.domainOwner
/**
* A valid displayable JSON Aspen policy string to be set as the access control resource policy on the provided repository.
*/
public val policyDocument: kotlin.String? = builder.policyDocument
/**
* Sets the revision of the resource policy that specifies permissions to access the repository. This revision is used for optimistic locking, which prevents others from overwriting your changes to the repository's resource policy.
*/
public val policyRevision: kotlin.String? = builder.policyRevision
/**
* The name of the repository to set the resource policy on.
*/
public val repository: kotlin.String? = builder.repository
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.codeartifact.model.PutRepositoryPermissionsPolicyRequest = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("PutRepositoryPermissionsPolicyRequest(")
append("domain=$domain,")
append("domainOwner=$domainOwner,")
append("policyDocument=$policyDocument,")
append("policyRevision=$policyRevision,")
append("repository=$repository")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = domain?.hashCode() ?: 0
result = 31 * result + (domainOwner?.hashCode() ?: 0)
result = 31 * result + (policyDocument?.hashCode() ?: 0)
result = 31 * result + (policyRevision?.hashCode() ?: 0)
result = 31 * result + (repository?.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 PutRepositoryPermissionsPolicyRequest
if (domain != other.domain) return false
if (domainOwner != other.domainOwner) return false
if (policyDocument != other.policyDocument) return false
if (policyRevision != other.policyRevision) return false
if (repository != other.repository) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.codeartifact.model.PutRepositoryPermissionsPolicyRequest = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The name of the domain containing the repository to set the resource policy on.
*/
public var domain: kotlin.String? = null
/**
* The 12-digit account number of the Amazon Web Services account that owns the domain. It does not include dashes or spaces.
*/
public var domainOwner: kotlin.String? = null
/**
* A valid displayable JSON Aspen policy string to be set as the access control resource policy on the provided repository.
*/
public var policyDocument: kotlin.String? = null
/**
* Sets the revision of the resource policy that specifies permissions to access the repository. This revision is used for optimistic locking, which prevents others from overwriting your changes to the repository's resource policy.
*/
public var policyRevision: kotlin.String? = null
/**
* The name of the repository to set the resource policy on.
*/
public var repository: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.codeartifact.model.PutRepositoryPermissionsPolicyRequest) : this() {
this.domain = x.domain
this.domainOwner = x.domainOwner
this.policyDocument = x.policyDocument
this.policyRevision = x.policyRevision
this.repository = x.repository
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.codeartifact.model.PutRepositoryPermissionsPolicyRequest = PutRepositoryPermissionsPolicyRequest(this)
internal fun correctErrors(): Builder {
return this
}
}
}