aws-sdk-codeguruprofiler 1.4.0 → 1.9.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: 4cc2e709f31eb2cc564effc00971656ac809d9560f3b4a08b9eb8503c8d280f0
4
- data.tar.gz: 7aa5f6990185e1189f407578ab131aec7281f177ac923b1e0b22e1489d438f3b
3
+ metadata.gz: b8e3afd2db4d9643ad47d9759cb5f80702cf2f39baaf7c9c0647e20edfbcd775
4
+ data.tar.gz: '0867eb396a6003fc992f3f31ff69c65b4a1d9af3e52c1c5fb878c783cbca4bf9'
5
5
  SHA512:
6
- metadata.gz: e05d86d996f25b28a5a0c791da96cac71700fe2448ce4be0faf65b5ee5a79f06475aa8f66eac6a9ae867d54777518c9435e7ac19eae05a81bced2cc7bd9c19f5
7
- data.tar.gz: f19f41f65e746e3c342ffea58e92a7cc209f3af7938e63adbc668cb33979a197e5dd67c5756c736d49d57aacd2d9f69a51214453d9fa34c4b8a5ef38460cc697
6
+ metadata.gz: 59f4360d017d52a2829eea86798efd08a5c7dbd02d10eabf1c19924597fe6ed215eac653f6cc85fdbd26e0d73fd5a144d4b522b0872d4da5952b5cf8d782112e
7
+ data.tar.gz: 19c314a81f29d2e37b1c7207bf89a3b205d28fed97094dedfdeda8f76d700b0863e529c246d5c310a87c4711269d1bd7c6c7790910f22b3882c96f51f628cd06
@@ -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.4.0'
50
+ GEM_VERSION = '1.9.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
 
@@ -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 a valid 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,29 @@ 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.
552
+ #
553
+ # @option params [Hash<String,String>] :tags
554
+ # A list of tags to add to the created profiling group.
357
555
  #
358
556
  # @return [Types::CreateProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
359
557
  #
@@ -366,19 +564,26 @@ module Aws::CodeGuruProfiler
366
564
  # profiling_enabled: false, # required
367
565
  # },
368
566
  # client_token: "ClientToken", # required
567
+ # compute_platform: "AWSLambda", # accepts AWSLambda, Default
369
568
  # profiling_group_name: "ProfilingGroupName", # required
569
+ # tags: {
570
+ # "String" => "String",
571
+ # },
370
572
  # })
371
573
  #
372
574
  # @example Response structure
373
575
  #
374
576
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
375
577
  # resp.profiling_group.arn #=> String
578
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
376
579
  # resp.profiling_group.created_at #=> Time
377
580
  # resp.profiling_group.name #=> String
378
581
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
379
582
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
380
583
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
381
584
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
585
+ # resp.profiling_group.tags #=> Hash
586
+ # resp.profiling_group.tags["String"] #=> String
382
587
  # resp.profiling_group.updated_at #=> Time
383
588
  #
384
589
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroup AWS API Documentation
@@ -393,7 +598,7 @@ module Aws::CodeGuruProfiler
393
598
  # Deletes a profiling group.
394
599
  #
395
600
  # @option params [required, String] :profiling_group_name
396
- # The profiling group name to delete.
601
+ # The name of the profiling group to delete.
397
602
  #
398
603
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
399
604
  #
@@ -412,10 +617,15 @@ module Aws::CodeGuruProfiler
412
617
  req.send_request(options)
413
618
  end
414
619
 
415
- # Describes a profiling group.
620
+ # Returns a [ `ProfilingGroupDescription` ][1] object that contains
621
+ # information about the requested profiling group.
622
+ #
623
+ #
624
+ #
625
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
416
626
  #
417
627
  # @option params [required, String] :profiling_group_name
418
- # The profiling group name.
628
+ # The name of the profiling group to get information about.
419
629
  #
420
630
  # @return [Types::DescribeProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
421
631
  #
@@ -431,12 +641,15 @@ module Aws::CodeGuruProfiler
431
641
  #
432
642
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
433
643
  # resp.profiling_group.arn #=> String
644
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
434
645
  # resp.profiling_group.created_at #=> Time
435
646
  # resp.profiling_group.name #=> String
436
647
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
437
648
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
438
649
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
439
650
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
651
+ # resp.profiling_group.tags #=> Hash
652
+ # resp.profiling_group.tags["String"] #=> String
440
653
  # resp.profiling_group.updated_at #=> Time
441
654
  #
442
655
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroup AWS API Documentation
@@ -448,7 +661,110 @@ module Aws::CodeGuruProfiler
448
661
  req.send_request(options)
449
662
  end
450
663
 
451
- # Gets the profiling group policy.
664
+ # Returns a list of [ `FindingsReportSummary` ][1] objects that contain
665
+ # analysis results for all profiling groups in your AWS account.
666
+ #
667
+ #
668
+ #
669
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html
670
+ #
671
+ # @option params [Boolean] :daily_reports_only
672
+ # A `Boolean` value indicating whether to only return reports from daily
673
+ # profiles. If set to `True`, only analysis data from daily profiles is
674
+ # returned. If set to `False`, analysis data is returned from smaller
675
+ # time windows (for example, one hour).
676
+ #
677
+ # @option params [Integer] :max_results
678
+ # The maximum number of results returned by `
679
+ # GetFindingsReportAccountSummary` in paginated output. When this
680
+ # parameter is used, `GetFindingsReportAccountSummary` only returns
681
+ # `maxResults` results in a single page along with a `nextToken`
682
+ # response element. The remaining results of the initial request can be
683
+ # seen by sending another `GetFindingsReportAccountSummary` request with
684
+ # the returned `nextToken` value.
685
+ #
686
+ # @option params [String] :next_token
687
+ # The `nextToken` value returned from a previous paginated
688
+ # `GetFindingsReportAccountSummary` request where `maxResults` was used
689
+ # and the results exceeded the value of that parameter. Pagination
690
+ # continues from the end of the previous results that returned the
691
+ # `nextToken` value.
692
+ #
693
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
694
+ # to retrieve the next items in a list and not for other programmatic
695
+ # purposes.
696
+ #
697
+ # </note>
698
+ #
699
+ # @return [Types::GetFindingsReportAccountSummaryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
700
+ #
701
+ # * {Types::GetFindingsReportAccountSummaryResponse#next_token #next_token} => String
702
+ # * {Types::GetFindingsReportAccountSummaryResponse#report_summaries #report_summaries} => Array&lt;Types::FindingsReportSummary&gt;
703
+ #
704
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
705
+ #
706
+ # @example Request syntax with placeholder values
707
+ #
708
+ # resp = client.get_findings_report_account_summary({
709
+ # daily_reports_only: false,
710
+ # max_results: 1,
711
+ # next_token: "PaginationToken",
712
+ # })
713
+ #
714
+ # @example Response structure
715
+ #
716
+ # resp.next_token #=> String
717
+ # resp.report_summaries #=> Array
718
+ # resp.report_summaries[0].id #=> String
719
+ # resp.report_summaries[0].profile_end_time #=> Time
720
+ # resp.report_summaries[0].profile_start_time #=> Time
721
+ # resp.report_summaries[0].profiling_group_name #=> String
722
+ # resp.report_summaries[0].total_number_of_findings #=> Integer
723
+ #
724
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummary AWS API Documentation
725
+ #
726
+ # @overload get_findings_report_account_summary(params = {})
727
+ # @param [Hash] params ({})
728
+ def get_findings_report_account_summary(params = {}, options = {})
729
+ req = build_request(:get_findings_report_account_summary, params)
730
+ req.send_request(options)
731
+ end
732
+
733
+ # Get the current configuration for anomaly notifications for a
734
+ # profiling group.
735
+ #
736
+ # @option params [required, String] :profiling_group_name
737
+ # The name of the profiling group we want to get the notification
738
+ # configuration for.
739
+ #
740
+ # @return [Types::GetNotificationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
741
+ #
742
+ # * {Types::GetNotificationConfigurationResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
743
+ #
744
+ # @example Request syntax with placeholder values
745
+ #
746
+ # resp = client.get_notification_configuration({
747
+ # profiling_group_name: "ProfilingGroupName", # required
748
+ # })
749
+ #
750
+ # @example Response structure
751
+ #
752
+ # resp.notification_configuration.channels #=> Array
753
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
754
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
755
+ # resp.notification_configuration.channels[0].id #=> String
756
+ # resp.notification_configuration.channels[0].uri #=> String
757
+ #
758
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfiguration AWS API Documentation
759
+ #
760
+ # @overload get_notification_configuration(params = {})
761
+ # @param [Hash] params ({})
762
+ def get_notification_configuration(params = {}, options = {})
763
+ req = build_request(:get_notification_configuration, params)
764
+ req.send_request(options)
765
+ end
766
+
767
+ # Returns the JSON-formatted resource-based policy on a profiling group.
452
768
  #
453
769
  # @option params [required, String] :profiling_group_name
454
770
  # The name of the profiling group.
@@ -478,46 +794,51 @@ module Aws::CodeGuruProfiler
478
794
  req.send_request(options)
479
795
  end
480
796
 
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.
487
- #
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.
797
+ # Gets the aggregated profile of a profiling group for a specified time
798
+ # range. Amazon CodeGuru Profiler collects posted agent profiles for a
799
+ # profiling group into aggregated profiles.
491
800
  #
492
- # You must specify exactly two of the following parameters: `startTime`,
493
- # `period`, and `endTime`.
801
+ # <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
802
  #
495
803
  # @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`.
804
+ # The format of the returned profiling data. The format maps to the
805
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
806
+ # specify one of the following: or the default .
807
+ #
808
+ # <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
809
  #
499
810
  # @option params [Time,DateTime,Date,Integer,String] :end_time
500
- # You must specify exactly two of the following parameters: `startTime`,
501
- # `period`, and `endTime`.
811
+ # The end time of the requested profile. Specify using the ISO 8601
812
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond
813
+ # past June 1, 2020 1:15:02 PM UTC.
814
+ #
815
+ # If you specify `endTime`, then you must also specify `period` or
816
+ # `startTime`, but not both.
502
817
  #
503
818
  # @option params [Integer] :max_depth
504
- # The maximum depth of the graph.
819
+ # The maximum depth of the stacks in the code that is represented in the
820
+ # aggregated profile. For example, if CodeGuru Profiler finds a method
821
+ # `A`, which calls method `B`, which calls method `C`, which calls
822
+ # method `D`, then the depth is 4. If the `maxDepth` is set to 2, then
823
+ # the aggregated profile contains representations of methods `A` and
824
+ # `B`.
505
825
  #
506
826
  # @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.
827
+ # Used with `startTime` or `endTime` to specify the time range for the
828
+ # returned aggregated profile. Specify using the ISO 8601 format. For
829
+ # example, `P1DT1H1M1S`.
509
830
  #
510
- # You must specify exactly two of the following parameters: `startTime`,
511
- # `period`, and `endTime`.
831
+ # <p> To get the latest aggregated profile, specify only <code>period</code>. </p>
512
832
  #
513
833
  # @option params [required, String] :profiling_group_name
514
834
  # The name of the profiling group to get.
515
835
  #
516
836
  # @option params [Time,DateTime,Date,Integer,String] :start_time
517
- # The start time of the profile to get.
837
+ # The start time of the profile to get. Specify using the ISO 8601
838
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond
839
+ # past June 1, 2020 1:15:02 PM UTC.
518
840
  #
519
- # You must specify exactly two of the following parameters: `startTime`,
520
- # `period`, and `endTime`.
841
+ # <p> If you specify <code>startTime</code>, then you must also specify <code>period</code> or <code>endTime</code>, but not both. </p>
521
842
  #
522
843
  # @return [Types::GetProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
523
844
  #
@@ -551,7 +872,203 @@ module Aws::CodeGuruProfiler
551
872
  req.send_request(options)
552
873
  end
553
874
 
