commonMain.aws.sdk.kotlin.services.budgets.model.Definition.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of budgets-jvm Show documentation
Show all versions of budgets-jvm Show documentation
The AWS SDK for Kotlin client for Budgets
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.budgets.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Specifies all of the type-specific parameters.
*/
public class Definition private constructor(builder: Builder) {
/**
* The Identity and Access Management (IAM) action definition details.
*/
public val iamActionDefinition: aws.sdk.kotlin.services.budgets.model.IamActionDefinition? = builder.iamActionDefinition
/**
* The service control policies (SCPs) action definition details.
*/
public val scpActionDefinition: aws.sdk.kotlin.services.budgets.model.ScpActionDefinition? = builder.scpActionDefinition
/**
* The Amazon Web Services Systems Manager (SSM) action definition details.
*/
public val ssmActionDefinition: aws.sdk.kotlin.services.budgets.model.SsmActionDefinition? = builder.ssmActionDefinition
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.budgets.model.Definition = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Definition(")
append("iamActionDefinition=$iamActionDefinition,")
append("scpActionDefinition=$scpActionDefinition,")
append("ssmActionDefinition=$ssmActionDefinition")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = iamActionDefinition?.hashCode() ?: 0
result = 31 * result + (scpActionDefinition?.hashCode() ?: 0)
result = 31 * result + (ssmActionDefinition?.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 Definition
if (iamActionDefinition != other.iamActionDefinition) return false
if (scpActionDefinition != other.scpActionDefinition) return false
if (ssmActionDefinition != other.ssmActionDefinition) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.budgets.model.Definition = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The Identity and Access Management (IAM) action definition details.
*/
public var iamActionDefinition: aws.sdk.kotlin.services.budgets.model.IamActionDefinition? = null
/**
* The service control policies (SCPs) action definition details.
*/
public var scpActionDefinition: aws.sdk.kotlin.services.budgets.model.ScpActionDefinition? = null
/**
* The Amazon Web Services Systems Manager (SSM) action definition details.
*/
public var ssmActionDefinition: aws.sdk.kotlin.services.budgets.model.SsmActionDefinition? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.budgets.model.Definition) : this() {
this.iamActionDefinition = x.iamActionDefinition
this.scpActionDefinition = x.scpActionDefinition
this.ssmActionDefinition = x.ssmActionDefinition
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.budgets.model.Definition = Definition(this)
/**
* construct an [aws.sdk.kotlin.services.budgets.model.IamActionDefinition] inside the given [block]
*/
public fun iamActionDefinition(block: aws.sdk.kotlin.services.budgets.model.IamActionDefinition.Builder.() -> kotlin.Unit) {
this.iamActionDefinition = aws.sdk.kotlin.services.budgets.model.IamActionDefinition.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.budgets.model.ScpActionDefinition] inside the given [block]
*/
public fun scpActionDefinition(block: aws.sdk.kotlin.services.budgets.model.ScpActionDefinition.Builder.() -> kotlin.Unit) {
this.scpActionDefinition = aws.sdk.kotlin.services.budgets.model.ScpActionDefinition.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.budgets.model.SsmActionDefinition] inside the given [block]
*/
public fun ssmActionDefinition(block: aws.sdk.kotlin.services.budgets.model.SsmActionDefinition.Builder.() -> kotlin.Unit) {
this.ssmActionDefinition = aws.sdk.kotlin.services.budgets.model.SsmActionDefinition.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}