All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.vertex.kotlin.outputs.AiEndpointDeployedModelDedicatedResource.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.vertex.kotlin.outputs

import kotlin.Int
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property autoscalingMetricSpecs (Output)
 * The metric specifications that overrides a resource utilization metric (CPU utilization, accelerator's duty cycle, and so on) target value (default to 60 if not set). At most one entry is allowed per metric. If machine_spec.accelerator_count is above 0, the autoscaling will be based on both CPU utilization and accelerator's duty cycle metrics and scale up when either metrics exceeds its target value while scale down if both metrics are under their target value. The default target value is 60 for both metrics. If machine_spec.accelerator_count is 0, the autoscaling will be based on CPU utilization metric only with default target value 60 if not explicitly set. For example, in the case of Online Prediction, if you want to override target CPU utilization to 80, you should set autoscaling_metric_specs.metric_name to `aiplatform.googleapis.com/prediction/online/cpu/utilization` and autoscaling_metric_specs.target to `80`.
 * Structure is documented below.
 * @property machineSpecs (Output)
 * The specification of a single machine used by the prediction.
 * Structure is documented below.
 * @property maxReplicaCount (Output)
 * The maximum number of replicas this DeployedModel may be deployed on when the traffic against it increases. If the requested value is too large, the deployment will error, but if deployment succeeds then the ability to scale the model to that many replicas is guaranteed (barring service outages). If traffic against the DeployedModel increases beyond what its replicas at maximum may handle, a portion of the traffic will be dropped. If this value is not provided, a no upper bound for scaling under heavy traffic will be assume, though Vertex AI may be unable to scale beyond certain replica number.
 * @property minReplicaCount (Output)
 * The minimum number of replicas this DeployedModel will be always deployed on. If traffic against it increases, it may dynamically be deployed onto more replicas up to max_replica_count, and as traffic decreases, some of these extra replicas may be freed. If the requested value is too large, the deployment will error.
 */
public data class AiEndpointDeployedModelDedicatedResource(
    public val autoscalingMetricSpecs: List? = null,
    public val machineSpecs: List? = null,
    public val maxReplicaCount: Int? = null,
    public val minReplicaCount: Int? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.vertex.outputs.AiEndpointDeployedModelDedicatedResource): AiEndpointDeployedModelDedicatedResource = AiEndpointDeployedModelDedicatedResource(
            autoscalingMetricSpecs = javaType.autoscalingMetricSpecs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.vertex.kotlin.outputs.AiEndpointDeployedModelDedicatedResourceAutoscalingMetricSpec.Companion.toKotlin(args0)
                })
            }),
            machineSpecs = javaType.machineSpecs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.vertex.kotlin.outputs.AiEndpointDeployedModelDedicatedResourceMachineSpec.Companion.toKotlin(args0)
                })
            }),
            maxReplicaCount = javaType.maxReplicaCount().map({ args0 -> args0 }).orElse(null),
            minReplicaCount = javaType.minReplicaCount().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy