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

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

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

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



/**
 * Defines the Organizations organizational units (OUs) that the specified Firewall Manager administrator can apply policies to. For more information about OUs in Organizations, see [Managing organizational units (OUs) ](https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_ous.html) in the *Organizations User Guide*.
 */
public class OrganizationalUnitScope private constructor(builder: Builder) {
    /**
     * A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in `OrganizationalUnitScope$OrganizationalUnits`. You cannot specify both.
     */
    public val allOrganizationalUnitsEnabled: kotlin.Boolean = builder.allOrganizationalUnitsEnabled
    /**
     * A boolean value that excludes the OUs in `OrganizationalUnitScope$OrganizationalUnits` from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in `OrganizationalUnitScope$OrganizationalUnits`. You can either specify a list of OUs to exclude by `OrganizationalUnitScope$OrganizationalUnits`, or you can enable management of all OUs by `OrganizationalUnitScope$AllOrganizationalUnitsEnabled`. You cannot specify both.
     */
    public val excludeSpecifiedOrganizationalUnits: kotlin.Boolean = builder.excludeSpecifiedOrganizationalUnits
    /**
     * The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of `OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits`. If `OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits` is set to `true`, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If `OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits` is set to `false`, then the Firewall Manager administrator can only apply policies to the OUs in this list.
     */
    public val organizationalUnits: List? = builder.organizationalUnits

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

    override fun toString(): kotlin.String = buildString {
        append("OrganizationalUnitScope(")
        append("allOrganizationalUnitsEnabled=$allOrganizationalUnitsEnabled,")
        append("excludeSpecifiedOrganizationalUnits=$excludeSpecifiedOrganizationalUnits,")
        append("organizationalUnits=$organizationalUnits")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = allOrganizationalUnitsEnabled.hashCode()
        result = 31 * result + (excludeSpecifiedOrganizationalUnits.hashCode())
        result = 31 * result + (organizationalUnits?.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 OrganizationalUnitScope

        if (allOrganizationalUnitsEnabled != other.allOrganizationalUnitsEnabled) return false
        if (excludeSpecifiedOrganizationalUnits != other.excludeSpecifiedOrganizationalUnits) return false
        if (organizationalUnits != other.organizationalUnits) return false

        return true
    }

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

    public class Builder {
        /**
         * A boolean value that indicates if the administrator can apply policies to all OUs within an organization. If true, the administrator can manage all OUs within the organization. You can either enable management of all OUs through this operation, or you can specify OUs to manage in `OrganizationalUnitScope$OrganizationalUnits`. You cannot specify both.
         */
        public var allOrganizationalUnitsEnabled: kotlin.Boolean = false
        /**
         * A boolean value that excludes the OUs in `OrganizationalUnitScope$OrganizationalUnits` from the administrator's scope. If true, the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs listed in `OrganizationalUnitScope$OrganizationalUnits`. You can either specify a list of OUs to exclude by `OrganizationalUnitScope$OrganizationalUnits`, or you can enable management of all OUs by `OrganizationalUnitScope$AllOrganizationalUnitsEnabled`. You cannot specify both.
         */
        public var excludeSpecifiedOrganizationalUnits: kotlin.Boolean = false
        /**
         * The list of OUs within the organization that the specified Firewall Manager administrator either can or cannot apply policies to, based on the value of `OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits`. If `OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits` is set to `true`, then the Firewall Manager administrator can apply policies to all OUs in the organization except for the OUs in this list. If `OrganizationalUnitScope$ExcludeSpecifiedOrganizationalUnits` is set to `false`, then the Firewall Manager administrator can only apply policies to the OUs in this list.
         */
        public var organizationalUnits: List? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.fms.model.OrganizationalUnitScope) : this() {
            this.allOrganizationalUnitsEnabled = x.allOrganizationalUnitsEnabled
            this.excludeSpecifiedOrganizationalUnits = x.excludeSpecifiedOrganizationalUnits
            this.organizationalUnits = x.organizationalUnits
        }

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy