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

commonMain.aws.sdk.kotlin.services.route53resolver.model.UpdateFirewallRuleGroupAssociationRequest.kt Maven / Gradle / Ivy

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

package aws.sdk.kotlin.services.route53resolver.model



public class UpdateFirewallRuleGroupAssociationRequest private constructor(builder: Builder) {
    /**
     * The identifier of the FirewallRuleGroupAssociation.
     */
    public val firewallRuleGroupAssociationId: kotlin.String? = builder.firewallRuleGroupAssociationId
    /**
     * If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.
     */
    public val mutationProtection: aws.sdk.kotlin.services.route53resolver.model.MutationProtectionStatus? = builder.mutationProtection
    /**
     * The name of the rule group association.
     */
    public val name: kotlin.String? = builder.name
    /**
     * The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting.
     *
     * You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for a rule group association after you create it.
     */
    public val priority: kotlin.Int? = builder.priority

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

    override fun toString(): kotlin.String = buildString {
        append("UpdateFirewallRuleGroupAssociationRequest(")
        append("firewallRuleGroupAssociationId=$firewallRuleGroupAssociationId,")
        append("mutationProtection=$mutationProtection,")
        append("name=$name,")
        append("priority=$priority")
        append(")")
    }

    override fun hashCode(): kotlin.Int {
        var result = firewallRuleGroupAssociationId?.hashCode() ?: 0
        result = 31 * result + (mutationProtection?.hashCode() ?: 0)
        result = 31 * result + (name?.hashCode() ?: 0)
        result = 31 * result + (priority ?: 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 UpdateFirewallRuleGroupAssociationRequest

        if (firewallRuleGroupAssociationId != other.firewallRuleGroupAssociationId) return false
        if (mutationProtection != other.mutationProtection) return false
        if (name != other.name) return false
        if (priority != other.priority) return false

        return true
    }

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

    public class Builder {
        /**
         * The identifier of the FirewallRuleGroupAssociation.
         */
        public var firewallRuleGroupAssociationId: kotlin.String? = null
        /**
         * If enabled, this setting disallows modification or removal of the association, to help prevent against accidentally altering DNS firewall protections.
         */
        public var mutationProtection: aws.sdk.kotlin.services.route53resolver.model.MutationProtectionStatus? = null
        /**
         * The name of the rule group association.
         */
        public var name: kotlin.String? = null
        /**
         * The setting that determines the processing order of the rule group among the rule groups that you associate with the specified VPC. DNS Firewall filters VPC traffic starting from the rule group with the lowest numeric priority setting.
         *
         * You must specify a unique priority for each rule group that you associate with a single VPC. To make it easier to insert rule groups later, leave space between the numbers, for example, use 100, 200, and so on. You can change the priority setting for a rule group association after you create it.
         */
        public var priority: kotlin.Int? = null

        @PublishedApi
        internal constructor()
        @PublishedApi
        internal constructor(x: aws.sdk.kotlin.services.route53resolver.model.UpdateFirewallRuleGroupAssociationRequest) : this() {
            this.firewallRuleGroupAssociationId = x.firewallRuleGroupAssociationId
            this.mutationProtection = x.mutationProtection
            this.name = x.name
            this.priority = x.priority
        }

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

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




© 2015 - 2025 Weber Informatics LLC | Privacy Policy