aws-sdk-codeguruprofiler 1.7.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -10,21 +10,117 @@
10
10
  module Aws::CodeGuruProfiler
11
11
  module Types
12
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
+ #
13
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
14
99
  # @return [Integer]
15
100
  #
16
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.
17
104
  # @return [Boolean]
18
105
  #
19
106
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AgentConfiguration AWS API Documentation
20
107
  #
21
108
  class AgentConfiguration < Struct.new(
109
+ :agent_parameters,
22
110
  :period_in_seconds,
23
111
  :should_profile)
24
112
  SENSITIVE = []
25
113
  include Aws::Structure
26
114
  end
27
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
+ #
28
124
  # @note When making an API call, you may pass AgentOrchestrationConfig
29
125
  # data as a hash:
30
126
  #
@@ -33,6 +129,8 @@ module Aws::CodeGuruProfiler
33
129
  # }
34
130
  #
35
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.
36
134
  # @return [Boolean]
37
135
  #
38
136
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AgentOrchestrationConfig AWS API Documentation
@@ -43,15 +141,33 @@ module Aws::CodeGuruProfiler
43
141
  include Aws::Structure
44
142
  end
45
143
 
46
- # Information about the time range of the latest available aggregated
47
- # profile.
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).
48
148
  #
49
149
  # @!attribute [rw] period
50
- # The time 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
51
160
  # @return [String]
52
161
  #
53
162
  # @!attribute [rw] start
54
- # The start time.
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.
55
171
  # @return [Time]
56
172
  #
57
173
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AggregatedProfileTime AWS API Documentation
@@ -63,6 +179,252 @@ module Aws::CodeGuruProfiler
63
179
  include Aws::Structure
64
180
  end
65
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
+
66
428
  # The structure representing the configureAgentRequest.
67
429
  #
68
430
  # @note When making an API call, you may pass ConfigureAgentRequest
@@ -70,19 +432,60 @@ module Aws::CodeGuruProfiler
70
432
  #
71
433
  # {
72
434
  # fleet_instance_id: "FleetInstanceId",
435
+ # metadata: {
436
+ # "AgentId" => "String",
437
+ # },
73
438
  # profiling_group_name: "ProfilingGroupName", # required
74
439
  # }
75
440
  #
76
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.
77
446
  # @return [String]
78
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
+ #
79
479
  # @!attribute [rw] profiling_group_name
480
+ # The name of the profiling group for which the configured agent is
481
+ # collecting profiling data.
80
482
  # @return [String]
81
483
  #
82
484
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgentRequest AWS API Documentation
83
485
  #
84
486
  class ConfigureAgentRequest < Struct.new(
85
487
  :fleet_instance_id,
488
+ :metadata,
86
489
  :profiling_group_name)
87
490
  SENSITIVE = []
88
491
  include Aws::Structure
@@ -91,6 +494,12 @@ module Aws::CodeGuruProfiler
91
494
  # The structure representing the configureAgentResponse.
92
495
  #
93
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
94
503
  # @return [Types::AgentConfiguration]
95
504
  #
96
505
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgentResponse AWS API Documentation
@@ -126,26 +535,34 @@ module Aws::CodeGuruProfiler
126
535
  # profiling_enabled: false, # required
127
536
  # },
128
537
  # client_token: "ClientToken", # required
538
+ # compute_platform: "AWSLambda", # accepts AWSLambda, Default
129
539
  # profiling_group_name: "ProfilingGroupName", # required
130
540
  # }
131
541
  #
132
542
  # @!attribute [rw] agent_orchestration_config
133
- # The agent orchestration configuration.
543
+ # Specifies whether profiling is enabled or disabled for the created
544
+ # profiling group.
134
545
  # @return [Types::AgentOrchestrationConfig]
135
546
  #
136
547
  # @!attribute [rw] client_token
137
- # Unique, case-sensitive identifier that you provide to ensure the
138
- # idempotency of the request.
139
- #
140
- # This parameter specifies a unique identifier for the new profiling
141
- # group that helps ensure idempotency.
548
+ # Amazon CodeGuru Profiler uses this universally unique identifier
549
+ # (UUID) to prevent the accidental creation of duplicate profiling
550
+ # groups if there are failures and retries.
142
551
  #
143
552
  # **A suitable default value is auto-generated.** You should normally
144
553
  # not need to pass this option.
145
554
  # @return [String]
146
555
  #
556
+ # @!attribute [rw] compute_platform
557
+ # The compute platform of the profiling group. Use `AWSLambda` if your
558
+ # application runs on AWS Lambda. Use `Default` if your application
559
+ # runs on a compute platform that is not AWS Lambda, such an Amazon
560
+ # EC2 instance, an on-premises server, or a different platform. If not
561
+ # specified, `Default` is used.
562
+ # @return [String]
563
+ #
147
564
  # @!attribute [rw] profiling_group_name
148
- # The name of the profiling group.
565
+ # The name of the profiling group to create.
149
566
  # @return [String]
150
567
  #
151
568
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroupRequest AWS API Documentation
@@ -153,6 +570,7 @@ module Aws::CodeGuruProfiler
153
570
  class CreateProfilingGroupRequest < Struct.new(
154
571
  :agent_orchestration_config,
155
572
  :client_token,
573
+ :compute_platform,
156
574
  :profiling_group_name)
157
575
  SENSITIVE = []
158
576
  include Aws::Structure
@@ -161,7 +579,12 @@ module Aws::CodeGuruProfiler
161
579
  # The structure representing the createProfilingGroupResponse.
162
580
  #
163
581
  # @!attribute [rw] profiling_group
164
- # Information about the new profiling group
582
+ # The returned [ `ProfilingGroupDescription` ][1] object that contains
583
+ # information about the created profiling group.
584
+ #
585
+ #
586
+ #
587
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
165
588
  # @return [Types::ProfilingGroupDescription]
166
589
  #
167
590
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroupResponse AWS API Documentation
@@ -182,7 +605,7 @@ module Aws::CodeGuruProfiler
182
605
  # }
183
606
  #
184
607
  # @!attribute [rw] profiling_group_name
185
- # The profiling group name to delete.
608
+ # The name of the profiling group to delete.
186
609
  # @return [String]
187
610
  #
188
611
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroupRequest AWS API Documentation
@@ -209,7 +632,7 @@ module Aws::CodeGuruProfiler
209
632
  # }
210
633
  #
211
634
  # @!attribute [rw] profiling_group_name
212
- # The profiling group name.
635
+ # The name of the profiling group to get information about.
213
636
  # @return [String]
214
637
  #
215
638
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroupRequest AWS API Documentation
@@ -223,7 +646,12 @@ module Aws::CodeGuruProfiler
223
646
  # The structure representing the describeProfilingGroupResponse.
224
647
  #
225
648
  # @!attribute [rw] profiling_group
226
- # Information about a profiling group.
649
+ # The returned [ `ProfilingGroupDescription` ][1] object that contains
650
+ # information about the requested profiling group.
651
+ #
652
+ #
653
+ #
654
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
227
655
  # @return [Types::ProfilingGroupDescription]
228
656
  #
229
657
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroupResponse AWS API Documentation
@@ -234,7 +662,228 @@ module Aws::CodeGuruProfiler
234
662
  include Aws::Structure
235
663
  end
236
664
 
237
- # The structure representing the getPolicyRequest.
665
+ # Information about potential recommendations that might be created from
666
+ # the analysis of profiling data.
667
+ #
668
+ # @!attribute [rw] id
669
+ # The universally unique identifier (UUID) of the recommendation
670
+ # report.
671
+ # @return [String]
672
+ #
673
+ # @!attribute [rw] profile_end_time
674
+ # The end time of the period during which the metric is flagged as
675
+ # anomalous. This is specified using the ISO 8601 format. For example,
676
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
677
+ # 1:15:02 PM UTC.
678
+ # @return [Time]
679
+ #
680
+ # @!attribute [rw] profile_start_time
681
+ # The start time of the profile the analysis data is about. This is
682
+ # specified using the ISO 8601 format. For example,
683
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
684
+ # 1:15:02 PM UTC.
685
+ # @return [Time]
686
+ #
687
+ # @!attribute [rw] profiling_group_name
688
+ # The name of the profiling group that is associated with the analysis
689
+ # data.
690
+ # @return [String]
691
+ #
692
+ # @!attribute [rw] total_number_of_findings
693
+ # The total number of different recommendations that were found by the
694
+ # analysis.
695
+ # @return [Integer]
696
+ #
697
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/FindingsReportSummary AWS API Documentation
698
+ #
699
+ class FindingsReportSummary < Struct.new(
700
+ :id,
701
+ :profile_end_time,
702
+ :profile_start_time,
703
+ :profiling_group_name,
704
+ :total_number_of_findings)
705
+ SENSITIVE = []
706
+ include Aws::Structure
707
+ end
708
+
709
+ # The frame name, metric type, and thread states. These are used to
710
+ # derive the value of the metric for the frame.
711
+ #
712
+ # @note When making an API call, you may pass FrameMetric
713
+ # data as a hash:
714
+ #
715
+ # {
716
+ # frame_name: "String", # required
717
+ # thread_states: ["String"], # required
718
+ # type: "AggregatedRelativeTotalTime", # required, accepts AggregatedRelativeTotalTime
719
+ # }
720
+ #
721
+ # @!attribute [rw] frame_name
722
+ # Name of the method common across the multiple occurrences of a frame
723
+ # in an application profile.
724
+ # @return [String]
725
+ #
726
+ # @!attribute [rw] thread_states
727
+ # List of application runtime thread states used to get the counts for
728
+ # a frame a derive a metric value.
729
+ # @return [Array<String>]
730
+ #
731
+ # @!attribute [rw] type
732
+ # A type of aggregation that specifies how a metric for a frame is
733
+ # analyzed. The supported value `AggregatedRelativeTotalTime` is an
734
+ # aggregation of the metric value for one frame that is calculated
735
+ # across the occurrences of all frames in a profile.
736
+ # @return [String]
737
+ #
738
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/FrameMetric AWS API Documentation
739
+ #
740
+ class FrameMetric < Struct.new(
741
+ :frame_name,
742
+ :thread_states,
743
+ :type)
744
+ SENSITIVE = []
745
+ include Aws::Structure
746
+ end
747
+
748
+ # Information about a frame metric and its values.
749
+ #
750
+ # @!attribute [rw] frame_metric
751
+ # The frame name, metric type, and thread states. These are used to
752
+ # derive the value of the metric for the frame.
753
+ # @return [Types::FrameMetric]
754
+ #
755
+ # @!attribute [rw] values
756
+ # A list of values that are associated with a frame metric.
757
+ # @return [Array<Float>]
758
+ #
759
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/FrameMetricDatum AWS API Documentation
760
+ #
761
+ class FrameMetricDatum < Struct.new(
762
+ :frame_metric,
763
+ :values)
764
+ SENSITIVE = []
765
+ include Aws::Structure
766
+ end
767
+
768
+ # The structure representing the GetFindingsReportAccountSummaryRequest.
769
+ #
770
+ # @note When making an API call, you may pass GetFindingsReportAccountSummaryRequest
771
+ # data as a hash:
772
+ #
773
+ # {
774
+ # daily_reports_only: false,
775
+ # max_results: 1,
776
+ # next_token: "PaginationToken",
777
+ # }
778
+ #
779
+ # @!attribute [rw] daily_reports_only
780
+ # A `Boolean` value indicating whether to only return reports from
781
+ # daily profiles. If set to `True`, only analysis data from daily
782
+ # profiles is returned. If set to `False`, analysis data is returned
783
+ # from smaller time windows (for example, one hour).
784
+ # @return [Boolean]
785
+ #
786
+ # @!attribute [rw] max_results
787
+ # The maximum number of results returned by `
788
+ # GetFindingsReportAccountSummary` in paginated output. When this
789
+ # parameter is used, `GetFindingsReportAccountSummary` only returns
790
+ # `maxResults` results in a single page along with a `nextToken`
791
+ # response element. The remaining results of the initial request can
792
+ # be seen by sending another `GetFindingsReportAccountSummary` request
793
+ # with the returned `nextToken` value.
794
+ # @return [Integer]
795
+ #
796
+ # @!attribute [rw] next_token
797
+ # The `nextToken` value returned from a previous paginated
798
+ # `GetFindingsReportAccountSummary` request where `maxResults` was
799
+ # used and the results exceeded the value of that parameter.
800
+ # Pagination continues from the end of the previous results that
801
+ # returned the `nextToken` value.
802
+ #
803
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
804
+ # used to retrieve the next items in a list and not for other
805
+ # programmatic purposes.
806
+ #
807
+ # </note>
808
+ # @return [String]
809
+ #
810
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummaryRequest AWS API Documentation
811
+ #
812
+ class GetFindingsReportAccountSummaryRequest < Struct.new(
813
+ :daily_reports_only,
814
+ :max_results,
815
+ :next_token)
816
+ SENSITIVE = []
817
+ include Aws::Structure
818
+ end
819
+
820
+ # The structure representing the
821
+ # GetFindingsReportAccountSummaryResponse.
822
+ #
823
+ # @!attribute [rw] next_token
824
+ # The `nextToken` value to include in a future
825
+ # `GetFindingsReportAccountSummary` request. When the results of a
826
+ # `GetFindingsReportAccountSummary` request exceed `maxResults`, this
827
+ # value can be used to retrieve the next page of results. This value
828
+ # is `null` when there are no more results to return.
829
+ # @return [String]
830
+ #
831
+ # @!attribute [rw] report_summaries
832
+ # The return list of [ `FindingsReportSummary` ][1] objects taht
833
+ # contain summaries of analysis results for all profiling groups in
834
+ # your AWS account.
835
+ #
836
+ #
837
+ #
838
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html
839
+ # @return [Array<Types::FindingsReportSummary>]
840
+ #
841
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummaryResponse AWS API Documentation
842
+ #
843
+ class GetFindingsReportAccountSummaryResponse < Struct.new(
844
+ :next_token,
845
+ :report_summaries)
846
+ SENSITIVE = []
847
+ include Aws::Structure
848
+ end
849
+
850
+ # The structure representing the GetNotificationConfigurationRequest.
851
+ #
852
+ # @note When making an API call, you may pass GetNotificationConfigurationRequest
853
+ # data as a hash:
854
+ #
855
+ # {
856
+ # profiling_group_name: "ProfilingGroupName", # required
857
+ # }
858
+ #
859
+ # @!attribute [rw] profiling_group_name
860
+ # The name of the profiling group we want to get the notification
861
+ # configuration for.
862
+ # @return [String]
863
+ #
864
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfigurationRequest AWS API Documentation
865
+ #
866
+ class GetNotificationConfigurationRequest < Struct.new(
867
+ :profiling_group_name)
868
+ SENSITIVE = []
869
+ include Aws::Structure
870
+ end
871
+
872
+ # The structure representing the GetNotificationConfigurationResponse.
873
+ #
874
+ # @!attribute [rw] notification_configuration
875
+ # The current notification configuration for this profiling group.
876
+ # @return [Types::NotificationConfiguration]
877
+ #
878
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfigurationResponse AWS API Documentation
879
+ #
880
+ class GetNotificationConfigurationResponse < Struct.new(
881
+ :notification_configuration)
882
+ SENSITIVE = []
883
+ include Aws::Structure
884
+ end
885
+
886
+ # The structure representing the `getPolicyRequest`.
238
887
  #
239
888
  # @note When making an API call, you may pass GetPolicyRequest
240
889
  # data as a hash:
@@ -247,128 +896,350 @@ module Aws::CodeGuruProfiler
247
896
  # The name of the profiling group.
248
897
  # @return [String]
249
898
  #
250
- # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyRequest AWS API Documentation
899
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyRequest AWS API Documentation
900
+ #
901
+ class GetPolicyRequest < Struct.new(
902
+ :profiling_group_name)
903
+ SENSITIVE = []
904
+ include Aws::Structure
905
+ end
906
+
907
+ # The structure representing the `getPolicyResponse`.
908
+ #
909
+ # @!attribute [rw] policy
910
+ # The JSON-formatted resource-based policy attached to the
911
+ # `ProfilingGroup`.
912
+ # @return [String]
913
+ #
914
+ # @!attribute [rw] revision_id
915
+ # A unique identifier for the current revision of the returned policy.
916
+ # @return [String]
917
+ #
918
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyResponse AWS API Documentation
919
+ #
920
+ class GetPolicyResponse < Struct.new(
921
+ :policy,
922
+ :revision_id)
923
+ SENSITIVE = []
924
+ include Aws::Structure
925
+ end
926
+
927
+ # The structure representing the getProfileRequest.
928
+ #
929
+ # @note When making an API call, you may pass GetProfileRequest
930
+ # data as a hash:
931
+ #
932
+ # {
933
+ # accept: "String",
934
+ # end_time: Time.now,
935
+ # max_depth: 1,
936
+ # period: "Period",
937
+ # profiling_group_name: "ProfilingGroupName", # required
938
+ # start_time: Time.now,
939
+ # }
940
+ #
941
+ # @!attribute [rw] accept
942
+ # The format of the returned profiling data. The format maps to the
943
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
944
+ # specify one of the following: or the default .
945
+ #
946
+ # <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>
947
+ # @return [String]
948
+ #
949
+ # @!attribute [rw] end_time
950
+ # The end time of the requested profile. Specify using the ISO 8601
951
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
952
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
953
+ #
954
+ # If you specify `endTime`, then you must also specify `period` or
955
+ # `startTime`, but not both.
956
+ # @return [Time]
957
+ #
958
+ # @!attribute [rw] max_depth
959
+ # The maximum depth of the stacks in the code that is represented in
960
+ # the aggregated profile. For example, if CodeGuru Profiler finds a
961
+ # method `A`, which calls method `B`, which calls method `C`, which
962
+ # calls method `D`, then the depth is 4. If the `maxDepth` is set to
963
+ # 2, then the aggregated profile contains representations of methods
964
+ # `A` and `B`.
965
+ # @return [Integer]
966
+ #
967
+ # @!attribute [rw] period
968
+ # Used with `startTime` or `endTime` to specify the time range for the
969
+ # returned aggregated profile. Specify using the ISO 8601 format. For
970
+ # example, `P1DT1H1M1S`.
971
+ #
972
+ # <p> To get the latest aggregated profile, specify only <code>period</code>. </p>
973
+ # @return [String]
974
+ #
975
+ # @!attribute [rw] profiling_group_name
976
+ # The name of the profiling group to get.
977
+ # @return [String]
978
+ #
979
+ # @!attribute [rw] start_time
980
+ # The start time of the profile to get. Specify using the ISO 8601
981
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
982
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
983
+ #
984
+ # <p> If you specify <code>startTime</code>, then you must also specify <code>period</code> or <code>endTime</code>, but not both. </p>
985
+ # @return [Time]
986
+ #
987
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileRequest AWS API Documentation
988
+ #
989
+ class GetProfileRequest < Struct.new(
990
+ :accept,
991
+ :end_time,
992
+ :max_depth,
993
+ :period,
994
+ :profiling_group_name,
995
+ :start_time)
996
+ SENSITIVE = []
997
+ include Aws::Structure
998
+ end
999
+
1000
+ # The structure representing the getProfileResponse.
1001
+ #
1002
+ # @!attribute [rw] content_encoding
1003
+ # The content encoding of the profile.
1004
+ # @return [String]
1005
+ #
1006
+ # @!attribute [rw] content_type
1007
+ # The content type of the profile in the payload. It is either
1008
+ # `application/json` or the default `application/x-amzn-ion`.
1009
+ # @return [String]
1010
+ #
1011
+ # @!attribute [rw] profile
1012
+ # Information about the profile.
1013
+ # @return [String]
1014
+ #
1015
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileResponse AWS API Documentation
1016
+ #
1017
+ class GetProfileResponse < Struct.new(
1018
+ :content_encoding,
1019
+ :content_type,
1020
+ :profile)
1021
+ SENSITIVE = []
1022
+ include Aws::Structure
1023
+ end
1024
+
1025
+ # The structure representing the GetRecommendationsRequest.
1026
+ #
1027
+ # @note When making an API call, you may pass GetRecommendationsRequest
1028
+ # data as a hash:
1029
+ #
1030
+ # {
1031
+ # end_time: Time.now, # required
1032
+ # locale: "Locale",
1033
+ # profiling_group_name: "ProfilingGroupName", # required
1034
+ # start_time: Time.now, # required
1035
+ # }
1036
+ #
1037
+ # @!attribute [rw] end_time
1038
+ # The start time of the profile to get analysis data about. You must
1039
+ # specify `startTime` and `endTime`. This is specified using the ISO
1040
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1041
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1042
+ # @return [Time]
1043
+ #
1044
+ # @!attribute [rw] locale
1045
+ # The language used to provide analysis. Specify using a string that
1046
+ # is one of the following `BCP 47` language codes.
1047
+ #
1048
+ # * `de-DE` - German, Germany
1049
+ #
1050
+ # * `en-GB` - English, United Kingdom
1051
+ #
1052
+ # * `en-US` - English, United States
1053
+ #
1054
+ # * `es-ES` - Spanish, Spain
1055
+ #
1056
+ # * `fr-FR` - French, France
1057
+ #
1058
+ # * `it-IT` - Italian, Italy
1059
+ #
1060
+ # * `ja-JP` - Japanese, Japan
1061
+ #
1062
+ # * `ko-KR` - Korean, Republic of Korea
1063
+ #
1064
+ # * `pt-BR` - Portugese, Brazil
1065
+ #
1066
+ # * `zh-CN` - Chinese, China
1067
+ #
1068
+ # * `zh-TW` - Chinese, Taiwan
1069
+ # @return [String]
1070
+ #
1071
+ # @!attribute [rw] profiling_group_name
1072
+ # The name of the profiling group to get analysis data about.
1073
+ # @return [String]
1074
+ #
1075
+ # @!attribute [rw] start_time
1076
+ # The end time of the profile to get analysis data about. You must
1077
+ # specify `startTime` and `endTime`. This is specified using the ISO
1078
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1079
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1080
+ # @return [Time]
1081
+ #
1082
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendationsRequest AWS API Documentation
1083
+ #
1084
+ class GetRecommendationsRequest < Struct.new(
1085
+ :end_time,
1086
+ :locale,
1087
+ :profiling_group_name,
1088
+ :start_time)
1089
+ SENSITIVE = []
1090
+ include Aws::Structure
1091
+ end
1092
+
1093
+ # The structure representing the GetRecommendationsResponse.
1094
+ #
1095
+ # @!attribute [rw] anomalies
1096
+ # The list of anomalies that the analysis has found for this profile.
1097
+ # @return [Array<Types::Anomaly>]
1098
+ #
1099
+ # @!attribute [rw] profile_end_time
1100
+ # The end time of the profile the analysis data is about. This is
1101
+ # specified using the ISO 8601 format. For example,
1102
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1103
+ # 1:15:02 PM UTC.
1104
+ # @return [Time]
1105
+ #
1106
+ # @!attribute [rw] profile_start_time
1107
+ # The start time of the profile the analysis data is about. This is
1108
+ # specified using the ISO 8601 format. For example,
1109
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1110
+ # 1:15:02 PM UTC.
1111
+ # @return [Time]
1112
+ #
1113
+ # @!attribute [rw] profiling_group_name
1114
+ # The name of the profiling group the analysis data is about.
1115
+ # @return [String]
1116
+ #
1117
+ # @!attribute [rw] recommendations
1118
+ # The list of recommendations that the analysis found for this
1119
+ # profile.
1120
+ # @return [Array<Types::Recommendation>]
1121
+ #
1122
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendationsResponse AWS API Documentation
251
1123
  #
