aws-sdk-codeguruprofiler 1.5.0 → 1.10.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -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