aws-sdk-codeguruprofiler 1.3.0 → 1.8.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: c01522170b3f73a996d76b893c4298578355ac5d2267fb38ac4881c53131bd0b
4
- data.tar.gz: 51de7e066af6bc542825a5deaa9d38983292f974852f5cee3f5bffc4e7409bc8
3
+ metadata.gz: ecc67e63132a4a96f589839ebf1da8ca51b435ff422fc43d9c0770902bb7857b
4
+ data.tar.gz: 486364744d3a884b20893aaf7f52622eb3d948237721725287086236a4d3a9c8
5
5
  SHA512:
6
- metadata.gz: 9a8ccf725185f5fe9fe18c9fcd9e182a00cc820d80b07559fa9da0e760d0195ea04051afeb530d108cf80eaa54896e9f1e3862a5726624ca3dc249c6d346ddc5
7
- data.tar.gz: 25cd11417309a85e863b640b64dd5b706bca57c37bf1fee5cb294de8a8a08611abe0547ac161bac5c4d66941217faf9373bedc5d2e119b2c62f29f9a264a9a8c
6
+ metadata.gz: bb2939f2b4286c1e72f122bde65c763ba8e09b4606d6ad1baff7f9d67148911f41216ad6e25e74e5d74350acbc42537e67ae0d13a2a54c8b5fd81ff5b7882353
7
+ data.tar.gz: fd4fb2a81d4e9257876ba5a7a740b406ac8b4369922942aefa96b25713b2d151193c7b308e6289fc9a5041a144dd42a17bfd014170606b095ef8b7fe5439f7ed
@@ -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:
@@ -25,7 +27,7 @@ require_relative 'aws-sdk-codeguruprofiler/customizations'
25
27
  # structure.
26
28
  #
27
29
  # code_guru_profiler = Aws::CodeGuruProfiler::Client.new
28
- # resp = code_guru_profiler.configure_agent(params)
30
+ # resp = code_guru_profiler.add_notification_channels(params)
29
31
  #
30
32
  # See {Client} for more information.
31
33
  #
@@ -45,6 +47,6 @@ require_relative 'aws-sdk-codeguruprofiler/customizations'
45
47
  # @service
46
48
  module Aws::CodeGuruProfiler
47
49
 
48
- GEM_VERSION = '1.3.0'
50
+ GEM_VERSION = '1.8.0'
49
51
 
50
52
  end
@@ -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:
@@ -24,6 +26,7 @@ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
26
  require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
27
  require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
28
  require 'aws-sdk-core/plugins/transfer_encoding.rb'
29
+ require 'aws-sdk-core/plugins/http_checksum.rb'
27
30
  require 'aws-sdk-core/plugins/signature_v4.rb'
28
31
  require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
32
 
@@ -69,6 +72,7 @@ module Aws::CodeGuruProfiler
69
72
  add_plugin(Aws::Plugins::ClientMetricsPlugin)
70
73
  add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
71
74
  add_plugin(Aws::Plugins::TransferEncoding)
75
+ add_plugin(Aws::Plugins::HttpChecksum)
72
76
  add_plugin(Aws::Plugins::SignatureV4)
73
77
  add_plugin(Aws::Plugins::Protocols::RestJson)
74
78
 
@@ -105,7 +109,7 @@ module Aws::CodeGuruProfiler
105
109
  # @option options [required, String] :region
106
110
  # The AWS region to connect to. The configured `:region` is
107
111
  # used to determine the service `:endpoint`. When not passed,
108
- # a default `:region` is search for in the following locations:
112
+ # a default `:region` is searched for in the following locations:
109
113
  #
110
114
  # * `Aws.config[:region]`
111
115
  # * `ENV['AWS_REGION']`
@@ -161,7 +165,7 @@ module Aws::CodeGuruProfiler
161
165
  # @option options [String] :endpoint
162
166
  # The client endpoint is normally constructed from the `:region`
163
167
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be avalid HTTP(S) URI.
168
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
169
  #
166
170
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
171
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -176,7 +180,7 @@ module Aws::CodeGuruProfiler
176
180
  # requests fetching endpoints information. Defaults to 60 sec.
177
181
  #
178
182
  # @option options [Boolean] :endpoint_discovery (false)
179
- # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
183
+ # When set to `true`, endpoint discovery will be enabled for operations when available.
180
184
  #
181
185
  # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
182
186
  # The log formatter.
@@ -308,9 +312,189 @@ module Aws::CodeGuruProfiler
308
312
 
309
313
  # @!group API Operations
310
314
 
315
+ # Add up to 2 anomaly notifications channels for a profiling group.
316
+ #
317
+ # @option params [required, Array<Types::Channel>] :channels
318
+ # One or 2 channels to report to when anomalies are detected.
319
+ #
320
+ # @option params [required, String] :profiling_group_name
321
+ # The name of the profiling group that we are setting up notifications
322
+ # for.
323
+ #
324
+ # @return [Types::AddNotificationChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
325
+ #
326
+ # * {Types::AddNotificationChannelsResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
327
+ #
328
+ # @example Request syntax with placeholder values
329
+ #
330
+ # resp = client.add_notification_channels({
331
+ # channels: [ # required
332
+ # {
333
+ # event_publishers: ["AnomalyDetection"], # required, accepts AnomalyDetection
334
+ # id: "ChannelId",
335
+ # uri: "ChannelUri", # required
336
+ # },
337
+ # ],
338
+ # profiling_group_name: "ProfilingGroupName", # required
339
+ # })
340
+ #
341
+ # @example Response structure
342
+ #
343
+ # resp.notification_configuration.channels #=> Array
344
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
345
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
346
+ # resp.notification_configuration.channels[0].id #=> String
347
+ # resp.notification_configuration.channels[0].uri #=> String
348
+ #
349
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AddNotificationChannels AWS API Documentation
350
+ #
351
+ # @overload add_notification_channels(params = {})
352
+ # @param [Hash] params ({})
353
+ def add_notification_channels(params = {}, options = {})
354
+ req = build_request(:add_notification_channels, params)
355
+ req.send_request(options)
356
+ end
357
+
358
+ # Returns the time series of values for a requested list of frame
359
+ # metrics from a time period.
360
+ #
361
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
362
+ # The end time of the time period for the returned time series values.
363
+ # This is specified using the ISO 8601 format. For example,
364
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
365
+ # 1:15:02 PM UTC.
366
+ #
367
+ # @option params [Array<Types::FrameMetric>] :frame_metrics
368
+ # The details of the metrics that are used to request a time series of
369
+ # values. The metric includes the name of the frame, the aggregation
370
+ # type to calculate the metric value for the frame, and the thread
371
+ # states to use to get the count for the metric value of the frame.
372
+ #
373
+ # @option params [String] :period
374
+ # The duration of the frame metrics used to return the time series
375
+ # values. Specify using the ISO 8601 format. The maximum period duration
376
+ # is one day (`PT24H` or `P1D`).
377
+ #
378
+ # @option params [required, String] :profiling_group_name
379
+ # The name of the profiling group associated with the the frame metrics
380
+ # used to return the time series values.
381
+ #
382
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
383
+ # The start time of the time period for the frame metrics used to return
384
+ # the time series values. This is specified using the ISO 8601 format.
385
+ # For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past
386
+ # June 1, 2020 1:15:02 PM UTC.
387
+ #
388
+ # @option params [String] :target_resolution
389
+ # The requested resolution of time steps for the returned time series of
390
+ # values. If the requested target resolution is not available due to
391
+ # data not being retained we provide a best effort result by falling
392
+ # back to the most granular available resolution after the target
393
+ # resolution. There are 3 valid values.
394
+ #
395
+ # * `P1D` — 1 day
396
+ #
397
+ # * `PT1H` — 1 hour
398
+ #
399
+ # * `PT5M` — 5 minutes
400
+ #
401
+ # @return [Types::BatchGetFrameMetricDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
402
+ #
403
+ # * {Types::BatchGetFrameMetricDataResponse#end_time #end_time} => Time
404
+ # * {Types::BatchGetFrameMetricDataResponse#end_times #end_times} => Array&lt;Types::TimestampStructure&gt;
405
+ # * {Types::BatchGetFrameMetricDataResponse#frame_metric_data #frame_metric_data} => Array&lt;Types::FrameMetricDatum&gt;
406
+ # * {Types::BatchGetFrameMetricDataResponse#resolution #resolution} => String
407
+ # * {Types::BatchGetFrameMetricDataResponse#start_time #start_time} => Time
408
+ # * {Types::BatchGetFrameMetricDataResponse#unprocessed_end_times #unprocessed_end_times} => Hash&lt;String,Array&lt;Types::TimestampStructure&gt;&gt;
409
+ #
410
+ # @example Request syntax with placeholder values
411
+ #
412
+ # resp = client.batch_get_frame_metric_data({
413
+ # end_time: Time.now,
414
+ # frame_metrics: [
415
+ # {
416
+ # frame_name: "String", # required
417
+ # thread_states: ["String"], # required
418
+ # type: "AggregatedRelativeTotalTime", # required, accepts AggregatedRelativeTotalTime
419
+ # },
420
+ # ],
421
+ # period: "Period",
422
+ # profiling_group_name: "ProfilingGroupName", # required
423
+ # start_time: Time.now,
424
+ # target_resolution: "P1D", # accepts P1D, PT1H, PT5M
425
+ # })
426
+ #
427
+ # @example Response structure
428
+ #
429
+ # resp.end_time #=> Time
430
+ # resp.end_times #=> Array
431
+ # resp.end_times[0].value #=> Time
432
+ # resp.frame_metric_data #=> Array
433
+ # resp.frame_metric_data[0].frame_metric.frame_name #=> String
434
+ # resp.frame_metric_data[0].frame_metric.thread_states #=> Array
435
+ # resp.frame_metric_data[0].frame_metric.thread_states[0] #=> String
436
+ # resp.frame_metric_data[0].frame_metric.type #=> String, one of "AggregatedRelativeTotalTime"
437
+ # resp.frame_metric_data[0].values #=> Array
438
+ # resp.frame_metric_data[0].values[0] #=> Float
439
+ # resp.resolution #=> String, one of "P1D", "PT1H", "PT5M"
440
+ # resp.start_time #=> Time
441
+ # resp.unprocessed_end_times #=> Hash
442
+ # resp.unprocessed_end_times["String"] #=> Array
443
+ # resp.unprocessed_end_times["String"][0].value #=> Time
444
+ #
445
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricData AWS API Documentation
446
+ #
447
+ # @overload batch_get_frame_metric_data(params = {})
448
+ # @param [Hash] params ({})
449
+ def batch_get_frame_metric_data(params = {}, options = {})
450
+ req = build_request(:batch_get_frame_metric_data, params)
451
+ req.send_request(options)
452
+ end
453
+
454
+ # Used by profiler agents to report their current state and to receive
455
+ # remote configuration updates. For example, `ConfigureAgent` can be
456
+ # used to tell and agent whether to profile or not and for how long to
457
+ # return profiling data.
458
+ #
311
459
  # @option params [String] :fleet_instance_id
460
+ # A universally unique identifier (UUID) for a profiling instance. For
461
+ # example, if the profiling instance is an Amazon EC2 instance, it is
462
+ # the instance ID. If it is an AWS Fargate container, it is the
463
+ # container's task ID.
464
+ #
465
+ # @option params [Hash<String,String>] :metadata
466
+ # Metadata captured about the compute platform the agent is running on.
467
+ # It includes information about sampling and reporting. The valid fields
468
+ # are:
469
+ #
470
+ # * `COMPUTE_PLATFORM` - The compute platform on which the agent is
471
+ # running
472
+ #
473
+ # * `AGENT_ID` - The ID for an agent instance.
474
+ #
475
+ # * `AWS_REQUEST_ID` - The AWS request ID of a Lambda invocation.
476
+ #
477
+ # * `EXECUTION_ENVIRONMENT` - The execution environment a Lambda
478
+ # function is running on.
479
+ #
480
+ # * `LAMBDA_FUNCTION_ARN` - The Amazon Resource Name (ARN) that is used
481
+ # to invoke a Lambda function.
482
+ #
483
+ # * `LAMBDA_MEMORY_LIMIT_IN_MB` - The memory allocated to a Lambda
484
+ # function.
485
+ #
486
+ # * `LAMBDA_REMAINING_TIME_IN_MILLISECONDS` - The time in milliseconds
487
+ # before execution of a Lambda function times out.
488
+ #
489
+ # * `LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS` - The time in
490
+ # milliseconds between two invocations of a Lambda function.
491
+ #
492
+ # * `LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS` - The time in
493
+ # milliseconds for the previous Lambda invocation.
312
494
  #
313
495
  # @option params [required, String] :profiling_group_name
496
+ # The name of the profiling group for which the configured agent is
497
+ # collecting profiling data.
314
498
  #
315
499
  # @return [Types::ConfigureAgentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
316
500
  #
@@ -320,11 +504,16 @@ module Aws::CodeGuruProfiler
320
504
  #
321
505
  # resp = client.configure_agent({
322
506
  # fleet_instance_id: "FleetInstanceId",
507
+ # metadata: {
508
+ # "AgentId" => "String",
509
+ # },
323
510
  # profiling_group_name: "ProfilingGroupName", # required
324
511
  # })
325
512
  #
326
513
  # @example Response structure
327
514
  #
515
+ # resp.configuration.agent_parameters #=> Hash
516
+ # resp.configuration.agent_parameters["AgentParameterField"] #=> String
328
517
  # resp.configuration.period_in_seconds #=> Integer
329
518
  # resp.configuration.should_profile #=> Boolean
330
519
  #
@@ -340,20 +529,26 @@ module Aws::CodeGuruProfiler
340
529
  # Creates a profiling group.
341
530
  #
342
531
  # @option params [Types::AgentOrchestrationConfig] :agent_orchestration_config
343
- # The agent orchestration configuration.
532
+ # Specifies whether profiling is enabled or disabled for the created
533
+ # profiling group.
344
534
  #
345
535
  # @option params [required, String] :client_token
346
- # Unique, case-sensitive identifier that you provide to ensure the
347
- # idempotency of the request.
348
- #
349
- # This parameter specifies a unique identifier for the new profiling
350
- # group that helps ensure idempotency.
536
+ # Amazon CodeGuru Profiler uses this universally unique identifier
537
+ # (UUID) to prevent the accidental creation of duplicate profiling
538
+ # groups if there are failures and retries.
351
539
  #
352
540
  # **A suitable default value is auto-generated.** You should normally
353
541
  # not need to pass this option.**
354
542
  #
543
+ # @option params [String] :compute_platform
544
+ # The compute platform of the profiling group. Use `AWSLambda` if your
545
+ # application runs on AWS Lambda. Use `Default` if your application runs
546
+ # on a compute platform that is not AWS Lambda, such an Amazon EC2
547
+ # instance, an on-premises server, or a different platform. If not
548
+ # specified, `Default` is used.
549
+ #
355
550
  # @option params [required, String] :profiling_group_name
356
- # The name of the profiling group.
551
+ # The name of the profiling group to create.
357
552
  #
358
553
  # @return [Types::CreateProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
359
554
  #
@@ -366,6 +561,7 @@ module Aws::CodeGuruProfiler
366
561
  # profiling_enabled: false, # required
367
562
  # },
368
563
  # client_token: "ClientToken", # required
564
+ # compute_platform: "AWSLambda", # accepts AWSLambda, Default
369
565
  # profiling_group_name: "ProfilingGroupName", # required
370
566
  # })
371
567
  #
@@ -373,6 +569,7 @@ module Aws::CodeGuruProfiler
373
569
  #
374
570
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
375
571
  # resp.profiling_group.arn #=> String
572
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
376
573
  # resp.profiling_group.created_at #=> Time
377
574
  # resp.profiling_group.name #=> String
378
575
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
@@ -393,7 +590,7 @@ module Aws::CodeGuruProfiler
393
590
  # Deletes a profiling group.
394
591
  #
395
592
  # @option params [required, String] :profiling_group_name
396
- # The profiling group name to delete.
593
+ # The name of the profiling group to delete.
397
594
  #
398
595
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
399
596
  #
@@ -412,10 +609,15 @@ module Aws::CodeGuruProfiler
412
609
  req.send_request(options)
413
610
  end
414
611
 
415
- # Describes a profiling group.
612
+ # Returns a [ `ProfilingGroupDescription` ][1] object that contains
613
+ # information about the requested profiling group.
614
+ #
615
+ #
616
+ #
617
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
416
618
  #
417
619
  # @option params [required, String] :profiling_group_name
418
- # The profiling group name.
620
+ # The name of the profiling group to get information about.
419
621
  #
420
622
  # @return [Types::DescribeProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
421
623
  #
@@ -431,6 +633,7 @@ module Aws::CodeGuruProfiler
431
633
  #
432
634
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
433
635
  # resp.profiling_group.arn #=> String
636
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
434
637
  # resp.profiling_group.created_at #=> Time
435
638
  # resp.profiling_group.name #=> String
436
639
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
@@ -448,7 +651,110 @@ module Aws::CodeGuruProfiler
448
651
  req.send_request(options)
449
652
  end
450
653
 
451
- # Gets the profiling group policy.
654
+ # Returns a list of [ `FindingsReportSummary` ][1] objects that contain
655
+ # analysis results for all profiling groups in your AWS account.
656
+ #
657
+ #
658
+ #
659
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html
660
+ #
661
+ # @option params [Boolean] :daily_reports_only
662
+ # A `Boolean` value indicating whether to only return reports from daily
663
+ # profiles. If set to `True`, only analysis data from daily profiles is
664
+ # returned. If set to `False`, analysis data is returned from smaller
665
+ # time windows (for example, one hour).
666
+ #
667
+ # @option params [Integer] :max_results
668
+ # The maximum number of results returned by `
669
+ # GetFindingsReportAccountSummary` in paginated output. When this
670
+ # parameter is used, `GetFindingsReportAccountSummary` only returns
671
+ # `maxResults` results in a single page along with a `nextToken`
672
+ # response element. The remaining results of the initial request can be
673
+ # seen by sending another `GetFindingsReportAccountSummary` request with
674
+ # the returned `nextToken` value.
675
+ #
676
+ # @option params [String] :next_token
677
+ # The `nextToken` value returned from a previous paginated
678
+ # `GetFindingsReportAccountSummary` request where `maxResults` was used
679
+ # and the results exceeded the value of that parameter. Pagination
680
+ # continues from the end of the previous results that returned the
681
+ # `nextToken` value.
682
+ #
683
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
684
+ # to retrieve the next items in a list and not for other programmatic
685
+ # purposes.
686
+ #
687
+ # </note>
688
+ #
689
+ # @return [Types::GetFindingsReportAccountSummaryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
690
+ #
691
+ # * {Types::GetFindingsReportAccountSummaryResponse#next_token #next_token} => String
692
+ # * {Types::GetFindingsReportAccountSummaryResponse#report_summaries #report_summaries} => Array&lt;Types::FindingsReportSummary&gt;
693
+ #
694
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
695
+ #
696
+ # @example Request syntax with placeholder values
697
+ #
698
+ # resp = client.get_findings_report_account_summary({
699
+ # daily_reports_only: false,
700
+ # max_results: 1,
701
+ # next_token: "PaginationToken",
702
+ # })
703
+ #
704
+ # @example Response structure
705
+ #
706
+ # resp.next_token #=> String
707
+ # resp.report_summaries #=> Array
708
+ # resp.report_summaries[0].id #=> String
709
+ # resp.report_summaries[0].profile_end_time #=> Time
710
+ # resp.report_summaries[0].profile_start_time #=> Time
711
+ # resp.report_summaries[0].profiling_group_name #=> String
712
+ # resp.report_summaries[0].total_number_of_findings #=> Integer
713
+ #
714
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummary AWS API Documentation
715
+ #
716
+ # @overload get_findings_report_account_summary(params = {})
717
+ # @param [Hash] params ({})
718
+ def get_findings_report_account_summary(params = {}, options = {})
719
+ req = build_request(:get_findings_report_account_summary, params)
720
+ req.send_request(options)
721
+ end
722
+
723
+ # Get the current configuration for anomaly notifications for a
724
+ # profiling group.
725
+ #
726
+ # @option params [required, String] :profiling_group_name
727
+ # The name of the profiling group we want to get the notification
728
+ # configuration for.
729
+ #
730
+ # @return [Types::GetNotificationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
731
+ #
732
+ # * {Types::GetNotificationConfigurationResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
733
+ #
734
+ # @example Request syntax with placeholder values
735
+ #
736
+ # resp = client.get_notification_configuration({
737
+ # profiling_group_name: "ProfilingGroupName", # required
738
+ # })
739
+ #
740
+ # @example Response structure
741
+ #
742
+ # resp.notification_configuration.channels #=> Array
743
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
744
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
745
+ # resp.notification_configuration.channels[0].id #=> String
746
+ # resp.notification_configuration.channels[0].uri #=> String
747
+ #
748
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfiguration AWS API Documentation
749
+ #
750
+ # @overload get_notification_configuration(params = {})
751
+ # @param [Hash] params ({})
752
+ def get_notification_configuration(params = {}, options = {})
753
+ req = build_request(:get_notification_configuration, params)
754
+ req.send_request(options)
755
+ end
756
+
757
+ # Returns the JSON-formatted resource-based policy on a profiling group.
452
758
  #
453
759
  # @option params [required, String] :profiling_group_name
454
760
  # The name of the profiling group.
@@ -478,46 +784,51 @@ module Aws::CodeGuruProfiler
478
784
  req.send_request(options)
479
785
  end
480
786
 
481
- # Gets the aggregated profile of a profiling group for the specified
482
- # time range. If the requested time range does not align with the
483
- # available aggregated profiles, it is expanded to attain alignment. If
484
- # aggregated profiles are available only for part of the period
485
- # requested, the profile is returned from the earliest available to the
486
- # latest within the requested time range.
787
+ # Gets the aggregated profile of a profiling group for a specified time
788
+ # range. Amazon CodeGuru Profiler collects posted agent profiles for a
789
+ # profiling group into aggregated profiles.
487
790
  #
488
- # For example, if the requested time range is from 00:00 to 00:20 and
489
- # the available profiles are from 00:15 to 00:25, the returned profile
490
- # will be from 00:15 to 00:20.
491
- #
492
- # You must specify exactly two of the following parameters: `startTime`,
493
- # `period`, and `endTime`.
791
+ # <note> <p> Because aggregated profiles expire over time <code>GetProfile</code> is not idempotent. </p> </note> <p> Specify the time range for the requested aggregated profile using 1 or 2 of the following parameters: <code>startTime</code>, <code>endTime</code>, <code>period</code>. The maximum time range allowed is 7 days. If you specify all 3 parameters, an exception is thrown. If you specify only <code>period</code>, the latest aggregated profile is returned. </p> <p> Aggregated profiles are available with aggregation periods of 5 minutes, 1 hour, and 1 day, aligned to UTC. The aggregation period of an aggregated profile determines how long it is retained. For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html"> <code>AggregatedProfileTime</code> </a>. The aggregated profile's aggregation period determines how long it is retained by CodeGuru Profiler. </p> <ul> <li> <p> If the aggregation period is 5 minutes, the aggregated profile is retained for 15 days. </p> </li> <li> <p> If the aggregation period is 1 hour, the aggregated profile is retained for 60 days. </p> </li> <li> <p> If the aggregation period is 1 day, the aggregated profile is retained for 3 years. </p> </li> </ul> <p>There are two use cases for calling <code>GetProfile</code>.</p> <ol> <li> <p> If you want to return an aggregated profile that already exists, use <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListProfileTimes.html"> <code>ListProfileTimes</code> </a> to view the time ranges of existing aggregated profiles. Use them in a <code>GetProfile</code> request to return a specific, existing aggregated profile. </p> </li> <li> <p> If you want to return an aggregated profile for a time range that doesn't align with an existing aggregated profile, then CodeGuru Profiler makes a best effort to combine existing aggregated profiles from the requested time range and return them as one aggregated profile. </p> <p> If aggregated profiles do not exist for the full time range requested, then aggregated profiles for a smaller time range are returned. For example, if the requested time range is from 00:00 to 00:20, and the existing aggregated profiles are from 00:15 and 00:25, then the aggregated profiles from 00:15 to 00:20 are returned. </p> </li> </ol>
494
792
  #
