aws-sdk-codeguruprofiler 1.0.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: b4cc53085da17ec46155faa92032692f067449ff
4
+ data.tar.gz: 46670705aea14a16a79fcbf4b1b076367011a11e
5
+ SHA512:
6
+ metadata.gz: 8271046afc4f8249a7ab5fd0a539bf5d5b059a217ec7a753f358d8bc15427c6e1b31d81fabdb3a5ee1209b349643293e6e3036e60c3143f97dab944c6e9487d4
7
+ data.tar.gz: 3d470dc7efe5e63eb77502f98308f40274951c739d59fcddf6abaf824c55ae999c3d79d71e1ce0629ca7260ff2d668bd94323a23cf1afbef216cd6637203ff07
@@ -0,0 +1,47 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'aws-sdk-core'
9
+ require 'aws-sigv4'
10
+
11
+ require_relative 'aws-sdk-codeguruprofiler/types'
12
+ require_relative 'aws-sdk-codeguruprofiler/client_api'
13
+ require_relative 'aws-sdk-codeguruprofiler/client'
14
+ require_relative 'aws-sdk-codeguruprofiler/errors'
15
+ require_relative 'aws-sdk-codeguruprofiler/resource'
16
+ require_relative 'aws-sdk-codeguruprofiler/customizations'
17
+
18
+ # This module provides support for Amazon CodeGuru Profiler. This module is available in the
19
+ # `aws-sdk-codeguruprofiler` gem.
20
+ #
21
+ # # Client
22
+ #
23
+ # The {Client} class provides one method for each API operation. Operation
24
+ # methods each accept a hash of request parameters and return a response
25
+ # structure.
26
+ #
27
+ # See {Client} for more information.
28
+ #
29
+ # # Errors
30
+ #
31
+ # Errors returned from Amazon CodeGuru Profiler all
32
+ # extend {Errors::ServiceError}.
33
+ #
34
+ # begin
35
+ # # do stuff
36
+ # rescue Aws::CodeGuruProfiler::Errors::ServiceError
37
+ # # rescues all service API errors
38
+ # end
39
+ #
40
+ # See {Errors} for more information.
41
+ #
42
+ # @service
43
+ module Aws::CodeGuruProfiler
44
+
45
+ GEM_VERSION = '1.0.0'
46
+
47
+ end
@@ -0,0 +1,693 @@
1
+ # WARNING ABOUT GENERATED CODE
2
+ #
3
+ # This file is generated. See the contributing guide for more information:
4
+ # https://github.com/aws/aws-sdk-ruby/blob/master/CONTRIBUTING.md
5
+ #
6
+ # WARNING ABOUT GENERATED CODE
7
+
8
+ require 'seahorse/client/plugins/content_length.rb'
9
+ require 'aws-sdk-core/plugins/credentials_configuration.rb'
10
+ require 'aws-sdk-core/plugins/logging.rb'
11
+ require 'aws-sdk-core/plugins/param_converter.rb'
12
+ require 'aws-sdk-core/plugins/param_validator.rb'
13
+ require 'aws-sdk-core/plugins/user_agent.rb'
14
+ require 'aws-sdk-core/plugins/helpful_socket_errors.rb'
15
+ require 'aws-sdk-core/plugins/retry_errors.rb'
16
+ require 'aws-sdk-core/plugins/global_configuration.rb'
17
+ require 'aws-sdk-core/plugins/regional_endpoint.rb'
18
+ require 'aws-sdk-core/plugins/endpoint_discovery.rb'
19
+ require 'aws-sdk-core/plugins/endpoint_pattern.rb'
20
+ require 'aws-sdk-core/plugins/response_paging.rb'
21
+ require 'aws-sdk-core/plugins/stub_responses.rb'
22
+ require 'aws-sdk-core/plugins/idempotency_token.rb'
23
+ require 'aws-sdk-core/plugins/jsonvalue_converter.rb'
24
+ require 'aws-sdk-core/plugins/client_metrics_plugin.rb'
25
+ require 'aws-sdk-core/plugins/client_metrics_send_plugin.rb'
26
+ require 'aws-sdk-core/plugins/transfer_encoding.rb'
27
+ require 'aws-sdk-core/plugins/signature_v4.rb'
28
+ require 'aws-sdk-core/plugins/protocols/rest_json.rb'
29
+
30
+ Aws::Plugins::GlobalConfiguration.add_identifier(:codeguruprofiler)
31
+
32
+ module Aws::CodeGuruProfiler
33
+ class Client < Seahorse::Client::Base
34
+
35
+ include Aws::ClientStubs
36
+
37
+ @identifier = :codeguruprofiler
38
+
39
+ set_api(ClientApi::API)
40
+
41
+ add_plugin(Seahorse::Client::Plugins::ContentLength)
42
+ add_plugin(Aws::Plugins::CredentialsConfiguration)
43
+ add_plugin(Aws::Plugins::Logging)
44
+ add_plugin(Aws::Plugins::ParamConverter)
45
+ add_plugin(Aws::Plugins::ParamValidator)
46
+ add_plugin(Aws::Plugins::UserAgent)
47
+ add_plugin(Aws::Plugins::HelpfulSocketErrors)
48
+ add_plugin(Aws::Plugins::RetryErrors)
49
+ add_plugin(Aws::Plugins::GlobalConfiguration)
50
+ add_plugin(Aws::Plugins::RegionalEndpoint)
51
+ add_plugin(Aws::Plugins::EndpointDiscovery)
52
+ add_plugin(Aws::Plugins::EndpointPattern)
53
+ add_plugin(Aws::Plugins::ResponsePaging)
54
+ add_plugin(Aws::Plugins::StubResponses)
55
+ add_plugin(Aws::Plugins::IdempotencyToken)
56
+ add_plugin(Aws::Plugins::JsonvalueConverter)
57
+ add_plugin(Aws::Plugins::ClientMetricsPlugin)
58
+ add_plugin(Aws::Plugins::ClientMetricsSendPlugin)
59
+ add_plugin(Aws::Plugins::TransferEncoding)
60
+ add_plugin(Aws::Plugins::SignatureV4)
61
+ add_plugin(Aws::Plugins::Protocols::RestJson)
62
+
63
+ # @overload initialize(options)
64
+ # @param [Hash] options
65
+ # @option options [required, Aws::CredentialProvider] :credentials
66
+ # Your AWS credentials. This can be an instance of any one of the
67
+ # following classes:
68
+ #
69
+ # * `Aws::Credentials` - Used for configuring static, non-refreshing
70
+ # credentials.
71
+ #
72
+ # * `Aws::InstanceProfileCredentials` - Used for loading credentials
73
+ # from an EC2 IMDS on an EC2 instance.
74
+ #
75
+ # * `Aws::SharedCredentials` - Used for loading credentials from a
76
+ # shared file, such as `~/.aws/config`.
77
+ #
78
+ # * `Aws::AssumeRoleCredentials` - Used when you need to assume a role.
79
+ #
80
+ # When `:credentials` are not configured directly, the following
81
+ # locations will be searched for credentials:
82
+ #
83
+ # * `Aws.config[:credentials]`
84
+ # * The `:access_key_id`, `:secret_access_key`, and `:session_token` options.
85
+ # * ENV['AWS_ACCESS_KEY_ID'], ENV['AWS_SECRET_ACCESS_KEY']
86
+ # * `~/.aws/credentials`
87
+ # * `~/.aws/config`
88
+ # * EC2 IMDS instance profile - When used by default, the timeouts are
89
+ # very aggressive. Construct and pass an instance of
90
+ # `Aws::InstanceProfileCredentails` to enable retries and extended
91
+ # timeouts.
92
+ #
93
+ # @option options [required, String] :region
94
+ # The AWS region to connect to. The configured `:region` is
95
+ # used to determine the service `:endpoint`. When not passed,
96
+ # a default `:region` is search for in the following locations:
97
+ #
98
+ # * `Aws.config[:region]`
99
+ # * `ENV['AWS_REGION']`
100
+ # * `ENV['AMAZON_REGION']`
101
+ # * `ENV['AWS_DEFAULT_REGION']`
102
+ # * `~/.aws/credentials`
103
+ # * `~/.aws/config`
104
+ #
105
+ # @option options [String] :access_key_id
106
+ #
107
+ # @option options [Boolean] :active_endpoint_cache (false)
108
+ # When set to `true`, a thread polling for endpoints will be running in
109
+ # the background every 60 secs (default). Defaults to `false`.
110
+ #
111
+ # @option options [Boolean] :client_side_monitoring (false)
112
+ # When `true`, client-side metrics will be collected for all API requests from
113
+ # this client.
114
+ #
115
+ # @option options [String] :client_side_monitoring_client_id ("")
116
+ # Allows you to provide an identifier for this client which will be attached to
117
+ # all generated client side metrics. Defaults to an empty string.
118
+ #
119
+ # @option options [String] :client_side_monitoring_host ("127.0.0.1")
120
+ # Allows you to specify the DNS hostname or IPv4 or IPv6 address that the client
121
+ # side monitoring agent is running on, where client metrics will be published via UDP.
122
+ #
123
+ # @option options [Integer] :client_side_monitoring_port (31000)
124
+ # Required for publishing client metrics. The port that the client side monitoring
125
+ # agent is running on, where client metrics will be published via UDP.
126
+ #
127
+ # @option options [Aws::ClientSideMonitoring::Publisher] :client_side_monitoring_publisher (Aws::ClientSideMonitoring::Publisher)
128
+ # Allows you to provide a custom client-side monitoring publisher class. By default,
129
+ # will use the Client Side Monitoring Agent Publisher.
130
+ #
131
+ # @option options [Boolean] :convert_params (true)
132
+ # When `true`, an attempt is made to coerce request parameters into
133
+ # the required types.
134
+ #
135
+ # @option options [Boolean] :disable_host_prefix_injection (false)
136
+ # Set to true to disable SDK automatically adding host prefix
137
+ # to default service endpoint when available.
138
+ #
139
+ # @option options [String] :endpoint
140
+ # The client endpoint is normally constructed from the `:region`
141
+ # option. You should only configure an `:endpoint` when connecting
142
+ # to test endpoints. This should be avalid HTTP(S) URI.
143
+ #
144
+ # @option options [Integer] :endpoint_cache_max_entries (1000)
145
+ # Used for the maximum size limit of the LRU cache storing endpoints data
146
+ # for endpoint discovery enabled operations. Defaults to 1000.
147
+ #
148
+ # @option options [Integer] :endpoint_cache_max_threads (10)
149
+ # Used for the maximum threads in use for polling endpoints to be cached, defaults to 10.
150
+ #
151
+ # @option options [Integer] :endpoint_cache_poll_interval (60)
152
+ # When :endpoint_discovery and :active_endpoint_cache is enabled,
153
+ # Use this option to config the time interval in seconds for making
154
+ # requests fetching endpoints information. Defaults to 60 sec.
155
+ #
156
+ # @option options [Boolean] :endpoint_discovery (false)
157
+ # When set to `true`, endpoint discovery will be enabled for operations when available. Defaults to `false`.
158
+ #
159
+ # @option options [Aws::Log::Formatter] :log_formatter (Aws::Log::Formatter.default)
160
+ # The log formatter.
161
+ #
162
+ # @option options [Symbol] :log_level (:info)
163
+ # The log level to send messages to the `:logger` at.
164
+ #
165
+ # @option options [Logger] :logger
166
+ # The Logger instance to send log messages to. If this option
167
+ # is not set, logging will be disabled.
168
+ #
169
+ # @option options [String] :profile ("default")
170
+ # Used when loading credentials from the shared credentials file
171
+ # at HOME/.aws/credentials. When not specified, 'default' is used.
172
+ #
173
+ # @option options [Float] :retry_base_delay (0.3)
174
+ # The base delay in seconds used by the default backoff function.
175
+ #
176
+ # @option options [Symbol] :retry_jitter (:none)
177
+ # A delay randomiser function used by the default backoff function. Some predefined functions can be referenced by name - :none, :equal, :full, otherwise a Proc that takes and returns a number.
178
+ #
179
+ # @see https://www.awsarchitectureblog.com/2015/03/backoff.html
180
+ #
181
+ # @option options [Integer] :retry_limit (3)
182
+ # The maximum number of times to retry failed requests. Only
183
+ # ~ 500 level server errors and certain ~ 400 level client errors
184
+ # are retried. Generally, these are throttling errors, data
185
+ # checksum errors, networking errors, timeout errors and auth
186
+ # errors from expired credentials.
187
+ #
188
+ # @option options [Integer] :retry_max_delay (0)
189
+ # The maximum number of seconds to delay between retries (0 for no limit) used by the default backoff function.
190
+ #
191
+ # @option options [String] :secret_access_key
192
+ #
193
+ # @option options [String] :session_token
194
+ #
195
+ # @option options [Boolean] :stub_responses (false)
196
+ # Causes the client to return stubbed responses. By default
197
+ # fake responses are generated and returned. You can specify
198
+ # the response data to return or errors to raise by calling
199
+ # {ClientStubs#stub_responses}. See {ClientStubs} for more information.
200
+ #
201
+ # ** Please note ** When response stubbing is enabled, no HTTP
202
+ # requests are made, and retries are disabled.
203
+ #
204
+ # @option options [Boolean] :validate_params (true)
205
+ # When `true`, request parameters are validated before
206
+ # sending the request.
207
+ #
208
+ # @option options [URI::HTTP,String] :http_proxy A proxy to send
209
+ # requests through. Formatted like 'http://proxy.com:123'.
210
+ #
211
+ # @option options [Float] :http_open_timeout (15) The number of
212
+ # seconds to wait when opening a HTTP session before rasing a
213
+ # `Timeout::Error`.
214
+ #
215
+ # @option options [Integer] :http_read_timeout (60) The default
216
+ # number of seconds to wait for response data. This value can
217
+ # safely be set
218
+ # per-request on the session yeidled by {#session_for}.
219
+ #
220
+ # @option options [Float] :http_idle_timeout (5) The number of
221
+ # seconds a connection is allowed to sit idble before it is
222
+ # considered stale. Stale connections are closed and removed
223
+ # from the pool before making a request.
224
+ #
225
+ # @option options [Float] :http_continue_timeout (1) The number of
226
+ # seconds to wait for a 100-continue response before sending the
227
+ # request body. This option has no effect unless the request has
228
+ # "Expect" header set to "100-continue". Defaults to `nil` which
229
+ # disables this behaviour. This value can safely be set per
230
+ # request on the session yeidled by {#session_for}.
231
+ #
232
+ # @option options [Boolean] :http_wire_trace (false) When `true`,
233
+ # HTTP debug output will be sent to the `:logger`.
234
+ #
235
+ # @option options [Boolean] :ssl_verify_peer (true) When `true`,
236
+ # SSL peer certificates are verified when establishing a
237
+ # connection.
238
+ #
239
+ # @option options [String] :ssl_ca_bundle Full path to the SSL
240
+ # certificate authority bundle file that should be used when
241
+ # verifying peer certificates. If you do not pass
242
+ # `:ssl_ca_bundle` or `:ssl_ca_directory` the the system default
243
+ # will be used if available.
244
+ #
245
+ # @option options [String] :ssl_ca_directory Full path of the
246
+ # directory that contains the unbundled SSL certificate
247
+ # authority files for verifying peer certificates. If you do
248
+ # not pass `:ssl_ca_bundle` or `:ssl_ca_directory` the the
249
+ # system default will be used if available.
250
+ #
251
+ def initialize(*args)
252
+ super
253
+ end
254
+
255
+ # @!group API Operations
256
+
257
+ # Provides the configuration to use for an agent of the profiling group.
258
+ #
259
+ # @option params [String] :fleet_instance_id
260
+ # Identifier of the instance of compute fleet being profiled by the
261
+ # agent. For instance, host name in EC2, task id for ECS, function name
262
+ # for AWS Lambda
263
+ #
264
+ # @option params [required, String] :profiling_group_name
265
+ # The name of the profiling group.
266
+ #
267
+ # @return [Types::ConfigureAgentResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
268
+ #
269
+ # * {Types::ConfigureAgentResponse#configuration #configuration} => Types::AgentConfiguration
270
+ #
271
+ # @example Request syntax with placeholder values
272
+ #
273
+ # resp = client.configure_agent({
274
+ # fleet_instance_id: "FleetInstanceId",
275
+ # profiling_group_name: "ProfilingGroupName", # required
276
+ # })
277
+ #
278
+ # @example Response structure
279
+ #
280
+ # resp.configuration.period_in_seconds #=> Integer
281
+ # resp.configuration.should_profile #=> Boolean
282
+ #
283
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgent AWS API Documentation
284
+ #
285
+ # @overload configure_agent(params = {})
286
+ # @param [Hash] params ({})
287
+ def configure_agent(params = {}, options = {})
288
+ req = build_request(:configure_agent, params)
289
+ req.send_request(options)
290
+ end
291
+
292
+ # Create a profiling group.
293
+ #
294
+ # @option params [Types::AgentOrchestrationConfig] :agent_orchestration_config
295
+ # Configuration to orchestrate agents to create and report agent
296
+ # profiles of the profiling group. Agents are orchestrated if they
297
+ # follow the agent orchestration protocol.
298
+ #
299
+ # @option params [required, String] :client_token
300
+ # Client token for the request.
301
+ #
302
+ # **A suitable default value is auto-generated.** You should normally
303
+ # not need to pass this option.**
304
+ #
305
+ # @option params [required, String] :profiling_group_name
306
+ # The name of the profiling group.
307
+ #
308
+ # @return [Types::CreateProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
309
+ #
310
+ # * {Types::CreateProfilingGroupResponse#profiling_group #profiling_group} => Types::ProfilingGroupDescription
311
+ #
312
+ # @example Request syntax with placeholder values
313
+ #
314
+ # resp = client.create_profiling_group({
315
+ # agent_orchestration_config: {
316
+ # profiling_enabled: false, # required
317
+ # },
318
+ # client_token: "ClientToken", # required
319
+ # profiling_group_name: "ProfilingGroupName", # required
320
+ # })
321
+ #
322
+ # @example Response structure
323
+ #
324
+ # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
325
+ # resp.profiling_group.arn #=> String
326
+ # resp.profiling_group.created_at #=> Time
327
+ # resp.profiling_group.name #=> String
328
+ # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
329
+ # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
330
+ # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
331
+ # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
332
+ # resp.profiling_group.updated_at #=> Time
333
+ #
334
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroup AWS API Documentation
335
+ #
336
+ # @overload create_profiling_group(params = {})
337
+ # @param [Hash] params ({})
338
+ def create_profiling_group(params = {}, options = {})
339
+ req = build_request(:create_profiling_group, params)
340
+ req.send_request(options)
341
+ end
342
+
343
+ # Delete a profiling group.
344
+ #
345
+ # @option params [required, String] :profiling_group_name
346
+ # The name of the profiling group.
347
+ #
348
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
349
+ #
350
+ # @example Request syntax with placeholder values
351
+ #
352
+ # resp = client.delete_profiling_group({
353
+ # profiling_group_name: "ProfilingGroupName", # required
354
+ # })
355
+ #
356
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroup AWS API Documentation
357
+ #
358
+ # @overload delete_profiling_group(params = {})
359
+ # @param [Hash] params ({})
360
+ def delete_profiling_group(params = {}, options = {})
361
+ req = build_request(:delete_profiling_group, params)
362
+ req.send_request(options)
363
+ end
364
+
365
+ # Describe a profiling group.
366
+ #
367
+ # @option params [required, String] :profiling_group_name
368
+ # The name of the profiling group.
369
+ #
370
+ # @return [Types::DescribeProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
371
+ #
372
+ # * {Types::DescribeProfilingGroupResponse#profiling_group #profiling_group} => Types::ProfilingGroupDescription
373
+ #
374
+ # @example Request syntax with placeholder values
375
+ #
376
+ # resp = client.describe_profiling_group({
377
+ # profiling_group_name: "ProfilingGroupName", # required
378
+ # })
379
+ #
380
+ # @example Response structure
381
+ #
382
+ # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
383
+ # resp.profiling_group.arn #=> String
384
+ # resp.profiling_group.created_at #=> Time
385
+ # resp.profiling_group.name #=> String
386
+ # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
387
+ # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
388
+ # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
389
+ # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
390
+ # resp.profiling_group.updated_at #=> Time
391
+ #
392
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroup AWS API Documentation
393
+ #
394
+ # @overload describe_profiling_group(params = {})
395
+ # @param [Hash] params ({})
396
+ def describe_profiling_group(params = {}, options = {})
397
+ req = build_request(:describe_profiling_group, params)
398
+ req.send_request(options)
399
+ end
400
+
401
+ # Get the aggregated profile of a profiling group for the specified time
402
+ # range. If the requested time range does not align with the available
403
+ # aggregated profiles, it will be expanded to attain alignment. If
404
+ # aggregated profiles are available only for part of the period
405
+ # requested, the profile is returned from the earliest available to the
406
+ # latest within the requested time range. For instance, if the requested
407
+ # time range is from 00:00 to 00:20 and the available profiles are from
408
+ # 00:15 to 00:25, then the returned profile will be from 00:15 to 00:20.
409
+ #
410
+ # @option params [String] :accept
411
+ # The format of the profile to return. Supports application/json or
412
+ # application/x-amzn-ion. Defaults to application/x-amzn-ion.
413
+ #
414
+ # @option params [Time,DateTime,Date,Integer,String] :end_time
415
+ # The end time of the profile to get. Either period or endTime must be
416
+ # specified. Must be greater than start and the overall time range to be
417
+ # in the past and not larger than a week.
418
+ #
419
+ # @option params [Integer] :max_depth
420
+ # Limit the max depth of the profile.
421
+ #
422
+ # @option params [String] :period
423
+ # The period of the profile to get. Exactly two of `startTime`, `period`
424
+ # and `endTime` must be specified. Must be positive and the overall time
425
+ # range to be in the past and not larger than a week.
426
+ #
427
+ # @option params [required, String] :profiling_group_name
428
+ # The name of the profiling group.
429
+ #
430
+ # @option params [Time,DateTime,Date,Integer,String] :start_time
431
+ # The start time of the profile to get.
432
+ #
433
+ # @return [Types::GetProfileResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
434
+ #
435
+ # * {Types::GetProfileResponse#content_encoding #content_encoding} => String
436
+ # * {Types::GetProfileResponse#content_type #content_type} => String
437
+ # * {Types::GetProfileResponse#profile #profile} => String
438
+ #
439
+ # @example Request syntax with placeholder values
440
+ #
441
+ # resp = client.get_profile({
442
+ # accept: "String",
443
+ # end_time: Time.now,
444
+ # max_depth: 1,
445
+ # period: "Period",
446
+ # profiling_group_name: "ProfilingGroupName", # required
447
+ # start_time: Time.now,
448
+ # })
449
+ #
450
+ # @example Response structure
451
+ #
452
+ # resp.content_encoding #=> String
453
+ # resp.content_type #=> String
454
+ # resp.profile #=> String
455
+ #
456
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfile AWS API Documentation
457
+ #
458
+ # @overload get_profile(params = {})
459
+ # @param [Hash] params ({})
460
+ def get_profile(params = {}, options = {})
461
+ req = build_request(:get_profile, params)
462
+ req.send_request(options)
463
+ end
464
+
465
+ # List the start times of the available aggregated profiles of a
466
+ # profiling group for an aggregation period within the specified time
467
+ # range.
468
+ #
469
+ # @option params [required, Time,DateTime,Date,Integer,String] :end_time
470
+ # The end time of the time range to list profiles until.
471
+ #
472
+ # @option params [Integer] :max_results
473
+ # Upper bound on the number of results to list in a single call.
474
+ #
475
+ # @option params [String] :next_token
476
+ # Token for paginating results.
477
+ #
478
+ # @option params [String] :order_by
479
+ # The order (ascending or descending by start time of the profile) to
480
+ # list the profiles by. Defaults to TIMESTAMP\_DESCENDING.
481
+ #
482
+ # @option params [required, String] :period
483
+ # The aggregation period to list the profiles for.
484
+ #
485
+ # @option params [required, String] :profiling_group_name
486
+ # The name of the profiling group.
487
+ #
488
+ # @option params [required, Time,DateTime,Date,Integer,String] :start_time
489
+ # The start time of the time range to list the profiles from.
490
+ #
491
+ # @return [Types::ListProfileTimesResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
492
+ #
493
+ # * {Types::ListProfileTimesResponse#next_token #next_token} => String
494
+ # * {Types::ListProfileTimesResponse#profile_times #profile_times} => Array&lt;Types::ProfileTime&gt;
495
+ #
496
+ # @example Request syntax with placeholder values
497
+ #
498
+ # resp = client.list_profile_times({
499
+ # end_time: Time.now, # required
500
+ # max_results: 1,
501
+ # next_token: "PaginationToken",
502
+ # order_by: "TimestampAscending", # accepts TimestampAscending, TimestampDescending
503
+ # period: "P1D", # required, accepts P1D, PT1H, PT5M
504
+ # profiling_group_name: "ProfilingGroupName", # required
505
+ # start_time: Time.now, # required
506
+ # })
507
+ #
508
+ # @example Response structure
509
+ #
510
+ # resp.next_token #=> String
511
+ # resp.profile_times #=> Array
512
+ # resp.profile_times[0].start #=> Time
513
+ #
514
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimes AWS API Documentation
515
+ #
516
+ # @overload list_profile_times(params = {})
517
+ # @param [Hash] params ({})
518
+ def list_profile_times(params = {}, options = {})
519
+ req = build_request(:list_profile_times, params)
520
+ req.send_request(options)
521
+ end
522
+
523
+ # List profiling groups in the account.
524
+ #
525
+ # @option params [Boolean] :include_description
526
+ # If set to true, returns the full description of the profiling groups
527
+ # instead of the names. Defaults to false.
528
+ #
529
+ # @option params [Integer] :max_results
530
+ # Upper bound on the number of results to list in a single call.
531
+ #
532
+ # @option params [String] :next_token
533
+ # Token for paginating results.
534
+ #
535
+ # @return [Types::ListProfilingGroupsResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
536
+ #
537
+ # * {Types::ListProfilingGroupsResponse#next_token #next_token} => String
538
+ # * {Types::ListProfilingGroupsResponse#profiling_group_names #profiling_group_names} => Array&lt;String&gt;
539
+ # * {Types::ListProfilingGroupsResponse#profiling_groups #profiling_groups} => Array&lt;Types::ProfilingGroupDescription&gt;
540
+ #
541
+ # @example Request syntax with placeholder values
542
+ #
543
+ # resp = client.list_profiling_groups({
544
+ # include_description: false,
545
+ # max_results: 1,
546
+ # next_token: "PaginationToken",
547
+ # })
548
+ #
549
+ # @example Response structure
550
+ #
551
+ # resp.next_token #=> String
552
+ # resp.profiling_group_names #=> Array
553
+ # resp.profiling_group_names[0] #=> String
554
+ # resp.profiling_groups #=> Array
555
+ # resp.profiling_groups[0].agent_orchestration_config.profiling_enabled #=> Boolean
556
+ # resp.profiling_groups[0].arn #=> String
557
+ # resp.profiling_groups[0].created_at #=> Time
558
+ # resp.profiling_groups[0].name #=> String
559
+ # resp.profiling_groups[0].profiling_status.latest_agent_orchestrated_at #=> Time
560
+ # resp.profiling_groups[0].profiling_status.latest_agent_profile_reported_at #=> Time
561
+ # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
562
+ # resp.profiling_groups[0].profiling_status.latest_aggregated_profile.start #=> Time
563
+ # resp.profiling_groups[0].updated_at #=> Time
564
+ #
565
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroups AWS API Documentation
566
+ #
567
+ # @overload list_profiling_groups(params = {})
568
+ # @param [Hash] params ({})
569
+ def list_profiling_groups(params = {}, options = {})
570
+ req = build_request(:list_profiling_groups, params)
571
+ req.send_request(options)
572
+ end
573
+
574
+ # Submit profile collected by an agent belonging to a profiling group
575
+ # for aggregation.
576
+ #
577
+ # @option params [required, String, IO] :agent_profile
578
+ # The profile collected by an agent for a time range.
579
+ #
580
+ # @option params [required, String] :content_type
581
+ # The content type of the agent profile in the payload. Recommended to
582
+ # send the profile gzipped with content-type application/octet-stream.
583
+ # Other accepted values are application/x-amzn-ion and application/json
584
+ # for unzipped Ion and JSON respectively.
585
+ #
586
+ # @option params [String] :profile_token
587
+ # Client generated token to deduplicate the agent profile during
588
+ # aggregation.
589
+ #
590
+ # **A suitable default value is auto-generated.** You should normally
591
+ # not need to pass this option.**
592
+ #
593
+ # @option params [required, String] :profiling_group_name
594
+ # The name of the profiling group.
595
+ #
596
+ # @return [Struct] Returns an empty {Seahorse::Client::Response response}.
597
+ #
598
+ # @example Request syntax with placeholder values
599
+ #
600
+ # resp = client.post_agent_profile({
601
+ # agent_profile: "data", # required
602
+ # content_type: "String", # required
603
+ # profile_token: "ClientToken",
604
+ # profiling_group_name: "ProfilingGroupName", # required
605
+ # })
606
+ #
607
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfile AWS API Documentation
608
+ #
609
+ # @overload post_agent_profile(params = {})
610
+ # @param [Hash] params ({})
611
+ def post_agent_profile(params = {}, options = {})
612
+ req = build_request(:post_agent_profile, params)
613
+ req.send_request(options)
614
+ end
615
+
616
+ # Update a profiling group.
617
+ #
618
+ # @option params [required, Types::AgentOrchestrationConfig] :agent_orchestration_config
619
+ # Remote configuration to configure the agents of the profiling group.
620
+ #
621
+ # @option params [required, String] :profiling_group_name
622
+ # The name of the profiling group.
623
+ #
624
+ # @return [Types::UpdateProfilingGroupResponse] Returns a {Seahorse::Client::Response response} object which responds to the following methods:
625
+ #
626
+ # * {Types::UpdateProfilingGroupResponse#profiling_group #profiling_group} => Types::ProfilingGroupDescription
627
+ #
628
+ # @example Request syntax with placeholder values
629
+ #
630
+ # resp = client.update_profiling_group({
631
+ # agent_orchestration_config: { # required
632
+ # profiling_enabled: false, # required
633
+ # },
634
+ # profiling_group_name: "ProfilingGroupName", # required
635
+ # })
636
+ #
637
+ # @example Response structure
638
+ #
639
+ # resp.profiling_group.agent_orchestration_config.profiling_enabled #=> Boolean
640
+ # resp.profiling_group.arn #=> String
641
+ # resp.profiling_group.created_at #=> Time
642
+ # resp.profiling_group.name #=> String
643
+ # resp.profiling_group.profiling_status.latest_agent_orchestrated_at #=> Time
644
+ # resp.profiling_group.profiling_status.latest_agent_profile_reported_at #=> Time
645
+ # resp.profiling_group.profiling_status.latest_aggregated_profile.period #=> String, one of "P1D", "PT1H", "PT5M"
646
+ # resp.profiling_group.profiling_status.latest_aggregated_profile.start #=> Time
647
+ # resp.profiling_group.updated_at #=> Time
648
+ #
649
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroup AWS API Documentation
650
+ #
651
+ # @overload update_profiling_group(params = {})
652
+ # @param [Hash] params ({})
653
+ def update_profiling_group(params = {}, options = {})
654
+ req = build_request(:update_profiling_group, params)
655
+ req.send_request(options)
656
+ end
657
+
658
+ # @!endgroup
659
+
660
+ # @param params ({})
661
+ # @api private
662
+ def build_request(operation_name, params = {})
663
+ handlers = @handlers.for(operation_name)
664
+ context = Seahorse::Client::RequestContext.new(
665
+ operation_name: operation_name,
666
+ operation: config.api.operation(operation_name),
667
+ client: self,
668
+ params: params,
669
+ config: config)
670
+ context[:gem_name] = 'aws-sdk-codeguruprofiler'
671
+ context[:gem_version] = '1.0.0'
672
+ Seahorse::Client::Request.new(handlers, context)
673
+ end
674
+
675
+ # @api private
676
+ # @deprecated
677
+ def waiter_names
678
+ []
679
+ end
680
+
681
+ class << self
682
+
683
+ # @api private
684
+ attr_reader :identifier
685
+
686
+ # @api private
687
+ def errors_module
688
+ Errors
689
+ end
690
+
691
+ end
692
+ end
693
+ end