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

commonMain.aws.sdk.kotlin.services.deadline.model.CreateMonitorRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.deadline.model

import aws.smithy.kotlin.runtime.SdkDsl

public class CreateMonitorRequest private constructor(builder: Builder) {
    /**
     * The unique token which the server uses to recognize retries of the same request.
     */
    public val clientToken: kotlin.String? = builder.clientToken
    /**
     * The name that you give the monitor that is displayed in the Deadline Cloud console.
     *
     * This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.
     */
    public val displayName: kotlin.String? = builder.displayName
    /**
     * The Amazon Resource Name (ARN) of the IAM Identity Center instance that authenticates monitor users.
     */
    public val identityCenterInstanceArn: kotlin.String? = builder.identityCenterInstanceArn
    /**
     * The Amazon Resource Name (ARN) of the IAM role that the monitor uses to connect to Deadline Cloud. Every user that signs in to the monitor using IAM Identity Center uses this role to access Deadline Cloud resources.
     */
    public val roleArn: kotlin.String? = builder.roleArn
    /**
     * The subdomain to use when creating the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.
     */
    public val subdomain: kotlin.String? = builder.subdomain

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

    override fun toString(): kotlin.String = buildString {
        append("CreateMonitorRequest(")
        append("clientToken=$clientToken,")
        append("displayName=$displayName,")
        append("identityCenterInstanceArn=$identityCenterInstanceArn,")
        append("roleArn=$roleArn,")
        append("subdomain=$subdomain")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = clientToken?.hashCode() ?: 0
        result = 31 * result + (displayName?.hashCode() ?: 0)
        result = 31 * result + (identityCenterInstanceArn?.hashCode() ?: 0)
        result = 31 * result + (roleArn?.hashCode() ?: 0)
        result = 31 * result + (subdomain?.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 CreateMonitorRequest

        if (clientToken != other.clientToken) return false
        if (displayName != other.displayName) return false
        if (identityCenterInstanceArn != other.identityCenterInstanceArn) return false
        if (roleArn != other.roleArn) return false
        if (subdomain != other.subdomain) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * The unique token which the server uses to recognize retries of the same request.
         */
        public var clientToken: kotlin.String? = null
        /**
         * The name that you give the monitor that is displayed in the Deadline Cloud console.
         *
         * This field can store any content. Escape or encode this content before displaying it on a webpage or any other system that might interpret the content of this field.
         */
        public var displayName: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the IAM Identity Center instance that authenticates monitor users.
         */
        public var identityCenterInstanceArn: kotlin.String? = null
        /**
         * The Amazon Resource Name (ARN) of the IAM role that the monitor uses to connect to Deadline Cloud. Every user that signs in to the monitor using IAM Identity Center uses this role to access Deadline Cloud resources.
         */
        public var roleArn: kotlin.String? = null
        /**
         * The subdomain to use when creating the monitor URL. The full URL of the monitor is subdomain.Region.deadlinecloud.amazonaws.com.
         */
        public var subdomain: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.deadline.model.CreateMonitorRequest) : this() {
            this.clientToken = x.clientToken
            this.displayName = x.displayName
            this.identityCenterInstanceArn = x.identityCenterInstanceArn
            this.roleArn = x.roleArn
            this.subdomain = x.subdomain
        }

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

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




© 2015 - 2024 Weber Informatics LLC | Privacy Policy