495
793
  # @option params [String] :accept
496
- # The format of the profile to return. You can choose `application/json`
497
- # or the default `application/x-amzn-ion`.
794
+ # The format of the returned profiling data. The format maps to the
795
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
796
+ # specify one of the following: or the default .
797
+ #
798
+ # <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>
498
799
  #
499
800
  # @option params [Time,DateTime,Date,Integer,String] :end_time
500
- # You must specify exactly two of the following parameters: `startTime`,
501
- # `period`, and `endTime`.
801
+ # The end time of the requested profile. Specify using the ISO 8601
802
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond
803
+ # past June 1, 2020 1:15:02 PM UTC.
804
+ #
805
+ # If you specify `endTime`, then you must also specify `period` or
806
+ # `startTime`, but not both.
502
807
  #
503
808
  # @option params [Integer] :max_depth
504
- # The maximum depth of the graph.
809
+ # The maximum depth of the stacks in the code that is represented in the
810
+ # aggregated profile. For example, if CodeGuru Profiler finds a method
811
+ # `A`, which calls method `B`, which calls method `C`, which calls
812
+ # method `D`, then the depth is 4. If the `maxDepth` is set to 2, then
813
+ # the aggregated profile contains representations of methods `A` and
814
+ # `B`.
505
815
  #
506
816
  # @option params [String] :period
507
- # The period of the profile to get. The time range must be in the past
508
- # and not longer than one week.
817
+ # Used with `startTime` or `endTime` to specify the time range for the
818
+ # returned aggregated profile. Specify using the ISO 8601 format. For
819
+ # example, `P1DT1H1M1S`.
509
820
  #
510
- # You must specify exactly two of the following parameters: `startTime`,
511
- # `period`, and `endTime`.
821
+ # <p> To get the latest aggregated profile, specify only <code>period</code>. </p>
512
822
  #
513
823
  # @option params [required, String] :profiling_group_name
514
824
  # The name of the profiling group to get.
515
825
  #
516
826
  # @option params [Time,DateTime,Date,Integer,String] :start_time
517
- # The start time of the profile to get.
827
+ # The start time of the profile to get. Specify using the ISO 8601
828
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond
829
+ # past June 1, 2020 1:15:02 PM UTC.
518
830
  #
519
- # You must specify exactly two of the following parameters: `startTime`,
520
- # `period`, and `endTime`.
831
+ # <p> If you specify <code>startTime</code>, then you must also specify <code>period</code> or <code>endTime</code>, but not both. </p>
521
832
  #
522
833
  # @return [Types::GetProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
523
834
  #
@@ -551,7 +862,203 @@ module Aws::CodeGuruProfiler
551
862
  req.send_request(options)
552
863
  end
553
864
 
