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

commonMain.aws.sdk.kotlin.services.fms.model.ResourceSetSummary.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.fms.model

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

/**
 * Summarizes the resource sets used in a policy.
 */
public class ResourceSetSummary private constructor(builder: Builder) {
    /**
     * A description of the resource set.
     */
    public val description: kotlin.String? = builder.description
    /**
     * A unique identifier for the resource set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.
     */
    public val id: kotlin.String? = builder.id
    /**
     * The last time that the resource set was changed.
     */
    public val lastUpdateTime: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdateTime
    /**
     * The descriptive name of the resource set. You can't change the name of a resource set after you create it.
     */
    public val name: kotlin.String? = builder.name
    /**
     * Indicates whether the resource set is in or out of an admin's Region scope.
     * + `ACTIVE` - The administrator can manage and delete the resource set.
     * + `OUT_OF_ADMIN_SCOPE` - The administrator can view the resource set, but they can't edit or delete the resource set. Existing protections stay in place. Any new resource that come into scope of the resource set won't be protected.
     */
    public val resourceSetStatus: aws.sdk.kotlin.services.fms.model.ResourceSetStatus? = builder.resourceSetStatus

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

    override fun toString(): kotlin.String = buildString {
        append("ResourceSetSummary(")
        append("description=$description,")
        append("id=$id,")
        append("lastUpdateTime=$lastUpdateTime,")
        append("name=$name,")
        append("resourceSetStatus=$resourceSetStatus")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = description?.hashCode() ?: 0
        result = 31 * result + (id?.hashCode() ?: 0)
        result = 31 * result + (lastUpdateTime?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (resourceSetStatus?.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 ResourceSetSummary

        if (description != other.description) return false
        if (id != other.id) return false
        if (lastUpdateTime != other.lastUpdateTime) return false
        if (name != other.name) return false
        if (resourceSetStatus != other.resourceSetStatus) return false

        return true
    }

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

    public class Builder {
        /**
         * A description of the resource set.
         */
        public var description: kotlin.String? = null
        /**
         * A unique identifier for the resource set. This ID is returned in the responses to create and list commands. You provide it to operations like update and delete.
         */
        public var id: kotlin.String? = null
        /**
         * The last time that the resource set was changed.
         */
        public var lastUpdateTime: aws.smithy.kotlin.runtime.time.Instant? = null
        /**
         * The descriptive name of the resource set. You can't change the name of a resource set after you create it.
         */
        public var name: kotlin.String? = null
        /**
         * Indicates whether the resource set is in or out of an admin's Region scope.
         * + `ACTIVE` - The administrator can manage and delete the resource set.
         * + `OUT_OF_ADMIN_SCOPE` - The administrator can view the resource set, but they can't edit or delete the resource set. Existing protections stay in place. Any new resource that come into scope of the resource set won't be protected.
         */
        public var resourceSetStatus: aws.sdk.kotlin.services.fms.model.ResourceSetStatus? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.fms.model.ResourceSetSummary) : this() {
            this.description = x.description
            this.id = x.id
            this.lastUpdateTime = x.lastUpdateTime
            this.name = x.name
            this.resourceSetStatus = x.resourceSetStatus
        }

        @PublishedApi
        internal fun build(): aws.sdk.kotlin.services.fms.model.ResourceSetSummary = ResourceSetSummary(this)
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy