aws-sdk-codeguruprofiler 1.9.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,134 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CodeGuruProfiler
11
+
12
+ # When CodeGuruProfiler returns an error response, the Ruby SDK constructs and raises an error.
13
+ # These errors all extend Aws::CodeGuruProfiler::Errors::ServiceError < {Aws::Errors::ServiceError}
14
+ #
15
+ # You can rescue all CodeGuruProfiler errors using ServiceError:
16
+ #
17
+ # begin
18
+ # # do stuff
19
+ # rescue Aws::CodeGuruProfiler::Errors::ServiceError
20
+ # # rescues all CodeGuruProfiler API errors
21
+ # end
22
+ #
23
+ #
24
+ # ## Request Context
25
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
26
+ # information about the request that generated the error.
27
+ # See {Seahorse::Client::RequestContext} for more information.
28
+ #
29
+ # ## Error Classes
30
+ # * {ConflictException}
31
+ # * {InternalServerException}
32
+ # * {ResourceNotFoundException}
33
+ # * {ServiceQuotaExceededException}
34
+ # * {ThrottlingException}
35
+ # * {ValidationException}
36
+ #
37
+ # Additionally, error classes are dynamically generated for service errors based on the error code
38
+ # if they are not defined above.
39
+ module Errors
40
+
41
+ extend Aws::Errors::DynamicErrors
42
+
43
+ class ConflictException < ServiceError
44
+
45
+ # @param [Seahorse::Client::RequestContext] context
46
+ # @param [String] message
47
+ # @param [Aws::CodeGuruProfiler::Types::ConflictException] data
48
+ def initialize(context, message, data = Aws::EmptyStructure.new)
49
+ super(context, message, data)
50
+ end
51
+
52
+ # @return [String]
53
+ def message
54
+ @message || @data[:message]
55
+ end
56
+ end
57
+
58
+ class InternalServerException < ServiceError
59
+
60
+ # @param [Seahorse::Client::RequestContext] context
61
+ # @param [String] message
62
+ # @param [Aws::CodeGuruProfiler::Types::InternalServerException] data
63
+ def initialize(context, message, data = Aws::EmptyStructure.new)
64
+ super(context, message, data)
65
+ end
66
+
67
+ # @return [String]
68
+ def message
69
+ @message || @data[:message]
70
+ end
71
+ end
72
+
73
+ class ResourceNotFoundException < ServiceError
74
+
75
+ # @param [Seahorse::Client::RequestContext] context
76
+ # @param [String] message
77
+ # @param [Aws::CodeGuruProfiler::Types::ResourceNotFoundException] data
78
+ def initialize(context, message, data = Aws::EmptyStructure.new)
79
+ super(context, message, data)
80
+ end
81
+
82
+ # @return [String]
83
+ def message
84
+ @message || @data[:message]
85
+ end
86
+ end
87
+
88
+ class ServiceQuotaExceededException < ServiceError
89
+
90
+ # @param [Seahorse::Client::RequestContext] context
91
+ # @param [String] message
92
+ # @param [Aws::CodeGuruProfiler::Types::ServiceQuotaExceededException] data
93
+ def initialize(context, message, data = Aws::EmptyStructure.new)
94
+ super(context, message, data)
95
+ end
96
+
97
+ # @return [String]
98
+ def message
99
+ @message || @data[:message]
100
+ end
101
+ end
102
+
103
+ class ThrottlingException < ServiceError
104
+
105
+ # @param [Seahorse::Client::RequestContext] context
106
+ # @param [String] message
107
+ # @param [Aws::CodeGuruProfiler::Types::ThrottlingException] data
108
+ def initialize(context, message, data = Aws::EmptyStructure.new)
109
+ super(context, message, data)
110
+ end
111
+
112
+ # @return [String]
113
+ def message
114
+ @message || @data[:message]
115
+ end
116
+ end
117
+
118
+ class ValidationException < ServiceError
119
+
120
+ # @param [Seahorse::Client::RequestContext] context
121
+ # @param [String] message
122
+ # @param [Aws::CodeGuruProfiler::Types::ValidationException] data
123
+ def initialize(context, message, data = Aws::EmptyStructure.new)
124
+ super(context, message, data)
125
+ end
126
+
127
+ # @return [String]
128
+ def message
129
+ @message || @data[:message]
130
+ end
131
+ end
132
+
133
+ end
134
+ end
@@ -0,0 +1,26 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CodeGuruProfiler
11
+
12
+ class Resource
13
+
14
+ # @param options ({})
15
+ # @option options [Client] :client
16
+ def initialize(options = {})
17
+ @client = options[:client] || Client.new(options)
18
+ end
19
+
20
+ # @return [Client]
21
+ def client
22
+ @client
23
+ end
24
+
25
+ end
26
+ end
@@ -0,0 +1,2273 @@
1
+ # frozen_string_literal: true
2
+
3
+ # WARNING ABOUT GENERATED CODE
4
+ #
5
+ # This file is generated. See the contributing guide for more information:
6
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
7
+ #
8
+ # WARNING ABOUT GENERATED CODE
9
+
10
+ module Aws::CodeGuruProfiler
11
+ module Types
12
+
13
+ # The structure representing the AddNotificationChannelsRequest.
14
+ #
15
+ # @note When making an API call, you may pass AddNotificationChannelsRequest
16
+ # data as a hash:
17
+ #
18
+ # {
19
+ # channels: [ # required
20
+ # {
21
+ # event_publishers: ["AnomalyDetection"], # required, accepts AnomalyDetection
22
+ # id: "ChannelId",
23
+ # uri: "ChannelUri", # required
24
+ # },
25
+ # ],
26
+ # profiling_group_name: "ProfilingGroupName", # required
27
+ # }
28
+ #
29
+ # @!attribute [rw] channels
30
+ # One or 2 channels to report to when anomalies are detected.
31
+ # @return [Array<Types::Channel>]
32
+ #
33
+ # @!attribute [rw] profiling_group_name
34
+ # The name of the profiling group that we are setting up notifications
35
+ # for.
36
+ # @return [String]
37
+ #
38
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AddNotificationChannelsRequest AWS API Documentation
39
+ #
40
+ class AddNotificationChannelsRequest < Struct.new(
41
+ :channels,
42
+ :profiling_group_name)
43
+ SENSITIVE = []
44
+ include Aws::Structure
45
+ end
46
+
47
+ # The structure representing the AddNotificationChannelsResponse.
48
+ #
49
+ # @!attribute [rw] notification_configuration
50
+ # The new notification configuration for this profiling group.
51
+ # @return [Types::NotificationConfiguration]
52
+ #
53
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AddNotificationChannelsResponse AWS API Documentation
54
+ #
55
+ class AddNotificationChannelsResponse < Struct.new(
56
+ :notification_configuration)
57
+ SENSITIVE = []
58
+ include Aws::Structure
59
+ end
60
+
61
+ # The response of [ `ConfigureAgent` ][1] that specifies if an agent
62
+ # profiles or not and for how long to return profiling data.
63
+ #
64
+ #
65
+ #
66
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html
67
+ #
68
+ # @!attribute [rw] agent_parameters
69
+ # Parameters used by the profiler. The valid parameters are:
70
+ #
71
+ # * `MaxStackDepth` - The maximum depth of the stacks in the code that
72
+ # is represented in the profile. For example, if CodeGuru Profiler
73
+ # finds a method `A`, which calls method `B`, which calls method
74
+ # `C`, which calls method `D`, then the depth is 4. If the
75
+ # `maxDepth` is set to 2, then the profiler evaluates `A` and `B`.
76
+ #
77
+ # * `MemoryUsageLimitPercent` - The percentage of memory that is used
78
+ # by the profiler.
79
+ #
80
+ # * `MinimumTimeForReportingInMilliseconds` - The minimum time in
81
+ # milliseconds between sending reports.
82
+ #
83
+ # * `ReportingIntervalInMilliseconds` - The reporting interval in
84
+ # milliseconds used to report profiles.
85
+ #
86
+ # * `SamplingIntervalInMilliseconds` - The sampling interval in
87
+ # milliseconds that is used to profile samples.
88
+ # @return [Hash<String,String>]
89
+ #
90
+ # @!attribute [rw] period_in_seconds
91
+ # How long a profiling agent should send profiling data using [
92
+ # `ConfigureAgent` ][1]. For example, if this is set to 300, the
93
+ # profiling agent calls [ `ConfigureAgent` ][1] every 5 minutes to
94
+ # submit the profiled data collected during that period.
95
+ #
96
+ #
97
+ #
98
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html
99
+ # @return [Integer]
100
+ #
101
+ # @!attribute [rw] should_profile
102
+ # A `Boolean` that specifies whether the profiling agent collects
103
+ # profiling data or not. Set to `true` to enable profiling.
104
+ # @return [Boolean]
105
+ #
106
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AgentConfiguration AWS API Documentation
107
+ #
108
+ class AgentConfiguration < Struct.new(
109
+ :agent_parameters,
110
+ :period_in_seconds,
111
+ :should_profile)
112
+ SENSITIVE = []
113
+ include Aws::Structure
114
+ end
115
+
116
+ # Specifies whether profiling is enabled or disabled for a profiling
117
+ # group. It is used by [ `ConfigureAgent` ][1] to enable or disable
118
+ # profiling for a profiling group.
119
+ #
120
+ #
121
+ #
122
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html
123
+ #
124
+ # @note When making an API call, you may pass AgentOrchestrationConfig
125
+ # data as a hash:
126
+ #
127
+ # {
128
+ # profiling_enabled: false, # required
129
+ # }
130
+ #
131
+ # @!attribute [rw] profiling_enabled
132
+ # A `Boolean` that specifies whether the profiling agent collects
133
+ # profiling data or not. Set to `true` to enable profiling.
134
+ # @return [Boolean]
135
+ #
136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AgentOrchestrationConfig AWS API Documentation
137
+ #
138
+ class AgentOrchestrationConfig < Struct.new(
139
+ :profiling_enabled)
140
+ SENSITIVE = []
141
+ include Aws::Structure
142
+ end
143
+
144
+ # Specifies the aggregation period and aggregation start time for an
145
+ # aggregated profile. An aggregated profile is used to collect posted
146
+ # agent profiles during an aggregation period. There are three possible
147
+ # aggregation periods (1 day, 1 hour, or 5 minutes).
148
+ #
149
+ # @!attribute [rw] period
150
+ # The aggregation period. This indicates the period during which an
151
+ # aggregation profile collects posted agent profiles for a profiling
152
+ # group. Use one of three valid durations that are specified using the
153
+ # ISO 8601 format.
154
+ #
155
+ # * `P1D` — 1 day
156
+ #
157
+ # * `PT1H` — 1 hour
158
+ #
159
+ # * `PT5M` — 5 minutes
160
+ # @return [String]
161
+ #
162
+ # @!attribute [rw] start
163
+ # The time that aggregation of posted agent profiles for a profiling
164
+ # group starts. The aggregation profile contains profiles posted by
165
+ # the agent starting at this time for an aggregation period specified
166
+ # by the `period` property of the `AggregatedProfileTime` object.
167
+ #
168
+ # Specify `start` using the ISO 8601 format. For example,
169
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
170
+ # 1:15:02 PM UTC.
171
+ # @return [Time]
172
+ #
173
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AggregatedProfileTime AWS API Documentation
174
+ #
175
+ class AggregatedProfileTime < Struct.new(
176
+ :period,
177
+ :start)
178
+ SENSITIVE = []
179
+ include Aws::Structure
180
+ end
181
+
182
+ # Details about an anomaly in a specific metric of application profile.
183
+ # The anomaly is detected using analysis of the metric data over a
184
+ # period of time.
185
+ #
186
+ # @!attribute [rw] instances
187
+ # A list of the instances of the detected anomalies during the
188
+ # requested period.
189
+ # @return [Array<Types::AnomalyInstance>]
190
+ #
191
+ # @!attribute [rw] metric
192
+ # Details about the metric that the analysis used when it detected the
193
+ # anomaly. The metric includes the name of the frame that was analyzed
194
+ # with the type and thread states used to derive the metric value for
195
+ # that frame.
196
+ # @return [Types::Metric]
197
+ #
198
+ # @!attribute [rw] reason
199
+ # The reason for which metric was flagged as anomalous.
200
+ # @return [String]
201
+ #
202
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Anomaly AWS API Documentation
203
+ #
204
+ class Anomaly < Struct.new(
205
+ :instances,
206
+ :metric,
207
+ :reason)
208
+ SENSITIVE = []
209
+ include Aws::Structure
210
+ end
211
+
212
+ # The specific duration in which the metric is flagged as anomalous.
213
+ #
214
+ # @!attribute [rw] end_time
215
+ # The end time of the period during which the metric is flagged as
216
+ # anomalous. This is specified using the ISO 8601 format. For example,
217
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
218
+ # 1:15:02 PM UTC.
219
+ # @return [Time]
220
+ #
221
+ # @!attribute [rw] id
222
+ # The universally unique identifier (UUID) of an instance of an
223
+ # anomaly in a metric.
224
+ # @return [String]
225
+ #
226
+ # @!attribute [rw] start_time
227
+ # The start time of the period during which the metric is flagged as
228
+ # anomalous. This is specified using the ISO 8601 format. For example,
229
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
230
+ # 1:15:02 PM UTC.
231
+ # @return [Time]
232
+ #
233
+ # @!attribute [rw] user_feedback
234
+ # Feedback type on a specific instance of anomaly submitted by the
235
+ # user.
236
+ # @return [Types::UserFeedback]
237
+ #
238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AnomalyInstance AWS API Documentation
239
+ #
240
+ class AnomalyInstance < Struct.new(
241
+ :end_time,
242
+ :id,
243
+ :start_time,
244
+ :user_feedback)
245
+ SENSITIVE = []
246
+ include Aws::Structure
247
+ end
248
+
249
+ # The structure representing the BatchGetFrameMetricDataRequest.
250
+ #
251
+ # @note When making an API call, you may pass BatchGetFrameMetricDataRequest
252
+ # data as a hash:
253
+ #
254
+ # {
255
+ # end_time: Time.now,
256
+ # frame_metrics: [
257
+ # {
258
+ # frame_name: "String", # required
259
+ # thread_states: ["String"], # required
260
+ # type: "AggregatedRelativeTotalTime", # required, accepts AggregatedRelativeTotalTime
261
+ # },
262
+ # ],
263
+ # period: "Period",
264
+ # profiling_group_name: "ProfilingGroupName", # required
265
+ # start_time: Time.now,
266
+ # target_resolution: "P1D", # accepts P1D, PT1H, PT5M
267
+ # }
268
+ #
269
+ # @!attribute [rw] end_time
270
+ # The end time of the time period for the returned time series values.
271
+ # This is specified using the ISO 8601 format. For example,
272
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
273
+ # 1:15:02 PM UTC.
274
+ # @return [Time]
275
+ #
276
+ # @!attribute [rw] frame_metrics
277
+ # The details of the metrics that are used to request a time series of
278
+ # values. The metric includes the name of the frame, the aggregation
279
+ # type to calculate the metric value for the frame, and the thread
280
+ # states to use to get the count for the metric value of the frame.
281
+ # @return [Array<Types::FrameMetric>]
282
+ #
283
+ # @!attribute [rw] period
284
+ # The duration of the frame metrics used to return the time series
285
+ # values. Specify using the ISO 8601 format. The maximum period
286
+ # duration is one day (`PT24H` or `P1D`).
287
+ # @return [String]
288
+ #
289
+ # @!attribute [rw] profiling_group_name
290
+ # The name of the profiling group associated with the the frame
291
+ # metrics used to return the time series values.
292
+ # @return [String]
293
+ #
294
+ # @!attribute [rw] start_time
295
+ # The start time of the time period for the frame metrics used to
296
+ # return the time series values. This is specified using the ISO 8601
297
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
298
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
299
+ # @return [Time]
300
+ #
301
+ # @!attribute [rw] target_resolution
302
+ # The requested resolution of time steps for the returned time series
303
+ # of values. If the requested target resolution is not available due
304
+ # to data not being retained we provide a best effort result by
305
+ # falling back to the most granular available resolution after the
306
+ # target resolution. There are 3 valid values.
307
+ #
308
+ # * `P1D` — 1 day
309
+ #
310
+ # * `PT1H` — 1 hour
311
+ #
312
+ # * `PT5M` — 5 minutes
313
+ # @return [String]
314
+ #
315
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricDataRequest AWS API Documentation
316
+ #
317
+ class BatchGetFrameMetricDataRequest < Struct.new(
318
+ :end_time,
319
+ :frame_metrics,
320
+ :period,
321
+ :profiling_group_name,
322
+ :start_time,
323
+ :target_resolution)
324
+ SENSITIVE = []
325
+ include Aws::Structure
326
+ end
327
+
328
+ # The structure representing the BatchGetFrameMetricDataResponse.
329
+ #
330
+ # @!attribute [rw] end_time
331
+ # The end time of the time period for the returned time series values.
332
+ # This is specified using the ISO 8601 format. For example,
333
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
334
+ # 1:15:02 PM UTC.
335
+ # @return [Time]
336
+ #
337
+ # @!attribute [rw] end_times
338
+ # List of instances, or time steps, in the time series. For example,
339
+ # if the `period` is one day (`PT24H)`), and the `resolution` is five
340
+ # minutes (`PT5M`), then there are 288 `endTimes` in the list that are
341
+ # each five minutes appart.
342
+ # @return [Array<Types::TimestampStructure>]
343
+ #
344
+ # @!attribute [rw] frame_metric_data
345
+ # Details of the metrics to request a time series of values. The
346
+ # metric includes the name of the frame, the aggregation type to
347
+ # calculate the metric value for the frame, and the thread states to
348
+ # use to get the count for the metric value of the frame.
349
+ # @return [Array<Types::FrameMetricDatum>]
350
+ #
351
+ # @!attribute [rw] resolution
352
+ # Resolution or granularity of the profile data used to generate the
353
+ # time series. This is the value used to jump through time steps in a
354
+ # time series. There are 3 valid values.
355
+ #
356
+ # * `P1D` — 1 day
357
+ #
358
+ # * `PT1H` — 1 hour
359
+ #
360
+ # * `PT5M` — 5 minutes
361
+ # @return [String]
362
+ #
363
+ # @!attribute [rw] start_time
364
+ # The start time of the time period for the returned time series
365
+ # values. This is specified using the ISO 8601 format. For example,
366
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
367
+ # 1:15:02 PM UTC.
368
+ # @return [Time]
369
+ #
370
+ # @!attribute [rw] unprocessed_end_times
371
+ # List of instances which remained unprocessed. This will create a
372
+ # missing time step in the list of end times.
373
+ # @return [Hash<String,Array<Types::TimestampStructure>>]
374
+ #
375
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricDataResponse AWS API Documentation
376
+ #
377
+ class BatchGetFrameMetricDataResponse < Struct.new(
378
+ :end_time,
379
+ :end_times,
380
+ :frame_metric_data,
381
+ :resolution,
382
+ :start_time,
383
+ :unprocessed_end_times)
384
+ SENSITIVE = []
385
+ include Aws::Structure
386
+ end
387
+
388
+ # Notification medium for users to get alerted for events that occur in
389
+ # application profile. We support SNS topic as a notification channel.
390
+ #
391
+ # @note When making an API call, you may pass Channel
392
+ # data as a hash:
393
+ #
394
+ # {
395
+ # event_publishers: ["AnomalyDetection"], # required, accepts AnomalyDetection
396
+ # id: "ChannelId",
397
+ # uri: "ChannelUri", # required
398
+ # }
399
+ #
400
+ # @!attribute [rw] event_publishers
401
+ # List of publishers for different type of events that may be detected
402
+ # in an application from the profile. Anomaly detection is the only
403
+ # event publisher in Profiler.
404
+ # @return [Array<String>]
405
+ #
406
+ # @!attribute [rw] id
407
+ # Unique identifier for each `Channel` in the notification
408
+ # configuration of a Profiling Group. A random UUID for channelId is
409
+ # used when adding a channel to the notification configuration if not
410
+ # specified in the request.
411
+ # @return [String]
412
+ #
413
+ # @!attribute [rw] uri
414
+ # Unique arn of the resource to be used for notifications. We support
415
+ # a valid SNS topic arn as a channel uri.
416
+ # @return [String]
417
+ #
418
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Channel AWS API Documentation
419
+ #
420
+ class Channel < Struct.new(
421
+ :event_publishers,
422
+ :id,
423
+ :uri)
424
+ SENSITIVE = []
425
+ include Aws::Structure
426
+ end
427
+
428
+ # The structure representing the configureAgentRequest.
429
+ #
430
+ # @note When making an API call, you may pass ConfigureAgentRequest
431
+ # data as a hash:
432
+ #
433
+ # {
434
+ # fleet_instance_id: "FleetInstanceId",
435
+ # metadata: {
436
+ # "AgentId" => "String",
437
+ # },
438
+ # profiling_group_name: "ProfilingGroupName", # required
439
+ # }
440
+ #
441
+ # @!attribute [rw] fleet_instance_id
442
+ # A universally unique identifier (UUID) for a profiling instance. For
443
+ # example, if the profiling instance is an Amazon EC2 instance, it is
444
+ # the instance ID. If it is an AWS Fargate container, it is the
445
+ # container's task ID.
446
+ # @return [String]
447
+ #
448
+ # @!attribute [rw] metadata
449
+ # Metadata captured about the compute platform the agent is running
450
+ # on. It includes information about sampling and reporting. The valid
451
+ # fields are:
452
+ #
453
+ # * `COMPUTE_PLATFORM` - The compute platform on which the agent is
454
+ # running
455
+ #
456
+ # * `AGENT_ID` - The ID for an agent instance.
457
+ #
458
+ # * `AWS_REQUEST_ID` - The AWS request ID of a Lambda invocation.
459
+ #
460
+ # * `EXECUTION_ENVIRONMENT` - The execution environment a Lambda
461
+ # function is running on.
462
+ #
463
+ # * `LAMBDA_FUNCTION_ARN` - The Amazon Resource Name (ARN) that is
464
+ # used to invoke a Lambda function.
465
+ #
466
+ # * `LAMBDA_MEMORY_LIMIT_IN_MB` - The memory allocated to a Lambda
467
+ # function.
468
+ #
469
+ # * `LAMBDA_REMAINING_TIME_IN_MILLISECONDS` - The time in milliseconds
470
+ # before execution of a Lambda function times out.
471
+ #
472
+ # * `LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS` - The time in
473
+ # milliseconds between two invocations of a Lambda function.
474
+ #
475
+ # * `LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS` - The time in
476
+ # milliseconds for the previous Lambda invocation.
477
+ # @return [Hash<String,String>]
478
+ #
479
+ # @!attribute [rw] profiling_group_name
480
+ # The name of the profiling group for which the configured agent is
481
+ # collecting profiling data.
482
+ # @return [String]
483
+ #
484
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgentRequest AWS API Documentation
485
+ #
486
+ class ConfigureAgentRequest < Struct.new(
487
+ :fleet_instance_id,
488
+ :metadata,
489
+ :profiling_group_name)
490
+ SENSITIVE = []
491
+ include Aws::Structure
492
+ end
493
+
494
+ # The structure representing the configureAgentResponse.
495
+ #
496
+ # @!attribute [rw] configuration
497
+ # An [ `AgentConfiguration` ][1] object that specifies if an agent
498
+ # profiles or not and for how long to return profiling data.
499
+ #
500
+ #
501
+ #
502
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentConfiguration.html
503
+ # @return [Types::AgentConfiguration]
504
+ #
505
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgentResponse AWS API Documentation
506
+ #
507
+ class ConfigureAgentResponse < Struct.new(
508
+ :configuration)
509
+ SENSITIVE = []
510
+ include Aws::Structure
511
+ end
512
+
513
+ # The requested operation would cause a conflict with the current state
514
+ # of a service resource associated with the request. Resolve the
515
+ # conflict before retrying this request.
516
+ #
517
+ # @!attribute [rw] message
518
+ # @return [String]
519
+ #
520
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConflictException AWS API Documentation
521
+ #
522
+ class ConflictException < Struct.new(
523
+ :message)
524
+ SENSITIVE = []
525
+ include Aws::Structure
526
+ end
527
+
528
+ # The structure representing the createProfiliingGroupRequest.
529
+ #
530
+ # @note When making an API call, you may pass CreateProfilingGroupRequest
531
+ # data as a hash:
532
+ #
533
+ # {
534
+ # agent_orchestration_config: {
535
+ # profiling_enabled: false, # required
536
+ # },
537
+ # client_token: "ClientToken", # required
538
+ # compute_platform: "AWSLambda", # accepts AWSLambda, Default
539
+ # profiling_group_name: "ProfilingGroupName", # required
540
+ # tags: {
541
+ # "String" => "String",
542
+ # },
543
+ # }
544
+ #
545
+ # @!attribute [rw] agent_orchestration_config
546
+ # Specifies whether profiling is enabled or disabled for the created
547
+ # profiling group.
548
+ # @return [Types::AgentOrchestrationConfig]
549
+ #
550
+ # @!attribute [rw] client_token
551
+ # Amazon CodeGuru Profiler uses this universally unique identifier
552
+ # (UUID) to prevent the accidental creation of duplicate profiling
553
+ # groups if there are failures and retries.
554
+ #
555
+ # **A suitable default value is auto-generated.** You should normally
556
+ # not need to pass this option.
557
+ # @return [String]
558
+ #
559
+ # @!attribute [rw] compute_platform
560
+ # The compute platform of the profiling group. Use `AWSLambda` if your
561
+ # application runs on AWS Lambda. Use `Default` if your application
562
+ # runs on a compute platform that is not AWS Lambda, such an Amazon
563
+ # EC2 instance, an on-premises server, or a different platform. If not
564
+ # specified, `Default` is used.
565
+ # @return [String]
566
+ #
567
+ # @!attribute [rw] profiling_group_name
568
+ # The name of the profiling group to create.
569
+ # @return [String]
570
+ #
571
+ # @!attribute [rw] tags
572
+ # A list of tags to add to the created profiling group.
573
+ # @return [Hash<String,String>]
574
+ #
575
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroupRequest AWS API Documentation
576
+ #
577
+ class CreateProfilingGroupRequest < Struct.new(
578
+ :agent_orchestration_config,
579
+ :client_token,
580
+ :compute_platform,
581
+ :profiling_group_name,
582
+ :tags)
583
+ SENSITIVE = []
584
+ include Aws::Structure
585
+ end
586
+
587
+ # The structure representing the createProfilingGroupResponse.
588
+ #
589
+ # @!attribute [rw] profiling_group
590
+ # The returned [ `ProfilingGroupDescription` ][1] object that contains
591
+ # information about the created profiling group.
592
+ #
593
+ #
594
+ #
595
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
596
+ # @return [Types::ProfilingGroupDescription]
597
+ #
598
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroupResponse AWS API Documentation
599
+ #
600
+ class CreateProfilingGroupResponse < Struct.new(
601
+ :profiling_group)
602
+ SENSITIVE = []
603
+ include Aws::Structure
604
+ end
605
+
606
+ # The structure representing the deleteProfilingGroupRequest.
607
+ #
608
+ # @note When making an API call, you may pass DeleteProfilingGroupRequest
609
+ # data as a hash:
610
+ #
611
+ # {
612
+ # profiling_group_name: "ProfilingGroupName", # required
613
+ # }
614
+ #
615
+ # @!attribute [rw] profiling_group_name
616
+ # The name of the profiling group to delete.
617
+ # @return [String]
618
+ #
619
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroupRequest AWS API Documentation
620
+ #
621
+ class DeleteProfilingGroupRequest < Struct.new(
622
+ :profiling_group_name)
623
+ SENSITIVE = []
624
+ include Aws::Structure
625
+ end
626
+
627
+ # The structure representing the deleteProfilingGroupResponse.
628
+ #
629
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroupResponse AWS API Documentation
630
+ #
631
+ class DeleteProfilingGroupResponse < Aws::EmptyStructure; end
632
+
633
+ # The structure representing the describeProfilingGroupRequest.
634
+ #
635
+ # @note When making an API call, you may pass DescribeProfilingGroupRequest
636
+ # data as a hash:
637
+ #
638
+ # {
639
+ # profiling_group_name: "ProfilingGroupName", # required
640
+ # }
641
+ #
642
+ # @!attribute [rw] profiling_group_name
643
+ # The name of the profiling group to get information about.
644
+ # @return [String]
645
+ #
646
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroupRequest AWS API Documentation
647
+ #
648
+ class DescribeProfilingGroupRequest < Struct.new(
649
+ :profiling_group_name)
650
+ SENSITIVE = []
651
+ include Aws::Structure
652
+ end
653
+
654
+ # The structure representing the describeProfilingGroupResponse.
655
+ #
656
+ # @!attribute [rw] profiling_group
657
+ # The returned [ `ProfilingGroupDescription` ][1] object that contains
658
+ # information about the requested profiling group.
659
+ #
660
+ #
661
+ #
662
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
663
+ # @return [Types::ProfilingGroupDescription]
664
+ #
665
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroupResponse AWS API Documentation
666
+ #
667
+ class DescribeProfilingGroupResponse < Struct.new(
668
+ :profiling_group)
669
+ SENSITIVE = []
670
+ include Aws::Structure
671
+ end
672
+
673
+ # Information about potential recommendations that might be created from
674
+ # the analysis of profiling data.
675
+ #
676
+ # @!attribute [rw] id
677
+ # The universally unique identifier (UUID) of the recommendation
678
+ # report.
679
+ # @return [String]
680
+ #
681
+ # @!attribute [rw] profile_end_time
682
+ # The end time of the period during which the metric is flagged as
683
+ # anomalous. This is specified using the ISO 8601 format. For example,
684
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
685
+ # 1:15:02 PM UTC.
686
+ # @return [Time]
687
+ #
688
+ # @!attribute [rw] profile_start_time
689
+ # The start time of the profile the analysis data is about. This is
690
+ # specified using the ISO 8601 format. For example,
691
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
692
+ # 1:15:02 PM UTC.
693
+ # @return [Time]
694
+ #
695
+ # @!attribute [rw] profiling_group_name
696
+ # The name of the profiling group that is associated with the analysis
697
+ # data.
698
+ # @return [String]
699
+ #
700
+ # @!attribute [rw] total_number_of_findings
701
+ # The total number of different recommendations that were found by the
702
+ # analysis.
703
+ # @return [Integer]
704
+ #
705
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/FindingsReportSummary AWS API Documentation
706
+ #
707
+ class FindingsReportSummary < Struct.new(
708
+ :id,
709
+ :profile_end_time,
710
+ :profile_start_time,
711
+ :profiling_group_name,
712
+ :total_number_of_findings)
713
+ SENSITIVE = []
714
+ include Aws::Structure
715
+ end
716
+
717
+ # The frame name, metric type, and thread states. These are used to
718
+ # derive the value of the metric for the frame.
719
+ #
720
+ # @note When making an API call, you may pass FrameMetric
721
+ # data as a hash:
722
+ #
723
+ # {
724
+ # frame_name: "String", # required
725
+ # thread_states: ["String"], # required
726
+ # type: "AggregatedRelativeTotalTime", # required, accepts AggregatedRelativeTotalTime
727
+ # }
728
+ #
729
+ # @!attribute [rw] frame_name
730
+ # Name of the method common across the multiple occurrences of a frame
731
+ # in an application profile.
732
+ # @return [String]
733
+ #
734
+ # @!attribute [rw] thread_states
735
+ # List of application runtime thread states used to get the counts for
736
+ # a frame a derive a metric value.
737
+ # @return [Array<String>]
738
+ #
739
+ # @!attribute [rw] type
740
+ # A type of aggregation that specifies how a metric for a frame is
741
+ # analyzed. The supported value `AggregatedRelativeTotalTime` is an
742
+ # aggregation of the metric value for one frame that is calculated
743
+ # across the occurrences of all frames in a profile.
744
+ # @return [String]
745
+ #
746
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/FrameMetric AWS API Documentation
747
+ #
748
+ class FrameMetric < Struct.new(
749
+ :frame_name,
750
+ :thread_states,
751
+ :type)
752
+ SENSITIVE = []
753
+ include Aws::Structure
754
+ end
755
+
756
+ # Information about a frame metric and its values.
757
+ #
758
+ # @!attribute [rw] frame_metric
759
+ # The frame name, metric type, and thread states. These are used to
760
+ # derive the value of the metric for the frame.
761
+ # @return [Types::FrameMetric]
762
+ #
763
+ # @!attribute [rw] values
764
+ # A list of values that are associated with a frame metric.
765
+ # @return [Array<Float>]
766
+ #
767
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/FrameMetricDatum AWS API Documentation
768
+ #
769
+ class FrameMetricDatum < Struct.new(
770
+ :frame_metric,
771
+ :values)
772
+ SENSITIVE = []
773
+ include Aws::Structure
774
+ end
775
+
776
+ # The structure representing the GetFindingsReportAccountSummaryRequest.
777
+ #
778
+ # @note When making an API call, you may pass GetFindingsReportAccountSummaryRequest
779
+ # data as a hash:
780
+ #
781
+ # {
782
+ # daily_reports_only: false,
783
+ # max_results: 1,
784
+ # next_token: "PaginationToken",
785
+ # }
786
+ #
787
+ # @!attribute [rw] daily_reports_only
788
+ # A `Boolean` value indicating whether to only return reports from
789
+ # daily profiles. If set to `True`, only analysis data from daily
790
+ # profiles is returned. If set to `False`, analysis data is returned
791
+ # from smaller time windows (for example, one hour).
792
+ # @return [Boolean]
793
+ #
794
+ # @!attribute [rw] max_results
795
+ # The maximum number of results returned by `
796
+ # GetFindingsReportAccountSummary` in paginated output. When this
797
+ # parameter is used, `GetFindingsReportAccountSummary` only returns
798
+ # `maxResults` results in a single page along with a `nextToken`
799
+ # response element. The remaining results of the initial request can
800
+ # be seen by sending another `GetFindingsReportAccountSummary` request
801
+ # with the returned `nextToken` value.
802
+ # @return [Integer]
803
+ #
804
+ # @!attribute [rw] next_token
805
+ # The `nextToken` value returned from a previous paginated
806
+ # `GetFindingsReportAccountSummary` request where `maxResults` was
807
+ # used and the results exceeded the value of that parameter.
808
+ # Pagination continues from the end of the previous results that
809
+ # returned the `nextToken` value.
810
+ #
811
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
812
+ # used to retrieve the next items in a list and not for other
813
+ # programmatic purposes.
814
+ #
815
+ # </note>
816
+ # @return [String]
817
+ #
818
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummaryRequest AWS API Documentation
819
+ #
820
+ class GetFindingsReportAccountSummaryRequest < Struct.new(
821
+ :daily_reports_only,
822
+ :max_results,
823
+ :next_token)
824
+ SENSITIVE = []
825
+ include Aws::Structure
826
+ end
827
+
828
+ # The structure representing the
829
+ # GetFindingsReportAccountSummaryResponse.
830
+ #
831
+ # @!attribute [rw] next_token
832
+ # The `nextToken` value to include in a future
833
+ # `GetFindingsReportAccountSummary` request. When the results of a
834
+ # `GetFindingsReportAccountSummary` request exceed `maxResults`, this
835
+ # value can be used to retrieve the next page of results. This value
836
+ # is `null` when there are no more results to return.
837
+ # @return [String]
838
+ #
839
+ # @!attribute [rw] report_summaries
840
+ # The return list of [ `FindingsReportSummary` ][1] objects taht
841
+ # contain summaries of analysis results for all profiling groups in
842
+ # your AWS account.
843
+ #
844
+ #
845
+ #
846
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html
847
+ # @return [Array<Types::FindingsReportSummary>]
848
+ #
849
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummaryResponse AWS API Documentation
850
+ #
851
+ class GetFindingsReportAccountSummaryResponse < Struct.new(
852
+ :next_token,
853
+ :report_summaries)
854
+ SENSITIVE = []
855
+ include Aws::Structure
856
+ end
857
+
858
+ # The structure representing the GetNotificationConfigurationRequest.
859
+ #
860
+ # @note When making an API call, you may pass GetNotificationConfigurationRequest
861
+ # data as a hash:
862
+ #
863
+ # {
864
+ # profiling_group_name: "ProfilingGroupName", # required
865
+ # }
866
+ #
867
+ # @!attribute [rw] profiling_group_name
868
+ # The name of the profiling group we want to get the notification
869
+ # configuration for.
870
+ # @return [String]
871
+ #
872
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfigurationRequest AWS API Documentation
873
+ #
874
+ class GetNotificationConfigurationRequest < Struct.new(
875
+ :profiling_group_name)
876
+ SENSITIVE = []
877
+ include Aws::Structure
878
+ end
879
+
880
+ # The structure representing the GetNotificationConfigurationResponse.
881
+ #
882
+ # @!attribute [rw] notification_configuration
883
+ # The current notification configuration for this profiling group.
884
+ # @return [Types::NotificationConfiguration]
885
+ #
886
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfigurationResponse AWS API Documentation
887
+ #
888
+ class GetNotificationConfigurationResponse < Struct.new(
889
+ :notification_configuration)
890
+ SENSITIVE = []
891
+ include Aws::Structure
892
+ end
893
+
894
+ # The structure representing the `getPolicyRequest`.
895
+ #
896
+ # @note When making an API call, you may pass GetPolicyRequest
897
+ # data as a hash:
898
+ #
899
+ # {
900
+ # profiling_group_name: "ProfilingGroupName", # required
901
+ # }
902
+ #
903
+ # @!attribute [rw] profiling_group_name
904
+ # The name of the profiling group.
905
+ # @return [String]
906
+ #
907
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyRequest AWS API Documentation
908
+ #
909
+ class GetPolicyRequest < Struct.new(
910
+ :profiling_group_name)
911
+ SENSITIVE = []
912
+ include Aws::Structure
913
+ end
914
+
915
+ # The structure representing the `getPolicyResponse`.
916
+ #
917
+ # @!attribute [rw] policy
918
+ # The JSON-formatted resource-based policy attached to the
919
+ # `ProfilingGroup`.
920
+ # @return [String]
921
+ #
922
+ # @!attribute [rw] revision_id
923
+ # A unique identifier for the current revision of the returned policy.
924
+ # @return [String]
925
+ #
926
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyResponse AWS API Documentation
927
+ #
928
+ class GetPolicyResponse < Struct.new(
929
+ :policy,
930
+ :revision_id)
931
+ SENSITIVE = []
932
+ include Aws::Structure
933
+ end
934
+
935
+ # The structure representing the getProfileRequest.
936
+ #
937
+ # @note When making an API call, you may pass GetProfileRequest
938
+ # data as a hash:
939
+ #
940
+ # {
941
+ # accept: "String",
942
+ # end_time: Time.now,
943
+ # max_depth: 1,
944
+ # period: "Period",
945
+ # profiling_group_name: "ProfilingGroupName", # required
946
+ # start_time: Time.now,
947
+ # }
948
+ #
949
+ # @!attribute [rw] accept
950
+ # The format of the returned profiling data. The format maps to the
951
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
952
+ # specify one of the following: or the default .
953
+ #
954
+ # <ul> <li> <p> <code>application/json</code> — standard JSON format </p> </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon Ion</a>. </p> </li> </ul>
955
+ # @return [String]
956
+ #
957
+ # @!attribute [rw] end_time
958
+ # The end time of the requested profile. Specify using the ISO 8601
959
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
960
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
961
+ #
962
+ # If you specify `endTime`, then you must also specify `period` or
963
+ # `startTime`, but not both.
964
+ # @return [Time]
965
+ #
966
+ # @!attribute [rw] max_depth
967
+ # The maximum depth of the stacks in the code that is represented in
968
+ # the aggregated profile. For example, if CodeGuru Profiler finds a
969
+ # method `A`, which calls method `B`, which calls method `C`, which
970
+ # calls method `D`, then the depth is 4. If the `maxDepth` is set to
971
+ # 2, then the aggregated profile contains representations of methods
972
+ # `A` and `B`.
973
+ # @return [Integer]
974
+ #
975
+ # @!attribute [rw] period
976
+ # Used with `startTime` or `endTime` to specify the time range for the
977
+ # returned aggregated profile. Specify using the ISO 8601 format. For
978
+ # example, `P1DT1H1M1S`.
979
+ #
980
+ # <p> To get the latest aggregated profile, specify only <code>period</code>. </p>
981
+ # @return [String]
982
+ #
983
+ # @!attribute [rw] profiling_group_name
984
+ # The name of the profiling group to get.
985
+ # @return [String]
986
+ #
987
+ # @!attribute [rw] start_time
988
+ # The start time of the profile to get. Specify using the ISO 8601
989
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
990
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
991
+ #
992
+ # <p> If you specify <code>startTime</code>, then you must also specify <code>period</code> or <code>endTime</code>, but not both. </p>
993
+ # @return [Time]
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileRequest AWS API Documentation
996
+ #
997
+ class GetProfileRequest < Struct.new(
998
+ :accept,
999
+ :end_time,
1000
+ :max_depth,
1001
+ :period,
1002
+ :profiling_group_name,
1003
+ :start_time)
1004
+ SENSITIVE = []
1005
+ include Aws::Structure
1006
+ end
1007
+
1008
+ # The structure representing the getProfileResponse.
1009
+ #
1010
+ # @!attribute [rw] content_encoding
1011
+ # The content encoding of the profile.
1012
+ # @return [String]
1013
+ #
1014
+ # @!attribute [rw] content_type
1015
+ # The content type of the profile in the payload. It is either
1016
+ # `application/json` or the default `application/x-amzn-ion`.
1017
+ # @return [String]
1018
+ #
1019
+ # @!attribute [rw] profile
1020
+ # Information about the profile.
1021
+ # @return [String]
1022
+ #
1023
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileResponse AWS API Documentation
1024
+ #
1025
+ class GetProfileResponse < Struct.new(
1026
+ :content_encoding,
1027
+ :content_type,
1028
+ :profile)
1029
+ SENSITIVE = []
1030
+ include Aws::Structure
1031
+ end
1032
+
1033
+ # The structure representing the GetRecommendationsRequest.
1034
+ #
1035
+ # @note When making an API call, you may pass GetRecommendationsRequest
1036
+ # data as a hash:
1037
+ #
1038
+ # {
1039
+ # end_time: Time.now, # required
1040
+ # locale: "Locale",
1041
+ # profiling_group_name: "ProfilingGroupName", # required
1042
+ # start_time: Time.now, # required
1043
+ # }
1044
+ #
1045
+ # @!attribute [rw] end_time
1046
+ # The start time of the profile to get analysis data about. You must
1047
+ # specify `startTime` and `endTime`. This is specified using the ISO
1048
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1049
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1050
+ # @return [Time]
1051
+ #
1052
+ # @!attribute [rw] locale
1053
+ # The language used to provide analysis. Specify using a string that
1054
+ # is one of the following `BCP 47` language codes.
1055
+ #
1056
+ # * `de-DE` - German, Germany
1057
+ #
1058
+ # * `en-GB` - English, United Kingdom
1059
+ #
1060
+ # * `en-US` - English, United States
1061
+ #
1062
+ # * `es-ES` - Spanish, Spain
1063
+ #
1064
+ # * `fr-FR` - French, France
1065
+ #
1066
+ # * `it-IT` - Italian, Italy
1067
+ #
1068
+ # * `ja-JP` - Japanese, Japan
1069
+ #
1070
+ # * `ko-KR` - Korean, Republic of Korea
1071
+ #
1072
+ # * `pt-BR` - Portugese, Brazil
1073
+ #
1074
+ # * `zh-CN` - Chinese, China
1075
+ #
1076
+ # * `zh-TW` - Chinese, Taiwan
1077
+ # @return [String]
1078
+ #
1079
+ # @!attribute [rw] profiling_group_name
1080
+ # The name of the profiling group to get analysis data about.
1081
+ # @return [String]
1082
+ #
1083
+ # @!attribute [rw] start_time
1084
+ # The end time of the profile to get analysis data about. You must
1085
+ # specify `startTime` and `endTime`. This is specified using the ISO
1086
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1087
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1088
+ # @return [Time]
1089
+ #
1090
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendationsRequest AWS API Documentation
1091
+ #
1092
+ class GetRecommendationsRequest < Struct.new(
1093
+ :end_time,
1094
+ :locale,
1095
+ :profiling_group_name,
1096
+ :start_time)
1097
+ SENSITIVE = []
1098
+ include Aws::Structure
1099
+ end
1100
+
1101
+ # The structure representing the GetRecommendationsResponse.
1102
+ #
1103
+ # @!attribute [rw] anomalies
1104
+ # The list of anomalies that the analysis has found for this profile.
1105
+ # @return [Array<Types::Anomaly>]
1106
+ #
1107
+ # @!attribute [rw] profile_end_time
1108
+ # The end time of the profile the analysis data is about. This is
1109
+ # specified using the ISO 8601 format. For example,
1110
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1111
+ # 1:15:02 PM UTC.
1112
+ # @return [Time]
1113
+ #
1114
+ # @!attribute [rw] profile_start_time
1115
+ # The start time of the profile the analysis data is about. This is
1116
+ # specified using the ISO 8601 format. For example,
1117
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1118
+ # 1:15:02 PM UTC.
1119
+ # @return [Time]
1120
+ #
1121
+ # @!attribute [rw] profiling_group_name
1122
+ # The name of the profiling group the analysis data is about.
1123
+ # @return [String]
1124
+ #
1125
+ # @!attribute [rw] recommendations
1126
+ # The list of recommendations that the analysis found for this
1127
+ # profile.
1128
+ # @return [Array<Types::Recommendation>]
1129
+ #
1130
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendationsResponse AWS API Documentation
1131
+ #
1132
+ class GetRecommendationsResponse < Struct.new(
1133
+ :anomalies,
1134
+ :profile_end_time,
1135
+ :profile_start_time,
1136
+ :profiling_group_name,
1137
+ :recommendations)
1138
+ SENSITIVE = []
1139
+ include Aws::Structure
1140
+ end
1141
+
1142
+ # The server encountered an internal error and is unable to complete the
1143
+ # request.
1144
+ #
1145
+ # @!attribute [rw] message
1146
+ # @return [String]
1147
+ #
1148
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/InternalServerException AWS API Documentation
1149
+ #
1150
+ class InternalServerException < Struct.new(
1151
+ :message)
1152
+ SENSITIVE = []
1153
+ include Aws::Structure
1154
+ end
1155
+
1156
+ # The structure representing the ListFindingsReportsRequest.
1157
+ #
1158
+ # @note When making an API call, you may pass ListFindingsReportsRequest
1159
+ # data as a hash:
1160
+ #
1161
+ # {
1162
+ # daily_reports_only: false,
1163
+ # end_time: Time.now, # required
1164
+ # max_results: 1,
1165
+ # next_token: "PaginationToken",
1166
+ # profiling_group_name: "ProfilingGroupName", # required
1167
+ # start_time: Time.now, # required
1168
+ # }
1169
+ #
1170
+ # @!attribute [rw] daily_reports_only
1171
+ # A `Boolean` value indicating whether to only return reports from
1172
+ # daily profiles. If set to `True`, only analysis data from daily
1173
+ # profiles is returned. If set to `False`, analysis data is returned
1174
+ # from smaller time windows (for example, one hour).
1175
+ # @return [Boolean]
1176
+ #
1177
+ # @!attribute [rw] end_time
1178
+ # The end time of the profile to get analysis data about. You must
1179
+ # specify `startTime` and `endTime`. This is specified using the ISO
1180
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1181
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1182
+ # @return [Time]
1183
+ #
1184
+ # @!attribute [rw] max_results
1185
+ # The maximum number of report results returned by
1186
+ # `ListFindingsReports` in paginated output. When this parameter is
1187
+ # used, `ListFindingsReports` only returns `maxResults` results in a
1188
+ # single page along with a `nextToken` response element. The remaining
1189
+ # results of the initial request can be seen by sending another
1190
+ # `ListFindingsReports` request with the returned `nextToken` value.
1191
+ # @return [Integer]
1192
+ #
1193
+ # @!attribute [rw] next_token
1194
+ # The `nextToken` value returned from a previous paginated
1195
+ # `ListFindingsReportsRequest` request where `maxResults` was used and
1196
+ # the results exceeded the value of that parameter. Pagination
1197
+ # continues from the end of the previous results that returned the
1198
+ # `nextToken` value.
1199
+ #
1200
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
1201
+ # used to retrieve the next items in a list and not for other
1202
+ # programmatic purposes.
1203
+ #
1204
+ # </note>
1205
+ # @return [String]
1206
+ #
1207
+ # @!attribute [rw] profiling_group_name
1208
+ # The name of the profiling group from which to search for analysis
1209
+ # data.
1210
+ # @return [String]
1211
+ #
1212
+ # @!attribute [rw] start_time
1213
+ # The start time of the profile to get analysis data about. You must
1214
+ # specify `startTime` and `endTime`. This is specified using the ISO
1215
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1216
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1217
+ # @return [Time]
1218
+ #
1219
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReportsRequest AWS API Documentation
1220
+ #
1221
+ class ListFindingsReportsRequest < Struct.new(
1222
+ :daily_reports_only,
1223
+ :end_time,
1224
+ :max_results,
1225
+ :next_token,
1226
+ :profiling_group_name,
1227
+ :start_time)
1228
+ SENSITIVE = []
1229
+ include Aws::Structure
1230
+ end
1231
+
1232
+ # The structure representing the ListFindingsReportsResponse.
1233
+ #
1234
+ # @!attribute [rw] findings_report_summaries
1235
+ # The list of analysis results summaries.
1236
+ # @return [Array<Types::FindingsReportSummary>]
1237
+ #
1238
+ # @!attribute [rw] next_token
1239
+ # The `nextToken` value to include in a future `ListFindingsReports`
1240
+ # request. When the results of a `ListFindingsReports` request exceed
1241
+ # `maxResults`, this value can be used to retrieve the next page of
1242
+ # results. This value is `null` when there are no more results to
1243
+ # return.
1244
+ # @return [String]
1245
+ #
1246
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReportsResponse AWS API Documentation
1247
+ #
1248
+ class ListFindingsReportsResponse < Struct.new(
1249
+ :findings_report_summaries,
1250
+ :next_token)
1251
+ SENSITIVE = []
1252
+ include Aws::Structure
1253
+ end
1254
+
1255
+ # The structure representing the listProfileTimesRequest.
1256
+ #
1257
+ # @note When making an API call, you may pass ListProfileTimesRequest
1258
+ # data as a hash:
1259
+ #
1260
+ # {
1261
+ # end_time: Time.now, # required
1262
+ # max_results: 1,
1263
+ # next_token: "PaginationToken",
1264
+ # order_by: "TimestampAscending", # accepts TimestampAscending, TimestampDescending
1265
+ # period: "P1D", # required, accepts P1D, PT1H, PT5M
1266
+ # profiling_group_name: "ProfilingGroupName", # required
1267
+ # start_time: Time.now, # required
1268
+ # }
1269
+ #
1270
+ # @!attribute [rw] end_time
1271
+ # The end time of the time range from which to list the profiles.
1272
+ # @return [Time]
1273
+ #
1274
+ # @!attribute [rw] max_results
1275
+ # The maximum number of profile time results returned by
1276
+ # `ListProfileTimes` in paginated output. When this parameter is used,
1277
+ # `ListProfileTimes` only returns `maxResults` results in a single
1278
+ # page with a `nextToken` response element. The remaining results of
1279
+ # the initial request can be seen by sending another
1280
+ # `ListProfileTimes` request with the returned `nextToken` value.
1281
+ # @return [Integer]
1282
+ #
1283
+ # @!attribute [rw] next_token
1284
+ # The `nextToken` value returned from a previous paginated
1285
+ # `ListProfileTimes` request where `maxResults` was used and the
1286
+ # results exceeded the value of that parameter. Pagination continues
1287
+ # from the end of the previous results that returned the `nextToken`
1288
+ # value.
1289
+ #
1290
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
1291
+ # used to retrieve the next items in a list and not for other
1292
+ # programmatic purposes.
1293
+ #
1294
+ # </note>
1295
+ # @return [String]
1296
+ #
1297
+ # @!attribute [rw] order_by
1298
+ # The order (ascending or descending by start time of the profile) to
1299
+ # use when listing profiles. Defaults to `TIMESTAMP_DESCENDING`.
1300
+ # @return [String]
1301
+ #
1302
+ # @!attribute [rw] period
1303
+ # The aggregation period. This specifies the period during which an
1304
+ # aggregation profile collects posted agent profiles for a profiling
1305
+ # group. There are 3 valid values.
1306
+ #
1307
+ # * `P1D` — 1 day
1308
+ #
1309
+ # * `PT1H` — 1 hour
1310
+ #
1311
+ # * `PT5M` — 5 minutes
1312
+ # @return [String]
1313
+ #
1314
+ # @!attribute [rw] profiling_group_name
1315
+ # The name of the profiling group.
1316
+ # @return [String]
1317
+ #
1318
+ # @!attribute [rw] start_time
1319
+ # The start time of the time range from which to list the profiles.
1320
+ # @return [Time]
1321
+ #
1322
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimesRequest AWS API Documentation
1323
+ #
1324
+ class ListProfileTimesRequest < Struct.new(
1325
+ :end_time,
1326
+ :max_results,
1327
+ :next_token,
1328
+ :order_by,
1329
+ :period,
1330
+ :profiling_group_name,
1331
+ :start_time)
1332
+ SENSITIVE = []
1333
+ include Aws::Structure
1334
+ end
1335
+
1336
+ # The structure representing the listProfileTimesResponse.
1337
+ #
1338
+ # @!attribute [rw] next_token
1339
+ # The `nextToken` value to include in a future `ListProfileTimes`
1340
+ # request. When the results of a `ListProfileTimes` request exceed
1341
+ # `maxResults`, this value can be used to retrieve the next page of
1342
+ # results. This value is `null` when there are no more results to
1343
+ # return.
1344
+ # @return [String]
1345
+ #
1346
+ # @!attribute [rw] profile_times
1347
+ # The list of start times of the available profiles for the
1348
+ # aggregation period in the specified time range.
1349
+ # @return [Array<Types::ProfileTime>]
1350
+ #
1351
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimesResponse AWS API Documentation
1352
+ #
1353
+ class ListProfileTimesResponse < Struct.new(
1354
+ :next_token,
1355
+ :profile_times)
1356
+ SENSITIVE = []
1357
+ include Aws::Structure
1358
+ end
1359
+
1360
+ # The structure representing the listProfilingGroupsRequest.
1361
+ #
1362
+ # @note When making an API call, you may pass ListProfilingGroupsRequest
1363
+ # data as a hash:
1364
+ #
1365
+ # {
1366
+ # include_description: false,
1367
+ # max_results: 1,
1368
+ # next_token: "PaginationToken",
1369
+ # }
1370
+ #
1371
+ # @!attribute [rw] include_description
1372
+ # A `Boolean` value indicating whether to include a description. If
1373
+ # `true`, then a list of [ `ProfilingGroupDescription` ][1] objects
1374
+ # that contain detailed information about profiling groups is
1375
+ # returned. If `false`, then a list of profiling group names is
1376
+ # returned.
1377
+ #
1378
+ #
1379
+ #
1380
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
1381
+ # @return [Boolean]
1382
+ #
1383
+ # @!attribute [rw] max_results
1384
+ # The maximum number of profiling groups results returned by
1385
+ # `ListProfilingGroups` in paginated output. When this parameter is
1386
+ # used, `ListProfilingGroups` only returns `maxResults` results in a
1387
+ # single page along with a `nextToken` response element. The remaining
1388
+ # results of the initial request can be seen by sending another
1389
+ # `ListProfilingGroups` request with the returned `nextToken` value.
1390
+ # @return [Integer]
1391
+ #
1392
+ # @!attribute [rw] next_token
1393
+ # The `nextToken` value returned from a previous paginated
1394
+ # `ListProfilingGroups` request where `maxResults` was used and the
1395
+ # results exceeded the value of that parameter. Pagination continues
1396
+ # from the end of the previous results that returned the `nextToken`
1397
+ # value.
1398
+ #
1399
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
1400
+ # used to retrieve the next items in a list and not for other
1401
+ # programmatic purposes.
1402
+ #
1403
+ # </note>
1404
+ # @return [String]
1405
+ #
1406
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroupsRequest AWS API Documentation
1407
+ #
1408
+ class ListProfilingGroupsRequest < Struct.new(
1409
+ :include_description,
1410
+ :max_results,
1411
+ :next_token)
1412
+ SENSITIVE = []
1413
+ include Aws::Structure
1414
+ end
1415
+
1416
+ # The structure representing the listProfilingGroupsResponse.
1417
+ #
1418
+ # @!attribute [rw] next_token
1419
+ # The `nextToken` value to include in a future `ListProfilingGroups`
1420
+ # request. When the results of a `ListProfilingGroups` request exceed
1421
+ # `maxResults`, this value can be used to retrieve the next page of
1422
+ # results. This value is `null` when there are no more results to
1423
+ # return.
1424
+ # @return [String]
1425
+ #
1426
+ # @!attribute [rw] profiling_group_names
1427
+ # A returned list of profiling group names. A list of the names is
1428
+ # returned only if `includeDescription` is `false`, otherwise a list
1429
+ # of [ `ProfilingGroupDescription` ][1] objects is returned.
1430
+ #
1431
+ #
1432
+ #
1433
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
1434
+ # @return [Array<String>]
1435
+ #
1436
+ # @!attribute [rw] profiling_groups
1437
+ # A returned list [ `ProfilingGroupDescription` ][1] objects. A list
1438
+ # of [ `ProfilingGroupDescription` ][1] objects is returned only if
1439
+ # `includeDescription` is `true`, otherwise a list of profiling group
1440
+ # names is returned.
1441
+ #
1442
+ #
1443
+ #
1444
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
1445
+ # @return [Array<Types::ProfilingGroupDescription>]
1446
+ #
1447
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroupsResponse AWS API Documentation
1448
+ #
1449
+ class ListProfilingGroupsResponse < Struct.new(
1450
+ :next_token,
1451
+ :profiling_group_names,
1452
+ :profiling_groups)
1453
+ SENSITIVE = []
1454
+ include Aws::Structure
1455
+ end
1456
+
1457
+ # @note When making an API call, you may pass ListTagsForResourceRequest
1458
+ # data as a hash:
1459
+ #
1460
+ # {
1461
+ # resource_arn: "ProfilingGroupArn", # required
1462
+ # }
1463
+ #
1464
+ # @!attribute [rw] resource_arn
1465
+ # The Amazon Resource Name (ARN) of the resource that contains the
1466
+ # tags to return.
1467
+ # @return [String]
1468
+ #
1469
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListTagsForResourceRequest AWS API Documentation
1470
+ #
1471
+ class ListTagsForResourceRequest < Struct.new(
1472
+ :resource_arn)
1473
+ SENSITIVE = []
1474
+ include Aws::Structure
1475
+ end
1476
+
1477
+ # @!attribute [rw] tags
1478
+ # The list of tags assigned to the specified resource. This is the
1479
+ # list of tags returned in the response.
1480
+ # @return [Hash<String,String>]
1481
+ #
1482
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListTagsForResourceResponse AWS API Documentation
1483
+ #
1484
+ class ListTagsForResourceResponse < Struct.new(
1485
+ :tags)
1486
+ SENSITIVE = []
1487
+ include Aws::Structure
1488
+ end
1489
+
1490
+ # The part of a profile that contains a recommendation found during
1491
+ # analysis.
1492
+ #
1493
+ # @!attribute [rw] frame_address
1494
+ # The location in the profiling graph that contains a recommendation
1495
+ # found during analysis.
1496
+ # @return [String]
1497
+ #
1498
+ # @!attribute [rw] target_frames_index
1499
+ # The target frame that triggered a match.
1500
+ # @return [Integer]
1501
+ #
1502
+ # @!attribute [rw] threshold_breach_value
1503
+ # The value in the profile data that exceeded the recommendation
1504
+ # threshold.
1505
+ # @return [Float]
1506
+ #
1507
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Match AWS API Documentation
1508
+ #
1509
+ class Match < Struct.new(
1510
+ :frame_address,
1511
+ :target_frames_index,
1512
+ :threshold_breach_value)
1513
+ SENSITIVE = []
1514
+ include Aws::Structure
1515
+ end
1516
+
1517
+ # Details about the metric that the analysis used when it detected the
1518
+ # anomaly. The metric what is analyzed to create recommendations. It
1519
+ # includes the name of the frame that was analyzed and the type and
1520
+ # thread states used to derive the metric value for that frame.
1521
+ #
1522
+ # @!attribute [rw] frame_name
1523
+ # The name of the method that appears as a frame in any stack in a
1524
+ # profile.
1525
+ # @return [String]
1526
+ #
1527
+ # @!attribute [rw] thread_states
1528
+ # The list of application runtime thread states that is used to
1529
+ # calculate the metric value for the frame.
1530
+ # @return [Array<String>]
1531
+ #
1532
+ # @!attribute [rw] type
1533
+ # A type that specifies how a metric for a frame is analyzed. The
1534
+ # supported value `AggregatedRelativeTotalTime` is an aggregation of
1535
+ # the metric value for one frame that is calculated across the
1536
+ # occurences of all frames in a profile.
1537
+ # @return [String]
1538
+ #
1539
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Metric AWS API Documentation
1540
+ #
1541
+ class Metric < Struct.new(
1542
+ :frame_name,
1543
+ :thread_states,
1544
+ :type)
1545
+ SENSITIVE = []
1546
+ include Aws::Structure
1547
+ end
1548
+
1549
+ # The configuration for notifications stored for each profiling group.
1550
+ # This includes up to to two channels and a list of event publishers
1551
+ # associated with each channel.
1552
+ #
1553
+ # @!attribute [rw] channels
1554
+ # List of up to two channels to be used for sending notifications for
1555
+ # events detected from the application profile.
1556
+ # @return [Array<Types::Channel>]
1557
+ #
1558
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/NotificationConfiguration AWS API Documentation
1559
+ #
1560
+ class NotificationConfiguration < Struct.new(
1561
+ :channels)
1562
+ SENSITIVE = []
1563
+ include Aws::Structure
1564
+ end
1565
+
1566
+ # A set of rules used to make a recommendation during an analysis.
1567
+ #
1568
+ # @!attribute [rw] counters_to_aggregate
1569
+ # A list of the different counters used to determine if there is a
1570
+ # match.
1571
+ # @return [Array<String>]
1572
+ #
1573
+ # @!attribute [rw] description
1574
+ # The description of the recommendation. This explains a potential
1575
+ # inefficiency in a profiled application.
1576
+ # @return [String]
1577
+ #
1578
+ # @!attribute [rw] id
1579
+ # The universally unique identifier (UUID) of this pattern.
1580
+ # @return [String]
1581
+ #
1582
+ # @!attribute [rw] name
1583
+ # The name for this pattern.
1584
+ # @return [String]
1585
+ #
1586
+ # @!attribute [rw] resolution_steps
1587
+ # A string that contains the steps recommended to address the
1588
+ # potential inefficiency.
1589
+ # @return [String]
1590
+ #
1591
+ # @!attribute [rw] target_frames
1592
+ # A list of frame names that were searched during the analysis that
1593
+ # generated a recommendation.
1594
+ # @return [Array<Array<String>>]
1595
+ #
1596
+ # @!attribute [rw] threshold_percent
1597
+ # The percentage of time an application spends in one method that
1598
+ # triggers a recommendation. The percentage of time is the same as the
1599
+ # percentage of the total gathered sample counts during analysis.
1600
+ # @return [Float]
1601
+ #
1602
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Pattern AWS API Documentation
1603
+ #
1604
+ class Pattern < Struct.new(
1605
+ :counters_to_aggregate,
1606
+ :description,
1607
+ :id,
1608
+ :name,
1609
+ :resolution_steps,
1610
+ :target_frames,
1611
+ :threshold_percent)
1612
+ SENSITIVE = []
1613
+ include Aws::Structure
1614
+ end
1615
+
1616
+ # The structure representing the postAgentProfileRequest.
1617
+ #
1618
+ # @note When making an API call, you may pass PostAgentProfileRequest
1619
+ # data as a hash:
1620
+ #
1621
+ # {
1622
+ # agent_profile: "data", # required
1623
+ # content_type: "String", # required
1624
+ # profile_token: "ClientToken",
1625
+ # profiling_group_name: "ProfilingGroupName", # required
1626
+ # }
1627
+ #
1628
+ # @!attribute [rw] agent_profile
1629
+ # The submitted profiling data.
1630
+ # @return [String]
1631
+ #
1632
+ # @!attribute [rw] content_type
1633
+ # The format of the submitted profiling data. The format maps to the
1634
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
1635
+ # specify one of the following: or the default .
1636
+ #
1637
+ # <ul> <li> <p> <code>application/json</code> — standard JSON format </p> </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon Ion</a>. </p> </li> </ul>
1638
+ # @return [String]
1639
+ #
1640
+ # @!attribute [rw] profile_token
1641
+ # Amazon CodeGuru Profiler uses this universally unique identifier
1642
+ # (UUID) to prevent the accidental submission of duplicate profiling
1643
+ # data if there are failures and retries.
1644
+ #
1645
+ # **A suitable default value is auto-generated.** You should normally
1646
+ # not need to pass this option.
1647
+ # @return [String]
1648
+ #
1649
+ # @!attribute [rw] profiling_group_name
1650
+ # The name of the profiling group with the aggregated profile that
1651
+ # receives the submitted profiling data.
1652
+ # @return [String]
1653
+ #
1654
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfileRequest AWS API Documentation
1655
+ #
1656
+ class PostAgentProfileRequest < Struct.new(
1657
+ :agent_profile,
1658
+ :content_type,
1659
+ :profile_token,
1660
+ :profiling_group_name)
1661
+ SENSITIVE = []
1662
+ include Aws::Structure
1663
+ end
1664
+
1665
+ # The structure representing the postAgentProfileResponse.
1666
+ #
1667
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfileResponse AWS API Documentation
1668
+ #
1669
+ class PostAgentProfileResponse < Aws::EmptyStructure; end
1670
+
1671
+ # Contains the start time of a profile.
1672
+ #
1673
+ # @!attribute [rw] start
1674
+ # The start time of a profile. It is specified using the ISO 8601
1675
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
1676
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1677
+ # @return [Time]
1678
+ #
1679
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfileTime AWS API Documentation
1680
+ #
1681
+ class ProfileTime < Struct.new(
1682
+ :start)
1683
+ SENSITIVE = []
1684
+ include Aws::Structure
1685
+ end
1686
+
1687
+ # Contains information about a profiling group.
1688
+ #
1689
+ # @!attribute [rw] agent_orchestration_config
1690
+ # An [ `AgentOrchestrationConfig` ][1] object that indicates if the
1691
+ # profiling group is enabled for profiled or not.
1692
+ #
1693
+ #
1694
+ #
1695
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html
1696
+ # @return [Types::AgentOrchestrationConfig]
1697
+ #
1698
+ # @!attribute [rw] arn
1699
+ # The Amazon Resource Name (ARN) identifying the profiling group
1700
+ # resource.
1701
+ # @return [String]
1702
+ #
1703
+ # @!attribute [rw] compute_platform
1704
+ # The compute platform of the profiling group. If it is set to
1705
+ # `AWSLambda`, then the profiled application runs on AWS Lambda. If it
1706
+ # is set to `Default`, then the profiled application runs on a compute
1707
+ # platform that is not AWS Lambda, such an Amazon EC2 instance, an
1708
+ # on-premises server, or a different platform. The default is
1709
+ # `Default`.
1710
+ # @return [String]
1711
+ #
1712
+ # @!attribute [rw] created_at
1713
+ # The time when the profiling group was created. Specify using the ISO
1714
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1715
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1716
+ # @return [Time]
1717
+ #
1718
+ # @!attribute [rw] name
1719
+ # The name of the profiling group.
1720
+ # @return [String]
1721
+ #
1722
+ # @!attribute [rw] profiling_status
1723
+ # A [ `ProfilingStatus` ][1] object that includes information about
1724
+ # the last time a profile agent pinged back, the last time a profile
1725
+ # was received, and the aggregation period and start time for the most
1726
+ # recent aggregated profile.
1727
+ #
1728
+ #
1729
+ #
1730
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html
1731
+ # @return [Types::ProfilingStatus]
1732
+ #
1733
+ # @!attribute [rw] tags
1734
+ # A list of the tags that belong to this profiling group.
1735
+ # @return [Hash<String,String>]
1736
+ #
1737
+ # @!attribute [rw] updated_at
1738
+ # The date and time when the profiling group was last updated. Specify
1739
+ # using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z
1740
+ # represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
1741
+ # @return [Time]
1742
+ #
1743
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfilingGroupDescription AWS API Documentation
1744
+ #
1745
+ class ProfilingGroupDescription < Struct.new(
1746
+ :agent_orchestration_config,
1747
+ :arn,
1748
+ :compute_platform,
1749
+ :created_at,
1750
+ :name,
1751
+ :profiling_status,
1752
+ :tags,
1753
+ :updated_at)
1754
+ SENSITIVE = []
1755
+ include Aws::Structure
1756
+ end
1757
+
1758
+ # Profiling status includes information about the last time a profile
1759
+ # agent pinged back, the last time a profile was received, and the
1760
+ # aggregation period and start time for the most recent aggregated
1761
+ # profile.
1762
+ #
1763
+ # @!attribute [rw] latest_agent_orchestrated_at
1764
+ # The date and time when the profiling agent most recently pinged
1765
+ # back. Specify using the ISO 8601 format. For example,
1766
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1767
+ # 1:15:02 PM UTC.
1768
+ # @return [Time]
1769
+ #
1770
+ # @!attribute [rw] latest_agent_profile_reported_at
1771
+ # The date and time when the most recent profile was received. Specify
1772
+ # using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z
1773
+ # represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
1774
+ # @return [Time]
1775
+ #
1776
+ # @!attribute [rw] latest_aggregated_profile
1777
+ # An [ `AggregatedProfileTime` ][1] object that contains the
1778
+ # aggregation period and start time for an aggregated profile.
1779
+ #
1780
+ #
1781
+ #
1782
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html
1783
+ # @return [Types::AggregatedProfileTime]
1784
+ #
1785
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfilingStatus AWS API Documentation
1786
+ #
1787
+ class ProfilingStatus < Struct.new(
1788
+ :latest_agent_orchestrated_at,
1789
+ :latest_agent_profile_reported_at,
1790
+ :latest_aggregated_profile)
1791
+ SENSITIVE = []
1792
+ include Aws::Structure
1793
+ end
1794
+
1795
+ # The structure representing the `putPermissionRequest`.
1796
+ #
1797
+ # @note When making an API call, you may pass PutPermissionRequest
1798
+ # data as a hash:
1799
+ #
1800
+ # {
1801
+ # action_group: "agentPermissions", # required, accepts agentPermissions
1802
+ # principals: ["Principal"], # required
1803
+ # profiling_group_name: "ProfilingGroupName", # required
1804
+ # revision_id: "RevisionId",
1805
+ # }
1806
+ #
1807
+ # @!attribute [rw] action_group
1808
+ # Specifies an action group that contains permissions to add to a
1809
+ # profiling group resource. One action group is supported,
1810
+ # `agentPermissions`, which grants permission to perform actions
1811
+ # required by the profiling agent, `ConfigureAgent` and
1812
+ # `PostAgentProfile` permissions.
1813
+ # @return [String]
1814
+ #
1815
+ # @!attribute [rw] principals
1816
+ # A list ARNs for the roles and users you want to grant access to the
1817
+ # profiling group. Wildcards are not are supported in the ARNs.
1818
+ # @return [Array<String>]
1819
+ #
1820
+ # @!attribute [rw] profiling_group_name
1821
+ # The name of the profiling group to grant access to.
1822
+ # @return [String]
1823
+ #
1824
+ # @!attribute [rw] revision_id
1825
+ # A universally unique identifier (UUID) for the revision of the
1826
+ # policy you are adding to the profiling group. Do not specify this
1827
+ # when you add permissions to a profiling group for the first time. If
1828
+ # a policy already exists on the profiling group, you must specify the
1829
+ # `revisionId`.
1830
+ # @return [String]
1831
+ #
1832
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermissionRequest AWS API Documentation
1833
+ #
1834
+ class PutPermissionRequest < Struct.new(
1835
+ :action_group,
1836
+ :principals,
1837
+ :profiling_group_name,
1838
+ :revision_id)
1839
+ SENSITIVE = []
1840
+ include Aws::Structure
1841
+ end
1842
+
1843
+ # The structure representing the `putPermissionResponse`.
1844
+ #
1845
+ # @!attribute [rw] policy
1846
+ # The JSON-formatted resource-based policy on the profiling group that
1847
+ # includes the added permissions.
1848
+ # @return [String]
1849
+ #
1850
+ # @!attribute [rw] revision_id
1851
+ # A universally unique identifier (UUID) for the revision of the
1852
+ # resource-based policy that includes the added permissions. The
1853
+ # JSON-formatted policy is in the `policy` element of the response.
1854
+ # @return [String]
1855
+ #
1856
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermissionResponse AWS API Documentation
1857
+ #
1858
+ class PutPermissionResponse < Struct.new(
1859
+ :policy,
1860
+ :revision_id)
1861
+ SENSITIVE = []
1862
+ include Aws::Structure
1863
+ end
1864
+
1865
+ # A potential improvement that was found from analyzing the profiling
1866
+ # data.
1867
+ #
1868
+ # @!attribute [rw] all_matches_count
1869
+ # How many different places in the profile graph triggered a match.
1870
+ # @return [Integer]
1871
+ #
1872
+ # @!attribute [rw] all_matches_sum
1873
+ # How much of the total sample count is potentially affected.
1874
+ # @return [Float]
1875
+ #
1876
+ # @!attribute [rw] end_time
1877
+ # End time of the profile that was used by this analysis. This is
1878
+ # specified using the ISO 8601 format. For example,
1879
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1880
+ # 1:15:02 PM UTC.
1881
+ # @return [Time]
1882
+ #
1883
+ # @!attribute [rw] pattern
1884
+ # The pattern that analysis recognized in the profile to make this
1885
+ # recommendation.
1886
+ # @return [Types::Pattern]
1887
+ #
1888
+ # @!attribute [rw] start_time
1889
+ # The start time of the profile that was used by this analysis. This
1890
+ # is specified using the ISO 8601 format. For example,
1891
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1892
+ # 1:15:02 PM UTC.
1893
+ # @return [Time]
1894
+ #
1895
+ # @!attribute [rw] top_matches
1896
+ # List of the matches with most impact.
1897
+ # @return [Array<Types::Match>]
1898
+ #
1899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Recommendation AWS API Documentation
1900
+ #
1901
+ class Recommendation < Struct.new(
1902
+ :all_matches_count,
1903
+ :all_matches_sum,
1904
+ :end_time,
1905
+ :pattern,
1906
+ :start_time,
1907
+ :top_matches)
1908
+ SENSITIVE = []
1909
+ include Aws::Structure
1910
+ end
1911
+
1912
+ # The structure representing the RemoveNotificationChannelRequest.
1913
+ #
1914
+ # @note When making an API call, you may pass RemoveNotificationChannelRequest
1915
+ # data as a hash:
1916
+ #
1917
+ # {
1918
+ # channel_id: "ChannelId", # required
1919
+ # profiling_group_name: "ProfilingGroupName", # required
1920
+ # }
1921
+ #
1922
+ # @!attribute [rw] channel_id
1923
+ # The id of the channel that we want to stop receiving notifications.
1924
+ # @return [String]
1925
+ #
1926
+ # @!attribute [rw] profiling_group_name
1927
+ # The name of the profiling group we want to change notification
1928
+ # configuration for.
1929
+ # @return [String]
1930
+ #
1931
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannelRequest AWS API Documentation
1932
+ #
1933
+ class RemoveNotificationChannelRequest < Struct.new(
1934
+ :channel_id,
1935
+ :profiling_group_name)
1936
+ SENSITIVE = []
1937
+ include Aws::Structure
1938
+ end
1939
+
1940
+ # The structure representing the RemoveNotificationChannelResponse.
1941
+ #
1942
+ # @!attribute [rw] notification_configuration
1943
+ # The new notification configuration for this profiling group.
1944
+ # @return [Types::NotificationConfiguration]
1945
+ #
1946
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannelResponse AWS API Documentation
1947
+ #
1948
+ class RemoveNotificationChannelResponse < Struct.new(
1949
+ :notification_configuration)
1950
+ SENSITIVE = []
1951
+ include Aws::Structure
1952
+ end
1953
+
1954
+ # The structure representing the
1955
+ # <code>removePermissionRequest</code>.</p>
1956
+ #
1957
+ # @note When making an API call, you may pass RemovePermissionRequest
1958
+ # data as a hash:
1959
+ #
1960
+ # {
1961
+ # action_group: "agentPermissions", # required, accepts agentPermissions
1962
+ # profiling_group_name: "ProfilingGroupName", # required
1963
+ # revision_id: "RevisionId", # required
1964
+ # }
1965
+ #
1966
+ # @!attribute [rw] action_group
1967
+ # Specifies an action group that contains the permissions to remove
1968
+ # from a profiling group's resource-based policy. One action group is
1969
+ # supported, `agentPermissions`, which grants `ConfigureAgent` and
1970
+ # `PostAgentProfile` permissions.
1971
+ # @return [String]
1972
+ #
1973
+ # @!attribute [rw] profiling_group_name
1974
+ # The name of the profiling group.
1975
+ # @return [String]
1976
+ #
1977
+ # @!attribute [rw] revision_id
1978
+ # A universally unique identifier (UUID) for the revision of the
1979
+ # resource-based policy from which you want to remove permissions.
1980
+ # @return [String]
1981
+ #
1982
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermissionRequest AWS API Documentation
1983
+ #
1984
+ class RemovePermissionRequest < Struct.new(
1985
+ :action_group,
1986
+ :profiling_group_name,
1987
+ :revision_id)
1988
+ SENSITIVE = []
1989
+ include Aws::Structure
1990
+ end
1991
+
1992
+ # The structure representing the `removePermissionResponse`.
1993
+ #
1994
+ # @!attribute [rw] policy
1995
+ # The JSON-formatted resource-based policy on the profiling group
1996
+ # after the specified permissions were removed.
1997
+ # @return [String]
1998
+ #
1999
+ # @!attribute [rw] revision_id
2000
+ # A universally unique identifier (UUID) for the revision of the
2001
+ # resource-based policy after the specified permissions were removed.
2002
+ # The updated JSON-formatted policy is in the `policy` element of the
2003
+ # response.
2004
+ # @return [String]
2005
+ #
2006
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermissionResponse AWS API Documentation
2007
+ #
2008
+ class RemovePermissionResponse < Struct.new(
2009
+ :policy,
2010
+ :revision_id)
2011
+ SENSITIVE = []
2012
+ include Aws::Structure
2013
+ end
2014
+
2015
+ # The resource specified in the request does not exist.
2016
+ #
2017
+ # @!attribute [rw] message
2018
+ # @return [String]
2019
+ #
2020
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ResourceNotFoundException AWS API Documentation
2021
+ #
2022
+ class ResourceNotFoundException < Struct.new(
2023
+ :message)
2024
+ SENSITIVE = []
2025
+ include Aws::Structure
2026
+ end
2027
+
2028
+ # You have exceeded your service quota. To perform the requested action,
2029
+ # remove some of the relevant resources, or use [Service Quotas][1] to
2030
+ # request a service quota increase.
2031
+ #
2032
+ #
2033
+ #
2034
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html
2035
+ #
2036
+ # @!attribute [rw] message
2037
+ # @return [String]
2038
+ #
2039
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ServiceQuotaExceededException AWS API Documentation
2040
+ #
2041
+ class ServiceQuotaExceededException < Struct.new(
2042
+ :message)
2043
+ SENSITIVE = []
2044
+ include Aws::Structure
2045
+ end
2046
+
2047
+ # The structure representing the SubmitFeedbackRequest.
2048
+ #
2049
+ # @note When making an API call, you may pass SubmitFeedbackRequest
2050
+ # data as a hash:
2051
+ #
2052
+ # {
2053
+ # anomaly_instance_id: "AnomalyInstanceId", # required
2054
+ # comment: "String",
2055
+ # profiling_group_name: "ProfilingGroupName", # required
2056
+ # type: "Negative", # required, accepts Negative, Positive
2057
+ # }
2058
+ #
2059
+ # @!attribute [rw] anomaly_instance_id
2060
+ # The universally unique identifier (UUID) of the [ `AnomalyInstance`
2061
+ # ][1] object that is included in the analysis data.
2062
+ #
2063
+ #
2064
+ #
2065
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html
2066
+ # @return [String]
2067
+ #
2068
+ # @!attribute [rw] comment
2069
+ # Optional feedback about this anomaly.
2070
+ # @return [String]
2071
+ #
2072
+ # @!attribute [rw] profiling_group_name
2073
+ # The name of the profiling group that is associated with the analysis
2074
+ # data.
2075
+ # @return [String]
2076
+ #
2077
+ # @!attribute [rw] type
2078
+ # The feedback tpye. Thee are two valid values, `Positive` and
2079
+ # `Negative`.
2080
+ # @return [String]
2081
+ #
2082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedbackRequest AWS API Documentation
2083
+ #
2084
+ class SubmitFeedbackRequest < Struct.new(
2085
+ :anomaly_instance_id,
2086
+ :comment,
2087
+ :profiling_group_name,
2088
+ :type)
2089
+ SENSITIVE = []
2090
+ include Aws::Structure
2091
+ end
2092
+
2093
+ # The structure representing the SubmitFeedbackResponse.
2094
+ #
2095
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedbackResponse AWS API Documentation
2096
+ #
2097
+ class SubmitFeedbackResponse < Aws::EmptyStructure; end
2098
+
2099
+ # @note When making an API call, you may pass TagResourceRequest
2100
+ # data as a hash:
2101
+ #
2102
+ # {
2103
+ # resource_arn: "ProfilingGroupArn", # required
2104
+ # tags: { # required
2105
+ # "String" => "String",
2106
+ # },
2107
+ # }
2108
+ #
2109
+ # @!attribute [rw] resource_arn
2110
+ # The Amazon Resource Name (ARN) of the resource that the tags are
2111
+ # added to.
2112
+ # @return [String]
2113
+ #
2114
+ # @!attribute [rw] tags
2115
+ # The list of tags that are added to the specified resource.
2116
+ # @return [Hash<String,String>]
2117
+ #
2118
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TagResourceRequest AWS API Documentation
2119
+ #
2120
+ class TagResourceRequest < Struct.new(
2121
+ :resource_arn,
2122
+ :tags)
2123
+ SENSITIVE = []
2124
+ include Aws::Structure
2125
+ end
2126
+
2127
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TagResourceResponse AWS API Documentation
2128
+ #
2129
+ class TagResourceResponse < Aws::EmptyStructure; end
2130
+
2131
+ # The request was denied due to request throttling.
2132
+ #
2133
+ # @!attribute [rw] message
2134
+ # @return [String]
2135
+ #
2136
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ThrottlingException AWS API Documentation
2137
+ #
2138
+ class ThrottlingException < Struct.new(
2139
+ :message)
2140
+ SENSITIVE = []
2141
+ include Aws::Structure
2142
+ end
2143
+
2144
+ # A data type that contains a `Timestamp` object. This is specified
2145
+ # using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z
2146
+ # represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
2147
+ #
2148
+ # @!attribute [rw] value
2149
+ # A `Timestamp`. This is specified using the ISO 8601 format. For
2150
+ # example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June
2151
+ # 1, 2020 1:15:02 PM UTC.
2152
+ # @return [Time]
2153
+ #
2154
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TimestampStructure AWS API Documentation
2155
+ #
2156
+ class TimestampStructure < Struct.new(
2157
+ :value)
2158
+ SENSITIVE = []
2159
+ include Aws::Structure
2160
+ end
2161
+
2162
+ # @note When making an API call, you may pass UntagResourceRequest
2163
+ # data as a hash:
2164
+ #
2165
+ # {
2166
+ # resource_arn: "ProfilingGroupArn", # required
2167
+ # tag_keys: ["String"], # required
2168
+ # }
2169
+ #
2170
+ # @!attribute [rw] resource_arn
2171
+ # The Amazon Resource Name (ARN) of the resource that contains the
2172
+ # tags to remove.
2173
+ # @return [String]
2174
+ #
2175
+ # @!attribute [rw] tag_keys
2176
+ # A list of tag keys. Existing tags of resources with keys in this
2177
+ # list are removed from the specified resource.
2178
+ # @return [Array<String>]
2179
+ #
2180
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UntagResourceRequest AWS API Documentation
2181
+ #
2182
+ class UntagResourceRequest < Struct.new(
2183
+ :resource_arn,
2184
+ :tag_keys)
2185
+ SENSITIVE = []
2186
+ include Aws::Structure
2187
+ end
2188
+
2189
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UntagResourceResponse AWS API Documentation
2190
+ #
2191
+ class UntagResourceResponse < Aws::EmptyStructure; end
2192
+
2193
+ # The structure representing the updateProfilingGroupRequest.
2194
+ #
2195
+ # @note When making an API call, you may pass UpdateProfilingGroupRequest
2196
+ # data as a hash:
2197
+ #
2198
+ # {
2199
+ # agent_orchestration_config: { # required
2200
+ # profiling_enabled: false, # required
2201
+ # },
2202
+ # profiling_group_name: "ProfilingGroupName", # required
2203
+ # }
2204
+ #
2205
+ # @!attribute [rw] agent_orchestration_config
2206
+ # Specifies whether profiling is enabled or disabled for a profiling
2207
+ # group.
2208
+ # @return [Types::AgentOrchestrationConfig]
2209
+ #
2210
+ # @!attribute [rw] profiling_group_name
2211
+ # The name of the profiling group to update.
2212
+ # @return [String]
2213
+ #
2214
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroupRequest AWS API Documentation
2215
+ #
2216
+ class UpdateProfilingGroupRequest < Struct.new(
2217
+ :agent_orchestration_config,
2218
+ :profiling_group_name)
2219
+ SENSITIVE = []
2220
+ include Aws::Structure
2221
+ end
2222
+
2223
+ # The structure representing the updateProfilingGroupResponse.
2224
+ #
2225
+ # @!attribute [rw] profiling_group
2226
+ # A [ `ProfilingGroupDescription` ][1] that contains information about
2227
+ # the returned updated profiling group.
2228
+ #
2229
+ #
2230
+ #
2231
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
2232
+ # @return [Types::ProfilingGroupDescription]
2233
+ #
2234
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroupResponse AWS API Documentation
2235
+ #
2236
+ class UpdateProfilingGroupResponse < Struct.new(
2237
+ :profiling_group)
2238
+ SENSITIVE = []
2239
+ include Aws::Structure
2240
+ end
2241
+
2242
+ # Feedback that can be submitted for each instance of an anomaly by the
2243
+ # user. Feedback is be used for improvements in generating
2244
+ # recommendations for the application.
2245
+ #
2246
+ # @!attribute [rw] type
2247
+ # Optional `Positive` or `Negative` feedback submitted by the user
2248
+ # about whether the recommendation is useful or not.
2249
+ # @return [String]
2250
+ #
2251
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UserFeedback AWS API Documentation
2252
+ #
2253
+ class UserFeedback < Struct.new(
2254
+ :type)
2255
+ SENSITIVE = []
2256
+ include Aws::Structure
2257
+ end
2258
+
2259
+ # The parameter is not valid.
2260
+ #
2261
+ # @!attribute [rw] message
2262
+ # @return [String]
2263
+ #
2264
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ValidationException AWS API Documentation
2265
+ #
2266
+ class ValidationException < Struct.new(
2267
+ :message)
2268
+ SENSITIVE = []
2269
+ include Aws::Structure
2270
+ end
2271
+
2272
+ end
2273
+ end