aws-sdk-forecastservice 1.36.0 → 1.37.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -2082,6 +2082,303 @@ module Aws::ForecastService
2082
2082
  req.send_request(options)
2083
2083
  end
2084
2084
 
2085
+ # What-if analysis is a scenario modeling technique where you make a
2086
+ # hypothetical change to a time series and compare the forecasts
2087
+ # generated by these changes against the baseline, unchanged time
2088
+ # series. It is important to remember that the purpose of a what-if
2089
+ # analysis is to understand how a forecast can change given different
2090
+ # modifications to the baseline time series.
2091
+ #
2092
+ # For example, imagine you are a clothing retailer who is considering an
2093
+ # end of season sale to clear space for new styles. After creating a
2094
+ # baseline forecast, you can use a what-if analysis to investigate how
2095
+ # different sales tactics might affect your goals. You could create a
2096
+ # scenario where everything is given a 25% markdown and another where
2097
+ # everything is given a fixed dollar markdown. You can create a scenario
2098
+ # where the sale lasts for 1 week and another where the sale lasts for 1
2099
+ # month. Your what-if analysis enables you to compare many different
2100
+ # scenarios against each other.
2101
+ #
2102
+ # Note that a what-if analysis is meant to display what the forecasting
2103
+ # model has learned and how it will behave in the scenarios that you are
2104
+ # evaluating. Do not blindly use the results of the what-if analysis to
2105
+ # make business decisions. For instance, forecasts might not be accurate
2106
+ # for novel scenarios where there is no reference available to determine
2107
+ # whether a forecast is good.
2108
+ #
2109
+ # The TimeSeriesSelector object defines the items that you want in the
2110
+ # what-if analysis.
2111
+ #
2112
+ # @option params [required, String] :what_if_analysis_name
2113
+ # The name of the what-if analysis. Each name must be unique.
2114
+ #
2115
+ # @option params [required, String] :forecast_arn
2116
+ # The Amazon Resource Name (ARN) of the baseline forecast.
2117
+ #
2118
+ # @option params [Types::TimeSeriesSelector] :time_series_selector
2119
+ # Defines the set of time series that are used in the what-if analysis
2120
+ # with a `TimeSeriesIdentifiers` object. What-if analyses are performed
2121
+ # only for the time series in this object.
2122
+ #
2123
+ # The `TimeSeriesIdentifiers` object needs the following information:
2124
+ #
2125
+ # * `DataSource`
2126
+ #
2127
+ # * `Format`
2128
+ #
2129
+ # * `Schema`
2130
+ #
2131
+ # @option params [Array<Types::Tag>] :tags
2132
+ # A list of [tags][1] to apply to the what if forecast.
2133
+ #
2134
+ #
2135
+ #
2136
+ # [1]: https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html
2137
+ #
2138
+ # @return [Types::CreateWhatIfAnalysisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2139
+ #
2140
+ # * {Types::CreateWhatIfAnalysisResponse#what_if_analysis_arn #what_if_analysis_arn} => String
2141
+ #
2142
+ # @example Request syntax with placeholder values
2143
+ #
2144
+ # resp = client.create_what_if_analysis({
2145
+ # what_if_analysis_name: "Name", # required
2146
+ # forecast_arn: "Arn", # required
2147
+ # time_series_selector: {
2148
+ # time_series_identifiers: {
2149
+ # data_source: {
2150
+ # s3_config: { # required
2151
+ # path: "S3Path", # required
2152
+ # role_arn: "Arn", # required
2153
+ # kms_key_arn: "KMSKeyArn",
2154
+ # },
2155
+ # },
2156
+ # schema: {
2157
+ # attributes: [
2158
+ # {
2159
+ # attribute_name: "Name",
2160
+ # attribute_type: "string", # accepts string, integer, float, timestamp, geolocation
2161
+ # },
2162
+ # ],
2163
+ # },
2164
+ # format: "Format",
2165
+ # },
2166
+ # },
2167
+ # tags: [
2168
+ # {
2169
+ # key: "TagKey", # required
2170
+ # value: "TagValue", # required
2171
+ # },
2172
+ # ],
2173
+ # })
2174
+ #
2175
+ # @example Response structure
2176
+ #
2177
+ # resp.what_if_analysis_arn #=> String
2178
+ #
2179
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfAnalysis AWS API Documentation
2180
+ #
2181
+ # @overload create_what_if_analysis(params = {})
2182
+ # @param [Hash] params ({})
2183
+ def create_what_if_analysis(params = {}, options = {})
2184
+ req = build_request(:create_what_if_analysis, params)
2185
+ req.send_request(options)
2186
+ end
2187
+
2188
+ # A what-if forecast is a forecast that is created from a modified
2189
+ # version of the baseline forecast. Each what-if forecast incorporates
2190
+ # either a replacement dataset or a set of transformations to the
2191
+ # original dataset.
2192
+ #
2193
+ # @option params [required, String] :what_if_forecast_name
2194
+ # The name of the what-if forecast. Names must be unique within each
2195
+ # what-if analysis.
2196
+ #
2197
+ # @option params [required, String] :what_if_analysis_arn
2198
+ # The Amazon Resource Name (ARN) of the what-if analysis.
2199
+ #
2200
+ # @option params [Array<Types::TimeSeriesTransformation>] :time_series_transformations
2201
+ # The transformations that are applied to the baseline time series. Each
2202
+ # transformation contains an action and a set of conditions. An action
2203
+ # is applied only when all conditions are met. If no conditions are
2204
+ # provided, the action is applied to all items.
2205
+ #
2206
+ # @option params [Types::TimeSeriesReplacementsDataSource] :time_series_replacements_data_source
2207
+ # The replacement time series dataset, which contains the rows that you
2208
+ # want to change in the related time series dataset. A replacement time
2209
+ # series does not need to contain all rows that are in the baseline
2210
+ # related time series. Include only the rows (measure-dimension
2211
+ # combinations) that you want to include in the what-if forecast. This
2212
+ # dataset is merged with the original time series to create a
2213
+ # transformed dataset that is used for the what-if analysis.
2214
+ #
2215
+ # This dataset should contain the items to modify (such as item\_id or
2216
+ # workforce\_type), any relevant dimensions, the timestamp column, and
2217
+ # at least one of the related time series columns. This file should not
2218
+ # contain duplicate timestamps for the same time series.
2219
+ #
2220
+ # Timestamps and item\_ids not included in this dataset are not included
2221
+ # in the what-if analysis.
2222
+ #
2223
+ # @option params [Array<Types::Tag>] :tags
2224
+ # A list of [tags][1] to apply to the what if forecast.
2225
+ #
2226
+ #
2227
+ #
2228
+ # [1]: https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html
2229
+ #
2230
+ # @return [Types::CreateWhatIfForecastResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2231
+ #
2232
+ # * {Types::CreateWhatIfForecastResponse#what_if_forecast_arn #what_if_forecast_arn} => String
2233
+ #
2234
+ # @example Request syntax with placeholder values
2235
+ #
2236
+ # resp = client.create_what_if_forecast({
2237
+ # what_if_forecast_name: "Name", # required
2238
+ # what_if_analysis_arn: "Arn", # required
2239
+ # time_series_transformations: [
2240
+ # {
2241
+ # action: {
2242
+ # attribute_name: "Name", # required
2243
+ # operation: "ADD", # required, accepts ADD, SUBTRACT, MULTIPLY, DIVIDE
2244
+ # value: 1.0, # required
2245
+ # },
2246
+ # time_series_conditions: [
2247
+ # {
2248
+ # attribute_name: "Name", # required
2249
+ # attribute_value: "AttributeValue", # required
2250
+ # condition: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN
2251
+ # },
2252
+ # ],
2253
+ # },
2254
+ # ],
2255
+ # time_series_replacements_data_source: {
2256
+ # s3_config: { # required
2257
+ # path: "S3Path", # required
2258
+ # role_arn: "Arn", # required
2259
+ # kms_key_arn: "KMSKeyArn",
2260
+ # },
2261
+ # schema: { # required
2262
+ # attributes: [
2263
+ # {
2264
+ # attribute_name: "Name",
2265
+ # attribute_type: "string", # accepts string, integer, float, timestamp, geolocation
2266
+ # },
2267
+ # ],
2268
+ # },
2269
+ # format: "Format",
2270
+ # timestamp_format: "TimestampFormat",
2271
+ # },
2272
+ # tags: [
2273
+ # {
2274
+ # key: "TagKey", # required
2275
+ # value: "TagValue", # required
2276
+ # },
2277
+ # ],
2278
+ # })
2279
+ #
2280
+ # @example Response structure
2281
+ #
2282
+ # resp.what_if_forecast_arn #=> String
2283
+ #
2284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfForecast AWS API Documentation
2285
+ #
2286
+ # @overload create_what_if_forecast(params = {})
2287
+ # @param [Hash] params ({})
2288
+ def create_what_if_forecast(params = {}, options = {})
2289
+ req = build_request(:create_what_if_forecast, params)
2290
+ req.send_request(options)
2291
+ end
2292
+
2293
+ # Exports a forecast created by the CreateWhatIfForecast operation to
2294
+ # your Amazon Simple Storage Service (Amazon S3) bucket. The forecast
2295
+ # file name will match the following conventions:
2296
+ #
2297
+ # `≈<ForecastExportJobName>_<ExportTimestamp>_<PartNumber>`
2298
+ #
2299
+ # The &lt;ExportTimestamp&gt; component is in Java SimpleDateFormat
2300
+ # (yyyy-MM-ddTHH-mm-ssZ).
2301
+ #
2302
+ # You must specify a DataDestination object that includes an AWS
2303
+ # Identity and Access Management (IAM) role that Amazon Forecast can
2304
+ # assume to access the Amazon S3 bucket. For more information, see
2305
+ # aws-forecast-iam-roles.
2306
+ #
2307
+ # For more information, see howitworks-forecast.
2308
+ #
2309
+ # To get a list of all your what-if forecast export jobs, use the
2310
+ # ListWhatIfForecastExports operation.
2311
+ #
2312
+ # <note markdown="1"> The `Status` of the forecast export job must be `ACTIVE` before you
2313
+ # can access the forecast in your Amazon S3 bucket. To get the status,
2314
+ # use the DescribeWhatIfForecastExport operation.
2315
+ #
2316
+ # </note>
2317
+ #
2318
+ # @option params [required, String] :what_if_forecast_export_name
2319
+ # The name of the what-if forecast to export.
2320
+ #
2321
+ # @option params [required, Array<String>] :what_if_forecast_arns
2322
+ # The list of what-if forecast Amazon Resource Names (ARNs) to export.
2323
+ #
2324
+ # @option params [required, Types::DataDestination] :destination
2325
+ # The location where you want to save the forecast and an AWS Identity
2326
+ # and Access Management (IAM) role that Amazon Forecast can assume to
2327
+ # access the location. The forecast must be exported to an Amazon S3
2328
+ # bucket.
2329
+ #
2330
+ # If encryption is used, `Destination` must include an AWS Key
2331
+ # Management Service (KMS) key. The IAM role must allow Amazon Forecast
2332
+ # permission to access the key.
2333
+ #
2334
+ # @option params [Array<Types::Tag>] :tags
2335
+ # A list of [tags][1] to apply to the what if forecast.
2336
+ #
2337
+ #
2338
+ #
2339
+ # [1]: https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html
2340
+ #
2341
+ # @option params [String] :format
2342
+ # The format of the exported data, CSV or PARQUET.
2343
+ #
2344
+ # @return [Types::CreateWhatIfForecastExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
2345
+ #
2346
+ # * {Types::CreateWhatIfForecastExportResponse#what_if_forecast_export_arn #what_if_forecast_export_arn} => String
2347
+ #
2348
+ # @example Request syntax with placeholder values
2349
+ #
2350
+ # resp = client.create_what_if_forecast_export({
2351
+ # what_if_forecast_export_name: "Name", # required
2352
+ # what_if_forecast_arns: ["LongArn"], # required
2353
+ # destination: { # required
2354
+ # s3_config: { # required
2355
+ # path: "S3Path", # required
2356
+ # role_arn: "Arn", # required
2357
+ # kms_key_arn: "KMSKeyArn",
2358
+ # },
2359
+ # },
2360
+ # tags: [
2361
+ # {
2362
+ # key: "TagKey", # required
2363
+ # value: "TagValue", # required
2364
+ # },
2365
+ # ],
2366
+ # format: "Format",
2367
+ # })
2368
+ #
2369
+ # @example Response structure
2370
+ #
2371
+ # resp.what_if_forecast_export_arn #=> String
2372
+ #
2373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfForecastExport AWS API Documentation
2374
+ #
2375
+ # @overload create_what_if_forecast_export(params = {})
2376
+ # @param [Hash] params ({})
2377
+ def create_what_if_forecast_export(params = {}, options = {})
2378
+ req = build_request(:create_what_if_forecast_export, params)
2379
+ req.send_request(options)
2380
+ end
2381
+
2085
2382
  # Deletes an Amazon Forecast dataset that was created using the
