aws-sdk-codeguruprofiler 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,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