com.pulumi.gcp.compute.kotlin.outputs.RegionBackendServiceOutlierDetection.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.compute.kotlin.outputs
import kotlin.Int
import kotlin.Suppress
/**
*
* @property baseEjectionTime The base time that a host is ejected for. The real time is equal to the base
* time multiplied by the number of times the host has been ejected. Defaults to
* 30000ms or 30s.
* Structure is documented below.
* @property consecutiveErrors Number of errors before a host is ejected from the connection pool. When the
* backend host is accessed over HTTP, a 5xx return code qualifies as an error.
* Defaults to 5.
* @property consecutiveGatewayFailure The number of consecutive gateway failures (502, 503, 504 status or connection
* errors that are mapped to one of those status codes) before a consecutive
* gateway failure ejection occurs. Defaults to 5.
* @property enforcingConsecutiveErrors The percentage chance that a host will be actually ejected when an outlier
* status is detected through consecutive 5xx. This setting can be used to disable
* ejection or to ramp it up slowly. Defaults to 100.
* @property enforcingConsecutiveGatewayFailure The percentage chance that a host will be actually ejected when an outlier
* status is detected through consecutive gateway failures. This setting can be
* used to disable ejection or to ramp it up slowly. Defaults to 0.
* @property enforcingSuccessRate The percentage chance that a host will be actually ejected when an outlier
* status is detected through success rate statistics. This setting can be used to
* disable ejection or to ramp it up slowly. Defaults to 100.
* @property interval Time interval between ejection sweep analysis. This can result in both new
* ejections as well as hosts being returned to service. Defaults to 10 seconds.
* Structure is documented below.
* @property maxEjectionPercent Maximum percentage of hosts in the load balancing pool for the backend service
* that can be ejected. Defaults to 10%.
* @property successRateMinimumHosts The number of hosts in a cluster that must have enough request volume to detect
* success rate outliers. If the number of hosts is less than this setting, outlier
* detection via success rate statistics is not performed for any host in the
* cluster. Defaults to 5.
* @property successRateRequestVolume The minimum number of total requests that must be collected in one interval (as
* defined by the interval duration above) to include this host in success rate
* based outlier detection. If the volume is lower than this setting, outlier
* detection via success rate statistics is not performed for that host. Defaults
* to 100.
* @property successRateStdevFactor This factor is used to determine the ejection threshold for success rate outlier
* ejection. The ejection threshold is the difference between the mean success
* rate, and the product of this factor and the standard deviation of the mean
* success rate: mean - (stdev * success_rate_stdev_factor). This factor is divided
* by a thousand to get a double. That is, if the desired factor is 1.9, the
* runtime value should be 1900. Defaults to 1900.
*/
public data class RegionBackendServiceOutlierDetection(
public val baseEjectionTime: RegionBackendServiceOutlierDetectionBaseEjectionTime? = null,
public val consecutiveErrors: Int? = null,
public val consecutiveGatewayFailure: Int? = null,
public val enforcingConsecutiveErrors: Int? = null,
public val enforcingConsecutiveGatewayFailure: Int? = null,
public val enforcingSuccessRate: Int? = null,
public val interval: RegionBackendServiceOutlierDetectionInterval? = null,
public val maxEjectionPercent: Int? = null,
public val successRateMinimumHosts: Int? = null,
public val successRateRequestVolume: Int? = null,
public val successRateStdevFactor: Int? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.RegionBackendServiceOutlierDetection): RegionBackendServiceOutlierDetection = RegionBackendServiceOutlierDetection(
baseEjectionTime = javaType.baseEjectionTime().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.RegionBackendServiceOutlierDetectionBaseEjectionTime.Companion.toKotlin(args0)
})
}).orElse(null),
consecutiveErrors = javaType.consecutiveErrors().map({ args0 -> args0 }).orElse(null),
consecutiveGatewayFailure = javaType.consecutiveGatewayFailure().map({ args0 ->
args0
}).orElse(null),
enforcingConsecutiveErrors = javaType.enforcingConsecutiveErrors().map({ args0 ->
args0
}).orElse(null),
enforcingConsecutiveGatewayFailure = javaType.enforcingConsecutiveGatewayFailure().map({ args0 ->
args0
}).orElse(null),
enforcingSuccessRate = javaType.enforcingSuccessRate().map({ args0 -> args0 }).orElse(null),
interval = javaType.interval().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.RegionBackendServiceOutlierDetectionInterval.Companion.toKotlin(args0)
})
}).orElse(null),
maxEjectionPercent = javaType.maxEjectionPercent().map({ args0 -> args0 }).orElse(null),
successRateMinimumHosts = javaType.successRateMinimumHosts().map({ args0 -> args0 }).orElse(null),
successRateRequestVolume = javaType.successRateRequestVolume().map({ args0 -> args0 }).orElse(null),
successRateStdevFactor = javaType.successRateStdevFactor().map({ args0 -> args0 }).orElse(null),
)
}
}
© 2015 - 2024 Weber Informatics LLC | Privacy Policy