554
- # List the start times of the available aggregated profiles of a
865
+ # Returns a list of [ `Recommendation` ][1] objects that contain
866
+ # recommendations for a profiling group for a given time period. A list
867
+ # of [ `Anomaly` ][2] objects that contains details about anomalies
868
+ # detected in the profiling group for the same time period is also
869
+ # returned.
870
+ #
871
+ #
872
+ #
873
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Recommendation.html
874
+ # [2]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Anomaly.html
875
+ #
876
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
877
+ # The start time of the profile to get analysis data about. You must
878
+ # specify `startTime` and `endTime`. This is specified using the ISO
879
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
880
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
881
+ #
882
+ # @option params [String] :locale
883
+ # The language used to provide analysis. Specify using a string that is
884
+ # one of the following `BCP 47` language codes.
885
+ #
886
+ # * `de-DE` - German, Germany
887
+ #
888
+ # * `en-GB` - English, United Kingdom
889
+ #
890
+ # * `en-US` - English, United States
891
+ #
892
+ # * `es-ES` - Spanish, Spain
893
+ #
894
+ # * `fr-FR` - French, France
895
+ #
896
+ # * `it-IT` - Italian, Italy
897
+ #
898
+ # * `ja-JP` - Japanese, Japan
899
+ #
900
+ # * `ko-KR` - Korean, Republic of Korea
901
+ #
902
+ # * `pt-BR` - Portugese, Brazil
903
+ #
904
+ # * `zh-CN` - Chinese, China
905
+ #
906
+ # * `zh-TW` - Chinese, Taiwan
907
+ #
908
+ # @option params [required, String] :profiling_group_name
909
+ # The name of the profiling group to get analysis data about.
910
+ #
911
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
912
+ # The end time of the profile to get analysis data about. You must
913
+ # specify `startTime` and `endTime`. This is specified using the ISO
914
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
915
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
916
+ #
917
+ # @return [Types::GetRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
918
+ #
919
+ # * {Types::GetRecommendationsResponse#anomalies #anomalies} => Array&lt;Types::Anomaly&gt;
920
+ # * {Types::GetRecommendationsResponse#profile_end_time #profile_end_time} => Time
921
+ # * {Types::GetRecommendationsResponse#profile_start_time #profile_start_time} => Time
922
+ # * {Types::GetRecommendationsResponse#profiling_group_name #profiling_group_name} => String
923
+ # * {Types::GetRecommendationsResponse#recommendations #recommendations} => Array&lt;Types::Recommendation&gt;
924
+ #
925
+ # @example Request syntax with placeholder values
926
+ #
927
+ # resp = client.get_recommendations({
928
+ # end_time: Time.now, # required
929
+ # locale: "Locale",
930
+ # profiling_group_name: "ProfilingGroupName", # required
931
+ # start_time: Time.now, # required
932
+ # })
933
+ #
934
+ # @example Response structure
935
+ #
936
+ # resp.anomalies #=> Array
937
+ # resp.anomalies[0].instances #=> Array
938
+ # resp.anomalies[0].instances[0].end_time #=> Time
939
+ # resp.anomalies[0].instances[0].id #=> String
940
+ # resp.anomalies[0].instances[0].start_time #=> Time
941
+ # resp.anomalies[0].instances[0].user_feedback.type #=> String, one of "Negative", "Positive"
942
+ # resp.anomalies[0].metric.frame_name #=> String
943
+ # resp.anomalies[0].metric.thread_states #=> Array
944
+ # resp.anomalies[0].metric.thread_states[0] #=> String
945
+ # resp.anomalies[0].metric.type #=> String, one of "AggregatedRelativeTotalTime"
946
+ # resp.anomalies[0].reason #=> String
947
+ # resp.profile_end_time #=> Time
948
+ # resp.profile_start_time #=> Time
949
+ # resp.profiling_group_name #=> String
950
+ # resp.recommendations #=> Array
951
+ # resp.recommendations[0].all_matches_count #=> Integer
952
+ # resp.recommendations[0].all_matches_sum #=> Float
953
+ # resp.recommendations[0].end_time #=> Time
954
+ # resp.recommendations[0].pattern.counters_to_aggregate #=> Array
955
+ # resp.recommendations[0].pattern.counters_to_aggregate[0] #=> String
956
+ # resp.recommendations[0].pattern.description #=> String
957
+ # resp.recommendations[0].pattern.id #=> String
958
+ # resp.recommendations[0].pattern.name #=> String
959
+ # resp.recommendations[0].pattern.resolution_steps #=> String
960
+ # resp.recommendations[0].pattern.target_frames #=> Array
961
+ # resp.recommendations[0].pattern.target_frames[0] #=> Array
962
+ # resp.recommendations[0].pattern.target_frames[0][0] #=> String
963
+ # resp.recommendations[0].pattern.threshold_percent #=> Float
964
+ # resp.recommendations[0].start_time #=> Time
965
+ # resp.recommendations[0].top_matches #=> Array
966
+ # resp.recommendations[0].top_matches[0].frame_address #=> String
967
+ # resp.recommendations[0].top_matches[0].target_frames_index #=> Integer
968
+ # resp.recommendations[0].top_matches[0].threshold_breach_value #=> Float
969
+ #
970
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendations AWS API Documentation
971
+ #
972
+ # @overload get_recommendations(params = {})
973
+ # @param [Hash] params ({})
974
+ def get_recommendations(params = {}, options = {})
975
+ req = build_request(:get_recommendations, params)
976
+ req.send_request(options)
977
+ end
978
+
979
+ # List the available reports for a given profiling group and time range.
980
+ #
981
+ # @option params [Boolean] :daily_reports_only
982
+ # A `Boolean` value indicating whether to only return reports from daily
983
+ # profiles. If set to `True`, only analysis data from daily profiles is
984
+ # returned. If set to `False`, analysis data is returned from smaller
985
+ # time windows (for example, one hour).
986
+ #
987
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
988
+ # The end time of the profile to get analysis data about. You must
989
+ # specify `startTime` and `endTime`. This is specified using the ISO
990
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
991
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
992
+ #
993
+ # @option params [Integer] :max_results
994
+ # The maximum number of report results returned by `ListFindingsReports`
995
+ # in paginated output. When this parameter is used,
996
+ # `ListFindingsReports` only returns `maxResults` results in a single
997
+ # page along with a `nextToken` response element. The remaining results
998
+ # of the initial request can be seen by sending another
999
+ # `ListFindingsReports` request with the returned `nextToken` value.
1000
+ #
1001
+ # @option params [String] :next_token
1002
+ # The `nextToken` value returned from a previous paginated
1003
+ # `ListFindingsReportsRequest` request where `maxResults` was used and
1004
+ # the results exceeded the value of that parameter. Pagination continues
1005
+ # from the end of the previous results that returned the `nextToken`
1006
+ # value.
1007
+ #
1008
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
1009
+ # to retrieve the next items in a list and not for other programmatic
1010
+ # purposes.
1011
+ #
1012
+ # </note>
1013
+ #
1014
+ # @option params [required, String] :profiling_group_name
1015
+ # The name of the profiling group from which to search for analysis
1016
+ # data.
1017
+ #
1018
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1019
+ # The start time of the profile to get analysis data about. You must
1020
+ # specify `startTime` and `endTime`. This is specified using the ISO
1021
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1022
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1023
+ #
1024
+ # @return [Types::ListFindingsReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1025
+ #
1026
+ # * {Types::ListFindingsReportsResponse#findings_report_summaries #findings_report_summaries} => Array&lt;Types::FindingsReportSummary&gt;
1027
+ # * {Types::ListFindingsReportsResponse#next_token #next_token} => String
1028
+ #
1029
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1030
+ #
1031
+ # @example Request syntax with placeholder values
1032
+ #
1033
+ # resp = client.list_findings_reports({
1034
+ # daily_reports_only: false,
1035
+ # end_time: Time.now, # required
1036
+ # max_results: 1,
1037
+ # next_token: "PaginationToken",
1038
+ # profiling_group_name: "ProfilingGroupName", # required
1039
+ # start_time: Time.now, # required
1040
+ # })
1041
+ #
1042
+ # @example Response structure
1043
+ #
1044
+ # resp.findings_report_summaries #=> Array
1045
+ # resp.findings_report_summaries[0].id #=> String
1046
+ # resp.findings_report_summaries[0].profile_end_time #=> Time
1047
+ # resp.findings_report_summaries[0].profile_start_time #=> Time
1048
+ # resp.findings_report_summaries[0].profiling_group_name #=> String
1049
+ # resp.findings_report_summaries[0].total_number_of_findings #=> Integer
1050
+ # resp.next_token #=> String
1051
+ #
1052
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReports AWS API Documentation
1053
+ #
1054
+ # @overload list_findings_reports(params = {})
1055
+ # @param [Hash] params ({})
1056
+ def list_findings_reports(params = {}, options = {})
1057
+ req = build_request(:list_findings_reports, params)
1058
+ req.send_request(options)
1059
+ end
1060
+
1061
+ # Lists the start times of the available aggregated profiles of a
555
1062
  # profiling group for an aggregation period within the specified time
556
1063
  # range.
557
1064
  #
@@ -583,7 +1090,15 @@ module Aws::CodeGuruProfiler
583
1090
  # use when listing profiles. Defaults to `TIMESTAMP_DESCENDING`.
584
1091
  #
585
1092
  # @option params [required, String] :period
