Struct google_api_proto::google::cloud::visionai::v1::DedicatedResources
source · pub struct DedicatedResources {
pub machine_spec: Option<MachineSpec>,
pub min_replica_count: i32,
pub max_replica_count: i32,
pub autoscaling_metric_specs: Vec<AutoscalingMetricSpec>,
}
Expand description
A description of resources that are dedicated to a DeployedModel, and that need a higher degree of manual configuration.
Fields§
§machine_spec: Option<MachineSpec>
Required. Immutable. The specification of a single machine used by the prediction.
min_replica_count: i32
Required. Immutable. The minimum number of machine replicas this DeployedModel will be always deployed on. This value must be greater than or equal to 1.
If traffic against the DeployedModel increases, it may dynamically be deployed onto more replicas, and as traffic decreases, some of these extra replicas may be freed.
max_replica_count: i32
Immutable. 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, will use [min_replica_count][google.cloud.visionai.v1.DedicatedResources.min_replica_count] as the default value.
The value of this field impacts the charge against Vertex CPU and GPU quotas. Specifically, you will be charged for max_replica_count * number of cores in the selected machine type) and (max_replica_count * number of GPUs per replica in the selected machine type).
autoscaling_metric_specs: Vec<AutoscalingMetricSpec>
Immutable. 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][google.cloud.visionai.v1.MachineSpec.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][google.cloud.visionai.v1.MachineSpec.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][google.cloud.visionai.v1.AutoscalingMetricSpec.metric_name]
to aiplatform.googleapis.com/prediction/online/cpu/utilization
and
[autoscaling_metric_specs.target][google.cloud.visionai.v1.AutoscalingMetricSpec.target]
to 80
.
Trait Implementations§
source§impl Clone for DedicatedResources
impl Clone for DedicatedResources
source§fn clone(&self) -> DedicatedResources
fn clone(&self) -> DedicatedResources
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for DedicatedResources
impl Debug for DedicatedResources
source§impl Default for DedicatedResources
impl Default for DedicatedResources
source§impl Message for DedicatedResources
impl Message for DedicatedResources
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for DedicatedResources
impl PartialEq for DedicatedResources
source§fn eq(&self, other: &DedicatedResources) -> bool
fn eq(&self, other: &DedicatedResources) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for DedicatedResources
Auto Trait Implementations§
impl Freeze for DedicatedResources
impl RefUnwindSafe for DedicatedResources
impl Send for DedicatedResources
impl Sync for DedicatedResources
impl Unpin for DedicatedResources
impl UnwindSafe for DedicatedResources
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request