aws_sdk_location/operation/describe_tracker/
_describe_tracker_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)]
5pub struct DescribeTrackerOutput {
6    /// <p>The name of the tracker resource.</p>
7    pub tracker_name: ::std::string::String,
8    /// <p>The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.</p>
9    /// <ul>
10    /// <li>
11    /// <p>Format example: <code>arn:aws:geo:region:account-id:tracker/ExampleTracker</code></p></li>
12    /// </ul>
13    pub tracker_arn: ::std::string::String,
14    /// <p>The optional description for the tracker resource.</p>
15    pub description: ::std::string::String,
16    /// <p>Always returns <code>RequestBasedUsage</code>.</p>
17    #[deprecated(note = "Deprecated. Always returns RequestBasedUsage.", since = "2022-02-01")]
18    pub pricing_plan: ::std::option::Option<crate::types::PricingPlan>,
19    /// <p>No longer used. Always returns an empty string.</p>
20    #[deprecated(note = "Deprecated. Unused.", since = "2022-02-01")]
21    pub pricing_plan_data_source: ::std::option::Option<::std::string::String>,
22    /// <p>The tags associated with the tracker resource.</p>
23    pub tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
24    /// <p>The timestamp for when the tracker resource was created in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
25    pub create_time: ::aws_smithy_types::DateTime,
26    /// <p>The timestamp for when the tracker resource was last updated in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
27    pub update_time: ::aws_smithy_types::DateTime,
28    /// <p>A key identifier for an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a> assigned to the Amazon Location resource.</p>
29    pub kms_key_id: ::std::option::Option<::std::string::String>,
30    /// <p>The position filtering method of the tracker resource.</p>
31    pub position_filtering: ::std::option::Option<crate::types::PositionFiltering>,
32    /// <p>Whether <code>UPDATE</code> events from this tracker in EventBridge are enabled. If set to <code>true</code> these events will be sent to EventBridge.</p>
33    pub event_bridge_enabled: ::std::option::Option<bool>,
34    /// <p>Enables <code>GeospatialQueries</code> for a tracker that uses a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a>.</p>
35    /// <p>This parameter is only used if you are using a KMS customer managed key.</p><note>
36    /// <p>If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.</p>
37    /// <p>You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the <code>KmsKeyEnableGeospatialQueries</code> parameter to true when creating or updating a Tracker.</p>
38    /// </note>
39    pub kms_key_enable_geospatial_queries: ::std::option::Option<bool>,
40    _request_id: Option<String>,
41}
42impl DescribeTrackerOutput {
43    /// <p>The name of the tracker resource.</p>
44    pub fn tracker_name(&self) -> &str {
45        use std::ops::Deref;
46        self.tracker_name.deref()
47    }
48    /// <p>The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.</p>
49    /// <ul>
50    /// <li>
51    /// <p>Format example: <code>arn:aws:geo:region:account-id:tracker/ExampleTracker</code></p></li>
52    /// </ul>
53    pub fn tracker_arn(&self) -> &str {
54        use std::ops::Deref;
55        self.tracker_arn.deref()
56    }
57    /// <p>The optional description for the tracker resource.</p>
58    pub fn description(&self) -> &str {
59        use std::ops::Deref;
60        self.description.deref()
61    }
62    /// <p>Always returns <code>RequestBasedUsage</code>.</p>
63    #[deprecated(note = "Deprecated. Always returns RequestBasedUsage.", since = "2022-02-01")]
64    pub fn pricing_plan(&self) -> ::std::option::Option<&crate::types::PricingPlan> {
65        self.pricing_plan.as_ref()
66    }
67    /// <p>No longer used. Always returns an empty string.</p>
68    #[deprecated(note = "Deprecated. Unused.", since = "2022-02-01")]
69    pub fn pricing_plan_data_source(&self) -> ::std::option::Option<&str> {
70        self.pricing_plan_data_source.as_deref()
71    }
72    /// <p>The tags associated with the tracker resource.</p>
73    pub fn tags(&self) -> ::std::option::Option<&::std::collections::HashMap<::std::string::String, ::std::string::String>> {
74        self.tags.as_ref()
75    }
76    /// <p>The timestamp for when the tracker resource was created in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
77    pub fn create_time(&self) -> &::aws_smithy_types::DateTime {
78        &self.create_time
79    }
80    /// <p>The timestamp for when the tracker resource was last updated in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
81    pub fn update_time(&self) -> &::aws_smithy_types::DateTime {
82        &self.update_time
83    }
84    /// <p>A key identifier for an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a> assigned to the Amazon Location resource.</p>
85    pub fn kms_key_id(&self) -> ::std::option::Option<&str> {
86        self.kms_key_id.as_deref()
87    }
88    /// <p>The position filtering method of the tracker resource.</p>
89    pub fn position_filtering(&self) -> ::std::option::Option<&crate::types::PositionFiltering> {
90        self.position_filtering.as_ref()
91    }
92    /// <p>Whether <code>UPDATE</code> events from this tracker in EventBridge are enabled. If set to <code>true</code> these events will be sent to EventBridge.</p>
93    pub fn event_bridge_enabled(&self) -> ::std::option::Option<bool> {
94        self.event_bridge_enabled
95    }
96    /// <p>Enables <code>GeospatialQueries</code> for a tracker that uses a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a>.</p>
97    /// <p>This parameter is only used if you are using a KMS customer managed key.</p><note>
98    /// <p>If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.</p>
99    /// <p>You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the <code>KmsKeyEnableGeospatialQueries</code> parameter to true when creating or updating a Tracker.</p>
100    /// </note>
101    pub fn kms_key_enable_geospatial_queries(&self) -> ::std::option::Option<bool> {
102        self.kms_key_enable_geospatial_queries
103    }
104}
105impl ::std::fmt::Debug for DescribeTrackerOutput {
106    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
107        let mut formatter = f.debug_struct("DescribeTrackerOutput");
108        formatter.field("tracker_name", &self.tracker_name);
109        formatter.field("tracker_arn", &self.tracker_arn);
110        formatter.field("description", &self.description);
111        formatter.field("pricing_plan", &self.pricing_plan);
112        formatter.field("pricing_plan_data_source", &self.pricing_plan_data_source);
113        formatter.field("tags", &self.tags);
114        formatter.field("create_time", &"*** Sensitive Data Redacted ***");
115        formatter.field("update_time", &"*** Sensitive Data Redacted ***");
116        formatter.field("kms_key_id", &self.kms_key_id);
117        formatter.field("position_filtering", &self.position_filtering);
118        formatter.field("event_bridge_enabled", &self.event_bridge_enabled);
119        formatter.field("kms_key_enable_geospatial_queries", &self.kms_key_enable_geospatial_queries);
120        formatter.field("_request_id", &self._request_id);
121        formatter.finish()
122    }
123}
124impl ::aws_types::request_id::RequestId for DescribeTrackerOutput {
125    fn request_id(&self) -> Option<&str> {
126        self._request_id.as_deref()
127    }
128}
129impl DescribeTrackerOutput {
130    /// Creates a new builder-style object to manufacture [`DescribeTrackerOutput`](crate::operation::describe_tracker::DescribeTrackerOutput).
131    pub fn builder() -> crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder {
132        crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder::default()
133    }
134}
135
136/// A builder for [`DescribeTrackerOutput`](crate::operation::describe_tracker::DescribeTrackerOutput).
137#[derive(::std::clone::Clone, ::std::cmp::PartialEq, ::std::default::Default)]
138#[non_exhaustive]
139pub struct DescribeTrackerOutputBuilder {
140    pub(crate) tracker_name: ::std::option::Option<::std::string::String>,
141    pub(crate) tracker_arn: ::std::option::Option<::std::string::String>,
142    pub(crate) description: ::std::option::Option<::std::string::String>,
143    pub(crate) pricing_plan: ::std::option::Option<crate::types::PricingPlan>,
144    pub(crate) pricing_plan_data_source: ::std::option::Option<::std::string::String>,
145    pub(crate) tags: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>,
146    pub(crate) create_time: ::std::option::Option<::aws_smithy_types::DateTime>,
147    pub(crate) update_time: ::std::option::Option<::aws_smithy_types::DateTime>,
148    pub(crate) kms_key_id: ::std::option::Option<::std::string::String>,
149    pub(crate) position_filtering: ::std::option::Option<crate::types::PositionFiltering>,
150    pub(crate) event_bridge_enabled: ::std::option::Option<bool>,
151    pub(crate) kms_key_enable_geospatial_queries: ::std::option::Option<bool>,
152    _request_id: Option<String>,
153}
154impl DescribeTrackerOutputBuilder {
155    /// <p>The name of the tracker resource.</p>
156    /// This field is required.
157    pub fn tracker_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
158        self.tracker_name = ::std::option::Option::Some(input.into());
159        self
160    }
161    /// <p>The name of the tracker resource.</p>
162    pub fn set_tracker_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
163        self.tracker_name = input;
164        self
165    }
166    /// <p>The name of the tracker resource.</p>
167    pub fn get_tracker_name(&self) -> &::std::option::Option<::std::string::String> {
168        &self.tracker_name
169    }
170    /// <p>The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.</p>
171    /// <ul>
172    /// <li>
173    /// <p>Format example: <code>arn:aws:geo:region:account-id:tracker/ExampleTracker</code></p></li>
174    /// </ul>
175    /// This field is required.
176    pub fn tracker_arn(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
177        self.tracker_arn = ::std::option::Option::Some(input.into());
178        self
179    }
180    /// <p>The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.</p>
181    /// <ul>
182    /// <li>
183    /// <p>Format example: <code>arn:aws:geo:region:account-id:tracker/ExampleTracker</code></p></li>
184    /// </ul>
185    pub fn set_tracker_arn(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
186        self.tracker_arn = input;
187        self
188    }
189    /// <p>The Amazon Resource Name (ARN) for the tracker resource. Used when you need to specify a resource across all Amazon Web Services.</p>
190    /// <ul>
191    /// <li>
192    /// <p>Format example: <code>arn:aws:geo:region:account-id:tracker/ExampleTracker</code></p></li>
193    /// </ul>
194    pub fn get_tracker_arn(&self) -> &::std::option::Option<::std::string::String> {
195        &self.tracker_arn
196    }
197    /// <p>The optional description for the tracker resource.</p>
198    /// This field is required.
199    pub fn description(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
200        self.description = ::std::option::Option::Some(input.into());
201        self
202    }
203    /// <p>The optional description for the tracker resource.</p>
204    pub fn set_description(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
205        self.description = input;
206        self
207    }
208    /// <p>The optional description for the tracker resource.</p>
209    pub fn get_description(&self) -> &::std::option::Option<::std::string::String> {
210        &self.description
211    }
212    /// <p>Always returns <code>RequestBasedUsage</code>.</p>
213    #[deprecated(note = "Deprecated. Always returns RequestBasedUsage.", since = "2022-02-01")]
214    pub fn pricing_plan(mut self, input: crate::types::PricingPlan) -> Self {
215        self.pricing_plan = ::std::option::Option::Some(input);
216        self
217    }
218    /// <p>Always returns <code>RequestBasedUsage</code>.</p>
219    #[deprecated(note = "Deprecated. Always returns RequestBasedUsage.", since = "2022-02-01")]
220    pub fn set_pricing_plan(mut self, input: ::std::option::Option<crate::types::PricingPlan>) -> Self {
221        self.pricing_plan = input;
222        self
223    }
224    /// <p>Always returns <code>RequestBasedUsage</code>.</p>
225    #[deprecated(note = "Deprecated. Always returns RequestBasedUsage.", since = "2022-02-01")]
226    pub fn get_pricing_plan(&self) -> &::std::option::Option<crate::types::PricingPlan> {
227        &self.pricing_plan
228    }
229    /// <p>No longer used. Always returns an empty string.</p>
230    #[deprecated(note = "Deprecated. Unused.", since = "2022-02-01")]
231    pub fn pricing_plan_data_source(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
232        self.pricing_plan_data_source = ::std::option::Option::Some(input.into());
233        self
234    }
235    /// <p>No longer used. Always returns an empty string.</p>
236    #[deprecated(note = "Deprecated. Unused.", since = "2022-02-01")]
237    pub fn set_pricing_plan_data_source(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
238        self.pricing_plan_data_source = input;
239        self
240    }
241    /// <p>No longer used. Always returns an empty string.</p>
242    #[deprecated(note = "Deprecated. Unused.", since = "2022-02-01")]
243    pub fn get_pricing_plan_data_source(&self) -> &::std::option::Option<::std::string::String> {
244        &self.pricing_plan_data_source
245    }
246    /// Adds a key-value pair to `tags`.
247    ///
248    /// To override the contents of this collection use [`set_tags`](Self::set_tags).
249    ///
250    /// <p>The tags associated with the tracker resource.</p>
251    pub fn tags(mut self, k: impl ::std::convert::Into<::std::string::String>, v: impl ::std::convert::Into<::std::string::String>) -> Self {
252        let mut hash_map = self.tags.unwrap_or_default();
253        hash_map.insert(k.into(), v.into());
254        self.tags = ::std::option::Option::Some(hash_map);
255        self
256    }
257    /// <p>The tags associated with the tracker resource.</p>
258    pub fn set_tags(mut self, input: ::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>>) -> Self {
259        self.tags = input;
260        self
261    }
262    /// <p>The tags associated with the tracker resource.</p>
263    pub fn get_tags(&self) -> &::std::option::Option<::std::collections::HashMap<::std::string::String, ::std::string::String>> {
264        &self.tags
265    }
266    /// <p>The timestamp for when the tracker resource was created in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
267    /// This field is required.
268    pub fn create_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
269        self.create_time = ::std::option::Option::Some(input);
270        self
271    }
272    /// <p>The timestamp for when the tracker resource was created in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
273    pub fn set_create_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
274        self.create_time = input;
275        self
276    }
277    /// <p>The timestamp for when the tracker resource was created in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
278    pub fn get_create_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
279        &self.create_time
280    }
281    /// <p>The timestamp for when the tracker resource was last updated in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
282    /// This field is required.
283    pub fn update_time(mut self, input: ::aws_smithy_types::DateTime) -> Self {
284        self.update_time = ::std::option::Option::Some(input);
285        self
286    }
287    /// <p>The timestamp for when the tracker resource was last updated in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
288    pub fn set_update_time(mut self, input: ::std::option::Option<::aws_smithy_types::DateTime>) -> Self {
289        self.update_time = input;
290        self
291    }
292    /// <p>The timestamp for when the tracker resource was last updated in <a href="https://www.iso.org/iso-8601-date-and-time-format.html"> ISO 8601</a> format: <code>YYYY-MM-DDThh:mm:ss.sssZ</code>.</p>
293    pub fn get_update_time(&self) -> &::std::option::Option<::aws_smithy_types::DateTime> {
294        &self.update_time
295    }
296    /// <p>A key identifier for an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a> assigned to the Amazon Location resource.</p>
297    pub fn kms_key_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
298        self.kms_key_id = ::std::option::Option::Some(input.into());
299        self
300    }
301    /// <p>A key identifier for an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a> assigned to the Amazon Location resource.</p>
302    pub fn set_kms_key_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
303        self.kms_key_id = input;
304        self
305    }
306    /// <p>A key identifier for an <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a> assigned to the Amazon Location resource.</p>
307    pub fn get_kms_key_id(&self) -> &::std::option::Option<::std::string::String> {
308        &self.kms_key_id
309    }
310    /// <p>The position filtering method of the tracker resource.</p>
311    pub fn position_filtering(mut self, input: crate::types::PositionFiltering) -> Self {
312        self.position_filtering = ::std::option::Option::Some(input);
313        self
314    }
315    /// <p>The position filtering method of the tracker resource.</p>
316    pub fn set_position_filtering(mut self, input: ::std::option::Option<crate::types::PositionFiltering>) -> Self {
317        self.position_filtering = input;
318        self
319    }
320    /// <p>The position filtering method of the tracker resource.</p>
321    pub fn get_position_filtering(&self) -> &::std::option::Option<crate::types::PositionFiltering> {
322        &self.position_filtering
323    }
324    /// <p>Whether <code>UPDATE</code> events from this tracker in EventBridge are enabled. If set to <code>true</code> these events will be sent to EventBridge.</p>
325    pub fn event_bridge_enabled(mut self, input: bool) -> Self {
326        self.event_bridge_enabled = ::std::option::Option::Some(input);
327        self
328    }
329    /// <p>Whether <code>UPDATE</code> events from this tracker in EventBridge are enabled. If set to <code>true</code> these events will be sent to EventBridge.</p>
330    pub fn set_event_bridge_enabled(mut self, input: ::std::option::Option<bool>) -> Self {
331        self.event_bridge_enabled = input;
332        self
333    }
334    /// <p>Whether <code>UPDATE</code> events from this tracker in EventBridge are enabled. If set to <code>true</code> these events will be sent to EventBridge.</p>
335    pub fn get_event_bridge_enabled(&self) -> &::std::option::Option<bool> {
336        &self.event_bridge_enabled
337    }
338    /// <p>Enables <code>GeospatialQueries</code> for a tracker that uses a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a>.</p>
339    /// <p>This parameter is only used if you are using a KMS customer managed key.</p><note>
340    /// <p>If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.</p>
341    /// <p>You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the <code>KmsKeyEnableGeospatialQueries</code> parameter to true when creating or updating a Tracker.</p>
342    /// </note>
343    pub fn kms_key_enable_geospatial_queries(mut self, input: bool) -> Self {
344        self.kms_key_enable_geospatial_queries = ::std::option::Option::Some(input);
345        self
346    }
347    /// <p>Enables <code>GeospatialQueries</code> for a tracker that uses a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a>.</p>
348    /// <p>This parameter is only used if you are using a KMS customer managed key.</p><note>
349    /// <p>If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.</p>
350    /// <p>You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the <code>KmsKeyEnableGeospatialQueries</code> parameter to true when creating or updating a Tracker.</p>
351    /// </note>
352    pub fn set_kms_key_enable_geospatial_queries(mut self, input: ::std::option::Option<bool>) -> Self {
353        self.kms_key_enable_geospatial_queries = input;
354        self
355    }
356    /// <p>Enables <code>GeospatialQueries</code> for a tracker that uses a <a href="https://docs.aws.amazon.com/kms/latest/developerguide/create-keys.html">Amazon Web Services KMS customer managed key</a>.</p>
357    /// <p>This parameter is only used if you are using a KMS customer managed key.</p><note>
358    /// <p>If you wish to encrypt your data using your own KMS customer managed key, then the Bounding Polygon Queries feature will be disabled by default. This is because by using this feature, a representation of your device positions will not be encrypted using the your KMS managed key. The exact device position, however; is still encrypted using your managed key.</p>
359    /// <p>You can choose to opt-in to the Bounding Polygon Quseries feature. This is done by setting the <code>KmsKeyEnableGeospatialQueries</code> parameter to true when creating or updating a Tracker.</p>
360    /// </note>
361    pub fn get_kms_key_enable_geospatial_queries(&self) -> &::std::option::Option<bool> {
362        &self.kms_key_enable_geospatial_queries
363    }
364    pub(crate) fn _request_id(mut self, request_id: impl Into<String>) -> Self {
365        self._request_id = Some(request_id.into());
366        self
367    }
368
369    pub(crate) fn _set_request_id(&mut self, request_id: Option<String>) -> &mut Self {
370        self._request_id = request_id;
371        self
372    }
373    /// Consumes the builder and constructs a [`DescribeTrackerOutput`](crate::operation::describe_tracker::DescribeTrackerOutput).
374    /// This method will fail if any of the following fields are not set:
375    /// - [`tracker_name`](crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder::tracker_name)
376    /// - [`tracker_arn`](crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder::tracker_arn)
377    /// - [`description`](crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder::description)
378    /// - [`create_time`](crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder::create_time)
379    /// - [`update_time`](crate::operation::describe_tracker::builders::DescribeTrackerOutputBuilder::update_time)
380    pub fn build(
381        self,
382    ) -> ::std::result::Result<crate::operation::describe_tracker::DescribeTrackerOutput, ::aws_smithy_types::error::operation::BuildError> {
383        ::std::result::Result::Ok(crate::operation::describe_tracker::DescribeTrackerOutput {
384            tracker_name: self.tracker_name.ok_or_else(|| {
385                ::aws_smithy_types::error::operation::BuildError::missing_field(
386                    "tracker_name",
387                    "tracker_name was not specified but it is required when building DescribeTrackerOutput",
388                )
389            })?,
390            tracker_arn: self.tracker_arn.ok_or_else(|| {
391                ::aws_smithy_types::error::operation::BuildError::missing_field(
392                    "tracker_arn",
393                    "tracker_arn was not specified but it is required when building DescribeTrackerOutput",
394                )
395            })?,
396            description: self.description.ok_or_else(|| {
397                ::aws_smithy_types::error::operation::BuildError::missing_field(
398                    "description",
399                    "description was not specified but it is required when building DescribeTrackerOutput",
400                )
401            })?,
402            pricing_plan: self.pricing_plan,
403            pricing_plan_data_source: self.pricing_plan_data_source,
404            tags: self.tags,
405            create_time: self.create_time.ok_or_else(|| {
406                ::aws_smithy_types::error::operation::BuildError::missing_field(
407                    "create_time",
408                    "create_time was not specified but it is required when building DescribeTrackerOutput",
409                )
410            })?,
411            update_time: self.update_time.ok_or_else(|| {
412                ::aws_smithy_types::error::operation::BuildError::missing_field(
413                    "update_time",
414                    "update_time was not specified but it is required when building DescribeTrackerOutput",
415                )
416            })?,
417            kms_key_id: self.kms_key_id,
418            position_filtering: self.position_filtering,
419            event_bridge_enabled: self.event_bridge_enabled,
420            kms_key_enable_geospatial_queries: self.kms_key_enable_geospatial_queries,
421            _request_id: self._request_id,
422        })
423    }
424}
425impl ::std::fmt::Debug for DescribeTrackerOutputBuilder {
426    fn fmt(&self, f: &mut ::std::fmt::Formatter<'_>) -> ::std::fmt::Result {
427        let mut formatter = f.debug_struct("DescribeTrackerOutputBuilder");
428        formatter.field("tracker_name", &self.tracker_name);
429        formatter.field("tracker_arn", &self.tracker_arn);
430        formatter.field("description", &self.description);
431        formatter.field("pricing_plan", &self.pricing_plan);
432        formatter.field("pricing_plan_data_source", &self.pricing_plan_data_source);
433        formatter.field("tags", &self.tags);
434        formatter.field("create_time", &"*** Sensitive Data Redacted ***");
435        formatter.field("update_time", &"*** Sensitive Data Redacted ***");
436        formatter.field("kms_key_id", &self.kms_key_id);
437        formatter.field("position_filtering", &self.position_filtering);
438        formatter.field("event_bridge_enabled", &self.event_bridge_enabled);
439        formatter.field("kms_key_enable_geospatial_queries", &self.kms_key_enable_geospatial_queries);
440        formatter.field("_request_id", &self._request_id);
441        formatter.finish()
442    }
443}