2086
2383
  # [CreateDataset][1] operation. You can only delete datasets that have a
2087
2384
  # status of `ACTIVE` or `CREATE_FAILED`. To get the status use the
@@ -2404,6 +2701,91 @@ module Aws::ForecastService
2404
2701
  req.send_request(options)
2405
2702
  end
2406
2703
 
2704
+ # Deletes a what-if analysis created using the CreateWhatIfAnalysis
2705
+ # operation. You can delete only what-if analyses that have a status of
2706
+ # `ACTIVE` or `CREATE_FAILED`. To get the status, use the
2707
+ # DescribeWhatIfAnalysis operation.
2708
+ #
2709
+ # You can't delete a what-if analysis while any of its forecasts are
2710
+ # being exported.
2711
+ #
2712
+ # @option params [required, String] :what_if_analysis_arn
2713
+ # The Amazon Resource Name (ARN) of the what-if analysis that you want
2714
+ # to delete.
2715
+ #
2716
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2717
+ #
2718
+ # @example Request syntax with placeholder values
2719
+ #
2720
+ # resp = client.delete_what_if_analysis({
2721
+ # what_if_analysis_arn: "Arn", # required
2722
+ # })
2723
+ #
2724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteWhatIfAnalysis AWS API Documentation
2725
+ #
2726
+ # @overload delete_what_if_analysis(params = {})
2727
+ # @param [Hash] params ({})
2728
+ def delete_what_if_analysis(params = {}, options = {})
2729
+ req = build_request(:delete_what_if_analysis, params)
2730
+ req.send_request(options)
2731
+ end
2732
+
2733
+ # Deletes a what-if forecast created using the CreateWhatIfForecast
2734
+ # operation. You can delete only what-if forecasts that have a status of
2735
+ # `ACTIVE` or `CREATE_FAILED`. To get the status, use the
2736
+ # DescribeWhatIfForecast operation.
2737
+ #
2738
+ # You can't delete a what-if forecast while it is being exported. After
2739
+ # a what-if forecast is deleted, you can no longer query the what-if
2740
+ # analysis.
2741
+ #
2742
+ # @option params [required, String] :what_if_forecast_arn
2743
+ # The Amazon Resource Name (ARN) of the what-if forecast that you want
2744
+ # to delete.
2745
+ #
2746
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2747
+ #
2748
+ # @example Request syntax with placeholder values
2749
+ #
2750
+ # resp = client.delete_what_if_forecast({
2751
+ # what_if_forecast_arn: "LongArn", # required
2752
+ # })
2753
+ #
2754
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteWhatIfForecast AWS API Documentation
2755
+ #
2756
+ # @overload delete_what_if_forecast(params = {})
2757
+ # @param [Hash] params ({})
2758
+ def delete_what_if_forecast(params = {}, options = {})
2759
+ req = build_request(:delete_what_if_forecast, params)
2760
+ req.send_request(options)
2761
+ end
2762
+
2763
+ # Deletes a what-if forecast export created using the
2764
+ # CreateWhatIfForecastExport operation. You can delete only what-if
2765
+ # forecast exports that have a status of `ACTIVE` or `CREATE_FAILED`. To
2766
+ # get the status, use the DescribeWhatIfForecastExport operation.
2767
+ #
2768
+ # @option params [required, String] :what_if_forecast_export_arn
2769
+ # The Amazon Resource Name (ARN) of the what-if forecast export that you
2770
+ # want to delete.
2771
+ #
2772
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
2773
+ #
2774
+ # @example Request syntax with placeholder values
2775
+ #
2776
+ # resp = client.delete_what_if_forecast_export({
2777
+ # what_if_forecast_export_arn: "LongArn", # required
2778
+ # })
2779
+ #
2780
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteWhatIfForecastExport AWS API Documentation
2781
+ #
2782
+ # @overload delete_what_if_forecast_export(params = {})
2783
+ # @param [Hash] params ({})
2784
+ def delete_what_if_forecast_export(params = {}, options = {})
2785
+ req = build_request(:delete_what_if_forecast_export, params)
2786
+ req.send_request(options)
2787
+ end
2788
+
2407
2789
  # Describes a predictor created using the CreateAutoPredictor operation.
2408
2790
  #
2409
2791
  # @option params [required, String] :predictor_arn
@@ -3196,6 +3578,210 @@ module Aws::ForecastService
3196
3578
  req.send_request(options)
3197
3579
  end
3198
3580
 
3581
+ # Describes the what-if analysis created using the CreateWhatIfAnalysis
3582
+ # operation.
3583
+ #
3584
+ # In addition to listing the properties provided in the
3585
+ # `CreateWhatIfAnalysis` request, this operation lists the following
3586
+ # properties:
3587
+ #
3588
+ # * `CreationTime`
3589
+ #
3590
+ # * `LastModificationTime`
3591
+ #
3592
+ # * `Message` - If an error occurred, information about the error.
3593
+ #
3594
+ # * `Status`
3595
+ #
3596
+ # @option params [required, String] :what_if_analysis_arn
3597
+ # The Amazon Resource Name (ARN) of the what-if analysis that you are
3598
+ # interested in.
3599
+ #
3600
+ # @return [Types::DescribeWhatIfAnalysisResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3601
+ #
3602
+ # * {Types::DescribeWhatIfAnalysisResponse#what_if_analysis_name #what_if_analysis_name} => String
3603
+ # * {Types::DescribeWhatIfAnalysisResponse#what_if_analysis_arn #what_if_analysis_arn} => String
3604
+ # * {Types::DescribeWhatIfAnalysisResponse#forecast_arn #forecast_arn} => String
3605
+ # * {Types::DescribeWhatIfAnalysisResponse#estimated_time_remaining_in_minutes #estimated_time_remaining_in_minutes} => Integer
3606
+ # * {Types::DescribeWhatIfAnalysisResponse#status #status} => String
3607
+ # * {Types::DescribeWhatIfAnalysisResponse#message #message} => String
3608
+ # * {Types::DescribeWhatIfAnalysisResponse#creation_time #creation_time} => Time
3609
+ # * {Types::DescribeWhatIfAnalysisResponse#last_modification_time #last_modification_time} => Time
3610
+ # * {Types::DescribeWhatIfAnalysisResponse#time_series_selector #time_series_selector} => Types::TimeSeriesSelector
3611
+ #
3612
+ # @example Request syntax with placeholder values
3613
+ #
3614
+ # resp = client.describe_what_if_analysis({
3615
+ # what_if_analysis_arn: "Arn", # required
3616
+ # })
3617
+ #
3618
+ # @example Response structure
3619
+ #
3620
+ # resp.what_if_analysis_name #=> String
3621
+ # resp.what_if_analysis_arn #=> String
3622
+ # resp.forecast_arn #=> String
3623
+ # resp.estimated_time_remaining_in_minutes #=> Integer
3624
+ # resp.status #=> String
3625
+ # resp.message #=> String
3626
+ # resp.creation_time #=> Time
3627
+ # resp.last_modification_time #=> Time
3628
+ # resp.time_series_selector.time_series_identifiers.data_source.s3_config.path #=> String
3629
+ # resp.time_series_selector.time_series_identifiers.data_source.s3_config.role_arn #=> String
3630
+ # resp.time_series_selector.time_series_identifiers.data_source.s3_config.kms_key_arn #=> String
3631
+ # resp.time_series_selector.time_series_identifiers.schema.attributes #=> Array
3632
+ # resp.time_series_selector.time_series_identifiers.schema.attributes[0].attribute_name #=> String
3633
+ # resp.time_series_selector.time_series_identifiers.schema.attributes[0].attribute_type #=> String, one of "string", "integer", "float", "timestamp", "geolocation"
3634
+ # resp.time_series_selector.time_series_identifiers.format #=> String
3635
+ #
3636
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfAnalysis AWS API Documentation
3637
+ #
3638
+ # @overload describe_what_if_analysis(params = {})
3639
+ # @param [Hash] params ({})
3640
+ def describe_what_if_analysis(params = {}, options = {})
3641
+ req = build_request(:describe_what_if_analysis, params)
3642
+ req.send_request(options)
3643
+ end
3644
+
3645
+ # Describes the what-if forecast created using the CreateWhatIfForecast
3646
+ # operation.
3647
+ #
3648
+ # In addition to listing the properties provided in the
3649
+ # `CreateWhatIfForecast` request, this operation lists the following
3650
+ # properties:
3651
+ #
3652
+ # * `CreationTime`
3653
+ #
3654
+ # * `LastModificationTime`
3655
+ #
3656
+ # * `Message` - If an error occurred, information about the error.
3657
+ #
3658
+ # * `Status`
3659
+ #
3660
+ # @option params [required, String] :what_if_forecast_arn
3661
+ # The Amazon Resource Name (ARN) of the what-if forecast that you are
3662
+ # interested in.
3663
+ #
3664
+ # @return [Types::DescribeWhatIfForecastResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3665
+ #
3666
+ # * {Types::DescribeWhatIfForecastResponse#what_if_forecast_name #what_if_forecast_name} => String
3667
+ # * {Types::DescribeWhatIfForecastResponse#what_if_forecast_arn #what_if_forecast_arn} => String
3668
+ # * {Types::DescribeWhatIfForecastResponse#what_if_analysis_arn #what_if_analysis_arn} => String
3669
+ # * {Types::DescribeWhatIfForecastResponse#estimated_time_remaining_in_minutes #estimated_time_remaining_in_minutes} => Integer
3670
+ # * {Types::DescribeWhatIfForecastResponse#status #status} => String
3671
+ # * {Types::DescribeWhatIfForecastResponse#message #message} => String
3672
+ # * {Types::DescribeWhatIfForecastResponse#creation_time #creation_time} => Time
3673
+ # * {Types::DescribeWhatIfForecastResponse#last_modification_time #last_modification_time} => Time
3674
+ # * {Types::DescribeWhatIfForecastResponse#time_series_transformations #time_series_transformations} => Array&lt;Types::TimeSeriesTransformation&gt;
3675
+ # * {Types::DescribeWhatIfForecastResponse#time_series_replacements_data_source #time_series_replacements_data_source} => Types::TimeSeriesReplacementsDataSource
3676
+ # * {Types::DescribeWhatIfForecastResponse#forecast_types #forecast_types} => Array&lt;String&gt;
3677
+ #
3678
+ # @example Request syntax with placeholder values
3679
+ #
3680
+ # resp = client.describe_what_if_forecast({
3681
+ # what_if_forecast_arn: "LongArn", # required
3682
+ # })
3683
+ #
3684
+ # @example Response structure
3685
+ #
3686
+ # resp.what_if_forecast_name #=> String
3687
+ # resp.what_if_forecast_arn #=> String
3688
+ # resp.what_if_analysis_arn #=> String
3689
+ # resp.estimated_time_remaining_in_minutes #=> Integer
3690
+ # resp.status #=> String
3691
+ # resp.message #=> String
3692
+ # resp.creation_time #=> Time
3693
+ # resp.last_modification_time #=> Time
3694
+ # resp.time_series_transformations #=> Array
3695
+ # resp.time_series_transformations[0].action.attribute_name #=> String
3696
+ # resp.time_series_transformations[0].action.operation #=> String, one of "ADD", "SUBTRACT", "MULTIPLY", "DIVIDE"
3697
+ # resp.time_series_transformations[0].action.value #=> Float
3698
+ # resp.time_series_transformations[0].time_series_conditions #=> Array
3699
+ # resp.time_series_transformations[0].time_series_conditions[0].attribute_name #=> String
3700
+ # resp.time_series_transformations[0].time_series_conditions[0].attribute_value #=> <Hash,Array,String,Numeric,Boolean,IO,Set,nil>
3701
+ # resp.time_series_transformations[0].time_series_conditions[0].condition #=> String, one of "EQUALS", "NOT_EQUALS", "LESS_THAN", "GREATER_THAN"
3702
+ # resp.time_series_replacements_data_source.s3_config.path #=> String
3703
+ # resp.time_series_replacements_data_source.s3_config.role_arn #=> String
3704
+ # resp.time_series_replacements_data_source.s3_config.kms_key_arn #=> String
3705
+ # resp.time_series_replacements_data_source.schema.attributes #=> Array
3706
+ # resp.time_series_replacements_data_source.schema.attributes[0].attribute_name #=> String
3707
+ # resp.time_series_replacements_data_source.schema.attributes[0].attribute_type #=> String, one of "string", "integer", "float", "timestamp", "geolocation"
3708
+ # resp.time_series_replacements_data_source.format #=> String
3709
+ # resp.time_series_replacements_data_source.timestamp_format #=> String
3710
+ # resp.forecast_types #=> Array
3711
+ # resp.forecast_types[0] #=> String
3712
+ #
3713
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfForecast AWS API Documentation
3714
+ #
3715
+ # @overload describe_what_if_forecast(params = {})
3716
+ # @param [Hash] params ({})
3717
+ def describe_what_if_forecast(params = {}, options = {})
3718
+ req = build_request(:describe_what_if_forecast, params)
3719
+ req.send_request(options)
3720
+ end
3721
+
3722
+ # Describes the what-if forecast export created using the
3723
+ # CreateWhatIfForecastExport operation.
3724
+ #
3725
+ # In addition to listing the properties provided in the
3726
+ # `CreateWhatIfForecastExport` request, this operation lists the
3727
+ # following properties:
3728
+ #
3729
+ # * `CreationTime`
3730
+ #
3731
+ # * `LastModificationTime`
3732
+ #
3733
+ # * `Message` - If an error occurred, information about the error.
3734
+ #
3735
+ # * `Status`
3736
+ #
3737
+ # @option params [required, String] :what_if_forecast_export_arn
3738
+ # The Amazon Resource Name (ARN) of the what-if forecast export that you
3739
+ # are interested in.
3740
+ #
3741
+ # @return [Types::DescribeWhatIfForecastExportResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
3742
+ #
3743
+ # * {Types::DescribeWhatIfForecastExportResponse#what_if_forecast_export_arn #what_if_forecast_export_arn} => String
3744
+ # * {Types::DescribeWhatIfForecastExportResponse#what_if_forecast_export_name #what_if_forecast_export_name} => String
3745
+ # * {Types::DescribeWhatIfForecastExportResponse#what_if_forecast_arns #what_if_forecast_arns} => Array&lt;String&gt;
3746
+ # * {Types::DescribeWhatIfForecastExportResponse#destination #destination} => Types::DataDestination
3747
+ # * {Types::DescribeWhatIfForecastExportResponse#message #message} => String
3748
+ # * {Types::DescribeWhatIfForecastExportResponse#status #status} => String
3749
+ # * {Types::DescribeWhatIfForecastExportResponse#creation_time #creation_time} => Time
3750
+ # * {Types::DescribeWhatIfForecastExportResponse#estimated_time_remaining_in_minutes #estimated_time_remaining_in_minutes} => Integer
3751
+ # * {Types::DescribeWhatIfForecastExportResponse#last_modification_time #last_modification_time} => Time
3752
+ # * {Types::DescribeWhatIfForecastExportResponse#format #format} => String
3753
+ #
3754
+ # @example Request syntax with placeholder values
3755
+ #
3756
+ # resp = client.describe_what_if_forecast_export({
3757
+ # what_if_forecast_export_arn: "LongArn", # required
3758
+ # })
3759
+ #
3760
+ # @example Response structure
3761
+ #
3762
+ # resp.what_if_forecast_export_arn #=> String
3763
+ # resp.what_if_forecast_export_name #=> String
3764
+ # resp.what_if_forecast_arns #=> Array
3765
+ # resp.what_if_forecast_arns[0] #=> String
3766
+ # resp.destination.s3_config.path #=> String
3767
+ # resp.destination.s3_config.role_arn #=> String
3768
+ # resp.destination.s3_config.kms_key_arn #=> String
3769
+ # resp.message #=> String
3770
+ # resp.status #=> String
3771
+ # resp.creation_time #=> Time
3772
+ # resp.estimated_time_remaining_in_minutes #=> Integer
3773
+ # resp.last_modification_time #=> Time
3774
+ # resp.format #=> String
3775
+ #
3776
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfForecastExport AWS API Documentation
3777
+ #
3778
+ # @overload describe_what_if_forecast_export(params = {})
3779
+ # @param [Hash] params ({})
3780
+ def describe_what_if_forecast_export(params = {}, options = {})
3781
+ req = build_request(:describe_what_if_forecast_export, params)
3782
+ req.send_request(options)
3783
+ end
3784
+
3199
3785
  # Provides metrics on the accuracy of the models that were trained by
