commonMain.aws.sdk.kotlin.services.fms.model.AdminScope.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.fms.model
/**
* Defines the resources that the Firewall Manager administrator can manage. For more information about administrative scope, see [Managing Firewall Manager administrators](https://docs.aws.amazon.com/waf/latest/developerguide/fms-administrators.html) in the *Firewall Manager Developer Guide*.
*/
public class AdminScope private constructor(builder: Builder) {
/**
* Defines the accounts that the specified Firewall Manager administrator can apply policies to.
*/
public val accountScope: aws.sdk.kotlin.services.fms.model.AccountScope? = builder.accountScope
/**
* Defines the Organizations organizational units 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 val organizationalUnitScope: aws.sdk.kotlin.services.fms.model.OrganizationalUnitScope? = builder.organizationalUnitScope
/**
* Defines the Firewall Manager policy types that the specified Firewall Manager administrator can create and manage.
*/
public val policyTypeScope: aws.sdk.kotlin.services.fms.model.PolicyTypeScope? = builder.policyTypeScope
/**
* Defines the Amazon Web Services Regions that the specified Firewall Manager administrator can perform actions in.
*/
public val regionScope: aws.sdk.kotlin.services.fms.model.RegionScope? = builder.regionScope
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.fms.model.AdminScope = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("AdminScope(")
append("accountScope=$accountScope,")
append("organizationalUnitScope=$organizationalUnitScope,")
append("policyTypeScope=$policyTypeScope,")
append("regionScope=$regionScope")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = accountScope?.hashCode() ?: 0
result = 31 * result + (organizationalUnitScope?.hashCode() ?: 0)
result = 31 * result + (policyTypeScope?.hashCode() ?: 0)
result = 31 * result + (regionScope?.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 AdminScope
if (accountScope != other.accountScope) return false
if (organizationalUnitScope != other.organizationalUnitScope) return false
if (policyTypeScope != other.policyTypeScope) return false
if (regionScope != other.regionScope) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.fms.model.AdminScope = Builder(this).apply(block).build()
public class Builder {
/**
* Defines the accounts that the specified Firewall Manager administrator can apply policies to.
*/
public var accountScope: aws.sdk.kotlin.services.fms.model.AccountScope? = null
/**
* Defines the Organizations organizational units 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 var organizationalUnitScope: aws.sdk.kotlin.services.fms.model.OrganizationalUnitScope? = null
/**
* Defines the Firewall Manager policy types that the specified Firewall Manager administrator can create and manage.
*/
public var policyTypeScope: aws.sdk.kotlin.services.fms.model.PolicyTypeScope? = null
/**
* Defines the Amazon Web Services Regions that the specified Firewall Manager administrator can perform actions in.
*/
public var regionScope: aws.sdk.kotlin.services.fms.model.RegionScope? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.fms.model.AdminScope) : this() {
this.accountScope = x.accountScope
this.organizationalUnitScope = x.organizationalUnitScope
this.policyTypeScope = x.policyTypeScope
this.regionScope = x.regionScope
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.fms.model.AdminScope = AdminScope(this)
/**
* construct an [aws.sdk.kotlin.services.fms.model.AccountScope] inside the given [block]
*/
public fun accountScope(block: aws.sdk.kotlin.services.fms.model.AccountScope.Builder.() -> kotlin.Unit) {
this.accountScope = aws.sdk.kotlin.services.fms.model.AccountScope.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.fms.model.OrganizationalUnitScope] inside the given [block]
*/
public fun organizationalUnitScope(block: aws.sdk.kotlin.services.fms.model.OrganizationalUnitScope.Builder.() -> kotlin.Unit) {
this.organizationalUnitScope = aws.sdk.kotlin.services.fms.model.OrganizationalUnitScope.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.fms.model.PolicyTypeScope] inside the given [block]
*/
public fun policyTypeScope(block: aws.sdk.kotlin.services.fms.model.PolicyTypeScope.Builder.() -> kotlin.Unit) {
this.policyTypeScope = aws.sdk.kotlin.services.fms.model.PolicyTypeScope.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.fms.model.RegionScope] inside the given [block]
*/
public fun regionScope(block: aws.sdk.kotlin.services.fms.model.RegionScope.Builder.() -> kotlin.Unit) {
this.regionScope = aws.sdk.kotlin.services.fms.model.RegionScope.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy