aws-sdk-pi 1.0.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.
@@ -0,0 +1,172 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::PI
9
+ # @api private
10
+ module ClientApi
11
+
12
+ include Seahorse::Model
13
+
14
+ DataPoint = Shapes::StructureShape.new(name: 'DataPoint')
15
+ DataPointsList = Shapes::ListShape.new(name: 'DataPointsList')
16
+ DescribeDimensionKeysRequest = Shapes::StructureShape.new(name: 'DescribeDimensionKeysRequest')
17
+ DescribeDimensionKeysResponse = Shapes::StructureShape.new(name: 'DescribeDimensionKeysResponse')
18
+ DimensionGroup = Shapes::StructureShape.new(name: 'DimensionGroup')
19
+ DimensionKeyDescription = Shapes::StructureShape.new(name: 'DimensionKeyDescription')
20
+ DimensionKeyDescriptionList = Shapes::ListShape.new(name: 'DimensionKeyDescriptionList')
21
+ DimensionMap = Shapes::MapShape.new(name: 'DimensionMap')
22
+ Double = Shapes::FloatShape.new(name: 'Double')
23
+ GetResourceMetricsRequest = Shapes::StructureShape.new(name: 'GetResourceMetricsRequest')
24
+ GetResourceMetricsResponse = Shapes::StructureShape.new(name: 'GetResourceMetricsResponse')
25
+ ISOTimestamp = Shapes::TimestampShape.new(name: 'ISOTimestamp')
26
+ Integer = Shapes::IntegerShape.new(name: 'Integer')
27
+ InternalServiceError = Shapes::StructureShape.new(name: 'InternalServiceError')
28
+ InvalidArgumentException = Shapes::StructureShape.new(name: 'InvalidArgumentException')
29
+ Limit = Shapes::IntegerShape.new(name: 'Limit')
30
+ MaxResults = Shapes::IntegerShape.new(name: 'MaxResults')
31
+ MetricKeyDataPoints = Shapes::StructureShape.new(name: 'MetricKeyDataPoints')
32
+ MetricKeyDataPointsList = Shapes::ListShape.new(name: 'MetricKeyDataPointsList')
33
+ MetricQuery = Shapes::StructureShape.new(name: 'MetricQuery')
34
+ MetricQueryFilterMap = Shapes::MapShape.new(name: 'MetricQueryFilterMap')
35
+ MetricQueryList = Shapes::ListShape.new(name: 'MetricQueryList')
36
+ MetricValuesList = Shapes::ListShape.new(name: 'MetricValuesList')
37
+ NotAuthorizedException = Shapes::StructureShape.new(name: 'NotAuthorizedException')
38
+ ResponsePartitionKey = Shapes::StructureShape.new(name: 'ResponsePartitionKey')
39
+ ResponsePartitionKeyList = Shapes::ListShape.new(name: 'ResponsePartitionKeyList')
40
+ ResponseResourceMetricKey = Shapes::StructureShape.new(name: 'ResponseResourceMetricKey')
41
+ ServiceType = Shapes::StringShape.new(name: 'ServiceType')
42
+ String = Shapes::StringShape.new(name: 'String')
43
+ StringList = Shapes::ListShape.new(name: 'StringList')
44
+
45
+ DataPoint.add_member(:timestamp, Shapes::ShapeRef.new(shape: ISOTimestamp, required: true, location_name: "Timestamp"))
46
+ DataPoint.add_member(:value, Shapes::ShapeRef.new(shape: Double, required: true, location_name: "Value"))
47
+ DataPoint.struct_class = Types::DataPoint
48
+
49
+ DataPointsList.member = Shapes::ShapeRef.new(shape: DataPoint)
50
+
51
+ DescribeDimensionKeysRequest.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, required: true, location_name: "ServiceType"))
52
+ DescribeDimensionKeysRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Identifier"))
53
+ DescribeDimensionKeysRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: ISOTimestamp, required: true, location_name: "StartTime"))
54
+ DescribeDimensionKeysRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: ISOTimestamp, required: true, location_name: "EndTime"))
55
+ DescribeDimensionKeysRequest.add_member(:metric, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Metric"))
56
+ DescribeDimensionKeysRequest.add_member(:period_in_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "PeriodInSeconds"))
57
+ DescribeDimensionKeysRequest.add_member(:group_by, Shapes::ShapeRef.new(shape: DimensionGroup, required: true, location_name: "GroupBy"))
58
+ DescribeDimensionKeysRequest.add_member(:partition_by, Shapes::ShapeRef.new(shape: DimensionGroup, location_name: "PartitionBy"))
59
+ DescribeDimensionKeysRequest.add_member(:filter, Shapes::ShapeRef.new(shape: MetricQueryFilterMap, location_name: "Filter"))
60
+ DescribeDimensionKeysRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
61
+ DescribeDimensionKeysRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
62
+ DescribeDimensionKeysRequest.struct_class = Types::DescribeDimensionKeysRequest
63
+
64
+ DescribeDimensionKeysResponse.add_member(:aligned_start_time, Shapes::ShapeRef.new(shape: ISOTimestamp, location_name: "AlignedStartTime"))
65
+ DescribeDimensionKeysResponse.add_member(:aligned_end_time, Shapes::ShapeRef.new(shape: ISOTimestamp, location_name: "AlignedEndTime"))
66
+ DescribeDimensionKeysResponse.add_member(:partition_keys, Shapes::ShapeRef.new(shape: ResponsePartitionKeyList, location_name: "PartitionKeys"))
67
+ DescribeDimensionKeysResponse.add_member(:keys, Shapes::ShapeRef.new(shape: DimensionKeyDescriptionList, location_name: "Keys"))
68
+ DescribeDimensionKeysResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
69
+ DescribeDimensionKeysResponse.struct_class = Types::DescribeDimensionKeysResponse
70
+
71
+ DimensionGroup.add_member(:group, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Group"))
72
+ DimensionGroup.add_member(:dimensions, Shapes::ShapeRef.new(shape: StringList, location_name: "Dimensions"))
73
+ DimensionGroup.add_member(:limit, Shapes::ShapeRef.new(shape: Limit, location_name: "Limit"))
74
+ DimensionGroup.struct_class = Types::DimensionGroup
75
+
76
+ DimensionKeyDescription.add_member(:dimensions, Shapes::ShapeRef.new(shape: DimensionMap, location_name: "Dimensions"))
77
+ DimensionKeyDescription.add_member(:total, Shapes::ShapeRef.new(shape: Double, location_name: "Total"))
78
+ DimensionKeyDescription.add_member(:partitions, Shapes::ShapeRef.new(shape: MetricValuesList, location_name: "Partitions"))
79
+ DimensionKeyDescription.struct_class = Types::DimensionKeyDescription
80
+
81
+ DimensionKeyDescriptionList.member = Shapes::ShapeRef.new(shape: DimensionKeyDescription)
82
+
83
+ DimensionMap.key = Shapes::ShapeRef.new(shape: String)
84
+ DimensionMap.value = Shapes::ShapeRef.new(shape: String)
85
+
86
+ GetResourceMetricsRequest.add_member(:service_type, Shapes::ShapeRef.new(shape: ServiceType, required: true, location_name: "ServiceType"))
87
+ GetResourceMetricsRequest.add_member(:identifier, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Identifier"))
88
+ GetResourceMetricsRequest.add_member(:metric_queries, Shapes::ShapeRef.new(shape: MetricQueryList, required: true, location_name: "MetricQueries"))
89
+ GetResourceMetricsRequest.add_member(:start_time, Shapes::ShapeRef.new(shape: ISOTimestamp, required: true, location_name: "StartTime"))
90
+ GetResourceMetricsRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: ISOTimestamp, required: true, location_name: "EndTime"))
91
+ GetResourceMetricsRequest.add_member(:period_in_seconds, Shapes::ShapeRef.new(shape: Integer, location_name: "PeriodInSeconds"))
92
+ GetResourceMetricsRequest.add_member(:max_results, Shapes::ShapeRef.new(shape: MaxResults, location_name: "MaxResults"))
93
+ GetResourceMetricsRequest.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
94
+ GetResourceMetricsRequest.struct_class = Types::GetResourceMetricsRequest
95
+
96
+ GetResourceMetricsResponse.add_member(:aligned_start_time, Shapes::ShapeRef.new(shape: ISOTimestamp, location_name: "AlignedStartTime"))
97
+ GetResourceMetricsResponse.add_member(:aligned_end_time, Shapes::ShapeRef.new(shape: ISOTimestamp, location_name: "AlignedEndTime"))
98
+ GetResourceMetricsResponse.add_member(:identifier, Shapes::ShapeRef.new(shape: String, location_name: "Identifier"))
99
+ GetResourceMetricsResponse.add_member(:metric_list, Shapes::ShapeRef.new(shape: MetricKeyDataPointsList, location_name: "MetricList"))
100
+ GetResourceMetricsResponse.add_member(:next_token, Shapes::ShapeRef.new(shape: String, location_name: "NextToken"))
101
+ GetResourceMetricsResponse.struct_class = Types::GetResourceMetricsResponse
102
+
103
+ MetricKeyDataPoints.add_member(:key, Shapes::ShapeRef.new(shape: ResponseResourceMetricKey, location_name: "Key"))
104
+ MetricKeyDataPoints.add_member(:data_points, Shapes::ShapeRef.new(shape: DataPointsList, location_name: "DataPoints"))
105
+ MetricKeyDataPoints.struct_class = Types::MetricKeyDataPoints
106
+
107
+ MetricKeyDataPointsList.member = Shapes::ShapeRef.new(shape: MetricKeyDataPoints)
108
+
109
+ MetricQuery.add_member(:metric, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Metric"))
110
+ MetricQuery.add_member(:group_by, Shapes::ShapeRef.new(shape: DimensionGroup, location_name: "GroupBy"))
111
+ MetricQuery.add_member(:filter, Shapes::ShapeRef.new(shape: MetricQueryFilterMap, location_name: "Filter"))
112
+ MetricQuery.struct_class = Types::MetricQuery
113
+
114
+ MetricQueryFilterMap.key = Shapes::ShapeRef.new(shape: String)
115
+ MetricQueryFilterMap.value = Shapes::ShapeRef.new(shape: String)
116
+
117
+ MetricQueryList.member = Shapes::ShapeRef.new(shape: MetricQuery)
118
+
119
+ MetricValuesList.member = Shapes::ShapeRef.new(shape: Double)
120
+
121
+ ResponsePartitionKey.add_member(:dimensions, Shapes::ShapeRef.new(shape: DimensionMap, required: true, location_name: "Dimensions"))
122
+ ResponsePartitionKey.struct_class = Types::ResponsePartitionKey
123
+
124
+ ResponsePartitionKeyList.member = Shapes::ShapeRef.new(shape: ResponsePartitionKey)
125
+
126
+ ResponseResourceMetricKey.add_member(:metric, Shapes::ShapeRef.new(shape: String, required: true, location_name: "Metric"))
127
+ ResponseResourceMetricKey.add_member(:dimensions, Shapes::ShapeRef.new(shape: DimensionMap, location_name: "Dimensions"))
128
+ ResponseResourceMetricKey.struct_class = Types::ResponseResourceMetricKey
129
+
130
+ StringList.member = Shapes::ShapeRef.new(shape: String)
131
+
132
+
133
+ # @api private
134
+ API = Seahorse::Model::Api.new.tap do |api|
135
+
136
+ api.version = "2018-02-27"
137
+
138
+ api.metadata = {
139
+ "endpointPrefix" => "pi",
140
+ "jsonVersion" => "1.1",
141
+ "protocol" => "json",
142
+ "serviceFullName" => "AWS Performance Insights",
143
+ "signatureVersion" => "v4",
144
+ "signingName" => "pi",
145
+ "targetPrefix" => "PerformanceInsightsv20180227",
146
+ }
147
+
148
+ api.add_operation(:describe_dimension_keys, Seahorse::Model::Operation.new.tap do |o|
149
+ o.name = "DescribeDimensionKeys"
150
+ o.http_method = "POST"
151
+ o.http_request_uri = "/"
152
+ o.input = Shapes::ShapeRef.new(shape: DescribeDimensionKeysRequest)
153
+ o.output = Shapes::ShapeRef.new(shape: DescribeDimensionKeysResponse)
154
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
155
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
156
+ o.errors << Shapes::ShapeRef.new(shape: NotAuthorizedException)
157
+ end)
158
+
159
+ api.add_operation(:get_resource_metrics, Seahorse::Model::Operation.new.tap do |o|
160
+ o.name = "GetResourceMetrics"
161
+ o.http_method = "POST"
162
+ o.http_request_uri = "/"
163
+ o.input = Shapes::ShapeRef.new(shape: GetResourceMetricsRequest)
164
+ o.output = Shapes::ShapeRef.new(shape: GetResourceMetricsResponse)
165
+ o.errors << Shapes::ShapeRef.new(shape: InvalidArgumentException)
166
+ o.errors << Shapes::ShapeRef.new(shape: InternalServiceError)
167
+ o.errors << Shapes::ShapeRef.new(shape: NotAuthorizedException)
168
+ end)
169
+ end
170
+
171
+ end
172
+ end
File without changes
@@ -0,0 +1,14 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::PI
9
+ module Errors
10
+
11
+ extend Aws::Errors::DynamicErrors
12
+
13
+ end
14
+ end
@@ -0,0 +1,23 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::PI
9
+ class Resource
10
+
11
+ # @param options ({})
12
+ # @option options [Client] :client
13
+ def initialize(options = {})
14
+ @client = options[:client] || Client.new(options)
15
+ end
16
+
17
+ # @return [Client]
18
+ def client
19
+ @client
20
+ end
21
+
22
+ end
23
+ end
@@ -0,0 +1,599 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ module Aws::PI
9
+ module Types
10
+
11
+ # A timestamp, and a single numerical value, which together represent a
12
+ # measurement at a particular point in time.
13
+ #
14
+ # @!attribute [rw] timestamp
15
+ # The time, in epoch format, associated with a particular `Value`.
16
+ # @return [Time]
17
+ #
18
+ # @!attribute [rw] value
19
+ # The actual value associated with a particular `Timestamp`.
20
+ # @return [Float]
21
+ #
22
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DataPoint AWS API Documentation
23
+ #
24
+ class DataPoint < Struct.new(
25
+ :timestamp,
26
+ :value)
27
+ include Aws::Structure
28
+ end
29
+
30
+ # @note When making an API call, you may pass DescribeDimensionKeysRequest
31
+ # data as a hash:
32
+ #
33
+ # {
34
+ # service_type: "RDS", # required, accepts RDS
35
+ # identifier: "String", # required
36
+ # start_time: Time.now, # required
37
+ # end_time: Time.now, # required
38
+ # metric: "String", # required
39
+ # period_in_seconds: 1,
40
+ # group_by: { # required
41
+ # group: "String", # required
42
+ # dimensions: ["String"],
43
+ # limit: 1,
44
+ # },
45
+ # partition_by: {
46
+ # group: "String", # required
47
+ # dimensions: ["String"],
48
+ # limit: 1,
49
+ # },
50
+ # filter: {
51
+ # "String" => "String",
52
+ # },
53
+ # max_results: 1,
54
+ # next_token: "String",
55
+ # }
56
+ #
57
+ # @!attribute [rw] service_type
58
+ # The AWS service for which Performance Insights will return metrics.
59
+ # The only valid value for *ServiceType* is: `RDS`
60
+ # @return [String]
61
+ #
62
+ # @!attribute [rw] identifier
63
+ # An immutable, AWS Region-unique identifier for a data source.
64
+ # Performance Insights gathers metrics from this data source.
65
+ #
66
+ # To use an Amazon RDS instance as a data source, you specify its
67
+ # `DbiResourceId` value - for example: `db-FAIHNTYBKTGAUSUZQYPDS2GW4A`
68
+ # @return [String]
69
+ #
70
+ # @!attribute [rw] start_time
71
+ # The date and time specifying the beginning of the requested time
72
+ # series data. You can't specify a `StartTime` that's earlier than 7
73
+ # days ago. The value specified is *inclusive* - data points equal to
74
+ # or greater than `StartTime` will be returned.
75
+ #
76
+ # The value for `StartTime` must be earlier than the value for
77
+ # `EndTime`.
78
+ # @return [Time]
79
+ #
80
+ # @!attribute [rw] end_time
81
+ # The date and time specifying the end of the requested time series
82
+ # data. The value specified is *exclusive* - data points less than
83
+ # (but not equal to) `EndTime` will be returned.
84
+ #
85
+ # The value for `EndTime` must be later than the value for
86
+ # `StartTime`.
87
+ # @return [Time]
88
+ #
89
+ # @!attribute [rw] metric
90
+ # The name of a Performance Insights metric to be measured.
91
+ #
92
+ # Valid values for `Metric` are:
93
+ #
94
+ # * `db.load.avg` - a scaled representation of the number of active
95
+ # sessions for the database engine.
96
+ #
97
+ # * `db.sampledload.avg` - the raw number of active sessions for the
98
+ # database engine.
99
+ # @return [String]
100
+ #
101
+ # @!attribute [rw] period_in_seconds
102
+ # The granularity, in seconds, of the data points returned from
103
+ # Performance Insights. A period can be as short as one second, or as
104
+ # long as one day (86400 seconds). Valid values are:
105
+ #
106
+ # * `1` (one second)
107
+ #
108
+ # * `60` (one minute)
109
+ #
110
+ # * `300` (five minutes)
111
+ #
112
+ # * `3600` (one hour)
113
+ #
114
+ # * `86400` (twenty-four hours)
115
+ #
116
+ # If you don't specify `PeriodInSeconds`, then Performance Insights
117
+ # will choose a value for you, with a goal of returning roughly
118
+ # 100-200 data points in the response.
119
+ # @return [Integer]
120
+ #
121
+ # @!attribute [rw] group_by
122
+ # A specification for how to aggregate the data points from a query
123
+ # result. You must specify a valid dimension group. Performance
124
+ # Insights will return all of the dimensions within that group, unless
125
+ # you provide the names of specific dimensions within that group. You
126
+ # can also request that Performance Insights return a limited number
127
+ # of values for a dimension.
128
+ # @return [Types::DimensionGroup]
129
+ #
130
+ # @!attribute [rw] partition_by
131
+ # For each dimension specified in `GroupBy`, specify a secondary
132
+ # dimension to further subdivide the partition keys in the response.
133
+ # @return [Types::DimensionGroup]
134
+ #
135
+ # @!attribute [rw] filter
136
+ # One or more filters to apply in the request. Restrictions:
137
+ #
138
+ # * Any number of filters by the same dimension, as specified in the
139
+ # `GroupBy` or `Partition` parameters.
140
+ #
141
+ # * A single filter for any other dimension in this dimension group.
142
+ # @return [Hash<String,String>]
143
+ #
144
+ # @!attribute [rw] max_results
145
+ # The maximum number of items to return in the response. If more items
146
+ # exist than the specified `MaxRecords` value, a pagination token is
147
+ # included in the response so that the remaining results can be
148
+ # retrieved.
149
+ # @return [Integer]
150
+ #
151
+ # @!attribute [rw] next_token
152
+ # An optional pagination token provided by a previous request. If this
153
+ # parameter is specified, the response includes only records beyond
154
+ # the token, up to the value specified by `MaxRecords`.
155
+ # @return [String]
156
+ #
157
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DescribeDimensionKeysRequest AWS API Documentation
158
+ #
159
+ class DescribeDimensionKeysRequest < Struct.new(
160
+ :service_type,
161
+ :identifier,
162
+ :start_time,
163
+ :end_time,
164
+ :metric,
165
+ :period_in_seconds,
166
+ :group_by,
167
+ :partition_by,
168
+ :filter,
169
+ :max_results,
170
+ :next_token)
171
+ include Aws::Structure
172
+ end
173
+
174
+ # @!attribute [rw] aligned_start_time
175
+ # The start time for the returned dimension keys, after alignment to a
176
+ # granular boundary (as specified by `PeriodInSeconds`).
177
+ # `AlignedStartTime` will be less than or equal to the value of the
178
+ # user-specified `StartTime`.
179
+ # @return [Time]
180
+ #
181
+ # @!attribute [rw] aligned_end_time
182
+ # The end time for the returned dimension keys, after alignment to a
183
+ # granular boundary (as specified by `PeriodInSeconds`).
184
+ # `AlignedEndTime` will be greater than or equal to the value of the
185
+ # user-specified `Endtime`.
186
+ # @return [Time]
187
+ #
188
+ # @!attribute [rw] partition_keys
189
+ # If `PartitionBy` was present in the request, `PartitionKeys`
190
+ # contains the breakdown of dimension keys by the specified
191
+ # partitions.
192
+ # @return [Array<Types::ResponsePartitionKey>]
193
+ #
194
+ # @!attribute [rw] keys
195
+ # The dimension keys that were requested.
196
+ # @return [Array<Types::DimensionKeyDescription>]
197
+ #
198
+ # @!attribute [rw] next_token
199
+ # An optional pagination token provided by a previous request. If this
200
+ # parameter is specified, the response includes only records beyond
201
+ # the token, up to the value specified by `MaxRecords`.
202
+ # @return [String]
203
+ #
204
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DescribeDimensionKeysResponse AWS API Documentation
205
+ #
206
+ class DescribeDimensionKeysResponse < Struct.new(
207
+ :aligned_start_time,
208
+ :aligned_end_time,
209
+ :partition_keys,
210
+ :keys,
211
+ :next_token)
212
+ include Aws::Structure
213
+ end
214
+
215
+ # A logical grouping of Performance Insights metrics for a related
216
+ # subject area. For example, the `db.sql` dimension group consists of
217
+ # the following dimensions: `db.sql.id`, `db.sql.db_id`,
218
+ # `db.sql.statement`, and `db.sql.tokenized_id`.
219
+ #
220
+ # @note When making an API call, you may pass DimensionGroup
221
+ # data as a hash:
222
+ #
223
+ # {
224
+ # group: "String", # required
225
+ # dimensions: ["String"],
226
+ # limit: 1,
227
+ # }
228
+ #
229
+ # @!attribute [rw] group
230
+ # The name of the dimension group. Valid values are:
231
+ #
232
+ # * `db.user`
233
+ #
234
+ # * `db.host`
235
+ #
236
+ # * `db.sql`
237
+ #
238
+ # * `db.sql_tokenized`
239
+ #
240
+ # * `db.wait_event`
241
+ #
242
+ # * `db.wait_event_type`
243
+ # @return [String]
244
+ #
245
+ # @!attribute [rw] dimensions
246
+ # A list of specific dimensions from a dimension group. If this
247
+ # parameter is not present, then it signifies that all of the
248
+ # dimensions in the group were requested, or are present in the
249
+ # response.
250
+ #
251
+ # Valid values for elements in the `Dimensions` array are:
252
+ #
253
+ # * db.user.id
254
+ #
255
+ # * db.user.name
256
+ #
257
+ # * db.host.id
258
+ #
259
+ # * db.host.name
260
+ #
261
+ # * db.sql.id
262
+ #
263
+ # * db.sql.db\_id
264
+ #
265
+ # * db.sql.statement
266
+ #
267
+ # * db.sql.tokenized\_id
268
+ #
269
+ # * db.sql\_tokenized.id
270
+ #
271
+ # * db.sql\_tokenized.db\_id
272
+ #
273
+ # * db.sql\_tokenized.statement
274
+ #
275
+ # * db.wait\_event.name
276
+ #
277
+ # * db.wait\_event.type
278
+ #
279
+ # * db.wait\_event\_type.name
280
+ # @return [Array<String>]
281
+ #
282
+ # @!attribute [rw] limit
283
+ # The maximum number of items to fetch for this dimension group.
284
+ # @return [Integer]
285
+ #
286
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DimensionGroup AWS API Documentation
287
+ #
288
+ class DimensionGroup < Struct.new(
289
+ :group,
290
+ :dimensions,
291
+ :limit)
292
+ include Aws::Structure
293
+ end
294
+
295
+ # An array of descriptions and aggregated values for each dimension
296
+ # within a dimension group.
297
+ #
298
+ # @!attribute [rw] dimensions
299
+ # A map of name-value pairs for the dimensions in the group.
300
+ # @return [Hash<String,String>]
301
+ #
302
+ # @!attribute [rw] total
303
+ # The aggregated metric value for the dimension(s), over the requested
304
+ # time range.
305
+ # @return [Float]
306
+ #
307
+ # @!attribute [rw] partitions
308
+ # If `PartitionBy` was specified, `PartitionKeys` contains the
309
+ # dimensions that were.
310
+ # @return [Array<Float>]
311
+ #
312
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/DimensionKeyDescription AWS API Documentation
313
+ #
314
+ class DimensionKeyDescription < Struct.new(
315
+ :dimensions,
316
+ :total,
317
+ :partitions)
318
+ include Aws::Structure
319
+ end
320
+
321
+ # @note When making an API call, you may pass GetResourceMetricsRequest
322
+ # data as a hash:
323
+ #
324
+ # {
325
+ # service_type: "RDS", # required, accepts RDS
326
+ # identifier: "String", # required
327
+ # metric_queries: [ # required
328
+ # {
329
+ # metric: "String", # required
330
+ # group_by: {
331
+ # group: "String", # required
332
+ # dimensions: ["String"],
333
+ # limit: 1,
334
+ # },
335
+ # filter: {
336
+ # "String" => "String",
337
+ # },
338
+ # },
339
+ # ],
340
+ # start_time: Time.now, # required
341
+ # end_time: Time.now, # required
342
+ # period_in_seconds: 1,
343
+ # max_results: 1,
344
+ # next_token: "String",
345
+ # }
346
+ #
347
+ # @!attribute [rw] service_type
348
+ # The AWS service for which Performance Insights will return metrics.
349
+ # The only valid value for *ServiceType* is: `RDS`
350
+ # @return [String]
351
+ #
352
+ # @!attribute [rw] identifier
353
+ # An immutable, AWS Region-unique identifier for a data source.
354
+ # Performance Insights gathers metrics from this data source.
355
+ #
356
+ # To use an Amazon RDS instance as a data source, you specify its
357
+ # `DbiResourceId` value - for example: `db-FAIHNTYBKTGAUSUZQYPDS2GW4A`
358
+ # @return [String]
359
+ #
360
+ # @!attribute [rw] metric_queries
361
+ # An array of one or more queries to perform. Each query must specify
362
+ # a Performance Insights metric, and can optionally specify
363
+ # aggregation and filtering criteria.
364
+ # @return [Array<Types::MetricQuery>]
365
+ #
366
+ # @!attribute [rw] start_time
367
+ # The date and time specifying the beginning of the requested time
368
+ # series data. You can't specify a `StartTime` that's earlier than 7
369
+ # days ago. The value specified is *inclusive* - data points equal to
370
+ # or greater than `StartTime` will be returned.
371
+ #
372
+ # The value for `StartTime` must be earlier than the value for
373
+ # `EndTime`.
374
+ # @return [Time]
375
+ #
376
+ # @!attribute [rw] end_time
377
+ # The date and time specifiying the end of the requested time series
378
+ # data. The value specified is *exclusive* - data points less than
379
+ # (but not equal to) `EndTime` will be returned.
380
+ #
381
+ # The value for `EndTime` must be later than the value for
382
+ # `StartTime`.
383
+ # @return [Time]
384
+ #
385
+ # @!attribute [rw] period_in_seconds
386
+ # The granularity, in seconds, of the data points returned from
387
+ # Performance Insights. A period can be as short as one second, or as
388
+ # long as one day (86400 seconds). Valid values are:
389
+ #
390
+ # * `1` (one second)
391
+ #
392
+ # * `60` (one minute)
393
+ #
394
+ # * `300` (five minutes)
395
+ #
396
+ # * `3600` (one hour)
397
+ #
398
+ # * `86400` (twenty-four hours)
399
+ #
400
+ # If you don't specify `PeriodInSeconds`, then Performance Insights
401
+ # will choose a value for you, with a goal of returning roughly
402
+ # 100-200 data points in the response.
403
+ # @return [Integer]
404
+ #
405
+ # @!attribute [rw] max_results
406
+ # The maximum number of items to return in the response. If more items
407
+ # exist than the specified `MaxRecords` value, a pagination token is
408
+ # included in the response so that the remaining results can be
409
+ # retrieved.
410
+ # @return [Integer]
411
+ #
412
+ # @!attribute [rw] next_token
413
+ # An optional pagination token provided by a previous request. If this
414
+ # parameter is specified, the response includes only records beyond
415
+ # the token, up to the value specified by `MaxRecords`.
416
+ # @return [String]
417
+ #
418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/GetResourceMetricsRequest AWS API Documentation
419
+ #
420
+ class GetResourceMetricsRequest < Struct.new(
421
+ :service_type,
422
+ :identifier,
423
+ :metric_queries,
424
+ :start_time,
425
+ :end_time,
426
+ :period_in_seconds,
427
+ :max_results,
428
+ :next_token)
429
+ include Aws::Structure
430
+ end
431
+
432
+ # @!attribute [rw] aligned_start_time
433
+ # The start time for the returned metrics, after alignment to a
434
+ # granular boundary (as specified by `PeriodInSeconds`).
435
+ # `AlignedStartTime` will be less than or equal to the value of the
436
+ # user-specified `StartTime`.
437
+ # @return [Time]
438
+ #
439
+ # @!attribute [rw] aligned_end_time
440
+ # The end time for the returned metrics, after alignment to a granular
441
+ # boundary (as specified by `PeriodInSeconds`). `AlignedEndTime` will
442
+ # be greater than or equal to the value of the user-specified
443
+ # `Endtime`.
444
+ # @return [Time]
445
+ #
446
+ # @!attribute [rw] identifier
447
+ # An immutable, AWS Region-unique identifier for a data source.
448
+ # Performance Insights gathers metrics from this data source.
449
+ #
450
+ # To use an Amazon RDS instance as a data source, you specify its
451
+ # `DbiResourceId` value - for example: `db-FAIHNTYBKTGAUSUZQYPDS2GW4A`
452
+ # @return [String]
453
+ #
454
+ # @!attribute [rw] metric_list
455
+ # An array of metric results,, where each array element contains all
456
+ # of the data points for a particular dimension.
457
+ # @return [Array<Types::MetricKeyDataPoints>]
458
+ #
459
+ # @!attribute [rw] next_token
460
+ # An optional pagination token provided by a previous request. If this
461
+ # parameter is specified, the response includes only records beyond
462
+ # the token, up to the value specified by `MaxRecords`.
463
+ # @return [String]
464
+ #
465
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/GetResourceMetricsResponse AWS API Documentation
466
+ #
467
+ class GetResourceMetricsResponse < Struct.new(
468
+ :aligned_start_time,
469
+ :aligned_end_time,
470
+ :identifier,
471
+ :metric_list,
472
+ :next_token)
473
+ include Aws::Structure
474
+ end
475
+
476
+ # A time-ordered series of data points, correpsonding to a dimension of
477
+ # a Performance Insights metric.
478
+ #
479
+ # @!attribute [rw] key
480
+ # The dimension(s) to which the data points apply.
481
+ # @return [Types::ResponseResourceMetricKey]
482
+ #
483
+ # @!attribute [rw] data_points
484
+ # An array of timestamp-value pairs, representing measurements over a
485
+ # period of time.
486
+ # @return [Array<Types::DataPoint>]
487
+ #
488
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/MetricKeyDataPoints AWS API Documentation
489
+ #
490
+ class MetricKeyDataPoints < Struct.new(
491
+ :key,
492
+ :data_points)
493
+ include Aws::Structure
494
+ end
495
+
496
+ # A single query to be processed. You must provide the metric to query.
497
+ # If no other parameters are specified, Performance Insights returns all
498
+ # of the data points for that metric. You can optionally request that
499
+ # the data points be aggregated by dimension group ( `GroupBy`), and
500
+ # return only those data points that match your criteria (`Filter`).
501
+ #
502
+ # @note When making an API call, you may pass MetricQuery
503
+ # data as a hash:
504
+ #
505
+ # {
506
+ # metric: "String", # required
507
+ # group_by: {
508
+ # group: "String", # required
509
+ # dimensions: ["String"],
510
+ # limit: 1,
511
+ # },
512
+ # filter: {
513
+ # "String" => "String",
514
+ # },
515
+ # }
516
+ #
517
+ # @!attribute [rw] metric
518
+ # The name of a Performance Insights metric to be measured.
519
+ #
520
+ # Valid values for `Metric` are:
521
+ #
522
+ # * `db.load.avg` - a scaled representation of the number of active
523
+ # sessions for the database engine.
524
+ #
525
+ # * `db.sampledload.avg` - the raw number of active sessions for the
526
+ # database engine.
527
+ # @return [String]
528
+ #
529
+ # @!attribute [rw] group_by
530
+ # A specification for how to aggregate the data points from a query
531
+ # result. You must specify a valid dimension group. Performance
532
+ # Insights will return all of the dimensions within that group, unless
533
+ # you provide the names of specific dimensions within that group. You
534
+ # can also request that Performance Insights return a limited number
535
+ # of values for a dimension.
536
+ # @return [Types::DimensionGroup]
537
+ #
538
+ # @!attribute [rw] filter
539
+ # One or more filters to apply in the request. Restrictions:
540
+ #
541
+ # * Any number of filters by the same dimension, as specified in the
542
+ # `GroupBy` parameter.
543
+ #
544
+ # * A single filter for any other dimension in this dimension group.
545
+ # @return [Hash<String,String>]
546
+ #
547
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/MetricQuery AWS API Documentation
548
+ #
549
+ class MetricQuery < Struct.new(
550
+ :metric,
551
+ :group_by,
552
+ :filter)
553
+ include Aws::Structure
554
+ end
555
+
556
+ # If `PartitionBy` was specified in a `DescribeDimensionKeys` request,
557
+ # the dimensions are returned in an array. Each element in the array
558
+ # specifies one dimension.
559
+ #
560
+ # @!attribute [rw] dimensions
561
+ # A dimension map that contains the dimension(s) for this partition.
562
+ # @return [Hash<String,String>]
563
+ #
564
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/ResponsePartitionKey AWS API Documentation
565
+ #
566
+ class ResponsePartitionKey < Struct.new(
567
+ :dimensions)
568
+ include Aws::Structure
569
+ end
570
+
571
+ # An object describing a Performance Insights metric and one or more
572
+ # dimensions for that metric.
573
+ #
574
+ # @!attribute [rw] metric
575
+ # The name of a Performance Insights metric to be measured.
576
+ #
577
+ # Valid values for `Metric` are:
578
+ #
579
+ # * `db.load.avg` - a scaled representation of the number of active
580
+ # sessions for the database engine.
581
+ #
582
+ # * `db.sampledload.avg` - the raw number of active sessions for the
583
+ # database engine.
584
+ # @return [String]
585
+ #
586
+ # @!attribute [rw] dimensions
587
+ # The valid dimensions for the metric.
588
+ # @return [Hash<String,String>]
589
+ #
590
+ # @see http://docs.aws.amazon.com/goto/WebAPI/pi-2018-02-27/ResponseResourceMetricKey AWS API Documentation
591
+ #
592
+ class ResponseResourceMetricKey < Struct.new(
593
+ :metric,
594
+ :dimensions)
595
+ include Aws::Structure
596
+ end
597
+
598
+ end
599
+ end