554
- # List the start times of the available aggregated profiles of a
875
+ # Returns a list of [ `Recommendation` ][1] objects that contain
876
+ # recommendations for a profiling group for a given time period. A list
877
+ # of [ `Anomaly` ][2] objects that contains details about anomalies
878
+ # detected in the profiling group for the same time period is also
879
+ # returned.
880
+ #
881
+ #
882
+ #
883
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Recommendation.html
884
+ # [2]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Anomaly.html
885
+ #
886
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
887
+ # The start time of the profile to get analysis data about. You must
888
+ # specify `startTime` and `endTime`. This is specified using the ISO
889
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
890
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
891
+ #
892
+ # @option params [String] :locale
893
+ # The language used to provide analysis. Specify using a string that is
894
+ # one of the following `BCP 47` language codes.
895
+ #
896
+ # * `de-DE` - German, Germany
897
+ #
898
+ # * `en-GB` - English, United Kingdom
899
+ #
900
+ # * `en-US` - English, United States
901
+ #
902
+ # * `es-ES` - Spanish, Spain
903
+ #
904
+ # * `fr-FR` - French, France
905
+ #
906
+ # * `it-IT` - Italian, Italy
907
+ #
908
+ # * `ja-JP` - Japanese, Japan
909
+ #
910
+ # * `ko-KR` - Korean, Republic of Korea
911
+ #
912
+ # * `pt-BR` - Portugese, Brazil
913
+ #
914
+ # * `zh-CN` - Chinese, China
915
+ #
916
+ # * `zh-TW` - Chinese, Taiwan
917
+ #
918
+ # @option params [required, String] :profiling_group_name
919
+ # The name of the profiling group to get analysis data about.
920
+ #
921
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
922
+ # The end time of the profile to get analysis data about. You must
923
+ # specify `startTime` and `endTime`. This is specified using the ISO
924
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
925
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
926
+ #
927
+ # @return [Types::GetRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
928
+ #
929
+ # * {Types::GetRecommendationsResponse#anomalies #anomalies} => Array&lt;Types::Anomaly&gt;
930
+ # * {Types::GetRecommendationsResponse#profile_end_time #profile_end_time} => Time
931
+ # * {Types::GetRecommendationsResponse#profile_start_time #profile_start_time} => Time
932
+ # * {Types::GetRecommendationsResponse#profiling_group_name #profiling_group_name} => String
933
+ # * {Types::GetRecommendationsResponse#recommendations #recommendations} => Array&lt;Types::Recommendation&gt;
934
+ #
935
+ # @example Request syntax with placeholder values
936
+ #
937
+ # resp = client.get_recommendations({
938
+ # end_time: Time.now, # required
939
+ # locale: "Locale",
940
+ # profiling_group_name: "ProfilingGroupName", # required
941
+ # start_time: Time.now, # required
942
+ # })
943
+ #
944
+ # @example Response structure
945
+ #
946
+ # resp.anomalies #=> Array
947
+ # resp.anomalies[0].instances #=> Array
948
+ # resp.anomalies[0].instances[0].end_time #=> Time
949
+ # resp.anomalies[0].instances[0].id #=> String
950
+ # resp.anomalies[0].instances[0].start_time #=> Time
951
+ # resp.anomalies[0].instances[0].user_feedback.type #=> String, one of "Negative", "Positive"
952
+ # resp.anomalies[0].metric.frame_name #=> String
953
+ # resp.anomalies[0].metric.thread_states #=> Array
954
+ # resp.anomalies[0].metric.thread_states[0] #=> String
955
+ # resp.anomalies[0].metric.type #=> String, one of "AggregatedRelativeTotalTime"
956
+ # resp.anomalies[0].reason #=> String
957
+ # resp.profile_end_time #=> Time
958
+ # resp.profile_start_time #=> Time
959
+ # resp.profiling_group_name #=> String
960
+ # resp.recommendations #=> Array
961
+ # resp.recommendations[0].all_matches_count #=> Integer
962
+ # resp.recommendations[0].all_matches_sum #=> Float
963
+ # resp.recommendations[0].end_time #=> Time
964
+ # resp.recommendations[0].pattern.counters_to_aggregate #=> Array
965
+ # resp.recommendations[0].pattern.counters_to_aggregate[0] #=> String
966
+ # resp.recommendations[0].pattern.description #=> String
967
+ # resp.recommendations[0].pattern.id #=> String
968
+ # resp.recommendations[0].pattern.name #=> String
969
+ # resp.recommendations[0].pattern.resolution_steps #=> String
970
+ # resp.recommendations[0].pattern.target_frames #=> Array
971
+ # resp.recommendations[0].pattern.target_frames[0] #=> Array
972
+ # resp.recommendations[0].pattern.target_frames[0][0] #=> String
973
+ # resp.recommendations[0].pattern.threshold_percent #=> Float
974
+ # resp.recommendations[0].start_time #=> Time
975
+ # resp.recommendations[0].top_matches #=> Array
976
+ # resp.recommendations[0].top_matches[0].frame_address #=> String
977
+ # resp.recommendations[0].top_matches[0].target_frames_index #=> Integer
978
+ # resp.recommendations[0].top_matches[0].threshold_breach_value #=> Float
979
+ #
980
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendations AWS API Documentation
981
+ #
982
+ # @overload get_recommendations(params = {})
983
+ # @param [Hash] params ({})
984
+ def get_recommendations(params = {}, options = {})
985
+ req = build_request(:get_recommendations, params)
986
+ req.send_request(options)
987
+ end
988
+
989
+ # List the available reports for a given profiling group and time range.
990
+ #
991
+ # @option params [Boolean] :daily_reports_only
992
+ # A `Boolean` value indicating whether to only return reports from daily
993
+ # profiles. If set to `True`, only analysis data from daily profiles is
994
+ # returned. If set to `False`, analysis data is returned from smaller
995
+ # time windows (for example, one hour).
996
+ #
997
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
998
+ # The end time of the profile to get analysis data about. You must
999
+ # specify `startTime` and `endTime`. This is specified using the ISO
1000
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1001
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1002
+ #
1003
+ # @option params [Integer] :max_results
1004
+ # The maximum number of report results returned by `ListFindingsReports`
1005
+ # in paginated output. When this parameter is used,
1006
+ # `ListFindingsReports` only returns `maxResults` results in a single
1007
+ # page along with a `nextToken` response element. The remaining results
1008
+ # of the initial request can be seen by sending another
1009
+ # `ListFindingsReports` request with the returned `nextToken` value.
1010
+ #
1011
+ # @option params [String] :next_token
1012
+ # The `nextToken` value returned from a previous paginated
1013
+ # `ListFindingsReportsRequest` request where `maxResults` was used and
1014
+ # the results exceeded the value of that parameter. Pagination continues
1015
+ # from the end of the previous results that returned the `nextToken`
1016
+ # value.
1017
+ #
1018
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
1019
+ # to retrieve the next items in a list and not for other programmatic
1020
+ # purposes.
1021
+ #
1022
+ # </note>
1023
+ #
1024
+ # @option params [required, String] :profiling_group_name
1025
+ # The name of the profiling group from which to search for analysis
1026
+ # data.
1027
+ #
1028
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1029
+ # The start time of the profile to get analysis data about. You must
1030
+ # specify `startTime` and `endTime`. This is specified using the ISO
1031
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1032
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1033
+ #
1034
+ # @return [Types::ListFindingsReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1035
+ #
1036
+ # * {Types::ListFindingsReportsResponse#findings_report_summaries #findings_report_summaries} => Array&lt;Types::FindingsReportSummary&gt;
1037
+ # * {Types::ListFindingsReportsResponse#next_token #next_token} => String
1038
+ #
1039
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1040
+ #
1041
+ # @example Request syntax with placeholder values
1042
+ #
1043
+ # resp = client.list_findings_reports({
1044
+ # daily_reports_only: false,
1045
+ # end_time: Time.now, # required
1046
+ # max_results: 1,
1047
+ # next_token: "PaginationToken",
1048
+ # profiling_group_name: "ProfilingGroupName", # required
1049
+ # start_time: Time.now, # required
1050
+ # })
1051
+ #
1052
+ # @example Response structure
1053
+ #
1054
+ # resp.findings_report_summaries #=> Array
1055
+ # resp.findings_report_summaries[0].id #=> String
1056
+ # resp.findings_report_summaries[0].profile_end_time #=> Time
1057
+ # resp.findings_report_summaries[0].profile_start_time #=> Time
1058
+ # resp.findings_report_summaries[0].profiling_group_name #=> String
1059
+ # resp.findings_report_summaries[0].total_number_of_findings #=> Integer
1060
+ # resp.next_token #=> String
1061
+ #
1062
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReports AWS API Documentation
1063
+ #
1064
+ # @overload list_findings_reports(params = {})
1065
+ # @param [Hash] params ({})
1066
+ def list_findings_reports(params = {}, options = {})
1067
+ req = build_request(:list_findings_reports, params)
1068
+ req.send_request(options)
1069
+ end
1070
+
1071
+ # Lists the start times of the available aggregated profiles of a
555
1072
  # profiling group for an aggregation period within the specified time
556
1073
  # range.
557
1074
  #
@@ -583,7 +1100,15 @@ module Aws::CodeGuruProfiler
583
1100
  # use when listing profiles. Defaults to `TIMESTAMP_DESCENDING`.
584
1101
  #
585
1102
  # @option params [required, String] :period
586
- # The aggregation period.
1103
+ # The aggregation period. This specifies the period during which an
1104
+ # aggregation profile collects posted agent profiles for a profiling
1105
+ # group. There are 3 valid values.
1106
+ #
1107
+ # * `P1D` — 1 day
1108
+ #
1109
+ # * `PT1H` — 1 hour
1110
+ #
1111
+ # * `PT5M` — 5 minutes
587
1112
  #
588
1113
  # @option params [required, String] :profiling_group_name
589
1114
  # The name of the profiling group.
@@ -625,10 +1150,22 @@ module Aws::CodeGuruProfiler
625
1150
  req.send_request(options)
626
1151
  end
627
1152
 
628
- # Lists profiling groups.
1153
+ # Returns a list of profiling groups. The profiling groups are returned
1154
+ # as [ `ProfilingGroupDescription` ][1] objects.
1155
+ #
1156
+ #
1157
+ #
1158
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
629
1159
  #
630
1160
  # @option params [Boolean] :include_description
631
- # A Boolean value indicating whether to include a description.
1161
+ # A `Boolean` value indicating whether to include a description. If
1162
+ # `true`, then a list of [ `ProfilingGroupDescription` ][1] objects that
1163
+ # contain detailed information about profiling groups is returned. If
1164
+ # `false`, then a list of profiling group names is returned.
1165
+ #
1166
+ #
1167
+ #
1168
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
632
1169
  #
633
1170
  # @option params [Integer] :max_results
634
1171
  # The maximum number of profiling groups results returned by