252
- class GetPolicyRequest < Struct.new(
253
- :profiling_group_name)
1124
+ class GetRecommendationsResponse < Struct.new(
1125
+ :anomalies,
1126
+ :profile_end_time,
1127
+ :profile_start_time,
1128
+ :profiling_group_name,
1129
+ :recommendations)
254
1130
  SENSITIVE = []
255
1131
  include Aws::Structure
256
1132
  end
257
1133
 
258
- # The structure representing the getPolicyResponse.
259
- #
260
- # @!attribute [rw] policy
261
- # The resource-based policy attached to the `ProfilingGroup`.
262
- # @return [String]
1134
+ # The server encountered an internal error and is unable to complete the
1135
+ # request.
263
1136
  #
264
- # @!attribute [rw] revision_id
265
- # A unique identifier for the current revision of the policy.
1137
+ # @!attribute [rw] message
266
1138
  # @return [String]
267
1139
  #
268
- # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyResponse AWS API Documentation
1140
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/InternalServerException AWS API Documentation
269
1141
  #
270
- class GetPolicyResponse < Struct.new(
271
- :policy,
272
- :revision_id)
1142
+ class InternalServerException < Struct.new(
1143
+ :message)
273
1144
  SENSITIVE = []
274
1145
  include Aws::Structure
275
1146
  end
276
1147
 
277
- # The structure representing the getProfileRequest.
1148
+ # The structure representing the ListFindingsReportsRequest.
278
1149
  #
279
- # @note When making an API call, you may pass GetProfileRequest
1150
+ # @note When making an API call, you may pass ListFindingsReportsRequest
280
1151
  # data as a hash:
281
1152
  #
282
1153
  # {
283
- # accept: "String",
284
- # end_time: Time.now,
285
- # max_depth: 1,
286
- # period: "Period",
1154
+ # daily_reports_only: false,
1155
+ # end_time: Time.now, # required
1156
+ # max_results: 1,
1157
+ # next_token: "PaginationToken",
287
1158
  # profiling_group_name: "ProfilingGroupName", # required
288
- # start_time: Time.now,
1159
+ # start_time: Time.now, # required
289
1160
  # }
290
1161
  #
291
- # @!attribute [rw] accept
292
- # The format of the profile to return. You can choose
293
- # `application/json` or the default `application/x-amzn-ion`.
294
- # @return [String]
1162
+ # @!attribute [rw] daily_reports_only
1163
+ # A `Boolean` value indicating whether to only return reports from
1164
+ # daily profiles. If set to `True`, only analysis data from daily
1165
+ # profiles is returned. If set to `False`, analysis data is returned
1166
+ # from smaller time windows (for example, one hour).
1167
+ # @return [Boolean]
295
1168
  #
296
1169
  # @!attribute [rw] end_time
297
- # You must specify exactly two of the following parameters:
298
- # `startTime`, `period`, and `endTime`.
1170
+ # The end time of the profile to get analysis data about. You must
1171
+ # specify `startTime` and `endTime`. This is specified using the ISO
1172
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1173
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
299
1174
  # @return [Time]
300
1175
  #
301
- # @!attribute [rw] max_depth
302
- # The maximum depth of the graph.
1176
+ # @!attribute [rw] max_results
1177
+ # The maximum number of report results returned by
1178
+ # `ListFindingsReports` in paginated output. When this parameter is
1179
+ # used, `ListFindingsReports` only returns `maxResults` results in a
1180
+ # single page along with a `nextToken` response element. The remaining
1181
+ # results of the initial request can be seen by sending another
1182
+ # `ListFindingsReports` request with the returned `nextToken` value.
303
1183
  # @return [Integer]
304
1184
  #
305
- # @!attribute [rw] period
306
- # The period of the profile to get. The time range must be in the past
307
- # and not longer than one week.
1185
+ # @!attribute [rw] next_token
1186
+ # The `nextToken` value returned from a previous paginated
1187
+ # `ListFindingsReportsRequest` request where `maxResults` was used and
1188
+ # the results exceeded the value of that parameter. Pagination
1189
+ # continues from the end of the previous results that returned the
1190
+ # `nextToken` value.
308
1191
  #
309
- # You must specify exactly two of the following parameters:
310
- # `startTime`, `period`, and `endTime`.
1192
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
1193
+ # used to retrieve the next items in a list and not for other
1194
+ # programmatic purposes.
1195
+ #
1196
+ # </note>
311
1197
  # @return [String]
312
1198
  #
313
1199
  # @!attribute [rw] profiling_group_name
314
- # The name of the profiling group to get.
1200
+ # The name of the profiling group from which to search for analysis
1201
+ # data.
315
1202
  # @return [String]
316
1203
  #
317
1204
  # @!attribute [rw] start_time
318
- # The start time of the profile to get.
319
- #
320
- # You must specify exactly two of the following parameters:
321
- # `startTime`, `period`, and `endTime`.
1205
+ # The start time of the profile to get analysis data about. You must
1206
+ # specify `startTime` and `endTime`. This is specified using the ISO
1207
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1208
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
322
1209
  # @return [Time]
323
1210
  #
324
- # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileRequest AWS API Documentation
1211
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReportsRequest AWS API Documentation
325
1212
  #