586
- # The aggregation period.
1093
+ # The aggregation period. This specifies the period during which an
1094
+ # aggregation profile collects posted agent profiles for a profiling
1095
+ # group. There are 3 valid values.
1096
+ #
1097
+ # * `P1D` — 1 day
1098
+ #
1099
+ # * `PT1H` — 1 hour
1100
+ #
1101
+ # * `PT5M` — 5 minutes
587
1102
  #
588
1103
  # @option params [required, String] :profiling_group_name
589
1104
  # The name of the profiling group.
@@ -625,10 +1140,22 @@ module Aws::CodeGuruProfiler
625
1140
  req.send_request(options)
626
1141
  end
627
1142
 
628
- # Lists profiling groups.
1143
+ # Returns a list of profiling groups. The profiling groups are returned
1144
+ # as [ `ProfilingGroupDescription` ][1] objects.
1145
+ #
1146
+ #
1147
+ #
1148
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
629
1149
  #
630
1150
  # @option params [Boolean] :include_description
631
- # A Boolean value indicating whether to include a description.
1151
+ # A `Boolean` value indicating whether to include a description. If
1152
+ # `true`, then a list of [ `ProfilingGroupDescription` ][1] objects that
1153
+ # contain detailed information about profiling groups is returned. If
1154
+ # `false`, then a list of profiling group names is returned.
1155
+ #
1156
+ #
1157
+ #
1158
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
632
1159
  #
633
1160
  # @option params [Integer] :max_results
634
1161
  # The maximum number of profiling groups results returned by
@@ -675,6 +1202,7 @@ module Aws::CodeGuruProfiler
675
1202
  # resp.profiling_groups #=> Array
676
1203
  # resp.profiling_groups[0].agent_orchestration_config.profiling_enabled #=> Boolean
677
1204
  # resp.profiling_groups[0].arn #=> String
1205
+ # resp.profiling_groups[0].compute_platform #=> String, one of "AWSLambda", "Default"
678
1206
  # resp.profiling_groups[0].created_at #=> Time
679
1207
  # resp.profiling_groups[0].name #=> String
680
1208
  # resp.profiling_groups[0].profiling_status.latest_agent_orchestrated_at #=> Time
@@ -692,15 +1220,35 @@ module Aws::CodeGuruProfiler
692
1220
  req.send_request(options)
693
1221
  end
694
1222
 
1223
+ # Submits profiling data to an aggregated profile of a profiling group.
1224
+ # To get an aggregated profile that is created with this profiling data,
1225
+ # use [ `GetProfile` ][1].
1226
+ #
1227
+ #
1228
+ #
1229
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetProfile.html
1230
+ #
695
1231
  # @option params [required, String, IO] :agent_profile
1232
+ # The submitted profiling data.
696
1233
  #
697
1234
  # @option params [required, String] :content_type
1235
+ # The format of the submitted profiling data. The format maps to the
1236
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
1237
+ # specify one of the following: or the default .
1238
+ #
1239
+ # <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>
698
1240
  #
699
1241
  # @option params [String] :profile_token
1242
+ # Amazon CodeGuru Profiler uses this universally unique identifier
1243
+ # (UUID) to prevent the accidental submission of duplicate profiling
1244
+ # data if there are failures and retries.
1245
+ #
700
1246
  # **A suitable default value is auto-generated.** You should normally
701
1247
  # not need to pass this option.**
702
1248
  #
703
1249
  # @option params [required, String] :profiling_group_name
1250
+ # The name of the profiling group with the aggregated profile that
1251
+ # receives the submitted profiling data.
704
1252
  #
705
1253
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
706
1254
  #
@@ -722,24 +1270,34 @@ module Aws::CodeGuruProfiler
722
1270
  req.send_request(options)
723
1271
  end
724
1272
 
725
- # Provides permission to the principals. This overwrites the existing
726
- # permissions, and is not additive.
1273
+ # Adds permissions to a profiling group's resource-based policy that
1274
+ # are provided using an action group. If a profiling group doesn't have
1275
+ # a resource-based policy, one is created for it using the permissions
1276
+ # in the action group and the roles and users in the `principals`
1277
+ # parameter.
1278
+ #
1279
+ # <p> The one supported action group that can be added is <code>agentPermission</code> which grants <code>ConfigureAgent</code> and <code>PostAgent</code> permissions. For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html">Resource-based policies in CodeGuru Profiler</a> in the <i>Amazon CodeGuru Profiler User Guide</i>, <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html"> <code>ConfigureAgent</code> </a>, and <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html"> <code>PostAgentProfile</code> </a>. </p> <p> The first time you call <code>PutPermission</code> on a profiling group, do not specify a <code>revisionId</code> because it doesn't have a resource-based policy. Subsequent calls must provide a <code>revisionId</code> to specify which revision of the resource-based policy to add the permissions to. </p> <p> The response contains the profiling group's JSON-formatted resource policy. </p>
727
1280
  #
728
1281
  # @option params [required, String] :action_group
729
- # The list of actions that the users and roles can perform on the
730
- # profiling group.
1282
+ # Specifies an action group that contains permissions to add to a
1283
+ # profiling group resource. One action group is supported,
1284
+ # `agentPermissions`, which grants permission to perform actions
1285
+ # required by the profiling agent, `ConfigureAgent` and
1286
+ # `PostAgentProfile` permissions.
731
1287
  #
732
1288
  # @option params [required, Array<String>] :principals
733
- # The list of role and user ARNs or the accountId that needs access
734
- # (wildcards are not allowed).
1289
+ # A list ARNs for the roles and users you want to grant access to the
1290
+ # profiling group. Wildcards are not are supported in the ARNs.
735
1291
  #
736
1292
  # @option params [required, String] :profiling_group_name
737
- # The name of the profiling group.
1293
+ # The name of the profiling group to grant access to.
738
1294
  #
739
1295
  # @option params [String] :revision_id
740
- # A unique identifier for the current revision of the policy. This is
741
- # required, if a policy exists for the profiling group. This is not
742
- # required when creating the policy for the first time.
1296
+ # A universally unique identifier (UUID) for the revision of the policy
1297
+ # you are adding to the profiling group. Do not specify this when you
1298
+ # add permissions to a profiling group for the first time. If a policy
1299
+ # already exists on the profiling group, you must specify the
1300
+ # `revisionId`.
743
1301
  #
744
1302
  # @return [Types::PutPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
745
1303
  #
@@ -769,17 +1327,69 @@ module Aws::CodeGuruProfiler
769
1327
  req.send_request(options)
770
1328
  end
771
1329
 
772
- # Removes statement for the provided action group from the policy.
1330
+ # Remove one anomaly notifications channel for a profiling group.
1331
+ #
1332
+ # @option params [required, String] :channel_id
1333
+ # The id of the channel that we want to stop receiving notifications.
1334
+ #
1335
+ # @option params [required, String] :profiling_group_name
1336
+ # The name of the profiling group we want to change notification
1337
+ # configuration for.
1338
+ #
1339
+ # @return [Types::RemoveNotificationChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1340
+ #
1341
+ # * {Types::RemoveNotificationChannelResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
1342
+ #
1343
+ # @example Request syntax with placeholder values
1344
+ #
1345
+ # resp = client.remove_notification_channel({
1346
+ # channel_id: "ChannelId", # required
1347
+ # profiling_group_name: "ProfilingGroupName", # required
1348
+ # })
1349
+ #
1350
+ # @example Response structure
1351
+ #
1352
+ # resp.notification_configuration.channels #=> Array
1353
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
1354
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
1355
+ # resp.notification_configuration.channels[0].id #=> String
1356
+ # resp.notification_configuration.channels[0].uri #=> String
1357
+ #
1358
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannel AWS API Documentation
1359
+ #
1360
+ # @overload remove_notification_channel(params = {})
1361
+ # @param [Hash] params ({})
1362
+ def remove_notification_channel(params = {}, options = {})
1363
+ req = build_request(:remove_notification_channel, params)
1364
+ req.send_request(options)
1365
+ end
1366
+
1367
+ # Removes permissions from a profiling group's resource-based policy
1368
+ # that are provided using an action group. The one supported action
1369
+ # group that can be removed is `agentPermission` which grants
1370
+ # `ConfigureAgent` and `PostAgent` permissions. For more information,
1371
+ # see [Resource-based policies in CodeGuru Profiler][1] in the *Amazon
1372
+ # CodeGuru Profiler User Guide*, [ `ConfigureAgent` ][2], and [
1373
+ # `PostAgentProfile` ][3].
1374
+ #
1375
+ #
1376
+ #
1377
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html
1378
+ # [2]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html
1379
+ # [3]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html
773
1380
  #
774
1381
  # @option params [required, String] :action_group
775
- # The list of actions that the users and roles can perform on the
776
- # profiling group.
1382
+ # Specifies an action group that contains the permissions to remove from
1383
+ # a profiling group's resource-based policy. One action group is
1384
+ # supported, `agentPermissions`, which grants `ConfigureAgent` and
1385
+ # `PostAgentProfile` permissions.
777
1386
  #
778
1387
  # @option params [required, String] :profiling_group_name
779
1388
  # The name of the profiling group.
780
1389
  #
781
1390
  # @option params [required, String] :revision_id
782
- # A unique identifier for the current revision of the policy.
1391
+ # A universally unique identifier (UUID) for the revision of the
1392
+ # resource-based policy from which you want to remove permissions.
783
1393
  #
784
1394
  # @return [Types::RemovePermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
785
1395
  #
@@ -808,9 +1418,53 @@ module Aws::CodeGuruProfiler
808
1418
  req.send_request(options)
809
1419
  end
810
1420
 
1421
+ # Sends feedback to CodeGuru Profiler about whether the anomaly detected
1422
+ # by the analysis is useful or not.
1423
+ #
1424
+ # @option params [required, String] :anomaly_instance_id
1425
+ # The universally unique identifier (UUID) of the [ `AnomalyInstance`
1426
+ # ][1] object that is included in the analysis data.
1427
+ #
1428
+ #
1429
+ #
1430
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html
1431
+ #
1432
+ # @option params [String] :comment
1433
+ # Optional feedback about this anomaly.
1434
+ #
1435
+ # @option params [required, String] :profiling_group_name
1436
+ # The name of the profiling group that is associated with the analysis
1437
+ # data.
1438
+ #
1439
+ # @option params [required, String] :type
1440
+ # The feedback tpye. Thee are two valid values, `Positive` and
1441
+ # `Negative`.
1442
+ #
1443
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1444
+ #
1445
+ # @example Request syntax with placeholder values
1446
+ #
1447
+ # resp = client.submit_feedback({
1448
+ # anomaly_instance_id: "AnomalyInstanceId", # required
1449
+ # comment: "String",
1450
+ # profiling_group_name: "ProfilingGroupName", # required
1451
+ # type: "Negative", # required, accepts Negative, Positive
1452
+ # })
1453
+ #
1454
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedback AWS API Documentation
1455
+ #
1456
+ # @overload submit_feedback(params = {})
1457
+ # @param [Hash] params ({})
1458
+ def submit_feedback(params = {}, options = {})
1459
+ req = build_request(:submit_feedback, params)
1460
+ req.send_request(options)
1461
+ end
1462
+
811
1463
  # Updates a profiling group.
812
1464
  #
813
1465
  # @option params [required, Types::AgentOrchestrationConfig] :agent_orchestration_config
1466
+ # Specifies whether profiling is enabled or disabled for a profiling
1467
+ # group.
814
1468
  #
815
1469
  # @option params [required, String] :profiling_group_name
816
1470
  # The name of the profiling group to update.
@@ -832,6 +1486,7 @@ module Aws::CodeGuruProfiler
832
1486
  #
833
1487
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
834
1488
  # resp.profiling_group.arn #=> String
1489
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
835
1490
  # resp.profiling_group.created_at #=> Time
836
1491
  # resp.profiling_group.name #=> String
837
1492
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
@@ -862,7 +1517,7 @@ module Aws::CodeGuruProfiler
862
1517
  params: params,
863
1518
  config: config)
864
1519
  context[:gem_name] = 'aws-sdk-codeguruprofiler'
865
- context[:gem_version] = '1.3.0'
1520
+ context[:gem_version] = '1.8.0'
866
1521
  Seahorse::Client::Request.new(handlers, context)
867
1522
  end
868
1523