@@ -675,12 +1212,15 @@ module Aws::CodeGuruProfiler
675
1212
  # resp.profiling_groups #=> Array
676
1213
  # resp.profiling_groups[0].agent_orchestration_config.profiling_enabled #=> Boolean
677
1214
  # resp.profiling_groups[0].arn #=> String
1215
+ # resp.profiling_groups[0].compute_platform #=> String, one of "AWSLambda", "Default"
678
1216
  # resp.profiling_groups[0].created_at #=> Time
679
1217
  # resp.profiling_groups[0].name #=> String
680
1218
  # resp.profiling_groups[0].profiling_status.latest_agent_orchestrated_at #=> Time
681
1219
  # resp.profiling_groups[0].profiling_status.latest_agent_profile_reported_at #=> Time
682
1220
  # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
683
1221
  # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.start #=> Time
1222
+ # resp.profiling_groups[0].tags #=> Hash
1223
+ # resp.profiling_groups[0].tags["String"] #=> String
684
1224
  # resp.profiling_groups[0].updated_at #=> Time
685
1225
  #
686
1226
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroups AWS API Documentation
@@ -692,15 +1232,65 @@ module Aws::CodeGuruProfiler
692
1232
  req.send_request(options)
693
1233
  end
694
1234
 
1235
+ # Returns a list of the tags that are assigned to a specified resource.
1236
+ #
1237
+ # @option params [required, String] :resource_arn
1238
+ # The Amazon Resource Name (ARN) of the resource that contains the tags
1239
+ # to return.
1240
+ #
1241
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1242
+ #
1243
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1244
+ #
1245
+ # @example Request syntax with placeholder values
1246
+ #
1247
+ # resp = client.list_tags_for_resource({
1248
+ # resource_arn: "ProfilingGroupArn", # required
1249
+ # })
1250
+ #
1251
+ # @example Response structure
1252
+ #
1253
+ # resp.tags #=> Hash
1254
+ # resp.tags["String"] #=> String
1255
+ #
1256
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListTagsForResource AWS API Documentation
1257
+ #
1258
+ # @overload list_tags_for_resource(params = {})
1259
+ # @param [Hash] params ({})
1260
+ def list_tags_for_resource(params = {}, options = {})
1261
+ req = build_request(:list_tags_for_resource, params)
1262
+ req.send_request(options)
1263
+ end
1264
+
1265
+ # Submits profiling data to an aggregated profile of a profiling group.
1266
+ # To get an aggregated profile that is created with this profiling data,
1267
+ # use [ `GetProfile` ][1].
1268
+ #
1269
+ #
1270
+ #
1271
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetProfile.html
1272
+ #
695
1273
  # @option params [required, String, IO] :agent_profile
1274
+ # The submitted profiling data.
696
1275
  #
697
1276
  # @option params [required, String] :content_type
1277
+ # The format of the submitted profiling data. The format maps to the
1278
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
1279
+ # specify one of the following: or the default .
1280
+ #
1281
+ # <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
1282
  #
699
1283
  # @option params [String] :profile_token
1284
+ # Amazon CodeGuru Profiler uses this universally unique identifier
1285
+ # (UUID) to prevent the accidental submission of duplicate profiling
1286
+ # data if there are failures and retries.
1287
+ #
700
1288
  # **A suitable default value is auto-generated.** You should normally
701
1289
  # not need to pass this option.**
702
1290
  #
703
1291
  # @option params [required, String] :profiling_group_name
1292
+ # The name of the profiling group with the aggregated profile that
1293
+ # receives the submitted profiling data.
704
1294
  #
705
1295
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
706
1296
  #
@@ -722,24 +1312,34 @@ module Aws::CodeGuruProfiler
722
1312
  req.send_request(options)
723
1313
  end
724
1314
 
725
- # Provides permission to the principals. This overwrites the existing
726
- # permissions, and is not additive.
1315
+ # Adds permissions to a profiling group's resource-based policy that
1316
+ # are provided using an action group. If a profiling group doesn't have
1317
+ # a resource-based policy, one is created for it using the permissions
1318
+ # in the action group and the roles and users in the `principals`
1319
+ # parameter.
1320
+ #
1321
+ # <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
1322
  #
728
1323
  # @option params [required, String] :action_group
729
- # The list of actions that the users and roles can perform on the
730
- # profiling group.
1324
+ # Specifies an action group that contains permissions to add to a
1325
+ # profiling group resource. One action group is supported,
1326
+ # `agentPermissions`, which grants permission to perform actions
1327
+ # required by the profiling agent, `ConfigureAgent` and
1328
+ # `PostAgentProfile` permissions.
731
1329
  #
