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

commonMain.aws.sdk.kotlin.services.appflow.model.DatadogConnectorProfileCredentials.kt Maven / Gradle / Ivy

The newest version!
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!

package aws.sdk.kotlin.services.appflow.model

import aws.smithy.kotlin.runtime.SdkDsl

/**
 * The connector-specific credentials required by Datadog.
 */
public class DatadogConnectorProfileCredentials private constructor(builder: Builder) {
    /**
     * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
     */
    public val apiKey: kotlin.String = requireNotNull(builder.apiKey) { "A non-null value must be provided for apiKey" }
    /**
     * Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
     */
    public val applicationKey: kotlin.String = requireNotNull(builder.applicationKey) { "A non-null value must be provided for applicationKey" }

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

    override fun toString(): kotlin.String = buildString {
        append("DatadogConnectorProfileCredentials(")
        append("apiKey=*** Sensitive Data Redacted ***,")
        append("applicationKey=$applicationKey")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = apiKey.hashCode()
        result = 31 * result + (applicationKey.hashCode())
        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 DatadogConnectorProfileCredentials

        if (apiKey != other.apiKey) return false
        if (applicationKey != other.applicationKey) return false

        return true
    }

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

    @SdkDsl
    public class Builder {
        /**
         * A unique alphanumeric identifier used to authenticate a user, developer, or calling program to your API.
         */
        public var apiKey: kotlin.String? = null
        /**
         * Application keys, in conjunction with your API key, give you full access to Datadog’s programmatic API. Application keys are associated with the user account that created them. The application key is used to log all requests made to the API.
         */
        public var applicationKey: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.appflow.model.DatadogConnectorProfileCredentials) : this() {
            this.apiKey = x.apiKey
            this.applicationKey = x.applicationKey
        }

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

        internal fun correctErrors(): Builder {
            if (apiKey == null) apiKey = ""
            if (applicationKey == null) applicationKey = ""
            return this
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy