aws-sdk-codeguruprofiler 1.7.0 → 1.8.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.
@@ -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