Skip to content

Commit af6a835

Browse files
author
AWS
committed
Amazon CodeGuru Profiler Update: CodeGuruProfiler adds support for resource based authorization to submit profile data.
1 parent d53c7cb commit af6a835

File tree

3 files changed

+202
-1
lines changed

3 files changed

+202
-1
lines changed
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
{
2+
"type": "feature",
3+
"category": "Amazon CodeGuru Profiler",
4+
"description": "CodeGuruProfiler adds support for resource based authorization to submit profile data."
5+
}

services/codeguruprofiler/src/main/resources/codegen-resources/paginators-1.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
"ListProfileTimes": {
44
"input_token": "nextToken",
55
"output_token": "nextToken",
6-
"limit_key": "maxResults"
6+
"limit_key": "maxResults",
7+
"result_key": "profileTimes"
78
},
89
"ListProfilingGroups": {
910
"input_token": "nextToken",

services/codeguruprofiler/src/main/resources/codegen-resources/service-2.json

Lines changed: 195 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -83,6 +83,22 @@
8383
],
8484
"documentation":"<p>Describes a profiling group.</p>"
8585
},
86+
"GetPolicy":{
87+
"name":"GetPolicy",
88+
"http":{
89+
"method":"GET",
90+
"requestUri":"/profilingGroups/{profilingGroupName}/policy",
91+
"responseCode":200
92+
},
93+
"input":{"shape":"GetPolicyRequest"},
94+
"output":{"shape":"GetPolicyResponse"},
95+
"errors":[
96+
{"shape":"InternalServerException"},
97+
{"shape":"ThrottlingException"},
98+
{"shape":"ResourceNotFoundException"}
99+
],
100+
"documentation":"<p>Gets the profiling group policy.</p>"
101+
},
86102
"GetProfile":{
87103
"name":"GetProfile",
88104
"http":{
@@ -149,6 +165,43 @@
149165
],
150166
"documentation":"<p/>"
151167
},
168+
"PutPermission":{
169+
"name":"PutPermission",
170+
"http":{
171+
"method":"PUT",
172+
"requestUri":"/profilingGroups/{profilingGroupName}/policy/{actionGroup}",
173+
"responseCode":200
174+
},
175+
"input":{"shape":"PutPermissionRequest"},
176+
"output":{"shape":"PutPermissionResponse"},
177+
"errors":[
178+
{"shape":"InternalServerException"},
179+
{"shape":"ConflictException"},
180+
{"shape":"ValidationException"},
181+
{"shape":"ThrottlingException"},
182+
{"shape":"ResourceNotFoundException"}
183+
],
184+
"documentation":"<p>Provides permission to the principals. This overwrites the existing permissions, and is not additive.</p>",
185+
"idempotent":true
186+
},
187+
"RemovePermission":{
188+
"name":"RemovePermission",
189+
"http":{
190+
"method":"DELETE",
191+
"requestUri":"/profilingGroups/{profilingGroupName}/policy/{actionGroup}",
192+
"responseCode":200
193+
},
194+
"input":{"shape":"RemovePermissionRequest"},
195+
"output":{"shape":"RemovePermissionResponse"},
196+
"errors":[
197+
{"shape":"InternalServerException"},
198+
{"shape":"ConflictException"},
199+
{"shape":"ValidationException"},
200+
{"shape":"ThrottlingException"},
201+
{"shape":"ResourceNotFoundException"}
202+
],
203+
"documentation":"<p>Removes statement for the provided action group from the policy.</p>"
204+
},
152205
"UpdateProfilingGroup":{
153206
"name":"UpdateProfilingGroup",
154207
"http":{
@@ -170,6 +223,10 @@
170223
}
171224
},
172225
"shapes":{
226+
"ActionGroup":{
227+
"type":"string",
228+
"enum":["agentPermissions"]
229+
},
173230
"AgentConfiguration":{
174231
"type":"structure",
175232
"required":[
@@ -362,6 +419,37 @@
362419
"min":1,
363420
"pattern":"^[\\w-.:/]+$"
364421
},
422+
"GetPolicyRequest":{
423+
"type":"structure",
424+
"required":["profilingGroupName"],
425+
"members":{
426+
"profilingGroupName":{
427+
"shape":"ProfilingGroupName",
428+
"documentation":"<p>The name of the profiling group.</p>",
429+
"location":"uri",
430+
"locationName":"profilingGroupName"
431+
}
432+
},
433+
"documentation":"<p>The structure representing the getPolicyRequest.</p>"
434+
},
435+
"GetPolicyResponse":{
436+
"type":"structure",
437+
"required":[
438+
"policy",
439+
"revisionId"
440+
],
441+
"members":{
442+
"policy":{
443+
"shape":"String",
444+
"documentation":"<p>The resource-based policy attached to the <code>ProfilingGroup</code>.</p>"
445+
},
446+
"revisionId":{
447+
"shape":"RevisionId",
448+
"documentation":"<p>A unique identifier for the current revision of the policy.</p>"
449+
}
450+
},
451+
"documentation":"<p>The structure representing the getPolicyResponse.</p>"
452+
},
365453
"GetProfileRequest":{
366454
"type":"structure",
367455
"required":["profilingGroupName"],
@@ -630,6 +718,13 @@
630718
},
631719
"documentation":"<p>The structure representing the postAgentProfileResponse.</p>"
632720
},
721+
"Principal":{"type":"string"},
722+
"Principals":{
723+
"type":"list",
724+
"member":{"shape":"Principal"},
725+
"max":50,
726+
"min":1
727+
},
633728
"ProfileTime":{
634729
"type":"structure",
635730
"members":{
@@ -707,6 +802,102 @@
707802
},
708803
"documentation":"<p>Information about the profiling status.</p>"
709804
},
805+
"PutPermissionRequest":{
806+
"type":"structure",
807+
"required":[
808+
"actionGroup",
809+
"principals",
810+
"profilingGroupName"
811+
],
812+
"members":{
813+
"actionGroup":{
814+
"shape":"ActionGroup",
815+
"documentation":"<p>The list of actions that the users and roles can perform on the profiling group.</p>",
816+
"location":"uri",
817+
"locationName":"actionGroup"
818+
},
819+
"principals":{
820+
"shape":"Principals",
821+
"documentation":"<p>The list of role and user ARNs or the accountId that needs access (wildcards are not allowed).</p>"
822+
},
823+
"profilingGroupName":{
824+
"shape":"ProfilingGroupName",
825+
"documentation":"<p>The name of the profiling group.</p>",
826+
"location":"uri",
827+
"locationName":"profilingGroupName"
828+
},
829+
"revisionId":{
830+
"shape":"RevisionId",
831+
"documentation":"<p>A unique identifier for the current revision of the policy. This is required, if a policy exists for the profiling group. This is not required when creating the policy for the first time.</p>"
832+
}
833+
},
834+
"documentation":"<p>The structure representing the putPermissionRequest.</p>"
835+
},
836+
"PutPermissionResponse":{
837+
"type":"structure",
838+
"required":[
839+
"policy",
840+
"revisionId"
841+
],
842+
"members":{
843+
"policy":{
844+
"shape":"String",
845+
"documentation":"<p>The resource-based policy.</p>"
846+
},
847+
"revisionId":{
848+
"shape":"RevisionId",
849+
"documentation":"<p>A unique identifier for the current revision of the policy.</p>"
850+
}
851+
},
852+
"documentation":"<p>The structure representing the putPermissionResponse.</p>"
853+
},
854+
"RemovePermissionRequest":{
855+
"type":"structure",
856+
"required":[
857+
"actionGroup",
858+
"profilingGroupName",
859+
"revisionId"
860+
],
861+
"members":{
862+
"actionGroup":{
863+
"shape":"ActionGroup",
864+
"documentation":"<p>The list of actions that the users and roles can perform on the profiling group.</p>",
865+
"location":"uri",
866+
"locationName":"actionGroup"
867+
},
868+
"profilingGroupName":{
869+
"shape":"ProfilingGroupName",
870+
"documentation":"<p>The name of the profiling group.</p>",
871+
"location":"uri",
872+
"locationName":"profilingGroupName"
873+
},
874+
"revisionId":{
875+
"shape":"RevisionId",
876+
"documentation":"<p>A unique identifier for the current revision of the policy.</p>",
877+
"location":"querystring",
878+
"locationName":"revisionId"
879+
}
880+
},
881+
"documentation":"<p>The structure representing the removePermissionRequest.</p>"
882+
},
883+
"RemovePermissionResponse":{
884+
"type":"structure",
885+
"required":[
886+
"policy",
887+
"revisionId"
888+
],
889+
"members":{
890+
"policy":{
891+
"shape":"String",
892+
"documentation":"<p>The resource-based policy.</p>"
893+
},
894+
"revisionId":{
895+
"shape":"RevisionId",
896+
"documentation":"<p>A unique identifier for the current revision of the policy.</p>"
897+
}
898+
},
899+
"documentation":"<p>The structure representing the removePermissionResponse.</p>"
900+
},
710901
"ResourceNotFoundException":{
711902
"type":"structure",
712903
"required":["message"],
@@ -720,6 +911,10 @@
720911
},
721912
"exception":true
722913
},
914+
"RevisionId":{
915+
"type":"string",
916+
"pattern":"[a-f0-9]{8}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{4}-[a-f0-9]{12}"
917+
},
723918
"ServiceQuotaExceededException":{
724919
"type":"structure",
725920
"required":["message"],

0 commit comments

Comments
 (0)