aws_sdk_cloudhsm/operation/describe_hsm/
_describe_hsm_output.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2
3/// <p>Contains the output of the <code>DescribeHsm</code> operation.</p>
4#[non_exhaustive]
5#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::fmt::Debug)]
6pub struct DescribeHsmOutput {
7    /// <p>The ARN of the HSM.</p>
8    pub hsm_arn: ::std::option::Option<::std::string::String>,
9    /// <p>The status of the HSM.</p>
10    pub status: ::std::option::Option<crate::types::HsmStatus>,
11    /// <p>Contains additional information about the status of the HSM.</p>
12    pub status_details: ::std::option::Option<::std::string::String>,
13    /// <p>The Availability Zone that the HSM is in.</p>
14    pub availability_zone: ::std::option::Option<::std::string::String>,
15    /// <p>The identifier of the elastic network interface (ENI) attached to the HSM.</p>
16    pub eni_id: ::std::option::Option<::std::string::String>,
17    /// <p>The IP address assigned to the HSM's ENI.</p>
18    pub eni_ip: ::std::option::Option<::std::string::String>,
19    /// <p>Specifies the type of subscription for the HSM.</p>
20    /// <ul>
21    /// <li>
22    /// <p><b>PRODUCTION</b> - The HSM is being used in a production environment.</p></li>
23    /// <li>
24    /// <p><b>TRIAL</b> - The HSM is being used in a product trial.</p></li>
25    /// </ul>
26    pub subscription_type: ::std::option::Option<crate::types::SubscriptionType>,
27    /// <p>The subscription start date.</p>
28    pub subscription_start_date: ::std::option::Option<::std::string::String>,
29    /// <p>The subscription end date.</p>
30    pub subscription_end_date: ::std::option::Option<::std::string::String>,
31    /// <p>The identifier of the VPC that the HSM is in.</p>
32    pub vpc_id: ::std::option::Option<::std::string::String>,
33    /// <p>The identifier of the subnet that the HSM is in.</p>
34    pub subnet_id: ::std::option::Option<::std::string::String>,
35    /// <p>The ARN of the IAM role assigned to the HSM.</p>
36    pub iam_role_arn: ::std::option::Option<::std::string::String>,
37    /// <p>The serial number of the HSM.</p>
38    pub serial_number: ::std::option::Option<::std::string::String>,
39    /// <p>The name of the HSM vendor.</p>
40    pub vendor_name: ::std::option::Option<::std::string::String>,
41    /// <p>The HSM model type.</p>
42    pub hsm_type: ::std::option::Option<::std::string::String>,
43    /// <p>The HSM software version.</p>
44    pub software_version: ::std::option::Option<::std::string::String>,
45    /// <p>The public SSH key.</p>
46    pub ssh_public_key: ::std::option::Option<::std::string::String>,
47    /// <p>The date and time that the SSH key was last updated.</p>
48    pub ssh_key_last_updated: ::std::option::Option<::std::string::String>,
49    /// <p>The URI of the certificate server.</p>
50    pub server_cert_uri: ::std::option::Option<::std::string::String>,
51    /// <p>The date and time that the server certificate was last updated.</p>
52    pub server_cert_last_updated: ::std::option::Option<::std::string::String>,
53    /// <p>The list of partitions on the HSM.</p>
54    pub partitions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
55    _request_id: Option<String>,
56}
57impl DescribeHsmOutput {
58    /// <p>The ARN of the HSM.</p>
59    pub fn hsm_arn(&self) -> ::std::option::Option<&str> {
60        self.hsm_arn.as_deref()
61    }
62    /// <p>The status of the HSM.</p>
63    pub fn status(&self) -> ::std::option::Option<&crate::types::HsmStatus> {
64        self.status.as_ref()
65    }
66    /// <p>Contains additional information about the status of the HSM.</p>
67    pub fn status_details(&self) -> ::std::option::Option<&str> {
68        self.status_details.as_deref()
69    }
70    /// <p>The Availability Zone that the HSM is in.</p>
71    pub fn availability_zone(&self) -> ::std::option::Option<&str> {
72        self.availability_zone.as_deref()
73    }
74    /// <p>The identifier of the elastic network interface (ENI) attached to the HSM.</p>
75    pub fn eni_id(&self) -> ::std::option::Option<&str> {
76        self.eni_id.as_deref()
77    }
78    /// <p>The IP address assigned to the HSM's ENI.</p>
79    pub fn eni_ip(&self) -> ::std::option::Option<&str> {
80        self.eni_ip.as_deref()
81    }
82    /// <p>Specifies the type of subscription for the HSM.</p>
83    /// <ul>
84    /// <li>
85    /// <p><b>PRODUCTION</b> - The HSM is being used in a production environment.</p></li>
86    /// <li>
87    /// <p><b>TRIAL</b> - The HSM is being used in a product trial.</p></li>
88    /// </ul>
89    pub fn subscription_type(&self) -> ::std::option::Option<&crate::types::SubscriptionType> {
90        self.subscription_type.as_ref()
91    }
92    /// <p>The subscription start date.</p>
93    pub fn subscription_start_date(&self) -> ::std::option::Option<&str> {
94        self.subscription_start_date.as_deref()
95    }
96    /// <p>The subscription end date.</p>
97    pub fn subscription_end_date(&self) -> ::std::option::Option<&str> {
98        self.subscription_end_date.as_deref()
99    }
100    /// <p>The identifier of the VPC that the HSM is in.</p>
101    pub fn vpc_id(&self) -> ::std::option::Option<&str> {
102        self.vpc_id.as_deref()
103    }
104    /// <p>The identifier of the subnet that the HSM is in.</p>
105    pub fn subnet_id(&self) -> ::std::option::Option<&str> {
106        self.subnet_id.as_deref()
107    }
108    /// <p>The ARN of the IAM role assigned to the HSM.</p>
109    pub fn iam_role_arn(&self) -> ::std::option::Option<&str> {
110        self.iam_role_arn.as_deref()
111    }
112    /// <p>The serial number of the HSM.</p>
113    pub fn serial_number(&self) -> ::std::option::Option<&str> {
114        self.serial_number.as_deref()
115    }
116    /// <p>The name of the HSM vendor.</p>
117    pub fn vendor_name(&self) -> ::std::option::Option<&str> {
118        self.vendor_name.as_deref()
119    }
120    /// <p>The HSM model type.</p>
121    pub fn hsm_type(&self) -> ::std::option::Option<&str> {
122        self.hsm_type.as_deref()
123    }
124    /// <p>The HSM software version.</p>
125    pub fn software_version(&self) -> ::std::option::Option<&str> {
126        self.software_version.as_deref()
127    }
128    /// <p>The public SSH key.</p>
129    pub fn ssh_public_key(&self) -> ::std::option::Option<&str> {
130        self.ssh_public_key.as_deref()
131    }
132    /// <p>The date and time that the SSH key was last updated.</p>
133    pub fn ssh_key_last_updated(&self) -> ::std::option::Option<&str> {
134        self.ssh_key_last_updated.as_deref()
135    }
136    /// <p>The URI of the certificate server.</p>
137    pub fn server_cert_uri(&self) -> ::std::option::Option<&str> {
138        self.server_cert_uri.as_deref()
139    }
140    /// <p>The date and time that the server certificate was last updated.</p>
141    pub fn server_cert_last_updated(&self) -> ::std::option::Option<&str> {
142        self.server_cert_last_updated.as_deref()
143    }
144    /// <p>The list of partitions on the HSM.</p>
145    ///
146    /// If no value was sent for this field, a default will be set. If you want to determine if no value was sent, use `.partitions.is_none()`.
147    pub fn partitions(&self) -> &[::std::string::String] {
148        self.partitions.as_deref().unwrap_or_default()
149    }
150}
151impl ::aws_types::request_id::RequestId for DescribeHsmOutput {
152    fn request_id(&self) -> Option<&str> {
153        self._request_id.as_deref()
154    }
155}
156impl DescribeHsmOutput {
157    /// Creates a new builder-style object to manufacture [`DescribeHsmOutput`](crate::operation::describe_hsm::DescribeHsmOutput).
158    pub fn builder() -> crate::operation::describe_hsm::builders::DescribeHsmOutputBuilder {
159        crate::operation::describe_hsm::builders::DescribeHsmOutputBuilder::default()
160    }
161}
162
163/// A builder for [`DescribeHsmOutput`](crate::operation::describe_hsm::DescribeHsmOutput).
164#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default, ::std::fmt::Debug)]
165#[non_exhaustive]
166pub struct DescribeHsmOutputBuilder {
167    pub(crate) hsm_arn: ::std::option::Option<::std::string::String>,
168    pub(crate) status: ::std::option::Option<crate::types::HsmStatus>,
169    pub(crate) status_details: ::std::option::Option<::std::string::String>,
170    pub(crate) availability_zone: ::std::option::Option<::std::string::String>,
171    pub(crate) eni_id: ::std::option::Option<::std::string::String>,
172    pub(crate) eni_ip: ::std::option::Option<::std::string::String>,
173    pub(crate) subscription_type: ::std::option::Option<crate::types::SubscriptionType>,
174    pub(crate) subscription_start_date: ::std::option::Option<::std::string::String>,
175    pub(crate) subscription_end_date: ::std::option::Option<::std::string::String>,
176    pub(crate) vpc_id: ::std::option::Option<::std::string::String>,
177    pub(crate) subnet_id: ::std::option::Option<::std::string::String>,
178    pub(crate) iam_role_arn: ::std::option::Option<::std::string::String>,
179    pub(crate) serial_number: ::std::option::Option<::std::string::String>,
180    pub(crate) vendor_name: ::std::option::Option<::std::string::String>,
181    pub(crate) hsm_type: ::std::option::Option<::std::string::String>,
182    pub(crate) software_version: ::std::option::Option<::std::string::String>,
183    pub(crate) ssh_public_key: ::std::option::Option<::std::string::String>,
184    pub(crate) ssh_key_last_updated: ::std::option::Option<::std::string::String>,
185    pub(crate) server_cert_uri: ::std::option::Option<::std::string::String>,
186    pub(crate) server_cert_last_updated: ::std::option::Option<::std::string::String>,
187    pub(crate) partitions: ::std::option::Option<::std::vec::Vec<::std::string::String>>,
188    _request_id: Option<String>,
189}
190impl DescribeHsmOutputBuilder {
191    /// <p>The ARN of the HSM.</p>
192    pub fn hsm_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
193        self.hsm_arn = ::std::option::Option::Some(input.into());
194        self
195    }
196    /// <p>The ARN of the HSM.</p>
197    pub fn set_hsm_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
198        self.hsm_arn = input;
199        self
200    }
201    /// <p>The ARN of the HSM.</p>
202    pub fn get_hsm_arn(&self) -> &::std::option::Option<::std::string::String> {
203        &self.hsm_arn
204    }
205    /// <p>The status of the HSM.</p>
206    pub fn status(mut self, input: crate::types::HsmStatus) -> Self {
207        self.status = ::std::option::Option::Some(input);
208        self
209    }
210    /// <p>The status of the HSM.</p>
211    pub fn set_status(mut self, input: ::std::option::Option<crate::types::HsmStatus>) -> Self {
212        self.status = input;
213        self
214    }
215    /// <p>The status of the HSM.</p>
216    pub fn get_status(&self) -> &::std::option::Option<crate::types::HsmStatus> {
217        &self.status
218    }
219    /// <p>Contains additional information about the status of the HSM.</p>
220    pub fn status_details(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
221        self.status_details = ::std::option::Option::Some(input.into());
222        self
223    }
224    /// <p>Contains additional information about the status of the HSM.</p>
225    pub fn set_status_details(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
226        self.status_details = input;
227        self
228    }
229    /// <p>Contains additional information about the status of the HSM.</p>
230    pub fn get_status_details(&self) -> &::std::option::Option<::std::string::String> {
231        &self.status_details
232    }
233    /// <p>The Availability Zone that the HSM is in.</p>
234    pub fn availability_zone(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
235        self.availability_zone = ::std::option::Option::Some(input.into());
236        self
237    }
238    /// <p>The Availability Zone that the HSM is in.</p>
239    pub fn set_availability_zone(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
240        self.availability_zone = input;
241        self
242    }
243    /// <p>The Availability Zone that the HSM is in.</p>
244    pub fn get_availability_zone(&self) -> &::std::option::Option<::std::string::String> {
245        &self.availability_zone
246    }
247    /// <p>The identifier of the elastic network interface (ENI) attached to the HSM.</p>
248    pub fn eni_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
249        self.eni_id = ::std::option::Option::Some(input.into());
250        self
251    }
252    /// <p>The identifier of the elastic network interface (ENI) attached to the HSM.</p>
253    pub fn set_eni_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
254        self.eni_id = input;
255        self
256    }
257    /// <p>The identifier of the elastic network interface (ENI) attached to the HSM.</p>
258    pub fn get_eni_id(&self) -> &::std::option::Option<::std::string::String> {
259        &self.eni_id
260    }
261    /// <p>The IP address assigned to the HSM's ENI.</p>
262    pub fn eni_ip(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
263        self.eni_ip = ::std::option::Option::Some(input.into());
264        self
265    }
266    /// <p>The IP address assigned to the HSM's ENI.</p>
267    pub fn set_eni_ip(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
268        self.eni_ip = input;
269        self
270    }
271    /// <p>The IP address assigned to the HSM's ENI.</p>
272    pub fn get_eni_ip(&self) -> &::std::option::Option<::std::string::String> {
273        &self.eni_ip
274    }
275    /// <p>Specifies the type of subscription for the HSM.</p>
276    /// <ul>
277    /// <li>
278    /// <p><b>PRODUCTION</b> - The HSM is being used in a production environment.</p></li>
279    /// <li>
280    /// <p><b>TRIAL</b> - The HSM is being used in a product trial.</p></li>
281    /// </ul>
282    pub fn subscription_type(mut self, input: crate::types::SubscriptionType) -> Self {
283        self.subscription_type = ::std::option::Option::Some(input);
284        self
285    }
286    /// <p>Specifies the type of subscription for the HSM.</p>
287    /// <ul>
288    /// <li>
289    /// <p><b>PRODUCTION</b> - The HSM is being used in a production environment.</p></li>
290    /// <li>
291    /// <p><b>TRIAL</b> - The HSM is being used in a product trial.</p></li>
292    /// </ul>
293    pub fn set_subscription_type(mut self, input: ::std::option::Option<crate::types::SubscriptionType>) -> Self {
294        self.subscription_type = input;
295        self
296    }
297    /// <p>Specifies the type of subscription for the HSM.</p>
298    /// <ul>
299    /// <li>
300    /// <p><b>PRODUCTION</b> - The HSM is being used in a production environment.</p></li>
301    /// <li>
302    /// <p><b>TRIAL</b> - The HSM is being used in a product trial.</p></li>
303    /// </ul>
304    pub fn get_subscription_type(&self) -> &::std::option::Option<crate::types::SubscriptionType> {
305        &self.subscription_type
306    }
307    /// <p>The subscription start date.</p>
308    pub fn subscription_start_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
309        self.subscription_start_date = ::std::option::Option::Some(input.into());
310        self
311    }
312    /// <p>The subscription start date.</p>
313    pub fn set_subscription_start_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
314        self.subscription_start_date = input;
315        self
316    }
317    /// <p>The subscription start date.</p>
318    pub fn get_subscription_start_date(&self) -> &::std::option::Option<::std::string::String> {
319        &self.subscription_start_date
320    }
321    /// <p>The subscription end date.</p>
322    pub fn subscription_end_date(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
323        self.subscription_end_date = ::std::option::Option::Some(input.into());
324        self
325    }
326    /// <p>The subscription end date.</p>
327    pub fn set_subscription_end_date(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
328        self.subscription_end_date = input;
329        self
330    }
331    /// <p>The subscription end date.</p>
332    pub fn get_subscription_end_date(&self) -> &::std::option::Option<::std::string::String> {
333        &self.subscription_end_date
334    }
335    /// <p>The identifier of the VPC that the HSM is in.</p>
336    pub fn vpc_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
337        self.vpc_id = ::std::option::Option::Some(input.into());
338        self
339    }
340    /// <p>The identifier of the VPC that the HSM is in.</p>
341    pub fn set_vpc_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
342        self.vpc_id = input;
343        self
344    }
345    /// <p>The identifier of the VPC that the HSM is in.</p>
346    pub fn get_vpc_id(&self) -> &::std::option::Option<::std::string::String> {
347        &self.vpc_id
348    }
349    /// <p>The identifier of the subnet that the HSM is in.</p>
350    pub fn subnet_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
351        self.subnet_id = ::std::option::Option::Some(input.into());
352        self
353    }
354    /// <p>The identifier of the subnet that the HSM is in.</p>
355    pub fn set_subnet_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
356        self.subnet_id = input;
357        self
358    }
359    /// <p>The identifier of the subnet that the HSM is in.</p>
360    pub fn get_subnet_id(&self) -> &::std::option::Option<::std::string::String> {
361        &self.subnet_id
362    }
363    /// <p>The ARN of the IAM role assigned to the HSM.</p>
364    pub fn iam_role_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
365        self.iam_role_arn = ::std::option::Option::Some(input.into());
366        self
367    }
368    /// <p>The ARN of the IAM role assigned to the HSM.</p>
369    pub fn set_iam_role_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
370        self.iam_role_arn = input;
371        self
372    }
373    /// <p>The ARN of the IAM role assigned to the HSM.</p>
374    pub fn get_iam_role_arn(&self) -> &::std::option::Option<::std::string::String> {
375        &self.iam_role_arn
376    }
377    /// <p>The serial number of the HSM.</p>
378    pub fn serial_number(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
379        self.serial_number = ::std::option::Option::Some(input.into());
380        self
381    }
382    /// <p>The serial number of the HSM.</p>
383    pub fn set_serial_number(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
384        self.serial_number = input;
385        self
386    }
387    /// <p>The serial number of the HSM.</p>
388    pub fn get_serial_number(&self) -> &::std::option::Option<::std::string::String> {
389        &self.serial_number
390    }
391    /// <p>The name of the HSM vendor.</p>
392    pub fn vendor_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
393        self.vendor_name = ::std::option::Option::Some(input.into());
394        self
395    }
396    /// <p>The name of the HSM vendor.</p>
397    pub fn set_vendor_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
398        self.vendor_name = input;
399        self
400    }
401    /// <p>The name of the HSM vendor.</p>
402    pub fn get_vendor_name(&self) -> &::std::option::Option<::std::string::String> {
403        &self.vendor_name
404    }
405    /// <p>The HSM model type.</p>
406    pub fn hsm_type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
407        self.hsm_type = ::std::option::Option::Some(input.into());
408        self
409    }
410    /// <p>The HSM model type.</p>
411    pub fn set_hsm_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
412        self.hsm_type = input;
413        self
414    }
415    /// <p>The HSM model type.</p>
416    pub fn get_hsm_type(&self) -> &::std::option::Option<::std::string::String> {
417        &self.hsm_type
418    }
419    /// <p>The HSM software version.</p>
420    pub fn software_version(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
421        self.software_version = ::std::option::Option::Some(input.into());
422        self
423    }
424    /// <p>The HSM software version.</p>
425    pub fn set_software_version(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
426        self.software_version = input;
427        self
428    }
429    /// <p>The HSM software version.</p>
430    pub fn get_software_version(&self) -> &::std::option::Option<::std::string::String> {
431        &self.software_version
432    }
433    /// <p>The public SSH key.</p>
434    pub fn ssh_public_key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
435        self.ssh_public_key = ::std::option::Option::Some(input.into());
436        self
437    }
438    /// <p>The public SSH key.</p>
439    pub fn set_ssh_public_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
440        self.ssh_public_key = input;
441        self
442    }
443    /// <p>The public SSH key.</p>
444    pub fn get_ssh_public_key(&self) -> &::std::option::Option<::std::string::String> {
445        &self.ssh_public_key
446    }
447    /// <p>The date and time that the SSH key was last updated.</p>
448    pub fn ssh_key_last_updated(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
449        self.ssh_key_last_updated = ::std::option::Option::Some(input.into());
450        self
451    }
452    /// <p>The date and time that the SSH key was last updated.</p>
453    pub fn set_ssh_key_last_updated(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
454        self.ssh_key_last_updated = input;
455        self
456    }
457    /// <p>The date and time that the SSH key was last updated.</p>
458    pub fn get_ssh_key_last_updated(&self) -> &::std::option::Option<::std::string::String> {
459        &self.ssh_key_last_updated
460    }
461    /// <p>The URI of the certificate server.</p>
462    pub fn server_cert_uri(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
463        self.server_cert_uri = ::std::option::Option::Some(input.into());
464        self
465    }
466    /// <p>The URI of the certificate server.</p>
467    pub fn set_server_cert_uri(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
468        self.server_cert_uri = input;
469        self
470    }
471    /// <p>The URI of the certificate server.</p>
472    pub fn get_server_cert_uri(&self) -> &::std::option::Option<::std::string::String> {
473        &self.server_cert_uri
474    }
475    /// <p>The date and time that the server certificate was last updated.</p>
476    pub fn server_cert_last_updated(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
477        self.server_cert_last_updated = ::std::option::Option::Some(input.into());
478        self
479    }
480    /// <p>The date and time that the server certificate was last updated.</p>
481    pub fn set_server_cert_last_updated(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
482        self.server_cert_last_updated = input;
483        self
484    }
485    /// <p>The date and time that the server certificate was last updated.</p>
486    pub fn get_server_cert_last_updated(&self) -> &::std::option::Option<::std::string::String> {
487        &self.server_cert_last_updated
488    }
489    /// Appends an item to `partitions`.
490    ///
491    /// To override the contents of this collection use [`set_partitions`](Self::set_partitions).
492    ///
493    /// <p>The list of partitions on the HSM.</p>
494    pub fn partitions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
495        let mut v = self.partitions.unwrap_or_default();
496        v.push(input.into());
497        self.partitions = ::std::option::Option::Some(v);
498        self
499    }
500    /// <p>The list of partitions on the HSM.</p>
501    pub fn set_partitions(mut self, input: ::std::option::Option<::std::vec::Vec<::std::string::String>>) -> Self {
502        self.partitions = input;
503        self
504    }
505    /// <p>The list of partitions on the HSM.</p>
506    pub fn get_partitions(&self) -> &::std::option::Option<::std::vec::Vec<::std::string::String>> {
507        &self.partitions
508    }
509    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
510        self._request_id = Some(request_id.into());
511        self
512    }
513
514    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
515        self._request_id = request_id;
516        self
517    }
518    /// Consumes the builder and constructs a [`DescribeHsmOutput`](crate::operation::describe_hsm::DescribeHsmOutput).
519    pub fn build(self) -> crate::operation::describe_hsm::DescribeHsmOutput {
520        crate::operation::describe_hsm::DescribeHsmOutput {
521            hsm_arn: self.hsm_arn,
522            status: self.status,
523            status_details: self.status_details,
524            availability_zone: self.availability_zone,
525            eni_id: self.eni_id,
526            eni_ip: self.eni_ip,
527            subscription_type: self.subscription_type,
528            subscription_start_date: self.subscription_start_date,
529            subscription_end_date: self.subscription_end_date,
530            vpc_id: self.vpc_id,
531            subnet_id: self.subnet_id,
532            iam_role_arn: self.iam_role_arn,
533            serial_number: self.serial_number,
534            vendor_name: self.vendor_name,
535            hsm_type: self.hsm_type,
536            software_version: self.software_version,
537            ssh_public_key: self.ssh_public_key,
538            ssh_key_last_updated: self.ssh_key_last_updated,
539            server_cert_uri: self.server_cert_uri,
540            server_cert_last_updated: self.server_cert_last_updated,
541            partitions: self.partitions,
542            _request_id: self._request_id,
543        }
544    }
545}