aws_sdk_sagemaker/operation/describe_endpoint/_describe_endpoint_output.rs
1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2#[allow(missing_docs)] // documentation missing in model
3#[non_exhaustive]
4#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
5pub struct DescribeEndpointOutput {
6 /// <p>Name of the endpoint.</p>
7 pub endpoint_name: ::std::option::Option<::std::string::String>,
8 /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
9 pub endpoint_arn: ::std::option::Option<::std::string::String>,
10 /// <p>The name of the endpoint configuration associated with this endpoint.</p>
11 pub endpoint_config_name: ::std::option::Option<::std::string::String>,
12 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model hosted behind this endpoint.</p>
13 pub production_variants: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>,
14 /// <p>The currently active data capture configuration used by your Endpoint.</p>
15 pub data_capture_config: ::std::option::Option<crate::types::DataCaptureConfigSummary>,
16 /// <p>The status of the endpoint.</p>
17 /// <ul>
18 /// <li>
19 /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
20 /// <li>
21 /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
22 /// <li>
23 /// <p><code>Updating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html">UpdateEndpoint</a> or <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> is executing.</p></li>
24 /// <li>
25 /// <p><code>SystemUpdating</code>: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.</p></li>
26 /// <li>
27 /// <p><code>RollingBack</code>: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an <code>InService</code> status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> call or when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> operation is called explicitly.</p></li>
28 /// <li>
29 /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
30 /// <li>
31 /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
32 /// <li>
33 /// <p><code>Failed</code>: Endpoint could not be created, updated, or re-scaled. Use the <code>FailureReason</code> value returned by <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> for information about the failure. <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is the only operation that can be performed on a failed endpoint.</p></li>
34 /// <li>
35 /// <p><code>UpdateRollbackFailed</code>: Both the rolling deployment and auto-rollback failed. Your endpoint is in service with a mix of the old and new endpoint configurations. For information about how to remedy this issue and restore the endpoint's status to <code>InService</code>, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html">Rolling Deployments</a>.</p></li>
36 /// </ul>
37 pub endpoint_status: ::std::option::Option<crate::types::EndpointStatus>,
38 /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
39 pub failure_reason: ::std::option::Option<::std::string::String>,
40 /// <p>A timestamp that shows when the endpoint was created.</p>
41 pub creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
42 /// <p>A timestamp that shows when the endpoint was last modified.</p>
43 pub last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
44 /// <p>The most recent deployment configuration for the endpoint.</p>
45 pub last_deployment_config: ::std::option::Option<crate::types::DeploymentConfig>,
46 /// <p>Returns the description of an endpoint configuration created using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html"> <code>CreateEndpointConfig</code> </a> API.</p>
47 pub async_inference_config: ::std::option::Option<crate::types::AsyncInferenceConfig>,
48 /// <p>Returns the summary of an in-progress deployment. This field is only returned when the endpoint is creating or updating with a new endpoint configuration.</p>
49 pub pending_deployment_summary: ::std::option::Option<crate::types::PendingDeploymentSummary>,
50 /// <p>The configuration parameters for an explainer.</p>
51 pub explainer_config: ::std::option::Option<crate::types::ExplainerConfig>,
52 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on <code>ProductionVariants</code>.</p>
53 pub shadow_production_variants: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>,
54 /// <p>The configuration parameters for utilization metrics.</p>
55 pub metrics_config: ::std::option::Option<crate::types::MetricsConfig>,
56 _request_id: Option<String>,
57}
58impl DescribeEndpointOutput {
59 /// <p>Name of the endpoint.</p>
60 pub fn endpoint_name(&self) -> ::std::option::Option<&str> {
61 self.endpoint_name.as_deref()
62 }
63 /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
64 pub fn endpoint_arn(&self) -> ::std::option::Option<&str> {
65 self.endpoint_arn.as_deref()
66 }
67 /// <p>The name of the endpoint configuration associated with this endpoint.</p>
68 pub fn endpoint_config_name(&self) -> ::std::option::Option<&str> {
69 self.endpoint_config_name.as_deref()
70 }
71 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model hosted behind this endpoint.</p>
72 ///
73 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.production_variants.is_none()`.
74 pub fn production_variants(&self) -> &[crate::types::ProductionVariantSummary] {
75 self.production_variants.as_deref().unwrap_or_default()
76 }
77 /// <p>The currently active data capture configuration used by your Endpoint.</p>
78 pub fn data_capture_config(&self) -> ::std::option::Option<&crate::types::DataCaptureConfigSummary> {
79 self.data_capture_config.as_ref()
80 }
81 /// <p>The status of the endpoint.</p>
82 /// <ul>
83 /// <li>
84 /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
85 /// <li>
86 /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
87 /// <li>
88 /// <p><code>Updating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html">UpdateEndpoint</a> or <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> is executing.</p></li>
89 /// <li>
90 /// <p><code>SystemUpdating</code>: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.</p></li>
91 /// <li>
92 /// <p><code>RollingBack</code>: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an <code>InService</code> status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> call or when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> operation is called explicitly.</p></li>
93 /// <li>
94 /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
95 /// <li>
96 /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
97 /// <li>
98 /// <p><code>Failed</code>: Endpoint could not be created, updated, or re-scaled. Use the <code>FailureReason</code> value returned by <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> for information about the failure. <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is the only operation that can be performed on a failed endpoint.</p></li>
99 /// <li>
100 /// <p><code>UpdateRollbackFailed</code>: Both the rolling deployment and auto-rollback failed. Your endpoint is in service with a mix of the old and new endpoint configurations. For information about how to remedy this issue and restore the endpoint's status to <code>InService</code>, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html">Rolling Deployments</a>.</p></li>
101 /// </ul>
102 pub fn endpoint_status(&self) -> ::std::option::Option<&crate::types::EndpointStatus> {
103 self.endpoint_status.as_ref()
104 }
105 /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
106 pub fn failure_reason(&self) -> ::std::option::Option<&str> {
107 self.failure_reason.as_deref()
108 }
109 /// <p>A timestamp that shows when the endpoint was created.</p>
110 pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
111 self.creation_time.as_ref()
112 }
113 /// <p>A timestamp that shows when the endpoint was last modified.</p>
114 pub fn last_modified_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
115 self.last_modified_time.as_ref()
116 }
117 /// <p>The most recent deployment configuration for the endpoint.</p>
118 pub fn last_deployment_config(&self) -> ::std::option::Option<&crate::types::DeploymentConfig> {
119 self.last_deployment_config.as_ref()
120 }
121 /// <p>Returns the description of an endpoint configuration created using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html"> <code>CreateEndpointConfig</code> </a> API.</p>
122 pub fn async_inference_config(&self) -> ::std::option::Option<&crate::types::AsyncInferenceConfig> {
123 self.async_inference_config.as_ref()
124 }
125 /// <p>Returns the summary of an in-progress deployment. This field is only returned when the endpoint is creating or updating with a new endpoint configuration.</p>
126 pub fn pending_deployment_summary(&self) -> ::std::option::Option<&crate::types::PendingDeploymentSummary> {
127 self.pending_deployment_summary.as_ref()
128 }
129 /// <p>The configuration parameters for an explainer.</p>
130 pub fn explainer_config(&self) -> ::std::option::Option<&crate::types::ExplainerConfig> {
131 self.explainer_config.as_ref()
132 }
133 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on <code>ProductionVariants</code>.</p>
134 ///
135 /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.shadow_production_variants.is_none()`.
136 pub fn shadow_production_variants(&self) -> &[crate::types::ProductionVariantSummary] {
137 self.shadow_production_variants.as_deref().unwrap_or_default()
138 }
139 /// <p>The configuration parameters for utilization metrics.</p>
140 pub fn metrics_config(&self) -> ::std::option::Option<&crate::types::MetricsConfig> {
141 self.metrics_config.as_ref()
142 }
143}
144impl ::aws_types::request_id::RequestId for DescribeEndpointOutput {
145 fn request_id(&self) -> Option<&str> {
146 self._request_id.as_deref()
147 }
148}
149impl DescribeEndpointOutput {
150 /// Creates a new builder-style object to manufacture [`DescribeEndpointOutput`](crate::operation::describe_endpoint::DescribeEndpointOutput).
151 pub fn builder() -> crate::operation::describe_endpoint::builders::DescribeEndpointOutputBuilder {
152 crate::operation::describe_endpoint::builders::DescribeEndpointOutputBuilder::default()
153 }
154}
155
156/// A builder for [`DescribeEndpointOutput`](crate::operation::describe_endpoint::DescribeEndpointOutput).
157#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
158#[non_exhaustive]
159pub struct DescribeEndpointOutputBuilder {
160 pub(crate) endpoint_name: ::std::option::Option<::std::string::String>,
161 pub(crate) endpoint_arn: ::std::option::Option<::std::string::String>,
162 pub(crate) endpoint_config_name: ::std::option::Option<::std::string::String>,
163 pub(crate) production_variants: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>,
164 pub(crate) data_capture_config: ::std::option::Option<crate::types::DataCaptureConfigSummary>,
165 pub(crate) endpoint_status: ::std::option::Option<crate::types::EndpointStatus>,
166 pub(crate) failure_reason: ::std::option::Option<::std::string::String>,
167 pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
168 pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
169 pub(crate) last_deployment_config: ::std::option::Option<crate::types::DeploymentConfig>,
170 pub(crate) async_inference_config: ::std::option::Option<crate::types::AsyncInferenceConfig>,
171 pub(crate) pending_deployment_summary: ::std::option::Option<crate::types::PendingDeploymentSummary>,
172 pub(crate) explainer_config: ::std::option::Option<crate::types::ExplainerConfig>,
173 pub(crate) shadow_production_variants: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>,
174 pub(crate) metrics_config: ::std::option::Option<crate::types::MetricsConfig>,
175 _request_id: Option<String>,
176}
177impl DescribeEndpointOutputBuilder {
178 /// <p>Name of the endpoint.</p>
179 /// This field is required.
180 pub fn endpoint_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
181 self.endpoint_name = ::std::option::Option::Some(input.into());
182 self
183 }
184 /// <p>Name of the endpoint.</p>
185 pub fn set_endpoint_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186 self.endpoint_name = input;
187 self
188 }
189 /// <p>Name of the endpoint.</p>
190 pub fn get_endpoint_name(&self) -> &::std::option::Option<::std::string::String> {
191 &self.endpoint_name
192 }
193 /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
194 /// This field is required.
195 pub fn endpoint_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
196 self.endpoint_arn = ::std::option::Option::Some(input.into());
197 self
198 }
199 /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
200 pub fn set_endpoint_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
201 self.endpoint_arn = input;
202 self
203 }
204 /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
205 pub fn get_endpoint_arn(&self) -> &::std::option::Option<::std::string::String> {
206 &self.endpoint_arn
207 }
208 /// <p>The name of the endpoint configuration associated with this endpoint.</p>
209 pub fn endpoint_config_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
210 self.endpoint_config_name = ::std::option::Option::Some(input.into());
211 self
212 }
213 /// <p>The name of the endpoint configuration associated with this endpoint.</p>
214 pub fn set_endpoint_config_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
215 self.endpoint_config_name = input;
216 self
217 }
218 /// <p>The name of the endpoint configuration associated with this endpoint.</p>
219 pub fn get_endpoint_config_name(&self) -> &::std::option::Option<::std::string::String> {
220 &self.endpoint_config_name
221 }
222 /// Appends an item to `production_variants`.
223 ///
224 /// To override the contents of this collection use [`set_production_variants`](Self::set_production_variants).
225 ///
226 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model hosted behind this endpoint.</p>
227 pub fn production_variants(mut self, input: crate::types::ProductionVariantSummary) -> Self {
228 let mut v = self.production_variants.unwrap_or_default();
229 v.push(input);
230 self.production_variants = ::std::option::Option::Some(v);
231 self
232 }
233 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model hosted behind this endpoint.</p>
234 pub fn set_production_variants(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>) -> Self {
235 self.production_variants = input;
236 self
237 }
238 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model hosted behind this endpoint.</p>
239 pub fn get_production_variants(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>> {
240 &self.production_variants
241 }
242 /// <p>The currently active data capture configuration used by your Endpoint.</p>
243 pub fn data_capture_config(mut self, input: crate::types::DataCaptureConfigSummary) -> Self {
244 self.data_capture_config = ::std::option::Option::Some(input);
245 self
246 }
247 /// <p>The currently active data capture configuration used by your Endpoint.</p>
248 pub fn set_data_capture_config(mut self, input: ::std::option::Option<crate::types::DataCaptureConfigSummary>) -> Self {
249 self.data_capture_config = input;
250 self
251 }
252 /// <p>The currently active data capture configuration used by your Endpoint.</p>
253 pub fn get_data_capture_config(&self) -> &::std::option::Option<crate::types::DataCaptureConfigSummary> {
254 &self.data_capture_config
255 }
256 /// <p>The status of the endpoint.</p>
257 /// <ul>
258 /// <li>
259 /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
260 /// <li>
261 /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
262 /// <li>
263 /// <p><code>Updating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html">UpdateEndpoint</a> or <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> is executing.</p></li>
264 /// <li>
265 /// <p><code>SystemUpdating</code>: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.</p></li>
266 /// <li>
267 /// <p><code>RollingBack</code>: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an <code>InService</code> status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> call or when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> operation is called explicitly.</p></li>
268 /// <li>
269 /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
270 /// <li>
271 /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
272 /// <li>
273 /// <p><code>Failed</code>: Endpoint could not be created, updated, or re-scaled. Use the <code>FailureReason</code> value returned by <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> for information about the failure. <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is the only operation that can be performed on a failed endpoint.</p></li>
274 /// <li>
275 /// <p><code>UpdateRollbackFailed</code>: Both the rolling deployment and auto-rollback failed. Your endpoint is in service with a mix of the old and new endpoint configurations. For information about how to remedy this issue and restore the endpoint's status to <code>InService</code>, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html">Rolling Deployments</a>.</p></li>
276 /// </ul>
277 /// This field is required.
278 pub fn endpoint_status(mut self, input: crate::types::EndpointStatus) -> Self {
279 self.endpoint_status = ::std::option::Option::Some(input);
280 self
281 }
282 /// <p>The status of the endpoint.</p>
283 /// <ul>
284 /// <li>
285 /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
286 /// <li>
287 /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
288 /// <li>
289 /// <p><code>Updating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html">UpdateEndpoint</a> or <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> is executing.</p></li>
290 /// <li>
291 /// <p><code>SystemUpdating</code>: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.</p></li>
292 /// <li>
293 /// <p><code>RollingBack</code>: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an <code>InService</code> status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> call or when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> operation is called explicitly.</p></li>
294 /// <li>
295 /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
296 /// <li>
297 /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
298 /// <li>
299 /// <p><code>Failed</code>: Endpoint could not be created, updated, or re-scaled. Use the <code>FailureReason</code> value returned by <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> for information about the failure. <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is the only operation that can be performed on a failed endpoint.</p></li>
300 /// <li>
301 /// <p><code>UpdateRollbackFailed</code>: Both the rolling deployment and auto-rollback failed. Your endpoint is in service with a mix of the old and new endpoint configurations. For information about how to remedy this issue and restore the endpoint's status to <code>InService</code>, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html">Rolling Deployments</a>.</p></li>
302 /// </ul>
303 pub fn set_endpoint_status(mut self, input: ::std::option::Option<crate::types::EndpointStatus>) -> Self {
304 self.endpoint_status = input;
305 self
306 }
307 /// <p>The status of the endpoint.</p>
308 /// <ul>
309 /// <li>
310 /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
311 /// <li>
312 /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
313 /// <li>
314 /// <p><code>Updating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpoint.html">UpdateEndpoint</a> or <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> is executing.</p></li>
315 /// <li>
316 /// <p><code>SystemUpdating</code>: Endpoint is undergoing maintenance and cannot be updated or deleted or re-scaled until it has completed. This maintenance operation does not change any customer-specified values such as VPC config, KMS encryption, model, instance type, or instance count.</p></li>
317 /// <li>
318 /// <p><code>RollingBack</code>: Endpoint fails to scale up or down or change its variant weight and is in the process of rolling back to its previous configuration. Once the rollback completes, endpoint returns to an <code>InService</code> status. This transitional status only applies to an endpoint that has autoscaling enabled and is undergoing variant weight or capacity changes as part of an <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> call or when the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_UpdateEndpointWeightsAndCapacities.html">UpdateEndpointWeightsAndCapacities</a> operation is called explicitly.</p></li>
319 /// <li>
320 /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
321 /// <li>
322 /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
323 /// <li>
324 /// <p><code>Failed</code>: Endpoint could not be created, updated, or re-scaled. Use the <code>FailureReason</code> value returned by <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DescribeEndpoint.html">DescribeEndpoint</a> for information about the failure. <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is the only operation that can be performed on a failed endpoint.</p></li>
325 /// <li>
326 /// <p><code>UpdateRollbackFailed</code>: Both the rolling deployment and auto-rollback failed. Your endpoint is in service with a mix of the old and new endpoint configurations. For information about how to remedy this issue and restore the endpoint's status to <code>InService</code>, see <a href="https://docs.aws.amazon.com/sagemaker/latest/dg/deployment-guardrails-rolling.html">Rolling Deployments</a>.</p></li>
327 /// </ul>
328 pub fn get_endpoint_status(&self) -> &::std::option::Option<crate::types::EndpointStatus> {
329 &self.endpoint_status
330 }
331 /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
332 pub fn failure_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
333 self.failure_reason = ::std::option::Option::Some(input.into());
334 self
335 }
336 /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
337 pub fn set_failure_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
338 self.failure_reason = input;
339 self
340 }
341 /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
342 pub fn get_failure_reason(&self) -> &::std::option::Option<::std::string::String> {
343 &self.failure_reason
344 }
345 /// <p>A timestamp that shows when the endpoint was created.</p>
346 /// This field is required.
347 pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
348 self.creation_time = ::std::option::Option::Some(input);
349 self
350 }
351 /// <p>A timestamp that shows when the endpoint was created.</p>
352 pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
353 self.creation_time = input;
354 self
355 }
356 /// <p>A timestamp that shows when the endpoint was created.</p>
357 pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
358 &self.creation_time
359 }
360 /// <p>A timestamp that shows when the endpoint was last modified.</p>
361 /// This field is required.
362 pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
363 self.last_modified_time = ::std::option::Option::Some(input);
364 self
365 }
366 /// <p>A timestamp that shows when the endpoint was last modified.</p>
367 pub fn set_last_modified_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
368 self.last_modified_time = input;
369 self
370 }
371 /// <p>A timestamp that shows when the endpoint was last modified.</p>
372 pub fn get_last_modified_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
373 &self.last_modified_time
374 }
375 /// <p>The most recent deployment configuration for the endpoint.</p>
376 pub fn last_deployment_config(mut self, input: crate::types::DeploymentConfig) -> Self {
377 self.last_deployment_config = ::std::option::Option::Some(input);
378 self
379 }
380 /// <p>The most recent deployment configuration for the endpoint.</p>
381 pub fn set_last_deployment_config(mut self, input: ::std::option::Option<crate::types::DeploymentConfig>) -> Self {
382 self.last_deployment_config = input;
383 self
384 }
385 /// <p>The most recent deployment configuration for the endpoint.</p>
386 pub fn get_last_deployment_config(&self) -> &::std::option::Option<crate::types::DeploymentConfig> {
387 &self.last_deployment_config
388 }
389 /// <p>Returns the description of an endpoint configuration created using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html"> <code>CreateEndpointConfig</code> </a> API.</p>
390 pub fn async_inference_config(mut self, input: crate::types::AsyncInferenceConfig) -> Self {
391 self.async_inference_config = ::std::option::Option::Some(input);
392 self
393 }
394 /// <p>Returns the description of an endpoint configuration created using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html"> <code>CreateEndpointConfig</code> </a> API.</p>
395 pub fn set_async_inference_config(mut self, input: ::std::option::Option<crate::types::AsyncInferenceConfig>) -> Self {
396 self.async_inference_config = input;
397 self
398 }
399 /// <p>Returns the description of an endpoint configuration created using the <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpointConfig.html"> <code>CreateEndpointConfig</code> </a> API.</p>
400 pub fn get_async_inference_config(&self) -> &::std::option::Option<crate::types::AsyncInferenceConfig> {
401 &self.async_inference_config
402 }
403 /// <p>Returns the summary of an in-progress deployment. This field is only returned when the endpoint is creating or updating with a new endpoint configuration.</p>
404 pub fn pending_deployment_summary(mut self, input: crate::types::PendingDeploymentSummary) -> Self {
405 self.pending_deployment_summary = ::std::option::Option::Some(input);
406 self
407 }
408 /// <p>Returns the summary of an in-progress deployment. This field is only returned when the endpoint is creating or updating with a new endpoint configuration.</p>
409 pub fn set_pending_deployment_summary(mut self, input: ::std::option::Option<crate::types::PendingDeploymentSummary>) -> Self {
410 self.pending_deployment_summary = input;
411 self
412 }
413 /// <p>Returns the summary of an in-progress deployment. This field is only returned when the endpoint is creating or updating with a new endpoint configuration.</p>
414 pub fn get_pending_deployment_summary(&self) -> &::std::option::Option<crate::types::PendingDeploymentSummary> {
415 &self.pending_deployment_summary
416 }
417 /// <p>The configuration parameters for an explainer.</p>
418 pub fn explainer_config(mut self, input: crate::types::ExplainerConfig) -> Self {
419 self.explainer_config = ::std::option::Option::Some(input);
420 self
421 }
422 /// <p>The configuration parameters for an explainer.</p>
423 pub fn set_explainer_config(mut self, input: ::std::option::Option<crate::types::ExplainerConfig>) -> Self {
424 self.explainer_config = input;
425 self
426 }
427 /// <p>The configuration parameters for an explainer.</p>
428 pub fn get_explainer_config(&self) -> &::std::option::Option<crate::types::ExplainerConfig> {
429 &self.explainer_config
430 }
431 /// Appends an item to `shadow_production_variants`.
432 ///
433 /// To override the contents of this collection use [`set_shadow_production_variants`](Self::set_shadow_production_variants).
434 ///
435 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on <code>ProductionVariants</code>.</p>
436 pub fn shadow_production_variants(mut self, input: crate::types::ProductionVariantSummary) -> Self {
437 let mut v = self.shadow_production_variants.unwrap_or_default();
438 v.push(input);
439 self.shadow_production_variants = ::std::option::Option::Some(v);
440 self
441 }
442 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on <code>ProductionVariants</code>.</p>
443 pub fn set_shadow_production_variants(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>) -> Self {
444 self.shadow_production_variants = input;
445 self
446 }
447 /// <p>An array of <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_ProductionVariantSummary.html">ProductionVariantSummary</a> objects, one for each model that you want to host at this endpoint in shadow mode with production traffic replicated from the model specified on <code>ProductionVariants</code>.</p>
448 pub fn get_shadow_production_variants(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>> {
449 &self.shadow_production_variants
450 }
451 /// <p>The configuration parameters for utilization metrics.</p>
452 pub fn metrics_config(mut self, input: crate::types::MetricsConfig) -> Self {
453 self.metrics_config = ::std::option::Option::Some(input);
454 self
455 }
456 /// <p>The configuration parameters for utilization metrics.</p>
457 pub fn set_metrics_config(mut self, input: ::std::option::Option<crate::types::MetricsConfig>) -> Self {
458 self.metrics_config = input;
459 self
460 }
461 /// <p>The configuration parameters for utilization metrics.</p>
462 pub fn get_metrics_config(&self) -> &::std::option::Option<crate::types::MetricsConfig> {
463 &self.metrics_config
464 }
465 pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
466 self._request_id = Some(request_id.into());
467 self
468 }
469
470 pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
471 self._request_id = request_id;
472 self
473 }
474 /// Consumes the builder and constructs a [`DescribeEndpointOutput`](crate::operation::describe_endpoint::DescribeEndpointOutput).
475 pub fn build(self) -> crate::operation::describe_endpoint::DescribeEndpointOutput {
476 crate::operation::describe_endpoint::DescribeEndpointOutput {
477 endpoint_name: self.endpoint_name,
478 endpoint_arn: self.endpoint_arn,
479 endpoint_config_name: self.endpoint_config_name,
480 production_variants: self.production_variants,
481 data_capture_config: self.data_capture_config,
482 endpoint_status: self.endpoint_status,
483 failure_reason: self.failure_reason,
484 creation_time: self.creation_time,
485 last_modified_time: self.last_modified_time,
486 last_deployment_config: self.last_deployment_config,
487 async_inference_config: self.async_inference_config,
488 pending_deployment_summary: self.pending_deployment_summary,
489 explainer_config: self.explainer_config,
490 shadow_production_variants: self.shadow_production_variants,
491 metrics_config: self.metrics_config,
492 _request_id: self._request_id,
493 }
494 }
495}