aws-sdk-codeguruprofiler 1.7.0 → 1.12.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: 4373b7be67d682f57930a38ed64c3b0947c2da73a4f247ae711ae016d854eda9
4
- data.tar.gz: 0a99b74a3fc259a8df183530fb513205fa05c4d5b69a2022e6141197fcf77ad6
3
+ metadata.gz: 4e8d1e5fb26033659ca9186cfd6c4cf8f7003bc813c74310ea34aff4e60536f2
4
+ data.tar.gz: c49f9c6dc823d266963050e4efc361d0b01ecc0519ac778f9584e5abec290fe2
5
5
  SHA512:
6
- metadata.gz: 1fd02a3e4e842952413b3446e3212df20b50e5ad4583a9162bb38bcfdaaab9862ddb037409c0c95139d0f84039ae640b7dea32e744f22726e5d4d0febb0ed839
7
- data.tar.gz: 3d74ec70a4447feaffe63fd48cb8b08f384c6b535a7180c8b37406e5e6de95049db3cfc95f7272d76590ae50bee5cd84605f75f9f53ce14a445f4b160411aba5
6
+ metadata.gz: 80eeccaee724168e8de0e764522a0dbfd1c01658cc597e8c59bfebfcb6c567ec6290abf64048e98d7da98adcc4c5a19cb4406ab796a8ad328281ded9a3197623
7
+ data.tar.gz: d8f90ea520d4adcae6d758a42addcf25d06204986e08cd791de2e70424fab2f481eada3dc36d1767188c4a0e93a7162f6af09791eac858f959d7be97ac284caf
@@ -7,6 +7,7 @@
7
7
  #
8
8
  # WARNING ABOUT GENERATED CODE
9
9
 
10
+
10
11
  require 'aws-sdk-core'
11
12
  require 'aws-sigv4'
12
13
 
@@ -27,7 +28,7 @@ require_relative 'aws-sdk-codeguruprofiler/customizations'
27
28
  # structure.
28
29
  #
29
30
  # code_guru_profiler = Aws::CodeGuruProfiler::Client.new
30
- # resp = code_guru_profiler.configure_agent(params)
31
+ # resp = code_guru_profiler.add_notification_channels(params)
31
32
  #
32
33
  # See {Client} for more information.
33
34
  #
@@ -44,9 +45,9 @@ require_relative 'aws-sdk-codeguruprofiler/customizations'
44
45
  #
45
46
  # See {Errors} for more information.
46
47
  #
47
- # @service
48
+ # @!group service
48
49
  module Aws::CodeGuruProfiler
49
50
 
50
- GEM_VERSION = '1.7.0'
51
+ GEM_VERSION = '1.12.0'
51
52
 
52
53
  end
@@ -85,13 +85,28 @@ module Aws::CodeGuruProfiler
85
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
86
86
  # credentials.
87
87
  #
88
+ # * `Aws::SharedCredentials` - Used for loading static credentials from a
89
+ # shared file, such as `~/.aws/config`.
90
+ #
91
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
92
+ #
93
+ # * `Aws::AssumeRoleWebIdentityCredentials` - Used when you need to
94
+ # assume a role after providing credentials via the web.
95
+ #
96
+ # * `Aws::SSOCredentials` - Used for loading credentials from AWS SSO using an
97
+ # access token generated from `aws login`.
98
+ #
99
+ # * `Aws::ProcessCredentials` - Used for loading credentials from a
100
+ # process that outputs to stdout.
101
+ #
88
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
89
103
  # from an EC2 IMDS on an EC2 instance.
90
104
  #
91
- # * `Aws::SharedCredentials` - Used for loading credentials from a
92
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
93
107
  #
94
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
95
110
  #
96
111
  # When `:credentials` are not configured directly, the following
97
112
  # locations will be searched for credentials:
@@ -101,10 +116,10 @@ module Aws::CodeGuruProfiler
101
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
102
117
  # * `~/.aws/credentials`
103
118
  # * `~/.aws/config`
104
- # * EC2 IMDS instance profile - When used by default, the timeouts are
105
- # very aggressive. Construct and pass an instance of
106
- # `Aws::InstanceProfileCredentails` to enable retries and extended
107
- # timeouts.
119
+ # * EC2/ECS IMDS instance profile - When used by default, the timeouts
120
+ # are very aggressive. Construct and pass an instance of
121
+ # `Aws::InstanceProfileCredentails` or `Aws::ECSCredentials` to
122
+ # enable retries and extended timeouts.
108
123
  #
109
124
  # @option options [required, String] :region
110
125
  # The AWS region to connect to. The configured `:region` is
@@ -312,9 +327,189 @@ module Aws::CodeGuruProfiler
312
327
 
313
328
  # @!group API Operations
314
329
 
330
+ # Add up to 2 anomaly notifications channels for a profiling group.
331
+ #
332
+ # @option params [required, Array<Types::Channel>] :channels
333
+ # One or 2 channels to report to when anomalies are detected.
334
+ #
335
+ # @option params [required, String] :profiling_group_name
336
+ # The name of the profiling group that we are setting up notifications
337
+ # for.
338
+ #
339
+ # @return [Types::AddNotificationChannelsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
340
+ #
341
+ # * {Types::AddNotificationChannelsResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
342
+ #
343
+ # @example Request syntax with placeholder values
344
+ #
345
+ # resp = client.add_notification_channels({
346
+ # channels: [ # required
347
+ # {
348
+ # event_publishers: ["AnomalyDetection"], # required, accepts AnomalyDetection
349
+ # id: "ChannelId",
350
+ # uri: "ChannelUri", # required
351
+ # },
352
+ # ],
353
+ # profiling_group_name: "ProfilingGroupName", # required
354
+ # })
355
+ #
356
+ # @example Response structure
357
+ #
358
+ # resp.notification_configuration.channels #=> Array
359
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
360
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
361
+ # resp.notification_configuration.channels[0].id #=> String
362
+ # resp.notification_configuration.channels[0].uri #=> String
363
+ #
364
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AddNotificationChannels AWS API Documentation
365
+ #
366
+ # @overload add_notification_channels(params = {})
367
+ # @param [Hash] params ({})
368
+ def add_notification_channels(params = {}, options = {})
369
+ req = build_request(:add_notification_channels, params)
370
+ req.send_request(options)
371
+ end
372
+
373
+ # Returns the time series of values for a requested list of frame
374
+ # metrics from a time period.
375
+ #
376
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
377
+ # The end time of the time period for the returned time series values.
378
+ # This is specified using the ISO 8601 format. For example,
379
+ # 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020
380
+ # 1:15:02 PM UTC.
381
+ #
382
+ # @option params [Array<Types::FrameMetric>] :frame_metrics
383
+ # The details of the metrics that are used to request a time series of
384
+ # values. The metric includes the name of the frame, the aggregation
385
+ # type to calculate the metric value for the frame, and the thread
386
+ # states to use to get the count for the metric value of the frame.
387
+ #
388
+ # @option params [String] :period
389
+ # The duration of the frame metrics used to return the time series
390
+ # values. Specify using the ISO 8601 format. The maximum period duration
391
+ # is one day (`PT24H` or `P1D`).
392
+ #
393
+ # @option params [required, String] :profiling_group_name
394
+ # The name of the profiling group associated with the the frame metrics
395
+ # used to return the time series values.
396
+ #
397
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
398
+ # The start time of the time period for the frame metrics used to return
399
+ # the time series values. This is specified using the ISO 8601 format.
400
+ # For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past
401
+ # June 1, 2020 1:15:02 PM UTC.
402
+ #
403
+ # @option params [String] :target_resolution
404
+ # The requested resolution of time steps for the returned time series of
405
+ # values. If the requested target resolution is not available due to
406
+ # data not being retained we provide a best effort result by falling
407
+ # back to the most granular available resolution after the target
408
+ # resolution. There are 3 valid values.
409
+ #
410
+ # * `P1D` — 1 day
411
+ #
412
+ # * `PT1H` — 1 hour
413
+ #
414
+ # * `PT5M` — 5 minutes
415
+ #
416
+ # @return [Types::BatchGetFrameMetricDataResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
417
+ #
418
+ # * {Types::BatchGetFrameMetricDataResponse#end_time #end_time} => Time
419
+ # * {Types::BatchGetFrameMetricDataResponse#end_times #end_times} => Array&lt;Types::TimestampStructure&gt;
420
+ # * {Types::BatchGetFrameMetricDataResponse#frame_metric_data #frame_metric_data} => Array&lt;Types::FrameMetricDatum&gt;
421
+ # * {Types::BatchGetFrameMetricDataResponse#resolution #resolution} => String
422
+ # * {Types::BatchGetFrameMetricDataResponse#start_time #start_time} => Time
423
+ # * {Types::BatchGetFrameMetricDataResponse#unprocessed_end_times #unprocessed_end_times} => Hash&lt;String,Array&lt;Types::TimestampStructure&gt;&gt;
424
+ #
425
+ # @example Request syntax with placeholder values
426
+ #
427
+ # resp = client.batch_get_frame_metric_data({
428
+ # end_time: Time.now,
429
+ # frame_metrics: [
430
+ # {
431
+ # frame_name: "String", # required
432
+ # thread_states: ["String"], # required
433
+ # type: "AggregatedRelativeTotalTime", # required, accepts AggregatedRelativeTotalTime
434
+ # },
435
+ # ],
436
+ # period: "Period",
437
+ # profiling_group_name: "ProfilingGroupName", # required
438
+ # start_time: Time.now,
439
+ # target_resolution: "P1D", # accepts P1D, PT1H, PT5M
440
+ # })
441
+ #
442
+ # @example Response structure
443
+ #
444
+ # resp.end_time #=> Time
445
+ # resp.end_times #=> Array
446
+ # resp.end_times[0].value #=> Time
447
+ # resp.frame_metric_data #=> Array
448
+ # resp.frame_metric_data[0].frame_metric.frame_name #=> String
449
+ # resp.frame_metric_data[0].frame_metric.thread_states #=> Array
450
+ # resp.frame_metric_data[0].frame_metric.thread_states[0] #=> String
451
+ # resp.frame_metric_data[0].frame_metric.type #=> String, one of "AggregatedRelativeTotalTime"
452
+ # resp.frame_metric_data[0].values #=> Array
453
+ # resp.frame_metric_data[0].values[0] #=> Float
454
+ # resp.resolution #=> String, one of "P1D", "PT1H", "PT5M"
455
+ # resp.start_time #=> Time
456
+ # resp.unprocessed_end_times #=> Hash
457
+ # resp.unprocessed_end_times["String"] #=> Array
458
+ # resp.unprocessed_end_times["String"][0].value #=> Time
459
+ #
460
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricData AWS API Documentation
461
+ #
462
+ # @overload batch_get_frame_metric_data(params = {})
463
+ # @param [Hash] params ({})
464
+ def batch_get_frame_metric_data(params = {}, options = {})
465
+ req = build_request(:batch_get_frame_metric_data, params)
466
+ req.send_request(options)
467
+ end
468
+
469
+ # Used by profiler agents to report their current state and to receive
470
+ # remote configuration updates. For example, `ConfigureAgent` can be
471
+ # used to tell and agent whether to profile or not and for how long to
472
+ # return profiling data.
473
+ #
315
474
  # @option params [String] :fleet_instance_id
475
+ # A universally unique identifier (UUID) for a profiling instance. For
476
+ # example, if the profiling instance is an Amazon EC2 instance, it is
477
+ # the instance ID. If it is an AWS Fargate container, it is the
478
+ # container's task ID.
479
+ #
480
+ # @option params [Hash<String,String>] :metadata
481
+ # Metadata captured about the compute platform the agent is running on.
482
+ # It includes information about sampling and reporting. The valid fields
483
+ # are:
484
+ #
485
+ # * `COMPUTE_PLATFORM` - The compute platform on which the agent is
486
+ # running
487
+ #
488
+ # * `AGENT_ID` - The ID for an agent instance.
489
+ #
490
+ # * `AWS_REQUEST_ID` - The AWS request ID of a Lambda invocation.
491
+ #
492
+ # * `EXECUTION_ENVIRONMENT` - The execution environment a Lambda
493
+ # function is running on.
494
+ #
495
+ # * `LAMBDA_FUNCTION_ARN` - The Amazon Resource Name (ARN) that is used
496
+ # to invoke a Lambda function.
497
+ #
498
+ # * `LAMBDA_MEMORY_LIMIT_IN_MB` - The memory allocated to a Lambda
499
+ # function.
500
+ #
501
+ # * `LAMBDA_REMAINING_TIME_IN_MILLISECONDS` - The time in milliseconds
502
+ # before execution of a Lambda function times out.
503
+ #
504
+ # * `LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS` - The time in
505
+ # milliseconds between two invocations of a Lambda function.
506
+ #
507
+ # * `LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS` - The time in
508
+ # milliseconds for the previous Lambda invocation.
316
509
  #
317
510
  # @option params [required, String] :profiling_group_name
