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}