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}