
commonMain.aws.sdk.kotlin.services.ssmsap.model.Component.kt Maven / Gradle / Ivy
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.ssmsap.model
import aws.smithy.kotlin.runtime.SdkDsl
import aws.smithy.kotlin.runtime.time.Instant
/**
* The SAP component of your application.
*/
public class Component private constructor(builder: Builder) {
/**
* The ID of the application.
*/
public val applicationId: kotlin.String? = builder.applicationId
/**
* The Amazon Resource Name (ARN) of the component.
*/
public val arn: kotlin.String? = builder.arn
/**
* The associated host of the component.
*/
public val associatedHost: aws.sdk.kotlin.services.ssmsap.model.AssociatedHost? = builder.associatedHost
/**
* The child components of a highly available environment. For example, in a highly available SAP on AWS workload, the child component consists of the primary and secondar instances.
*/
public val childComponents: List? = builder.childComponents
/**
* The ID of the component.
*/
public val componentId: kotlin.String? = builder.componentId
/**
* The type of the component.
*/
public val componentType: aws.sdk.kotlin.services.ssmsap.model.ComponentType? = builder.componentType
/**
* The connection specifications for the database of the component.
*/
public val databaseConnection: aws.sdk.kotlin.services.ssmsap.model.DatabaseConnection? = builder.databaseConnection
/**
* The SAP HANA databases of the component.
*/
public val databases: List? = builder.databases
/**
* The SAP HANA version of the component.
*/
public val hdbVersion: kotlin.String? = builder.hdbVersion
/**
* The hosts of the component.
*/
@Deprecated("This shape is no longer used. Please use AssociatedHost.")
public val hosts: List? = builder.hosts
/**
* The time at which the component was last updated.
*/
public val lastUpdated: aws.smithy.kotlin.runtime.time.Instant? = builder.lastUpdated
/**
* The parent component of a highly available environment. For example, in a highly available SAP on AWS workload, the parent component consists of the entire setup, including the child components.
*/
public val parentComponent: kotlin.String? = builder.parentComponent
/**
* The primary host of the component.
*/
@Deprecated("This shape is no longer used. Please use AssociatedHost.")
public val primaryHost: kotlin.String? = builder.primaryHost
/**
* Details of the SAP HANA system replication for the component.
*/
public val resilience: aws.sdk.kotlin.services.ssmsap.model.Resilience? = builder.resilience
/**
* The SAP feature of the component.
*/
public val sapFeature: kotlin.String? = builder.sapFeature
/**
* The hostname of the component.
*/
public val sapHostname: kotlin.String? = builder.sapHostname
/**
* The kernel version of the component.
*/
public val sapKernelVersion: kotlin.String? = builder.sapKernelVersion
/**
* The SAP System Identifier of the application component.
*/
public val sid: kotlin.String? = builder.sid
/**
* The status of the component.
* + ACTIVATED - this status has been deprecated.
* + STARTING - the component is in the process of being started.
* + STOPPED - the component is not running.
* + STOPPING - the component is in the process of being stopped.
* + RUNNING - the component is running.
* + RUNNING_WITH_ERROR - one or more child component(s) of the parent component is not running. Call `GetComponent`[](https://docs.aws.amazon.com/ssmsap/latest/APIReference/API_GetComponent.html) to review the status of each child component.
* + UNDEFINED - AWS Systems Manager for SAP cannot provide the component status based on the discovered information. Verify your SAP application.
*/
public val status: aws.sdk.kotlin.services.ssmsap.model.ComponentStatus? = builder.status
/**
* The SAP system number of the application component.
*/
public val systemNumber: kotlin.String? = builder.systemNumber
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.ssmsap.model.Component = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("Component(")
append("applicationId=$applicationId,")
append("arn=$arn,")
append("associatedHost=$associatedHost,")
append("childComponents=$childComponents,")
append("componentId=$componentId,")
append("componentType=$componentType,")
append("databaseConnection=$databaseConnection,")
append("databases=$databases,")
append("hdbVersion=$hdbVersion,")
append("hosts=$hosts,")
append("lastUpdated=$lastUpdated,")
append("parentComponent=$parentComponent,")
append("primaryHost=$primaryHost,")
append("resilience=$resilience,")
append("sapFeature=$sapFeature,")
append("sapHostname=$sapHostname,")
append("sapKernelVersion=$sapKernelVersion,")
append("sid=$sid,")
append("status=$status,")
append("systemNumber=$systemNumber")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = applicationId?.hashCode() ?: 0
result = 31 * result + (arn?.hashCode() ?: 0)
result = 31 * result + (associatedHost?.hashCode() ?: 0)
result = 31 * result + (childComponents?.hashCode() ?: 0)
result = 31 * result + (componentId?.hashCode() ?: 0)
result = 31 * result + (componentType?.hashCode() ?: 0)
result = 31 * result + (databaseConnection?.hashCode() ?: 0)
result = 31 * result + (databases?.hashCode() ?: 0)
result = 31 * result + (hdbVersion?.hashCode() ?: 0)
result = 31 * result + (hosts?.hashCode() ?: 0)
result = 31 * result + (lastUpdated?.hashCode() ?: 0)
result = 31 * result + (parentComponent?.hashCode() ?: 0)
result = 31 * result + (primaryHost?.hashCode() ?: 0)
result = 31 * result + (resilience?.hashCode() ?: 0)
result = 31 * result + (sapFeature?.hashCode() ?: 0)
result = 31 * result + (sapHostname?.hashCode() ?: 0)
result = 31 * result + (sapKernelVersion?.hashCode() ?: 0)
result = 31 * result + (sid?.hashCode() ?: 0)
result = 31 * result + (status?.hashCode() ?: 0)
result = 31 * result + (systemNumber?.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 Component
if (applicationId != other.applicationId) return false
if (arn != other.arn) return false
if (associatedHost != other.associatedHost) return false
if (childComponents != other.childComponents) return false
if (componentId != other.componentId) return false
if (componentType != other.componentType) return false
if (databaseConnection != other.databaseConnection) return false
if (databases != other.databases) return false
if (hdbVersion != other.hdbVersion) return false
if (hosts != other.hosts) return false
if (lastUpdated != other.lastUpdated) return false
if (parentComponent != other.parentComponent) return false
if (primaryHost != other.primaryHost) return false
if (resilience != other.resilience) return false
if (sapFeature != other.sapFeature) return false
if (sapHostname != other.sapHostname) return false
if (sapKernelVersion != other.sapKernelVersion) return false
if (sid != other.sid) return false
if (status != other.status) return false
if (systemNumber != other.systemNumber) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.ssmsap.model.Component = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The ID of the application.
*/
public var applicationId: kotlin.String? = null
/**
* The Amazon Resource Name (ARN) of the component.
*/
public var arn: kotlin.String? = null
/**
* The associated host of the component.
*/
public var associatedHost: aws.sdk.kotlin.services.ssmsap.model.AssociatedHost? = null
/**
* The child components of a highly available environment. For example, in a highly available SAP on AWS workload, the child component consists of the primary and secondar instances.
*/
public var childComponents: List? = null
/**
* The ID of the component.
*/
public var componentId: kotlin.String? = null
/**
* The type of the component.
*/
public var componentType: aws.sdk.kotlin.services.ssmsap.model.ComponentType? = null
/**
* The connection specifications for the database of the component.
*/
public var databaseConnection: aws.sdk.kotlin.services.ssmsap.model.DatabaseConnection? = null
/**
* The SAP HANA databases of the component.
*/
public var databases: List? = null
/**
* The SAP HANA version of the component.
*/
public var hdbVersion: kotlin.String? = null
/**
* The hosts of the component.
*/
@Deprecated("This shape is no longer used. Please use AssociatedHost.")
public var hosts: List? = null
/**
* The time at which the component was last updated.
*/
public var lastUpdated: aws.smithy.kotlin.runtime.time.Instant? = null
/**
* The parent component of a highly available environment. For example, in a highly available SAP on AWS workload, the parent component consists of the entire setup, including the child components.
*/
public var parentComponent: kotlin.String? = null
/**
* The primary host of the component.
*/
@Deprecated("This shape is no longer used. Please use AssociatedHost.")
public var primaryHost: kotlin.String? = null
/**
* Details of the SAP HANA system replication for the component.
*/
public var resilience: aws.sdk.kotlin.services.ssmsap.model.Resilience? = null
/**
* The SAP feature of the component.
*/
public var sapFeature: kotlin.String? = null
/**
* The hostname of the component.
*/
public var sapHostname: kotlin.String? = null
/**
* The kernel version of the component.
*/
public var sapKernelVersion: kotlin.String? = null
/**
* The SAP System Identifier of the application component.
*/
public var sid: kotlin.String? = null
/**
* The status of the component.
* + ACTIVATED - this status has been deprecated.
* + STARTING - the component is in the process of being started.
* + STOPPED - the component is not running.
* + STOPPING - the component is in the process of being stopped.
* + RUNNING - the component is running.
* + RUNNING_WITH_ERROR - one or more child component(s) of the parent component is not running. Call `GetComponent`[](https://docs.aws.amazon.com/ssmsap/latest/APIReference/API_GetComponent.html) to review the status of each child component.
* + UNDEFINED - AWS Systems Manager for SAP cannot provide the component status based on the discovered information. Verify your SAP application.
*/
public var status: aws.sdk.kotlin.services.ssmsap.model.ComponentStatus? = null
/**
* The SAP system number of the application component.
*/
public var systemNumber: kotlin.String? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.ssmsap.model.Component) : this() {
this.applicationId = x.applicationId
this.arn = x.arn
this.associatedHost = x.associatedHost
this.childComponents = x.childComponents
this.componentId = x.componentId
this.componentType = x.componentType
this.databaseConnection = x.databaseConnection
this.databases = x.databases
this.hdbVersion = x.hdbVersion
this.hosts = x.hosts
this.lastUpdated = x.lastUpdated
this.parentComponent = x.parentComponent
this.primaryHost = x.primaryHost
this.resilience = x.resilience
this.sapFeature = x.sapFeature
this.sapHostname = x.sapHostname
this.sapKernelVersion = x.sapKernelVersion
this.sid = x.sid
this.status = x.status
this.systemNumber = x.systemNumber
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.ssmsap.model.Component = Component(this)
/**
* construct an [aws.sdk.kotlin.services.ssmsap.model.AssociatedHost] inside the given [block]
*/
public fun associatedHost(block: aws.sdk.kotlin.services.ssmsap.model.AssociatedHost.Builder.() -> kotlin.Unit) {
this.associatedHost = aws.sdk.kotlin.services.ssmsap.model.AssociatedHost.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.ssmsap.model.DatabaseConnection] inside the given [block]
*/
public fun databaseConnection(block: aws.sdk.kotlin.services.ssmsap.model.DatabaseConnection.Builder.() -> kotlin.Unit) {
this.databaseConnection = aws.sdk.kotlin.services.ssmsap.model.DatabaseConnection.invoke(block)
}
/**
* construct an [aws.sdk.kotlin.services.ssmsap.model.Resilience] inside the given [block]
*/
public fun resilience(block: aws.sdk.kotlin.services.ssmsap.model.Resilience.Builder.() -> kotlin.Unit) {
this.resilience = aws.sdk.kotlin.services.ssmsap.model.Resilience.invoke(block)
}
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy