aws-sdk-pi 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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