511
+ # The name of the profiling group for which the configured agent is
512
+ # collecting profiling data.
318
513
  #
319
514
  # @return [Types::ConfigureAgentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
320
515
  #
@@ -324,11 +519,16 @@ module Aws::CodeGuruProfiler
324
519
  #
325
520
  # resp = client.configure_agent({
326
521
  # fleet_instance_id: "FleetInstanceId",
522
+ # metadata: {
523
+ # "AgentId" => "String",
524
+ # },
327
525
  # profiling_group_name: "ProfilingGroupName", # required
328
526
  # })
329
527
  #
330
528
  # @example Response structure
331
529
  #
530
+ # resp.configuration.agent_parameters #=> Hash
531
+ # resp.configuration.agent_parameters["AgentParameterField"] #=> String
332
532
  # resp.configuration.period_in_seconds #=> Integer
333
533
  # resp.configuration.should_profile #=> Boolean
334
534
  #
@@ -344,20 +544,29 @@ module Aws::CodeGuruProfiler
344
544
  # Creates a profiling group.
345
545
  #
346
546
  # @option params [Types::AgentOrchestrationConfig] :agent_orchestration_config
347
- # The agent orchestration configuration.
547
+ # Specifies whether profiling is enabled or disabled for the created
548
+ # profiling group.
348
549
  #
349
550
  # @option params [required, String] :client_token
350
- # Unique, case-sensitive identifier that you provide to ensure the
351
- # idempotency of the request.
352
- #
353
- # This parameter specifies a unique identifier for the new profiling
354
- # group that helps ensure idempotency.
551
+ # Amazon CodeGuru Profiler uses this universally unique identifier
552
+ # (UUID) to prevent the accidental creation of duplicate profiling
553
+ # groups if there are failures and retries.
355
554
  #
356
555
  # **A suitable default value is auto-generated.** You should normally
357
556
  # not need to pass this option.**
358
557
  #
558
+ # @option params [String] :compute_platform
559
+ # The compute platform of the profiling group. Use `AWSLambda` if your
560
+ # application runs on AWS Lambda. Use `Default` if your application runs
561
+ # on a compute platform that is not AWS Lambda, such an Amazon EC2
562
+ # instance, an on-premises server, or a different platform. If not
563
+ # specified, `Default` is used.
564
+ #
359
565
  # @option params [required, String] :profiling_group_name
360
- # The name of the profiling group.
566
+ # The name of the profiling group to create.
567
+ #
568
+ # @option params [Hash<String,String>] :tags
569
+ # A list of tags to add to the created profiling group.
361
570
  #
362
571
  # @return [Types::CreateProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
363
572
  #
@@ -370,19 +579,26 @@ module Aws::CodeGuruProfiler
370
579
  # profiling_enabled: false, # required
371
580
  # },
372
581
  # client_token: "ClientToken", # required
582
+ # compute_platform: "AWSLambda", # accepts AWSLambda, Default
373
583
  # profiling_group_name: "ProfilingGroupName", # required
584
+ # tags: {
585
+ # "String" => "String",
586
+ # },
374
587
  # })
375
588
  #
376
589
  # @example Response structure
377
590
  #
378
591
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
379
592
  # resp.profiling_group.arn #=> String
593
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
380
594
  # resp.profiling_group.created_at #=> Time
381
595
  # resp.profiling_group.name #=> String
382
596
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
383
597
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
384
598
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
385
599
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
600
+ # resp.profiling_group.tags #=> Hash
601
+ # resp.profiling_group.tags["String"] #=> String
386
602
  # resp.profiling_group.updated_at #=> Time
387
603
  #
388
604
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroup AWS API Documentation
@@ -397,7 +613,7 @@ module Aws::CodeGuruProfiler
397
613
  # Deletes a profiling group.
398
614
  #
399
615
  # @option params [required, String] :profiling_group_name
400
- # The profiling group name to delete.
616
+ # The name of the profiling group to delete.
401
617
  #
402
618
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
403
619
  #
@@ -416,10 +632,15 @@ module Aws::CodeGuruProfiler
416
632
  req.send_request(options)
417
633
  end
418
634
 
419
- # Describes a profiling group.
635
+ # Returns a [ `ProfilingGroupDescription` ][1] object that contains
636
+ # information about the requested profiling group.
637
+ #
638
+ #
639
+ #
640
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
420
641
  #
421
642
  # @option params [required, String] :profiling_group_name
422
- # The profiling group name.
643
+ # The name of the profiling group to get information about.
423
644
  #
424
645
  # @return [Types::DescribeProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
425
646
  #
@@ -435,12 +656,15 @@ module Aws::CodeGuruProfiler
435
656
  #
436
657
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
437
658
  # resp.profiling_group.arn #=> String
659
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
438
660
  # resp.profiling_group.created_at #=> Time
439
661
  # resp.profiling_group.name #=> String
440
662
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
441
663
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
442
664
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
443
665
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
666
+ # resp.profiling_group.tags #=> Hash
667
+ # resp.profiling_group.tags["String"] #=> String
444
668
  # resp.profiling_group.updated_at #=> Time
445
669
  #
446
670
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroup AWS API Documentation
@@ -452,7 +676,110 @@ module Aws::CodeGuruProfiler
452
676
  req.send_request(options)
453
677
  end
454
678
 
455
- # Gets the profiling group policy.
679
+ # Returns a list of [ `FindingsReportSummary` ][1] objects that contain
680
+ # analysis results for all profiling groups in your AWS account.
681
+ #
682
+ #
683
+ #
684
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html
685
+ #
686
+ # @option params [Boolean] :daily_reports_only
687
+ # A `Boolean` value indicating whether to only return reports from daily
688
+ # profiles. If set to `True`, only analysis data from daily profiles is
689
+ # returned. If set to `False`, analysis data is returned from smaller
690
+ # time windows (for example, one hour).
691
+ #
692
+ # @option params [Integer] :max_results
693
+ # The maximum number of results returned by `
694
+ # GetFindingsReportAccountSummary` in paginated output. When this
695
+ # parameter is used, `GetFindingsReportAccountSummary` only returns
696
+ # `maxResults` results in a single page along with a `nextToken`
697
+ # response element. The remaining results of the initial request can be
698
+ # seen by sending another `GetFindingsReportAccountSummary` request with
699
+ # the returned `nextToken` value.
700
+ #
701
+ # @option params [String] :next_token
702
+ # The `nextToken` value returned from a previous paginated
703
+ # `GetFindingsReportAccountSummary` request where `maxResults` was used
704
+ # and the results exceeded the value of that parameter. Pagination
705
+ # continues from the end of the previous results that returned the
706
+ # `nextToken` value.
707
+ #
708
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
709
+ # to retrieve the next items in a list and not for other programmatic
710
+ # purposes.
711
+ #
712
+ # </note>
713
+ #
714
+ # @return [Types::GetFindingsReportAccountSummaryResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
715
+ #
716
+ # * {Types::GetFindingsReportAccountSummaryResponse#next_token #next_token} => String
717
+ # * {Types::GetFindingsReportAccountSummaryResponse#report_summaries #report_summaries} => Array&lt;Types::FindingsReportSummary&gt;
718
+ #
719
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
720
+ #
721
+ # @example Request syntax with placeholder values
722
+ #
723
+ # resp = client.get_findings_report_account_summary({
724
+ # daily_reports_only: false,
725
+ # max_results: 1,
726
+ # next_token: "PaginationToken",
727
+ # })
728
+ #
729
+ # @example Response structure
730
+ #
731
+ # resp.next_token #=> String
732
+ # resp.report_summaries #=> Array
733
+ # resp.report_summaries[0].id #=> String
734
+ # resp.report_summaries[0].profile_end_time #=> Time
735
+ # resp.report_summaries[0].profile_start_time #=> Time
736
+ # resp.report_summaries[0].profiling_group_name #=> String
737
+ # resp.report_summaries[0].total_number_of_findings #=> Integer
738
+ #
739
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummary AWS API Documentation
740
+ #
741
+ # @overload get_findings_report_account_summary(params = {})
742
+ # @param [Hash] params ({})
743
+ def get_findings_report_account_summary(params = {}, options = {})
744
+ req = build_request(:get_findings_report_account_summary, params)
745
+ req.send_request(options)
746
+ end
747
+
748
+ # Get the current configuration for anomaly notifications for a
749
+ # profiling group.
750
+ #
751
+ # @option params [required, String] :profiling_group_name
752
+ # The name of the profiling group we want to get the notification
753
+ # configuration for.
754
+ #
755
+ # @return [Types::GetNotificationConfigurationResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
756
+ #
757
+ # * {Types::GetNotificationConfigurationResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
758
+ #
759
+ # @example Request syntax with placeholder values
760
+ #
761
+ # resp = client.get_notification_configuration({
762
+ # profiling_group_name: "ProfilingGroupName", # required
763
+ # })
764
+ #
765
+ # @example Response structure
766
+ #
767
+ # resp.notification_configuration.channels #=> Array
768
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
769
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
770
+ # resp.notification_configuration.channels[0].id #=> String
771
+ # resp.notification_configuration.channels[0].uri #=> String
772
+ #
773
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfiguration AWS API Documentation
774
+ #
775
+ # @overload get_notification_configuration(params = {})
776
+ # @param [Hash] params ({})
777
+ def get_notification_configuration(params = {}, options = {})
778
+ req = build_request(:get_notification_configuration, params)
779
+ req.send_request(options)
780
+ end
781
+
782
+ # Returns the JSON-formatted resource-based policy on a profiling group.
456
783
  #
457
784
  # @option params [required, String] :profiling_group_name
458
785
  # The name of the profiling group.
@@ -482,46 +809,51 @@ module Aws::CodeGuruProfiler
482
809
  req.send_request(options)
483
810
  end
484
811
 
485
- # Gets the aggregated profile of a profiling group for the specified
486
- # time range. If the requested time range does not align with the
487
- # available aggregated profiles, it is expanded to attain alignment. If
488
- # aggregated profiles are available only for part of the period
489
- # requested, the profile is returned from the earliest available to the
490
- # latest within the requested time range.
491
- #
492
- # For example, if the requested time range is from 00:00 to 00:20 and
493
- # the available profiles are from 00:15 to 00:25, the returned profile
494
- # will be from 00:15 to 00:20.
812
+ # Gets the aggregated profile of a profiling group for a specified time
813
+ # range. Amazon CodeGuru Profiler collects posted agent profiles for a
814
+ # profiling group into aggregated profiles.
495
815
  #
496
- # You must specify exactly two of the following parameters: `startTime`,
497
- # `period`, and `endTime`.
816
+ # <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>
498
817
  #
499
818
  # @option params [String] :accept
500
- # The format of the profile to return. You can choose `application/json`
501
- # or the default `application/x-amzn-ion`.
819
+ # The format of the returned profiling data. The format maps to the
820
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
821
+ # specify one of the following: or the default .
822
+ #
823
+ # <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>
502
824
  #
503
825
  # @option params [Time,DateTime,Date,Integer,String] :end_time
504
- # You must specify exactly two of the following parameters: `startTime`,
505
- # `period`, and `endTime`.
826
+ # The end time of the requested profile. Specify using the ISO 8601
827
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond
828
+ # past June 1, 2020 1:15:02 PM UTC.
829
+ #
830
+ # If you specify `endTime`, then you must also specify `period` or
831
+ # `startTime`, but not both.
506
832
  #
507
833
  # @option params [Integer] :max_depth
508
- # The maximum depth of the graph.
834
+ # The maximum depth of the stacks in the code that is represented in the
835
+ # aggregated profile. For example, if CodeGuru Profiler finds a method
836
+ # `A`, which calls method `B`, which calls method `C`, which calls
837
+ # method `D`, then the depth is 4. If the `maxDepth` is set to 2, then
838
+ # the aggregated profile contains representations of methods `A` and
839
+ # `B`.
509
840
  #
510
841
  # @option params [String] :period
511
- # The period of the profile to get. The time range must be in the past
512
- # and not longer than one week.
842
+ # Used with `startTime` or `endTime` to specify the time range for the
843
+ # returned aggregated profile. Specify using the ISO 8601 format. For
844
+ # example, `P1DT1H1M1S`.
513
845
  #
514
- # You must specify exactly two of the following parameters: `startTime`,
515
- # `period`, and `endTime`.
846
+ # <p> To get the latest aggregated profile, specify only <code>period</code>. </p>
516
847
  #
517
848
  # @option params [required, String] :profiling_group_name
518
849
  # The name of the profiling group to get.
519
850
  #
520
851
  # @option params [Time,DateTime,Date,Integer,String] :start_time
521
- # The start time of the profile to get.
852
+ # The start time of the profile to get. Specify using the ISO 8601
853
+ # format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond
854
+ # past June 1, 2020 1:15:02 PM UTC.
522
855
  #
523
- # You must specify exactly two of the following parameters: `startTime`,
524
- # `period`, and `endTime`.
856
+ # <p> If you specify <code>startTime</code>, then you must also specify <code>period</code> or <code>endTime</code>, but not both. </p>
525
857
  #