326
- class GetProfileRequest < Struct.new(
327
- :accept,
1213
+ class ListFindingsReportsRequest < Struct.new(
1214
+ :daily_reports_only,
328
1215
  :end_time,
329
- :max_depth,
330
- :period,
1216
+ :max_results,
1217
+ :next_token,
331
1218
  :profiling_group_name,
332
1219
  :start_time)
333
1220
  SENSITIVE = []
334
1221
  include Aws::Structure
335
1222
  end
336
1223
 
337
- # The structure representing the getProfileResponse.
338
- #
339
- # @!attribute [rw] content_encoding
340
- # The content encoding of the profile.
341
- # @return [String]
342
- #
343
- # @!attribute [rw] content_type
344
- # The content type of the profile in the payload. It is either
345
- # `application/json` or the default `application/x-amzn-ion`.
346
- # @return [String]
1224
+ # The structure representing the ListFindingsReportsResponse.
347
1225
  #
348
- # @!attribute [rw] profile
349
- # Information about the profile.
350
- # @return [String]
351
- #
352
- # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileResponse AWS API Documentation
353
- #
354
- class GetProfileResponse < Struct.new(
355
- :content_encoding,
356
- :content_type,
357
- :profile)
358
- SENSITIVE = []
359
- include Aws::Structure
360
- end
361
-
362
- # The server encountered an internal error and is unable to complete the
363
- # request.
1226
+ # @!attribute [rw] findings_report_summaries
1227
+ # The list of analysis results summaries.
1228
+ # @return [Array<Types::FindingsReportSummary>]
364
1229
  #
365
- # @!attribute [rw] message
1230
+ # @!attribute [rw] next_token
1231
+ # The `nextToken` value to include in a future `ListFindingsReports`
1232
+ # request. When the results of a `ListFindingsReports` request exceed
1233
+ # `maxResults`, this value can be used to retrieve the next page of
1234
+ # results. This value is `null` when there are no more results to
1235
+ # return.
366
1236
  # @return [String]
367
1237
  #
368
- # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/InternalServerException AWS API Documentation
1238
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReportsResponse AWS API Documentation
369
1239
  #
370
- class InternalServerException < Struct.new(
371
- :message)
1240
+ class ListFindingsReportsResponse < Struct.new(
1241
+ :findings_report_summaries,
1242
+ :next_token)
372
1243
  SENSITIVE = []
373
1244
  include Aws::Structure
374
1245
  end
@@ -421,7 +1292,15 @@ module Aws::CodeGuruProfiler
421
1292
  # @return [String]
422
1293
  #
423
1294
  # @!attribute [rw] period
424
- # The aggregation period.
1295
+ # The aggregation period. This specifies the period during which an
1296
+ # aggregation profile collects posted agent profiles for a profiling
1297
+ # group. There are 3 valid values.
1298
+ #
1299
+ # * `P1D` — 1 day
1300
+ #
1301
+ # * `PT1H` — 1 hour
1302
+ #
1303
+ # * `PT5M` — 5 minutes
425
1304
  # @return [String]
426
1305
  #
427
1306
  # @!attribute [rw] profiling_group_name
@@ -482,7 +1361,15 @@ module Aws::CodeGuruProfiler
482
1361
  # }
483
1362
  #
484
1363
  # @!attribute [rw] include_description
485
- # A Boolean value indicating whether to include a description.
1364
+ # A `Boolean` value indicating whether to include a description. If
1365
+ # `true`, then a list of [ `ProfilingGroupDescription` ][1] objects
1366
+ # that contain detailed information about profiling groups is
1367
+ # returned. If `false`, then a list of profiling group names is
1368
+ # returned.
1369
+ #
1370
+ #
1371
+ #
1372
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
486
1373
  # @return [Boolean]
487
1374
  #
488
1375
  # @!attribute [rw] max_results
@@ -529,11 +1416,24 @@ module Aws::CodeGuruProfiler
529
1416
  # @return [String]
530
1417
  #
531
1418
  # @!attribute [rw] profiling_group_names
532
- # Information about profiling group names.
1419
+ # A returned list of profiling group names. A list of the names is
1420
+ # returned only if `includeDescription` is `false`, otherwise a list
1421
+ # of [ `ProfilingGroupDescription` ][1] objects is returned.
1422
+ #
1423
+ #
1424
+ #
1425
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
533
1426
  # @return [Array<String>]
534
1427
  #
535
1428
  # @!attribute [rw] profiling_groups
536
- # Information about profiling groups.
1429
+ # A returned list [ `ProfilingGroupDescription` ][1] objects. A list
1430
+ # of [ `ProfilingGroupDescription` ][1] objects is returned only if
1431
+ # `includeDescription` is `true`, otherwise a list of profiling group
1432
+ # names is returned.
1433
+ #
1434
+ #
1435
+ #
1436
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
537
1437
  # @return [Array<Types::ProfilingGroupDescription>]
538
1438
  #
539
1439
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroupsResponse AWS API Documentation
@@ -546,6 +1446,132 @@ module Aws::CodeGuruProfiler
546
1446
  include Aws::Structure
547
1447
  end
548
1448
 
1449
+ # The part of a profile that contains a recommendation found during
1450
+ # analysis.
1451
+ #
1452
+ # @!attribute [rw] frame_address
1453
+ # The location in the profiling graph that contains a recommendation
1454
+ # found during analysis.
1455
+ # @return [String]
1456
+ #
1457
+ # @!attribute [rw] target_frames_index
1458
+ # The target frame that triggered a match.
1459
+ # @return [Integer]
1460
+ #
1461
+ # @!attribute [rw] threshold_breach_value
1462
+ # The value in the profile data that exceeded the recommendation
1463
+ # threshold.
1464
+ # @return [Float]
1465
+ #
1466
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Match AWS API Documentation
1467
+ #
1468
+ class Match < Struct.new(
1469
+ :frame_address,
1470
+ :target_frames_index,
1471
+ :threshold_breach_value)
1472
+ SENSITIVE = []
1473
+ include Aws::Structure
1474
+ end
1475
+
1476
+ # Details about the metric that the analysis used when it detected the
1477
+ # anomaly. The metric what is analyzed to create recommendations. It
1478
+ # includes the name of the frame that was analyzed and the type and
1479
+ # thread states used to derive the metric value for that frame.
1480
+ #
1481
+ # @!attribute [rw] frame_name
1482
+ # The name of the method that appears as a frame in any stack in a
1483
+ # profile.
1484
+ # @return [String]
1485
+ #
1486
+ # @!attribute [rw] thread_states
1487
+ # The list of application runtime thread states that is used to
1488
+ # calculate the metric value for the frame.
1489
+ # @return [Array<String>]
1490
+ #
1491
+ # @!attribute [rw] type
1492
+ # A type that specifies how a metric for a frame is analyzed. The
1493
+ # supported value `AggregatedRelativeTotalTime` is an aggregation of
1494
+ # the metric value for one frame that is calculated across the
1495
+ # occurences of all frames in a profile.
1496
+ # @return [String]
1497
+ #
1498
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Metric AWS API Documentation
1499
+ #
1500
+ class Metric < Struct.new(
1501
+ :frame_name,
1502
+ :thread_states,
1503
+ :type)
1504
+ SENSITIVE = []
1505
+ include Aws::Structure
1506
+ end
1507
+
1508
+ # The configuration for notifications stored for each profiling group.
1509
+ # This includes up to to two channels and a list of event publishers
1510
+ # associated with each channel.
1511
+ #
1512
+ # @!attribute [rw] channels
1513
+ # List of up to two channels to be used for sending notifications for
1514
+ # events detected from the application profile.
1515
+ # @return [Array<Types::Channel>]
1516
+ #
1517
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/NotificationConfiguration AWS API Documentation
1518
+ #
1519
+ class NotificationConfiguration < Struct.new(
1520
+ :channels)
1521
+ SENSITIVE = []
1522
+ include Aws::Structure
1523
+ end
1524
+
1525
+ # A set of rules used to make a recommendation during an analysis.
1526
+ #
1527
+ # @!attribute [rw] counters_to_aggregate
1528
+ # A list of the different counters used to determine if there is a
1529
+ # match.
1530
+ # @return [Array<String>]
1531
+ #
1532
+ # @!attribute [rw] description
1533
+ # The description of the recommendation. This explains a potential
1534
+ # inefficiency in a profiled application.
1535
+ # @return [String]
1536
+ #
1537
+ # @!attribute [rw] id
1538
+ # The universally unique identifier (UUID) of this pattern.
1539
+ # @return [String]
1540
+ #
1541
+ # @!attribute [rw] name
1542
+ # The name for this pattern.
1543
+ # @return [String]
1544
+ #
1545
+ # @!attribute [rw] resolution_steps
1546
+ # A string that contains the steps recommended to address the
1547
+ # potential inefficiency.
1548
+ # @return [String]
1549
+ #
1550
+ # @!attribute [rw] target_frames
1551
+ # A list of frame names that were searched during the analysis that
1552
+ # generated a recommendation.
1553
+ # @return [Array<Array<String>>]
1554
+ #
1555
+ # @!attribute [rw] threshold_percent
1556
+ # The percentage of time an application spends in one method that
1557
+ # triggers a recommendation. The percentage of time is the same as the
1558
+ # percentage of the total gathered sample counts during analysis.
1559
+ # @return [Float]
1560
+ #
1561
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Pattern AWS API Documentation
1562
+ #
1563
+ class Pattern < Struct.new(
1564
+ :counters_to_aggregate,
1565
+ :description,
1566
+ :id,
1567
+ :name,
1568
+ :resolution_steps,
1569
+ :target_frames,
1570
+ :threshold_percent)
1571
+ SENSITIVE = []
1572
+ include Aws::Structure
1573
+ end
1574
+
549
1575
  # The structure representing the postAgentProfileRequest.
550
1576
  #
551
1577
  # @note When making an API call, you may pass PostAgentProfileRequest
@@ -559,17 +1585,29 @@ module Aws::CodeGuruProfiler
559
1585
  # }
560
1586
  #
561
1587
  # @!attribute [rw] agent_profile
1588
+ # The submitted profiling data.
562
1589
  # @return [String]
563
1590
  #
564
1591
  # @!attribute [rw] content_type
1592
+ # The format of the submitted profiling data. The format maps to the
1593
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
1594
+ # specify one of the following: or the default .
1595
+ #
1596
+ # <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>
565
1597
  # @return [String]
566
1598
  #
567
1599
  # @!attribute [rw] profile_token
1600
+ # Amazon CodeGuru Profiler uses this universally unique identifier
1601
+ # (UUID) to prevent the accidental submission of duplicate profiling
1602
+ # data if there are failures and retries.
1603
+ #
568
1604
  # **A suitable default value is auto-generated.** You should normally
569
1605
  # not need to pass this option.
570
1606
  # @return [String]
571
1607
  #
572
1608
  # @!attribute [rw] profiling_group_name
1609
+ # The name of the profiling group with the aggregated profile that
1610
+ # receives the submitted profiling data.
573
1611
  # @return [String]
574
1612
  #
575
1613
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfileRequest AWS API Documentation
@@ -589,10 +1627,12 @@ module Aws::CodeGuruProfiler
589
1627
  #
590
1628
  class PostAgentProfileResponse < Aws::EmptyStructure; end
591
1629
 
592
- # Information about the profile time.
1630
+ # Contains the start time of a profile.
593
1631
  #
594
1632
  # @!attribute [rw] start
595
- # The start time of the profile.
1633
+ # The start time of a profile. It is specified using the ISO 8601
1634
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1
1635
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
596
1636
  # @return [Time]
597
1637
  #
598
1638
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfileTime AWS API Documentation
@@ -603,18 +1643,35 @@ module Aws::CodeGuruProfiler
603
1643
  include Aws::Structure
604
1644
  end
605
1645
 
606
- # The description of a profiling group.
1646
+ # Contains information about a profiling group.
607
1647
  #
608
1648
  # @!attribute [rw] agent_orchestration_config
1649
+ # An [ `AgentOrchestrationConfig` ][1] object that indicates if the
1650
+ # profiling group is enabled for profiled or not.
1651
+ #
1652
+ #
1653
+ #
1654
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html
609
1655
  # @return [Types::AgentOrchestrationConfig]
610
1656
  #
611
1657
  # @!attribute [rw] arn
612
- # The Amazon Resource Name (ARN) identifying the profiling group.
1658
+ # The Amazon Resource Name (ARN) identifying the profiling group
1659
+ # resource.
1660
+ # @return [String]
1661
+ #
1662
+ # @!attribute [rw] compute_platform
1663
+ # The compute platform of the profiling group. If it is set to
1664
+ # `AWSLambda`, then the profiled application runs on AWS Lambda. If it
1665
+ # is set to `Default`, then the profiled application runs on a compute
1666
+ # platform that is not AWS Lambda, such an Amazon EC2 instance, an
1667
+ # on-premises server, or a different platform. The default is
1668
+ # `Default`.
613
1669
  # @return [String]
614
1670
  #
615
1671
  # @!attribute [rw] created_at
616
- # The time, in milliseconds since the epoch, when the profiling group
617
- # was created.
1672
+ # The time when the profiling group was created. Specify using the ISO
1673
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1674
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
618
1675
  # @return [Time]
619
1676
  #
620
1677
  # @!attribute [rw] name
@@ -622,12 +1679,20 @@ module Aws::CodeGuruProfiler
622
1679
  # @return [String]
623
1680
  #
624
1681
  # @!attribute [rw] profiling_status
625
- # The status of the profiling group.
1682
+ # A [ `ProfilingStatus` ][1] object that includes information about
1683
+ # the last time a profile agent pinged back, the last time a profile
1684
+ # was received, and the aggregation period and start time for the most
1685
+ # recent aggregated profile.
1686
+ #
1687
+ #
1688
+ #
1689
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html
626
1690
  # @return [Types::ProfilingStatus]
627
1691
  #
628
1692
  # @!attribute [rw] updated_at
629
- # The time, in milliseconds since the epoch, when the profiling group
630
- # was last updated.
1693
+ # The date and time when the profiling group was last updated. Specify
1694
+ # using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z
1695
+ # represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
631
1696
  # @return [Time]
632
1697
  #
633
1698
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfilingGroupDescription AWS API Documentation
@@ -635,6 +1700,7 @@ module Aws::CodeGuruProfiler
635
1700
  class ProfilingGroupDescription < Struct.new(
636
1701
  :agent_orchestration_config,
637
1702
  :arn,
1703
+ :compute_platform,
638
1704
  :created_at,
639
1705
  :name,
640
1706
  :profiling_status,
@@ -643,20 +1709,31 @@ module Aws::CodeGuruProfiler
643
1709
  include Aws::Structure
644
1710
  end
645
1711
 
646
- # Information about the profiling status.
1712
+ # Profiling status includes information about the last time a profile
1713
+ # agent pinged back, the last time a profile was received, and the
1714
+ # aggregation period and start time for the most recent aggregated
1715
+ # profile.
647
1716
  #
648
1717
  # @!attribute [rw] latest_agent_orchestrated_at
649
- # The time, in milliseconds since the epoch, when the latest agent was
650
- # orchestrated.
1718
+ # The date and time when the profiling agent most recently pinged
1719
+ # back. Specify using the ISO 8601 format. For example,
1720
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1721
+ # 1:15:02 PM UTC.
651
1722
  # @return [Time]
652
1723
  #
653
1724
  # @!attribute [rw] latest_agent_profile_reported_at
654
- # The time, in milliseconds since the epoch, when the latest agent was
655
- # reported..
1725
+ # The date and time when the most recent profile was received. Specify
1726
+ # using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z
1727
+ # represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
656
1728
  # @return [Time]
657
1729
  #
658
1730
  # @!attribute [rw] latest_aggregated_profile
659
- # The latest aggregated profile
1731
+ # An [ `AggregatedProfileTime` ][1] object that contains the
1732
+ # aggregation period and start time for an aggregated profile.
1733
+ #
1734
+ #
1735
+ #
1736
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html
660
1737
  # @return [Types::AggregatedProfileTime]
661
1738
  #
662
1739
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfilingStatus AWS API Documentation
@@ -669,7 +1746,7 @@ module Aws::CodeGuruProfiler
669
1746
  include Aws::Structure
670
1747
  end
671
1748
 
672
- # The structure representing the putPermissionRequest.
1749
+ # The structure representing the `putPermissionRequest`.
673
1750
  #
674
1751
  # @note When making an API call, you may pass PutPermissionRequest
675
1752
  # data as a hash:
@@ -682,23 +1759,28 @@ module Aws::CodeGuruProfiler
682
1759
  # }
683
1760
  #
684
1761
  # @!attribute [rw] action_group
685
- # The list of actions that the users and roles can perform on the
686
- # profiling group.
1762
+ # Specifies an action group that contains permissions to add to a
1763
+ # profiling group resource. One action group is supported,
1764
+ # `agentPermissions`, which grants permission to perform actions
1765
+ # required by the profiling agent, `ConfigureAgent` and
1766
+ # `PostAgentProfile` permissions.
687
1767
  # @return [String]
688
1768
  #
689
1769
  # @!attribute [rw] principals
690
- # The list of role and user ARNs or the accountId that needs access
691
- # (wildcards are not allowed).
1770
+ # A list ARNs for the roles and users you want to grant access to the
1771
+ # profiling group. Wildcards are not are supported in the ARNs.
692
1772
  # @return [Array<String>]
693
1773
  #
694
1774
  # @!attribute [rw] profiling_group_name
695
- # The name of the profiling group.
1775
+ # The name of the profiling group to grant access to.
696
1776
  # @return [String]
697
1777
  #
698
1778
  # @!attribute [rw] revision_id
699
- # A unique identifier for the current revision of the policy. This is
700
- # required, if a policy exists for the profiling group. This is not
701
- # required when creating the policy for the first time.
1779
+ # A universally unique identifier (UUID) for the revision of the
1780
+ # policy you are adding to the profiling group. Do not specify this
1781
+ # when you add permissions to a profiling group for the first time. If
1782
+ # a policy already exists on the profiling group, you must specify the
1783
+ # `revisionId`.
702
1784
  # @return [String]
703
1785
  #
704
1786
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermissionRequest AWS API Documentation
@@ -712,14 +1794,17 @@ module Aws::CodeGuruProfiler
712
1794
  include Aws::Structure
713
1795
  end
714
1796
 
715
- # The structure representing the putPermissionResponse.
1797
+ # The structure representing the `putPermissionResponse`.
716
1798
  #
717
1799
  # @!attribute [rw] policy
718
- # The resource-based policy.
1800
+ # The JSON-formatted resource-based policy on the profiling group that
1801
+ # includes the added permissions.
719
1802
  # @return [String]
720
1803
  #
721
1804
  # @!attribute [rw] revision_id
722
- # A unique identifier for the current revision of the policy.
1805
+ # A universally unique identifier (UUID) for the revision of the
1806
+ # resource-based policy that includes the added permissions. The
1807
+ # JSON-formatted policy is in the `policy` element of the response.
723
1808
  # @return [String]
724
1809
  #
725
1810
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermissionResponse AWS API Documentation
@@ -731,7 +1816,97 @@ module Aws::CodeGuruProfiler
731
1816
  include Aws::Structure
732
1817
  end
733
1818
 
734
- # The structure representing the removePermissionRequest.
1819
+ # A potential improvement that was found from analyzing the profiling
1820
+ # data.
1821
+ #
1822
+ # @!attribute [rw] all_matches_count
1823
+ # How many different places in the profile graph triggered a match.
1824
+ # @return [Integer]
1825
+ #
1826
+ # @!attribute [rw] all_matches_sum
1827
+ # How much of the total sample count is potentially affected.
1828
+ # @return [Float]
1829
+ #
1830
+ # @!attribute [rw] end_time
1831
+ # End time of the profile that was used by this analysis. This is
1832
+ # specified using the ISO 8601 format. For example,
1833
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1834
+ # 1:15:02 PM UTC.
1835
+ # @return [Time]
1836
+ #
1837
+ # @!attribute [rw] pattern
1838
+ # The pattern that analysis recognized in the profile to make this
1839
+ # recommendation.
1840
+ # @return [Types::Pattern]
1841
+ #
1842
+ # @!attribute [rw] start_time
1843
+ # The start time of the profile that was used by this analysis. This
1844
+ # is specified using the ISO 8601 format. For example,
1845
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
1846
+ # 1:15:02 PM UTC.
1847
+ # @return [Time]
1848
+ #
1849
+ # @!attribute [rw] top_matches
1850
+ # List of the matches with most impact.
1851
+ # @return [Array<Types::Match>]
1852
+ #
1853
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/Recommendation AWS API Documentation
1854
+ #
1855
+ class Recommendation < Struct.new(
1856
+ :all_matches_count,
1857
+ :all_matches_sum,
1858
+ :end_time,
1859
+ :pattern,
1860
+ :start_time,
1861
+ :top_matches)
1862
+ SENSITIVE = []
1863
+ include Aws::Structure
1864
+ end
1865
+
1866
+ # The structure representing the RemoveNotificationChannelRequest.
1867
+ #
1868
+ # @note When making an API call, you may pass RemoveNotificationChannelRequest
1869
+ # data as a hash:
1870
+ #
1871
+ # {
1872
+ # channel_id: "ChannelId", # required
1873
+ # profiling_group_name: "ProfilingGroupName", # required
1874
+ # }
1875
+ #
1876
+ # @!attribute [rw] channel_id
1877
+ # The id of the channel that we want to stop receiving notifications.
1878
+ # @return [String]
1879
+ #
1880
+ # @!attribute [rw] profiling_group_name
1881
+ # The name of the profiling group we want to change notification
1882
+ # configuration for.
1883
+ # @return [String]
1884
+ #
1885
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannelRequest AWS API Documentation
1886
+ #
1887
+ class RemoveNotificationChannelRequest < Struct.new(
1888
+ :channel_id,
1889
+ :profiling_group_name)
1890
+ SENSITIVE = []
1891
+ include Aws::Structure
1892
+ end
1893
+
1894
+ # The structure representing the RemoveNotificationChannelResponse.
1895
+ #
1896
+ # @!attribute [rw] notification_configuration
1897
+ # The new notification configuration for this profiling group.
1898
+ # @return [Types::NotificationConfiguration]
1899
+ #
1900
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannelResponse AWS API Documentation
1901
+ #
1902
+ class RemoveNotificationChannelResponse < Struct.new(
1903
+ :notification_configuration)
1904
+ SENSITIVE = []
1905
+ include Aws::Structure
1906
+ end
1907
+
1908
+ # The structure representing the
1909
+ # <code>removePermissionRequest</code>.</p>
735
1910
  #
736
1911
  # @note When making an API call, you may pass RemovePermissionRequest
737
1912
  # data as a hash:
@@ -743,8 +1918,10 @@ module Aws::CodeGuruProfiler
743
1918
  # }
744
1919
  #
745
1920
  # @!attribute [rw] action_group
746
- # The list of actions that the users and roles can perform on the
747
- # profiling group.
1921
+ # Specifies an action group that contains the permissions to remove
1922
+ # from a profiling group's resource-based policy. One action group is
1923
+ # supported, `agentPermissions`, which grants `ConfigureAgent` and
1924
+ # `PostAgentProfile` permissions.
748
1925
  # @return [String]
749
1926
  #
750
1927
  # @!attribute [rw] profiling_group_name
@@ -752,7 +1929,8 @@ module Aws::CodeGuruProfiler
752
1929
  # @return [String]
753
1930
  #
754
1931
  # @!attribute [rw] revision_id
755
- # A unique identifier for the current revision of the policy.
1932
+ # A universally unique identifier (UUID) for the revision of the
1933
+ # resource-based policy from which you want to remove permissions.
756
1934
  # @return [String]
757
1935
  #
758
1936
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermissionRequest AWS API Documentation
@@ -765,14 +1943,18 @@ module Aws::CodeGuruProfiler
765
1943
  include Aws::Structure
766
1944
  end
767
1945
 
768
- # The structure representing the removePermissionResponse.
1946
+ # The structure representing the `removePermissionResponse`.
769
1947
  #
770
1948
  # @!attribute [rw] policy
771
- # The resource-based policy.
1949
+ # The JSON-formatted resource-based policy on the profiling group
1950
+ # after the specified permissions were removed.
772
1951
  # @return [String]
773
1952
  #
774
1953
  # @!attribute [rw] revision_id
775
- # A unique identifier for the current revision of the policy.
1954
+ # A universally unique identifier (UUID) for the revision of the
1955
+ # resource-based policy after the specified permissions were removed.
1956
+ # The updated JSON-formatted policy is in the `policy` element of the
1957
+ # response.
776
1958
  # @return [String]
777
1959
  #
778
1960
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermissionResponse AWS API Documentation
@@ -816,6 +1998,58 @@ module Aws::CodeGuruProfiler
816
1998
  include Aws::Structure
817
1999
  end
818
2000
 
2001
+ # The structure representing the SubmitFeedbackRequest.
2002
+ #
2003
+ # @note When making an API call, you may pass SubmitFeedbackRequest
2004
+ # data as a hash:
2005
+ #
2006
+ # {
2007
+ # anomaly_instance_id: "AnomalyInstanceId", # required
2008
+ # comment: "String",
2009
+ # profiling_group_name: "ProfilingGroupName", # required
2010
+ # type: "Negative", # required, accepts Negative, Positive
2011
+ # }
2012
+ #
2013
+ # @!attribute [rw] anomaly_instance_id
2014
+ # The universally unique identifier (UUID) of the [ `AnomalyInstance`
2015
+ # ][1] object that is included in the analysis data.
2016
+ #
2017
+ #
2018
+ #
2019
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html
2020
+ # @return [String]
2021
+ #
2022
+ # @!attribute [rw] comment
2023
+ # Optional feedback about this anomaly.
2024
+ # @return [String]
2025
+ #
2026
+ # @!attribute [rw] profiling_group_name
2027
+ # The name of the profiling group that is associated with the analysis
2028
+ # data.
2029
+ # @return [String]
2030
+ #
2031
+ # @!attribute [rw] type
2032
+ # The feedback tpye. Thee are two valid values, `Positive` and
2033
+ # `Negative`.
2034
+ # @return [String]
2035
+ #
2036
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedbackRequest AWS API Documentation
2037
+ #
2038
+ class SubmitFeedbackRequest < Struct.new(
2039
+ :anomaly_instance_id,
2040
+ :comment,
2041
+ :profiling_group_name,
2042
+ :type)
2043
+ SENSITIVE = []
2044
+ include Aws::Structure
2045
+ end
2046
+
2047
+ # The structure representing the SubmitFeedbackResponse.
2048
+ #
2049
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedbackResponse AWS API Documentation
2050
+ #
2051
+ class SubmitFeedbackResponse < Aws::EmptyStructure; end
2052
+
819
2053
  # The request was denied due to request throttling.
820
2054
  #
821
2055
  # @!attribute [rw] message
@@ -829,6 +2063,24 @@ module Aws::CodeGuruProfiler
829
2063
  include Aws::Structure
830
2064
  end
831
2065
 
2066
+ # A data type that contains a `Timestamp` object. This is specified
2067
+ # using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z
2068
+ # represents 1 millisecond past June 1, 2020 1:15:02 PM UTC.
2069
+ #
2070
+ # @!attribute [rw] value
2071
+ # A `Timestamp`. This is specified using the ISO 8601 format. For
2072
+ # example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June
2073
+ # 1, 2020 1:15:02 PM UTC.
2074
+ # @return [Time]
2075
+ #
2076
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TimestampStructure AWS API Documentation
2077
+ #
2078
+ class TimestampStructure < Struct.new(
2079
+ :value)
2080
+ SENSITIVE = []
2081
+ include Aws::Structure
2082
+ end
2083
+
832
2084
  # The structure representing the updateProfilingGroupRequest.
833
2085
  #
834
2086
  # @note When making an API call, you may pass UpdateProfilingGroupRequest
@@ -842,6 +2094,8 @@ module Aws::CodeGuruProfiler
842
2094
  # }
843
2095
  #
844
2096
  # @!attribute [rw] agent_orchestration_config
2097
+ # Specifies whether profiling is enabled or disabled for a profiling
2098
+ # group.
845
2099
  # @return [Types::AgentOrchestrationConfig]
846
2100
  #
847
2101
  # @!attribute [rw] profiling_group_name
@@ -860,7 +2114,12 @@ module Aws::CodeGuruProfiler
860
2114
  # The structure representing the updateProfilingGroupResponse.
861
2115
  #
862
2116
  # @!attribute [rw] profiling_group
863
- # Updated information about the profiling group.
2117
+ # A [ `ProfilingGroupDescription` ][1] that contains information about
2118
+ # the returned updated profiling group.
2119
+ #
2120
+ #
2121
+ #
2122
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
864
2123
  # @return [Types::ProfilingGroupDescription]
865
2124
  #
866
2125
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroupResponse AWS API Documentation
@@ -871,6 +2130,23 @@ module Aws::CodeGuruProfiler
871
2130
  include Aws::Structure
872
2131
  end
873
2132
 
2133
+ # Feedback that can be submitted for each instance of an anomaly by the
2134
+ # user. Feedback is be used for improvements in generating
2135
+ # recommendations for the application.
2136
+ #
2137
+ # @!attribute [rw] type
2138
+ # Optional `Positive` or `Negative` feedback submitted by the user
2139
+ # about whether the recommendation is useful or not.
2140
+ # @return [String]
2141
+ #
2142
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UserFeedback AWS API Documentation
2143
+ #
2144
+ class UserFeedback < Struct.new(
2145
+ :type)
2146
+ SENSITIVE = []
2147
+ include Aws::Structure
2148
+ end
2149
+
874
2150
  # The parameter is not valid.
875
2151
  #
876
2152
  # @!attribute [rw] message