aws_sdk_geomaps/operation/get_static_map/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::get_static_map::_get_static_map_output::GetStaticMapOutputBuilder;
3
4pub use crate::operation::get_static_map::_get_static_map_input::GetStaticMapInputBuilder;
5
6impl crate::operation::get_static_map::builders::GetStaticMapInputBuilder {
7    /// Sends a request with this input using the given client.
8    pub async fn send_with(
9        self,
10        client: &crate::Client,
11    ) -> ::std::result::Result<
12        crate::operation::get_static_map::GetStaticMapOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::get_static_map::GetStaticMapError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.get_static_map();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `GetStaticMap`.
24///
25/// <p><code>GetStaticMap</code> provides high-quality static map images with customizable options. You can modify the map's appearance and overlay additional information. It's an ideal solution for applications requiring tailored static map snapshots.</p>
26/// <p>For more information, see the following topics in the <i>Amazon Location Service Developer Guide</i>:</p>
27/// <ul>
28/// <li>
29/// <p><a href="https://docs.aws.amazon.com/location/latest/developerguide/static-maps.html">Static maps</a></p></li>
30/// <li>
31/// <p><a href="https://docs.aws.amazon.com/location/latest/developerguide/customizing-static-maps.html">Customize static maps</a></p></li>
32/// <li>
33/// <p><a href="https://docs.aws.amazon.com/location/latest/developerguide/overlaying-static-map.html">Overlay on the static map</a></p></li>
34/// </ul>
35#[derive(::std::clone::Clone, ::std::fmt::Debug)]
36pub struct GetStaticMapFluentBuilder {
37    handle: ::std::sync::Arc<crate::client::Handle>,
38    inner: crate::operation::get_static_map::builders::GetStaticMapInputBuilder,
39    config_override: ::std::option::Option<crate::config::Builder>,
40}
41impl
42    crate::client::customize::internal::CustomizableSend<
43        crate::operation::get_static_map::GetStaticMapOutput,
44        crate::operation::get_static_map::GetStaticMapError,
45    > for GetStaticMapFluentBuilder
46{
47    fn send(
48        self,
49        config_override: crate::config::Builder,
50    ) -> crate::client::customize::internal::BoxFuture<
51        crate::client::customize::internal::SendResult<
52            crate::operation::get_static_map::GetStaticMapOutput,
53            crate::operation::get_static_map::GetStaticMapError,
54        >,
55    > {
56        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
57    }
58}
59impl GetStaticMapFluentBuilder {
60    /// Creates a new `GetStaticMapFluentBuilder`.
61    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
62        Self {
63            handle,
64            inner: ::std::default::Default::default(),
65            config_override: ::std::option::Option::None,
66        }
67    }
68    /// Access the GetStaticMap as a reference.
69    pub fn as_input(&self) -> &crate::operation::get_static_map::builders::GetStaticMapInputBuilder {
70        &self.inner
71    }
72    /// Sends the request and returns the response.
73    ///
74    /// If an error occurs, an `SdkError` will be returned with additional details that
75    /// can be matched against.
76    ///
77    /// By default, any retryable failures will be retried twice. Retry behavior
78    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
79    /// set when configuring the client.
80    pub async fn send(
81        self,
82    ) -> ::std::result::Result<
83        crate::operation::get_static_map::GetStaticMapOutput,
84        ::aws_smithy_runtime_api::client::result::SdkError<
85            crate::operation::get_static_map::GetStaticMapError,
86            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
87        >,
88    > {
89        let input = self
90            .inner
91            .build()
92            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
93        let runtime_plugins = crate::operation::get_static_map::GetStaticMap::operation_runtime_plugins(
94            self.handle.runtime_plugins.clone(),
95            &self.handle.conf,
96            self.config_override,
97        );
98        crate::operation::get_static_map::GetStaticMap::orchestrate(&runtime_plugins, input).await
99    }
100
101    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
102    pub fn customize(
103        self,
104    ) -> crate::client::customize::CustomizableOperation<
105        crate::operation::get_static_map::GetStaticMapOutput,
106        crate::operation::get_static_map::GetStaticMapError,
107        Self,
108    > {
109        crate::client::customize::CustomizableOperation::new(self)
110    }
111    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
112        self.set_config_override(::std::option::Option::Some(config_override.into()));
113        self
114    }
115
116    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
117        self.config_override = config_override;
118        self
119    }
120    /// <p>Takes in two pairs of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image.</p>
121    /// <p>Example: -123.17075,49.26959,-123.08125,49.31429</p>
122    pub fn bounding_box(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
123        self.inner = self.inner.bounding_box(input.into());
124        self
125    }
126    /// <p>Takes in two pairs of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image.</p>
127    /// <p>Example: -123.17075,49.26959,-123.08125,49.31429</p>
128    pub fn set_bounding_box(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
129        self.inner = self.inner.set_bounding_box(input);
130        self
131    }
132    /// <p>Takes in two pairs of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], denoting south-westerly and north-easterly edges of the image. The underlying area becomes the view of the image.</p>
133    /// <p>Example: -123.17075,49.26959,-123.08125,49.31429</p>
134    pub fn get_bounding_box(&self) -> &::std::option::Option<::std::string::String> {
135        self.inner.get_bounding_box()
136    }
137    /// <p>Takes in two or more pair of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates.</p><note>
138    /// <p>Cannot be used with <code>Zoom</code> and or <code>Radius</code></p>
139    /// </note>
140    /// <p>Example: 97.170451,78.039098,99.045536,27.176178</p>
141    pub fn bounded_positions(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
142        self.inner = self.inner.bounded_positions(input.into());
143        self
144    }
145    /// <p>Takes in two or more pair of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates.</p><note>
146    /// <p>Cannot be used with <code>Zoom</code> and or <code>Radius</code></p>
147    /// </note>
148    /// <p>Example: 97.170451,78.039098,99.045536,27.176178</p>
149    pub fn set_bounded_positions(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
150        self.inner = self.inner.set_bounded_positions(input);
151        self
152    }
153    /// <p>Takes in two or more pair of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], with each coordinate separated by a comma. The API will generate an image to encompass all of the provided coordinates.</p><note>
154    /// <p>Cannot be used with <code>Zoom</code> and or <code>Radius</code></p>
155    /// </note>
156    /// <p>Example: 97.170451,78.039098,99.045536,27.176178</p>
157    pub fn get_bounded_positions(&self) -> &::std::option::Option<::std::string::String> {
158        self.inner.get_bounded_positions()
159    }
160    /// <p>Takes in a pair of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], which becomes the center point of the image. This parameter requires that either zoom or radius is set.</p><note>
161    /// <p>Cannot be used with <code>Zoom</code> and or <code>Radius</code></p>
162    /// </note>
163    /// <p>Example: 49.295,-123.108</p>
164    pub fn center(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
165        self.inner = self.inner.center(input.into());
166        self
167    }
168    /// <p>Takes in a pair of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], which becomes the center point of the image. This parameter requires that either zoom or radius is set.</p><note>
169    /// <p>Cannot be used with <code>Zoom</code> and or <code>Radius</code></p>
170    /// </note>
171    /// <p>Example: 49.295,-123.108</p>
172    pub fn set_center(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
173        self.inner = self.inner.set_center(input);
174        self
175    }
176    /// <p>Takes in a pair of coordinates in World Geodetic System (WGS 84) format: \[longitude, latitude\], which becomes the center point of the image. This parameter requires that either zoom or radius is set.</p><note>
177    /// <p>Cannot be used with <code>Zoom</code> and or <code>Radius</code></p>
178    /// </note>
179    /// <p>Example: 49.295,-123.108</p>
180    pub fn get_center(&self) -> &::std::option::Option<::std::string::String> {
181        self.inner.get_center()
182    }
183    /// <p>Sets color tone for map, such as dark and light for specific map styles. It only applies to vector map styles, such as Standard.</p>
184    /// <p>Example: <code>Light</code></p>
185    /// <p>Default value: <code>Light</code></p><note>
186    /// <p>Valid values for <code>ColorScheme</code> are case sensitive.</p>
187    /// </note>
188    pub fn color_scheme(mut self, input: crate::types::ColorScheme) -> Self {
189        self.inner = self.inner.color_scheme(input);
190        self
191    }
192    /// <p>Sets color tone for map, such as dark and light for specific map styles. It only applies to vector map styles, such as Standard.</p>
193    /// <p>Example: <code>Light</code></p>
194    /// <p>Default value: <code>Light</code></p><note>
195    /// <p>Valid values for <code>ColorScheme</code> are case sensitive.</p>
196    /// </note>
197    pub fn set_color_scheme(mut self, input: ::std::option::Option<crate::types::ColorScheme>) -> Self {
198        self.inner = self.inner.set_color_scheme(input);
199        self
200    }
201    /// <p>Sets color tone for map, such as dark and light for specific map styles. It only applies to vector map styles, such as Standard.</p>
202    /// <p>Example: <code>Light</code></p>
203    /// <p>Default value: <code>Light</code></p><note>
204    /// <p>Valid values for <code>ColorScheme</code> are case sensitive.</p>
205    /// </note>
206    pub fn get_color_scheme(&self) -> &::std::option::Option<crate::types::ColorScheme> {
207        self.inner.get_color_scheme()
208    }
209    /// <p>Takes in a string to draw geometries on the image. The input is a comma separated format as follows format: <code>\[Lon, Lat\]</code></p>
210    /// <p>Example: <code>line:-122.407653,37.798557,-122.413291,37.802443;color=%23DD0000;width=7;outline-color=#00DD00;outline-width=5yd|point:-122.40572,37.80004;label=Fog Hill Market;size=large;text-color=%23DD0000;color=#EE4B2B</code></p><note>
211    /// <p>Currently it supports the following geometry types: point, line and polygon. It does not support multiPoint , multiLine and multiPolgyon.</p>
212    /// </note>
213    pub fn compact_overlay(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
214        self.inner = self.inner.compact_overlay(input.into());
215        self
216    }
217    /// <p>Takes in a string to draw geometries on the image. The input is a comma separated format as follows format: <code>\[Lon, Lat\]</code></p>
218    /// <p>Example: <code>line:-122.407653,37.798557,-122.413291,37.802443;color=%23DD0000;width=7;outline-color=#00DD00;outline-width=5yd|point:-122.40572,37.80004;label=Fog Hill Market;size=large;text-color=%23DD0000;color=#EE4B2B</code></p><note>
219    /// <p>Currently it supports the following geometry types: point, line and polygon. It does not support multiPoint , multiLine and multiPolgyon.</p>
220    /// </note>
221    pub fn set_compact_overlay(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
222        self.inner = self.inner.set_compact_overlay(input);
223        self
224    }
225    /// <p>Takes in a string to draw geometries on the image. The input is a comma separated format as follows format: <code>\[Lon, Lat\]</code></p>
226    /// <p>Example: <code>line:-122.407653,37.798557,-122.413291,37.802443;color=%23DD0000;width=7;outline-color=#00DD00;outline-width=5yd|point:-122.40572,37.80004;label=Fog Hill Market;size=large;text-color=%23DD0000;color=#EE4B2B</code></p><note>
227    /// <p>Currently it supports the following geometry types: point, line and polygon. It does not support multiPoint , multiLine and multiPolgyon.</p>
228    /// </note>
229    pub fn get_compact_overlay(&self) -> &::std::option::Option<::std::string::String> {
230        self.inner.get_compact_overlay()
231    }
232    /// <p>It is a flag that takes in true or false. It prevents the labels that are on the edge of the image from being cut or obscured.</p>
233    pub fn crop_labels(mut self, input: bool) -> Self {
234        self.inner = self.inner.crop_labels(input);
235        self
236    }
237    /// <p>It is a flag that takes in true or false. It prevents the labels that are on the edge of the image from being cut or obscured.</p>
238    pub fn set_crop_labels(mut self, input: ::std::option::Option<bool>) -> Self {
239        self.inner = self.inner.set_crop_labels(input);
240        self
241    }
242    /// <p>It is a flag that takes in true or false. It prevents the labels that are on the edge of the image from being cut or obscured.</p>
243    pub fn get_crop_labels(&self) -> &::std::option::Option<bool> {
244        self.inner.get_crop_labels()
245    }
246    /// <p>Takes in a string to draw geometries on the image. The input is a valid GeoJSON collection object.</p>
247    /// <p>Example: <code>{"type":"FeatureCollection","features": \[{"type":"Feature","geometry":{"type":"MultiPoint","coordinates": \[\[-90.076345,51.504107\],\[-0.074451,51.506892\]\]},"properties": {"color":"#00DD00"}}\]}</code></p>
248    pub fn geo_json_overlay(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
249        self.inner = self.inner.geo_json_overlay(input.into());
250        self
251    }
252    /// <p>Takes in a string to draw geometries on the image. The input is a valid GeoJSON collection object.</p>
253    /// <p>Example: <code>{"type":"FeatureCollection","features": \[{"type":"Feature","geometry":{"type":"MultiPoint","coordinates": \[\[-90.076345,51.504107\],\[-0.074451,51.506892\]\]},"properties": {"color":"#00DD00"}}\]}</code></p>
254    pub fn set_geo_json_overlay(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
255        self.inner = self.inner.set_geo_json_overlay(input);
256        self
257    }
258    /// <p>Takes in a string to draw geometries on the image. The input is a valid GeoJSON collection object.</p>
259    /// <p>Example: <code>{"type":"FeatureCollection","features": \[{"type":"Feature","geometry":{"type":"MultiPoint","coordinates": \[\[-90.076345,51.504107\],\[-0.074451,51.506892\]\]},"properties": {"color":"#00DD00"}}\]}</code></p>
260    pub fn get_geo_json_overlay(&self) -> &::std::option::Option<::std::string::String> {
261        self.inner.get_geo_json_overlay()
262    }
263    /// <p>Specifies the height of the map image.</p>
264    pub fn height(mut self, input: i32) -> Self {
265        self.inner = self.inner.height(input);
266        self
267    }
268    /// <p>Specifies the height of the map image.</p>
269    pub fn set_height(mut self, input: ::std::option::Option<i32>) -> Self {
270        self.inner = self.inner.set_height(input);
271        self
272    }
273    /// <p>Specifies the height of the map image.</p>
274    pub fn get_height(&self) -> &::std::option::Option<i32> {
275        self.inner.get_height()
276    }
277    /// <p>Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.</p>
278    pub fn key(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
279        self.inner = self.inner.key(input.into());
280        self
281    }
282    /// <p>Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.</p>
283    pub fn set_key(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
284        self.inner = self.inner.set_key(input);
285        self
286    }
287    /// <p>Optional: The API key to be used for authorization. Either an API key or valid SigV4 signature must be provided when making a request.</p>
288    pub fn get_key(&self) -> &::std::option::Option<::std::string::String> {
289        self.inner.get_key()
290    }
291    /// <p>Overrides the label size auto-calculated by <code>FileName</code>. Takes in one of the values - <code>Small</code> or <code>Large</code>.</p>
292    pub fn label_size(mut self, input: crate::types::LabelSize) -> Self {
293        self.inner = self.inner.label_size(input);
294        self
295    }
296    /// <p>Overrides the label size auto-calculated by <code>FileName</code>. Takes in one of the values - <code>Small</code> or <code>Large</code>.</p>
297    pub fn set_label_size(mut self, input: ::std::option::Option<crate::types::LabelSize>) -> Self {
298        self.inner = self.inner.set_label_size(input);
299        self
300    }
301    /// <p>Overrides the label size auto-calculated by <code>FileName</code>. Takes in one of the values - <code>Small</code> or <code>Large</code>.</p>
302    pub fn get_label_size(&self) -> &::std::option::Option<crate::types::LabelSize> {
303        self.inner.get_label_size()
304    }
305    /// <p>Specifies the language on the map labels using the BCP 47 language tag, limited to ISO 639-1 two-letter language codes. If the specified language data isn't available for the map image, the labels will default to the regional primary language.</p>
306    /// <p>Supported codes:</p>
307    /// <ul>
308    /// <li>
309    /// <p><code>ar</code></p></li>
310    /// <li>
311    /// <p><code>as</code></p></li>
312    /// <li>
313    /// <p><code>az</code></p></li>
314    /// <li>
315    /// <p><code>be</code></p></li>
316    /// <li>
317    /// <p><code>bg</code></p></li>
318    /// <li>
319    /// <p><code>bn</code></p></li>
320    /// <li>
321    /// <p><code>bs</code></p></li>
322    /// <li>
323    /// <p><code>ca</code></p></li>
324    /// <li>
325    /// <p><code>cs</code></p></li>
326    /// <li>
327    /// <p><code>cy</code></p></li>
328    /// <li>
329    /// <p><code>da</code></p></li>
330    /// <li>
331    /// <p><code>de</code></p></li>
332    /// <li>
333    /// <p><code>el</code></p></li>
334    /// <li>
335    /// <p><code>en</code></p></li>
336    /// <li>
337    /// <p><code>es</code></p></li>
338    /// <li>
339    /// <p><code>et</code></p></li>
340    /// <li>
341    /// <p><code>eu</code></p></li>
342    /// <li>
343    /// <p><code>fi</code></p></li>
344    /// <li>
345    /// <p><code>fo</code></p></li>
346    /// <li>
347    /// <p><code>fr</code></p></li>
348    /// <li>
349    /// <p><code>ga</code></p></li>
350    /// <li>
351    /// <p><code>gl</code></p></li>
352    /// <li>
353    /// <p><code>gn</code></p></li>
354    /// <li>
355    /// <p><code>gu</code></p></li>
356    /// <li>
357    /// <p><code>he</code></p></li>
358    /// <li>
359    /// <p><code>hi</code></p></li>
360    /// <li>
361    /// <p><code>hr</code></p></li>
362    /// <li>
363    /// <p><code>hu</code></p></li>
364    /// <li>
365    /// <p><code>hy</code></p></li>
366    /// <li>
367    /// <p><code>id</code></p></li>
368    /// <li>
369    /// <p><code>is</code></p></li>
370    /// <li>
371    /// <p><code>it</code></p></li>
372    /// <li>
373    /// <p><code>ja</code></p></li>
374    /// <li>
375    /// <p><code>ka</code></p></li>
376    /// <li>
377    /// <p><code>kk</code></p></li>
378    /// <li>
379    /// <p><code>km</code></p></li>
380    /// <li>
381    /// <p><code>kn</code></p></li>
382    /// <li>
383    /// <p><code>ko</code></p></li>
384    /// <li>
385    /// <p><code>ky</code></p></li>
386    /// <li>
387    /// <p><code>lt</code></p></li>
388    /// <li>
389    /// <p><code>lv</code></p></li>
390    /// <li>
391    /// <p><code>mk</code></p></li>
392    /// <li>
393    /// <p><code>ml</code></p></li>
394    /// <li>
395    /// <p><code>mr</code></p></li>
396    /// <li>
397    /// <p><code>ms</code></p></li>
398    /// <li>
399    /// <p><code>mt</code></p></li>
400    /// <li>
401    /// <p><code>my</code></p></li>
402    /// <li>
403    /// <p><code>nl</code></p></li>
404    /// <li>
405    /// <p><code>no</code></p></li>
406    /// <li>
407    /// <p><code>or</code></p></li>
408    /// <li>
409    /// <p><code>pa</code></p></li>
410    /// <li>
411    /// <p><code>pl</code></p></li>
412    /// <li>
413    /// <p><code>pt</code></p></li>
414    /// <li>
415    /// <p><code>ro</code></p></li>
416    /// <li>
417    /// <p><code>ru</code></p></li>
418    /// <li>
419    /// <p><code>sk</code></p></li>
420    /// <li>
421    /// <p><code>sl</code></p></li>
422    /// <li>
423    /// <p><code>sq</code></p></li>
424    /// <li>
425    /// <p><code>sr</code></p></li>
426    /// <li>
427    /// <p><code>sv</code></p></li>
428    /// <li>
429    /// <p><code>ta</code></p></li>
430    /// <li>
431    /// <p><code>te</code></p></li>
432    /// <li>
433    /// <p><code>th</code></p></li>
434    /// <li>
435    /// <p><code>tr</code></p></li>
436    /// <li>
437    /// <p><code>uk</code></p></li>
438    /// <li>
439    /// <p><code>uz</code></p></li>
440    /// <li>
441    /// <p><code>vi</code></p></li>
442    /// <li>
443    /// <p><code>zh</code></p></li>
444    /// </ul>
445    pub fn language(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
446        self.inner = self.inner.language(input.into());
447        self
448    }
449    /// <p>Specifies the language on the map labels using the BCP 47 language tag, limited to ISO 639-1 two-letter language codes. If the specified language data isn't available for the map image, the labels will default to the regional primary language.</p>
450    /// <p>Supported codes:</p>
451    /// <ul>
452    /// <li>
453    /// <p><code>ar</code></p></li>
454    /// <li>
455    /// <p><code>as</code></p></li>
456    /// <li>
457    /// <p><code>az</code></p></li>
458    /// <li>
459    /// <p><code>be</code></p></li>
460    /// <li>
461    /// <p><code>bg</code></p></li>
462    /// <li>
463    /// <p><code>bn</code></p></li>
464    /// <li>
465    /// <p><code>bs</code></p></li>
466    /// <li>
467    /// <p><code>ca</code></p></li>
468    /// <li>
469    /// <p><code>cs</code></p></li>
470    /// <li>
471    /// <p><code>cy</code></p></li>
472    /// <li>
473    /// <p><code>da</code></p></li>
474    /// <li>
475    /// <p><code>de</code></p></li>
476    /// <li>
477    /// <p><code>el</code></p></li>
478    /// <li>
479    /// <p><code>en</code></p></li>
480    /// <li>
481    /// <p><code>es</code></p></li>
482    /// <li>
483    /// <p><code>et</code></p></li>
484    /// <li>
485    /// <p><code>eu</code></p></li>
486    /// <li>
487    /// <p><code>fi</code></p></li>
488    /// <li>
489    /// <p><code>fo</code></p></li>
490    /// <li>
491    /// <p><code>fr</code></p></li>
492    /// <li>
493    /// <p><code>ga</code></p></li>
494    /// <li>
495    /// <p><code>gl</code></p></li>
496    /// <li>
497    /// <p><code>gn</code></p></li>
498    /// <li>
499    /// <p><code>gu</code></p></li>
500    /// <li>
501    /// <p><code>he</code></p></li>
502    /// <li>
503    /// <p><code>hi</code></p></li>
504    /// <li>
505    /// <p><code>hr</code></p></li>
506    /// <li>
507    /// <p><code>hu</code></p></li>
508    /// <li>
509    /// <p><code>hy</code></p></li>
510    /// <li>
511    /// <p><code>id</code></p></li>
512    /// <li>
513    /// <p><code>is</code></p></li>
514    /// <li>
515    /// <p><code>it</code></p></li>
516    /// <li>
517    /// <p><code>ja</code></p></li>
518    /// <li>
519    /// <p><code>ka</code></p></li>
520    /// <li>
521    /// <p><code>kk</code></p></li>
522    /// <li>
523    /// <p><code>km</code></p></li>
524    /// <li>
525    /// <p><code>kn</code></p></li>
526    /// <li>
527    /// <p><code>ko</code></p></li>
528    /// <li>
529    /// <p><code>ky</code></p></li>
530    /// <li>
531    /// <p><code>lt</code></p></li>
532    /// <li>
533    /// <p><code>lv</code></p></li>
534    /// <li>
535    /// <p><code>mk</code></p></li>
536    /// <li>
537    /// <p><code>ml</code></p></li>
538    /// <li>
539    /// <p><code>mr</code></p></li>
540    /// <li>
541    /// <p><code>ms</code></p></li>
542    /// <li>
543    /// <p><code>mt</code></p></li>
544    /// <li>
545    /// <p><code>my</code></p></li>
546    /// <li>
547    /// <p><code>nl</code></p></li>
548    /// <li>
549    /// <p><code>no</code></p></li>
550    /// <li>
551    /// <p><code>or</code></p></li>
552    /// <li>
553    /// <p><code>pa</code></p></li>
554    /// <li>
555    /// <p><code>pl</code></p></li>
556    /// <li>
557    /// <p><code>pt</code></p></li>
558    /// <li>
559    /// <p><code>ro</code></p></li>
560    /// <li>
561    /// <p><code>ru</code></p></li>
562    /// <li>
563    /// <p><code>sk</code></p></li>
564    /// <li>
565    /// <p><code>sl</code></p></li>
566    /// <li>
567    /// <p><code>sq</code></p></li>
568    /// <li>
569    /// <p><code>sr</code></p></li>
570    /// <li>
571    /// <p><code>sv</code></p></li>
572    /// <li>
573    /// <p><code>ta</code></p></li>
574    /// <li>
575    /// <p><code>te</code></p></li>
576    /// <li>
577    /// <p><code>th</code></p></li>
578    /// <li>
579    /// <p><code>tr</code></p></li>
580    /// <li>
581    /// <p><code>uk</code></p></li>
582    /// <li>
583    /// <p><code>uz</code></p></li>
584    /// <li>
585    /// <p><code>vi</code></p></li>
586    /// <li>
587    /// <p><code>zh</code></p></li>
588    /// </ul>
589    pub fn set_language(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
590        self.inner = self.inner.set_language(input);
591        self
592    }
593    /// <p>Specifies the language on the map labels using the BCP 47 language tag, limited to ISO 639-1 two-letter language codes. If the specified language data isn't available for the map image, the labels will default to the regional primary language.</p>
594    /// <p>Supported codes:</p>
595    /// <ul>
596    /// <li>
597    /// <p><code>ar</code></p></li>
598    /// <li>
599    /// <p><code>as</code></p></li>
600    /// <li>
601    /// <p><code>az</code></p></li>
602    /// <li>
603    /// <p><code>be</code></p></li>
604    /// <li>
605    /// <p><code>bg</code></p></li>
606    /// <li>
607    /// <p><code>bn</code></p></li>
608    /// <li>
609    /// <p><code>bs</code></p></li>
610    /// <li>
611    /// <p><code>ca</code></p></li>
612    /// <li>
613    /// <p><code>cs</code></p></li>
614    /// <li>
615    /// <p><code>cy</code></p></li>
616    /// <li>
617    /// <p><code>da</code></p></li>
618    /// <li>
619    /// <p><code>de</code></p></li>
620    /// <li>
621    /// <p><code>el</code></p></li>
622    /// <li>
623    /// <p><code>en</code></p></li>
624    /// <li>
625    /// <p><code>es</code></p></li>
626    /// <li>
627    /// <p><code>et</code></p></li>
628    /// <li>
629    /// <p><code>eu</code></p></li>
630    /// <li>
631    /// <p><code>fi</code></p></li>
632    /// <li>
633    /// <p><code>fo</code></p></li>
634    /// <li>
635    /// <p><code>fr</code></p></li>
636    /// <li>
637    /// <p><code>ga</code></p></li>
638    /// <li>
639    /// <p><code>gl</code></p></li>
640    /// <li>
641    /// <p><code>gn</code></p></li>
642    /// <li>
643    /// <p><code>gu</code></p></li>
644    /// <li>
645    /// <p><code>he</code></p></li>
646    /// <li>
647    /// <p><code>hi</code></p></li>
648    /// <li>
649    /// <p><code>hr</code></p></li>
650    /// <li>
651    /// <p><code>hu</code></p></li>
652    /// <li>
653    /// <p><code>hy</code></p></li>
654    /// <li>
655    /// <p><code>id</code></p></li>
656    /// <li>
657    /// <p><code>is</code></p></li>
658    /// <li>
659    /// <p><code>it</code></p></li>
660    /// <li>
661    /// <p><code>ja</code></p></li>
662    /// <li>
663    /// <p><code>ka</code></p></li>
664    /// <li>
665    /// <p><code>kk</code></p></li>
666    /// <li>
667    /// <p><code>km</code></p></li>
668    /// <li>
669    /// <p><code>kn</code></p></li>
670    /// <li>
671    /// <p><code>ko</code></p></li>
672    /// <li>
673    /// <p><code>ky</code></p></li>
674    /// <li>
675    /// <p><code>lt</code></p></li>
676    /// <li>
677    /// <p><code>lv</code></p></li>
678    /// <li>
679    /// <p><code>mk</code></p></li>
680    /// <li>
681    /// <p><code>ml</code></p></li>
682    /// <li>
683    /// <p><code>mr</code></p></li>
684    /// <li>
685    /// <p><code>ms</code></p></li>
686    /// <li>
687    /// <p><code>mt</code></p></li>
688    /// <li>
689    /// <p><code>my</code></p></li>
690    /// <li>
691    /// <p><code>nl</code></p></li>
692    /// <li>
693    /// <p><code>no</code></p></li>
694    /// <li>
695    /// <p><code>or</code></p></li>
696    /// <li>
697    /// <p><code>pa</code></p></li>
698    /// <li>
699    /// <p><code>pl</code></p></li>
700    /// <li>
701    /// <p><code>pt</code></p></li>
702    /// <li>
703    /// <p><code>ro</code></p></li>
704    /// <li>
705    /// <p><code>ru</code></p></li>
706    /// <li>
707    /// <p><code>sk</code></p></li>
708    /// <li>
709    /// <p><code>sl</code></p></li>
710    /// <li>
711    /// <p><code>sq</code></p></li>
712    /// <li>
713    /// <p><code>sr</code></p></li>
714    /// <li>
715    /// <p><code>sv</code></p></li>
716    /// <li>
717    /// <p><code>ta</code></p></li>
718    /// <li>
719    /// <p><code>te</code></p></li>
720    /// <li>
721    /// <p><code>th</code></p></li>
722    /// <li>
723    /// <p><code>tr</code></p></li>
724    /// <li>
725    /// <p><code>uk</code></p></li>
726    /// <li>
727    /// <p><code>uz</code></p></li>
728    /// <li>
729    /// <p><code>vi</code></p></li>
730    /// <li>
731    /// <p><code>zh</code></p></li>
732    /// </ul>
733    pub fn get_language(&self) -> &::std::option::Option<::std::string::String> {
734        self.inner.get_language()
735    }
736    /// <p>Applies additional space (in pixels) around overlay feature to prevent them from being cut or obscured.</p><note>
737    /// <p>Value for max and min is determined by:</p>
738    /// <p>Min: <code>1</code></p>
739    /// <p>Max: <code>min(height, width)/4</code></p>
740    /// </note>
741    /// <p>Example: <code>100</code></p>
742    pub fn padding(mut self, input: i32) -> Self {
743        self.inner = self.inner.padding(input);
744        self
745    }
746    /// <p>Applies additional space (in pixels) around overlay feature to prevent them from being cut or obscured.</p><note>
747    /// <p>Value for max and min is determined by:</p>
748    /// <p>Min: <code>1</code></p>
749    /// <p>Max: <code>min(height, width)/4</code></p>
750    /// </note>
751    /// <p>Example: <code>100</code></p>
752    pub fn set_padding(mut self, input: ::std::option::Option<i32>) -> Self {
753        self.inner = self.inner.set_padding(input);
754        self
755    }
756    /// <p>Applies additional space (in pixels) around overlay feature to prevent them from being cut or obscured.</p><note>
757    /// <p>Value for max and min is determined by:</p>
758    /// <p>Min: <code>1</code></p>
759    /// <p>Max: <code>min(height, width)/4</code></p>
760    /// </note>
761    /// <p>Example: <code>100</code></p>
762    pub fn get_padding(&self) -> &::std::option::Option<i32> {
763        self.inner.get_padding()
764    }
765    /// <p>Specifies the political view, using ISO 3166-2 or ISO 3166-3 country code format.</p>
766    /// <p>The following political views are currently supported:</p>
767    /// <ul>
768    /// <li>
769    /// <p><code>ARG</code>: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands</p></li>
770    /// <li>
771    /// <p><code>EGY</code>: Egypt's view on Bir Tawil</p></li>
772    /// <li>
773    /// <p><code>IND</code>: India's view on Gilgit-Baltistan</p></li>
774    /// <li>
775    /// <p><code>KEN</code>: Kenya's view on the Ilemi Triangle</p></li>
776    /// <li>
777    /// <p><code>MAR</code>: Morocco's view on Western Sahara</p></li>
778    /// <li>
779    /// <p><code>RUS</code>: Russia's view on Crimea</p></li>
780    /// <li>
781    /// <p><code>SDN</code>: Sudan's view on the Halaib Triangle</p></li>
782    /// <li>
783    /// <p><code>SRB</code>: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands</p></li>
784    /// <li>
785    /// <p><code>SUR</code>: Suriname's view on the Courantyne Headwaters and Lawa Headwaters</p></li>
786    /// <li>
787    /// <p><code>SYR</code>: Syria's view on the Golan Heights</p></li>
788    /// <li>
789    /// <p><code>TUR</code>: Turkey's view on Cyprus and Northern Cyprus</p></li>
790    /// <li>
791    /// <p><code>TZA</code>: Tanzania's view on Lake Malawi</p></li>
792    /// <li>
793    /// <p><code>URY</code>: Uruguay's view on Rincon de Artigas</p></li>
794    /// <li>
795    /// <p><code>VNM</code>: Vietnam's view on the Paracel Islands and Spratly Islands</p></li>
796    /// </ul>
797    pub fn political_view(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
798        self.inner = self.inner.political_view(input.into());
799        self
800    }
801    /// <p>Specifies the political view, using ISO 3166-2 or ISO 3166-3 country code format.</p>
802    /// <p>The following political views are currently supported:</p>
803    /// <ul>
804    /// <li>
805    /// <p><code>ARG</code>: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands</p></li>
806    /// <li>
807    /// <p><code>EGY</code>: Egypt's view on Bir Tawil</p></li>
808    /// <li>
809    /// <p><code>IND</code>: India's view on Gilgit-Baltistan</p></li>
810    /// <li>
811    /// <p><code>KEN</code>: Kenya's view on the Ilemi Triangle</p></li>
812    /// <li>
813    /// <p><code>MAR</code>: Morocco's view on Western Sahara</p></li>
814    /// <li>
815    /// <p><code>RUS</code>: Russia's view on Crimea</p></li>
816    /// <li>
817    /// <p><code>SDN</code>: Sudan's view on the Halaib Triangle</p></li>
818    /// <li>
819    /// <p><code>SRB</code>: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands</p></li>
820    /// <li>
821    /// <p><code>SUR</code>: Suriname's view on the Courantyne Headwaters and Lawa Headwaters</p></li>
822    /// <li>
823    /// <p><code>SYR</code>: Syria's view on the Golan Heights</p></li>
824    /// <li>
825    /// <p><code>TUR</code>: Turkey's view on Cyprus and Northern Cyprus</p></li>
826    /// <li>
827    /// <p><code>TZA</code>: Tanzania's view on Lake Malawi</p></li>
828    /// <li>
829    /// <p><code>URY</code>: Uruguay's view on Rincon de Artigas</p></li>
830    /// <li>
831    /// <p><code>VNM</code>: Vietnam's view on the Paracel Islands and Spratly Islands</p></li>
832    /// </ul>
833    pub fn set_political_view(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
834        self.inner = self.inner.set_political_view(input);
835        self
836    }
837    /// <p>Specifies the political view, using ISO 3166-2 or ISO 3166-3 country code format.</p>
838    /// <p>The following political views are currently supported:</p>
839    /// <ul>
840    /// <li>
841    /// <p><code>ARG</code>: Argentina's view on the Southern Patagonian Ice Field and Tierra Del Fuego, including the Falkland Islands, South Georgia, and South Sandwich Islands</p></li>
842    /// <li>
843    /// <p><code>EGY</code>: Egypt's view on Bir Tawil</p></li>
844    /// <li>
845    /// <p><code>IND</code>: India's view on Gilgit-Baltistan</p></li>
846    /// <li>
847    /// <p><code>KEN</code>: Kenya's view on the Ilemi Triangle</p></li>
848    /// <li>
849    /// <p><code>MAR</code>: Morocco's view on Western Sahara</p></li>
850    /// <li>
851    /// <p><code>RUS</code>: Russia's view on Crimea</p></li>
852    /// <li>
853    /// <p><code>SDN</code>: Sudan's view on the Halaib Triangle</p></li>
854    /// <li>
855    /// <p><code>SRB</code>: Serbia's view on Kosovo, Vukovar, and Sarengrad Islands</p></li>
856    /// <li>
857    /// <p><code>SUR</code>: Suriname's view on the Courantyne Headwaters and Lawa Headwaters</p></li>
858    /// <li>
859    /// <p><code>SYR</code>: Syria's view on the Golan Heights</p></li>
860    /// <li>
861    /// <p><code>TUR</code>: Turkey's view on Cyprus and Northern Cyprus</p></li>
862    /// <li>
863    /// <p><code>TZA</code>: Tanzania's view on Lake Malawi</p></li>
864    /// <li>
865    /// <p><code>URY</code>: Uruguay's view on Rincon de Artigas</p></li>
866    /// <li>
867    /// <p><code>VNM</code>: Vietnam's view on the Paracel Islands and Spratly Islands</p></li>
868    /// </ul>
869    pub fn get_political_view(&self) -> &::std::option::Option<::std::string::String> {
870        self.inner.get_political_view()
871    }
872    /// <p>Determines if the result image will display icons representing points of interest on the map.</p>
873    pub fn points_of_interests(mut self, input: crate::types::MapFeatureMode) -> Self {
874        self.inner = self.inner.points_of_interests(input);
875        self
876    }
877    /// <p>Determines if the result image will display icons representing points of interest on the map.</p>
878    pub fn set_points_of_interests(mut self, input: ::std::option::Option<crate::types::MapFeatureMode>) -> Self {
879        self.inner = self.inner.set_points_of_interests(input);
880        self
881    }
882    /// <p>Determines if the result image will display icons representing points of interest on the map.</p>
883    pub fn get_points_of_interests(&self) -> &::std::option::Option<crate::types::MapFeatureMode> {
884        self.inner.get_points_of_interests()
885    }
886    /// <p>Used with center parameter, it specifies the zoom of the image where you can control it on a granular level. Takes in any value <code>&gt;= 1</code>.</p>
887    /// <p>Example: <code>1500</code></p><note>
888    /// <p>Cannot be used with <code>Zoom</code>.</p>
889    /// </note>
890    /// <p><b>Unit</b>: <code>Meters</code></p>
891    /// <p></p>
892    pub fn radius(mut self, input: i64) -> Self {
893        self.inner = self.inner.radius(input);
894        self
895    }
896    /// <p>Used with center parameter, it specifies the zoom of the image where you can control it on a granular level. Takes in any value <code>&gt;= 1</code>.</p>
897    /// <p>Example: <code>1500</code></p><note>
898    /// <p>Cannot be used with <code>Zoom</code>.</p>
899    /// </note>
900    /// <p><b>Unit</b>: <code>Meters</code></p>
901    /// <p></p>
902    pub fn set_radius(mut self, input: ::std::option::Option<i64>) -> Self {
903        self.inner = self.inner.set_radius(input);
904        self
905    }
906    /// <p>Used with center parameter, it specifies the zoom of the image where you can control it on a granular level. Takes in any value <code>&gt;= 1</code>.</p>
907    /// <p>Example: <code>1500</code></p><note>
908    /// <p>Cannot be used with <code>Zoom</code>.</p>
909    /// </note>
910    /// <p><b>Unit</b>: <code>Meters</code></p>
911    /// <p></p>
912    pub fn get_radius(&self) -> &::std::option::Option<i64> {
913        self.inner.get_radius()
914    }
915    /// <p>The map scaling parameter to size the image, icons, and labels. It follows the pattern of <code>^map(@2x)?$</code>.</p>
916    /// <p>Example: <code>map, map@2x</code></p>
917    pub fn file_name(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
918        self.inner = self.inner.file_name(input.into());
919        self
920    }
921    /// <p>The map scaling parameter to size the image, icons, and labels. It follows the pattern of <code>^map(@2x)?$</code>.</p>
922    /// <p>Example: <code>map, map@2x</code></p>
923    pub fn set_file_name(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
924        self.inner = self.inner.set_file_name(input);
925        self
926    }
927    /// <p>The map scaling parameter to size the image, icons, and labels. It follows the pattern of <code>^map(@2x)?$</code>.</p>
928    /// <p>Example: <code>map, map@2x</code></p>
929    pub fn get_file_name(&self) -> &::std::option::Option<::std::string::String> {
930        self.inner.get_file_name()
931    }
932    /// <p>Displays a scale on the bottom right of the map image with the unit specified in the input.</p>
933    /// <p>Example: <code>KilometersMiles, Miles, Kilometers, MilesKilometers</code></p>
934    pub fn scale_bar_unit(mut self, input: crate::types::ScaleBarUnit) -> Self {
935        self.inner = self.inner.scale_bar_unit(input);
936        self
937    }
938    /// <p>Displays a scale on the bottom right of the map image with the unit specified in the input.</p>
939    /// <p>Example: <code>KilometersMiles, Miles, Kilometers, MilesKilometers</code></p>
940    pub fn set_scale_bar_unit(mut self, input: ::std::option::Option<crate::types::ScaleBarUnit>) -> Self {
941        self.inner = self.inner.set_scale_bar_unit(input);
942        self
943    }
944    /// <p>Displays a scale on the bottom right of the map image with the unit specified in the input.</p>
945    /// <p>Example: <code>KilometersMiles, Miles, Kilometers, MilesKilometers</code></p>
946    pub fn get_scale_bar_unit(&self) -> &::std::option::Option<crate::types::ScaleBarUnit> {
947        self.inner.get_scale_bar_unit()
948    }
949    /// <p><code>Style</code> specifies the desired map style.</p>
950    pub fn style(mut self, input: crate::types::StaticMapStyle) -> Self {
951        self.inner = self.inner.style(input);
952        self
953    }
954    /// <p><code>Style</code> specifies the desired map style.</p>
955    pub fn set_style(mut self, input: ::std::option::Option<crate::types::StaticMapStyle>) -> Self {
956        self.inner = self.inner.set_style(input);
957        self
958    }
959    /// <p><code>Style</code> specifies the desired map style.</p>
960    pub fn get_style(&self) -> &::std::option::Option<crate::types::StaticMapStyle> {
961        self.inner.get_style()
962    }
963    /// <p>Specifies the width of the map image.</p>
964    pub fn width(mut self, input: i32) -> Self {
965        self.inner = self.inner.width(input);
966        self
967    }
968    /// <p>Specifies the width of the map image.</p>
969    pub fn set_width(mut self, input: ::std::option::Option<i32>) -> Self {
970        self.inner = self.inner.set_width(input);
971        self
972    }
973    /// <p>Specifies the width of the map image.</p>
974    pub fn get_width(&self) -> &::std::option::Option<i32> {
975        self.inner.get_width()
976    }
977    /// <p>Specifies the zoom level of the map image.</p><note>
978    /// <p>Cannot be used with <code>Radius</code>.</p>
979    /// </note>
980    pub fn zoom(mut self, input: f32) -> Self {
981        self.inner = self.inner.zoom(input);
982        self
983    }
984    /// <p>Specifies the zoom level of the map image.</p><note>
985    /// <p>Cannot be used with <code>Radius</code>.</p>
986    /// </note>
987    pub fn set_zoom(mut self, input: ::std::option::Option<f32>) -> Self {
988        self.inner = self.inner.set_zoom(input);
989        self
990    }
991    /// <p>Specifies the zoom level of the map image.</p><note>
992    /// <p>Cannot be used with <code>Radius</code>.</p>
993    /// </note>
994    pub fn get_zoom(&self) -> &::std::option::Option<f32> {
995        self.inner.get_zoom()
996    }
997}