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    _request_id: Option<String>,
55}
56impl DescribeEndpointOutput {
57    /// <p>Name of the endpoint.</p>
58    pub fn endpoint_name(&self) -> ::std::option::Option<&str> {
59        self.endpoint_name.as_deref()
60    }
61    /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
62    pub fn endpoint_arn(&self) -> ::std::option::Option<&str> {
63        self.endpoint_arn.as_deref()
64    }
65    /// <p>The name of the endpoint configuration associated with this endpoint.</p>
66    pub fn endpoint_config_name(&self) -> ::std::option::Option<&str> {
67        self.endpoint_config_name.as_deref()
68    }
69    /// <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>
70    ///
71    /// 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()`.
72    pub fn production_variants(&self) -> &[crate::types::ProductionVariantSummary] {
73        self.production_variants.as_deref().unwrap_or_default()
74    }
75    /// <p>The currently active data capture configuration used by your Endpoint.</p>
76    pub fn data_capture_config(&self) -> ::std::option::Option<&crate::types::DataCaptureConfigSummary> {
77        self.data_capture_config.as_ref()
78    }
79    /// <p>The status of the endpoint.</p>
80    /// <ul>
81    /// <li>
82    /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
83    /// <li>
84    /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
85    /// <li>
86    /// <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>
87    /// <li>
88    /// <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>
89    /// <li>
90    /// <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>
91    /// <li>
92    /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
93    /// <li>
94    /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
95    /// <li>
96    /// <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>
97    /// <li>
98    /// <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>
99    /// </ul>
100    pub fn endpoint_status(&self) -> ::std::option::Option<&crate::types::EndpointStatus> {
101        self.endpoint_status.as_ref()
102    }
103    /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
104    pub fn failure_reason(&self) -> ::std::option::Option<&str> {
105        self.failure_reason.as_deref()
106    }
107    /// <p>A timestamp that shows when the endpoint was created.</p>
108    pub fn creation_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
109        self.creation_time.as_ref()
110    }
111    /// <p>A timestamp that shows when the endpoint was last modified.</p>
112    pub fn last_modified_time(&self) -> ::std::option::Option<&::aws_smithy_types::DateTime> {
113        self.last_modified_time.as_ref()
114    }
115    /// <p>The most recent deployment configuration for the endpoint.</p>
116    pub fn last_deployment_config(&self) -> ::std::option::Option<&crate::types::DeploymentConfig> {
117        self.last_deployment_config.as_ref()
118    }
119    /// <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>
120    pub fn async_inference_config(&self) -> ::std::option::Option<&crate::types::AsyncInferenceConfig> {
121        self.async_inference_config.as_ref()
122    }
123    /// <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>
124    pub fn pending_deployment_summary(&self) -> ::std::option::Option<&crate::types::PendingDeploymentSummary> {
125        self.pending_deployment_summary.as_ref()
126    }
127    /// <p>The configuration parameters for an explainer.</p>
128    pub fn explainer_config(&self) -> ::std::option::Option<&crate::types::ExplainerConfig> {
129        self.explainer_config.as_ref()
130    }
131    /// <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>
132    ///
133    /// 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()`.
134    pub fn shadow_production_variants(&self) -> &[crate::types::ProductionVariantSummary] {
135        self.shadow_production_variants.as_deref().unwrap_or_default()
136    }
137}
138impl ::aws_types::request_id::RequestId for DescribeEndpointOutput {
139    fn request_id(&self) -> Option<&str> {
140        self._request_id.as_deref()
141    }
142}
143impl DescribeEndpointOutput {
144    /// Creates a new builder-style object to manufacture [`DescribeEndpointOutput`](crate::operation::describe_endpoint::DescribeEndpointOutput).
145    pub fn builder() -> crate::operation::describe_endpoint::builders::DescribeEndpointOutputBuilder {
146        crate::operation::describe_endpoint::builders::DescribeEndpointOutputBuilder::default()
147    }
148}
149
150/// A builder for [`DescribeEndpointOutput`](crate::operation::describe_endpoint::DescribeEndpointOutput).
151#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
152#[non_exhaustive]
153pub struct DescribeEndpointOutputBuilder {
154    pub(crate) endpoint_name: ::std::option::Option<::std::string::String>,
155    pub(crate) endpoint_arn: ::std::option::Option<::std::string::String>,
156    pub(crate) endpoint_config_name: ::std::option::Option<::std::string::String>,
157    pub(crate) production_variants: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>,
158    pub(crate) data_capture_config: ::std::option::Option<crate::types::DataCaptureConfigSummary>,
159    pub(crate) endpoint_status: ::std::option::Option<crate::types::EndpointStatus>,
160    pub(crate) failure_reason: ::std::option::Option<::std::string::String>,
161    pub(crate) creation_time: ::std::option::Option<::aws_smithy_types::DateTime>,
162    pub(crate) last_modified_time: ::std::option::Option<::aws_smithy_types::DateTime>,
163    pub(crate) last_deployment_config: ::std::option::Option<crate::types::DeploymentConfig>,
164    pub(crate) async_inference_config: ::std::option::Option<crate::types::AsyncInferenceConfig>,
165    pub(crate) pending_deployment_summary: ::std::option::Option<crate::types::PendingDeploymentSummary>,
166    pub(crate) explainer_config: ::std::option::Option<crate::types::ExplainerConfig>,
167    pub(crate) shadow_production_variants: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>,
168    _request_id: Option<String>,
169}
170impl DescribeEndpointOutputBuilder {
171    /// <p>Name of the endpoint.</p>
172    /// This field is required.
173    pub fn endpoint_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
174        self.endpoint_name = ::std::option::Option::Some(input.into());
175        self
176    }
177    /// <p>Name of the endpoint.</p>
178    pub fn set_endpoint_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
179        self.endpoint_name = input;
180        self
181    }
182    /// <p>Name of the endpoint.</p>
183    pub fn get_endpoint_name(&self) -> &::std::option::Option<::std::string::String> {
184        &self.endpoint_name
185    }
186    /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
187    /// This field is required.
188    pub fn endpoint_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
189        self.endpoint_arn = ::std::option::Option::Some(input.into());
190        self
191    }
192    /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
193    pub fn set_endpoint_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
194        self.endpoint_arn = input;
195        self
196    }
197    /// <p>The Amazon Resource Name (ARN) of the endpoint.</p>
198    pub fn get_endpoint_arn(&self) -> &::std::option::Option<::std::string::String> {
199        &self.endpoint_arn
200    }
201    /// <p>The name of the endpoint configuration associated with this endpoint.</p>
202    pub fn endpoint_config_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
203        self.endpoint_config_name = ::std::option::Option::Some(input.into());
204        self
205    }
206    /// <p>The name of the endpoint configuration associated with this endpoint.</p>
207    pub fn set_endpoint_config_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
208        self.endpoint_config_name = input;
209        self
210    }
211    /// <p>The name of the endpoint configuration associated with this endpoint.</p>
212    pub fn get_endpoint_config_name(&self) -> &::std::option::Option<::std::string::String> {
213        &self.endpoint_config_name
214    }
215    /// Appends an item to `production_variants`.
216    ///
217    /// To override the contents of this collection use [`set_production_variants`](Self::set_production_variants).
218    ///
219    /// <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>
220    pub fn production_variants(mut self, input: crate::types::ProductionVariantSummary) -> Self {
221        let mut v = self.production_variants.unwrap_or_default();
222        v.push(input);
223        self.production_variants = ::std::option::Option::Some(v);
224        self
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 set_production_variants(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>) -> Self {
228        self.production_variants = input;
229        self
230    }
231    /// <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>
232    pub fn get_production_variants(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>> {
233        &self.production_variants
234    }
235    /// <p>The currently active data capture configuration used by your Endpoint.</p>
236    pub fn data_capture_config(mut self, input: crate::types::DataCaptureConfigSummary) -> Self {
237        self.data_capture_config = ::std::option::Option::Some(input);
238        self
239    }
240    /// <p>The currently active data capture configuration used by your Endpoint.</p>
241    pub fn set_data_capture_config(mut self, input: ::std::option::Option<crate::types::DataCaptureConfigSummary>) -> Self {
242        self.data_capture_config = input;
243        self
244    }
245    /// <p>The currently active data capture configuration used by your Endpoint.</p>
246    pub fn get_data_capture_config(&self) -> &::std::option::Option<crate::types::DataCaptureConfigSummary> {
247        &self.data_capture_config
248    }
249    /// <p>The status of the endpoint.</p>
250    /// <ul>
251    /// <li>
252    /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
253    /// <li>
254    /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
255    /// <li>
256    /// <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>
257    /// <li>
258    /// <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>
259    /// <li>
260    /// <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>
261    /// <li>
262    /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
263    /// <li>
264    /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
265    /// <li>
266    /// <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>
267    /// <li>
268    /// <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>
269    /// </ul>
270    /// This field is required.
271    pub fn endpoint_status(mut self, input: crate::types::EndpointStatus) -> Self {
272        self.endpoint_status = ::std::option::Option::Some(input);
273        self
274    }
275    /// <p>The status of the endpoint.</p>
276    /// <ul>
277    /// <li>
278    /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
279    /// <li>
280    /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
281    /// <li>
282    /// <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>
283    /// <li>
284    /// <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>
285    /// <li>
286    /// <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>
287    /// <li>
288    /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
289    /// <li>
290    /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
291    /// <li>
292    /// <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>
293    /// <li>
294    /// <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>
295    /// </ul>
296    pub fn set_endpoint_status(mut self, input: ::std::option::Option<crate::types::EndpointStatus>) -> Self {
297        self.endpoint_status = input;
298        self
299    }
300    /// <p>The status of the endpoint.</p>
301    /// <ul>
302    /// <li>
303    /// <p><code>OutOfService</code>: Endpoint is not available to take incoming requests.</p></li>
304    /// <li>
305    /// <p><code>Creating</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_CreateEndpoint.html">CreateEndpoint</a> is executing.</p></li>
306    /// <li>
307    /// <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>
308    /// <li>
309    /// <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>
310    /// <li>
311    /// <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>
312    /// <li>
313    /// <p><code>InService</code>: Endpoint is available to process incoming requests.</p></li>
314    /// <li>
315    /// <p><code>Deleting</code>: <a href="https://docs.aws.amazon.com/sagemaker/latest/APIReference/API_DeleteEndpoint.html">DeleteEndpoint</a> is executing.</p></li>
316    /// <li>
317    /// <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>
318    /// <li>
319    /// <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>
320    /// </ul>
321    pub fn get_endpoint_status(&self) -> &::std::option::Option<crate::types::EndpointStatus> {
322        &self.endpoint_status
323    }
324    /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
325    pub fn failure_reason(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
326        self.failure_reason = ::std::option::Option::Some(input.into());
327        self
328    }
329    /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
330    pub fn set_failure_reason(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
331        self.failure_reason = input;
332        self
333    }
334    /// <p>If the status of the endpoint is <code>Failed</code>, the reason why it failed.</p>
335    pub fn get_failure_reason(&self) -> &::std::option::Option<::std::string::String> {
336        &self.failure_reason
337    }
338    /// <p>A timestamp that shows when the endpoint was created.</p>
339    /// This field is required.
340    pub fn creation_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
341        self.creation_time = ::std::option::Option::Some(input);
342        self
343    }
344    /// <p>A timestamp that shows when the endpoint was created.</p>
345    pub fn set_creation_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
346        self.creation_time = input;
347        self
348    }
349    /// <p>A timestamp that shows when the endpoint was created.</p>
350    pub fn get_creation_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
351        &self.creation_time
352    }
353    /// <p>A timestamp that shows when the endpoint was last modified.</p>
354    /// This field is required.
355    pub fn last_modified_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
356        self.last_modified_time = ::std::option::Option::Some(input);
357        self
358    }
359    /// <p>A timestamp that shows when the endpoint was last modified.</p>
360    pub fn set_last_modified_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
361        self.last_modified_time = input;
362        self
363    }
364    /// <p>A timestamp that shows when the endpoint was last modified.</p>
365    pub fn get_last_modified_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
366        &self.last_modified_time
367    }
368    /// <p>The most recent deployment configuration for the endpoint.</p>
369    pub fn last_deployment_config(mut self, input: crate::types::DeploymentConfig) -> Self {
370        self.last_deployment_config = ::std::option::Option::Some(input);
371        self
372    }
373    /// <p>The most recent deployment configuration for the endpoint.</p>
374    pub fn set_last_deployment_config(mut self, input: ::std::option::Option<crate::types::DeploymentConfig>) -> Self {
375        self.last_deployment_config = input;
376        self
377    }
378    /// <p>The most recent deployment configuration for the endpoint.</p>
379    pub fn get_last_deployment_config(&self) -> &::std::option::Option<crate::types::DeploymentConfig> {
380        &self.last_deployment_config
381    }
382    /// <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>
383    pub fn async_inference_config(mut self, input: crate::types::AsyncInferenceConfig) -> Self {
384        self.async_inference_config = ::std::option::Option::Some(input);
385        self
386    }
387    /// <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>
388    pub fn set_async_inference_config(mut self, input: ::std::option::Option<crate::types::AsyncInferenceConfig>) -> Self {
389        self.async_inference_config = input;
390        self
391    }
392    /// <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>
393    pub fn get_async_inference_config(&self) -> &::std::option::Option<crate::types::AsyncInferenceConfig> {
394        &self.async_inference_config
395    }
396    /// <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>
397    pub fn pending_deployment_summary(mut self, input: crate::types::PendingDeploymentSummary) -> Self {
398        self.pending_deployment_summary = ::std::option::Option::Some(input);
399        self
400    }
401    /// <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>
402    pub fn set_pending_deployment_summary(mut self, input: ::std::option::Option<crate::types::PendingDeploymentSummary>) -> Self {
403        self.pending_deployment_summary = input;
404        self
405    }
406    /// <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>
407    pub fn get_pending_deployment_summary(&self) -> &::std::option::Option<crate::types::PendingDeploymentSummary> {
408        &self.pending_deployment_summary
409    }
410    /// <p>The configuration parameters for an explainer.</p>
411    pub fn explainer_config(mut self, input: crate::types::ExplainerConfig) -> Self {
412        self.explainer_config = ::std::option::Option::Some(input);
413        self
414    }
415    /// <p>The configuration parameters for an explainer.</p>
416    pub fn set_explainer_config(mut self, input: ::std::option::Option<crate::types::ExplainerConfig>) -> Self {
417        self.explainer_config = input;
418        self
419    }
420    /// <p>The configuration parameters for an explainer.</p>
421    pub fn get_explainer_config(&self) -> &::std::option::Option<crate::types::ExplainerConfig> {
422        &self.explainer_config
423    }
424    /// Appends an item to `shadow_production_variants`.
425    ///
426    /// To override the contents of this collection use [`set_shadow_production_variants`](Self::set_shadow_production_variants).
427    ///
428    /// <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>
429    pub fn shadow_production_variants(mut self, input: crate::types::ProductionVariantSummary) -> Self {
430        let mut v = self.shadow_production_variants.unwrap_or_default();
431        v.push(input);
432        self.shadow_production_variants = ::std::option::Option::Some(v);
433        self
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 set_shadow_production_variants(mut self, input: ::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>>) -> Self {
437        self.shadow_production_variants = input;
438        self
439    }
440    /// <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>
441    pub fn get_shadow_production_variants(&self) -> &::std::option::Option<::std::vec::Vec<crate::types::ProductionVariantSummary>> {
442        &self.shadow_production_variants
443    }
444    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
445        self._request_id = Some(request_id.into());
446        self
447    }
448
449    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
450        self._request_id = request_id;
451        self
452    }
453    /// Consumes the builder and constructs a [`DescribeEndpointOutput`](crate::operation::describe_endpoint::DescribeEndpointOutput).
454    pub fn build(self) -> crate::operation::describe_endpoint::DescribeEndpointOutput {
455        crate::operation::describe_endpoint::DescribeEndpointOutput {
456            endpoint_name: self.endpoint_name,
457            endpoint_arn: self.endpoint_arn,
458            endpoint_config_name: self.endpoint_config_name,
459            production_variants: self.production_variants,
460            data_capture_config: self.data_capture_config,
461            endpoint_status: self.endpoint_status,
462            failure_reason: self.failure_reason,
463            creation_time: self.creation_time,
464            last_modified_time: self.last_modified_time,
465            last_deployment_config: self.last_deployment_config,
466            async_inference_config: self.async_inference_config,
467            pending_deployment_summary: self.pending_deployment_summary,
468            explainer_config: self.explainer_config,
469            shadow_production_variants: self.shadow_production_variants,
470            _request_id: self._request_id,
471        }
472    }
473}