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

commonMain.aws.sdk.kotlin.services.wellarchitected.model.Workload.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.wellarchitected.model

import aws.smithy.kotlin.runtime.time.Instant

/**
 * A workload return object.
 */
public class Workload private constructor(builder: Builder) {
    /**
     * The list of Amazon Web Services account IDs associated with the workload.
     */
    public val accountIds: List? = builder.accountIds
    /**
     * List of AppRegistry application ARNs associated to the workload.
     */
    public val applications: List? = builder.applications
    /**
     * The URL of the architectural design for the workload.
     */
    public val architecturalDesign: kotlin.String? = builder.architecturalDesign
    /**
     * The list of Amazon Web Services Regions associated with the workload, for example, `us-east-2`, or `ca-central-1`.
     */
    public val awsRegions: List? = builder.awsRegions
    /**
     * The description for the workload.
     */
    public val description: kotlin.String? = builder.description
    /**
     * Discovery configuration associated to the workload.
     */
    public val discoveryConfig: aws.sdk.kotlin.services.wellarchitected.model.WorkloadDiscoveryConfig? = builder.discoveryConfig
    /**
     * The environment for the workload.
     */
    public val environment: aws.sdk.kotlin.services.wellarchitected.model.WorkloadEnvironment? = builder.environment
    /**
     * The improvement status for a workload.
     */
    public val improvementStatus: aws.sdk.kotlin.services.wellarchitected.model.WorkloadImprovementStatus? = builder.improvementStatus
    /**
     * The industry for the workload.
     */
    public val industry: kotlin.String? = builder.industry
    /**
     * The industry type for the workload.
     *
     * If specified, must be one of the following:
     * + `Agriculture`
     * + `Automobile`
     * + `Defense`
     * + `Design and Engineering`
     * + `Digital Advertising`
     * + `Education`
     * + `Environmental Protection`
     * + `Financial Services`
     * + `Gaming`
     * + `General Public Services`
     * + `Healthcare`
     * + `Hospitality`
     * + `InfoTech`
     * + `Justice and Public Safety`
     * + `Life Sciences`
     * + `Manufacturing`
     * + `Media & Entertainment`
     * + `Mining & Resources`
     * + `Oil & Gas`
     * + `Power & Utilities`
     * + `Professional Services`
     * + `Real Estate & Construction`
     * + `Retail & Wholesale`
     * + `Social Protection`
     * + `Telecommunications`
     * + `Travel, Transportation & Logistics`
     * + `Other`
     */
    public val industryType: kotlin.String? = builder.industryType
    /**
     * Flag indicating whether the workload owner has acknowledged that the *Review owner* field is required.
     *
     * If a **Review owner** is not added to the workload within 60 days of acknowledgement, access to the workload is restricted until an owner is added.
     */
    public val isReviewOwnerUpdateAcknowledged: kotlin.Boolean = builder.isReviewOwnerUpdateAcknowledged
    /**
     * The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.
     */
    public val lenses: List? = builder.lenses
    /**
     * The list of non-Amazon Web Services Regions associated with the workload.
     */
    public val nonAwsRegions: List? = builder.nonAwsRegions
    /**
     * The notes associated with the workload.
     */
    public val notes: kotlin.String? = builder.notes
    /**
     * An Amazon Web Services account ID.
     */
    public val owner: kotlin.String? = builder.owner
    /**
     * The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its PillarReviewSummary$PillarId.
     */
    public val pillarPriorities: List? = builder.pillarPriorities
    /**
     * A map from risk names to the count of how many questions have that rating.
     */
    public val prioritizedRiskCounts: Map? = builder.prioritizedRiskCounts
    /**
     * Profile associated with a workload.
     */
    public val profiles: List? = builder.profiles
    /**
     * The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.
     */
    public val reviewOwner: kotlin.String? = builder.reviewOwner
    /**
     * The date and time recorded.
     */
    public val reviewRestrictionDate: aws.smithy.kotlin.runtime.time.Instant? = builder.reviewRestrictionDate
    /**
     * A map from risk names to the count of how many questions have that rating.
     */
    public val riskCounts: Map? = builder.riskCounts
    /**
     * The ID assigned to the share invitation.
     */
    public val shareInvitationId: kotlin.String? = builder.shareInvitationId
    /**
     * The tags associated with the workload.
     */
    public val tags: Map? = builder.tags
    /**
     * The date and time recorded.
     */
    public val updatedAt: aws.smithy.kotlin.runtime.time.Instant? = builder.updatedAt
    /**
     * The ARN for the workload.
     */
    public val workloadArn: kotlin.String? = builder.workloadArn
    /**
     * The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.
     */
    public val workloadId: kotlin.String? = builder.workloadId
    /**
     * The name of the workload.
     *
     * The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.
     */
    public val workloadName: kotlin.String? = builder.workloadName

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

