aws_sdk_iotsitewise/operation/get_interpolated_asset_property_values/
builders.rs

1// Code generated by software.amazon.smithy.rust.codegen.smithy-rs. DO NOT EDIT.
2pub use crate::operation::get_interpolated_asset_property_values::_get_interpolated_asset_property_values_output::GetInterpolatedAssetPropertyValuesOutputBuilder;
3
4pub use crate::operation::get_interpolated_asset_property_values::_get_interpolated_asset_property_values_input::GetInterpolatedAssetPropertyValuesInputBuilder;
5
6impl crate::operation::get_interpolated_asset_property_values::builders::GetInterpolatedAssetPropertyValuesInputBuilder {
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_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesOutput,
13        ::aws_smithy_runtime_api::client::result::SdkError<
14            crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesError,
15            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
16        >,
17    > {
18        let mut fluent_builder = client.get_interpolated_asset_property_values();
19        fluent_builder.inner = self;
20        fluent_builder.send().await
21    }
22}
23/// Fluent builder constructing a request to `GetInterpolatedAssetPropertyValues`.
24///
25/// <p>Get interpolated values for an asset property for a specified time interval, during a period of time. If your time series is missing data points during the specified time interval, you can use interpolation to estimate the missing data.</p>
26/// <p>For example, you can use this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days.</p>
27/// <p>To identify an asset property, you must specify one of the following:</p>
28/// <ul>
29/// <li>
30/// <p>The <code>assetId</code> and <code>propertyId</code> of an asset property.</p></li>
31/// <li>
32/// <p>A <code>propertyAlias</code>, which is a data stream alias (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). To define an asset property's alias, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/APIReference/API_UpdateAssetProperty.html">UpdateAssetProperty</a>.</p></li>
33/// </ul>
34#[derive(::std::clone::Clone, ::std::fmt::Debug)]
35pub struct GetInterpolatedAssetPropertyValuesFluentBuilder {
36    handle: ::std::sync::Arc<crate::client::Handle>,
37    inner: crate::operation::get_interpolated_asset_property_values::builders::GetInterpolatedAssetPropertyValuesInputBuilder,
38    config_override: ::std::option::Option<crate::config::Builder>,
39}
40impl
41    crate::client::customize::internal::CustomizableSend<
42        crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesOutput,
43        crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesError,
44    > for GetInterpolatedAssetPropertyValuesFluentBuilder
45{
46    fn send(
47        self,
48        config_override: crate::config::Builder,
49    ) -> crate::client::customize::internal::BoxFuture<
50        crate::client::customize::internal::SendResult<
51            crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesOutput,
52            crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesError,
53        >,
54    > {
55        ::std::boxed::Box::pin(async move { self.config_override(config_override).send().await })
56    }
57}
58impl GetInterpolatedAssetPropertyValuesFluentBuilder {
59    /// Creates a new `GetInterpolatedAssetPropertyValuesFluentBuilder`.
60    pub(crate) fn new(handle: ::std::sync::Arc<crate::client::Handle>) -> Self {
61        Self {
62            handle,
63            inner: ::std::default::Default::default(),
64            config_override: ::std::option::Option::None,
65        }
66    }
67    /// Access the GetInterpolatedAssetPropertyValues as a reference.
68    pub fn as_input(&self) -> &crate::operation::get_interpolated_asset_property_values::builders::GetInterpolatedAssetPropertyValuesInputBuilder {
69        &self.inner
70    }
71    /// Sends the request and returns the response.
72    ///
73    /// If an error occurs, an `SdkError` will be returned with additional details that
74    /// can be matched against.
75    ///
76    /// By default, any retryable failures will be retried twice. Retry behavior
77    /// is configurable with the [RetryConfig](aws_smithy_types::retry::RetryConfig), which can be
78    /// set when configuring the client.
79    pub async fn send(
80        self,
81    ) -> ::std::result::Result<
82        crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesOutput,
83        ::aws_smithy_runtime_api::client::result::SdkError<
84            crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesError,
85            ::aws_smithy_runtime_api::client::orchestrator::HttpResponse,
86        >,
87    > {
88        let input = self
89            .inner
90            .build()
91            .map_err(::aws_smithy_runtime_api::client::result::SdkError::construction_failure)?;
92        let runtime_plugins = crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValues::operation_runtime_plugins(
93            self.handle.runtime_plugins.clone(),
94            &self.handle.conf,
95            self.config_override,
96        );
97        crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValues::orchestrate(&runtime_plugins, input).await
98    }
99
100    /// Consumes this builder, creating a customizable operation that can be modified before being sent.
101    pub fn customize(
102        self,
103    ) -> crate::client::customize::CustomizableOperation<
104        crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesOutput,
105        crate::operation::get_interpolated_asset_property_values::GetInterpolatedAssetPropertyValuesError,
106        Self,
107    > {
108        crate::client::customize::CustomizableOperation::new(self)
109    }
110    pub(crate) fn config_override(mut self, config_override: impl ::std::convert::Into<crate::config::Builder>) -> Self {
111        self.set_config_override(::std::option::Option::Some(config_override.into()));
112        self
113    }
114
115    pub(crate) fn set_config_override(&mut self, config_override: ::std::option::Option<crate::config::Builder>) -> &mut Self {
116        self.config_override = config_override;
117        self
118    }
119    /// Create a paginator for this request
120    ///
121    /// Paginators are used by calling [`send().await`](crate::operation::get_interpolated_asset_property_values::paginator::GetInterpolatedAssetPropertyValuesPaginator::send) which returns a [`PaginationStream`](aws_smithy_async::future::pagination_stream::PaginationStream).
122    pub fn into_paginator(self) -> crate::operation::get_interpolated_asset_property_values::paginator::GetInterpolatedAssetPropertyValuesPaginator {
123        crate::operation::get_interpolated_asset_property_values::paginator::GetInterpolatedAssetPropertyValuesPaginator::new(self.handle, self.inner)
124    }
125    /// <p>The ID of the asset, in UUID format.</p>
126    pub fn asset_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
127        self.inner = self.inner.asset_id(input.into());
128        self
129    }
130    /// <p>The ID of the asset, in UUID format.</p>
131    pub fn set_asset_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
132        self.inner = self.inner.set_asset_id(input);
133        self
134    }
135    /// <p>The ID of the asset, in UUID format.</p>
136    pub fn get_asset_id(&self) -> &::std::option::Option<::std::string::String> {
137        self.inner.get_asset_id()
138    }
139    /// <p>The ID of the asset property, in UUID format.</p>
140    pub fn property_id(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
141        self.inner = self.inner.property_id(input.into());
142        self
143    }
144    /// <p>The ID of the asset property, in UUID format.</p>
145    pub fn set_property_id(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
146        self.inner = self.inner.set_property_id(input);
147        self
148    }
149    /// <p>The ID of the asset property, in UUID format.</p>
150    pub fn get_property_id(&self) -> &::std::option::Option<::std::string::String> {
151        self.inner.get_property_id()
152    }
153    /// <p>The alias that identifies the property, such as an OPC-UA server data stream path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping industrial data streams to asset properties</a> in the <i>IoT SiteWise User Guide</i>.</p>
154    pub fn property_alias(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
155        self.inner = self.inner.property_alias(input.into());
156        self
157    }
158    /// <p>The alias that identifies the property, such as an OPC-UA server data stream path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping industrial data streams to asset properties</a> in the <i>IoT SiteWise User Guide</i>.</p>
159    pub fn set_property_alias(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
160        self.inner = self.inner.set_property_alias(input);
161        self
162    }
163    /// <p>The alias that identifies the property, such as an OPC-UA server data stream path (for example, <code>/company/windfarm/3/turbine/7/temperature</code>). For more information, see <a href="https://docs.aws.amazon.com/iot-sitewise/latest/userguide/connect-data-streams.html">Mapping industrial data streams to asset properties</a> in the <i>IoT SiteWise User Guide</i>.</p>
164    pub fn get_property_alias(&self) -> &::std::option::Option<::std::string::String> {
165        self.inner.get_property_alias()
166    }
167    /// <p>The exclusive start of the range from which to interpolate data, expressed in seconds in Unix epoch time.</p>
168    pub fn start_time_in_seconds(mut self, input: i64) -> Self {
169        self.inner = self.inner.start_time_in_seconds(input);
170        self
171    }
172    /// <p>The exclusive start of the range from which to interpolate data, expressed in seconds in Unix epoch time.</p>
173    pub fn set_start_time_in_seconds(mut self, input: ::std::option::Option<i64>) -> Self {
174        self.inner = self.inner.set_start_time_in_seconds(input);
175        self
176    }
177    /// <p>The exclusive start of the range from which to interpolate data, expressed in seconds in Unix epoch time.</p>
178    pub fn get_start_time_in_seconds(&self) -> &::std::option::Option<i64> {
179        self.inner.get_start_time_in_seconds()
180    }
181    /// <p>The nanosecond offset converted from <code>startTimeInSeconds</code>.</p>
182    pub fn start_time_offset_in_nanos(mut self, input: i32) -> Self {
183        self.inner = self.inner.start_time_offset_in_nanos(input);
184        self
185    }
186    /// <p>The nanosecond offset converted from <code>startTimeInSeconds</code>.</p>
187    pub fn set_start_time_offset_in_nanos(mut self, input: ::std::option::Option<i32>) -> Self {
188        self.inner = self.inner.set_start_time_offset_in_nanos(input);
189        self
190    }
191    /// <p>The nanosecond offset converted from <code>startTimeInSeconds</code>.</p>
192    pub fn get_start_time_offset_in_nanos(&self) -> &::std::option::Option<i32> {
193        self.inner.get_start_time_offset_in_nanos()
194    }
195    /// <p>The inclusive end of the range from which to interpolate data, expressed in seconds in Unix epoch time.</p>
196    pub fn end_time_in_seconds(mut self, input: i64) -> Self {
197        self.inner = self.inner.end_time_in_seconds(input);
198        self
199    }
200    /// <p>The inclusive end of the range from which to interpolate data, expressed in seconds in Unix epoch time.</p>
201    pub fn set_end_time_in_seconds(mut self, input: ::std::option::Option<i64>) -> Self {
202        self.inner = self.inner.set_end_time_in_seconds(input);
203        self
204    }
205    /// <p>The inclusive end of the range from which to interpolate data, expressed in seconds in Unix epoch time.</p>
206    pub fn get_end_time_in_seconds(&self) -> &::std::option::Option<i64> {
207        self.inner.get_end_time_in_seconds()
208    }
209    /// <p>The nanosecond offset converted from <code>endTimeInSeconds</code>.</p>
210    pub fn end_time_offset_in_nanos(mut self, input: i32) -> Self {
211        self.inner = self.inner.end_time_offset_in_nanos(input);
212        self
213    }
214    /// <p>The nanosecond offset converted from <code>endTimeInSeconds</code>.</p>
215    pub fn set_end_time_offset_in_nanos(mut self, input: ::std::option::Option<i32>) -> Self {
216        self.inner = self.inner.set_end_time_offset_in_nanos(input);
217        self
218    }
219    /// <p>The nanosecond offset converted from <code>endTimeInSeconds</code>.</p>
220    pub fn get_end_time_offset_in_nanos(&self) -> &::std::option::Option<i32> {
221        self.inner.get_end_time_offset_in_nanos()
222    }
223    /// <p>The quality of the asset property value. You can use this parameter as a filter to choose only the asset property values that have a specific quality.</p>
224    pub fn quality(mut self, input: crate::types::Quality) -> Self {
225        self.inner = self.inner.quality(input);
226        self
227    }
228    /// <p>The quality of the asset property value. You can use this parameter as a filter to choose only the asset property values that have a specific quality.</p>
229    pub fn set_quality(mut self, input: ::std::option::Option<crate::types::Quality>) -> Self {
230        self.inner = self.inner.set_quality(input);
231        self
232    }
233    /// <p>The quality of the asset property value. You can use this parameter as a filter to choose only the asset property values that have a specific quality.</p>
234    pub fn get_quality(&self) -> &::std::option::Option<crate::types::Quality> {
235        self.inner.get_quality()
236    }
237    /// <p>The time interval in seconds over which to interpolate data. Each interval starts when the previous one ends.</p>
238    pub fn interval_in_seconds(mut self, input: i64) -> Self {
239        self.inner = self.inner.interval_in_seconds(input);
240        self
241    }
242    /// <p>The time interval in seconds over which to interpolate data. Each interval starts when the previous one ends.</p>
243    pub fn set_interval_in_seconds(mut self, input: ::std::option::Option<i64>) -> Self {
244        self.inner = self.inner.set_interval_in_seconds(input);
245        self
246    }
247    /// <p>The time interval in seconds over which to interpolate data. Each interval starts when the previous one ends.</p>
248    pub fn get_interval_in_seconds(&self) -> &::std::option::Option<i64> {
249        self.inner.get_interval_in_seconds()
250    }
251    /// <p>The token to be used for the next set of paginated results.</p>
252    pub fn next_token(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
253        self.inner = self.inner.next_token(input.into());
254        self
255    }
256    /// <p>The token to be used for the next set of paginated results.</p>
257    pub fn set_next_token(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
258        self.inner = self.inner.set_next_token(input);
259        self
260    }
261    /// <p>The token to be used for the next set of paginated results.</p>
262    pub fn get_next_token(&self) -> &::std::option::Option<::std::string::String> {
263        self.inner.get_next_token()
264    }
265    /// <p>The maximum number of results to return for each paginated request. If not specified, the default value is 10.</p>
266    pub fn max_results(mut self, input: i32) -> Self {
267        self.inner = self.inner.max_results(input);
268        self
269    }
270    /// <p>The maximum number of results to return for each paginated request. If not specified, the default value is 10.</p>
271    pub fn set_max_results(mut self, input: ::std::option::Option<i32>) -> Self {
272        self.inner = self.inner.set_max_results(input);
273        self
274    }
275    /// <p>The maximum number of results to return for each paginated request. If not specified, the default value is 10.</p>
276    pub fn get_max_results(&self) -> &::std::option::Option<i32> {
277        self.inner.get_max_results()
278    }
279    /// <p>The interpolation type.</p>
280    /// <p>Valid values: <code>LINEAR_INTERPOLATION | LOCF_INTERPOLATION</code></p>
281    /// <ul>
282    /// <li>
283    /// <p><code>LINEAR_INTERPOLATION</code> – Estimates missing data using <a href="https://en.wikipedia.org/wiki/Linear_interpolation">linear interpolation</a>.</p>
284    /// <p>For example, you can use this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the first interpolated value on July 2, 2021, at 9 AM, the second interpolated value on July 3, 2021, at 9 AM, and so on.</p></li>
285    /// <li>
286    /// <p><code>LOCF_INTERPOLATION</code> – Estimates missing data using last observation carried forward interpolation</p>
287    /// <p>If no data point is found for an interval, IoT SiteWise returns the last observed data point for the previous interval and carries forward this interpolated value until a new data point is found.</p>
288    /// <p>For example, you can get the state of an on-off valve every 24 hours over a duration of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the last observed data point between July 1, 2021, at 9 AM and July 2, 2021, at 9 AM as the first interpolated value. If a data point isn't found after 9 AM on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.</p></li>
289    /// </ul>
290    pub fn r#type(mut self, input: impl ::std::convert::Into<::std::string::String>) -> Self {
291        self.inner = self.inner.r#type(input.into());
292        self
293    }
294    /// <p>The interpolation type.</p>
295    /// <p>Valid values: <code>LINEAR_INTERPOLATION | LOCF_INTERPOLATION</code></p>
296    /// <ul>
297    /// <li>
298    /// <p><code>LINEAR_INTERPOLATION</code> – Estimates missing data using <a href="https://en.wikipedia.org/wiki/Linear_interpolation">linear interpolation</a>.</p>
299    /// <p>For example, you can use this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the first interpolated value on July 2, 2021, at 9 AM, the second interpolated value on July 3, 2021, at 9 AM, and so on.</p></li>
300    /// <li>
301    /// <p><code>LOCF_INTERPOLATION</code> – Estimates missing data using last observation carried forward interpolation</p>
302    /// <p>If no data point is found for an interval, IoT SiteWise returns the last observed data point for the previous interval and carries forward this interpolated value until a new data point is found.</p>
303    /// <p>For example, you can get the state of an on-off valve every 24 hours over a duration of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the last observed data point between July 1, 2021, at 9 AM and July 2, 2021, at 9 AM as the first interpolated value. If a data point isn't found after 9 AM on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.</p></li>
304    /// </ul>
305    pub fn set_type(mut self, input: ::std::option::Option<::std::string::String>) -> Self {
306        self.inner = self.inner.set_type(input);
307        self
308    }
309    /// <p>The interpolation type.</p>
310    /// <p>Valid values: <code>LINEAR_INTERPOLATION | LOCF_INTERPOLATION</code></p>
311    /// <ul>
312    /// <li>
313    /// <p><code>LINEAR_INTERPOLATION</code> – Estimates missing data using <a href="https://en.wikipedia.org/wiki/Linear_interpolation">linear interpolation</a>.</p>
314    /// <p>For example, you can use this operation to return the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the first interpolated value on July 2, 2021, at 9 AM, the second interpolated value on July 3, 2021, at 9 AM, and so on.</p></li>
315    /// <li>
316    /// <p><code>LOCF_INTERPOLATION</code> – Estimates missing data using last observation carried forward interpolation</p>
317    /// <p>If no data point is found for an interval, IoT SiteWise returns the last observed data point for the previous interval and carries forward this interpolated value until a new data point is found.</p>
318    /// <p>For example, you can get the state of an on-off valve every 24 hours over a duration of 7 days. If the interpolation starts July 1, 2021, at 9 AM, IoT SiteWise returns the last observed data point between July 1, 2021, at 9 AM and July 2, 2021, at 9 AM as the first interpolated value. If a data point isn't found after 9 AM on July 2, 2021, IoT SiteWise uses the same interpolated value for the rest of the days.</p></li>
319    /// </ul>
320    pub fn get_type(&self) -> &::std::option::Option<::std::string::String> {
321        self.inner.get_type()
322    }
323    /// <p>The query interval for the window, in seconds. IoT SiteWise computes each interpolated value by using data points from the timestamp of each interval, minus the window to the timestamp of each interval plus the window. If not specified, the window ranges between the start time minus the interval and the end time plus the interval.</p><note>
324    /// <ul>
325    /// <li>
326    /// <p>If you specify a value for the <code>intervalWindowInSeconds</code> parameter, the value for the <code>type</code> parameter must be <code>LINEAR_INTERPOLATION</code>.</p></li>
327    /// <li>
328    /// <p>If a data point isn't found during the specified query window, IoT SiteWise won't return an interpolated value for the interval. This indicates that there's a gap in the ingested data points.</p></li>
329    /// </ul>
330    /// </note>
331    /// <p>For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 2, 2021 to compute the first interpolated value. Next, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 3, 2021 to compute the second interpolated value, and so on.</p>
332    pub fn interval_window_in_seconds(mut self, input: i64) -> Self {
333        self.inner = self.inner.interval_window_in_seconds(input);
334        self
335    }
336    /// <p>The query interval for the window, in seconds. IoT SiteWise computes each interpolated value by using data points from the timestamp of each interval, minus the window to the timestamp of each interval plus the window. If not specified, the window ranges between the start time minus the interval and the end time plus the interval.</p><note>
337    /// <ul>
338    /// <li>
339    /// <p>If you specify a value for the <code>intervalWindowInSeconds</code> parameter, the value for the <code>type</code> parameter must be <code>LINEAR_INTERPOLATION</code>.</p></li>
340    /// <li>
341    /// <p>If a data point isn't found during the specified query window, IoT SiteWise won't return an interpolated value for the interval. This indicates that there's a gap in the ingested data points.</p></li>
342    /// </ul>
343    /// </note>
344    /// <p>For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 2, 2021 to compute the first interpolated value. Next, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 3, 2021 to compute the second interpolated value, and so on.</p>
345    pub fn set_interval_window_in_seconds(mut self, input: ::std::option::Option<i64>) -> Self {
346        self.inner = self.inner.set_interval_window_in_seconds(input);
347        self
348    }
349    /// <p>The query interval for the window, in seconds. IoT SiteWise computes each interpolated value by using data points from the timestamp of each interval, minus the window to the timestamp of each interval plus the window. If not specified, the window ranges between the start time minus the interval and the end time plus the interval.</p><note>
350    /// <ul>
351    /// <li>
352    /// <p>If you specify a value for the <code>intervalWindowInSeconds</code> parameter, the value for the <code>type</code> parameter must be <code>LINEAR_INTERPOLATION</code>.</p></li>
353    /// <li>
354    /// <p>If a data point isn't found during the specified query window, IoT SiteWise won't return an interpolated value for the interval. This indicates that there's a gap in the ingested data points.</p></li>
355    /// </ul>
356    /// </note>
357    /// <p>For example, you can get the interpolated temperature values for a wind turbine every 24 hours over a duration of 7 days. If the interpolation starts on July 1, 2021, at 9 AM with a window of 2 hours, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 2, 2021 to compute the first interpolated value. Next, IoT SiteWise uses the data points from 7 AM (9 AM minus 2 hours) to 11 AM (9 AM plus 2 hours) on July 3, 2021 to compute the second interpolated value, and so on.</p>
358    pub fn get_interval_window_in_seconds(&self) -> &::std::option::Option<i64> {
359        self.inner.get_interval_window_in_seconds()
360    }
361}