
commonMain.aws.sdk.kotlin.services.guardduty.model.InstanceDetails.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.guardduty.model
/**
* Contains information about the details of an instance.
*/
class InstanceDetails private constructor(builder: Builder) {
/**
* The Availability Zone of the EC2 instance.
*/
val availabilityZone: kotlin.String? = builder.availabilityZone
/**
* The profile information of the EC2 instance.
*/
val iamInstanceProfile: aws.sdk.kotlin.services.guardduty.model.IamInstanceProfile? = builder.iamInstanceProfile
/**
* The image description of the EC2 instance.
*/
val imageDescription: kotlin.String? = builder.imageDescription
/**
* The image ID of the EC2 instance.
*/
val imageId: kotlin.String? = builder.imageId
/**
* The ID of the EC2 instance.
*/
val instanceId: kotlin.String? = builder.instanceId
/**
* The state of the EC2 instance.
*/
val instanceState: kotlin.String? = builder.instanceState
/**
* The type of the EC2 instance.
*/
val instanceType: kotlin.String? = builder.instanceType
/**
* The launch time of the EC2 instance.
*/
val launchTime: kotlin.String? = builder.launchTime
/**
* The elastic network interface information of the EC2 instance.
*/
val networkInterfaces: List? = builder.networkInterfaces
/**
* The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. Only applicable to Amazon Web Services Outposts instances.
*/
val outpostArn: kotlin.String? = builder.outpostArn
/**
* The platform of the EC2 instance.
*/
val platform: kotlin.String? = builder.platform
/**
* The product code of the EC2 instance.
*/
val productCodes: List? = builder.productCodes
/**
* The tags of the EC2 instance.
*/
val tags: List? = builder.tags
companion object {
operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.guardduty.model.InstanceDetails = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("InstanceDetails(")
append("availabilityZone=$availabilityZone,")
append("iamInstanceProfile=$iamInstanceProfile,")
append("imageDescription=$imageDescription,")
append("imageId=$imageId,")
append("instanceId=$instanceId,")
append("instanceState=$instanceState,")
append("instanceType=$instanceType,")
append("launchTime=$launchTime,")
append("networkInterfaces=$networkInterfaces,")
append("outpostArn=$outpostArn,")
append("platform=$platform,")
append("productCodes=$productCodes,")
append("tags=$tags)")
}
override fun hashCode(): kotlin.Int {
var result = availabilityZone?.hashCode() ?: 0
result = 31 * result + (iamInstanceProfile?.hashCode() ?: 0)
result = 31 * result + (imageDescription?.hashCode() ?: 0)
result = 31 * result + (imageId?.hashCode() ?: 0)
result = 31 * result + (instanceId?.hashCode() ?: 0)
result = 31 * result + (instanceState?.hashCode() ?: 0)
result = 31 * result + (instanceType?.hashCode() ?: 0)
result = 31 * result + (launchTime?.hashCode() ?: 0)
result = 31 * result + (networkInterfaces?.hashCode() ?: 0)
result = 31 * result + (outpostArn?.hashCode() ?: 0)
result = 31 * result + (platform?.hashCode() ?: 0)
result = 31 * result + (productCodes?.hashCode() ?: 0)
result = 31 * result + (tags?.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 InstanceDetails
if (availabilityZone != other.availabilityZone) return false
if (iamInstanceProfile != other.iamInstanceProfile) return false
if (imageDescription != other.imageDescription) return false
if (imageId != other.imageId) return false
if (instanceId != other.instanceId) return false
if (instanceState != other.instanceState) return false
if (instanceType != other.instanceType) return false
if (launchTime != other.launchTime) return false
if (networkInterfaces != other.networkInterfaces) return false
if (outpostArn != other.outpostArn) return false
if (platform != other.platform) return false
if (productCodes != other.productCodes) return false
if (tags != other.tags) return false
return true
}
inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.guardduty.model.InstanceDetails = Builder(this).apply(block).build()
class Builder {
/**
* The Availability Zone of the EC2 instance.
*/
var availabilityZone: kotlin.String? = null
/**
* The profile information of the EC2 instance.
*/
var iamInstanceProfile: aws.sdk.kotlin.services.guardduty.model.IamInstanceProfile? = null
/**
* The image description of the EC2 instance.
*/
var imageDescription: kotlin.String? = null
/**
* The image ID of the EC2 instance.
*/
var imageId: kotlin.String? = null
/**
* The ID of the EC2 instance.
*/
var instanceId: kotlin.String? = null
/**
* The state of the EC2 instance.
*/
var instanceState: kotlin.String? = null
/**
* The type of the EC2 instance.
*/
var instanceType: kotlin.String? = null
/**
* The launch time of the EC2 instance.
*/
var launchTime: kotlin.String? = null
/**
* The elastic network interface information of the EC2 instance.
*/
var networkInterfaces: List? = null
/**
* The Amazon Resource Name (ARN) of the Amazon Web Services Outpost. Only applicable to Amazon Web Services Outposts instances.
*/
var outpostArn: kotlin.String? = null
/**
* The platform of the EC2 instance.
*/
var platform: kotlin.String? = null
/**
* The product code of the EC2 instance.
*/
var productCodes: List? = null
/**
* The tags of the EC2 instance.
*/
var tags: List? = null
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.guardduty.model.InstanceDetails) : this() {
this.availabilityZone = x.availabilityZone
this.iamInstanceProfile = x.iamInstanceProfile
this.imageDescription = x.imageDescription
this.imageId = x.imageId
this.instanceId = x.instanceId
this.instanceState = x.instanceState
this.instanceType = x.instanceType
this.launchTime = x.launchTime
this.networkInterfaces = x.networkInterfaces
this.outpostArn = x.outpostArn
this.platform = x.platform
this.productCodes = x.productCodes
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.guardduty.model.InstanceDetails = InstanceDetails(this)
/**
* construct an [aws.sdk.kotlin.services.guardduty.model.IamInstanceProfile] inside the given [block]
*/
fun iamInstanceProfile(block: aws.sdk.kotlin.services.guardduty.model.IamInstanceProfile.Builder.() -> kotlin.Unit) {
this.iamInstanceProfile = aws.sdk.kotlin.services.guardduty.model.IamInstanceProfile.invoke(block)
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy