aws-sdk-codeguruprofiler 1.5.0 → 1.10.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: 4d60f21f7f3b84fe65bcd4877900edb6a314996f244de52655881b0c20519cd7
4
- data.tar.gz: 8f34870a86c0b132725bbe28619994085b461528ad85972240d38f6c22b050c0
3
+ metadata.gz: 5f9b29fc29552d45c25824297326dd21157a6907e4f4f65ec17f238db2e08f21
4
+ data.tar.gz: d420b41442784ffee7dca9b5c996c451f9a8e28080cf9a7b043c1869cd40bec3
5
5
  SHA512:
6
- metadata.gz: b2d4412aa367a5eab222d7056abe86d720472e226c5f43c6ed4fd25d3fc91804dc387827f9045f131c054d8238bb49f910f66b9077000a663988d669fc03fbb5
7
- data.tar.gz: 375e43a1bc301c82d071b6ceeba4df4b2e6c5922a4b10f7a52683fb85fd73cfad64b68c94aed36303783b1604cec72066fe85fbc5d3d5a18602ec307ae3eab18
6
+ metadata.gz: ade4ac55b40ea487ad63c5cca18ade79f3cc0ee718866a08193943c609301602e549162fb9d6d37f16b9645928103f359961b0dc5b5f183748636693fab2b9fa
7
+ data.tar.gz: 509ff8f95222230080ff71b28ca790d7f561016691aa5949753a4ae901cc9d7fe090a528c3760cac129787d7cf0687776d04c9012cb8d9f124423285c27cd7f2
@@ -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
  #
@@ -42,9 +44,9 @@ require_relative 'aws-sdk-codeguruprofiler/customizations'
42
44
  #
43
45
  # See {Errors} for more information.
44
46
  #
45
- # @service
47
+ # @!group service
46
48
  module Aws::CodeGuruProfiler
47
49
 
48
- GEM_VERSION = '1.5.0'
50
+ GEM_VERSION = '1.10.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
 
@@ -81,13 +85,28 @@ module Aws::CodeGuruProfiler
81
85
  # * `Aws::Credentials` - Used for configuring static, non-refreshing
82
86
  # credentials.
83
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
+ #
84
102
  # * `Aws::InstanceProfileCredentials` - Used for loading credentials
85
103
  # from an EC2 IMDS on an EC2 instance.
86
104
  #
87
- # * `Aws::SharedCredentials` - Used for loading credentials from a
88
- # shared file, such as `~/.aws/config`.
105
+ # * `Aws::ECSCredentials` - Used for loading credentials from
106
+ # instances running in ECS.
89
107
  #
90
- # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
108
+ # * `Aws::CognitoIdentityCredentials` - Used for loading credentials
109
+ # from the Cognito Identity service.
91
110
  #
92
111
  # When `:credentials` are not configured directly, the following
93
112
  # locations will be searched for credentials:
@@ -97,10 +116,10 @@ module Aws::CodeGuruProfiler
97
116
  # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
98
117
  # * `~/.aws/credentials`
99
118
  # * `~/.aws/config`
100
- # * EC2 IMDS instance profile - When used by default, the timeouts are
101
- # very aggressive. Construct and pass an instance of
102
- # `Aws::InstanceProfileCredentails` to enable retries and extended
103
- # 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.
104
123
  #
105
124
  # @option options [required, String] :region
106
125
  # The AWS region to connect to. The configured `:region` is
@@ -161,7 +180,7 @@ module Aws::CodeGuruProfiler
161
180
  # @option options [String] :endpoint
162
181
  # The client endpoint is normally constructed from the `:region`
163
182
  # option. You should only configure an `:endpoint` when connecting
164
- # to test endpoints. This should be a valid HTTP(S) URI.
183
+ # to test or custom endpoints. This should be a valid HTTP(S) URI.
165
184
  #
166
185
  # @option options [Integer] :endpoint_cache_max_entries (1000)
167
186
  # Used for the maximum size limit of the LRU cache storing endpoints data
@@ -308,9 +327,189 @@ module Aws::CodeGuruProfiler
308
327
 
309
328
  # @!group API Operations
310
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
+ #
311
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.
312
509
  #
313
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.
314
513
  #
315
514
  # @return [Types::ConfigureAgentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
316
515
  #
@@ -320,11 +519,16 @@ module Aws::CodeGuruProfiler
320
519
  #
321
520
  # resp = client.configure_agent({
322
521
  # fleet_instance_id: "FleetInstanceId",
522
+ # metadata: {
523
+ # "AgentId" => "String",
524
+ # },
323
525
  # profiling_group_name: "ProfilingGroupName", # required
324
526
  # })
325
527
  #
326
528
  # @example Response structure
327
529
  #
530
+ # resp.configuration.agent_parameters #=> Hash
531
+ # resp.configuration.agent_parameters["AgentParameterField"] #=> String
328
532
  # resp.configuration.period_in_seconds #=> Integer
329
533
  # resp.configuration.should_profile #=> Boolean
330
534
  #
@@ -340,20 +544,29 @@ module Aws::CodeGuruProfiler
340
544
  # Creates a profiling group.
341
545
  #
342
546
  # @option params [Types::AgentOrchestrationConfig] :agent_orchestration_config
343
- # The agent orchestration configuration.
547
+ # Specifies whether profiling is enabled or disabled for the created
548
+ # profiling group.
344
549
  #
345
550
  # @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.
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.
351
554
  #
352
555
  # **A suitable default value is auto-generated.** You should normally
353
556
  # not need to pass this option.**
354
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
+ #
355
565
  # @option params [required, String] :profiling_group_name
356
- # 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.
357
570
  #
358
571
  # @return [Types::CreateProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
359
572
  #
@@ -366,19 +579,26 @@ module Aws::CodeGuruProfiler
366
579
  # profiling_enabled: false, # required
367
580
  # },
368
581
  # client_token: "ClientToken", # required
582
+ # compute_platform: "AWSLambda", # accepts AWSLambda, Default
369
583
  # profiling_group_name: "ProfilingGroupName", # required
584
+ # tags: {
585
+ # "String" => "String",
586
+ # },
370
587
  # })
371
588
  #
372
589
  # @example Response structure
373
590
  #
374
591
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
375
592
  # resp.profiling_group.arn #=> String
593
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
376
594
  # resp.profiling_group.created_at #=> Time
377
595
  # resp.profiling_group.name #=> String
378
596
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
379
597
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
380
598
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
381
599
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
600
+ # resp.profiling_group.tags #=> Hash
601
+ # resp.profiling_group.tags["String"] #=> String
382
602
  # resp.profiling_group.updated_at #=> Time
383
603
  #
384
604
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroup AWS API Documentation
@@ -393,7 +613,7 @@ module Aws::CodeGuruProfiler
393
613
  # Deletes a profiling group.
394
614
  #
395
615
  # @option params [required, String] :profiling_group_name
396
- # The profiling group name to delete.
616
+ # The name of the profiling group to delete.
397
617
  #
398
618
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
399
619
  #
@@ -412,10 +632,15 @@ module Aws::CodeGuruProfiler
412
632
  req.send_request(options)
413
633
  end
414
634
 
415
- # 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
416
641
  #
417
642
  # @option params [required, String] :profiling_group_name
418
- # The profiling group name.
643
+ # The name of the profiling group to get information about.
419
644
  #
420
645
  # @return [Types::DescribeProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
421
646
  #
@@ -431,12 +656,15 @@ module Aws::CodeGuruProfiler
431
656
  #
432
657
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
433
658
  # resp.profiling_group.arn #=> String
659
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
434
660
  # resp.profiling_group.created_at #=> Time
435
661
  # resp.profiling_group.name #=> String
436
662
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
437
663
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
438
664
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
439
665
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
666
+ # resp.profiling_group.tags #=> Hash
667
+ # resp.profiling_group.tags["String"] #=> String
440
668
  # resp.profiling_group.updated_at #=> Time
441
669
  #
442
670
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroup AWS API Documentation
@@ -448,7 +676,110 @@ module Aws::CodeGuruProfiler
448
676
  req.send_request(options)
449
677
  end
450
678
 
451
- # 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.
452
783
  #
453
784
  # @option params [required, String] :profiling_group_name
454
785
  # The name of the profiling group.
@@ -478,46 +809,51 @@ module Aws::CodeGuruProfiler
478
809
  req.send_request(options)
479
810
  end
480
811
 
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.
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.
491
815
  #
492
- # You must specify exactly two of the following parameters: `startTime`,
493
- # `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>
494
817
  #
495
818
  # @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`.
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>
498
824
  #
499
825
  # @option params [Time,DateTime,Date,Integer,String] :end_time
500
- # You must specify exactly two of the following parameters: `startTime`,
501
- # `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.
502
832
  #
503
833
  # @option params [Integer] :max_depth
504
- # 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`.
505
840
  #
506
841
  # @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.
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`.
509
845
  #
510
- # You must specify exactly two of the following parameters: `startTime`,
511
- # `period`, and `endTime`.
846
+ # <p> To get the latest aggregated profile, specify only <code>period</code>. </p>
512
847
  #
513
848
  # @option params [required, String] :profiling_group_name
514
849
  # The name of the profiling group to get.
515
850
  #
516
851
  # @option params [Time,DateTime,Date,Integer,String] :start_time
517
- # 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.
518
855
  #
519
- # You must specify exactly two of the following parameters: `startTime`,
520
- # `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>
521
857
  #
522
858
  # @return [Types::GetProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
523
859
  #
@@ -551,7 +887,203 @@ module Aws::CodeGuruProfiler
551
887
  req.send_request(options)
552
888
  end
553
889
 
554
- # 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
555
1087
  # profiling group for an aggregation period within the specified time
556
1088
  # range.
557
1089
  #
@@ -583,7 +1115,15 @@ module Aws::CodeGuruProfiler
583
1115
  # use when listing profiles. Defaults to `TIMESTAMP_DESCENDING`.
584
1116
  #
585
1117
  # @option params [required, String] :period
586
- # 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
587
1127
  #
588
1128
  # @option params [required, String] :profiling_group_name
589
1129
  # The name of the profiling group.
@@ -625,10 +1165,22 @@ module Aws::CodeGuruProfiler
625
1165
  req.send_request(options)
626
1166
  end
627
1167
 
628
- # 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
629
1174
  #
630
1175
  # @option params [Boolean] :include_description
631
- # 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
632
1184
  #
633
1185
  # @option params [Integer] :max_results
634
1186
  # The maximum number of profiling groups results returned by
@@ -675,12 +1227,15 @@ module Aws::CodeGuruProfiler
675
1227
  # resp.profiling_groups #=> Array
676
1228
  # resp.profiling_groups[0].agent_orchestration_config.profiling_enabled #=> Boolean
677
1229
  # resp.profiling_groups[0].arn #=> String
1230
+ # resp.profiling_groups[0].compute_platform #=> String, one of "AWSLambda", "Default"
678
1231
  # resp.profiling_groups[0].created_at #=> Time
679
1232
  # resp.profiling_groups[0].name #=> String
680
1233
  # resp.profiling_groups[0].profiling_status.latest_agent_orchestrated_at #=> Time
681
1234
  # resp.profiling_groups[0].profiling_status.latest_agent_profile_reported_at #=> Time
682
1235
  # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
683
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
684
1239
  # resp.profiling_groups[0].updated_at #=> Time
685
1240
  #
686
1241
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroups AWS API Documentation
@@ -692,15 +1247,65 @@ module Aws::CodeGuruProfiler
692
1247
  req.send_request(options)
693
1248
  end
694
1249
 
695
- # @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.
696
1290
  #
697
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>
698
1297
  #
699
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
+ #
700
1303
  # **A suitable default value is auto-generated.** You should normally
701
1304
  # not need to pass this option.**
702
1305
  #
703
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.
704
1309
  #
705
1310
  # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
706
1311
  #
@@ -722,24 +1327,34 @@ module Aws::CodeGuruProfiler
722
1327
  req.send_request(options)
723
1328
  end
724
1329
 
725
- # Provides permission to the principals. This overwrites the existing
726
- # 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>
727
1337
  #
728
1338
  # @option params [required, String] :action_group
729
- # The list of actions that the users and roles can perform on the
730
- # 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.
731
1344
  #
732
1345
  # @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).
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.
735
1348
  #
736
1349
  # @option params [required, String] :profiling_group_name
737
- # The name of the profiling group.
1350
+ # The name of the profiling group to grant access to.
738
1351
  #
739
1352
  # @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.
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`.
743
1358
  #
744
1359
  # @return [Types::PutPermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
745
1360
  #
@@ -769,17 +1384,69 @@ module Aws::CodeGuruProfiler
769
1384
  req.send_request(options)
770
1385
  end
771
1386
 
772
- # 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
773
1437
  #
774
1438
  # @option params [required, String] :action_group
775
- # The list of actions that the users and roles can perform on the
776
- # 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.
777
1443
  #
778
1444
  # @option params [required, String] :profiling_group_name
779
1445
  # The name of the profiling group.
780
1446
  #
781
1447
  # @option params [required, String] :revision_id
782
- # 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.
783
1450
  #
784
1451
  # @return [Types::RemovePermissionResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
785
1452
  #
@@ -808,9 +1475,110 @@ module Aws::CodeGuruProfiler
808
1475
  req.send_request(options)
809
1476
  end
810
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
+
811
1577
  # Updates a profiling group.
812
1578
  #
813
1579
  # @option params [required, Types::AgentOrchestrationConfig] :agent_orchestration_config
1580
+ # Specifies whether profiling is enabled or disabled for a profiling
1581
+ # group.
814
1582
  #
815
1583
  # @option params [required, String] :profiling_group_name
816
1584
  # The name of the profiling group to update.
@@ -832,12 +1600,15 @@ module Aws::CodeGuruProfiler
832
1600
  #
833
1601
  # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
834
1602
  # resp.profiling_group.arn #=> String
1603
+ # resp.profiling_group.compute_platform #=> String, one of "AWSLambda", "Default"
835
1604
  # resp.profiling_group.created_at #=> Time
836
1605
  # resp.profiling_group.name #=> String
837
1606
  # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
838
1607
  # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
839
1608
  # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
840
1609
  # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
1610
+ # resp.profiling_group.tags #=> Hash
1611
+ # resp.profiling_group.tags["String"] #=> String
841
1612
  # resp.profiling_group.updated_at #=> Time
842
1613
  #
843
1614
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroup AWS API Documentation
@@ -862,7 +1633,7 @@ module Aws::CodeGuruProfiler
862
1633
  params: params,
863
1634
  config: config)
864
1635
  context[:gem_name] = 'aws-sdk-codeguruprofiler'
865
- context[:gem_version] = '1.5.0'
1636
+ context[:gem_version] = '1.10.0'
866
1637
  Seahorse::Client::Request.new(handlers, context)
867
1638
  end
868
1639