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.
@@ -10,6 +10,56 @@
10
10
  module Aws::ForecastService
11
11
  module Types
12
12
 
13
+ # Defines the modifications that you are making to an attribute for a
14
+ # what-if forecast. For example, you can use this operation to create a
15
+ # what-if forecast that investigates a 10% off sale on all shoes. To do
16
+ # this, you specify `"AttributeName": "shoes"`, `"Operation":
17
+ # "MULTIPLY"`, and `"Value": "0.90"`. Pair this operation with the
18
+ # TimeSeriesCondition operation within the
19
+ # CreateWhatIfForecastRequest$TimeSeriesTransformations operation to
20
+ # define a subset of attribute items that are modified.
21
+ #
22
+ # @note When making an API call, you may pass Action
23
+ # data as a hash:
24
+ #
25
+ # {
26
+ # attribute_name: "Name", # required
27
+ # operation: "ADD", # required, accepts ADD, SUBTRACT, MULTIPLY, DIVIDE
28
+ # value: 1.0, # required
29
+ # }
30
+ #
31
+ # @!attribute [rw] attribute_name
32
+ # The related time series that you are modifying. This value is case
33
+ # insensitive.
34
+ # @return [String]
35
+ #
36
+ # @!attribute [rw] operation
37
+ # The operation that is applied to the provided attribute. Operations
38
+ # include:
39
+ #
40
+ # * `ADD` - adds `Value` to all rows of `AttributeName`.
41
+ #
42
+ # * `SUBTRACT` - subtracts `Value` from all rows of `AttributeName`.
43
+ #
44
+ # * `MULTIPLY` - multiplies all rows of `AttributeName` by `Value`.
45
+ #
46
+ # * `DIVIDE` - divides all rows of `AttributeName` by `Value`.
47
+ # @return [String]
48
+ #
49
+ # @!attribute [rw] value
50
+ # The value that is applied for the chosen `Operation`.
51
+ # @return [Float]
52
+ #
53
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/Action AWS API Documentation
54
+ #
55
+ class Action < Struct.new(
56
+ :attribute_name,
57
+ :operation,
58
+ :value)
59
+ SENSITIVE = []
60
+ include Aws::Structure
61
+ end
62
+
13
63
  # Describes an additional dataset. This object is part of the DataConfig
14
64
  # object. Forecast supports the Weather Index and Holidays additional
15
65
  # datasets.
@@ -1961,6 +2011,284 @@ module Aws::ForecastService
1961
2011
  include Aws::Structure
1962
2012
  end
1963
2013
 
2014
+ # @note When making an API call, you may pass CreateWhatIfAnalysisRequest
2015
+ # data as a hash:
2016
+ #
2017
+ # {
2018
+ # what_if_analysis_name: "Name", # required
2019
+ # forecast_arn: "Arn", # required
2020
+ # time_series_selector: {
2021
+ # time_series_identifiers: {
2022
+ # data_source: {
2023
+ # s3_config: { # required
2024
+ # path: "S3Path", # required
2025
+ # role_arn: "Arn", # required
2026
+ # kms_key_arn: "KMSKeyArn",
2027
+ # },
2028
+ # },
2029
+ # schema: {
2030
+ # attributes: [
2031
+ # {
2032
+ # attribute_name: "Name",
2033
+ # attribute_type: "string", # accepts string, integer, float, timestamp, geolocation
2034
+ # },
2035
+ # ],
2036
+ # },
2037
+ # format: "Format",
2038
+ # },
2039
+ # },
2040
+ # tags: [
2041
+ # {
2042
+ # key: "TagKey", # required
2043
+ # value: "TagValue", # required
2044
+ # },
2045
+ # ],
2046
+ # }
2047
+ #
2048
+ # @!attribute [rw] what_if_analysis_name
2049
+ # The name of the what-if analysis. Each name must be unique.
2050
+ # @return [String]
2051
+ #
2052
+ # @!attribute [rw] forecast_arn
2053
+ # The Amazon Resource Name (ARN) of the baseline forecast.
2054
+ # @return [String]
2055
+ #
2056
+ # @!attribute [rw] time_series_selector
2057
+ # Defines the set of time series that are used in the what-if analysis
2058
+ # with a `TimeSeriesIdentifiers` object. What-if analyses are
2059
+ # performed only for the time series in this object.
2060
+ #
2061
+ # The `TimeSeriesIdentifiers` object needs the following information:
2062
+ #
2063
+ # * `DataSource`
2064
+ #
2065
+ # * `Format`
2066
+ #
2067
+ # * `Schema`
2068
+ # @return [Types::TimeSeriesSelector]
2069
+ #
2070
+ # @!attribute [rw] tags
2071
+ # A list of [tags][1] to apply to the what if forecast.
2072
+ #
2073
+ #
2074
+ #
2075
+ # [1]: https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html
2076
+ # @return [Array<Types::Tag>]
2077
+ #
2078
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfAnalysisRequest AWS API Documentation
2079
+ #
2080
+ class CreateWhatIfAnalysisRequest < Struct.new(
2081
+ :what_if_analysis_name,
2082
+ :forecast_arn,
2083
+ :time_series_selector,
2084
+ :tags)
2085
+ SENSITIVE = []
2086
+ include Aws::Structure
2087
+ end
2088
+
2089
+ # @!attribute [rw] what_if_analysis_arn
2090
+ # The Amazon Resource Name (ARN) of the what-if analysis.
2091
+ # @return [String]
2092
+ #
2093
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfAnalysisResponse AWS API Documentation
2094
+ #
2095
+ class CreateWhatIfAnalysisResponse < Struct.new(
2096
+ :what_if_analysis_arn)
2097
+ SENSITIVE = []
2098
+ include Aws::Structure
2099
+ end
2100
+
2101
+ # @note When making an API call, you may pass CreateWhatIfForecastExportRequest
2102
+ # data as a hash:
2103
+ #
2104
+ # {
2105
+ # what_if_forecast_export_name: "Name", # required
2106
+ # what_if_forecast_arns: ["LongArn"], # required
2107
+ # destination: { # required
2108
+ # s3_config: { # required
2109
+ # path: "S3Path", # required
2110
+ # role_arn: "Arn", # required
2111
+ # kms_key_arn: "KMSKeyArn",
2112
+ # },
2113
+ # },
2114
+ # tags: [
2115
+ # {
2116
+ # key: "TagKey", # required
2117
+ # value: "TagValue", # required
2118
+ # },
2119
+ # ],
2120
+ # format: "Format",
2121
+ # }
2122
+ #
2123
+ # @!attribute [rw] what_if_forecast_export_name
2124
+ # The name of the what-if forecast to export.
2125
+ # @return [String]
2126
+ #
2127
+ # @!attribute [rw] what_if_forecast_arns
2128
+ # The list of what-if forecast Amazon Resource Names (ARNs) to export.
2129
+ # @return [Array<String>]
2130
+ #
2131
+ # @!attribute [rw] destination
2132
+ # The location where you want to save the forecast and an AWS Identity
2133
+ # and Access Management (IAM) role that Amazon Forecast can assume to
2134
+ # access the location. The forecast must be exported to an Amazon S3
2135
+ # bucket.
2136
+ #
2137
+ # If encryption is used, `Destination` must include an AWS Key
2138
+ # Management Service (KMS) key. The IAM role must allow Amazon
2139
+ # Forecast permission to access the key.
2140
+ # @return [Types::DataDestination]
2141
+ #
2142
+ # @!attribute [rw] tags
2143
+ # A list of [tags][1] to apply to the what if forecast.
2144
+ #
2145
+ #
2146
+ #
2147
+ # [1]: https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html
2148
+ # @return [Array<Types::Tag>]
2149
+ #
2150
+ # @!attribute [rw] format
2151
+ # The format of the exported data, CSV or PARQUET.
2152
+ # @return [String]
2153
+ #
2154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfForecastExportRequest AWS API Documentation
2155
+ #
2156
+ class CreateWhatIfForecastExportRequest < Struct.new(
2157
+ :what_if_forecast_export_name,
2158
+ :what_if_forecast_arns,
2159
+ :destination,
2160
+ :tags,
2161
+ :format)
2162
+ SENSITIVE = []
2163
+ include Aws::Structure
2164
+ end
2165
+
2166
+ # @!attribute [rw] what_if_forecast_export_arn
2167
+ # The Amazon Resource Name (ARN) of the what-if forecast.
2168
+ # @return [String]
2169
+ #
2170
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfForecastExportResponse AWS API Documentation
2171
+ #
2172
+ class CreateWhatIfForecastExportResponse < Struct.new(
2173
+ :what_if_forecast_export_arn)
2174
+ SENSITIVE = []
2175
+ include Aws::Structure
2176
+ end
2177
+
2178
+ # @note When making an API call, you may pass CreateWhatIfForecastRequest
2179
+ # data as a hash:
2180
+ #
2181
+ # {
2182
+ # what_if_forecast_name: "Name", # required
2183
+ # what_if_analysis_arn: "Arn", # required
2184
+ # time_series_transformations: [
2185
+ # {
2186
+ # action: {
2187
+ # attribute_name: "Name", # required
2188
+ # operation: "ADD", # required, accepts ADD, SUBTRACT, MULTIPLY, DIVIDE
2189
+ # value: 1.0, # required
2190
+ # },
2191
+ # time_series_conditions: [
2192
+ # {
2193
+ # attribute_name: "Name", # required
2194
+ # attribute_value: "AttributeValue", # required
2195
+ # condition: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN
2196
+ # },
2197
+ # ],
2198
+ # },
2199
+ # ],
2200
+ # time_series_replacements_data_source: {
2201
+ # s3_config: { # required
2202
+ # path: "S3Path", # required
2203
+ # role_arn: "Arn", # required
2204
+ # kms_key_arn: "KMSKeyArn",
2205
+ # },
2206
+ # schema: { # required
2207
+ # attributes: [
2208
+ # {
2209
+ # attribute_name: "Name",
2210
+ # attribute_type: "string", # accepts string, integer, float, timestamp, geolocation
2211
+ # },
2212
+ # ],
2213
+ # },
2214
+ # format: "Format",
2215
+ # timestamp_format: "TimestampFormat",
2216
+ # },
2217
+ # tags: [
2218
+ # {
2219
+ # key: "TagKey", # required
2220
+ # value: "TagValue", # required
2221
+ # },
2222
+ # ],
2223
+ # }
2224
+ #
2225
+ # @!attribute [rw] what_if_forecast_name
2226
+ # The name of the what-if forecast. Names must be unique within each
2227
+ # what-if analysis.
2228
+ # @return [String]
2229
+ #
2230
+ # @!attribute [rw] what_if_analysis_arn
2231
+ # The Amazon Resource Name (ARN) of the what-if analysis.
2232
+ # @return [String]
2233
+ #
2234
+ # @!attribute [rw] time_series_transformations
2235
+ # The transformations that are applied to the baseline time series.
2236
+ # Each transformation contains an action and a set of conditions. An
2237
+ # action is applied only when all conditions are met. If no conditions
2238
+ # are provided, the action is applied to all items.
2239
+ # @return [Array<Types::TimeSeriesTransformation>]
2240
+ #
2241
+ # @!attribute [rw] time_series_replacements_data_source
2242
+ # The replacement time series dataset, which contains the rows that
2243
+ # you want to change in the related time series dataset. A replacement
2244
+ # time series does not need to contain all rows that are in the
2245
+ # baseline related time series. Include only the rows
2246
+ # (measure-dimension combinations) that you want to include in the
2247
+ # what-if forecast. This dataset is merged with the original time
2248
+ # series to create a transformed dataset that is used for the what-if
2249
+ # analysis.
2250
+ #
2251
+ # This dataset should contain the items to modify (such as item\_id or
2252
+ # workforce\_type), any relevant dimensions, the timestamp column, and
2253
+ # at least one of the related time series columns. This file should
2254
+ # not contain duplicate timestamps for the same time series.
2255
+ #
2256
+ # Timestamps and item\_ids not included in this dataset are not
2257
+ # included in the what-if analysis.
2258
+ # @return [Types::TimeSeriesReplacementsDataSource]
2259
+ #
2260
+ # @!attribute [rw] tags
2261
+ # A list of [tags][1] to apply to the what if forecast.
2262
+ #
2263
+ #
2264
+ #
2265
+ # [1]: https://docs.aws.amazon.com/forecast/latest/dg/tagging-forecast-resources.html
2266
+ # @return [Array<Types::Tag>]
2267
+ #
2268
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfForecastRequest AWS API Documentation
2269
+ #
2270
+ class CreateWhatIfForecastRequest < Struct.new(
2271
+ :what_if_forecast_name,
2272
+ :what_if_analysis_arn,
2273
+ :time_series_transformations,
2274
+ :time_series_replacements_data_source,
2275
+ :tags)
2276
+ SENSITIVE = []
2277
+ include Aws::Structure
2278
+ end
2279
+
2280
+ # @!attribute [rw] what_if_forecast_arn
2281
+ # The Amazon Resource Name (ARN) of the what-if forecast.
2282
+ # @return [String]
2283
+ #
2284
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/CreateWhatIfForecastResponse AWS API Documentation
2285
+ #
2286
+ class CreateWhatIfForecastResponse < Struct.new(
2287
+ :what_if_forecast_arn)
2288
+ SENSITIVE = []
2289
+ include Aws::Structure
2290
+ end
2291
+
1964
2292
  # The data configuration for your dataset group and any additional
1965
2293
  # datasets.
1966
2294
  #
@@ -2454,6 +2782,66 @@ module Aws::ForecastService
2454
2782
  include Aws::Structure
2455
2783
  end
2456
2784
 
