aws-sdk-codeguruprofiler 1.0.0 → 1.5.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -11,6 +11,7 @@ module Aws::CodeGuruProfiler
11
11
 
12
12
  include Seahorse::Model
13
13
 
14
+ ActionGroup = Shapes::StringShape.new(name: 'ActionGroup')
14
15
  AgentConfiguration = Shapes::StructureShape.new(name: 'AgentConfiguration')
15
16
  AgentOrchestrationConfig = Shapes::StructureShape.new(name: 'AgentOrchestrationConfig')
16
17
  AgentProfile = Shapes::BlobShape.new(name: 'AgentProfile')
@@ -29,6 +30,8 @@ module Aws::CodeGuruProfiler
29
30
  DescribeProfilingGroupRequest = Shapes::StructureShape.new(name: 'DescribeProfilingGroupRequest')
30
31
  DescribeProfilingGroupResponse = Shapes::StructureShape.new(name: 'DescribeProfilingGroupResponse')
31
32
  FleetInstanceId = Shapes::StringShape.new(name: 'FleetInstanceId')
33
+ GetPolicyRequest = Shapes::StructureShape.new(name: 'GetPolicyRequest')
34
+ GetPolicyResponse = Shapes::StructureShape.new(name: 'GetPolicyResponse')
32
35
  GetProfileRequest = Shapes::StructureShape.new(name: 'GetProfileRequest')
33
36
  GetProfileResponse = Shapes::StructureShape.new(name: 'GetProfileResponse')
34
37
  Integer = Shapes::IntegerShape.new(name: 'Integer')
@@ -44,6 +47,8 @@ module Aws::CodeGuruProfiler
44
47
  Period = Shapes::StringShape.new(name: 'Period')
45
48
  PostAgentProfileRequest = Shapes::StructureShape.new(name: 'PostAgentProfileRequest')
46
49
  PostAgentProfileResponse = Shapes::StructureShape.new(name: 'PostAgentProfileResponse')
50
+ Principal = Shapes::StringShape.new(name: 'Principal')
51
+ Principals = Shapes::ListShape.new(name: 'Principals')
47
52
  ProfileTime = Shapes::StructureShape.new(name: 'ProfileTime')
48
53
  ProfileTimes = Shapes::ListShape.new(name: 'ProfileTimes')
49
54
  ProfilingGroupArn = Shapes::StringShape.new(name: 'ProfilingGroupArn')
@@ -52,7 +57,12 @@ module Aws::CodeGuruProfiler
52
57
  ProfilingGroupName = Shapes::StringShape.new(name: 'ProfilingGroupName')
53
58
  ProfilingGroupNames = Shapes::ListShape.new(name: 'ProfilingGroupNames')
54
59
  ProfilingStatus = Shapes::StructureShape.new(name: 'ProfilingStatus')
60
+ PutPermissionRequest = Shapes::StructureShape.new(name: 'PutPermissionRequest')
61
+ PutPermissionResponse = Shapes::StructureShape.new(name: 'PutPermissionResponse')
62
+ RemovePermissionRequest = Shapes::StructureShape.new(name: 'RemovePermissionRequest')
63
+ RemovePermissionResponse = Shapes::StructureShape.new(name: 'RemovePermissionResponse')
55
64
  ResourceNotFoundException = Shapes::StructureShape.new(name: 'ResourceNotFoundException')
65
+ RevisionId = Shapes::StringShape.new(name: 'RevisionId')
56
66
  ServiceQuotaExceededException = Shapes::StructureShape.new(name: 'ServiceQuotaExceededException')
57
67
  String = Shapes::StringShape.new(name: 'String')
58
68
  ThrottlingException = Shapes::StructureShape.new(name: 'ThrottlingException')
@@ -107,6 +117,13 @@ module Aws::CodeGuruProfiler
107
117
  DescribeProfilingGroupResponse[:payload] = :profiling_group
108
118
  DescribeProfilingGroupResponse[:payload_member] = DescribeProfilingGroupResponse.member(:profiling_group)
109
119
 
120
+ GetPolicyRequest.add_member(:profiling_group_name, Shapes::ShapeRef.new(shape: ProfilingGroupName, required: true, location: "uri", location_name: "profilingGroupName"))
121
+ GetPolicyRequest.struct_class = Types::GetPolicyRequest
122
+
123
+ GetPolicyResponse.add_member(:policy, Shapes::ShapeRef.new(shape: String, required: true, location_name: "policy"))
124
+ GetPolicyResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, required: true, location_name: "revisionId"))
125
+ GetPolicyResponse.struct_class = Types::GetPolicyResponse
126
+
110
127
  GetProfileRequest.add_member(:accept, Shapes::ShapeRef.new(shape: String, location: "header", location_name: "Accept"))
111
128
  GetProfileRequest.add_member(:end_time, Shapes::ShapeRef.new(shape: Timestamp, location: "querystring", location_name: "endTime"))
112
129
  GetProfileRequest.add_member(:max_depth, Shapes::ShapeRef.new(shape: MaxDepth, location: "querystring", location_name: "maxDepth"))
@@ -158,6 +175,8 @@ module Aws::CodeGuruProfiler
158
175
 
159
176
  PostAgentProfileResponse.struct_class = Types::PostAgentProfileResponse
160
177
 
178
+ Principals.member = Shapes::ShapeRef.new(shape: Principal)
179
+
161
180
  ProfileTime.add_member(:start, Shapes::ShapeRef.new(shape: Timestamp, location_name: "start"))
162
181
  ProfileTime.struct_class = Types::ProfileTime
163
182
 
@@ -180,6 +199,25 @@ module Aws::CodeGuruProfiler
180
199
  ProfilingStatus.add_member(:latest_aggregated_profile, Shapes::ShapeRef.new(shape: AggregatedProfileTime, location_name: "latestAggregatedProfile"))
181
200
  ProfilingStatus.struct_class = Types::ProfilingStatus
182
201
 
202
+ PutPermissionRequest.add_member(:action_group, Shapes::ShapeRef.new(shape: ActionGroup, required: true, location: "uri", location_name: "actionGroup"))
203
+ PutPermissionRequest.add_member(:principals, Shapes::ShapeRef.new(shape: Principals, required: true, location_name: "principals"))
204
+ PutPermissionRequest.add_member(:profiling_group_name, Shapes::ShapeRef.new(shape: ProfilingGroupName, required: true, location: "uri", location_name: "profilingGroupName"))
205
+ PutPermissionRequest.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, location_name: "revisionId"))
206
+ PutPermissionRequest.struct_class = Types::PutPermissionRequest
207
+
208
+ PutPermissionResponse.add_member(:policy, Shapes::ShapeRef.new(shape: String, required: true, location_name: "policy"))
209
+ PutPermissionResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, required: true, location_name: "revisionId"))
210
+ PutPermissionResponse.struct_class = Types::PutPermissionResponse
211
+
212
+ RemovePermissionRequest.add_member(:action_group, Shapes::ShapeRef.new(shape: ActionGroup, required: true, location: "uri", location_name: "actionGroup"))
213
+ RemovePermissionRequest.add_member(:profiling_group_name, Shapes::ShapeRef.new(shape: ProfilingGroupName, required: true, location: "uri", location_name: "profilingGroupName"))
214
+ RemovePermissionRequest.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, required: true, location: "querystring", location_name: "revisionId"))
215
+ RemovePermissionRequest.struct_class = Types::RemovePermissionRequest
216
+
217
+ RemovePermissionResponse.add_member(:policy, Shapes::ShapeRef.new(shape: String, required: true, location_name: "policy"))
218
+ RemovePermissionResponse.add_member(:revision_id, Shapes::ShapeRef.new(shape: RevisionId, required: true, location_name: "revisionId"))
219
+ RemovePermissionResponse.struct_class = Types::RemovePermissionResponse
220
+
183
221
  ResourceNotFoundException.add_member(:message, Shapes::ShapeRef.new(shape: String, required: true, location_name: "message"))
184
222
  ResourceNotFoundException.struct_class = Types::ResourceNotFoundException
185
223
 
@@ -268,6 +306,17 @@ module Aws::CodeGuruProfiler
268
306
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
269
307
  end)
270
308
 
309
+ api.add_operation(:get_policy, Seahorse::Model::Operation.new.tap do |o|
310
+ o.name = "GetPolicy"
311
+ o.http_method = "GET"
312
+ o.http_request_uri = "/profilingGroups/{profilingGroupName}/policy"
313
+ o.input = Shapes::ShapeRef.new(shape: GetPolicyRequest)
314
+ o.output = Shapes::ShapeRef.new(shape: GetPolicyResponse)
315
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
316
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
317
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
318
+ end)
319
+
271
320
  api.add_operation(:get_profile, Seahorse::Model::Operation.new.tap do |o|
272
321
  o.name = "GetProfile"
273
322
  o.http_method = "GET"
@@ -326,6 +375,32 @@ module Aws::CodeGuruProfiler
326
375
  o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
327
376
  end)
328
377
 
378
+ api.add_operation(:put_permission, Seahorse::Model::Operation.new.tap do |o|
379
+ o.name = "PutPermission"
380
+ o.http_method = "PUT"
381
+ o.http_request_uri = "/profilingGroups/{profilingGroupName}/policy/{actionGroup}"
382
+ o.input = Shapes::ShapeRef.new(shape: PutPermissionRequest)
383
+ o.output = Shapes::ShapeRef.new(shape: PutPermissionResponse)
384
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
385
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
386
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
387
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
388
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
389
+ end)
390
+
391
+ api.add_operation(:remove_permission, Seahorse::Model::Operation.new.tap do |o|
392
+ o.name = "RemovePermission"
393
+ o.http_method = "DELETE"
394
+ o.http_request_uri = "/profilingGroups/{profilingGroupName}/policy/{actionGroup}"
395
+ o.input = Shapes::ShapeRef.new(shape: RemovePermissionRequest)
396
+ o.output = Shapes::ShapeRef.new(shape: RemovePermissionResponse)
397
+ o.errors << Shapes::ShapeRef.new(shape: InternalServerException)
398
+ o.errors << Shapes::ShapeRef.new(shape: ConflictException)
399
+ o.errors << Shapes::ShapeRef.new(shape: ValidationException)
400
+ o.errors << Shapes::ShapeRef.new(shape: ThrottlingException)
401
+ o.errors << Shapes::ShapeRef.new(shape: ResourceNotFoundException)
402
+ end)
403
+
329
404
  api.add_operation(:update_profiling_group, Seahorse::Model::Operation.new.tap do |o|
330
405
  o.name = "UpdateProfilingGroup"
331
406
  o.http_method = "PUT"
@@ -6,6 +6,34 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::CodeGuruProfiler
9
+
10
+ # When CodeGuruProfiler returns an error response, the Ruby SDK constructs and raises an error.
11
+ # These errors all extend Aws::CodeGuruProfiler::Errors::ServiceError < {Aws::Errors::ServiceError}
12
+ #
13
+ # You can rescue all CodeGuruProfiler errors using ServiceError:
14
+ #
15
+ # begin
16
+ # # do stuff
17
+ # rescue Aws::CodeGuruProfiler::Errors::ServiceError
18
+ # # rescues all CodeGuruProfiler API errors
19
+ # end
20
+ #
21
+ #
22
+ # ## Request Context
23
+ # ServiceError objects have a {Aws::Errors::ServiceError#context #context} method that returns
24
+ # information about the request that generated the error.
25
+ # See {Seahorse::Client::RequestContext} for more information.
26
+ #
27
+ # ## Error Classes
28
+ # * {ConflictException}
29
+ # * {InternalServerException}
30
+ # * {ResourceNotFoundException}
31
+ # * {ServiceQuotaExceededException}
32
+ # * {ThrottlingException}
33
+ # * {ValidationException}
34
+ #
35
+ # Additionally, error classes are dynamically generated for service errors based on the error code
36
+ # if they are not defined above.
9
37
  module Errors
10
38
 
11
39
  extend Aws::Errors::DynamicErrors
@@ -23,7 +51,6 @@ module Aws::CodeGuruProfiler
23
51
  def message
24
52
  @message || @data[:message]
25
53
  end
26
-
27
54
  end
28
55
 
29
56
  class InternalServerException < ServiceError
@@ -39,7 +66,6 @@ module Aws::CodeGuruProfiler
39
66
  def message
40
67
  @message || @data[:message]
41
68
  end
42
-
43
69
  end
44
70
 
45
71
  class ResourceNotFoundException < ServiceError
@@ -55,7 +81,6 @@ module Aws::CodeGuruProfiler
55
81
  def message
56
82
  @message || @data[:message]
57
83
  end
58
-
59
84
  end
60
85
 
61
86
  class ServiceQuotaExceededException < ServiceError
@@ -71,7 +96,6 @@ module Aws::CodeGuruProfiler
71
96
  def message
72
97
  @message || @data[:message]
73
98
  end
74
-
75
99
  end
76
100
 
77
101
  class ThrottlingException < ServiceError
@@ -87,7 +111,6 @@ module Aws::CodeGuruProfiler
87
111
  def message
88
112
  @message || @data[:message]
89
113
  end
90
-
91
114
  end
92
115
 
93
116
  class ValidationException < ServiceError
@@ -103,7 +126,6 @@ module Aws::CodeGuruProfiler
103
126
  def message
104
127
  @message || @data[:message]
105
128
  end
106
-
107
129
  end
108
130
 
109
131
  end
@@ -6,6 +6,7 @@
6
6
  # WARNING ABOUT GENERATED CODE
7
7
 
8
8
  module Aws::CodeGuruProfiler
9
+
9
10
  class Resource
10
11
 
11
12
  # @param options ({})
@@ -8,15 +8,10 @@
8
8
  module Aws::CodeGuruProfiler
9
9
  module Types
10
10
 
11
- # The configuration for the agent to use.
12
- #
13
11
  # @!attribute [rw] period_in_seconds
14
- # Specifies the period to follow the configuration (to profile or not)
15
- # and call back to get a new configuration.
16
12
  # @return [Integer]
17
13
  #
18
14
  # @!attribute [rw] should_profile
19
- # Specifies if the profiling should be enabled by the agent.
20
15
  # @return [Boolean]
21
16
  #
22
17
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AgentConfiguration AWS API Documentation
@@ -27,10 +22,6 @@ module Aws::CodeGuruProfiler
27
22
  include Aws::Structure
28
23
  end
29
24
 
30
- # Configuration to orchestrate agents to create and report agent
31
- # profiles of the profiling group. Agents are orchestrated if they
32
- # follow the agent orchestration protocol.
33
- #
34
25
  # @note When making an API call, you may pass AgentOrchestrationConfig
35
26
  # data as a hash:
36
27
  #
@@ -39,7 +30,6 @@ module Aws::CodeGuruProfiler
39
30
  # }
40
31
  #
41
32
  # @!attribute [rw] profiling_enabled
42
- # If the agents should be enabled to create and report profiles.
43
33
  # @return [Boolean]
44
34
  #
45
35
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AgentOrchestrationConfig AWS API Documentation
@@ -49,14 +39,15 @@ module Aws::CodeGuruProfiler
49
39
  include Aws::Structure
50
40
  end
51
41
 
52
- # The time range of an aggregated profile.
42
+ # Information about the time range of the latest available aggregated
43
+ # profile.
53
44
  #
54
45
  # @!attribute [rw] period
55
- # The aggregation period of the aggregated profile.
46
+ # The time period.
56
47
  # @return [String]
57
48
  #
58
49
  # @!attribute [rw] start
59
- # The start time of the aggregated profile.
50
+ # The start time.
60
51
  # @return [Time]
61
52
  #
62
53
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AggregatedProfileTime AWS API Documentation
@@ -67,7 +58,7 @@ module Aws::CodeGuruProfiler
67
58
  include Aws::Structure
68
59
  end
69
60
 
70
- # Request for ConfigureAgent operation.
61
+ # The structure representing the configureAgentRequest.
71
62
  #
72
63
  # @note When making an API call, you may pass ConfigureAgentRequest
73
64
  # data as a hash:
@@ -78,13 +69,9 @@ module Aws::CodeGuruProfiler
78
69
  # }
79
70
  #
80
71
  # @!attribute [rw] fleet_instance_id
81
- # Identifier of the instance of compute fleet being profiled by the
82
- # agent. For instance, host name in EC2, task id for ECS, function
83
- # name for AWS Lambda
84
72
  # @return [String]
85
73
  #
86
74
  # @!attribute [rw] profiling_group_name
87
- # The name of the profiling group.
88
75
  # @return [String]
89
76
  #
90
77
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgentRequest AWS API Documentation
@@ -95,10 +82,9 @@ module Aws::CodeGuruProfiler
95
82
  include Aws::Structure
96
83
  end
97
84
 
98
- # Response for ConfigureAgent operation.
85
+ # The structure representing the configureAgentResponse.
99
86
  #
100
87
  # @!attribute [rw] configuration
101
- # The configuration for the agent to use.
102
88
  # @return [Types::AgentConfiguration]
103
89
  #
104
90
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgentResponse AWS API Documentation
@@ -108,7 +94,9 @@ module Aws::CodeGuruProfiler
108
94
  include Aws::Structure
109
95
  end
110
96
 
111
- # Request can can cause an inconsistent state for the resource.
97
+ # The requested operation would cause a conflict with the current state
98
+ # of a service resource associated with the request. Resolve the
99
+ # conflict before retrying this request.
112
100
  #
113
101
  # @!attribute [rw] message
114
102
  # @return [String]
@@ -120,7 +108,7 @@ module Aws::CodeGuruProfiler
120
108
  include Aws::Structure
121
109
  end
122
110
 
123
- # Request for CreateProfilingGroup operation.
111
+ # The structure representing the createProfiliingGroupRequest.
124
112
  #
125
113
  # @note When making an API call, you may pass CreateProfilingGroupRequest
126
114
  # data as a hash:
@@ -134,13 +122,15 @@ module Aws::CodeGuruProfiler
134
122
  # }
135
123
  #
136
124
  # @!attribute [rw] agent_orchestration_config
137
- # Configuration to orchestrate agents to create and report agent
138
- # profiles of the profiling group. Agents are orchestrated if they
139
- # follow the agent orchestration protocol.
125
+ # The agent orchestration configuration.
140
126
  # @return [Types::AgentOrchestrationConfig]
141
127
  #
142
128
  # @!attribute [rw] client_token
143
- # Client token for the request.
129
+ # Unique, case-sensitive identifier that you provide to ensure the
130
+ # idempotency of the request.
131
+ #
132
+ # This parameter specifies a unique identifier for the new profiling
133
+ # group that helps ensure idempotency.
144
134
  #
145
135
  # **A suitable default value is auto-generated.** You should normally
146
136
  # not need to pass this option.
@@ -159,10 +149,10 @@ module Aws::CodeGuruProfiler
159
149
  include Aws::Structure
160
150
  end
161
151
 
162
- # Response for CreateProfilingGroup operation.
152
+ # The structure representing the createProfilingGroupResponse.
163
153
  #
164
154
  # @!attribute [rw] profiling_group
165
- # The description of a profiling group.
155
+ # Information about the new profiling group
166
156
  # @return [Types::ProfilingGroupDescription]
167
157
  #
168
158
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroupResponse AWS API Documentation
@@ -172,7 +162,7 @@ module Aws::CodeGuruProfiler
172
162
  include Aws::Structure
173
163
  end
174
164
 
175
- # Request for DeleteProfilingGroup operation.
165
+ # The structure representing the deleteProfilingGroupRequest.
176
166
  #
177
167
  # @note When making an API call, you may pass DeleteProfilingGroupRequest
178
168
  # data as a hash:
@@ -182,7 +172,7 @@ module Aws::CodeGuruProfiler
182
172
  # }
183
173
  #
184
174
  # @!attribute [rw] profiling_group_name
185
- # The name of the profiling group.
175
+ # The profiling group name to delete.
186
176
  # @return [String]
187
177
  #
188
178
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroupRequest AWS API Documentation
@@ -192,13 +182,13 @@ module Aws::CodeGuruProfiler
192
182
  include Aws::Structure
193
183
  end
194
184
 
195
- # Response for DeleteProfilingGroup operation.
185
+ # The structure representing the deleteProfilingGroupResponse.
196
186
  #
197
187
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroupResponse AWS API Documentation
198
188
  #
199
189
  class DeleteProfilingGroupResponse < Aws::EmptyStructure; end
200
190
 
201
- # Request for DescribeProfilingGroup operation.
191
+ # The structure representing the describeProfilingGroupRequest.
202
192
  #
203
193
  # @note When making an API call, you may pass DescribeProfilingGroupRequest
204
194
  # data as a hash:
@@ -208,7 +198,7 @@ module Aws::CodeGuruProfiler
208
198
  # }
209
199
  #
210
200
  # @!attribute [rw] profiling_group_name
211
- # The name of the profiling group.
201
+ # The profiling group name.
212
202
  # @return [String]
213
203
  #
214
204
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroupRequest AWS API Documentation
@@ -218,10 +208,10 @@ module Aws::CodeGuruProfiler
218
208
  include Aws::Structure
219
209
  end
220
210
 
221
- # Response for DescribeProfilingGroup operation.
211
+ # The structure representing the describeProfilingGroupResponse.
222
212
  #
223
213
  # @!attribute [rw] profiling_group
224
- # The description of a profiling group.
214
+ # Information about a profiling group.
225
215
  # @return [Types::ProfilingGroupDescription]
226
216
  #
227
217
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroupResponse AWS API Documentation
@@ -231,7 +221,45 @@ module Aws::CodeGuruProfiler
231
221
  include Aws::Structure
232
222
  end
233
223
 
234
- # Request for GetProfile operation.
224
+ # The structure representing the getPolicyRequest.
225
+ #
226
+ # @note When making an API call, you may pass GetPolicyRequest
227
+ # data as a hash:
228
+ #
229
+ # {
230
+ # profiling_group_name: "ProfilingGroupName", # required
231
+ # }
232
+ #
233
+ # @!attribute [rw] profiling_group_name
234
+ # The name of the profiling group.
235
+ # @return [String]
236
+ #
237
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyRequest AWS API Documentation
238
+ #
239
+ class GetPolicyRequest < Struct.new(
240
+ :profiling_group_name)
241
+ include Aws::Structure
242
+ end
243
+
244
+ # The structure representing the getPolicyResponse.
245
+ #
246
+ # @!attribute [rw] policy
247
+ # The resource-based policy attached to the `ProfilingGroup`.
248
+ # @return [String]
249
+ #
250
+ # @!attribute [rw] revision_id
251
+ # A unique identifier for the current revision of the policy.
252
+ # @return [String]
253
+ #
254
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicyResponse AWS API Documentation
255
+ #
256
+ class GetPolicyResponse < Struct.new(
257
+ :policy,
258
+ :revision_id)
259
+ include Aws::Structure
260
+ end
261
+
262
+ # The structure representing the getProfileRequest.
235
263
  #
236
264
  # @note When making an API call, you may pass GetProfileRequest
237
265
  # data as a hash:
@@ -246,32 +274,36 @@ module Aws::CodeGuruProfiler
246
274
  # }
247
275
  #
248
276
  # @!attribute [rw] accept
249
- # The format of the profile to return. Supports application/json or
250
- # application/x-amzn-ion. Defaults to application/x-amzn-ion.
277
+ # The format of the profile to return. You can choose
278
+ # `application/json` or the default `application/x-amzn-ion`.
251
279
  # @return [String]
252
280
  #
253
281
  # @!attribute [rw] end_time
254
- # The end time of the profile to get. Either period or endTime must be
255
- # specified. Must be greater than start and the overall time range to
256
- # be in the past and not larger than a week.
282
+ # You must specify exactly two of the following parameters:
283
+ # `startTime`, `period`, and `endTime`.
257
284
  # @return [Time]
258
285
  #
259
286
  # @!attribute [rw] max_depth
260
- # Limit the max depth of the profile.
287
+ # The maximum depth of the graph.
261
288
  # @return [Integer]
262
289
  #
263
290
  # @!attribute [rw] period
264
- # The period of the profile to get. Exactly two of `startTime`,
265
- # `period` and `endTime` must be specified. Must be positive and the
266
- # overall time range to be in the past and not larger than a week.
291
+ # The period of the profile to get. The time range must be in the past
292
+ # and not longer than one week.
293
+ #
294
+ # You must specify exactly two of the following parameters:
295
+ # `startTime`, `period`, and `endTime`.
267
296
  # @return [String]
268
297
  #
269
298
  # @!attribute [rw] profiling_group_name
270
- # The name of the profiling group.
299
+ # The name of the profiling group to get.
271
300
  # @return [String]
272
301
  #
273
302
  # @!attribute [rw] start_time
274
303
  # The start time of the profile to get.
304
+ #
305
+ # You must specify exactly two of the following parameters:
306
+ # `startTime`, `period`, and `endTime`.
275
307
  # @return [Time]
276
308
  #
277
309
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileRequest AWS API Documentation
@@ -286,21 +318,19 @@ module Aws::CodeGuruProfiler
286
318
  include Aws::Structure
287
319
  end
288
320
 
289
- # Response for GetProfile operation.
321
+ # The structure representing the getProfileResponse.
290
322
  #
291
323
  # @!attribute [rw] content_encoding
292
- # The content encoding of the profile in the payload.
324
+ # The content encoding of the profile.
293
325
  # @return [String]
294
326
  #
295
327
  # @!attribute [rw] content_type
296
- # The content type of the profile in the payload. Will be
297
- # application/json or application/x-amzn-ion based on Accept header in
298
- # the request.
328
+ # The content type of the profile in the payload. It is either
329
+ # `application/json` or the default `application/x-amzn-ion`.
299
330
  # @return [String]
300
331
  #
301
332
  # @!attribute [rw] profile
302
- # The profile representing the aggregation of agent profiles of the
303
- # profiling group for a time range.
333
+ # Information about the profile.
304
334
  # @return [String]
305
335
  #
306
336
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfileResponse AWS API Documentation
@@ -312,7 +342,8 @@ module Aws::CodeGuruProfiler
312
342
  include Aws::Structure
313
343
  end
314
344
 
315
- # Unexpected error during processing of request.
345
+ # The server encountered an internal error and is unable to complete the
346
+ # request.
316
347
  #
317
348
  # @!attribute [rw] message
318
349
  # @return [String]
@@ -324,7 +355,7 @@ module Aws::CodeGuruProfiler
324
355
  include Aws::Structure
325
356
  end
326
357
 
327
- # Request for ListProfileTimes operation.
358
+ # The structure representing the listProfileTimesRequest.
328
359
  #
329
360
  # @note When making an API call, you may pass ListProfileTimesRequest
330
361
  # data as a hash:
@@ -340,24 +371,39 @@ module Aws::CodeGuruProfiler
340
371
  # }
341
372
  #
342
373
  # @!attribute [rw] end_time
343
- # The end time of the time range to list profiles until.
374
+ # The end time of the time range from which to list the profiles.
344
375
  # @return [Time]
345
376
  #
346
377
  # @!attribute [rw] max_results
347
- # Upper bound on the number of results to list in a single call.
378
+ # The maximum number of profile time results returned by
379
+ # `ListProfileTimes` in paginated output. When this parameter is used,
380
+ # `ListProfileTimes` only returns `maxResults` results in a single
381
+ # page with a `nextToken` response element. The remaining results of
382
+ # the initial request can be seen by sending another
383
+ # `ListProfileTimes` request with the returned `nextToken` value.
348
384
  # @return [Integer]
349
385
  #
350
386
  # @!attribute [rw] next_token
351
- # Token for paginating results.
387
+ # The `nextToken` value returned from a previous paginated
388
+ # `ListProfileTimes` request where `maxResults` was used and the
389
+ # results exceeded the value of that parameter. Pagination continues
390
+ # from the end of the previous results that returned the `nextToken`
391
+ # value.
392
+ #
393
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
394
+ # used to retrieve the next items in a list and not for other
395
+ # programmatic purposes.
396
+ #
397
+ # </note>
352
398
  # @return [String]
353
399
  #
354
400
  # @!attribute [rw] order_by
355
401
  # The order (ascending or descending by start time of the profile) to
356
- # list the profiles by. Defaults to TIMESTAMP\_DESCENDING.
402
+ # use when listing profiles. Defaults to `TIMESTAMP_DESCENDING`.
357
403
  # @return [String]
358
404
  #
359
405
  # @!attribute [rw] period
360
- # The aggregation period to list the profiles for.
406
+ # The aggregation period.
361
407
  # @return [String]
362
408
  #
363
409
  # @!attribute [rw] profiling_group_name
@@ -365,7 +411,7 @@ module Aws::CodeGuruProfiler
365
411
  # @return [String]
366
412
  #
367
413
  # @!attribute [rw] start_time
368
- # The start time of the time range to list the profiles from.
414
+ # The start time of the time range from which to list the profiles.
369
415
  # @return [Time]
370
416
  #
371
417
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimesRequest AWS API Documentation
@@ -381,15 +427,19 @@ module Aws::CodeGuruProfiler
381
427
  include Aws::Structure
382
428
  end
383
429
 
384
- # Response for ListProfileTimes operation.
430
+ # The structure representing the listProfileTimesResponse.
385
431
  #
386
432
  # @!attribute [rw] next_token
387
- # Token for paginating results.
433
+ # The `nextToken` value to include in a future `ListProfileTimes`
434
+ # request. When the results of a `ListProfileTimes` request exceed
435
+ # `maxResults`, this value can be used to retrieve the next page of
436
+ # results. This value is `null` when there are no more results to
437
+ # return.
388
438
  # @return [String]
389
439
  #
390
440
  # @!attribute [rw] profile_times
391
- # List of start times of the available profiles for the aggregation
392
- # period in the specified time range.
441
+ # The list of start times of the available profiles for the
442
+ # aggregation period in the specified time range.
393
443
  # @return [Array<Types::ProfileTime>]
394
444
  #
395
445
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimesResponse AWS API Documentation
@@ -400,7 +450,7 @@ module Aws::CodeGuruProfiler
400
450
  include Aws::Structure
401
451
  end
402
452
 
403
- # Request for ListProfilingGroups operation.
453
+ # The structure representing the listProfilingGroupsRequest.
404
454
  #
405
455
  # @note When making an API call, you may pass ListProfilingGroupsRequest
406
456
  # data as a hash:
@@ -412,16 +462,30 @@ module Aws::CodeGuruProfiler
412
462
  # }
413
463
  #
414
464
  # @!attribute [rw] include_description
415
- # If set to true, returns the full description of the profiling groups
416
- # instead of the names. Defaults to false.
465
+ # A Boolean value indicating whether to include a description.
417
466
  # @return [Boolean]
418
467
  #
419
468
  # @!attribute [rw] max_results
420
- # Upper bound on the number of results to list in a single call.
469
+ # The maximum number of profiling groups results returned by
470
+ # `ListProfilingGroups` in paginated output. When this parameter is
471
+ # used, `ListProfilingGroups` only returns `maxResults` results in a
472
+ # single page along with a `nextToken` response element. The remaining
473
+ # results of the initial request can be seen by sending another
474
+ # `ListProfilingGroups` request with the returned `nextToken` value.
421
475
  # @return [Integer]
422
476
  #
423
477
  # @!attribute [rw] next_token
424
- # Token for paginating results.
478
+ # The `nextToken` value returned from a previous paginated
479
+ # `ListProfilingGroups` request where `maxResults` was used and the
480
+ # results exceeded the value of that parameter. Pagination continues
481
+ # from the end of the previous results that returned the `nextToken`
482
+ # value.
483
+ #
484
+ # <note markdown="1"> This token should be treated as an opaque identifier that is only
485
+ # used to retrieve the next items in a list and not for other
486
+ # programmatic purposes.
487
+ #
488
+ # </note>
425
489
  # @return [String]
426
490
  #
427
491
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroupsRequest AWS API Documentation
@@ -433,18 +497,22 @@ module Aws::CodeGuruProfiler
433
497
  include Aws::Structure
434
498
  end
435
499
 
436
- # Response for ListProfilingGroups operation.
500
+ # The structure representing the listProfilingGroupsResponse.
437
501
  #
438
502
  # @!attribute [rw] next_token
439
- # Token for paginating results.
503
+ # The `nextToken` value to include in a future `ListProfilingGroups`
504
+ # request. When the results of a `ListProfilingGroups` request exceed
505
+ # `maxResults`, this value can be used to retrieve the next page of
506
+ # results. This value is `null` when there are no more results to
507
+ # return.
440
508
  # @return [String]
441
509
  #
442
510
  # @!attribute [rw] profiling_group_names
443
- # List of profiling group names.
511
+ # Information about profiling group names.
444
512
  # @return [Array<String>]
445
513
  #
446
514
  # @!attribute [rw] profiling_groups
447
- # List of profiling group descriptions.
515
+ # Information about profiling groups.
448
516
  # @return [Array<Types::ProfilingGroupDescription>]
449
517
  #
450
518
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroupsResponse AWS API Documentation
@@ -456,7 +524,7 @@ module Aws::CodeGuruProfiler
456
524
  include Aws::Structure
457
525
  end
458
526
 
459
- # Request for PostAgentProfile operation.
527
+ # The structure representing the postAgentProfileRequest.
460
528
  #
461
529
  # @note When making an API call, you may pass PostAgentProfileRequest
462
530
  # data as a hash:
@@ -469,26 +537,17 @@ module Aws::CodeGuruProfiler
469
537
  # }
470
538
  #
471
539
  # @!attribute [rw] agent_profile
472
- # The profile collected by an agent for a time range.
473
540
  # @return [String]
474
541
  #
475
542
  # @!attribute [rw] content_type
476
- # The content type of the agent profile in the payload. Recommended to
477
- # send the profile gzipped with content-type application/octet-stream.
478
- # Other accepted values are application/x-amzn-ion and
479
- # application/json for unzipped Ion and JSON respectively.
480
543
  # @return [String]
481
544
  #
482
545
  # @!attribute [rw] profile_token
483
- # Client generated token to deduplicate the agent profile during
484
- # aggregation.
485
- #
486
546
  # **A suitable default value is auto-generated.** You should normally
487
547
  # not need to pass this option.
488
548
  # @return [String]
489
549
  #
490
550
  # @!attribute [rw] profiling_group_name
491
- # The name of the profiling group.
492
551
  # @return [String]
493
552
  #
494
553
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfileRequest AWS API Documentation
@@ -501,14 +560,13 @@ module Aws::CodeGuruProfiler
501
560
  include Aws::Structure
502
561
  end
503
562
 
504
- # Response for PostAgentProfile operation.
563
+ # The structure representing the postAgentProfileResponse.
505
564
  #
506
565
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfileResponse AWS API Documentation
507
566
  #
508
567
  class PostAgentProfileResponse < Aws::EmptyStructure; end
509
568
 
510
- # Periods of time used for aggregation of profiles, represented using
511
- # ISO 8601 format.
569
+ # Information about the profile time.
512
570
  #
513
571
  # @!attribute [rw] start
514
572
  # The start time of the profile.
@@ -524,17 +582,15 @@ module Aws::CodeGuruProfiler
524
582
  # The description of a profiling group.
525
583
  #
526
584
  # @!attribute [rw] agent_orchestration_config
527
- # Configuration to orchestrate agents to create and report agent
528
- # profiles of the profiling group. Agents are orchestrated if they
529
- # follow the agent orchestration protocol.
530
585
  # @return [Types::AgentOrchestrationConfig]
531
586
  #
532
587
  # @!attribute [rw] arn
533
- # The ARN of the profiling group.
588
+ # The Amazon Resource Name (ARN) identifying the profiling group.
534
589
  # @return [String]
535
590
  #
536
591
  # @!attribute [rw] created_at
537
- # The timestamp of when the profiling group was created.
592
+ # The time, in milliseconds since the epoch, when the profiling group
593
+ # was created.
538
594
  # @return [Time]
539
595
  #
540
596
  # @!attribute [rw] name
@@ -542,11 +598,12 @@ module Aws::CodeGuruProfiler
542
598
  # @return [String]
543
599
  #
544
600
  # @!attribute [rw] profiling_status
545
- # The status of profiling of a profiling group.
601
+ # The status of the profiling group.
546
602
  # @return [Types::ProfilingStatus]
547
603
  #
548
604
  # @!attribute [rw] updated_at
549
- # The timestamp of when the profiling group was last updated.
605
+ # The time, in milliseconds since the epoch, when the profiling group
606
+ # was last updated.
550
607
  # @return [Time]
551
608
  #
552
609
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfilingGroupDescription AWS API Documentation
@@ -561,20 +618,20 @@ module Aws::CodeGuruProfiler
561
618
  include Aws::Structure
562
619
  end
563
620
 
564
- # The status of profiling of a profiling group.
621
+ # Information about the profiling status.
565
622
  #
566
623
  # @!attribute [rw] latest_agent_orchestrated_at
567
- # Timestamp of when the last interaction of the agent with
568
- # configureAgent API for orchestration.
624
+ # The time, in milliseconds since the epoch, when the latest agent was
625
+ # orchestrated.
569
626
  # @return [Time]
570
627
  #
571
628
  # @!attribute [rw] latest_agent_profile_reported_at
572
- # Timestamp of when the latest agent profile was successfully
573
- # reported.
629
+ # The time, in milliseconds since the epoch, when the latest agent was
630
+ # reported..
574
631
  # @return [Time]
575
632
  #
576
633
  # @!attribute [rw] latest_aggregated_profile
577
- # The time range of latest aggregated profile available.
634
+ # The latest aggregated profile
578
635
  # @return [Types::AggregatedProfileTime]
579
636
  #
580
637
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ProfilingStatus AWS API Documentation
@@ -586,7 +643,118 @@ module Aws::CodeGuruProfiler
586
643
  include Aws::Structure
587
644
  end
588
645
 
589
- # Request references a resource which does not exist.
646
+ # The structure representing the putPermissionRequest.
647
+ #
648
+ # @note When making an API call, you may pass PutPermissionRequest
649
+ # data as a hash:
650
+ #
651
+ # {
652
+ # action_group: "agentPermissions", # required, accepts agentPermissions
653
+ # principals: ["Principal"], # required
654
+ # profiling_group_name: "ProfilingGroupName", # required
655
+ # revision_id: "RevisionId",
656
+ # }
657
+ #
658
+ # @!attribute [rw] action_group
659
+ # The list of actions that the users and roles can perform on the
660
+ # profiling group.
661
+ # @return [String]
662
+ #
663
+ # @!attribute [rw] principals
664
+ # The list of role and user ARNs or the accountId that needs access
665
+ # (wildcards are not allowed).
666
+ # @return [Array<String>]
667
+ #
668
+ # @!attribute [rw] profiling_group_name
669
+ # The name of the profiling group.
670
+ # @return [String]
671
+ #
672
+ # @!attribute [rw] revision_id
673
+ # A unique identifier for the current revision of the policy. This is
674
+ # required, if a policy exists for the profiling group. This is not
675
+ # required when creating the policy for the first time.
676
+ # @return [String]
677
+ #
678
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermissionRequest AWS API Documentation
679
+ #
680
+ class PutPermissionRequest < Struct.new(
681
+ :action_group,
682
+ :principals,
683
+ :profiling_group_name,
684
+ :revision_id)
685
+ include Aws::Structure
686
+ end
687
+
688
+ # The structure representing the putPermissionResponse.
689
+ #
690
+ # @!attribute [rw] policy
691
+ # The resource-based policy.
692
+ # @return [String]
693
+ #
694
+ # @!attribute [rw] revision_id
695
+ # A unique identifier for the current revision of the policy.
696
+ # @return [String]
697
+ #
698
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermissionResponse AWS API Documentation
699
+ #
700
+ class PutPermissionResponse < Struct.new(
701
+ :policy,
702
+ :revision_id)
703
+ include Aws::Structure
704
+ end
705
+
706
+ # The structure representing the removePermissionRequest.
707
+ #
708
+ # @note When making an API call, you may pass RemovePermissionRequest
709
+ # data as a hash:
710
+ #
711
+ # {
712
+ # action_group: "agentPermissions", # required, accepts agentPermissions
713
+ # profiling_group_name: "ProfilingGroupName", # required
714
+ # revision_id: "RevisionId", # required
715
+ # }
716
+ #
717
+ # @!attribute [rw] action_group
718
+ # The list of actions that the users and roles can perform on the
719
+ # profiling group.
720
+ # @return [String]
721
+ #
722
+ # @!attribute [rw] profiling_group_name
723
+ # The name of the profiling group.
724
+ # @return [String]
725
+ #
726
+ # @!attribute [rw] revision_id
727
+ # A unique identifier for the current revision of the policy.
728
+ # @return [String]
729
+ #
730
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermissionRequest AWS API Documentation
731
+ #
732
+ class RemovePermissionRequest < Struct.new(
733
+ :action_group,
734
+ :profiling_group_name,
735
+ :revision_id)
736
+ include Aws::Structure
737
+ end
738
+
739
+ # The structure representing the removePermissionResponse.
740
+ #
741
+ # @!attribute [rw] policy
742
+ # The resource-based policy.
743
+ # @return [String]
744
+ #
745
+ # @!attribute [rw] revision_id
746
+ # A unique identifier for the current revision of the policy.
747
+ # @return [String]
748
+ #
749
+ # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermissionResponse AWS API Documentation
750
+ #
751
+ class RemovePermissionResponse < Struct.new(
752
+ :policy,
753
+ :revision_id)
754
+ include Aws::Structure
755
+ end
756
+
757
+ # The resource specified in the request does not exist.
590
758
  #
591
759
  # @!attribute [rw] message
592
760
  # @return [String]
@@ -598,7 +766,13 @@ module Aws::CodeGuruProfiler
598
766
  include Aws::Structure
599
767
  end
600
768
 
601
- # Request would cause a service quota to be exceeded.
769
+ # You have exceeded your service quota. To perform the requested action,
770
+ # remove some of the relevant resources, or use [Service Quotas][1] to
771
+ # request a service quota increase.
772
+ #
773
+ #
774
+ #
775
+ # [1]: https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html
602
776
  #
603
777
  # @!attribute [rw] message
604
778
  # @return [String]
@@ -610,7 +784,7 @@ module Aws::CodeGuruProfiler
610
784
  include Aws::Structure
611
785
  end
612
786
 
613
- # Request was denied due to request throttling.
787
+ # The request was denied due to request throttling.
614
788
  #
615
789
  # @!attribute [rw] message
616
790
  # @return [String]
@@ -622,7 +796,7 @@ module Aws::CodeGuruProfiler
622
796
  include Aws::Structure
623
797
  end
624
798
 
625
- # Request for UpdateProfilingGroup operation.
799
+ # The structure representing the updateProfilingGroupRequest.
626
800
  #
627
801
  # @note When making an API call, you may pass UpdateProfilingGroupRequest
628
802
  # data as a hash:
@@ -635,11 +809,10 @@ module Aws::CodeGuruProfiler
635
809
  # }
636
810
  #
637
811
  # @!attribute [rw] agent_orchestration_config
638
- # Remote configuration to configure the agents of the profiling group.
639
812
  # @return [Types::AgentOrchestrationConfig]
640
813
  #
641
814
  # @!attribute [rw] profiling_group_name
642
- # The name of the profiling group.
815
+ # The name of the profiling group to update.
643
816
  # @return [String]
644
817
  #
645
818
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroupRequest AWS API Documentation
@@ -650,10 +823,10 @@ module Aws::CodeGuruProfiler
650
823
  include Aws::Structure
651
824
  end
652
825
 
653
- # Response for UpdateProfilingGroup operation.
826
+ # The structure representing the updateProfilingGroupResponse.
654
827
  #
655
828
  # @!attribute [rw] profiling_group
656
- # The description of a profiling group.
829
+ # Updated information about the profiling group.
657
830
  # @return [Types::ProfilingGroupDescription]
658
831
  #
659
832
  # @see http://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroupResponse AWS API Documentation
@@ -663,7 +836,7 @@ module Aws::CodeGuruProfiler
663
836
  include Aws::Structure
664
837
  end
665
838
 
666
- # The input fails to satisfy the constraints of the API.
839
+ # The parameter is not valid.
667
840
  #
668
841
  # @!attribute [rw] message
669
842
  # @return [String]