526
858
  # @return [Types::GetProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
527
859
  #
@@ -555,7 +887,203 @@ module Aws::CodeGuruProfiler
555
887
  req.send_request(options)
556
888
  end
557
889
 
558
- # List the start times of the available aggregated profiles of a
890
+ # Returns a list of [ `Recommendation` ][1] objects that contain
891
+ # recommendations for a profiling group for a given time period. A list
892
+ # of [ `Anomaly` ][2] objects that contains details about anomalies
893
+ # detected in the profiling group for the same time period is also
894
+ # returned.
895
+ #
896
+ #
897
+ #
898
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Recommendation.html
899
+ # [2]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Anomaly.html
900
+ #
901
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
902
+ # The start time of the profile to get analysis data about. You must
903
+ # specify `startTime` and `endTime`. This is specified using the ISO
904
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
905
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
906
+ #
907
+ # @option params [String] :locale
908
+ # The language used to provide analysis. Specify using a string that is
909
+ # one of the following `BCP 47` language codes.
910
+ #
911
+ # * `de-DE` - German, Germany
912
+ #
913
+ # * `en-GB` - English, United Kingdom
914
+ #
915
+ # * `en-US` - English, United States
916
+ #
917
+ # * `es-ES` - Spanish, Spain
918
+ #
919
+ # * `fr-FR` - French, France
920
+ #
921
+ # * `it-IT` - Italian, Italy
922
+ #
923
+ # * `ja-JP` - Japanese, Japan
924
+ #
925
+ # * `ko-KR` - Korean, Republic of Korea
926
+ #
927
+ # * `pt-BR` - Portugese, Brazil
928
+ #
929
+ # * `zh-CN` - Chinese, China
930
+ #
931
+ # * `zh-TW` - Chinese, Taiwan
932
+ #
933
+ # @option params [required, String] :profiling_group_name
934
+ # The name of the profiling group to get analysis data about.
935
+ #
936
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
937
+ # The end time of the profile to get analysis data about. You must
938
+ # specify `startTime` and `endTime`. This is specified using the ISO
939
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
940
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
941
+ #
942
+ # @return [Types::GetRecommendationsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
943
+ #
944
+ # * {Types::GetRecommendationsResponse#anomalies #anomalies} => Array&lt;Types::Anomaly&gt;
945
+ # * {Types::GetRecommendationsResponse#profile_end_time #profile_end_time} => Time
946
+ # * {Types::GetRecommendationsResponse#profile_start_time #profile_start_time} => Time
947
+ # * {Types::GetRecommendationsResponse#profiling_group_name #profiling_group_name} => String
948
+ # * {Types::GetRecommendationsResponse#recommendations #recommendations} => Array&lt;Types::Recommendation&gt;
949
+ #
950
+ # @example Request syntax with placeholder values
951
+ #
952
+ # resp = client.get_recommendations({
953
+ # end_time: Time.now, # required
954
+ # locale: "Locale",
955
+ # profiling_group_name: "ProfilingGroupName", # required
956
+ # start_time: Time.now, # required
957
+ # })
958
+ #
959
+ # @example Response structure
960
+ #
961
+ # resp.anomalies #=> Array
962
+ # resp.anomalies[0].instances #=> Array
963
+ # resp.anomalies[0].instances[0].end_time #=> Time
964
+ # resp.anomalies[0].instances[0].id #=> String
965
+ # resp.anomalies[0].instances[0].start_time #=> Time
966
+ # resp.anomalies[0].instances[0].user_feedback.type #=> String, one of "Negative", "Positive"
967
+ # resp.anomalies[0].metric.frame_name #=> String
968
+ # resp.anomalies[0].metric.thread_states #=> Array
969
+ # resp.anomalies[0].metric.thread_states[0] #=> String
970
+ # resp.anomalies[0].metric.type #=> String, one of "AggregatedRelativeTotalTime"
971
+ # resp.anomalies[0].reason #=> String
972
+ # resp.profile_end_time #=> Time
973
+ # resp.profile_start_time #=> Time
974
+ # resp.profiling_group_name #=> String
975
+ # resp.recommendations #=> Array
976
+ # resp.recommendations[0].all_matches_count #=> Integer
977
+ # resp.recommendations[0].all_matches_sum #=> Float
978
+ # resp.recommendations[0].end_time #=> Time
979
+ # resp.recommendations[0].pattern.counters_to_aggregate #=> Array
980
+ # resp.recommendations[0].pattern.counters_to_aggregate[0] #=> String
981
+ # resp.recommendations[0].pattern.description #=> String
982
+ # resp.recommendations[0].pattern.id #=> String
983
+ # resp.recommendations[0].pattern.name #=> String
984
+ # resp.recommendations[0].pattern.resolution_steps #=> String
985
+ # resp.recommendations[0].pattern.target_frames #=> Array
986
+ # resp.recommendations[0].pattern.target_frames[0] #=> Array
987
+ # resp.recommendations[0].pattern.target_frames[0][0] #=> String
988
+ # resp.recommendations[0].pattern.threshold_percent #=> Float
989
+ # resp.recommendations[0].start_time #=> Time
990
+ # resp.recommendations[0].top_matches #=> Array
991
+ # resp.recommendations[0].top_matches[0].frame_address #=> String
992
+ # resp.recommendations[0].top_matches[0].target_frames_index #=> Integer
993
+ # resp.recommendations[0].top_matches[0].threshold_breach_value #=> Float
994
+ #
995
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendations AWS API Documentation
996
+ #
997
+ # @overload get_recommendations(params = {})
998
+ # @param [Hash] params ({})
999
+ def get_recommendations(params = {}, options = {})
1000
+ req = build_request(:get_recommendations, params)
1001
+ req.send_request(options)
1002
+ end
1003
+
1004
+ # List the available reports for a given profiling group and time range.
1005
+ #
1006
+ # @option params [Boolean] :daily_reports_only
1007
+ # A `Boolean` value indicating whether to only return reports from daily
1008
+ # profiles. If set to `True`, only analysis data from daily profiles is
1009
+ # returned. If set to `False`, analysis data is returned from smaller
1010
+ # time windows (for example, one hour).
1011
+ #
1012
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
1013
+ # The end time of the profile to get analysis data about. You must
1014
+ # specify `startTime` and `endTime`. This is specified using the ISO
1015
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1016
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1017
+ #
1018
+ # @option params [Integer] :max_results
1019
+ # The maximum number of report results returned by `ListFindingsReports`
1020
+ # in paginated output. When this parameter is used,
1021
+ # `ListFindingsReports` only returns `maxResults` results in a single
1022
+ # page along with a `nextToken` response element. The remaining results
1023
+ # of the initial request can be seen by sending another
1024
+ # `ListFindingsReports` request with the returned `nextToken` value.
1025
+ #
1026
+ # @option params [String] :next_token
1027
+ # The `nextToken` value returned from a previous paginated
1028
+ # `ListFindingsReportsRequest` request where `maxResults` was used and
1029
+ # the results exceeded the value of that parameter. Pagination continues
1030
+ # from the end of the previous results that returned the `nextToken`
1031
+ # value.
1032
+ #
1033
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only used
1034
+ # to retrieve the next items in a list and not for other programmatic
1035
+ # purposes.
1036
+ #
1037
+ # </note>
1038
+ #
1039
+ # @option params [required, String] :profiling_group_name
1040
+ # The name of the profiling group from which to search for analysis
1041
+ # data.
1042
+ #
1043
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
1044
+ # The start time of the profile to get analysis data about. You must
1045
+ # specify `startTime` and `endTime`. This is specified using the ISO
1046
+ # 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1
1047
+ # millisecond past June 1, 2020 1:15:02 PM UTC.
1048
+ #
1049
+ # @return [Types::ListFindingsReportsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1050
+ #
1051
+ # * {Types::ListFindingsReportsResponse#findings_report_summaries #findings_report_summaries} => Array&lt;Types::FindingsReportSummary&gt;
1052
+ # * {Types::ListFindingsReportsResponse#next_token #next_token} => String
1053
+ #
1054
+ # The returned {Seahorse::Client::Response response} is a pageable response and is Enumerable. For details on usage see {Aws::PageableResponse PageableResponse}.
1055
+ #
1056
+ # @example Request syntax with placeholder values
1057
+ #
1058
+ # resp = client.list_findings_reports({
1059
+ # daily_reports_only: false,
1060
+ # end_time: Time.now, # required
1061
+ # max_results: 1,
1062
+ # next_token: "PaginationToken",
1063
+ # profiling_group_name: "ProfilingGroupName", # required
1064
+ # start_time: Time.now, # required
1065
+ # })
1066
+ #
1067
+ # @example Response structure
1068
+ #
1069
+ # resp.findings_report_summaries #=> Array
1070
+ # resp.findings_report_summaries[0].id #=> String
1071
+ # resp.findings_report_summaries[0].profile_end_time #=> Time
1072
+ # resp.findings_report_summaries[0].profile_start_time #=> Time
1073
+ # resp.findings_report_summaries[0].profiling_group_name #=> String
1074
+ # resp.findings_report_summaries[0].total_number_of_findings #=> Integer
1075
+ # resp.next_token #=> String
1076
+ #
1077
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReports AWS API Documentation
1078
+ #
1079
+ # @overload list_findings_reports(params = {})
1080
+ # @param [Hash] params ({})
1081
+ def list_findings_reports(params = {}, options = {})
1082
+ req = build_request(:list_findings_reports, params)
1083
+ req.send_request(options)
1084
+ end
1085
+
1086
+ # Lists the start times of the available aggregated profiles of a
559
1087
  # profiling group for an aggregation period within the specified time
560
1088
  # range.
561
1089
  #
@@ -587,7 +1115,15 @@ module Aws::CodeGuruProfiler
587
1115
  # use when listing profiles. Defaults to `TIMESTAMP_DESCENDING`.
588
1116
  #
589
1117
  # @option params [required, String] :period
590
- # The aggregation period.
1118
+ # The aggregation period. This specifies the period during which an
1119
+ # aggregation profile collects posted agent profiles for a profiling
1120
+ # group. There are 3 valid values.
1121
+ #
1122
+ # * `P1D` — 1 day
1123
+ #
1124
+ # * `PT1H` — 1 hour
1125
+ #
1126
+ # * `PT5M` — 5 minutes
591
1127
  #
592
1128
  # @option params [required, String] :profiling_group_name
593
1129
  # The name of the profiling group.
@@ -629,10 +1165,22 @@ module Aws::CodeGuruProfiler
629
1165
  req.send_request(options)
630
1166
  end
631
1167
 
632
- # Lists profiling groups.
1168
+ # Returns a list of profiling groups. The profiling groups are returned
1169
+ # as [ `ProfilingGroupDescription` ][1] objects.
1170
+ #
1171
+ #
1172
+ #
1173
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
633
1174
  #
634
1175
  # @option params [Boolean] :include_description
635
- # A Boolean value indicating whether to include a description.
1176
+ # A `Boolean` value indicating whether to include a description. If
1177
+ # `true`, then a list of [ `ProfilingGroupDescription` ][1] objects that
1178
+ # contain detailed information about profiling groups is returned. If
1179
+ # `false`, then a list of profiling group names is returned.
1180
+ #
1181
+ #
1182
+ #
1183
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html
636
1184
  #
637
1185
  # @option params [Integer] :max_results
638
1186
  # The maximum number of profiling groups results returned by
@@ -679,12 +1227,15 @@ module Aws::CodeGuruProfiler
679
1227
  # resp.profiling_groups #=> Array
680
1228
  # resp.profiling_groups[0].agent_orchestration_config.profiling_enabled #=> Boolean
681
1229
  # resp.profiling_groups[0].arn #=> String
1230
+ # resp.profiling_groups[0].compute_platform #=> String, one of "AWSLambda", "Default"
682
1231
  # resp.profiling_groups[0].created_at #=> Time
683
1232
  # resp.profiling_groups[0].name #=> String
684
1233
  # resp.profiling_groups[0].profiling_status.latest_agent_orchestrated_at #=> Time
685
1234
  # resp.profiling_groups[0].profiling_status.latest_agent_profile_reported_at #=> Time
686
1235
  # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
687
1236
  # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.start #=> Time
1237
+ # resp.profiling_groups[0].tags #=> Hash
1238
+ # resp.profiling_groups[0].tags["String"] #=> String
688
1239
  # resp.profiling_groups[0].updated_at #=> Time
689
1240
  #
690
1241
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroups AWS API Documentation
@@ -696,15 +1247,65 @@ module Aws::CodeGuruProfiler
696
1247
  req.send_request(options)
697
1248
  end
698
1249
 
699
- # @option params [required, String, IO] :agent_profile
1250
+ # Returns a list of the tags that are assigned to a specified resource.
1251
+ #
1252
+ # @option params [required, String] :resource_arn
1253
+ # The Amazon Resource Name (ARN) of the resource that contains the tags
1254
+ # to return.
1255
+ #
1256
+ # @return [Types::ListTagsForResourceResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1257
+ #
1258
+ # * {Types::ListTagsForResourceResponse#tags #tags} => Hash&lt;String,String&gt;
1259
+ #
1260
+ # @example Request syntax with placeholder values
1261
+ #
1262
+ # resp = client.list_tags_for_resource({
1263
+ # resource_arn: "ProfilingGroupArn", # required
1264
+ # })
1265
+ #
1266
+ # @example Response structure
1267
+ #
1268
+ # resp.tags #=> Hash
1269
+ # resp.tags["String"] #=> String
1270
+ #
1271
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListTagsForResource AWS API Documentation
1272
+ #
1273
+ # @overload list_tags_for_resource(params = {})
1274
+ # @param [Hash] params ({})
1275
+ def list_tags_for_resource(params = {}, options = {})
1276
+ req = build_request(:list_tags_for_resource, params)
1277
+ req.send_request(options)
1278
+ end
1279
+
1280
+ # Submits profiling data to an aggregated profile of a profiling group.
1281
+ # To get an aggregated profile that is created with this profiling data,
1282
+ # use [ `GetProfile` ][1].
1283
+ #
1284
+ #
1285
+ #
1286
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetProfile.html
1287
+ #
1288
+ # @option params [required, String, StringIO, File] :agent_profile
1289
+ # The submitted profiling data.
700
1290
  #
701
1291
  # @option params [required, String] :content_type
1292
+ # The format of the submitted profiling data. The format maps to the
1293
+ # `Accept` and `Content-Type` headers of the HTTP request. You can
1294
+ # specify one of the following: or the default .
1295
+ #
1296
+ # <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>
702
1297
  #
703
1298
  # @option params [String] :profile_token
1299
+ # Amazon CodeGuru Profiler uses this universally unique identifier
1300
+ # (UUID) to prevent the accidental submission of duplicate profiling
1301
+ # data if there are failures and retries.
1302
+ #
704
1303
  # **A suitable default value is auto-generated.** You should normally
705
1304
  # not need to pass this option.**
706
1305
  #
707
1306
  # @option params [required, String] :profiling_group_name
1307
+ # The name of the profiling group with the aggregated profile that
1308
+ # receives the submitted profiling data.
708
1309
  #
709
1310
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
710
1311
  #
@@ -726,24 +1327,34 @@ module Aws::CodeGuruProfiler
726
1327
  req.send_request(options)
727
1328
  end
728
1329
 
729
- # Provides permission to the principals. This overwrites the existing
730
- # permissions, and is not additive.
1330
+ # Adds permissions to a profiling group's resource-based policy that
1331
+ # are provided using an action group. If a profiling group doesn't have
1332
+ # a resource-based policy, one is created for it using the permissions
1333
+ # in the action group and the roles and users in the `principals`
1334
+ # parameter.
1335
+ #
1336
+ # <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>
731
1337
  #
732
1338
  # @option params [required, String] :action_group
733
- # The list of actions that the users and roles can perform on the
734
- # profiling group.
1339
+ # Specifies an action group that contains permissions to add to a
1340
+ # profiling group resource. One action group is supported,
1341
+ # `agentPermissions`, which grants permission to perform actions
1342
+ # required by the profiling agent, `ConfigureAgent` and
1343
+ # `PostAgentProfile` permissions.
735
1344
  #
736
1345
  # @option params [required, Array<String>] :principals
737
- # The list of role and user ARNs or the accountId that needs access
738
- # (wildcards are not allowed).
1346
+ # A list ARNs for the roles and users you want to grant access to the
1347
+ # profiling group. Wildcards are not are supported in the ARNs.
739
1348
  #
740
1349
  # @option params [required, String] :profiling_group_name
741
- # The name of the profiling group.
1350
+ # The name of the profiling group to grant access to.
742
1351
  #
743
1352
  # @option params [String] :revision_id
744
- # A unique identifier for the current revision of the policy. This is
745
- # required, if a policy exists for the profiling group. This is not
746
- # required when creating the policy for the first time.
1353
+ # A universally unique identifier (UUID) for the revision of the policy
1354
+ # you are adding to the profiling group. Do not specify this when you
1355
+ # add permissions to a profiling group for the first time. If a policy
1356
+ # already exists on the profiling group, you must specify the
1357
+ # `revisionId`.
747
1358
  #
748
1359
  # @return [Types::PutPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
749
1360
  #
@@ -773,17 +1384,69 @@ module Aws::CodeGuruProfiler
773
1384
  req.send_request(options)
774
1385
  end
775
1386
 
776
- # Removes statement for the provided action group from the policy.
1387
+ # Remove one anomaly notifications channel for a profiling group.
1388
+ #
1389
+ # @option params [required, String] :channel_id
1390
+ # The id of the channel that we want to stop receiving notifications.
1391
+ #
1392
+ # @option params [required, String] :profiling_group_name
1393
+ # The name of the profiling group we want to change notification
1394
+ # configuration for.
1395
+ #
1396
+ # @return [Types::RemoveNotificationChannelResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
1397
+ #
1398
+ # * {Types::RemoveNotificationChannelResponse#notification_configuration #notification_configuration} => Types::NotificationConfiguration
1399
+ #
1400
+ # @example Request syntax with placeholder values
1401
+ #
1402
+ # resp = client.remove_notification_channel({
1403
+ # channel_id: "ChannelId", # required
1404
+ # profiling_group_name: "ProfilingGroupName", # required
1405
+ # })
1406
+ #
1407
+ # @example Response structure
1408
+ #
1409
+ # resp.notification_configuration.channels #=> Array
1410
+ # resp.notification_configuration.channels[0].event_publishers #=> Array
1411
+ # resp.notification_configuration.channels[0].event_publishers[0] #=> String, one of "AnomalyDetection"
1412
+ # resp.notification_configuration.channels[0].id #=> String
1413
+ # resp.notification_configuration.channels[0].uri #=> String
1414
+ #
1415
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannel AWS API Documentation
1416
+ #
1417
+ # @overload remove_notification_channel(params = {})
1418
+ # @param [Hash] params ({})
1419
+ def remove_notification_channel(params = {}, options = {})
1420
+ req = build_request(:remove_notification_channel, params)
1421
+ req.send_request(options)
1422
+ end
1423
+
1424
+ # Removes permissions from a profiling group's resource-based policy
1425
+ # that are provided using an action group. The one supported action
1426
+ # group that can be removed is `agentPermission` which grants
1427
+ # `ConfigureAgent` and `PostAgent` permissions. For more information,
1428
+ # see [Resource-based policies in CodeGuru Profiler][1] in the *Amazon
1429
+ # CodeGuru Profiler User Guide*, [ `ConfigureAgent` ][2], and [
1430
+ # `PostAgentProfile` ][3].
1431
+ #
1432
+ #
1433
+ #
1434
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html
1435
+ # [2]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html
1436
+ # [3]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html
777
1437
  #
778
1438
  # @option params [required, String] :action_group
779
- # The list of actions that the users and roles can perform on the
780
- # profiling group.
1439
+ # Specifies an action group that contains the permissions to remove from
1440
+ # a profiling group's resource-based policy. One action group is
1441
+ # supported, `agentPermissions`, which grants `ConfigureAgent` and
1442
+ # `PostAgentProfile` permissions.
781
1443
  #
782
1444
  # @option params [required, String] :profiling_group_name
783
1445
  # The name of the profiling group.
784
1446
  #
785
1447
  # @option params [required, String] :revision_id
786
- # A unique identifier for the current revision of the policy.
1448
+ # A universally unique identifier (UUID) for the revision of the
1449
+ # resource-based policy from which you want to remove permissions.
787
1450
  #
788
1451
  # @return [Types::RemovePermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
789
1452
  #
@@ -812,9 +1475,110 @@ module Aws::CodeGuruProfiler
812
1475
  req.send_request(options)
813
1476
  end
814
1477
 
1478
+ # Sends feedback to CodeGuru Profiler about whether the anomaly detected
1479
+ # by the analysis is useful or not.
1480
+ #
1481
+ # @option params [required, String] :anomaly_instance_id
1482
+ # The universally unique identifier (UUID) of the [ `AnomalyInstance`
1483
+ # ][1] object that is included in the analysis data.
1484
+ #
1485
+ #
1486
+ #
1487
+ # [1]: https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html
1488
+ #
1489
+ # @option params [String] :comment
1490
+ # Optional feedback about this anomaly.
1491
+ #
1492
+ # @option params [required, String] :profiling_group_name
1493
+ # The name of the profiling group that is associated with the analysis
1494
+ # data.
1495
+ #
1496
+ # @option params [required, String] :type
1497
+ # The feedback tpye. Thee are two valid values, `Positive` and
1498
+ # `Negative`.
1499
+ #
1500
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1501
+ #
1502
+ # @example Request syntax with placeholder values
1503
+ #
1504
+ # resp = client.submit_feedback({
1505
+ # anomaly_instance_id: "AnomalyInstanceId", # required
1506
+ # comment: "String",
1507
+ # profiling_group_name: "ProfilingGroupName", # required
1508
+ # type: "Negative", # required, accepts Negative, Positive
1509
+ # })
1510
+ #
1511
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedback AWS API Documentation
1512
+ #
1513
+ # @overload submit_feedback(params = {})
1514
+ # @param [Hash] params ({})
1515
+ def submit_feedback(params = {}, options = {})
1516
+ req = build_request(:submit_feedback, params)
1517
+ req.send_request(options)
1518
+ end
1519
+
1520
+ # Use to assign one or more tags to a resource.
1521
+ #
1522
+ # @option params [required, String] :resource_arn
1523
+ # The Amazon Resource Name (ARN) of the resource that the tags are added
1524
+ # to.
1525
+ #
1526
+ # @option params [required, Hash<String,String>] :tags
1527
+ # The list of tags that are added to the specified resource.
1528
+ #
1529
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1530
+ #
1531
+ # @example Request syntax with placeholder values
1532
+ #
1533
+ # resp = client.tag_resource({
1534
+ # resource_arn: "ProfilingGroupArn", # required
1535
+ # tags: { # required
1536
+ # "String" => "String",
1537
+ # },
1538
+ # })
1539
+ #
1540
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TagResource AWS API Documentation
1541
+ #
1542
+ # @overload tag_resource(params = {})
1543
+ # @param [Hash] params ({})
1544
+ def tag_resource(params = {}, options = {})
1545
+ req = build_request(:tag_resource, params)
1546
+ req.send_request(options)
1547
+ end
1548
+
1549
+ # Use to remove one or more tags from a resource.
1550
+ #
1551
+ # @option params [required, String] :resource_arn
1552
+ # The Amazon Resource Name (ARN) of the resource that contains the tags
1553
+ # to remove.
1554
+ #
1555
+ # @option params [required, Array<String>] :tag_keys
1556
+ # A list of tag keys. Existing tags of resources with keys in this list
1557
+ # are removed from the specified resource.
1558
+ #
1559
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
1560
+ #
1561
+ # @example Request syntax with placeholder values
1562
+ #
1563
+ # resp = client.untag_resource({
1564
+ # resource_arn: "ProfilingGroupArn", # required
1565
+ # tag_keys: ["String"], # required
1566
+ # })
1567
+ #
1568
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UntagResource AWS API Documentation
1569
+ #
1570
+ # @overload untag_resource(params = {})
1571
+ # @param [Hash] params ({})
1572
+ def untag_resource(params = {}, options = {})
1573
+ req = build_request(:untag_resource, params)
1574
+ req.send_request(options)
1575
+ end
1576
+
815
1577
  # Updates a profiling group.
816
1578
  #
817
1579
  # @option params [required, Types::AgentOrchestrationConfig] :agent_orchestration_config
1580
+ # Specifies whether profiling is enabled or disabled for a profiling
1581
+ # group.
818
1582
  #
819
1583
  # @option params [required, String] :profiling_group_name
820
1584
  # The name of the profiling group to update.
@@ -836,12 +1600,15 @@ module Aws::CodeGuruProfiler
836
1600
  #
837
1601
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
838
1602
  # resp.profiling_group.arn #=> String
1603
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
839
1604
  # resp.profiling_group.created_at #=> Time
840
1605
  # resp.profiling_group.name #=> String
841
1606
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
842
1607
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
843
1608
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
844
1609
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
1610
+ # resp.profiling_group.tags #=> Hash
1611
+ # resp.profiling_group.tags["String"] #=> String
845
1612
  # resp.profiling_group.updated_at #=> Time
846
1613
  #
847
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroup AWS API Documentation
@@ -866,7 +1633,7 @@ module Aws::CodeGuruProfiler
866
1633
  params: params,
867
1634
  config: config)
868
1635
  context[:gem_name] = 'aws-sdk-codeguruprofiler'
869
- context[:gem_version] = '1.7.0'
1636
+ context[:gem_version] = '1.12.0'
870
1637
  Seahorse::Client::Request.new(handlers, context)
871
1638
  end
872
1639