2785
+ # @note When making an API call, you may pass DeleteWhatIfAnalysisRequest
2786
+ # data as a hash:
2787
+ #
2788
+ # {
2789
+ # what_if_analysis_arn: "Arn", # required
2790
+ # }
2791
+ #
2792
+ # @!attribute [rw] what_if_analysis_arn
2793
+ # The Amazon Resource Name (ARN) of the what-if analysis that you want
2794
+ # to delete.
2795
+ # @return [String]
2796
+ #
2797
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteWhatIfAnalysisRequest AWS API Documentation
2798
+ #
2799
+ class DeleteWhatIfAnalysisRequest < Struct.new(
2800
+ :what_if_analysis_arn)
2801
+ SENSITIVE = []
2802
+ include Aws::Structure
2803
+ end
2804
+
2805
+ # @note When making an API call, you may pass DeleteWhatIfForecastExportRequest
2806
+ # data as a hash:
2807
+ #
2808
+ # {
2809
+ # what_if_forecast_export_arn: "LongArn", # required
2810
+ # }
2811
+ #
2812
+ # @!attribute [rw] what_if_forecast_export_arn
2813
+ # The Amazon Resource Name (ARN) of the what-if forecast export that
2814
+ # you want to delete.
2815
+ # @return [String]
2816
+ #
2817
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteWhatIfForecastExportRequest AWS API Documentation
2818
+ #
2819
+ class DeleteWhatIfForecastExportRequest < Struct.new(
2820
+ :what_if_forecast_export_arn)
2821
+ SENSITIVE = []
2822
+ include Aws::Structure
2823
+ end
2824
+
2825
+ # @note When making an API call, you may pass DeleteWhatIfForecastRequest
2826
+ # data as a hash:
2827
+ #
2828
+ # {
2829
+ # what_if_forecast_arn: "LongArn", # required
2830
+ # }
2831
+ #
2832
+ # @!attribute [rw] what_if_forecast_arn
2833
+ # The Amazon Resource Name (ARN) of the what-if forecast that you want
2834
+ # to delete.
2835
+ # @return [String]
2836
+ #
2837
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DeleteWhatIfForecastRequest AWS API Documentation
2838
+ #
2839
+ class DeleteWhatIfForecastRequest < Struct.new(
2840
+ :what_if_forecast_arn)
2841
+ SENSITIVE = []
2842
+ include Aws::Structure
2843
+ end
2844
+
2457
2845
  # @note When making an API call, you may pass DescribeAutoPredictorRequest
2458
2846
  # data as a hash:
2459
2847
  #
@@ -3758,9 +4146,334 @@ module Aws::ForecastService
3758
4146
  include Aws::Structure
3759
4147
  end
3760
4148
 
3761
- # An AWS Key Management Service (KMS) key and an AWS Identity and Access
3762
- # Management (IAM) role that Amazon Forecast can assume to access the
3763
- # key. You can specify this optional object in the CreateDataset and
4149
+ # @note When making an API call, you may pass DescribeWhatIfAnalysisRequest
4150
+ # data as a hash:
4151
+ #
4152
+ # {
4153
+ # what_if_analysis_arn: "Arn", # required
4154
+ # }
4155
+ #
4156
+ # @!attribute [rw] what_if_analysis_arn
4157
+ # The Amazon Resource Name (ARN) of the what-if analysis that you are
4158
+ # interested in.
4159
+ # @return [String]
4160
+ #
4161
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfAnalysisRequest AWS API Documentation
4162
+ #
4163
+ class DescribeWhatIfAnalysisRequest < Struct.new(
4164
+ :what_if_analysis_arn)
4165
+ SENSITIVE = []
4166
+ include Aws::Structure
4167
+ end
4168
+
4169
+ # @!attribute [rw] what_if_analysis_name
4170
+ # The name of the what-if analysis.
4171
+ # @return [String]
4172
+ #
4173
+ # @!attribute [rw] what_if_analysis_arn
4174
+ # The Amazon Resource Name (ARN) of the what-if analysis.
4175
+ # @return [String]
4176
+ #
4177
+ # @!attribute [rw] forecast_arn
4178
+ # The Amazon Resource Name (ARN) of the what-if forecast.
4179
+ # @return [String]
4180
+ #
4181
+ # @!attribute [rw] estimated_time_remaining_in_minutes
4182
+ # The approximate time remaining to complete the what-if analysis, in
4183
+ # minutes.
4184
+ # @return [Integer]
4185
+ #
4186
+ # @!attribute [rw] status
4187
+ # The status of the what-if analysis. States include:
4188
+ #
4189
+ # * `ACTIVE`
4190
+ #
4191
+ # * `CREATE_PENDING`, `CREATE_IN_PROGRESS`, `CREATE_FAILED`
4192
+ #
4193
+ # * `CREATE_STOPPING`, `CREATE_STOPPED`
4194
+ #
4195
+ # * `DELETE_PENDING`, `DELETE_IN_PROGRESS`, `DELETE_FAILED`
4196
+ #
4197
+ # <note markdown="1"> The `Status` of the what-if analysis must be `ACTIVE` before you can
4198
+ # access the analysis.
4199
+ #
4200
+ # </note>
4201
+ # @return [String]
4202
+ #
4203
+ # @!attribute [rw] message
4204
+ # If an error occurred, an informational message about the error.
4205
+ # @return [String]
4206
+ #
4207
+ # @!attribute [rw] creation_time
4208
+ # When the what-if analysis was created.
4209
+ # @return [Time]
4210
+ #
4211
+ # @!attribute [rw] last_modification_time
4212
+ # The last time the resource was modified. The timestamp depends on
4213
+ # the status of the job:
4214
+ #
4215
+ # * `CREATE_PENDING` - The `CreationTime`.
4216
+ #
4217
+ # * `CREATE_IN_PROGRESS` - The current timestamp.
4218
+ #
4219
+ # * `CREATE_STOPPING` - The current timestamp.
4220
+ #
4221
+ # * `CREATE_STOPPED` - When the job stopped.
4222
+ #
4223
+ # * `ACTIVE` or `CREATE_FAILED` - When the job finished or failed.
4224
+ # @return [Time]
4225
+ #
4226
+ # @!attribute [rw] time_series_selector
4227
+ # Defines the set of time series that are used to create the forecasts
4228
+ # in a `TimeSeriesIdentifiers` object.
4229
+ #
4230
+ # The `TimeSeriesIdentifiers` object needs the following information:
4231
+ #
4232
+ # * `DataSource`
4233
+ #
4234
+ # * `Format`
4235
+ #
4236
+ # * `Schema`
4237
+ # @return [Types::TimeSeriesSelector]
4238
+ #
4239
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfAnalysisResponse AWS API Documentation
4240
+ #
4241
+ class DescribeWhatIfAnalysisResponse < Struct.new(
4242
+ :what_if_analysis_name,
4243
+ :what_if_analysis_arn,
4244
+ :forecast_arn,
4245
+ :estimated_time_remaining_in_minutes,
4246
+ :status,
4247
+ :message,
4248
+ :creation_time,
4249
+ :last_modification_time,
4250
+ :time_series_selector)
4251
+ SENSITIVE = []
4252
+ include Aws::Structure
4253
+ end
4254
+
4255
+ # @note When making an API call, you may pass DescribeWhatIfForecastExportRequest
4256
+ # data as a hash:
4257
+ #
4258
+ # {
4259
+ # what_if_forecast_export_arn: "LongArn", # required
4260
+ # }
4261
+ #
4262
+ # @!attribute [rw] what_if_forecast_export_arn
4263
+ # The Amazon Resource Name (ARN) of the what-if forecast export that
4264
+ # you are interested in.
4265
+ # @return [String]
4266
+ #
4267
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfForecastExportRequest AWS API Documentation
4268
+ #
4269
+ class DescribeWhatIfForecastExportRequest < Struct.new(
4270
+ :what_if_forecast_export_arn)
4271
+ SENSITIVE = []
4272
+ include Aws::Structure
4273
+ end
4274
+
4275
+ # @!attribute [rw] what_if_forecast_export_arn
4276
+ # The Amazon Resource Name (ARN) of the what-if forecast export.
4277
+ # @return [String]
4278
+ #
4279
+ # @!attribute [rw] what_if_forecast_export_name
4280
+ # The name of the what-if forecast export.
4281
+ # @return [String]
4282
+ #
4283
+ # @!attribute [rw] what_if_forecast_arns
4284
+ # An array of Amazon Resource Names (ARNs) that represent all of the
4285
+ # what-if forecasts exported in this resource.
4286
+ # @return [Array<String>]
4287
+ #
4288
+ # @!attribute [rw] destination
4289
+ # The destination for an export job. Provide an S3 path, an AWS
4290
+ # Identity and Access Management (IAM) role that allows Amazon
4291
+ # Forecast to access the location, and an AWS Key Management Service
4292
+ # (KMS) key (optional).
4293
+ # @return [Types::DataDestination]
4294
+ #
4295
+ # @!attribute [rw] message
4296
+ # If an error occurred, an informational message about the error.
4297
+ # @return [String]
4298
+ #
4299
+ # @!attribute [rw] status
4300
+ # The status of the what-if forecast. States include:
4301
+ #
4302
+ # * `ACTIVE`
4303
+ #
4304
+ # * `CREATE_PENDING`, `CREATE_IN_PROGRESS`, `CREATE_FAILED`
4305
+ #
4306
+ # * `CREATE_STOPPING`, `CREATE_STOPPED`
4307
+ #
4308
+ # * `DELETE_PENDING`, `DELETE_IN_PROGRESS`, `DELETE_FAILED`
4309
+ #
4310
+ # <note markdown="1"> The `Status` of the what-if forecast export must be `ACTIVE` before
4311
+ # you can access the forecast export.
4312
+ #
4313
+ # </note>
4314
+ # @return [String]
4315
+ #
4316
+ # @!attribute [rw] creation_time
4317
+ # When the what-if forecast export was created.
4318
+ # @return [Time]
4319
+ #
4320
+ # @!attribute [rw] estimated_time_remaining_in_minutes
4321
+ # The approximate time remaining to complete the what-if forecast
4322
+ # export, in minutes.
4323
+ # @return [Integer]
4324
+ #
4325
+ # @!attribute [rw] last_modification_time
4326
+ # The last time the resource was modified. The timestamp depends on
4327
+ # the status of the job:
4328
+ #
4329
+ # * `CREATE_PENDING` - The `CreationTime`.
4330
+ #
4331
+ # * `CREATE_IN_PROGRESS` - The current timestamp.
4332
+ #
4333
+ # * `CREATE_STOPPING` - The current timestamp.
4334
+ #
4335
+ # * `CREATE_STOPPED` - When the job stopped.
4336
+ #
4337
+ # * `ACTIVE` or `CREATE_FAILED` - When the job finished or failed.
4338
+ # @return [Time]
4339
+ #
4340
+ # @!attribute [rw] format
4341
+ # The format of the exported data, CSV or PARQUET.
4342
+ # @return [String]
4343
+ #
4344
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfForecastExportResponse AWS API Documentation
4345
+ #
4346
+ class DescribeWhatIfForecastExportResponse < Struct.new(
4347
+ :what_if_forecast_export_arn,
4348
+ :what_if_forecast_export_name,
4349
+ :what_if_forecast_arns,
4350
+ :destination,
4351
+ :message,
4352
+ :status,
4353
+ :creation_time,
4354
+ :estimated_time_remaining_in_minutes,
4355
+ :last_modification_time,
4356
+ :format)
4357
+ SENSITIVE = []
4358
+ include Aws::Structure
4359
+ end
4360
+
4361
+ # @note When making an API call, you may pass DescribeWhatIfForecastRequest
4362
+ # data as a hash:
4363
+ #
4364
+ # {
4365
+ # what_if_forecast_arn: "LongArn", # required
4366
+ # }
4367
+ #
4368
+ # @!attribute [rw] what_if_forecast_arn
4369
+ # The Amazon Resource Name (ARN) of the what-if forecast that you are
4370
+ # interested in.
4371
+ # @return [String]
4372
+ #
4373
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfForecastRequest AWS API Documentation
4374
+ #
4375
+ class DescribeWhatIfForecastRequest < Struct.new(
4376
+ :what_if_forecast_arn)
4377
+ SENSITIVE = []
4378
+ include Aws::Structure
4379
+ end
4380
+
4381
+ # @!attribute [rw] what_if_forecast_name
4382
+ # The name of the what-if forecast.
4383
+ # @return [String]
4384
+ #
4385
+ # @!attribute [rw] what_if_forecast_arn
4386
+ # The Amazon Resource Name (ARN) of the what-if forecast.
4387
+ # @return [String]
4388
+ #
4389
+ # @!attribute [rw] what_if_analysis_arn
4390
+ # The Amazon Resource Name (ARN) of the what-if analysis that contains
4391
+ # this forecast.
4392
+ # @return [String]
4393
+ #
4394
+ # @!attribute [rw] estimated_time_remaining_in_minutes
4395
+ # The approximate time remaining to complete the what-if forecast, in
4396
+ # minutes.
4397
+ # @return [Integer]
4398
+ #
4399
+ # @!attribute [rw] status
4400
+ # The status of the what-if forecast. States include:
4401
+ #
4402
+ # * `ACTIVE`
4403
+ #
4404
+ # * `CREATE_PENDING`, `CREATE_IN_PROGRESS`, `CREATE_FAILED`
4405
+ #
4406
+ # * `CREATE_STOPPING`, `CREATE_STOPPED`
4407
+ #
4408
+ # * `DELETE_PENDING`, `DELETE_IN_PROGRESS`, `DELETE_FAILED`
4409
+ #
4410
+ # <note markdown="1"> The `Status` of the what-if forecast must be `ACTIVE` before you can
4411
+ # access the forecast.
4412
+ #
4413
+ # </note>
4414
+ # @return [String]
4415
+ #
4416
+ # @!attribute [rw] message
4417
+ # If an error occurred, an informational message about the error.
4418
+ # @return [String]
4419
+ #
4420
+ # @!attribute [rw] creation_time
4421
+ # When the what-if forecast was created.
4422
+ # @return [Time]
4423
+ #
4424
+ # @!attribute [rw] last_modification_time
4425
+ # The last time the resource was modified. The timestamp depends on
4426
+ # the status of the job:
4427
+ #
4428
+ # * `CREATE_PENDING` - The `CreationTime`.
4429
+ #
4430
+ # * `CREATE_IN_PROGRESS` - The current timestamp.
4431
+ #
4432
+ # * `CREATE_STOPPING` - The current timestamp.
4433
+ #
4434
+ # * `CREATE_STOPPED` - When the job stopped.
4435
+ #
4436
+ # * `ACTIVE` or `CREATE_FAILED` - When the job finished or failed.
4437
+ # @return [Time]
4438
+ #
4439
+ # @!attribute [rw] time_series_transformations
4440
+ # An array of `Action` and `TimeSeriesConditions` elements that
4441
+ # describe what transformations were applied to which time series.
4442
+ # @return [Array<Types::TimeSeriesTransformation>]
4443
+ #
4444
+ # @!attribute [rw] time_series_replacements_data_source
4445
+ # An array of `S3Config`, `Schema`, and `Format` elements that
4446
+ # describe the replacement time series.
4447
+ # @return [Types::TimeSeriesReplacementsDataSource]
4448
+ #
4449
+ # @!attribute [rw] forecast_types
4450
+ # The quantiles at which probabilistic forecasts are generated. You
4451
+ # can specify up to 5 quantiles per what-if forecast in the
4452
+ # CreateWhatIfForecast operation. If you didn't specify quantiles,
4453
+ # the default values are `["0.1", "0.5", "0.9"]`.
4454
+ # @return [Array<String>]
4455
+ #
4456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/DescribeWhatIfForecastResponse AWS API Documentation
4457
+ #
4458
+ class DescribeWhatIfForecastResponse < Struct.new(
4459
+ :what_if_forecast_name,
4460
+ :what_if_forecast_arn,
4461
+ :what_if_analysis_arn,
4462
+ :estimated_time_remaining_in_minutes,
4463
+ :status,
4464
+ :message,
4465
+ :creation_time,
4466
+ :last_modification_time,
4467
+ :time_series_transformations,
4468
+ :time_series_replacements_data_source,
4469
+ :forecast_types)
4470
+ SENSITIVE = []
4471
+ include Aws::Structure
4472
+ end
4473
+
4474
+ # An AWS Key Management Service (KMS) key and an AWS Identity and Access
4475
+ # Management (IAM) role that Amazon Forecast can assume to access the
4476
+ # key. You can specify this optional object in the CreateDataset and
3764
4477
  # CreatePredictor requests.