732
1330
  # @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).
1331
+ # A list ARNs for the roles and users you want to grant access to the
1332
+ # profiling group. Wildcards are not are supported in the ARNs.
735
1333
  #
736
1334
  # @option params [required, String] :profiling_group_name
737
- # The name of the profiling group.
1335
+ # The name of the profiling group to grant access to.
738
1336
  #
739
1337
  # @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.
1338
+ # A universally unique identifier (UUID) for the revision of the policy
1339
+ # you are adding to the profiling group. Do not specify this when you
1340
+ # add permissions to a profiling group for the first time. If a policy
1341
+ # already exists on the profiling group, you must specify the
1342
+ # `revisionId`.
743
1343
  #
744
1344
  # @return [Types::PutPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
745
1345
  #
@@ -769,17 +1369,69 @@ module Aws::CodeGuruProfiler
769
1369
  req.send_request(options)
770
1370
  end
771
1371
 
772
- # Removes statement for the provided action group from the policy.
1372
+ # Remove one anomaly notifications channel for a profiling group.
1373
+ #
1374
+ # @option params [required, String] :channel_id
1375
+ # The id of the channel that we want to stop receiving notifications.
1376
+ #
1377
+ # @option params [required, String] :profiling_group_name
1378
+ # The name of the profiling group we want to change notification
1379
+ # configuration for.
1380
+ #
1381
+ # @return [Types::RemoveNotificationChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1382
+ #
1383
+ # * {Types::RemoveNotificationChannelResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
1384
+ #
1385
+ # @example Request syntax with placeholder values
1386
+ #
1387
+ # resp = client.remove_notification_channel({
1388
+ # channel_id: "ChannelId", # required
1389
+ # profiling_group_name: "ProfilingGroupName", # required
1390
+ # })
1391
+ #
1392
+ # @example Response structure
1393
+ #
1394
+ # resp.notification_configuration.channels #=> Array
1395
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
1396
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
1397
+ # resp.notification_configuration.channels[0].id #=> String
1398
+ # resp.notification_configuration.channels[0].uri #=> String
1399
+ #
1400
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannel AWS API Documentation
1401
+ #
1402
+ # @overload remove_notification_channel(params = {})
1403
+ # @param [Hash] params ({})
1404
+ def remove_notification_channel(params = {}, options = {})
1405
+ req = build_request(:remove_notification_channel, params)
1406
+ req.send_request(options)
1407
+ end
1408
+
1409
+ # Removes permissions from a profiling group's resource-based policy
1410
+ # that are provided using an action group. The one supported action
1411
+ # group that can be removed is `agentPermission` which grants
1412
+ # `ConfigureAgent` and `PostAgent` permissions. For more information,
1413
+ # see [Resource-based policies in CodeGuru Profiler][1] in the *Amazon
1414
+ # CodeGuru Profiler User Guide*, [ `ConfigureAgent` ][2], and [
1415
+ # `PostAgentProfile` ][3].
1416
+ #
1417
+ #
1418
+ #
1419
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html
1420
+ # [2]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html
1421
+ # [3]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html
773
1422
  #
774
1423
  # @option params [required, String] :action_group
775
- # The list of actions that the users and roles can perform on the
776
- # profiling group.
1424
+ # Specifies an action group that contains the permissions to remove from
1425
+ # a profiling group's resource-based policy. One action group is
1426
+ # supported, `agentPermissions`, which grants `ConfigureAgent` and
1427
+ # `PostAgentProfile` permissions.
777
1428
  #
778
1429
  # @option params [required, String] :profiling_group_name
779
1430
  # The name of the profiling group.
780
1431
  #
781
1432
  # @option params [required, String] :revision_id
782
- # A unique identifier for the current revision of the policy.
1433
+ # A universally unique identifier (UUID) for the revision of the
1434
+ # resource-based policy from which you want to remove permissions.
783
1435
  #
784
1436
  # @return [Types::RemovePermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
785
1437
  #
@@ -808,9 +1460,110 @@ module Aws::CodeGuruProfiler
808
1460
  req.send_request(options)
809
1461
  end
810
1462
 
1463
+ # Sends feedback to CodeGuru Profiler about whether the anomaly detected
1464
+ # by the analysis is useful or not.
1465
+ #
1466
+ # @option params [required, String] :anomaly_instance_id
1467
+ # The universally unique identifier (UUID) of the [ `AnomalyInstance`
1468
+ # ][1] object that is included in the analysis data.
1469
+ #
1470
+ #
1471
+ #
1472
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html
1473
+ #
1474
+ # @option params [String] :comment
1475
+ # Optional feedback about this anomaly.
1476
+ #
1477
+ # @option params [required, String] :profiling_group_name
1478
+ # The name of the profiling group that is associated with the analysis
1479
+ # data.
1480
+ #
1481
+ # @option params [required, String] :type
1482
+ # The feedback tpye. Thee are two valid values, `Positive` and
1483
+ # `Negative`.
1484
+ #
1485
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1486
+ #
1487
+ # @example Request syntax with placeholder values
1488
+ #
1489
+ # resp = client.submit_feedback({
1490
+ # anomaly_instance_id: "AnomalyInstanceId", # required
1491
+ # comment: "String",
1492
+ # profiling_group_name: "ProfilingGroupName", # required
1493
+ # type: "Negative", # required, accepts Negative, Positive
1494
+ # })
1495
+ #
1496
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedback AWS API Documentation
1497
+ #
1498
+ # @overload submit_feedback(params = {})
1499
+ # @param [Hash] params ({})
1500
+ def submit_feedback(params = {}, options = {})
1501
+ req = build_request(:submit_feedback, params)
1502
+ req.send_request(options)
1503
+ end
1504
+
1505
+ # Use to assign one or more tags to a resource.
1506
+ #
1507
+ # @option params [required, String] :resource_arn
1508
+ # The Amazon Resource Name (ARN) of the resource that the tags are added
1509
+ # to.
1510
+ #
1511
+ # @option params [required, Hash<String,String>] :tags
1512
+ # The list of tags that are added to the specified resource.
1513
+ #
1514
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1515
+ #
1516
+ # @example Request syntax with placeholder values
1517
+ #
1518
+ # resp = client.tag_resource({
1519
+ # resource_arn: "ProfilingGroupArn", # required
1520
+ # tags: { # required
1521
+ # "String" => "String",
1522
+ # },
1523
+ # })
1524
+ #
1525
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TagResource AWS API Documentation
1526
+ #
1527
+ # @overload tag_resource(params = {})
1528
+ # @param [Hash] params ({})
1529
+ def tag_resource(params = {}, options = {})
1530
+ req = build_request(:tag_resource, params)
1531
+ req.send_request(options)
1532
+ end
1533
+
1534
+ # Use to remove one or more tags from a resource.
1535
+ #
1536
+ # @option params [required, String] :resource_arn
1537
+ # The Amazon Resource Name (ARN) of the resource that contains the tags
1538
+ # to remove.
1539
+ #
1540
+ # @option params [required, Array<String>] :tag_keys
1541
+ # A list of tag keys. Existing tags of resources with keys in this list
1542
+ # are removed from the specified resource.
1543
+ #
1544
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1545
+ #
1546
+ # @example Request syntax with placeholder values
1547
+ #
1548
+ # resp = client.untag_resource({
1549
+ # resource_arn: "ProfilingGroupArn", # required
1550
+ # tag_keys: ["String"], # required
1551
+ # })
1552
+ #
1553
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UntagResource AWS API Documentation
1554
+ #
1555
+ # @overload untag_resource(params = {})
1556
+ # @param [Hash] params ({})
1557
+ def untag_resource(params = {}, options = {})
1558
+ req = build_request(:untag_resource, params)
1559
+ req.send_request(options)
1560
+ end
1561
+
811
1562
  # Updates a profiling group.
812
1563
  #
813
1564
  # @option params [required, Types::AgentOrchestrationConfig] :agent_orchestration_config
1565
+ # Specifies whether profiling is enabled or disabled for a profiling
1566
+ # group.
814
1567
  #
815
1568
  # @option params [required, String] :profiling_group_name
816
1569
  # The name of the profiling group to update.
@@ -832,12 +1585,15 @@ module Aws::CodeGuruProfiler
832
1585
  #
833
1586
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
834
1587
  # resp.profiling_group.arn #=> String
1588
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
835
1589
  # resp.profiling_group.created_at #=> Time
836
1590
  # resp.profiling_group.name #=> String
837
1591
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
838
1592
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
839
1593
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
840
1594
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
1595
+ # resp.profiling_group.tags #=> Hash
1596
+ # resp.profiling_group.tags["String"] #=> String
841
1597
  # resp.profiling_group.updated_at #=> Time
842
1598
  #
843
1599
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroup AWS API Documentation
@@ -862,7 +1618,7 @@ module Aws::CodeGuruProfiler
862
1618
  params: params,
863
1619
  config: config)
864
1620
  context[:gem_name] = 'aws-sdk-codeguruprofiler'
865
- context[:gem_version] = '1.4.0'
1621
+ context[:gem_version] = '1.9.0'
866
1622
  Seahorse::Client::Request.new(handlers, context)
867
1623
  end
868
1624