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