3765
4478
  #
3766
4479
  # @note When making an API call, you may pass EncryptionConfig
@@ -5620,13 +6333,260 @@ module Aws::ForecastService
5620
6333
  include Aws::Structure
5621
6334
  end
5622
6335
 
5623
- # An individual metric Forecast calculated when monitoring predictor
5624
- # usage. You can compare the value for this metric to the metric's
5625
- # value in the Baseline to see how your predictor's performance is
5626
- # changing.
6336
+ # @note When making an API call, you may pass ListWhatIfAnalysesRequest
6337
+ # data as a hash:
5627
6338
  #
5628
- # For more information about metrics generated by Forecast see
5629
- # [Evaluating Predictor Accuracy][1]
6339
+ # {
6340
+ # next_token: "NextToken",
6341
+ # max_results: 1,
6342
+ # filters: [
6343
+ # {
6344
+ # key: "String", # required
6345
+ # value: "Arn", # required
6346
+ # condition: "IS", # required, accepts IS, IS_NOT
6347
+ # },
6348
+ # ],
6349
+ # }
6350
+ #
6351
+ # @!attribute [rw] next_token
6352
+ # If the result of the previous request was truncated, the response
6353
+ # includes a `NextToken`. To retrieve the next set of results, use the
6354
+ # token in the next request. Tokens expire after 24 hours.
6355
+ # @return [String]
6356
+ #
6357
+ # @!attribute [rw] max_results
6358
+ # The number of items to return in the response.
6359
+ # @return [Integer]
6360
+ #
6361
+ # @!attribute [rw] filters
6362
+ # An array of filters. For each filter, you provide a condition and a
6363
+ # match statement. The condition is either `IS` or `IS_NOT`, which
6364
+ # specifies whether to include or exclude the what-if analysis jobs
6365
+ # that match the statement from the list, respectively. The match
6366
+ # statement consists of a key and a value.
6367
+ #
6368
+ # **Filter properties**
6369
+ #
6370
+ # * `Condition` - The condition to apply. Valid values are `IS` and
6371
+ # `IS_NOT`. To include the what-if analysis jobs that match the
6372
+ # statement, specify `IS`. To exclude matching what-if analysis
6373
+ # jobs, specify `IS_NOT`.
6374
+ #
6375
+ # * `Key` - The name of the parameter to filter on. Valid values are
6376
+ # `WhatIfAnalysisArn` and `Status`.
6377
+ #
6378
+ # * `Value` - The value to match.
6379
+ #
6380
+ # For example, to list all jobs that export a forecast named
6381
+ # *electricityWhatIf*, specify the following filter:
6382
+ #
6383
+ # `"Filters": [ \{ "Condition": "IS", "Key": "WhatIfAnalysisArn",
6384
+ # "Value":
6385
+ # "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityWhatIf" \}
6386
+ # ]`
6387
+ # @return [Array<Types::Filter>]
6388
+ #
6389
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfAnalysesRequest AWS API Documentation
6390
+ #
6391
+ class ListWhatIfAnalysesRequest < Struct.new(
6392
+ :next_token,
6393
+ :max_results,
6394
+ :filters)
6395
+ SENSITIVE = []
6396
+ include Aws::Structure
6397
+ end
6398
+
6399
+ # @!attribute [rw] what_if_analyses
6400
+ # An array of `WhatIfAnalysisSummary` objects that describe the
6401
+ # matched analyses.
6402
+ # @return [Array<Types::WhatIfAnalysisSummary>]
6403
+ #
6404
+ # @!attribute [rw] next_token
6405
+ # If the response is truncated, Forecast returns this token. To
6406
+ # retrieve the next set of results, use the token in the next request.
6407
+ # @return [String]
6408
+ #
6409
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfAnalysesResponse AWS API Documentation
6410
+ #
6411
+ class ListWhatIfAnalysesResponse < Struct.new(
6412
+ :what_if_analyses,
6413
+ :next_token)
6414
+ SENSITIVE = []
6415
+ include Aws::Structure
6416
+ end
6417
+
6418
+ # @note When making an API call, you may pass ListWhatIfForecastExportsRequest
6419
+ # data as a hash:
6420
+ #
6421
+ # {
6422
+ # next_token: "NextToken",
6423
+ # max_results: 1,
6424
+ # filters: [
6425
+ # {
6426
+ # key: "String", # required
6427
+ # value: "Arn", # required
6428
+ # condition: "IS", # required, accepts IS, IS_NOT
6429
+ # },
6430
+ # ],
6431
+ # }
6432
+ #
6433
+ # @!attribute [rw] next_token
6434
+ # If the result of the previous request was truncated, the response
6435
+ # includes a `NextToken`. To retrieve the next set of results, use the
6436
+ # token in the next
 request. Tokens expire after 24 hours.
6437
+ # @return [String]
6438
+ #
6439
+ # @!attribute [rw] max_results
6440
+ # The number of items to return in the response.
6441
+ # @return [Integer]
6442
+ #
6443
+ # @!attribute [rw] filters
6444
+ # An array of filters. For each filter, you provide a condition and a
6445
+ # match statement. The condition is either `IS` or `IS_NOT`, which
6446
+ # specifies whether to include or exclude the what-if forecast export
6447
+ # jobs that match the statement from the list, respectively. The match
6448
+ # statement consists of a key and a value.
6449
+ #
6450
+ # **Filter properties**
6451
+ #
6452
+ # * `Condition` - The condition to apply. Valid values are `IS` and
6453
+ # `IS_NOT`. To include the forecast export jobs that match the
6454
+ # statement, specify `IS`. To exclude matching forecast export jobs,
6455
+ # specify `IS_NOT`.
6456
+ #
6457
+ # * `Key` - The name of the parameter to filter on. Valid values are
6458
+ # `WhatIfForecastExportArn` and `Status`.
6459
+ #
6460
+ # * `Value` - The value to match.
6461
+ #
6462
+ # For example, to list all jobs that export a forecast named
6463
+ # *electricityWIFExport*, specify the following filter:
6464
+ #
6465
+ # `"Filters": [ \{ "Condition": "IS", "Key":
6466
+ # "WhatIfForecastExportArn", "Value":
6467
+ # "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityWIFExport"
6468
+ # \} ]`
6469
+ # @return [Array<Types::Filter>]
6470
+ #
6471
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfForecastExportsRequest AWS API Documentation
6472
+ #
6473
+ class ListWhatIfForecastExportsRequest < Struct.new(
6474
+ :next_token,
6475
+ :max_results,
6476
+ :filters)
6477
+ SENSITIVE = []
6478
+ include Aws::Structure
6479
+ end
6480
+
6481
+ # @!attribute [rw] what_if_forecast_exports
6482
+ # An array of `WhatIfForecastExports` objects that describe the
6483
+ # matched forecast exports.
6484
+ # @return [Array<Types::WhatIfForecastExportSummary>]
6485
+ #
6486
+ # @!attribute [rw] next_token
6487
+ # If the response is truncated, Forecast returns this token. To
6488
+ # retrieve the next set of results, use the token in the next request.
6489
+ # @return [String]
6490
+ #
6491
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfForecastExportsResponse AWS API Documentation
6492
+ #
6493
+ class ListWhatIfForecastExportsResponse < Struct.new(
6494
+ :what_if_forecast_exports,
6495
+ :next_token)
6496
+ SENSITIVE = []
6497
+ include Aws::Structure
6498
+ end
6499
+
6500
+ # @note When making an API call, you may pass ListWhatIfForecastsRequest
6501
+ # data as a hash:
6502
+ #
6503
+ # {
6504
+ # next_token: "NextToken",
6505
+ # max_results: 1,
6506
+ # filters: [
6507
+ # {
6508
+ # key: "String", # required
6509
+ # value: "Arn", # required
6510
+ # condition: "IS", # required, accepts IS, IS_NOT
6511
+ # },
6512
+ # ],
6513
+ # }
6514
+ #
6515
+ # @!attribute [rw] next_token
6516
+ # If the result of the previous request was truncated, the response
6517
+ # includes a `NextToken`. To retrieve the next set of results, use the
6518
+ # token in the next
 request. Tokens expire after 24 hours.
6519
+ # @return [String]
6520
+ #
6521
+ # @!attribute [rw] max_results
6522
+ # The number of items to return in the response.
6523
+ # @return [Integer]
6524
+ #
6525
+ # @!attribute [rw] filters
6526
+ # An array of filters. For each filter, you provide a condition and a
6527
+ # match statement. The condition is either `IS` or `IS_NOT`, which
6528
+ # specifies whether to include or exclude the what-if forecast export
6529
+ # jobs that match the statement from the list, respectively. The match
6530
+ # statement consists of a key and a value.
6531
+ #
6532
+ # **Filter properties**
6533
+ #
6534
+ # * `Condition` - The condition to apply. Valid values are `IS` and
6535
+ # `IS_NOT`. To include the forecast export jobs that match the
6536
+ # statement, specify `IS`. To exclude matching forecast export jobs,
6537
+ # specify `IS_NOT`.
6538
+ #
6539
+ # * `Key` - The name of the parameter to filter on. Valid values are
6540
+ # `WhatIfForecastArn` and `Status`.
6541
+ #
6542
+ # * `Value` - The value to match.
6543
+ #
6544
+ # For example, to list all jobs that export a forecast named
6545
+ # *electricityWhatIfForecast*, specify the following filter:
6546
+ #
6547
+ # `"Filters": [ \{ "Condition": "IS", "Key": "WhatIfForecastArn",
6548
+ # "Value":
6549
+ # "arn:aws:forecast:us-west-2:<acct-id>:forecast/electricityWhatIfForecast"
6550
+ # \} ]`
6551
+ # @return [Array<Types::Filter>]
6552
+ #
6553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfForecastsRequest AWS API Documentation
6554
+ #
6555
+ class ListWhatIfForecastsRequest < Struct.new(
6556
+ :next_token,
6557
+ :max_results,
6558
+ :filters)
6559
+ SENSITIVE = []
6560
+ include Aws::Structure
6561
+ end
6562
+
6563
+ # @!attribute [rw] what_if_forecasts
6564
+ # An array of `WhatIfForecasts` objects that describe the matched
6565
+ # forecasts.
6566
+ # @return [Array<Types::WhatIfForecastSummary>]
6567
+ #
6568
+ # @!attribute [rw] next_token
6569
+ # If the result of the previous request was truncated, the response
6570
+ # includes a `NextToken`. To retrieve the next set of results, use the
6571
+ # token in the next
 request. Tokens expire after 24 hours.
6572
+ # @return [String]
6573
+ #
6574
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/ListWhatIfForecastsResponse AWS API Documentation
6575
+ #
6576
+ class ListWhatIfForecastsResponse < Struct.new(
6577
+ :what_if_forecasts,
6578
+ :next_token)
6579
+ SENSITIVE = []
6580
+ include Aws::Structure
6581
+ end
6582
+
6583
+ # An individual metric Forecast calculated when monitoring predictor
6584
+ # usage. You can compare the value for this metric to the metric's
6585
+ # value in the Baseline to see how your predictor's performance is
6586
+ # changing.
6587
+ #
6588
+ # For more information about metrics generated by Forecast see
6589
+ # [Evaluating Predictor Accuracy][1]
5630
6590
  #
5631
6591
  #
5632
6592
  #
@@ -6895,6 +7855,47 @@ module Aws::ForecastService
6895
7855
  include Aws::Structure
6896
7856
  end
6897
7857
 
7858
+ # Creates a subset of items within an attribute that are modified. For
7859
+ # example, you can use this operation to create a subset of items that
7860
+ # cost $5 or less. To do this, you specify `"AttributeName": "price"`,
7861
+ # `"AttributeValue": "5"`, and `"Condition": "LESS_THAN"`. Pair this
7862
+ # operation with the Action operation within the
7863
+ # CreateWhatIfForecastRequest$TimeSeriesTransformations operation to
7864
+ # define how the attribute is modified.
7865
+ #
7866
+ # @note When making an API call, you may pass TimeSeriesCondition
7867
+ # data as a hash:
7868
+ #
7869
+ # {
7870
+ # attribute_name: "Name", # required
7871
+ # attribute_value: "AttributeValue", # required
7872
+ # condition: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN
7873
+ # }
7874
+ #
7875
+ # @!attribute [rw] attribute_name
7876
+ # The item\_id, dimension name, IM name, or timestamp that you are
7877
+ # modifying.
7878
+ # @return [String]
7879
+ #
7880
+ # @!attribute [rw] attribute_value
7881
+ # The value that is applied for the chosen `Condition`.
7882
+ # @return [String]
7883
+ #
7884
+ # @!attribute [rw] condition
7885
+ # The condition to apply. Valid values are `EQUALS`, `NOT_EQUALS`,
7886
+ # `LESS_THAN` and `GREATER_THAN`.
7887
+ # @return [String]
7888
+ #
7889
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TimeSeriesCondition AWS API Documentation
7890
+ #
7891
+ class TimeSeriesCondition < Struct.new(
7892
+ :attribute_name,
7893
+ :attribute_value,
7894
+ :condition)
7895
+ SENSITIVE = []
7896
+ include Aws::Structure
7897
+ end
7898
+
6898
7899
  # Details about the import file that contains the time series for which
6899
7900
  # you want to create forecasts.
6900
7901
  #
@@ -6944,6 +7945,68 @@ module Aws::ForecastService
6944
7945
  include Aws::Structure
6945
7946
  end
6946
7947
 
7948
+ # A replacement dataset is a modified version of the baseline related
7949
+ # time series that contains only the values that you want to include in
7950
+ # a what-if forecast. The replacement dataset must contain the forecast
7951
+ # dimensions and item identifiers in the baseline related time series as
7952
+ # well as at least 1 changed time series. This dataset is merged with
7953
+ # the baseline related time series to create a transformed dataset that
7954
+ # is used for the what-if forecast.
7955
+ #
7956
+ # @note When making an API call, you may pass TimeSeriesReplacementsDataSource
7957
+ # data as a hash:
7958
+ #
7959
+ # {
7960
+ # s3_config: { # required
7961
+ # path: "S3Path", # required
7962
+ # role_arn: "Arn", # required
7963
+ # kms_key_arn: "KMSKeyArn",
7964
+ # },
7965
+ # schema: { # required
7966
+ # attributes: [
7967
+ # {
7968
+ # attribute_name: "Name",
7969
+ # attribute_type: "string", # accepts string, integer, float, timestamp, geolocation
7970
+ # },
7971
+ # ],
7972
+ # },
7973
+ # format: "Format",
7974
+ # timestamp_format: "TimestampFormat",
7975
+ # }
7976
+ #
7977
+ # @!attribute [rw] s3_config
7978
+ # The path to the file(s) in an Amazon Simple Storage Service (Amazon
7979
+ # S3) bucket, and an AWS Identity and Access Management (IAM) role
7980
+ # that Amazon Forecast can assume to access the file(s). Optionally,
7981
+ # includes an AWS Key Management Service (KMS) key. This object is
7982
+ # part of the DataSource object that is submitted in the
7983
+ # CreateDatasetImportJob request, and part of the DataDestination
7984
+ # object.
7985
+ # @return [Types::S3Config]
7986
+ #
7987
+ # @!attribute [rw] schema
7988
+ # Defines the fields of a dataset.
7989
+ # @return [Types::Schema]
7990
+ #
7991
+ # @!attribute [rw] format
7992
+ # The format of the replacement data, CSV or PARQUET.
7993
+ # @return [String]
7994
+ #
7995
+ # @!attribute [rw] timestamp_format
7996
+ # The timestamp format of the replacement data.
7997
+ # @return [String]
7998
+ #
7999
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TimeSeriesReplacementsDataSource AWS API Documentation
8000
+ #
8001
+ class TimeSeriesReplacementsDataSource < Struct.new(
8002
+ :s3_config,
8003
+ :schema,
8004
+ :format,
8005
+ :timestamp_format)
8006
+ SENSITIVE = []
8007
+ include Aws::Structure
8008
+ end
8009
+
6947
8010
  # Defines the set of time series that are used to create the forecasts
6948
8011
  # in a `TimeSeriesIdentifiers` object.
6949
8012
  #
@@ -6992,6 +8055,52 @@ module Aws::ForecastService
6992
8055
  include Aws::Structure
6993
8056
  end
6994
8057
 
8058
+ # A transformation function is a pair of operations that select and
8059
+ # modify the rows in a related time series. You select the rows that you
8060
+ # want with a condition operation and you modify the rows with a
8061
+ # transformation operation. All conditions are joined with an AND
8062
+ # operation, meaning that all conditions must be true for the
8063
+ # transformation to be applied. Transformations are applied in the order
8064
+ # that they are listed.
8065
+ #
8066
+ # @note When making an API call, you may pass TimeSeriesTransformation
8067
+ # data as a hash:
8068
+ #
8069
+ # {
8070
+ # action: {
8071
+ # attribute_name: "Name", # required
8072
+ # operation: "ADD", # required, accepts ADD, SUBTRACT, MULTIPLY, DIVIDE
8073
+ # value: 1.0, # required
8074
+ # },
8075
+ # time_series_conditions: [
8076
+ # {
8077
+ # attribute_name: "Name", # required
8078
+ # attribute_value: "AttributeValue", # required
8079
+ # condition: "EQUALS", # required, accepts EQUALS, NOT_EQUALS, LESS_THAN, GREATER_THAN
8080
+ # },
8081
+ # ],
8082
+ # }
8083
+ #
8084
+ # @!attribute [rw] action
8085
+ # An array of actions that define a time series and how it is
8086
+ # transformed. These transformations create a new time series that is
8087
+ # used for the what-if analysis.
8088
+ # @return [Types::Action]
8089
+ #
8090
+ # @!attribute [rw] time_series_conditions
8091
+ # An array of conditions that define which members of the related time
8092
+ # series are transformed.
8093
+ # @return [Array<Types::TimeSeriesCondition>]
8094
+ #
8095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/TimeSeriesTransformation AWS API Documentation
8096
+ #
8097
+ class TimeSeriesTransformation < Struct.new(
8098
+ :action,
8099
+ :time_series_conditions)
8100
+ SENSITIVE = []
8101
+ include Aws::Structure
8102
+ end
8103
+
6995
8104
  # @note When making an API call, you may pass UntagResourceRequest
6996
8105
  # data as a hash:
6997
8106
  #
@@ -7077,6 +8186,228 @@ module Aws::ForecastService
7077
8186
  include Aws::Structure
7078
8187
  end
7079
8188
 
8189
+ # Provides a summary of the what-if analysis properties used in the
8190
+ # ListWhatIfAnalyses operation. To get the complete set of properties,
8191
+ # call the DescribeWhatIfAnalysis operation, and provide the
8192
+ # `WhatIfAnalysisArn` that is listed in the summary.
8193
+ #
8194
+ # @!attribute [rw] what_if_analysis_arn
8195
+ # The Amazon Resource Name (ARN) of the what-if analysis.
8196
+ # @return [String]
8197
+ #
8198
+ # @!attribute [rw] what_if_analysis_name
8199
+ # The name of the what-if analysis.
8200
+ # @return [String]
8201
+ #
8202
+ # @!attribute [rw] forecast_arn
8203
+ # The Amazon Resource Name (ARN) of the baseline forecast that is
8204
+ # being used in this what-if analysis.
8205
+ # @return [String]
8206
+ #
8207
+ # @!attribute [rw] status
8208
+ # The status of the what-if analysis. States include:
8209
+ #
8210
+ # * `ACTIVE`
8211
+ #
8212
+ # * `CREATE_PENDING`, `CREATE_IN_PROGRESS`, `CREATE_FAILED`
8213
+ #
8214
+ # * `CREATE_STOPPING`, `CREATE_STOPPED`
8215
+ #
8216
+ # * `DELETE_PENDING`, `DELETE_IN_PROGRESS`, `DELETE_FAILED`
8217
+ #
8218
+ # <note markdown="1"> The `Status` of the what-if analysis must be `ACTIVE` before you can
8219
+ # access the analysis.
8220
+ #
8221
+ # </note>
8222
+ # @return [String]
8223
+ #
8224
+ # @!attribute [rw] message
8225
+ # If an error occurred, an informational message about the error.
8226
+ # @return [String]
8227
+ #
8228
+ # @!attribute [rw] creation_time
8229
+ # When the what-if analysis was created.
8230
+ # @return [Time]
8231
+ #
8232
+ # @!attribute [rw] last_modification_time
8233
+ # The last time the resource was modified. The timestamp depends on
8234
+ # the status of the job:
8235
+ #
8236
+ # * `CREATE_PENDING` - The `CreationTime`.
8237
+ #
8238
+ # * `CREATE_IN_PROGRESS` - The current timestamp.
8239
+ #
8240
+ # * `CREATE_STOPPING` - The current timestamp.
8241
+ #
8242
+ # * `CREATE_STOPPED` - When the job stopped.
8243
+ #
8244
+ # * `ACTIVE` or `CREATE_FAILED` - When the job finished or failed.
8245
+ # @return [Time]
8246
+ #
8247
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/WhatIfAnalysisSummary AWS API Documentation
8248
+ #
8249
+ class WhatIfAnalysisSummary < Struct.new(
8250
+ :what_if_analysis_arn,
8251
+ :what_if_analysis_name,
8252
+ :forecast_arn,
8253
+ :status,
8254
+ :message,
8255
+ :creation_time,
8256
+ :last_modification_time)
8257
+ SENSITIVE = []
8258
+ include Aws::Structure
8259
+ end
8260
+
8261
+ # Provides a summary of the what-if forecast export properties used in
8262
+ # the ListWhatIfForecastExports operation. To get the complete set of
8263
+ # properties, call the DescribeWhatIfForecastExport operation, and
8264
+ # provide the `WhatIfForecastExportArn` that is listed in the summary.
8265
+ #
8266
+ # @!attribute [rw] what_if_forecast_export_arn
8267
+ # The Amazon Resource Name (ARN) of the what-if forecast export.
8268
+ # @return [String]
8269
+ #
8270
+ # @!attribute [rw] what_if_forecast_arns
8271
+ # An array of Amazon Resource Names (ARNs) that define the what-if
8272
+ # forecasts included in the export.
8273
+ # @return [Array<String>]
8274
+ #
8275
+ # @!attribute [rw] what_if_forecast_export_name
8276
+ # The what-if forecast export name.
8277
+ # @return [String]
8278
+ #
8279
+ # @!attribute [rw] destination
8280
+ # The path to the Amazon Simple Storage Service (Amazon S3) bucket
8281
+ # where the forecast is exported.
8282
+ # @return [Types::DataDestination]
8283
+ #
8284
+ # @!attribute [rw] status
8285
+ # The status of the what-if forecast export. States include:
8286
+ #
8287
+ # * `ACTIVE`
8288
+ #
8289
+ # * `CREATE_PENDING`, `CREATE_IN_PROGRESS`, `CREATE_FAILED`
8290
+ #
8291
+ # * `CREATE_STOPPING`, `CREATE_STOPPED`
8292
+ #
8293
+ # * `DELETE_PENDING`, `DELETE_IN_PROGRESS`, `DELETE_FAILED`
8294
+ #
8295
+ # <note markdown="1"> The `Status` of the what-if analysis must be `ACTIVE` before you can
8296
+ # access the analysis.
8297
+ #
8298
+ # </note>
8299
+ # @return [String]
8300
+ #
8301
+ # @!attribute [rw] message
8302
+ # If an error occurred, an informational message about the error.
8303
+ # @return [String]
8304
+ #
8305
+ # @!attribute [rw] creation_time
8306
+ # When the what-if forecast export was created.
8307
+ # @return [Time]
8308
+ #
8309
+ # @!attribute [rw] last_modification_time
8310
+ # The last time the resource was modified. The timestamp depends on
8311
+ # the status of the job:
8312
+ #
8313
+ # * `CREATE_PENDING` - The `CreationTime`.
8314
+ #
8315
+ # * `CREATE_IN_PROGRESS` - The current timestamp.
8316
+ #
8317
+ # * `CREATE_STOPPING` - The current timestamp.
8318
+ #
8319
+ # * `CREATE_STOPPED` - When the job stopped.
8320
+ #
8321
+ # * `ACTIVE` or `CREATE_FAILED` - When the job finished or failed.
8322
+ # @return [Time]
8323
+ #
8324
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/WhatIfForecastExportSummary AWS API Documentation
8325
+ #
8326
+ class WhatIfForecastExportSummary < Struct.new(
8327
+ :what_if_forecast_export_arn,
8328
+ :what_if_forecast_arns,
8329
+ :what_if_forecast_export_name,
8330
+ :destination,
8331
+ :status,
8332
+ :message,
8333
+ :creation_time,
8334
+ :last_modification_time)
8335
+ SENSITIVE = []
8336
+ include Aws::Structure
8337
+ end
8338
+
8339
+ # Provides a summary of the what-if forecast properties used in the
8340
+ # ListWhatIfForecasts operation. To get the complete set of properties,
8341
+ # call the DescribeWhatIfForecast operation, and provide the
8342
+ # `WhatIfForecastArn` that is listed in the summary.
8343
+ #
8344
+ # @!attribute [rw] what_if_forecast_arn
8345
+ # The Amazon Resource Name (ARN) of the what-if forecast.
8346
+ # @return [String]
8347
+ #
8348
+ # @!attribute [rw] what_if_forecast_name
8349
+ # The name of the what-if forecast.
8350
+ # @return [String]
8351
+ #
8352
+ # @!attribute [rw] what_if_analysis_arn
8353
+ # The Amazon Resource Name (ARN) of the what-if analysis that contains
8354
+ # this what-if forecast.
8355
+ # @return [String]
8356
+ #
8357
+ # @!attribute [rw] status
8358
+ # The status of the what-if forecast. States include:
8359
+ #
8360
+ # * `ACTIVE`
8361
+ #
8362
+ # * `CREATE_PENDING`, `CREATE_IN_PROGRESS`, `CREATE_FAILED`
8363
+ #
8364
+ # * `CREATE_STOPPING`, `CREATE_STOPPED`
8365
+ #
8366
+ # * `DELETE_PENDING`, `DELETE_IN_PROGRESS`, `DELETE_FAILED`
8367
+ #
8368
+ # <note markdown="1"> The `Status` of the what-if analysis must be `ACTIVE` before you can
8369
+ # access the analysis.
8370
+ #
8371
+ # </note>
8372
+ # @return [String]
8373
+ #
8374
+ # @!attribute [rw] message
8375
+ # If an error occurred, an informational message about the error.
8376
+ # @return [String]
8377
+ #
8378
+ # @!attribute [rw] creation_time
8379
+ # When the what-if forecast was created.
8380
+ # @return [Time]
8381
+ #
8382
+ # @!attribute [rw] last_modification_time
8383
+ # The last time the resource was modified. The timestamp depends on
8384
+ # the status of the job:
8385
+ #
8386
+ # * `CREATE_PENDING` - The `CreationTime`.
8387
+ #
8388
+ # * `CREATE_IN_PROGRESS` - The current timestamp.
8389
+ #
8390
+ # * `CREATE_STOPPING` - The current timestamp.
8391
+ #
8392
+ # * `CREATE_STOPPED` - When the job stopped.
8393
+ #
8394
+ # * `ACTIVE` or `CREATE_FAILED` - When the job finished or failed.
8395
+ # @return [Time]
8396
+ #
8397
+ # @see http://docs.aws.amazon.com/goto/WebAPI/forecast-2018-06-26/WhatIfForecastSummary AWS API Documentation
8398
+ #
8399
+ class WhatIfForecastSummary < Struct.new(
8400
+ :what_if_forecast_arn,
8401
+ :what_if_forecast_name,
8402
+ :what_if_analysis_arn,
8403
+ :status,
8404
+ :message,
8405
+ :creation_time,
8406
+ :last_modification_time)
8407
+ SENSITIVE = []
8408
+ include Aws::Structure
8409
+ end
8410
+
7080
8411
  # The metrics for a time range within the evaluation portion of a
7081
8412
  # dataset. This object is part of the EvaluationResult object.
7082
8413
  #