commonMain.aws.sdk.kotlin.services.devopsguru.model.DescribeResourceCollectionHealthResponse.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of devopsguru-jvm Show documentation
Show all versions of devopsguru-jvm Show documentation
The AWS SDK for Kotlin client for DevOps Guru
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.devopsguru.model
import aws.smithy.kotlin.runtime.SdkDsl
public class DescribeResourceCollectionHealthResponse private constructor(builder: Builder) {
/**
* The returned `CloudFormationHealthOverview` object that contains an `InsightHealthOverview` object with the requested system health information.
*/
public val cloudFormation: List? = builder.cloudFormation
/**
* The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
*/
public val nextToken: kotlin.String? = builder.nextToken
/**
* An array of `ServiceHealth` objects that describes the health of the Amazon Web Services services associated with the resources in the collection.
*/
public val service: List? = builder.service
/**
* The Amazon Web Services tags that are used by resources in the resource collection.
*
* Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.
*
* Each Amazon Web Services tag has two parts.
* + A tag *key* (for example, `CostCenter`, `Environment`, `Project`, or `Secret`). Tag *keys* are case-sensitive.
* + An optional field known as a tag *value* (for example, `111122223333`, `Production`, or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive.
*
* Together these are known as *key*-*value* pairs.
*
* The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-`. The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application`. When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS`, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers`.
*/
public val tags: List? = builder.tags
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.devopsguru.model.DescribeResourceCollectionHealthResponse = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("DescribeResourceCollectionHealthResponse(")
append("cloudFormation=$cloudFormation,")
append("nextToken=$nextToken,")
append("service=$service,")
append("tags=$tags")
append(")")
}
override fun hashCode(): kotlin.Int {
var result = cloudFormation?.hashCode() ?: 0
result = 31 * result + (nextToken?.hashCode() ?: 0)
result = 31 * result + (service?.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 DescribeResourceCollectionHealthResponse
if (cloudFormation != other.cloudFormation) return false
if (nextToken != other.nextToken) return false
if (service != other.service) return false
if (tags != other.tags) return false
return true
}
public inline fun copy(block: Builder.() -> kotlin.Unit = {}): aws.sdk.kotlin.services.devopsguru.model.DescribeResourceCollectionHealthResponse = Builder(this).apply(block).build()
@SdkDsl
public class Builder {
/**
* The returned `CloudFormationHealthOverview` object that contains an `InsightHealthOverview` object with the requested system health information.
*/
public var cloudFormation: List? = null
/**
* The pagination token to use to retrieve the next page of results for this operation. If there are no more pages, this value is null.
*/
public var nextToken: kotlin.String? = null
/**
* An array of `ServiceHealth` objects that describes the health of the Amazon Web Services services associated with the resources in the collection.
*/
public var service: List? = null
/**
* The Amazon Web Services tags that are used by resources in the resource collection.
*
* Tags help you identify and organize your Amazon Web Services resources. Many Amazon Web Services services support tagging, so you can assign the same tag to resources from different services to indicate that the resources are related. For example, you can assign the same tag to an Amazon DynamoDB table resource that you assign to an Lambda function. For more information about using tags, see the [Tagging best practices](https://docs.aws.amazon.com/whitepapers/latest/tagging-best-practices/tagging-best-practices.html) whitepaper.
*
* Each Amazon Web Services tag has two parts.
* + A tag *key* (for example, `CostCenter`, `Environment`, `Project`, or `Secret`). Tag *keys* are case-sensitive.
* + An optional field known as a tag *value* (for example, `111122223333`, `Production`, or a team name). Omitting the tag *value* is the same as using an empty string. Like tag *keys*, tag *values* are case-sensitive.
*
* Together these are known as *key*-*value* pairs.
*
* The string used for a *key* in a tag that you use to define your resource coverage must begin with the prefix `Devops-guru-`. The tag *key* might be `DevOps-Guru-deployment-application` or `devops-guru-rds-application`. When you create a *key*, the case of characters in the *key* can be whatever you choose. After you create a *key*, it is case-sensitive. For example, DevOps Guru works with a *key* named `devops-guru-rds` and a *key* named `DevOps-Guru-RDS`, and these act as two different *keys*. Possible *key*/*value* pairs in your application might be `Devops-Guru-production-application/RDS` or `Devops-Guru-production-application/containers`.
*/
public var tags: List? = null
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.devopsguru.model.DescribeResourceCollectionHealthResponse) : this() {
this.cloudFormation = x.cloudFormation
this.nextToken = x.nextToken
this.service = x.service
this.tags = x.tags
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.devopsguru.model.DescribeResourceCollectionHealthResponse = DescribeResourceCollectionHealthResponse(this)
internal fun correctErrors(): Builder {
return this
}
}
}