3200
3786
  # the CreatePredictor operation. Use metrics to see how well the model
3201
3787
  # performed and to decide whether to use the predictor to generate a
@@ -4161,6 +4747,262 @@ module Aws::ForecastService
4161
4747
  req.send_request(options)
4162
4748
  end
4163
4749
 
4750
+ # Returns a list of what-if analyses created using the
4751
+ # CreateWhatIfAnalysis operation. For each what-if analysis, this
4752
+ # operation returns a summary of its properties, including its Amazon
4753
+ # Resource Name (ARN). You can retrieve the complete set of properties
4754
+ # by using the what-if analysis ARN with the DescribeWhatIfAnalysis
4755
+ # operation.
4756
+ #
4757
+ # @option params [String] :next_token
4758
+ # If the result of the previous request was truncated, the response
4759
+ # includes a `NextToken`. To retrieve the next set of results, use the
4760
+ # token in the next request. Tokens expire after 24 hours.
4761
+ #
4762
+ # @option params [Integer] :max_results
4763
+ # The number of items to return in the response.
4764
+ #
4765
+ # @option params [Array<Types::Filter>] :filters
4766
+ # An array of filters. For each filter, you provide a condition and a
4767
+ # match statement. The condition is either `IS` or `IS_NOT`, which
4768
+ # specifies whether to include or exclude the what-if analysis jobs that
4769
+ # match the statement from the list, respectively. The match statement
4770
+ # consists of a key and a value.
4771
+ #
4772
+ # **Filter properties**
4773
+ #
4774
+ # * `Condition` - The condition to apply. Valid values are `IS` and
4775
+ # `IS_NOT`. To include the what-if analysis jobs that match the
4776
+ # statement, specify `IS`. To exclude matching what-if analysis jobs,
4777
+ # specify `IS_NOT`.
4778
+ #
4779
+ # * `Key` - The name of the parameter to filter on. Valid values are
4780
+ # `WhatIfAnalysisArn` and `Status`.
4781
+ #
4782
+ # * `Value` - The value to match.
4783
+ #
4784
+ # For example, to list all jobs that export a forecast named
4785
+ # *electricityWhatIf*, specify the following filter:
4786
+ #
4787
+ # `"Filters": [ \{ "Condition": "IS", "Key": "WhatIfAnalysisArn",
4788
+ # "Value":
4789
+ # "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityWhatIf" \}
4790
+ # ]`
4791
+ #
4792
+ # @return [Types::ListWhatIfAnalysesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4793
+ #
4794
+ # * {Types::ListWhatIfAnalysesResponse#what_if_analyses #what_if_analyses} => Array&lt;Types::WhatIfAnalysisSummary&gt;
4795
+ # * {Types::ListWhatIfAnalysesResponse#next_token #next_token} => String
4796
+ #
4797
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4798
+ #
4799
+ # @example Request syntax with placeholder values
4800
+ #
4801
+ # resp = client.list_what_if_analyses({
4802
+ # next_token: "NextToken",
4803
+ # max_results: 1,
4804
+ # filters: [
4805
+ # {
4806
+ # key: "String", # required
4807
+ # value: "Arn", # required
4808
+ # condition: "IS", # required, accepts IS, IS_NOT
4809
+ # },
4810
+ # ],
4811
+ # })
4812
+ #
4813
+ # @example Response structure
4814
+ #
4815
+ # resp.what_if_analyses #=> Array
4816
+ # resp.what_if_analyses[0].what_if_analysis_arn #=> String
4817
+ # resp.what_if_analyses[0].what_if_analysis_name #=> String
4818
+ # resp.what_if_analyses[0].forecast_arn #=> String
4819
+ # resp.what_if_analyses[0].status #=> String
4820
+ # resp.what_if_analyses[0].message #=> String
4821
+ # resp.what_if_analyses[0].creation_time #=> Time
4822
+ # resp.what_if_analyses[0].last_modification_time #=> Time
4823
+ # resp.next_token #=> String
4824
+ #
4825
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfAnalyses AWS API Documentation
4826
+ #
4827
+ # @overload list_what_if_analyses(params = {})
4828
+ # @param [Hash] params ({})
4829
+ def list_what_if_analyses(params = {}, options = {})
4830
+ req = build_request(:list_what_if_analyses, params)
4831
+ req.send_request(options)
4832
+ end
4833
+
4834
+ # Returns a list of what-if forecast exports created using the
4835
+ # CreateWhatIfForecastExport operation. For each what-if forecast
4836
+ # export, this operation returns a summary of its properties, including
4837
+ # its Amazon Resource Name (ARN). You can retrieve the complete set of
4838
+ # properties by using the what-if forecast export ARN with the
4839
+ # DescribeWhatIfForecastExport operation.
4840
+ #
4841
+ # @option params [String] :next_token
4842
+ # If the result of the previous request was truncated, the response
4843
+ # includes a `NextToken`. To retrieve the next set of results, use the
4844
+ # token in the next
 request. Tokens expire after 24 hours.
4845
+ #
4846
+ # @option params [Integer] :max_results
4847
+ # The number of items to return in the response.
4848
+ #
4849
+ # @option params [Array<Types::Filter>] :filters
4850
+ # An array of filters. For each filter, you provide a condition and a
4851
+ # match statement. The condition is either `IS` or `IS_NOT`, which
4852
+ # specifies whether to include or exclude the what-if forecast export
4853
+ # jobs that match the statement from the list, respectively. The match
4854
+ # statement consists of a key and a value.
4855
+ #
4856
+ # **Filter properties**
4857
+ #
4858
+ # * `Condition` - The condition to apply. Valid values are `IS` and
4859
+ # `IS_NOT`. To include the forecast export jobs that match the
4860
+ # statement, specify `IS`. To exclude matching forecast export jobs,
4861
+ # specify `IS_NOT`.
4862
+ #
4863
+ # * `Key` - The name of the parameter to filter on. Valid values are
4864
+ # `WhatIfForecastExportArn` and `Status`.
4865
+ #
4866
+ # * `Value` - The value to match.
4867
+ #
4868
+ # For example, to list all jobs that export a forecast named
4869
+ # *electricityWIFExport*, specify the following filter:
4870
+ #
4871
+ # `"Filters": [ \{ "Condition": "IS", "Key": "WhatIfForecastExportArn",
4872
+ # "Value":
4873
+ # "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityWIFExport"
4874
+ # \} ]`
4875
+ #
4876
+ # @return [Types::ListWhatIfForecastExportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4877
+ #
4878
+ # * {Types::ListWhatIfForecastExportsResponse#what_if_forecast_exports #what_if_forecast_exports} => Array&lt;Types::WhatIfForecastExportSummary&gt;
4879
+ # * {Types::ListWhatIfForecastExportsResponse#next_token #next_token} => String
4880
+ #
4881
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4882
+ #
4883
+ # @example Request syntax with placeholder values
4884
+ #
4885
+ # resp = client.list_what_if_forecast_exports({
4886
+ # next_token: "NextToken",
4887
+ # max_results: 1,
4888
+ # filters: [
4889
+ # {
4890
+ # key: "String", # required
4891
+ # value: "Arn", # required
4892
+ # condition: "IS", # required, accepts IS, IS_NOT
4893
+ # },
4894
+ # ],
4895
+ # })
4896
+ #
4897
+ # @example Response structure
4898
+ #
4899
+ # resp.what_if_forecast_exports #=> Array
4900
+ # resp.what_if_forecast_exports[0].what_if_forecast_export_arn #=> String
4901
+ # resp.what_if_forecast_exports[0].what_if_forecast_arns #=> Array
4902
+ # resp.what_if_forecast_exports[0].what_if_forecast_arns[0] #=> String
4903
+ # resp.what_if_forecast_exports[0].what_if_forecast_export_name #=> String
4904
+ # resp.what_if_forecast_exports[0].destination.s3_config.path #=> String
4905
+ # resp.what_if_forecast_exports[0].destination.s3_config.role_arn #=> String
4906
+ # resp.what_if_forecast_exports[0].destination.s3_config.kms_key_arn #=> String
4907
+ # resp.what_if_forecast_exports[0].status #=> String
4908
+ # resp.what_if_forecast_exports[0].message #=> String
4909
+ # resp.what_if_forecast_exports[0].creation_time #=> Time
4910
+ # resp.what_if_forecast_exports[0].last_modification_time #=> Time
4911
+ # resp.next_token #=> String
4912
+ #
4913
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfForecastExports AWS API Documentation
4914
+ #
4915
+ # @overload list_what_if_forecast_exports(params = {})
4916
+ # @param [Hash] params ({})
4917
+ def list_what_if_forecast_exports(params = {}, options = {})
4918
+ req = build_request(:list_what_if_forecast_exports, params)
4919
+ req.send_request(options)
4920
+ end
4921
+
4922
+ # Returns a list of what-if forecasts created using the
4923
+ # CreateWhatIfForecast operation. For each what-if forecast, this
4924
+ # operation returns a summary of its properties, including its Amazon
4925
+ # Resource Name (ARN). You can retrieve the complete set of properties
4926
+ # by using the what-if forecast ARN with the DescribeWhatIfForecast
4927
+ # operation.
4928
+ #
4929
+ # @option params [String] :next_token
4930
+ # If the result of the previous request was truncated, the response
4931
+ # includes a `NextToken`. To retrieve the next set of results, use the
4932
+ # token in the next
 request. Tokens expire after 24 hours.
4933
+ #
4934
+ # @option params [Integer] :max_results
4935
+ # The number of items to return in the response.
4936
+ #
4937
+ # @option params [Array<Types::Filter>] :filters
4938
+ # An array of filters. For each filter, you provide a condition and a
4939
+ # match statement. The condition is either `IS` or `IS_NOT`, which
4940
+ # specifies whether to include or exclude the what-if forecast export
4941
+ # jobs that match the statement from the list, respectively. The match
4942
+ # statement consists of a key and a value.
4943
+ #
4944
+ # **Filter properties**
4945
+ #
4946
+ # * `Condition` - The condition to apply. Valid values are `IS` and
4947
+ # `IS_NOT`. To include the forecast export jobs that match the
4948
+ # statement, specify `IS`. To exclude matching forecast export jobs,
4949
+ # specify `IS_NOT`.
4950
+ #
4951
+ # * `Key` - The name of the parameter to filter on. Valid values are
4952
+ # `WhatIfForecastArn` and `Status`.
4953
+ #
4954
+ # * `Value` - The value to match.
4955
+ #
4956
+ # For example, to list all jobs that export a forecast named
4957
+ # *electricityWhatIfForecast*, specify the following filter:
4958
+ #
4959
+ # `"Filters": [ \{ "Condition": "IS", "Key": "WhatIfForecastArn",
4960
+ # "Value":
4961
+ # "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityWhatIfForecast"
4962
+ # \} ]`
4963
+ #
4964
+ # @return [Types::ListWhatIfForecastsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
4965
+ #
4966
+ # * {Types::ListWhatIfForecastsResponse#what_if_forecasts #what_if_forecasts} => Array&lt;Types::WhatIfForecastSummary&gt;
4967
+ # * {Types::ListWhatIfForecastsResponse#next_token #next_token} => String
4968
+ #
4969
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
4970
+ #
4971
+ # @example Request syntax with placeholder values
4972
+ #
4973
+ # resp = client.list_what_if_forecasts({
4974
+ # next_token: "NextToken",
4975
+ # max_results: 1,
4976
+ # filters: [
4977
+ # {
4978
+ # key: "String", # required
4979
+ # value: "Arn", # required
4980
+ # condition: "IS", # required, accepts IS, IS_NOT
4981
+ # },
4982
+ # ],
4983
+ # })
4984
+ #
4985
+ # @example Response structure
4986
+ #
4987
+ # resp.what_if_forecasts #=> Array
4988
+ # resp.what_if_forecasts[0].what_if_forecast_arn #=> String
4989
+ # resp.what_if_forecasts[0].what_if_forecast_name #=> String
4990
+ # resp.what_if_forecasts[0].what_if_analysis_arn #=> String
4991
+ # resp.what_if_forecasts[0].status #=> String
4992
+ # resp.what_if_forecasts[0].message #=> String
4993
+ # resp.what_if_forecasts[0].creation_time #=> Time
4994
+ # resp.what_if_forecasts[0].last_modification_time #=> Time
4995
+ # resp.next_token #=> String
4996
+ #
4997
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfForecasts AWS API Documentation
4998
+ #
4999
+ # @overload list_what_if_forecasts(params = {})
5000
+ # @param [Hash] params ({})
5001
+ def list_what_if_forecasts(params = {}, options = {})
5002
+ req = build_request(:list_what_if_forecasts, params)
5003
+ req.send_request(options)
5004
+ end
5005
+
4164
5006
  # Resumes a stopped monitor resource.
4165
5007
  #
4166
5008
  # @option params [required, String] :resource_arn
@@ -4369,7 +5211,7 @@ module Aws::ForecastService
4369
5211
  params: params,
4370
5212
  config: config)
4371
5213
  context[:gem_name] = 'aws-sdk-forecastservice'
4372
- context[:gem_version] = '1.36.0'
5214
+ context[:gem_version] = '1.37.0'
4373
5215
  Seahorse::Client::Request.new(handlers, context)
4374
5216
  end
4375
5217