    override fun toString(): kotlin.String = buildString {
        append("Workload(")
        append("accountIds=$accountIds,")
        append("applications=$applications,")
        append("architecturalDesign=$architecturalDesign,")
        append("awsRegions=$awsRegions,")
        append("description=$description,")
        append("discoveryConfig=$discoveryConfig,")
        append("environment=$environment,")
        append("improvementStatus=$improvementStatus,")
        append("industry=$industry,")
        append("industryType=$industryType,")
        append("isReviewOwnerUpdateAcknowledged=$isReviewOwnerUpdateAcknowledged,")
        append("lenses=$lenses,")
        append("nonAwsRegions=$nonAwsRegions,")
        append("notes=$notes,")
        append("owner=$owner,")
        append("pillarPriorities=$pillarPriorities,")
        append("prioritizedRiskCounts=$prioritizedRiskCounts,")
        append("profiles=$profiles,")
        append("reviewOwner=$reviewOwner,")
        append("reviewRestrictionDate=$reviewRestrictionDate,")
        append("riskCounts=$riskCounts,")
        append("shareInvitationId=$shareInvitationId,")
        append("tags=$tags,")
        append("updatedAt=$updatedAt,")
        append("workloadArn=$workloadArn,")
        append("workloadId=$workloadId,")
        append("workloadName=$workloadName")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = accountIds?.hashCode() ?: 0
        result = 31 * result + (applications?.hashCode() ?: 0)
        result = 31 * result + (architecturalDesign?.hashCode() ?: 0)
        result = 31 * result + (awsRegions?.hashCode() ?: 0)
        result = 31 * result + (description?.hashCode() ?: 0)
        result = 31 * result + (discoveryConfig?.hashCode() ?: 0)
        result = 31 * result + (environment?.hashCode() ?: 0)
        result = 31 * result + (improvementStatus?.hashCode() ?: 0)
        result = 31 * result + (industry?.hashCode() ?: 0)
        result = 31 * result + (industryType?.hashCode() ?: 0)
        result = 31 * result + (isReviewOwnerUpdateAcknowledged.hashCode())
        result = 31 * result + (lenses?.hashCode() ?: 0)
        result = 31 * result + (nonAwsRegions?.hashCode() ?: 0)
        result = 31 * result + (notes?.hashCode() ?: 0)
        result = 31 * result + (owner?.hashCode() ?: 0)
        result = 31 * result + (pillarPriorities?.hashCode() ?: 0)
        result = 31 * result + (prioritizedRiskCounts?.hashCode() ?: 0)
        result = 31 * result + (profiles?.hashCode() ?: 0)
        result = 31 * result + (reviewOwner?.hashCode() ?: 0)
        result = 31 * result + (reviewRestrictionDate?.hashCode() ?: 0)
        result = 31 * result + (riskCounts?.hashCode() ?: 0)
        result = 31 * result + (shareInvitationId?.hashCode() ?: 0)
        result = 31 * result + (tags?.hashCode() ?: 0)
        result = 31 * result + (updatedAt?.hashCode() ?: 0)
        result = 31 * result + (workloadArn?.hashCode() ?: 0)
        result = 31 * result + (workloadId?.hashCode() ?: 0)
        result = 31 * result + (workloadName?.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 Workload

        if (accountIds != other.accountIds) return false
        if (applications != other.applications) return false
        if (architecturalDesign != other.architecturalDesign) return false
        if (awsRegions != other.awsRegions) return false
        if (description != other.description) return false
        if (discoveryConfig != other.discoveryConfig) return false
        if (environment != other.environment) return false
        if (improvementStatus != other.improvementStatus) return false
        if (industry != other.industry) return false
        if (industryType != other.industryType) return false
        if (isReviewOwnerUpdateAcknowledged != other.isReviewOwnerUpdateAcknowledged) return false
        if (lenses != other.lenses) return false
        if (nonAwsRegions != other.nonAwsRegions) return false
        if (notes != other.notes) return false
        if (owner != other.owner) return false
        if (pillarPriorities != other.pillarPriorities) return false
        if (prioritizedRiskCounts != other.prioritizedRiskCounts) return false
        if (profiles != other.profiles) return false
        if (reviewOwner != other.reviewOwner) return false
        if (reviewRestrictionDate != other.reviewRestrictionDate) return false
        if (riskCounts != other.riskCounts) return false
        if (shareInvitationId != other.shareInvitationId) return false
        if (tags != other.tags) return false
        if (updatedAt != other.updatedAt) return false
        if (workloadArn != other.workloadArn) return false
        if (workloadId != other.workloadId) return false
        if (workloadName != other.workloadName) return false

        return true
    }

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

    public class Builder {
        /**
         * The list of Amazon Web Services account IDs associated with the workload.
         */
        public var accountIds: List? = null
        /**
         * List of AppRegistry application ARNs associated to the workload.
         */
        public var applications: List? = null
        /**
         * The URL of the architectural design for the workload.
         */
        public var architecturalDesign: kotlin.String? = null
        /**
         * The list of Amazon Web Services Regions associated with the workload, for example, `us-east-2`, or `ca-central-1`.
         */
        public var awsRegions: List? = null
        /**
         * The description for the workload.
         */
        public var description: kotlin.String? = null
        /**
         * Discovery configuration associated to the workload.
         */
        public var discoveryConfig: aws.sdk.kotlin.services.wellarchitected.model.WorkloadDiscoveryConfig? = null
        /**
         * The environment for the workload.
         */
        public var environment: aws.sdk.kotlin.services.wellarchitected.model.WorkloadEnvironment? = null
        /**
         * The improvement status for a workload.
         */
        public var improvementStatus: aws.sdk.kotlin.services.wellarchitected.model.WorkloadImprovementStatus? = null
        /**
         * The industry for the workload.
         */
        public var industry: kotlin.String? = null
        /**
         * The industry type for the workload.
         *
         * If specified, must be one of the following:
         * + `Agriculture`
         * + `Automobile`
         * + `Defense`
         * + `Design and Engineering`
         * + `Digital Advertising`
         * + `Education`
         * + `Environmental Protection`
         * + `Financial Services`
         * + `Gaming`
         * + `General Public Services`
         * + `Healthcare`
         * + `Hospitality`
         * + `InfoTech`
         * + `Justice and Public Safety`
         * + `Life Sciences`
         * + `Manufacturing`
         * + `Media & Entertainment`
         * + `Mining & Resources`
         * + `Oil & Gas`
         * + `Power & Utilities`
         * + `Professional Services`
         * + `Real Estate & Construction`
         * + `Retail & Wholesale`
         * + `Social Protection`
         * + `Telecommunications`
         * + `Travel, Transportation & Logistics`
         * + `Other`
         */
        public var industryType: kotlin.String? = null
        /**
         * Flag indicating whether the workload owner has acknowledged that the *Review owner* field is required.
         *
         * If a **Review owner** is not added to the workload within 60 days of acknowledgement, access to the workload is restricted until an owner is added.
         */
        public var isReviewOwnerUpdateAcknowledged: kotlin.Boolean = false
        /**
         * The list of lenses associated with the workload. Each lens is identified by its LensSummary$LensAlias.
         */
        public var lenses: List? = null
        /**
         * The list of non-Amazon Web Services Regions associated with the workload.
         */
        public var nonAwsRegions: List? = null
        /**
         * The notes associated with the workload.
         */
        public var notes: kotlin.String? = null
        /**
         * An Amazon Web Services account ID.
         */
        public var owner: kotlin.String? = null
        /**
         * The priorities of the pillars, which are used to order items in the improvement plan. Each pillar is represented by its PillarReviewSummary$PillarId.
         */
        public var pillarPriorities: List? = null
        /**
         * A map from risk names to the count of how many questions have that rating.
         */
        public var prioritizedRiskCounts: Map? = null
        /**
         * Profile associated with a workload.
         */
        public var profiles: List? = null
        /**
         * The review owner of the workload. The name, email address, or identifier for the primary group or individual that owns the workload review process.
         */
        public var reviewOwner: kotlin.String? = null
        /**
         * The date and time recorded.
         */
        public var reviewRestrictionDate: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * A map from risk names to the count of how many questions have that rating.
         */
        public var riskCounts: Map? = null
        /**
         * The ID assigned to the share invitation.
         */
        public var shareInvitationId: kotlin.String? = null
        /**
         * The tags associated with the workload.
         */
        public var tags: Map? = null
        /**
         * The date and time recorded.
         */
        public var updatedAt: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The ARN for the workload.
         */
        public var workloadArn: kotlin.String? = null
        /**
         * The ID assigned to the workload. This ID is unique within an Amazon Web Services Region.
         */
        public var workloadId: kotlin.String? = null
        /**
         * The name of the workload.
         *
         * The name must be unique within an account within an Amazon Web Services Region. Spaces and capitalization are ignored when checking for uniqueness.
         */
        public var workloadName: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.wellarchitected.model.Workload) : this() {
            this.accountIds = x.accountIds
            this.applications = x.applications
            this.architecturalDesign = x.architecturalDesign
            this.awsRegions = x.awsRegions
            this.description = x.description
            this.discoveryConfig = x.discoveryConfig
            this.environment = x.environment
            this.improvementStatus = x.improvementStatus
            this.industry = x.industry
            this.industryType = x.industryType
            this.isReviewOwnerUpdateAcknowledged = x.isReviewOwnerUpdateAcknowledged
            this.lenses = x.lenses
            this.nonAwsRegions = x.nonAwsRegions
            this.notes = x.notes
            this.owner = x.owner
            this.pillarPriorities = x.pillarPriorities
            this.prioritizedRiskCounts = x.prioritizedRiskCounts
            this.profiles = x.profiles
            this.reviewOwner = x.reviewOwner
            this.reviewRestrictionDate = x.reviewRestrictionDate
            this.riskCounts = x.riskCounts
            this.shareInvitationId = x.shareInvitationId
            this.tags = x.tags
            this.updatedAt = x.updatedAt
            this.workloadArn = x.workloadArn
            this.workloadId = x.workloadId
            this.workloadName = x.workloadName
        }

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

        /**
         * construct an [aws.sdk.kotlin.services.wellarchitected.model.WorkloadDiscoveryConfig] inside the given [block]
         */
        public fun discoveryConfig(block: aws.sdk.kotlin.services.wellarchitected.model.WorkloadDiscoveryConfig.Builder.() -> kotlin.Unit) {
            this.discoveryConfig = aws.sdk.kotlin.services.wellarchitected.model.WorkloadDiscoveryConfig.invoke(block)
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy