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

commonMain.aws.sdk.kotlin.services.iam.model.GenerateOrganizationsAccessReportRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.iam.model



public class GenerateOrganizationsAccessReportRequest private constructor(builder: Builder) {
    /**
     * The path of the Organizations entity (root, OU, or account). You can build an entity path using the known structure of your organization. For example, assume that your account ID is `123456789012` and its parent OU ID is `ou-rge0-awsabcde`. The organization root ID is `r-f6g7h8i9j0example` and your organization ID is `o-a1b2c3d4e5`. Your entity path is `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012`.
     */
    public val entityPath: kotlin.String? = builder.entityPath
    /**
     * The identifier of the Organizations service control policy (SCP). This parameter is optional.
     *
     * This ID is used to generate information about when an account principal that is limited by the SCP attempted to access an Amazon Web Services service.
     */
    public val organizationsPolicyId: kotlin.String? = builder.organizationsPolicyId

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

    override fun toString(): kotlin.String = buildString {
        append("GenerateOrganizationsAccessReportRequest(")
        append("entityPath=$entityPath,")
        append("organizationsPolicyId=$organizationsPolicyId")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = entityPath?.hashCode() ?: 0
        result = 31 * result + (organizationsPolicyId?.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 GenerateOrganizationsAccessReportRequest

        if (entityPath != other.entityPath) return false
        if (organizationsPolicyId != other.organizationsPolicyId) return false

        return true
    }

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

    public class Builder {
        /**
         * The path of the Organizations entity (root, OU, or account). You can build an entity path using the known structure of your organization. For example, assume that your account ID is `123456789012` and its parent OU ID is `ou-rge0-awsabcde`. The organization root ID is `r-f6g7h8i9j0example` and your organization ID is `o-a1b2c3d4e5`. Your entity path is `o-a1b2c3d4e5/r-f6g7h8i9j0example/ou-rge0-awsabcde/123456789012`.
         */
        public var entityPath: kotlin.String? = null
        /**
         * The identifier of the Organizations service control policy (SCP). This parameter is optional.
         *
         * This ID is used to generate information about when an account principal that is limited by the SCP attempted to access an Amazon Web Services service.
         */
        public var organizationsPolicyId: kotlin.String? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.iam.model.GenerateOrganizationsAccessReportRequest) : this() {
            this.entityPath = x.entityPath
            this.organizationsPolicyId = x.organizationsPolicyId
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy