aws-sdk-codeguruprofiler 1.5.0 → 1.10.0

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