
commonMain.aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroup.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.route53resolver.model
/**
* High-level information for a firewall rule group. A firewall rule group is a collection of rules that DNS Firewall uses to filter DNS network traffic for a VPC. To retrieve the rules for the rule group, call ListFirewallRules.
*/
public class FirewallRuleGroup private constructor(builder: Builder) {
/**
* The ARN (Amazon Resource Name) of the rule group.
*/
public val arn: kotlin.String? = builder.arn
/**
* The date and time that the rule group was created, in Unix time format and Coordinated Universal Time (UTC).
*/
public val creationTime: kotlin.String? = builder.creationTime
/**
* A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*/
public val creatorRequestId: kotlin.String? = builder.creatorRequestId
/**
* The ID of the rule group.
*/
public val id: kotlin.String? = builder.id
/**
* The date and time that the rule group was last modified, in Unix time format and Coordinated Universal Time (UTC).
*/
public val modificationTime: kotlin.String? = builder.modificationTime
/**
* The name of the rule group.
*/
public val name: kotlin.String? = builder.name
/**
* The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you.
*/
public val ownerId: kotlin.String? = builder.ownerId
/**
* The number of rules in the rule group.
*/
public val ruleCount: kotlin.Int? = builder.ruleCount
/**
* Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).
*/
public val shareStatus: aws.sdk.kotlin.services.route53resolver.model.ShareStatus? = builder.shareStatus
/**
* The status of the domain list.
*/
public val status: aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroupStatus? = builder.status
/**
* Additional information about the status of the rule group, if available.
*/
public val statusMessage: kotlin.String? = builder.statusMessage
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroup = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("FirewallRuleGroup(")
append("arn=$arn,")
append("creationTime=$creationTime,")
append("creatorRequestId=$creatorRequestId,")
append("id=$id,")
append("modificationTime=$modificationTime,")
append("name=$name,")
append("ownerId=$ownerId,")
append("ruleCount=$ruleCount,")
append("shareStatus=$shareStatus,")
append("status=$status,")
append("statusMessage=$statusMessage")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = arn?.hashCode() ?: 0
result = 31 * result + (creationTime?.hashCode() ?: 0)
result = 31 * result + (creatorRequestId?.hashCode() ?: 0)
result = 31 * result + (id?.hashCode() ?: 0)
result = 31 * result + (modificationTime?.hashCode() ?: 0)
result = 31 * result + (name?.hashCode() ?: 0)
result = 31 * result + (ownerId?.hashCode() ?: 0)
result = 31 * result + (ruleCount ?: 0)
result = 31 * result + (shareStatus?.hashCode() ?: 0)
result = 31 * result + (status?.hashCode() ?: 0)
result = 31 * result + (statusMessage?.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 FirewallRuleGroup
if (arn != other.arn) return false
if (creationTime != other.creationTime) return false
if (creatorRequestId != other.creatorRequestId) return false
if (id != other.id) return false
if (modificationTime != other.modificationTime) return false
if (name != other.name) return false
if (ownerId != other.ownerId) return false
if (ruleCount != other.ruleCount) return false
if (shareStatus != other.shareStatus) return false
if (status != other.status) return false
if (statusMessage != other.statusMessage) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroup = Builder(this).apply(block).build()
public class Builder {
/**
* The ARN (Amazon Resource Name) of the rule group.
*/
public var arn: kotlin.String? = null
/**
* The date and time that the rule group was created, in Unix time format and Coordinated Universal Time (UTC).
*/
public var creationTime: kotlin.String? = null
/**
* A unique string defined by you to identify the request. This allows you to retry failed requests without the risk of running the operation twice. This can be any unique string, for example, a timestamp.
*/
public var creatorRequestId: kotlin.String? = null
/**
* The ID of the rule group.
*/
public var id: kotlin.String? = null
/**
* The date and time that the rule group was last modified, in Unix time format and Coordinated Universal Time (UTC).
*/
public var modificationTime: kotlin.String? = null
/**
* The name of the rule group.
*/
public var name: kotlin.String? = null
/**
* The Amazon Web Services account ID for the account that created the rule group. When a rule group is shared with your account, this is the account that has shared the rule group with you.
*/
public var ownerId: kotlin.String? = null
/**
* The number of rules in the rule group.
*/
public var ruleCount: kotlin.Int? = null
/**
* Whether the rule group is shared with other Amazon Web Services accounts, or was shared with the current account by another Amazon Web Services account. Sharing is configured through Resource Access Manager (RAM).
*/
public var shareStatus: aws.sdk.kotlin.services.route53resolver.model.ShareStatus? = null
/**
* The status of the domain list.
*/
public var status: aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroupStatus? = null
/**
* Additional information about the status of the rule group, if available.
*/
public var statusMessage: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroup) : this() {
this.arn = x.arn
this.creationTime = x.creationTime
this.creatorRequestId = x.creatorRequestId
this.id = x.id
this.modificationTime = x.modificationTime
this.name = x.name
this.ownerId = x.ownerId
this.ruleCount = x.ruleCount
this.shareStatus = x.shareStatus
this.status = x.status
this.statusMessage = x.statusMessage
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.route53resolver.model.FirewallRuleGroup = FirewallRuleGroup(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy