1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package codeguruprofiler 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/restjson" 14) 15 16const opAddNotificationChannels = "AddNotificationChannels" 17 18// AddNotificationChannelsRequest generates a "aws/request.Request" representing the 19// client's request for the AddNotificationChannels operation. The "output" return 20// value will be populated with the request's response once the request completes 21// successfully. 22// 23// Use "Send" method on the returned Request to send the API call to the service. 24// the "output" return value is not valid until after Send returns without error. 25// 26// See AddNotificationChannels for more information on using the AddNotificationChannels 27// API call, and error handling. 28// 29// This method is useful when you want to inject custom logic or configuration 30// into the SDK's request lifecycle. Such as custom headers, or retry logic. 31// 32// 33// // Example sending a request using the AddNotificationChannelsRequest method. 34// req, resp := client.AddNotificationChannelsRequest(params) 35// 36// err := req.Send() 37// if err == nil { // resp is now filled 38// fmt.Println(resp) 39// } 40// 41// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AddNotificationChannels 42func (c *CodeGuruProfiler) AddNotificationChannelsRequest(input *AddNotificationChannelsInput) (req *request.Request, output *AddNotificationChannelsOutput) { 43 op := &request.Operation{ 44 Name: opAddNotificationChannels, 45 HTTPMethod: "POST", 46 HTTPPath: "/profilingGroups/{profilingGroupName}/notificationConfiguration", 47 } 48 49 if input == nil { 50 input = &AddNotificationChannelsInput{} 51 } 52 53 output = &AddNotificationChannelsOutput{} 54 req = c.newRequest(op, input, output) 55 return 56} 57 58// AddNotificationChannels API operation for Amazon CodeGuru Profiler. 59// 60// Add up to 2 anomaly notifications channels for a profiling group. 61// 62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 63// with awserr.Error's Code and Message methods to get detailed information about 64// the error. 65// 66// See the AWS API reference guide for Amazon CodeGuru Profiler's 67// API operation AddNotificationChannels for usage and error information. 68// 69// Returned Error Types: 70// * ServiceQuotaExceededException 71// You have exceeded your service quota. To perform the requested action, remove 72// some of the relevant resources, or use Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) 73// to request a service quota increase. 74// 75// * InternalServerException 76// The server encountered an internal error and is unable to complete the request. 77// 78// * ConflictException 79// The requested operation would cause a conflict with the current state of 80// a service resource associated with the request. Resolve the conflict before 81// retrying this request. 82// 83// * ValidationException 84// The parameter is not valid. 85// 86// * ThrottlingException 87// The request was denied due to request throttling. 88// 89// * ResourceNotFoundException 90// The resource specified in the request does not exist. 91// 92// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/AddNotificationChannels 93func (c *CodeGuruProfiler) AddNotificationChannels(input *AddNotificationChannelsInput) (*AddNotificationChannelsOutput, error) { 94 req, out := c.AddNotificationChannelsRequest(input) 95 return out, req.Send() 96} 97 98// AddNotificationChannelsWithContext is the same as AddNotificationChannels with the addition of 99// the ability to pass a context and additional request options. 100// 101// See AddNotificationChannels for details on how to use this API operation. 102// 103// The context must be non-nil and will be used for request cancellation. If 104// the context is nil a panic will occur. In the future the SDK may create 105// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 106// for more information on using Contexts. 107func (c *CodeGuruProfiler) AddNotificationChannelsWithContext(ctx aws.Context, input *AddNotificationChannelsInput, opts ...request.Option) (*AddNotificationChannelsOutput, error) { 108 req, out := c.AddNotificationChannelsRequest(input) 109 req.SetContext(ctx) 110 req.ApplyOptions(opts...) 111 return out, req.Send() 112} 113 114const opBatchGetFrameMetricData = "BatchGetFrameMetricData" 115 116// BatchGetFrameMetricDataRequest generates a "aws/request.Request" representing the 117// client's request for the BatchGetFrameMetricData operation. The "output" return 118// value will be populated with the request's response once the request completes 119// successfully. 120// 121// Use "Send" method on the returned Request to send the API call to the service. 122// the "output" return value is not valid until after Send returns without error. 123// 124// See BatchGetFrameMetricData for more information on using the BatchGetFrameMetricData 125// API call, and error handling. 126// 127// This method is useful when you want to inject custom logic or configuration 128// into the SDK's request lifecycle. Such as custom headers, or retry logic. 129// 130// 131// // Example sending a request using the BatchGetFrameMetricDataRequest method. 132// req, resp := client.BatchGetFrameMetricDataRequest(params) 133// 134// err := req.Send() 135// if err == nil { // resp is now filled 136// fmt.Println(resp) 137// } 138// 139// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricData 140func (c *CodeGuruProfiler) BatchGetFrameMetricDataRequest(input *BatchGetFrameMetricDataInput) (req *request.Request, output *BatchGetFrameMetricDataOutput) { 141 op := &request.Operation{ 142 Name: opBatchGetFrameMetricData, 143 HTTPMethod: "POST", 144 HTTPPath: "/profilingGroups/{profilingGroupName}/frames/-/metrics", 145 } 146 147 if input == nil { 148 input = &BatchGetFrameMetricDataInput{} 149 } 150 151 output = &BatchGetFrameMetricDataOutput{} 152 req = c.newRequest(op, input, output) 153 return 154} 155 156// BatchGetFrameMetricData API operation for Amazon CodeGuru Profiler. 157// 158// Returns the time series of values for a requested list of frame metrics from 159// a time period. 160// 161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 162// with awserr.Error's Code and Message methods to get detailed information about 163// the error. 164// 165// See the AWS API reference guide for Amazon CodeGuru Profiler's 166// API operation BatchGetFrameMetricData for usage and error information. 167// 168// Returned Error Types: 169// * InternalServerException 170// The server encountered an internal error and is unable to complete the request. 171// 172// * ValidationException 173// The parameter is not valid. 174// 175// * ThrottlingException 176// The request was denied due to request throttling. 177// 178// * ResourceNotFoundException 179// The resource specified in the request does not exist. 180// 181// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/BatchGetFrameMetricData 182func (c *CodeGuruProfiler) BatchGetFrameMetricData(input *BatchGetFrameMetricDataInput) (*BatchGetFrameMetricDataOutput, error) { 183 req, out := c.BatchGetFrameMetricDataRequest(input) 184 return out, req.Send() 185} 186 187// BatchGetFrameMetricDataWithContext is the same as BatchGetFrameMetricData with the addition of 188// the ability to pass a context and additional request options. 189// 190// See BatchGetFrameMetricData for details on how to use this API operation. 191// 192// The context must be non-nil and will be used for request cancellation. If 193// the context is nil a panic will occur. In the future the SDK may create 194// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 195// for more information on using Contexts. 196func (c *CodeGuruProfiler) BatchGetFrameMetricDataWithContext(ctx aws.Context, input *BatchGetFrameMetricDataInput, opts ...request.Option) (*BatchGetFrameMetricDataOutput, error) { 197 req, out := c.BatchGetFrameMetricDataRequest(input) 198 req.SetContext(ctx) 199 req.ApplyOptions(opts...) 200 return out, req.Send() 201} 202 203const opConfigureAgent = "ConfigureAgent" 204 205// ConfigureAgentRequest generates a "aws/request.Request" representing the 206// client's request for the ConfigureAgent operation. The "output" return 207// value will be populated with the request's response once the request completes 208// successfully. 209// 210// Use "Send" method on the returned Request to send the API call to the service. 211// the "output" return value is not valid until after Send returns without error. 212// 213// See ConfigureAgent for more information on using the ConfigureAgent 214// API call, and error handling. 215// 216// This method is useful when you want to inject custom logic or configuration 217// into the SDK's request lifecycle. Such as custom headers, or retry logic. 218// 219// 220// // Example sending a request using the ConfigureAgentRequest method. 221// req, resp := client.ConfigureAgentRequest(params) 222// 223// err := req.Send() 224// if err == nil { // resp is now filled 225// fmt.Println(resp) 226// } 227// 228// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgent 229func (c *CodeGuruProfiler) ConfigureAgentRequest(input *ConfigureAgentInput) (req *request.Request, output *ConfigureAgentOutput) { 230 op := &request.Operation{ 231 Name: opConfigureAgent, 232 HTTPMethod: "POST", 233 HTTPPath: "/profilingGroups/{profilingGroupName}/configureAgent", 234 } 235 236 if input == nil { 237 input = &ConfigureAgentInput{} 238 } 239 240 output = &ConfigureAgentOutput{} 241 req = c.newRequest(op, input, output) 242 return 243} 244 245// ConfigureAgent API operation for Amazon CodeGuru Profiler. 246// 247// Used by profiler agents to report their current state and to receive remote 248// configuration updates. For example, ConfigureAgent can be used to tell an 249// agent whether to profile or not and for how long to return profiling data. 250// 251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 252// with awserr.Error's Code and Message methods to get detailed information about 253// the error. 254// 255// See the AWS API reference guide for Amazon CodeGuru Profiler's 256// API operation ConfigureAgent for usage and error information. 257// 258// Returned Error Types: 259// * InternalServerException 260// The server encountered an internal error and is unable to complete the request. 261// 262// * ValidationException 263// The parameter is not valid. 264// 265// * ThrottlingException 266// The request was denied due to request throttling. 267// 268// * ResourceNotFoundException 269// The resource specified in the request does not exist. 270// 271// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ConfigureAgent 272func (c *CodeGuruProfiler) ConfigureAgent(input *ConfigureAgentInput) (*ConfigureAgentOutput, error) { 273 req, out := c.ConfigureAgentRequest(input) 274 return out, req.Send() 275} 276 277// ConfigureAgentWithContext is the same as ConfigureAgent with the addition of 278// the ability to pass a context and additional request options. 279// 280// See ConfigureAgent for details on how to use this API operation. 281// 282// The context must be non-nil and will be used for request cancellation. If 283// the context is nil a panic will occur. In the future the SDK may create 284// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 285// for more information on using Contexts. 286func (c *CodeGuruProfiler) ConfigureAgentWithContext(ctx aws.Context, input *ConfigureAgentInput, opts ...request.Option) (*ConfigureAgentOutput, error) { 287 req, out := c.ConfigureAgentRequest(input) 288 req.SetContext(ctx) 289 req.ApplyOptions(opts...) 290 return out, req.Send() 291} 292 293const opCreateProfilingGroup = "CreateProfilingGroup" 294 295// CreateProfilingGroupRequest generates a "aws/request.Request" representing the 296// client's request for the CreateProfilingGroup operation. The "output" return 297// value will be populated with the request's response once the request completes 298// successfully. 299// 300// Use "Send" method on the returned Request to send the API call to the service. 301// the "output" return value is not valid until after Send returns without error. 302// 303// See CreateProfilingGroup for more information on using the CreateProfilingGroup 304// API call, and error handling. 305// 306// This method is useful when you want to inject custom logic or configuration 307// into the SDK's request lifecycle. Such as custom headers, or retry logic. 308// 309// 310// // Example sending a request using the CreateProfilingGroupRequest method. 311// req, resp := client.CreateProfilingGroupRequest(params) 312// 313// err := req.Send() 314// if err == nil { // resp is now filled 315// fmt.Println(resp) 316// } 317// 318// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroup 319func (c *CodeGuruProfiler) CreateProfilingGroupRequest(input *CreateProfilingGroupInput) (req *request.Request, output *CreateProfilingGroupOutput) { 320 op := &request.Operation{ 321 Name: opCreateProfilingGroup, 322 HTTPMethod: "POST", 323 HTTPPath: "/profilingGroups", 324 } 325 326 if input == nil { 327 input = &CreateProfilingGroupInput{} 328 } 329 330 output = &CreateProfilingGroupOutput{} 331 req = c.newRequest(op, input, output) 332 return 333} 334 335// CreateProfilingGroup API operation for Amazon CodeGuru Profiler. 336// 337// Creates a profiling group. 338// 339// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 340// with awserr.Error's Code and Message methods to get detailed information about 341// the error. 342// 343// See the AWS API reference guide for Amazon CodeGuru Profiler's 344// API operation CreateProfilingGroup for usage and error information. 345// 346// Returned Error Types: 347// * ServiceQuotaExceededException 348// You have exceeded your service quota. To perform the requested action, remove 349// some of the relevant resources, or use Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) 350// to request a service quota increase. 351// 352// * InternalServerException 353// The server encountered an internal error and is unable to complete the request. 354// 355// * ConflictException 356// The requested operation would cause a conflict with the current state of 357// a service resource associated with the request. Resolve the conflict before 358// retrying this request. 359// 360// * ValidationException 361// The parameter is not valid. 362// 363// * ThrottlingException 364// The request was denied due to request throttling. 365// 366// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/CreateProfilingGroup 367func (c *CodeGuruProfiler) CreateProfilingGroup(input *CreateProfilingGroupInput) (*CreateProfilingGroupOutput, error) { 368 req, out := c.CreateProfilingGroupRequest(input) 369 return out, req.Send() 370} 371 372// CreateProfilingGroupWithContext is the same as CreateProfilingGroup with the addition of 373// the ability to pass a context and additional request options. 374// 375// See CreateProfilingGroup for details on how to use this API operation. 376// 377// The context must be non-nil and will be used for request cancellation. If 378// the context is nil a panic will occur. In the future the SDK may create 379// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 380// for more information on using Contexts. 381func (c *CodeGuruProfiler) CreateProfilingGroupWithContext(ctx aws.Context, input *CreateProfilingGroupInput, opts ...request.Option) (*CreateProfilingGroupOutput, error) { 382 req, out := c.CreateProfilingGroupRequest(input) 383 req.SetContext(ctx) 384 req.ApplyOptions(opts...) 385 return out, req.Send() 386} 387 388const opDeleteProfilingGroup = "DeleteProfilingGroup" 389 390// DeleteProfilingGroupRequest generates a "aws/request.Request" representing the 391// client's request for the DeleteProfilingGroup operation. The "output" return 392// value will be populated with the request's response once the request completes 393// successfully. 394// 395// Use "Send" method on the returned Request to send the API call to the service. 396// the "output" return value is not valid until after Send returns without error. 397// 398// See DeleteProfilingGroup for more information on using the DeleteProfilingGroup 399// API call, and error handling. 400// 401// This method is useful when you want to inject custom logic or configuration 402// into the SDK's request lifecycle. Such as custom headers, or retry logic. 403// 404// 405// // Example sending a request using the DeleteProfilingGroupRequest method. 406// req, resp := client.DeleteProfilingGroupRequest(params) 407// 408// err := req.Send() 409// if err == nil { // resp is now filled 410// fmt.Println(resp) 411// } 412// 413// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroup 414func (c *CodeGuruProfiler) DeleteProfilingGroupRequest(input *DeleteProfilingGroupInput) (req *request.Request, output *DeleteProfilingGroupOutput) { 415 op := &request.Operation{ 416 Name: opDeleteProfilingGroup, 417 HTTPMethod: "DELETE", 418 HTTPPath: "/profilingGroups/{profilingGroupName}", 419 } 420 421 if input == nil { 422 input = &DeleteProfilingGroupInput{} 423 } 424 425 output = &DeleteProfilingGroupOutput{} 426 req = c.newRequest(op, input, output) 427 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 428 return 429} 430 431// DeleteProfilingGroup API operation for Amazon CodeGuru Profiler. 432// 433// Deletes a profiling group. 434// 435// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 436// with awserr.Error's Code and Message methods to get detailed information about 437// the error. 438// 439// See the AWS API reference guide for Amazon CodeGuru Profiler's 440// API operation DeleteProfilingGroup for usage and error information. 441// 442// Returned Error Types: 443// * InternalServerException 444// The server encountered an internal error and is unable to complete the request. 445// 446// * ConflictException 447// The requested operation would cause a conflict with the current state of 448// a service resource associated with the request. Resolve the conflict before 449// retrying this request. 450// 451// * ValidationException 452// The parameter is not valid. 453// 454// * ThrottlingException 455// The request was denied due to request throttling. 456// 457// * ResourceNotFoundException 458// The resource specified in the request does not exist. 459// 460// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DeleteProfilingGroup 461func (c *CodeGuruProfiler) DeleteProfilingGroup(input *DeleteProfilingGroupInput) (*DeleteProfilingGroupOutput, error) { 462 req, out := c.DeleteProfilingGroupRequest(input) 463 return out, req.Send() 464} 465 466// DeleteProfilingGroupWithContext is the same as DeleteProfilingGroup with the addition of 467// the ability to pass a context and additional request options. 468// 469// See DeleteProfilingGroup for details on how to use this API operation. 470// 471// The context must be non-nil and will be used for request cancellation. If 472// the context is nil a panic will occur. In the future the SDK may create 473// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 474// for more information on using Contexts. 475func (c *CodeGuruProfiler) DeleteProfilingGroupWithContext(ctx aws.Context, input *DeleteProfilingGroupInput, opts ...request.Option) (*DeleteProfilingGroupOutput, error) { 476 req, out := c.DeleteProfilingGroupRequest(input) 477 req.SetContext(ctx) 478 req.ApplyOptions(opts...) 479 return out, req.Send() 480} 481 482const opDescribeProfilingGroup = "DescribeProfilingGroup" 483 484// DescribeProfilingGroupRequest generates a "aws/request.Request" representing the 485// client's request for the DescribeProfilingGroup operation. The "output" return 486// value will be populated with the request's response once the request completes 487// successfully. 488// 489// Use "Send" method on the returned Request to send the API call to the service. 490// the "output" return value is not valid until after Send returns without error. 491// 492// See DescribeProfilingGroup for more information on using the DescribeProfilingGroup 493// API call, and error handling. 494// 495// This method is useful when you want to inject custom logic or configuration 496// into the SDK's request lifecycle. Such as custom headers, or retry logic. 497// 498// 499// // Example sending a request using the DescribeProfilingGroupRequest method. 500// req, resp := client.DescribeProfilingGroupRequest(params) 501// 502// err := req.Send() 503// if err == nil { // resp is now filled 504// fmt.Println(resp) 505// } 506// 507// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroup 508func (c *CodeGuruProfiler) DescribeProfilingGroupRequest(input *DescribeProfilingGroupInput) (req *request.Request, output *DescribeProfilingGroupOutput) { 509 op := &request.Operation{ 510 Name: opDescribeProfilingGroup, 511 HTTPMethod: "GET", 512 HTTPPath: "/profilingGroups/{profilingGroupName}", 513 } 514 515 if input == nil { 516 input = &DescribeProfilingGroupInput{} 517 } 518 519 output = &DescribeProfilingGroupOutput{} 520 req = c.newRequest(op, input, output) 521 return 522} 523 524// DescribeProfilingGroup API operation for Amazon CodeGuru Profiler. 525// 526// Returns a ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 527// object that contains information about the requested profiling group. 528// 529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 530// with awserr.Error's Code and Message methods to get detailed information about 531// the error. 532// 533// See the AWS API reference guide for Amazon CodeGuru Profiler's 534// API operation DescribeProfilingGroup for usage and error information. 535// 536// Returned Error Types: 537// * InternalServerException 538// The server encountered an internal error and is unable to complete the request. 539// 540// * ValidationException 541// The parameter is not valid. 542// 543// * ThrottlingException 544// The request was denied due to request throttling. 545// 546// * ResourceNotFoundException 547// The resource specified in the request does not exist. 548// 549// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/DescribeProfilingGroup 550func (c *CodeGuruProfiler) DescribeProfilingGroup(input *DescribeProfilingGroupInput) (*DescribeProfilingGroupOutput, error) { 551 req, out := c.DescribeProfilingGroupRequest(input) 552 return out, req.Send() 553} 554 555// DescribeProfilingGroupWithContext is the same as DescribeProfilingGroup with the addition of 556// the ability to pass a context and additional request options. 557// 558// See DescribeProfilingGroup for details on how to use this API operation. 559// 560// The context must be non-nil and will be used for request cancellation. If 561// the context is nil a panic will occur. In the future the SDK may create 562// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 563// for more information on using Contexts. 564func (c *CodeGuruProfiler) DescribeProfilingGroupWithContext(ctx aws.Context, input *DescribeProfilingGroupInput, opts ...request.Option) (*DescribeProfilingGroupOutput, error) { 565 req, out := c.DescribeProfilingGroupRequest(input) 566 req.SetContext(ctx) 567 req.ApplyOptions(opts...) 568 return out, req.Send() 569} 570 571const opGetFindingsReportAccountSummary = "GetFindingsReportAccountSummary" 572 573// GetFindingsReportAccountSummaryRequest generates a "aws/request.Request" representing the 574// client's request for the GetFindingsReportAccountSummary operation. The "output" return 575// value will be populated with the request's response once the request completes 576// successfully. 577// 578// Use "Send" method on the returned Request to send the API call to the service. 579// the "output" return value is not valid until after Send returns without error. 580// 581// See GetFindingsReportAccountSummary for more information on using the GetFindingsReportAccountSummary 582// API call, and error handling. 583// 584// This method is useful when you want to inject custom logic or configuration 585// into the SDK's request lifecycle. Such as custom headers, or retry logic. 586// 587// 588// // Example sending a request using the GetFindingsReportAccountSummaryRequest method. 589// req, resp := client.GetFindingsReportAccountSummaryRequest(params) 590// 591// err := req.Send() 592// if err == nil { // resp is now filled 593// fmt.Println(resp) 594// } 595// 596// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummary 597func (c *CodeGuruProfiler) GetFindingsReportAccountSummaryRequest(input *GetFindingsReportAccountSummaryInput) (req *request.Request, output *GetFindingsReportAccountSummaryOutput) { 598 op := &request.Operation{ 599 Name: opGetFindingsReportAccountSummary, 600 HTTPMethod: "GET", 601 HTTPPath: "/internal/findingsReports", 602 Paginator: &request.Paginator{ 603 InputTokens: []string{"nextToken"}, 604 OutputTokens: []string{"nextToken"}, 605 LimitToken: "maxResults", 606 TruncationToken: "", 607 }, 608 } 609 610 if input == nil { 611 input = &GetFindingsReportAccountSummaryInput{} 612 } 613 614 output = &GetFindingsReportAccountSummaryOutput{} 615 req = c.newRequest(op, input, output) 616 return 617} 618 619// GetFindingsReportAccountSummary API operation for Amazon CodeGuru Profiler. 620// 621// Returns a list of FindingsReportSummary (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html) 622// objects that contain analysis results for all profiling groups in your AWS 623// account. 624// 625// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 626// with awserr.Error's Code and Message methods to get detailed information about 627// the error. 628// 629// See the AWS API reference guide for Amazon CodeGuru Profiler's 630// API operation GetFindingsReportAccountSummary for usage and error information. 631// 632// Returned Error Types: 633// * InternalServerException 634// The server encountered an internal error and is unable to complete the request. 635// 636// * ValidationException 637// The parameter is not valid. 638// 639// * ThrottlingException 640// The request was denied due to request throttling. 641// 642// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetFindingsReportAccountSummary 643func (c *CodeGuruProfiler) GetFindingsReportAccountSummary(input *GetFindingsReportAccountSummaryInput) (*GetFindingsReportAccountSummaryOutput, error) { 644 req, out := c.GetFindingsReportAccountSummaryRequest(input) 645 return out, req.Send() 646} 647 648// GetFindingsReportAccountSummaryWithContext is the same as GetFindingsReportAccountSummary with the addition of 649// the ability to pass a context and additional request options. 650// 651// See GetFindingsReportAccountSummary for details on how to use this API operation. 652// 653// The context must be non-nil and will be used for request cancellation. If 654// the context is nil a panic will occur. In the future the SDK may create 655// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 656// for more information on using Contexts. 657func (c *CodeGuruProfiler) GetFindingsReportAccountSummaryWithContext(ctx aws.Context, input *GetFindingsReportAccountSummaryInput, opts ...request.Option) (*GetFindingsReportAccountSummaryOutput, error) { 658 req, out := c.GetFindingsReportAccountSummaryRequest(input) 659 req.SetContext(ctx) 660 req.ApplyOptions(opts...) 661 return out, req.Send() 662} 663 664// GetFindingsReportAccountSummaryPages iterates over the pages of a GetFindingsReportAccountSummary operation, 665// calling the "fn" function with the response data for each page. To stop 666// iterating, return false from the fn function. 667// 668// See GetFindingsReportAccountSummary method for more information on how to use this operation. 669// 670// Note: This operation can generate multiple requests to a service. 671// 672// // Example iterating over at most 3 pages of a GetFindingsReportAccountSummary operation. 673// pageNum := 0 674// err := client.GetFindingsReportAccountSummaryPages(params, 675// func(page *codeguruprofiler.GetFindingsReportAccountSummaryOutput, lastPage bool) bool { 676// pageNum++ 677// fmt.Println(page) 678// return pageNum <= 3 679// }) 680// 681func (c *CodeGuruProfiler) GetFindingsReportAccountSummaryPages(input *GetFindingsReportAccountSummaryInput, fn func(*GetFindingsReportAccountSummaryOutput, bool) bool) error { 682 return c.GetFindingsReportAccountSummaryPagesWithContext(aws.BackgroundContext(), input, fn) 683} 684 685// GetFindingsReportAccountSummaryPagesWithContext same as GetFindingsReportAccountSummaryPages except 686// it takes a Context and allows setting request options on the pages. 687// 688// The context must be non-nil and will be used for request cancellation. If 689// the context is nil a panic will occur. In the future the SDK may create 690// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 691// for more information on using Contexts. 692func (c *CodeGuruProfiler) GetFindingsReportAccountSummaryPagesWithContext(ctx aws.Context, input *GetFindingsReportAccountSummaryInput, fn func(*GetFindingsReportAccountSummaryOutput, bool) bool, opts ...request.Option) error { 693 p := request.Pagination{ 694 NewRequest: func() (*request.Request, error) { 695 var inCpy *GetFindingsReportAccountSummaryInput 696 if input != nil { 697 tmp := *input 698 inCpy = &tmp 699 } 700 req, _ := c.GetFindingsReportAccountSummaryRequest(inCpy) 701 req.SetContext(ctx) 702 req.ApplyOptions(opts...) 703 return req, nil 704 }, 705 } 706 707 for p.Next() { 708 if !fn(p.Page().(*GetFindingsReportAccountSummaryOutput), !p.HasNextPage()) { 709 break 710 } 711 } 712 713 return p.Err() 714} 715 716const opGetNotificationConfiguration = "GetNotificationConfiguration" 717 718// GetNotificationConfigurationRequest generates a "aws/request.Request" representing the 719// client's request for the GetNotificationConfiguration operation. The "output" return 720// value will be populated with the request's response once the request completes 721// successfully. 722// 723// Use "Send" method on the returned Request to send the API call to the service. 724// the "output" return value is not valid until after Send returns without error. 725// 726// See GetNotificationConfiguration for more information on using the GetNotificationConfiguration 727// API call, and error handling. 728// 729// This method is useful when you want to inject custom logic or configuration 730// into the SDK's request lifecycle. Such as custom headers, or retry logic. 731// 732// 733// // Example sending a request using the GetNotificationConfigurationRequest method. 734// req, resp := client.GetNotificationConfigurationRequest(params) 735// 736// err := req.Send() 737// if err == nil { // resp is now filled 738// fmt.Println(resp) 739// } 740// 741// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfiguration 742func (c *CodeGuruProfiler) GetNotificationConfigurationRequest(input *GetNotificationConfigurationInput) (req *request.Request, output *GetNotificationConfigurationOutput) { 743 op := &request.Operation{ 744 Name: opGetNotificationConfiguration, 745 HTTPMethod: "GET", 746 HTTPPath: "/profilingGroups/{profilingGroupName}/notificationConfiguration", 747 } 748 749 if input == nil { 750 input = &GetNotificationConfigurationInput{} 751 } 752 753 output = &GetNotificationConfigurationOutput{} 754 req = c.newRequest(op, input, output) 755 return 756} 757 758// GetNotificationConfiguration API operation for Amazon CodeGuru Profiler. 759// 760// Get the current configuration for anomaly notifications for a profiling group. 761// 762// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 763// with awserr.Error's Code and Message methods to get detailed information about 764// the error. 765// 766// See the AWS API reference guide for Amazon CodeGuru Profiler's 767// API operation GetNotificationConfiguration for usage and error information. 768// 769// Returned Error Types: 770// * InternalServerException 771// The server encountered an internal error and is unable to complete the request. 772// 773// * ValidationException 774// The parameter is not valid. 775// 776// * ThrottlingException 777// The request was denied due to request throttling. 778// 779// * ResourceNotFoundException 780// The resource specified in the request does not exist. 781// 782// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetNotificationConfiguration 783func (c *CodeGuruProfiler) GetNotificationConfiguration(input *GetNotificationConfigurationInput) (*GetNotificationConfigurationOutput, error) { 784 req, out := c.GetNotificationConfigurationRequest(input) 785 return out, req.Send() 786} 787 788// GetNotificationConfigurationWithContext is the same as GetNotificationConfiguration with the addition of 789// the ability to pass a context and additional request options. 790// 791// See GetNotificationConfiguration for details on how to use this API operation. 792// 793// The context must be non-nil and will be used for request cancellation. If 794// the context is nil a panic will occur. In the future the SDK may create 795// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 796// for more information on using Contexts. 797func (c *CodeGuruProfiler) GetNotificationConfigurationWithContext(ctx aws.Context, input *GetNotificationConfigurationInput, opts ...request.Option) (*GetNotificationConfigurationOutput, error) { 798 req, out := c.GetNotificationConfigurationRequest(input) 799 req.SetContext(ctx) 800 req.ApplyOptions(opts...) 801 return out, req.Send() 802} 803 804const opGetPolicy = "GetPolicy" 805 806// GetPolicyRequest generates a "aws/request.Request" representing the 807// client's request for the GetPolicy operation. The "output" return 808// value will be populated with the request's response once the request completes 809// successfully. 810// 811// Use "Send" method on the returned Request to send the API call to the service. 812// the "output" return value is not valid until after Send returns without error. 813// 814// See GetPolicy for more information on using the GetPolicy 815// API call, and error handling. 816// 817// This method is useful when you want to inject custom logic or configuration 818// into the SDK's request lifecycle. Such as custom headers, or retry logic. 819// 820// 821// // Example sending a request using the GetPolicyRequest method. 822// req, resp := client.GetPolicyRequest(params) 823// 824// err := req.Send() 825// if err == nil { // resp is now filled 826// fmt.Println(resp) 827// } 828// 829// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicy 830func (c *CodeGuruProfiler) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { 831 op := &request.Operation{ 832 Name: opGetPolicy, 833 HTTPMethod: "GET", 834 HTTPPath: "/profilingGroups/{profilingGroupName}/policy", 835 } 836 837 if input == nil { 838 input = &GetPolicyInput{} 839 } 840 841 output = &GetPolicyOutput{} 842 req = c.newRequest(op, input, output) 843 return 844} 845 846// GetPolicy API operation for Amazon CodeGuru Profiler. 847// 848// Returns the JSON-formatted resource-based policy on a profiling group. 849// 850// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 851// with awserr.Error's Code and Message methods to get detailed information about 852// the error. 853// 854// See the AWS API reference guide for Amazon CodeGuru Profiler's 855// API operation GetPolicy for usage and error information. 856// 857// Returned Error Types: 858// * InternalServerException 859// The server encountered an internal error and is unable to complete the request. 860// 861// * ThrottlingException 862// The request was denied due to request throttling. 863// 864// * ResourceNotFoundException 865// The resource specified in the request does not exist. 866// 867// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetPolicy 868func (c *CodeGuruProfiler) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { 869 req, out := c.GetPolicyRequest(input) 870 return out, req.Send() 871} 872 873// GetPolicyWithContext is the same as GetPolicy with the addition of 874// the ability to pass a context and additional request options. 875// 876// See GetPolicy for details on how to use this API operation. 877// 878// The context must be non-nil and will be used for request cancellation. If 879// the context is nil a panic will occur. In the future the SDK may create 880// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 881// for more information on using Contexts. 882func (c *CodeGuruProfiler) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) { 883 req, out := c.GetPolicyRequest(input) 884 req.SetContext(ctx) 885 req.ApplyOptions(opts...) 886 return out, req.Send() 887} 888 889const opGetProfile = "GetProfile" 890 891// GetProfileRequest generates a "aws/request.Request" representing the 892// client's request for the GetProfile operation. The "output" return 893// value will be populated with the request's response once the request completes 894// successfully. 895// 896// Use "Send" method on the returned Request to send the API call to the service. 897// the "output" return value is not valid until after Send returns without error. 898// 899// See GetProfile for more information on using the GetProfile 900// API call, and error handling. 901// 902// This method is useful when you want to inject custom logic or configuration 903// into the SDK's request lifecycle. Such as custom headers, or retry logic. 904// 905// 906// // Example sending a request using the GetProfileRequest method. 907// req, resp := client.GetProfileRequest(params) 908// 909// err := req.Send() 910// if err == nil { // resp is now filled 911// fmt.Println(resp) 912// } 913// 914// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfile 915func (c *CodeGuruProfiler) GetProfileRequest(input *GetProfileInput) (req *request.Request, output *GetProfileOutput) { 916 op := &request.Operation{ 917 Name: opGetProfile, 918 HTTPMethod: "GET", 919 HTTPPath: "/profilingGroups/{profilingGroupName}/profile", 920 } 921 922 if input == nil { 923 input = &GetProfileInput{} 924 } 925 926 output = &GetProfileOutput{} 927 req = c.newRequest(op, input, output) 928 return 929} 930 931// GetProfile API operation for Amazon CodeGuru Profiler. 932// 933// Gets the aggregated profile of a profiling group for a specified time range. 934// Amazon CodeGuru Profiler collects posted agent profiles for a profiling group 935// into aggregated profiles. 936// 937// <note> <p> Because aggregated profiles expire over time <code>GetProfile</code> 938// is not idempotent. </p> </note> <p> Specify the time range for the requested 939// aggregated profile using 1 or 2 of the following parameters: <code>startTime</code>, 940// <code>endTime</code>, <code>period</code>. The maximum time range allowed 941// is 7 days. If you specify all 3 parameters, an exception is thrown. If 942// you specify only <code>period</code>, the latest aggregated profile is 943// returned. </p> <p> Aggregated profiles are available with aggregation 944// periods of 5 minutes, 1 hour, and 1 day, aligned to UTC. The aggregation 945// period of an aggregated profile determines how long it is retained. For 946// more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html"> 947// <code>AggregatedProfileTime</code> </a>. The aggregated profile's aggregation 948// period determines how long it is retained by CodeGuru Profiler. </p> <ul> 949// <li> <p> If the aggregation period is 5 minutes, the aggregated profile 950// is retained for 15 days. </p> </li> <li> <p> If the aggregation period 951// is 1 hour, the aggregated profile is retained for 60 days. </p> </li> 952// <li> <p> If the aggregation period is 1 day, the aggregated profile is 953// retained for 3 years. </p> </li> </ul> <p>There are two use cases for 954// calling <code>GetProfile</code>.</p> <ol> <li> <p> If you want to return 955// an aggregated profile that already exists, use <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ListProfileTimes.html"> 956// <code>ListProfileTimes</code> </a> to view the time ranges of existing 957// aggregated profiles. Use them in a <code>GetProfile</code> request to 958// return a specific, existing aggregated profile. </p> </li> <li> <p> If 959// you want to return an aggregated profile for a time range that doesn't 960// align with an existing aggregated profile, then CodeGuru Profiler makes 961// a best effort to combine existing aggregated profiles from the requested 962// time range and return them as one aggregated profile. </p> <p> If aggregated 963// profiles do not exist for the full time range requested, then aggregated 964// profiles for a smaller time range are returned. For example, if the requested 965// time range is from 00:00 to 00:20, and the existing aggregated profiles 966// are from 00:15 and 00:25, then the aggregated profiles from 00:15 to 00:20 967// are returned. </p> </li> </ol> 968// 969// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 970// with awserr.Error's Code and Message methods to get detailed information about 971// the error. 972// 973// See the AWS API reference guide for Amazon CodeGuru Profiler's 974// API operation GetProfile for usage and error information. 975// 976// Returned Error Types: 977// * InternalServerException 978// The server encountered an internal error and is unable to complete the request. 979// 980// * ValidationException 981// The parameter is not valid. 982// 983// * ThrottlingException 984// The request was denied due to request throttling. 985// 986// * ResourceNotFoundException 987// The resource specified in the request does not exist. 988// 989// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetProfile 990func (c *CodeGuruProfiler) GetProfile(input *GetProfileInput) (*GetProfileOutput, error) { 991 req, out := c.GetProfileRequest(input) 992 return out, req.Send() 993} 994 995// GetProfileWithContext is the same as GetProfile with the addition of 996// the ability to pass a context and additional request options. 997// 998// See GetProfile for details on how to use this API operation. 999// 1000// The context must be non-nil and will be used for request cancellation. If 1001// the context is nil a panic will occur. In the future the SDK may create 1002// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1003// for more information on using Contexts. 1004func (c *CodeGuruProfiler) GetProfileWithContext(ctx aws.Context, input *GetProfileInput, opts ...request.Option) (*GetProfileOutput, error) { 1005 req, out := c.GetProfileRequest(input) 1006 req.SetContext(ctx) 1007 req.ApplyOptions(opts...) 1008 return out, req.Send() 1009} 1010 1011const opGetRecommendations = "GetRecommendations" 1012 1013// GetRecommendationsRequest generates a "aws/request.Request" representing the 1014// client's request for the GetRecommendations operation. The "output" return 1015// value will be populated with the request's response once the request completes 1016// successfully. 1017// 1018// Use "Send" method on the returned Request to send the API call to the service. 1019// the "output" return value is not valid until after Send returns without error. 1020// 1021// See GetRecommendations for more information on using the GetRecommendations 1022// API call, and error handling. 1023// 1024// This method is useful when you want to inject custom logic or configuration 1025// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1026// 1027// 1028// // Example sending a request using the GetRecommendationsRequest method. 1029// req, resp := client.GetRecommendationsRequest(params) 1030// 1031// err := req.Send() 1032// if err == nil { // resp is now filled 1033// fmt.Println(resp) 1034// } 1035// 1036// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendations 1037func (c *CodeGuruProfiler) GetRecommendationsRequest(input *GetRecommendationsInput) (req *request.Request, output *GetRecommendationsOutput) { 1038 op := &request.Operation{ 1039 Name: opGetRecommendations, 1040 HTTPMethod: "GET", 1041 HTTPPath: "/internal/profilingGroups/{profilingGroupName}/recommendations", 1042 } 1043 1044 if input == nil { 1045 input = &GetRecommendationsInput{} 1046 } 1047 1048 output = &GetRecommendationsOutput{} 1049 req = c.newRequest(op, input, output) 1050 return 1051} 1052 1053// GetRecommendations API operation for Amazon CodeGuru Profiler. 1054// 1055// Returns a list of Recommendation (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Recommendation.html) 1056// objects that contain recommendations for a profiling group for a given time 1057// period. A list of Anomaly (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_Anomaly.html) 1058// objects that contains details about anomalies detected in the profiling group 1059// for the same time period is also returned. 1060// 1061// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1062// with awserr.Error's Code and Message methods to get detailed information about 1063// the error. 1064// 1065// See the AWS API reference guide for Amazon CodeGuru Profiler's 1066// API operation GetRecommendations for usage and error information. 1067// 1068// Returned Error Types: 1069// * InternalServerException 1070// The server encountered an internal error and is unable to complete the request. 1071// 1072// * ValidationException 1073// The parameter is not valid. 1074// 1075// * ThrottlingException 1076// The request was denied due to request throttling. 1077// 1078// * ResourceNotFoundException 1079// The resource specified in the request does not exist. 1080// 1081// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/GetRecommendations 1082func (c *CodeGuruProfiler) GetRecommendations(input *GetRecommendationsInput) (*GetRecommendationsOutput, error) { 1083 req, out := c.GetRecommendationsRequest(input) 1084 return out, req.Send() 1085} 1086 1087// GetRecommendationsWithContext is the same as GetRecommendations with the addition of 1088// the ability to pass a context and additional request options. 1089// 1090// See GetRecommendations for details on how to use this API operation. 1091// 1092// The context must be non-nil and will be used for request cancellation. If 1093// the context is nil a panic will occur. In the future the SDK may create 1094// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1095// for more information on using Contexts. 1096func (c *CodeGuruProfiler) GetRecommendationsWithContext(ctx aws.Context, input *GetRecommendationsInput, opts ...request.Option) (*GetRecommendationsOutput, error) { 1097 req, out := c.GetRecommendationsRequest(input) 1098 req.SetContext(ctx) 1099 req.ApplyOptions(opts...) 1100 return out, req.Send() 1101} 1102 1103const opListFindingsReports = "ListFindingsReports" 1104 1105// ListFindingsReportsRequest generates a "aws/request.Request" representing the 1106// client's request for the ListFindingsReports operation. The "output" return 1107// value will be populated with the request's response once the request completes 1108// successfully. 1109// 1110// Use "Send" method on the returned Request to send the API call to the service. 1111// the "output" return value is not valid until after Send returns without error. 1112// 1113// See ListFindingsReports for more information on using the ListFindingsReports 1114// API call, and error handling. 1115// 1116// This method is useful when you want to inject custom logic or configuration 1117// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1118// 1119// 1120// // Example sending a request using the ListFindingsReportsRequest method. 1121// req, resp := client.ListFindingsReportsRequest(params) 1122// 1123// err := req.Send() 1124// if err == nil { // resp is now filled 1125// fmt.Println(resp) 1126// } 1127// 1128// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReports 1129func (c *CodeGuruProfiler) ListFindingsReportsRequest(input *ListFindingsReportsInput) (req *request.Request, output *ListFindingsReportsOutput) { 1130 op := &request.Operation{ 1131 Name: opListFindingsReports, 1132 HTTPMethod: "GET", 1133 HTTPPath: "/internal/profilingGroups/{profilingGroupName}/findingsReports", 1134 Paginator: &request.Paginator{ 1135 InputTokens: []string{"nextToken"}, 1136 OutputTokens: []string{"nextToken"}, 1137 LimitToken: "maxResults", 1138 TruncationToken: "", 1139 }, 1140 } 1141 1142 if input == nil { 1143 input = &ListFindingsReportsInput{} 1144 } 1145 1146 output = &ListFindingsReportsOutput{} 1147 req = c.newRequest(op, input, output) 1148 return 1149} 1150 1151// ListFindingsReports API operation for Amazon CodeGuru Profiler. 1152// 1153// List the available reports for a given profiling group and time range. 1154// 1155// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1156// with awserr.Error's Code and Message methods to get detailed information about 1157// the error. 1158// 1159// See the AWS API reference guide for Amazon CodeGuru Profiler's 1160// API operation ListFindingsReports for usage and error information. 1161// 1162// Returned Error Types: 1163// * InternalServerException 1164// The server encountered an internal error and is unable to complete the request. 1165// 1166// * ValidationException 1167// The parameter is not valid. 1168// 1169// * ThrottlingException 1170// The request was denied due to request throttling. 1171// 1172// * ResourceNotFoundException 1173// The resource specified in the request does not exist. 1174// 1175// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListFindingsReports 1176func (c *CodeGuruProfiler) ListFindingsReports(input *ListFindingsReportsInput) (*ListFindingsReportsOutput, error) { 1177 req, out := c.ListFindingsReportsRequest(input) 1178 return out, req.Send() 1179} 1180 1181// ListFindingsReportsWithContext is the same as ListFindingsReports with the addition of 1182// the ability to pass a context and additional request options. 1183// 1184// See ListFindingsReports for details on how to use this API operation. 1185// 1186// The context must be non-nil and will be used for request cancellation. If 1187// the context is nil a panic will occur. In the future the SDK may create 1188// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1189// for more information on using Contexts. 1190func (c *CodeGuruProfiler) ListFindingsReportsWithContext(ctx aws.Context, input *ListFindingsReportsInput, opts ...request.Option) (*ListFindingsReportsOutput, error) { 1191 req, out := c.ListFindingsReportsRequest(input) 1192 req.SetContext(ctx) 1193 req.ApplyOptions(opts...) 1194 return out, req.Send() 1195} 1196 1197// ListFindingsReportsPages iterates over the pages of a ListFindingsReports operation, 1198// calling the "fn" function with the response data for each page. To stop 1199// iterating, return false from the fn function. 1200// 1201// See ListFindingsReports method for more information on how to use this operation. 1202// 1203// Note: This operation can generate multiple requests to a service. 1204// 1205// // Example iterating over at most 3 pages of a ListFindingsReports operation. 1206// pageNum := 0 1207// err := client.ListFindingsReportsPages(params, 1208// func(page *codeguruprofiler.ListFindingsReportsOutput, lastPage bool) bool { 1209// pageNum++ 1210// fmt.Println(page) 1211// return pageNum <= 3 1212// }) 1213// 1214func (c *CodeGuruProfiler) ListFindingsReportsPages(input *ListFindingsReportsInput, fn func(*ListFindingsReportsOutput, bool) bool) error { 1215 return c.ListFindingsReportsPagesWithContext(aws.BackgroundContext(), input, fn) 1216} 1217 1218// ListFindingsReportsPagesWithContext same as ListFindingsReportsPages except 1219// it takes a Context and allows setting request options on the pages. 1220// 1221// The context must be non-nil and will be used for request cancellation. If 1222// the context is nil a panic will occur. In the future the SDK may create 1223// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1224// for more information on using Contexts. 1225func (c *CodeGuruProfiler) ListFindingsReportsPagesWithContext(ctx aws.Context, input *ListFindingsReportsInput, fn func(*ListFindingsReportsOutput, bool) bool, opts ...request.Option) error { 1226 p := request.Pagination{ 1227 NewRequest: func() (*request.Request, error) { 1228 var inCpy *ListFindingsReportsInput 1229 if input != nil { 1230 tmp := *input 1231 inCpy = &tmp 1232 } 1233 req, _ := c.ListFindingsReportsRequest(inCpy) 1234 req.SetContext(ctx) 1235 req.ApplyOptions(opts...) 1236 return req, nil 1237 }, 1238 } 1239 1240 for p.Next() { 1241 if !fn(p.Page().(*ListFindingsReportsOutput), !p.HasNextPage()) { 1242 break 1243 } 1244 } 1245 1246 return p.Err() 1247} 1248 1249const opListProfileTimes = "ListProfileTimes" 1250 1251// ListProfileTimesRequest generates a "aws/request.Request" representing the 1252// client's request for the ListProfileTimes operation. The "output" return 1253// value will be populated with the request's response once the request completes 1254// successfully. 1255// 1256// Use "Send" method on the returned Request to send the API call to the service. 1257// the "output" return value is not valid until after Send returns without error. 1258// 1259// See ListProfileTimes for more information on using the ListProfileTimes 1260// API call, and error handling. 1261// 1262// This method is useful when you want to inject custom logic or configuration 1263// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1264// 1265// 1266// // Example sending a request using the ListProfileTimesRequest method. 1267// req, resp := client.ListProfileTimesRequest(params) 1268// 1269// err := req.Send() 1270// if err == nil { // resp is now filled 1271// fmt.Println(resp) 1272// } 1273// 1274// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimes 1275func (c *CodeGuruProfiler) ListProfileTimesRequest(input *ListProfileTimesInput) (req *request.Request, output *ListProfileTimesOutput) { 1276 op := &request.Operation{ 1277 Name: opListProfileTimes, 1278 HTTPMethod: "GET", 1279 HTTPPath: "/profilingGroups/{profilingGroupName}/profileTimes", 1280 Paginator: &request.Paginator{ 1281 InputTokens: []string{"nextToken"}, 1282 OutputTokens: []string{"nextToken"}, 1283 LimitToken: "maxResults", 1284 TruncationToken: "", 1285 }, 1286 } 1287 1288 if input == nil { 1289 input = &ListProfileTimesInput{} 1290 } 1291 1292 output = &ListProfileTimesOutput{} 1293 req = c.newRequest(op, input, output) 1294 return 1295} 1296 1297// ListProfileTimes API operation for Amazon CodeGuru Profiler. 1298// 1299// Lists the start times of the available aggregated profiles of a profiling 1300// group for an aggregation period within the specified time range. 1301// 1302// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1303// with awserr.Error's Code and Message methods to get detailed information about 1304// the error. 1305// 1306// See the AWS API reference guide for Amazon CodeGuru Profiler's 1307// API operation ListProfileTimes for usage and error information. 1308// 1309// Returned Error Types: 1310// * InternalServerException 1311// The server encountered an internal error and is unable to complete the request. 1312// 1313// * ValidationException 1314// The parameter is not valid. 1315// 1316// * ThrottlingException 1317// The request was denied due to request throttling. 1318// 1319// * ResourceNotFoundException 1320// The resource specified in the request does not exist. 1321// 1322// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfileTimes 1323func (c *CodeGuruProfiler) ListProfileTimes(input *ListProfileTimesInput) (*ListProfileTimesOutput, error) { 1324 req, out := c.ListProfileTimesRequest(input) 1325 return out, req.Send() 1326} 1327 1328// ListProfileTimesWithContext is the same as ListProfileTimes with the addition of 1329// the ability to pass a context and additional request options. 1330// 1331// See ListProfileTimes for details on how to use this API operation. 1332// 1333// The context must be non-nil and will be used for request cancellation. If 1334// the context is nil a panic will occur. In the future the SDK may create 1335// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1336// for more information on using Contexts. 1337func (c *CodeGuruProfiler) ListProfileTimesWithContext(ctx aws.Context, input *ListProfileTimesInput, opts ...request.Option) (*ListProfileTimesOutput, error) { 1338 req, out := c.ListProfileTimesRequest(input) 1339 req.SetContext(ctx) 1340 req.ApplyOptions(opts...) 1341 return out, req.Send() 1342} 1343 1344// ListProfileTimesPages iterates over the pages of a ListProfileTimes operation, 1345// calling the "fn" function with the response data for each page. To stop 1346// iterating, return false from the fn function. 1347// 1348// See ListProfileTimes method for more information on how to use this operation. 1349// 1350// Note: This operation can generate multiple requests to a service. 1351// 1352// // Example iterating over at most 3 pages of a ListProfileTimes operation. 1353// pageNum := 0 1354// err := client.ListProfileTimesPages(params, 1355// func(page *codeguruprofiler.ListProfileTimesOutput, lastPage bool) bool { 1356// pageNum++ 1357// fmt.Println(page) 1358// return pageNum <= 3 1359// }) 1360// 1361func (c *CodeGuruProfiler) ListProfileTimesPages(input *ListProfileTimesInput, fn func(*ListProfileTimesOutput, bool) bool) error { 1362 return c.ListProfileTimesPagesWithContext(aws.BackgroundContext(), input, fn) 1363} 1364 1365// ListProfileTimesPagesWithContext same as ListProfileTimesPages except 1366// it takes a Context and allows setting request options on the pages. 1367// 1368// The context must be non-nil and will be used for request cancellation. If 1369// the context is nil a panic will occur. In the future the SDK may create 1370// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1371// for more information on using Contexts. 1372func (c *CodeGuruProfiler) ListProfileTimesPagesWithContext(ctx aws.Context, input *ListProfileTimesInput, fn func(*ListProfileTimesOutput, bool) bool, opts ...request.Option) error { 1373 p := request.Pagination{ 1374 NewRequest: func() (*request.Request, error) { 1375 var inCpy *ListProfileTimesInput 1376 if input != nil { 1377 tmp := *input 1378 inCpy = &tmp 1379 } 1380 req, _ := c.ListProfileTimesRequest(inCpy) 1381 req.SetContext(ctx) 1382 req.ApplyOptions(opts...) 1383 return req, nil 1384 }, 1385 } 1386 1387 for p.Next() { 1388 if !fn(p.Page().(*ListProfileTimesOutput), !p.HasNextPage()) { 1389 break 1390 } 1391 } 1392 1393 return p.Err() 1394} 1395 1396const opListProfilingGroups = "ListProfilingGroups" 1397 1398// ListProfilingGroupsRequest generates a "aws/request.Request" representing the 1399// client's request for the ListProfilingGroups operation. The "output" return 1400// value will be populated with the request's response once the request completes 1401// successfully. 1402// 1403// Use "Send" method on the returned Request to send the API call to the service. 1404// the "output" return value is not valid until after Send returns without error. 1405// 1406// See ListProfilingGroups for more information on using the ListProfilingGroups 1407// API call, and error handling. 1408// 1409// This method is useful when you want to inject custom logic or configuration 1410// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1411// 1412// 1413// // Example sending a request using the ListProfilingGroupsRequest method. 1414// req, resp := client.ListProfilingGroupsRequest(params) 1415// 1416// err := req.Send() 1417// if err == nil { // resp is now filled 1418// fmt.Println(resp) 1419// } 1420// 1421// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroups 1422func (c *CodeGuruProfiler) ListProfilingGroupsRequest(input *ListProfilingGroupsInput) (req *request.Request, output *ListProfilingGroupsOutput) { 1423 op := &request.Operation{ 1424 Name: opListProfilingGroups, 1425 HTTPMethod: "GET", 1426 HTTPPath: "/profilingGroups", 1427 Paginator: &request.Paginator{ 1428 InputTokens: []string{"nextToken"}, 1429 OutputTokens: []string{"nextToken"}, 1430 LimitToken: "maxResults", 1431 TruncationToken: "", 1432 }, 1433 } 1434 1435 if input == nil { 1436 input = &ListProfilingGroupsInput{} 1437 } 1438 1439 output = &ListProfilingGroupsOutput{} 1440 req = c.newRequest(op, input, output) 1441 return 1442} 1443 1444// ListProfilingGroups API operation for Amazon CodeGuru Profiler. 1445// 1446// Returns a list of profiling groups. The profiling groups are returned as 1447// ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 1448// objects. 1449// 1450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1451// with awserr.Error's Code and Message methods to get detailed information about 1452// the error. 1453// 1454// See the AWS API reference guide for Amazon CodeGuru Profiler's 1455// API operation ListProfilingGroups for usage and error information. 1456// 1457// Returned Error Types: 1458// * InternalServerException 1459// The server encountered an internal error and is unable to complete the request. 1460// 1461// * ThrottlingException 1462// The request was denied due to request throttling. 1463// 1464// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListProfilingGroups 1465func (c *CodeGuruProfiler) ListProfilingGroups(input *ListProfilingGroupsInput) (*ListProfilingGroupsOutput, error) { 1466 req, out := c.ListProfilingGroupsRequest(input) 1467 return out, req.Send() 1468} 1469 1470// ListProfilingGroupsWithContext is the same as ListProfilingGroups with the addition of 1471// the ability to pass a context and additional request options. 1472// 1473// See ListProfilingGroups for details on how to use this API operation. 1474// 1475// The context must be non-nil and will be used for request cancellation. If 1476// the context is nil a panic will occur. In the future the SDK may create 1477// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1478// for more information on using Contexts. 1479func (c *CodeGuruProfiler) ListProfilingGroupsWithContext(ctx aws.Context, input *ListProfilingGroupsInput, opts ...request.Option) (*ListProfilingGroupsOutput, error) { 1480 req, out := c.ListProfilingGroupsRequest(input) 1481 req.SetContext(ctx) 1482 req.ApplyOptions(opts...) 1483 return out, req.Send() 1484} 1485 1486// ListProfilingGroupsPages iterates over the pages of a ListProfilingGroups operation, 1487// calling the "fn" function with the response data for each page. To stop 1488// iterating, return false from the fn function. 1489// 1490// See ListProfilingGroups method for more information on how to use this operation. 1491// 1492// Note: This operation can generate multiple requests to a service. 1493// 1494// // Example iterating over at most 3 pages of a ListProfilingGroups operation. 1495// pageNum := 0 1496// err := client.ListProfilingGroupsPages(params, 1497// func(page *codeguruprofiler.ListProfilingGroupsOutput, lastPage bool) bool { 1498// pageNum++ 1499// fmt.Println(page) 1500// return pageNum <= 3 1501// }) 1502// 1503func (c *CodeGuruProfiler) ListProfilingGroupsPages(input *ListProfilingGroupsInput, fn func(*ListProfilingGroupsOutput, bool) bool) error { 1504 return c.ListProfilingGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 1505} 1506 1507// ListProfilingGroupsPagesWithContext same as ListProfilingGroupsPages except 1508// it takes a Context and allows setting request options on the pages. 1509// 1510// The context must be non-nil and will be used for request cancellation. If 1511// the context is nil a panic will occur. In the future the SDK may create 1512// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1513// for more information on using Contexts. 1514func (c *CodeGuruProfiler) ListProfilingGroupsPagesWithContext(ctx aws.Context, input *ListProfilingGroupsInput, fn func(*ListProfilingGroupsOutput, bool) bool, opts ...request.Option) error { 1515 p := request.Pagination{ 1516 NewRequest: func() (*request.Request, error) { 1517 var inCpy *ListProfilingGroupsInput 1518 if input != nil { 1519 tmp := *input 1520 inCpy = &tmp 1521 } 1522 req, _ := c.ListProfilingGroupsRequest(inCpy) 1523 req.SetContext(ctx) 1524 req.ApplyOptions(opts...) 1525 return req, nil 1526 }, 1527 } 1528 1529 for p.Next() { 1530 if !fn(p.Page().(*ListProfilingGroupsOutput), !p.HasNextPage()) { 1531 break 1532 } 1533 } 1534 1535 return p.Err() 1536} 1537 1538const opListTagsForResource = "ListTagsForResource" 1539 1540// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1541// client's request for the ListTagsForResource operation. The "output" return 1542// value will be populated with the request's response once the request completes 1543// successfully. 1544// 1545// Use "Send" method on the returned Request to send the API call to the service. 1546// the "output" return value is not valid until after Send returns without error. 1547// 1548// See ListTagsForResource for more information on using the ListTagsForResource 1549// API call, and error handling. 1550// 1551// This method is useful when you want to inject custom logic or configuration 1552// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1553// 1554// 1555// // Example sending a request using the ListTagsForResourceRequest method. 1556// req, resp := client.ListTagsForResourceRequest(params) 1557// 1558// err := req.Send() 1559// if err == nil { // resp is now filled 1560// fmt.Println(resp) 1561// } 1562// 1563// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListTagsForResource 1564func (c *CodeGuruProfiler) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1565 op := &request.Operation{ 1566 Name: opListTagsForResource, 1567 HTTPMethod: "GET", 1568 HTTPPath: "/tags/{resourceArn}", 1569 } 1570 1571 if input == nil { 1572 input = &ListTagsForResourceInput{} 1573 } 1574 1575 output = &ListTagsForResourceOutput{} 1576 req = c.newRequest(op, input, output) 1577 return 1578} 1579 1580// ListTagsForResource API operation for Amazon CodeGuru Profiler. 1581// 1582// Returns a list of the tags that are assigned to a specified resource. 1583// 1584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1585// with awserr.Error's Code and Message methods to get detailed information about 1586// the error. 1587// 1588// See the AWS API reference guide for Amazon CodeGuru Profiler's 1589// API operation ListTagsForResource for usage and error information. 1590// 1591// Returned Error Types: 1592// * InternalServerException 1593// The server encountered an internal error and is unable to complete the request. 1594// 1595// * ValidationException 1596// The parameter is not valid. 1597// 1598// * ResourceNotFoundException 1599// The resource specified in the request does not exist. 1600// 1601// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/ListTagsForResource 1602func (c *CodeGuruProfiler) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1603 req, out := c.ListTagsForResourceRequest(input) 1604 return out, req.Send() 1605} 1606 1607// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1608// the ability to pass a context and additional request options. 1609// 1610// See ListTagsForResource for details on how to use this API operation. 1611// 1612// The context must be non-nil and will be used for request cancellation. If 1613// the context is nil a panic will occur. In the future the SDK may create 1614// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1615// for more information on using Contexts. 1616func (c *CodeGuruProfiler) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1617 req, out := c.ListTagsForResourceRequest(input) 1618 req.SetContext(ctx) 1619 req.ApplyOptions(opts...) 1620 return out, req.Send() 1621} 1622 1623const opPostAgentProfile = "PostAgentProfile" 1624 1625// PostAgentProfileRequest generates a "aws/request.Request" representing the 1626// client's request for the PostAgentProfile operation. The "output" return 1627// value will be populated with the request's response once the request completes 1628// successfully. 1629// 1630// Use "Send" method on the returned Request to send the API call to the service. 1631// the "output" return value is not valid until after Send returns without error. 1632// 1633// See PostAgentProfile for more information on using the PostAgentProfile 1634// API call, and error handling. 1635// 1636// This method is useful when you want to inject custom logic or configuration 1637// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1638// 1639// 1640// // Example sending a request using the PostAgentProfileRequest method. 1641// req, resp := client.PostAgentProfileRequest(params) 1642// 1643// err := req.Send() 1644// if err == nil { // resp is now filled 1645// fmt.Println(resp) 1646// } 1647// 1648// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfile 1649func (c *CodeGuruProfiler) PostAgentProfileRequest(input *PostAgentProfileInput) (req *request.Request, output *PostAgentProfileOutput) { 1650 op := &request.Operation{ 1651 Name: opPostAgentProfile, 1652 HTTPMethod: "POST", 1653 HTTPPath: "/profilingGroups/{profilingGroupName}/agentProfile", 1654 } 1655 1656 if input == nil { 1657 input = &PostAgentProfileInput{} 1658 } 1659 1660 output = &PostAgentProfileOutput{} 1661 req = c.newRequest(op, input, output) 1662 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1663 return 1664} 1665 1666// PostAgentProfile API operation for Amazon CodeGuru Profiler. 1667// 1668// Submits profiling data to an aggregated profile of a profiling group. To 1669// get an aggregated profile that is created with this profiling data, use GetProfile 1670// (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_GetProfile.html). 1671// 1672// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1673// with awserr.Error's Code and Message methods to get detailed information about 1674// the error. 1675// 1676// See the AWS API reference guide for Amazon CodeGuru Profiler's 1677// API operation PostAgentProfile for usage and error information. 1678// 1679// Returned Error Types: 1680// * InternalServerException 1681// The server encountered an internal error and is unable to complete the request. 1682// 1683// * ValidationException 1684// The parameter is not valid. 1685// 1686// * ThrottlingException 1687// The request was denied due to request throttling. 1688// 1689// * ResourceNotFoundException 1690// The resource specified in the request does not exist. 1691// 1692// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PostAgentProfile 1693func (c *CodeGuruProfiler) PostAgentProfile(input *PostAgentProfileInput) (*PostAgentProfileOutput, error) { 1694 req, out := c.PostAgentProfileRequest(input) 1695 return out, req.Send() 1696} 1697 1698// PostAgentProfileWithContext is the same as PostAgentProfile with the addition of 1699// the ability to pass a context and additional request options. 1700// 1701// See PostAgentProfile for details on how to use this API operation. 1702// 1703// The context must be non-nil and will be used for request cancellation. If 1704// the context is nil a panic will occur. In the future the SDK may create 1705// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1706// for more information on using Contexts. 1707func (c *CodeGuruProfiler) PostAgentProfileWithContext(ctx aws.Context, input *PostAgentProfileInput, opts ...request.Option) (*PostAgentProfileOutput, error) { 1708 req, out := c.PostAgentProfileRequest(input) 1709 req.SetContext(ctx) 1710 req.ApplyOptions(opts...) 1711 return out, req.Send() 1712} 1713 1714const opPutPermission = "PutPermission" 1715 1716// PutPermissionRequest generates a "aws/request.Request" representing the 1717// client's request for the PutPermission operation. The "output" return 1718// value will be populated with the request's response once the request completes 1719// successfully. 1720// 1721// Use "Send" method on the returned Request to send the API call to the service. 1722// the "output" return value is not valid until after Send returns without error. 1723// 1724// See PutPermission for more information on using the PutPermission 1725// API call, and error handling. 1726// 1727// This method is useful when you want to inject custom logic or configuration 1728// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1729// 1730// 1731// // Example sending a request using the PutPermissionRequest method. 1732// req, resp := client.PutPermissionRequest(params) 1733// 1734// err := req.Send() 1735// if err == nil { // resp is now filled 1736// fmt.Println(resp) 1737// } 1738// 1739// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermission 1740func (c *CodeGuruProfiler) PutPermissionRequest(input *PutPermissionInput) (req *request.Request, output *PutPermissionOutput) { 1741 op := &request.Operation{ 1742 Name: opPutPermission, 1743 HTTPMethod: "PUT", 1744 HTTPPath: "/profilingGroups/{profilingGroupName}/policy/{actionGroup}", 1745 } 1746 1747 if input == nil { 1748 input = &PutPermissionInput{} 1749 } 1750 1751 output = &PutPermissionOutput{} 1752 req = c.newRequest(op, input, output) 1753 return 1754} 1755 1756// PutPermission API operation for Amazon CodeGuru Profiler. 1757// 1758// Adds permissions to a profiling group's resource-based policy that are provided 1759// using an action group. If a profiling group doesn't have a resource-based 1760// policy, one is created for it using the permissions in the action group and 1761// the roles and users in the principals parameter. 1762// 1763// <p> The one supported action group that can be added is <code>agentPermission</code> 1764// which grants <code>ConfigureAgent</code> and <code>PostAgent</code> permissions. 1765// For more information, see <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html">Resource-based 1766// policies in CodeGuru Profiler</a> in the <i>Amazon CodeGuru Profiler User 1767// Guide</i>, <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html"> 1768// <code>ConfigureAgent</code> </a>, and <a href="https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html"> 1769// <code>PostAgentProfile</code> </a>. </p> <p> The first time you call <code>PutPermission</code> 1770// on a profiling group, do not specify a <code>revisionId</code> because 1771// it doesn't have a resource-based policy. Subsequent calls must provide 1772// a <code>revisionId</code> to specify which revision of the resource-based 1773// policy to add the permissions to. </p> <p> The response contains the profiling 1774// group's JSON-formatted resource policy. </p> 1775// 1776// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1777// with awserr.Error's Code and Message methods to get detailed information about 1778// the error. 1779// 1780// See the AWS API reference guide for Amazon CodeGuru Profiler's 1781// API operation PutPermission for usage and error information. 1782// 1783// Returned Error Types: 1784// * InternalServerException 1785// The server encountered an internal error and is unable to complete the request. 1786// 1787// * ConflictException 1788// The requested operation would cause a conflict with the current state of 1789// a service resource associated with the request. Resolve the conflict before 1790// retrying this request. 1791// 1792// * ValidationException 1793// The parameter is not valid. 1794// 1795// * ThrottlingException 1796// The request was denied due to request throttling. 1797// 1798// * ResourceNotFoundException 1799// The resource specified in the request does not exist. 1800// 1801// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/PutPermission 1802func (c *CodeGuruProfiler) PutPermission(input *PutPermissionInput) (*PutPermissionOutput, error) { 1803 req, out := c.PutPermissionRequest(input) 1804 return out, req.Send() 1805} 1806 1807// PutPermissionWithContext is the same as PutPermission with the addition of 1808// the ability to pass a context and additional request options. 1809// 1810// See PutPermission for details on how to use this API operation. 1811// 1812// The context must be non-nil and will be used for request cancellation. If 1813// the context is nil a panic will occur. In the future the SDK may create 1814// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1815// for more information on using Contexts. 1816func (c *CodeGuruProfiler) PutPermissionWithContext(ctx aws.Context, input *PutPermissionInput, opts ...request.Option) (*PutPermissionOutput, error) { 1817 req, out := c.PutPermissionRequest(input) 1818 req.SetContext(ctx) 1819 req.ApplyOptions(opts...) 1820 return out, req.Send() 1821} 1822 1823const opRemoveNotificationChannel = "RemoveNotificationChannel" 1824 1825// RemoveNotificationChannelRequest generates a "aws/request.Request" representing the 1826// client's request for the RemoveNotificationChannel operation. The "output" return 1827// value will be populated with the request's response once the request completes 1828// successfully. 1829// 1830// Use "Send" method on the returned Request to send the API call to the service. 1831// the "output" return value is not valid until after Send returns without error. 1832// 1833// See RemoveNotificationChannel for more information on using the RemoveNotificationChannel 1834// API call, and error handling. 1835// 1836// This method is useful when you want to inject custom logic or configuration 1837// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1838// 1839// 1840// // Example sending a request using the RemoveNotificationChannelRequest method. 1841// req, resp := client.RemoveNotificationChannelRequest(params) 1842// 1843// err := req.Send() 1844// if err == nil { // resp is now filled 1845// fmt.Println(resp) 1846// } 1847// 1848// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannel 1849func (c *CodeGuruProfiler) RemoveNotificationChannelRequest(input *RemoveNotificationChannelInput) (req *request.Request, output *RemoveNotificationChannelOutput) { 1850 op := &request.Operation{ 1851 Name: opRemoveNotificationChannel, 1852 HTTPMethod: "DELETE", 1853 HTTPPath: "/profilingGroups/{profilingGroupName}/notificationConfiguration/{channelId}", 1854 } 1855 1856 if input == nil { 1857 input = &RemoveNotificationChannelInput{} 1858 } 1859 1860 output = &RemoveNotificationChannelOutput{} 1861 req = c.newRequest(op, input, output) 1862 return 1863} 1864 1865// RemoveNotificationChannel API operation for Amazon CodeGuru Profiler. 1866// 1867// Remove one anomaly notifications channel for a profiling group. 1868// 1869// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1870// with awserr.Error's Code and Message methods to get detailed information about 1871// the error. 1872// 1873// See the AWS API reference guide for Amazon CodeGuru Profiler's 1874// API operation RemoveNotificationChannel for usage and error information. 1875// 1876// Returned Error Types: 1877// * InternalServerException 1878// The server encountered an internal error and is unable to complete the request. 1879// 1880// * ValidationException 1881// The parameter is not valid. 1882// 1883// * ThrottlingException 1884// The request was denied due to request throttling. 1885// 1886// * ResourceNotFoundException 1887// The resource specified in the request does not exist. 1888// 1889// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemoveNotificationChannel 1890func (c *CodeGuruProfiler) RemoveNotificationChannel(input *RemoveNotificationChannelInput) (*RemoveNotificationChannelOutput, error) { 1891 req, out := c.RemoveNotificationChannelRequest(input) 1892 return out, req.Send() 1893} 1894 1895// RemoveNotificationChannelWithContext is the same as RemoveNotificationChannel with the addition of 1896// the ability to pass a context and additional request options. 1897// 1898// See RemoveNotificationChannel for details on how to use this API operation. 1899// 1900// The context must be non-nil and will be used for request cancellation. If 1901// the context is nil a panic will occur. In the future the SDK may create 1902// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1903// for more information on using Contexts. 1904func (c *CodeGuruProfiler) RemoveNotificationChannelWithContext(ctx aws.Context, input *RemoveNotificationChannelInput, opts ...request.Option) (*RemoveNotificationChannelOutput, error) { 1905 req, out := c.RemoveNotificationChannelRequest(input) 1906 req.SetContext(ctx) 1907 req.ApplyOptions(opts...) 1908 return out, req.Send() 1909} 1910 1911const opRemovePermission = "RemovePermission" 1912 1913// RemovePermissionRequest generates a "aws/request.Request" representing the 1914// client's request for the RemovePermission operation. The "output" return 1915// value will be populated with the request's response once the request completes 1916// successfully. 1917// 1918// Use "Send" method on the returned Request to send the API call to the service. 1919// the "output" return value is not valid until after Send returns without error. 1920// 1921// See RemovePermission for more information on using the RemovePermission 1922// API call, and error handling. 1923// 1924// This method is useful when you want to inject custom logic or configuration 1925// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1926// 1927// 1928// // Example sending a request using the RemovePermissionRequest method. 1929// req, resp := client.RemovePermissionRequest(params) 1930// 1931// err := req.Send() 1932// if err == nil { // resp is now filled 1933// fmt.Println(resp) 1934// } 1935// 1936// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermission 1937func (c *CodeGuruProfiler) RemovePermissionRequest(input *RemovePermissionInput) (req *request.Request, output *RemovePermissionOutput) { 1938 op := &request.Operation{ 1939 Name: opRemovePermission, 1940 HTTPMethod: "DELETE", 1941 HTTPPath: "/profilingGroups/{profilingGroupName}/policy/{actionGroup}", 1942 } 1943 1944 if input == nil { 1945 input = &RemovePermissionInput{} 1946 } 1947 1948 output = &RemovePermissionOutput{} 1949 req = c.newRequest(op, input, output) 1950 return 1951} 1952 1953// RemovePermission API operation for Amazon CodeGuru Profiler. 1954// 1955// Removes permissions from a profiling group's resource-based policy that are 1956// provided using an action group. The one supported action group that can be 1957// removed is agentPermission which grants ConfigureAgent and PostAgent permissions. 1958// For more information, see Resource-based policies in CodeGuru Profiler (https://docs.aws.amazon.com/codeguru/latest/profiler-ug/resource-based-policies.html) 1959// in the Amazon CodeGuru Profiler User Guide, ConfigureAgent (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html), 1960// and PostAgentProfile (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_PostAgentProfile.html). 1961// 1962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1963// with awserr.Error's Code and Message methods to get detailed information about 1964// the error. 1965// 1966// See the AWS API reference guide for Amazon CodeGuru Profiler's 1967// API operation RemovePermission for usage and error information. 1968// 1969// Returned Error Types: 1970// * InternalServerException 1971// The server encountered an internal error and is unable to complete the request. 1972// 1973// * ConflictException 1974// The requested operation would cause a conflict with the current state of 1975// a service resource associated with the request. Resolve the conflict before 1976// retrying this request. 1977// 1978// * ValidationException 1979// The parameter is not valid. 1980// 1981// * ThrottlingException 1982// The request was denied due to request throttling. 1983// 1984// * ResourceNotFoundException 1985// The resource specified in the request does not exist. 1986// 1987// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/RemovePermission 1988func (c *CodeGuruProfiler) RemovePermission(input *RemovePermissionInput) (*RemovePermissionOutput, error) { 1989 req, out := c.RemovePermissionRequest(input) 1990 return out, req.Send() 1991} 1992 1993// RemovePermissionWithContext is the same as RemovePermission with the addition of 1994// the ability to pass a context and additional request options. 1995// 1996// See RemovePermission for details on how to use this API operation. 1997// 1998// The context must be non-nil and will be used for request cancellation. If 1999// the context is nil a panic will occur. In the future the SDK may create 2000// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2001// for more information on using Contexts. 2002func (c *CodeGuruProfiler) RemovePermissionWithContext(ctx aws.Context, input *RemovePermissionInput, opts ...request.Option) (*RemovePermissionOutput, error) { 2003 req, out := c.RemovePermissionRequest(input) 2004 req.SetContext(ctx) 2005 req.ApplyOptions(opts...) 2006 return out, req.Send() 2007} 2008 2009const opSubmitFeedback = "SubmitFeedback" 2010 2011// SubmitFeedbackRequest generates a "aws/request.Request" representing the 2012// client's request for the SubmitFeedback operation. The "output" return 2013// value will be populated with the request's response once the request completes 2014// successfully. 2015// 2016// Use "Send" method on the returned Request to send the API call to the service. 2017// the "output" return value is not valid until after Send returns without error. 2018// 2019// See SubmitFeedback for more information on using the SubmitFeedback 2020// API call, and error handling. 2021// 2022// This method is useful when you want to inject custom logic or configuration 2023// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2024// 2025// 2026// // Example sending a request using the SubmitFeedbackRequest method. 2027// req, resp := client.SubmitFeedbackRequest(params) 2028// 2029// err := req.Send() 2030// if err == nil { // resp is now filled 2031// fmt.Println(resp) 2032// } 2033// 2034// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedback 2035func (c *CodeGuruProfiler) SubmitFeedbackRequest(input *SubmitFeedbackInput) (req *request.Request, output *SubmitFeedbackOutput) { 2036 op := &request.Operation{ 2037 Name: opSubmitFeedback, 2038 HTTPMethod: "POST", 2039 HTTPPath: "/internal/profilingGroups/{profilingGroupName}/anomalies/{anomalyInstanceId}/feedback", 2040 } 2041 2042 if input == nil { 2043 input = &SubmitFeedbackInput{} 2044 } 2045 2046 output = &SubmitFeedbackOutput{} 2047 req = c.newRequest(op, input, output) 2048 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2049 return 2050} 2051 2052// SubmitFeedback API operation for Amazon CodeGuru Profiler. 2053// 2054// Sends feedback to CodeGuru Profiler about whether the anomaly detected by 2055// the analysis is useful or not. 2056// 2057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2058// with awserr.Error's Code and Message methods to get detailed information about 2059// the error. 2060// 2061// See the AWS API reference guide for Amazon CodeGuru Profiler's 2062// API operation SubmitFeedback for usage and error information. 2063// 2064// Returned Error Types: 2065// * InternalServerException 2066// The server encountered an internal error and is unable to complete the request. 2067// 2068// * ValidationException 2069// The parameter is not valid. 2070// 2071// * ThrottlingException 2072// The request was denied due to request throttling. 2073// 2074// * ResourceNotFoundException 2075// The resource specified in the request does not exist. 2076// 2077// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/SubmitFeedback 2078func (c *CodeGuruProfiler) SubmitFeedback(input *SubmitFeedbackInput) (*SubmitFeedbackOutput, error) { 2079 req, out := c.SubmitFeedbackRequest(input) 2080 return out, req.Send() 2081} 2082 2083// SubmitFeedbackWithContext is the same as SubmitFeedback with the addition of 2084// the ability to pass a context and additional request options. 2085// 2086// See SubmitFeedback for details on how to use this API operation. 2087// 2088// The context must be non-nil and will be used for request cancellation. If 2089// the context is nil a panic will occur. In the future the SDK may create 2090// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2091// for more information on using Contexts. 2092func (c *CodeGuruProfiler) SubmitFeedbackWithContext(ctx aws.Context, input *SubmitFeedbackInput, opts ...request.Option) (*SubmitFeedbackOutput, error) { 2093 req, out := c.SubmitFeedbackRequest(input) 2094 req.SetContext(ctx) 2095 req.ApplyOptions(opts...) 2096 return out, req.Send() 2097} 2098 2099const opTagResource = "TagResource" 2100 2101// TagResourceRequest generates a "aws/request.Request" representing the 2102// client's request for the TagResource operation. The "output" return 2103// value will be populated with the request's response once the request completes 2104// successfully. 2105// 2106// Use "Send" method on the returned Request to send the API call to the service. 2107// the "output" return value is not valid until after Send returns without error. 2108// 2109// See TagResource for more information on using the TagResource 2110// API call, and error handling. 2111// 2112// This method is useful when you want to inject custom logic or configuration 2113// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2114// 2115// 2116// // Example sending a request using the TagResourceRequest method. 2117// req, resp := client.TagResourceRequest(params) 2118// 2119// err := req.Send() 2120// if err == nil { // resp is now filled 2121// fmt.Println(resp) 2122// } 2123// 2124// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TagResource 2125func (c *CodeGuruProfiler) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2126 op := &request.Operation{ 2127 Name: opTagResource, 2128 HTTPMethod: "POST", 2129 HTTPPath: "/tags/{resourceArn}", 2130 } 2131 2132 if input == nil { 2133 input = &TagResourceInput{} 2134 } 2135 2136 output = &TagResourceOutput{} 2137 req = c.newRequest(op, input, output) 2138 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2139 return 2140} 2141 2142// TagResource API operation for Amazon CodeGuru Profiler. 2143// 2144// Use to assign one or more tags to a resource. 2145// 2146// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2147// with awserr.Error's Code and Message methods to get detailed information about 2148// the error. 2149// 2150// See the AWS API reference guide for Amazon CodeGuru Profiler's 2151// API operation TagResource for usage and error information. 2152// 2153// Returned Error Types: 2154// * InternalServerException 2155// The server encountered an internal error and is unable to complete the request. 2156// 2157// * ValidationException 2158// The parameter is not valid. 2159// 2160// * ResourceNotFoundException 2161// The resource specified in the request does not exist. 2162// 2163// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/TagResource 2164func (c *CodeGuruProfiler) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 2165 req, out := c.TagResourceRequest(input) 2166 return out, req.Send() 2167} 2168 2169// TagResourceWithContext is the same as TagResource with the addition of 2170// the ability to pass a context and additional request options. 2171// 2172// See TagResource for details on how to use this API operation. 2173// 2174// The context must be non-nil and will be used for request cancellation. If 2175// the context is nil a panic will occur. In the future the SDK may create 2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2177// for more information on using Contexts. 2178func (c *CodeGuruProfiler) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2179 req, out := c.TagResourceRequest(input) 2180 req.SetContext(ctx) 2181 req.ApplyOptions(opts...) 2182 return out, req.Send() 2183} 2184 2185const opUntagResource = "UntagResource" 2186 2187// UntagResourceRequest generates a "aws/request.Request" representing the 2188// client's request for the UntagResource operation. The "output" return 2189// value will be populated with the request's response once the request completes 2190// successfully. 2191// 2192// Use "Send" method on the returned Request to send the API call to the service. 2193// the "output" return value is not valid until after Send returns without error. 2194// 2195// See UntagResource for more information on using the UntagResource 2196// API call, and error handling. 2197// 2198// This method is useful when you want to inject custom logic or configuration 2199// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2200// 2201// 2202// // Example sending a request using the UntagResourceRequest method. 2203// req, resp := client.UntagResourceRequest(params) 2204// 2205// err := req.Send() 2206// if err == nil { // resp is now filled 2207// fmt.Println(resp) 2208// } 2209// 2210// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UntagResource 2211func (c *CodeGuruProfiler) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2212 op := &request.Operation{ 2213 Name: opUntagResource, 2214 HTTPMethod: "DELETE", 2215 HTTPPath: "/tags/{resourceArn}", 2216 } 2217 2218 if input == nil { 2219 input = &UntagResourceInput{} 2220 } 2221 2222 output = &UntagResourceOutput{} 2223 req = c.newRequest(op, input, output) 2224 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2225 return 2226} 2227 2228// UntagResource API operation for Amazon CodeGuru Profiler. 2229// 2230// Use to remove one or more tags from a resource. 2231// 2232// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2233// with awserr.Error's Code and Message methods to get detailed information about 2234// the error. 2235// 2236// See the AWS API reference guide for Amazon CodeGuru Profiler's 2237// API operation UntagResource for usage and error information. 2238// 2239// Returned Error Types: 2240// * InternalServerException 2241// The server encountered an internal error and is unable to complete the request. 2242// 2243// * ValidationException 2244// The parameter is not valid. 2245// 2246// * ResourceNotFoundException 2247// The resource specified in the request does not exist. 2248// 2249// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UntagResource 2250func (c *CodeGuruProfiler) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2251 req, out := c.UntagResourceRequest(input) 2252 return out, req.Send() 2253} 2254 2255// UntagResourceWithContext is the same as UntagResource with the addition of 2256// the ability to pass a context and additional request options. 2257// 2258// See UntagResource for details on how to use this API operation. 2259// 2260// The context must be non-nil and will be used for request cancellation. If 2261// the context is nil a panic will occur. In the future the SDK may create 2262// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2263// for more information on using Contexts. 2264func (c *CodeGuruProfiler) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2265 req, out := c.UntagResourceRequest(input) 2266 req.SetContext(ctx) 2267 req.ApplyOptions(opts...) 2268 return out, req.Send() 2269} 2270 2271const opUpdateProfilingGroup = "UpdateProfilingGroup" 2272 2273// UpdateProfilingGroupRequest generates a "aws/request.Request" representing the 2274// client's request for the UpdateProfilingGroup operation. The "output" return 2275// value will be populated with the request's response once the request completes 2276// successfully. 2277// 2278// Use "Send" method on the returned Request to send the API call to the service. 2279// the "output" return value is not valid until after Send returns without error. 2280// 2281// See UpdateProfilingGroup for more information on using the UpdateProfilingGroup 2282// API call, and error handling. 2283// 2284// This method is useful when you want to inject custom logic or configuration 2285// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2286// 2287// 2288// // Example sending a request using the UpdateProfilingGroupRequest method. 2289// req, resp := client.UpdateProfilingGroupRequest(params) 2290// 2291// err := req.Send() 2292// if err == nil { // resp is now filled 2293// fmt.Println(resp) 2294// } 2295// 2296// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroup 2297func (c *CodeGuruProfiler) UpdateProfilingGroupRequest(input *UpdateProfilingGroupInput) (req *request.Request, output *UpdateProfilingGroupOutput) { 2298 op := &request.Operation{ 2299 Name: opUpdateProfilingGroup, 2300 HTTPMethod: "PUT", 2301 HTTPPath: "/profilingGroups/{profilingGroupName}", 2302 } 2303 2304 if input == nil { 2305 input = &UpdateProfilingGroupInput{} 2306 } 2307 2308 output = &UpdateProfilingGroupOutput{} 2309 req = c.newRequest(op, input, output) 2310 return 2311} 2312 2313// UpdateProfilingGroup API operation for Amazon CodeGuru Profiler. 2314// 2315// Updates a profiling group. 2316// 2317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2318// with awserr.Error's Code and Message methods to get detailed information about 2319// the error. 2320// 2321// See the AWS API reference guide for Amazon CodeGuru Profiler's 2322// API operation UpdateProfilingGroup for usage and error information. 2323// 2324// Returned Error Types: 2325// * InternalServerException 2326// The server encountered an internal error and is unable to complete the request. 2327// 2328// * ConflictException 2329// The requested operation would cause a conflict with the current state of 2330// a service resource associated with the request. Resolve the conflict before 2331// retrying this request. 2332// 2333// * ValidationException 2334// The parameter is not valid. 2335// 2336// * ThrottlingException 2337// The request was denied due to request throttling. 2338// 2339// * ResourceNotFoundException 2340// The resource specified in the request does not exist. 2341// 2342// See also, https://docs.aws.amazon.com/goto/WebAPI/codeguruprofiler-2019-07-18/UpdateProfilingGroup 2343func (c *CodeGuruProfiler) UpdateProfilingGroup(input *UpdateProfilingGroupInput) (*UpdateProfilingGroupOutput, error) { 2344 req, out := c.UpdateProfilingGroupRequest(input) 2345 return out, req.Send() 2346} 2347 2348// UpdateProfilingGroupWithContext is the same as UpdateProfilingGroup with the addition of 2349// the ability to pass a context and additional request options. 2350// 2351// See UpdateProfilingGroup for details on how to use this API operation. 2352// 2353// The context must be non-nil and will be used for request cancellation. If 2354// the context is nil a panic will occur. In the future the SDK may create 2355// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2356// for more information on using Contexts. 2357func (c *CodeGuruProfiler) UpdateProfilingGroupWithContext(ctx aws.Context, input *UpdateProfilingGroupInput, opts ...request.Option) (*UpdateProfilingGroupOutput, error) { 2358 req, out := c.UpdateProfilingGroupRequest(input) 2359 req.SetContext(ctx) 2360 req.ApplyOptions(opts...) 2361 return out, req.Send() 2362} 2363 2364// The structure representing the AddNotificationChannelsRequest. 2365type AddNotificationChannelsInput struct { 2366 _ struct{} `type:"structure"` 2367 2368 // One or 2 channels to report to when anomalies are detected. 2369 // 2370 // Channels is a required field 2371 Channels []*Channel `locationName:"channels" min:"1" type:"list" required:"true"` 2372 2373 // The name of the profiling group that we are setting up notifications for. 2374 // 2375 // ProfilingGroupName is a required field 2376 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 2377} 2378 2379// String returns the string representation 2380func (s AddNotificationChannelsInput) String() string { 2381 return awsutil.Prettify(s) 2382} 2383 2384// GoString returns the string representation 2385func (s AddNotificationChannelsInput) GoString() string { 2386 return s.String() 2387} 2388 2389// Validate inspects the fields of the type to determine if they are valid. 2390func (s *AddNotificationChannelsInput) Validate() error { 2391 invalidParams := request.ErrInvalidParams{Context: "AddNotificationChannelsInput"} 2392 if s.Channels == nil { 2393 invalidParams.Add(request.NewErrParamRequired("Channels")) 2394 } 2395 if s.Channels != nil && len(s.Channels) < 1 { 2396 invalidParams.Add(request.NewErrParamMinLen("Channels", 1)) 2397 } 2398 if s.ProfilingGroupName == nil { 2399 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 2400 } 2401 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 2402 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 2403 } 2404 if s.Channels != nil { 2405 for i, v := range s.Channels { 2406 if v == nil { 2407 continue 2408 } 2409 if err := v.Validate(); err != nil { 2410 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Channels", i), err.(request.ErrInvalidParams)) 2411 } 2412 } 2413 } 2414 2415 if invalidParams.Len() > 0 { 2416 return invalidParams 2417 } 2418 return nil 2419} 2420 2421// SetChannels sets the Channels field's value. 2422func (s *AddNotificationChannelsInput) SetChannels(v []*Channel) *AddNotificationChannelsInput { 2423 s.Channels = v 2424 return s 2425} 2426 2427// SetProfilingGroupName sets the ProfilingGroupName field's value. 2428func (s *AddNotificationChannelsInput) SetProfilingGroupName(v string) *AddNotificationChannelsInput { 2429 s.ProfilingGroupName = &v 2430 return s 2431} 2432 2433// The structure representing the AddNotificationChannelsResponse. 2434type AddNotificationChannelsOutput struct { 2435 _ struct{} `type:"structure"` 2436 2437 // The new notification configuration for this profiling group. 2438 NotificationConfiguration *NotificationConfiguration `locationName:"notificationConfiguration" type:"structure"` 2439} 2440 2441// String returns the string representation 2442func (s AddNotificationChannelsOutput) String() string { 2443 return awsutil.Prettify(s) 2444} 2445 2446// GoString returns the string representation 2447func (s AddNotificationChannelsOutput) GoString() string { 2448 return s.String() 2449} 2450 2451// SetNotificationConfiguration sets the NotificationConfiguration field's value. 2452func (s *AddNotificationChannelsOutput) SetNotificationConfiguration(v *NotificationConfiguration) *AddNotificationChannelsOutput { 2453 s.NotificationConfiguration = v 2454 return s 2455} 2456 2457// The response of ConfigureAgent (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) 2458// that specifies if an agent profiles or not and for how long to return profiling 2459// data. 2460type AgentConfiguration struct { 2461 _ struct{} `type:"structure"` 2462 2463 // Parameters used by the profiler. The valid parameters are: 2464 // 2465 // * MaxStackDepth - The maximum depth of the stacks in the code that is 2466 // represented in the profile. For example, if CodeGuru Profiler finds a 2467 // method A, which calls method B, which calls method C, which calls method 2468 // D, then the depth is 4. If the maxDepth is set to 2, then the profiler 2469 // evaluates A and B. 2470 // 2471 // * MemoryUsageLimitPercent - The percentage of memory that is used by the 2472 // profiler. 2473 // 2474 // * MinimumTimeForReportingInMilliseconds - The minimum time in milliseconds 2475 // between sending reports. 2476 // 2477 // * ReportingIntervalInMilliseconds - The reporting interval in milliseconds 2478 // used to report profiles. 2479 // 2480 // * SamplingIntervalInMilliseconds - The sampling interval in milliseconds 2481 // that is used to profile samples. 2482 AgentParameters map[string]*string `locationName:"agentParameters" type:"map"` 2483 2484 // How long a profiling agent should send profiling data using ConfigureAgent 2485 // (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html). 2486 // For example, if this is set to 300, the profiling agent calls ConfigureAgent 2487 // (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) 2488 // every 5 minutes to submit the profiled data collected during that period. 2489 // 2490 // PeriodInSeconds is a required field 2491 PeriodInSeconds *int64 `locationName:"periodInSeconds" type:"integer" required:"true"` 2492 2493 // A Boolean that specifies whether the profiling agent collects profiling data 2494 // or not. Set to true to enable profiling. 2495 // 2496 // ShouldProfile is a required field 2497 ShouldProfile *bool `locationName:"shouldProfile" type:"boolean" required:"true"` 2498} 2499 2500// String returns the string representation 2501func (s AgentConfiguration) String() string { 2502 return awsutil.Prettify(s) 2503} 2504 2505// GoString returns the string representation 2506func (s AgentConfiguration) GoString() string { 2507 return s.String() 2508} 2509 2510// SetAgentParameters sets the AgentParameters field's value. 2511func (s *AgentConfiguration) SetAgentParameters(v map[string]*string) *AgentConfiguration { 2512 s.AgentParameters = v 2513 return s 2514} 2515 2516// SetPeriodInSeconds sets the PeriodInSeconds field's value. 2517func (s *AgentConfiguration) SetPeriodInSeconds(v int64) *AgentConfiguration { 2518 s.PeriodInSeconds = &v 2519 return s 2520} 2521 2522// SetShouldProfile sets the ShouldProfile field's value. 2523func (s *AgentConfiguration) SetShouldProfile(v bool) *AgentConfiguration { 2524 s.ShouldProfile = &v 2525 return s 2526} 2527 2528// Specifies whether profiling is enabled or disabled for a profiling group. 2529// It is used by ConfigureAgent (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) 2530// to enable or disable profiling for a profiling group. 2531type AgentOrchestrationConfig struct { 2532 _ struct{} `type:"structure"` 2533 2534 // A Boolean that specifies whether the profiling agent collects profiling data 2535 // or not. Set to true to enable profiling. 2536 // 2537 // ProfilingEnabled is a required field 2538 ProfilingEnabled *bool `locationName:"profilingEnabled" type:"boolean" required:"true"` 2539} 2540 2541// String returns the string representation 2542func (s AgentOrchestrationConfig) String() string { 2543 return awsutil.Prettify(s) 2544} 2545 2546// GoString returns the string representation 2547func (s AgentOrchestrationConfig) GoString() string { 2548 return s.String() 2549} 2550 2551// Validate inspects the fields of the type to determine if they are valid. 2552func (s *AgentOrchestrationConfig) Validate() error { 2553 invalidParams := request.ErrInvalidParams{Context: "AgentOrchestrationConfig"} 2554 if s.ProfilingEnabled == nil { 2555 invalidParams.Add(request.NewErrParamRequired("ProfilingEnabled")) 2556 } 2557 2558 if invalidParams.Len() > 0 { 2559 return invalidParams 2560 } 2561 return nil 2562} 2563 2564// SetProfilingEnabled sets the ProfilingEnabled field's value. 2565func (s *AgentOrchestrationConfig) SetProfilingEnabled(v bool) *AgentOrchestrationConfig { 2566 s.ProfilingEnabled = &v 2567 return s 2568} 2569 2570// Specifies the aggregation period and aggregation start time for an aggregated 2571// profile. An aggregated profile is used to collect posted agent profiles during 2572// an aggregation period. There are three possible aggregation periods (1 day, 2573// 1 hour, or 5 minutes). 2574type AggregatedProfileTime struct { 2575 _ struct{} `type:"structure"` 2576 2577 // The aggregation period. This indicates the period during which an aggregation 2578 // profile collects posted agent profiles for a profiling group. Use one of 2579 // three valid durations that are specified using the ISO 8601 format. 2580 // 2581 // * P1D — 1 day 2582 // 2583 // * PT1H — 1 hour 2584 // 2585 // * PT5M — 5 minutes 2586 Period *string `locationName:"period" type:"string" enum:"AggregationPeriod"` 2587 2588 // The time that aggregation of posted agent profiles for a profiling group 2589 // starts. The aggregation profile contains profiles posted by the agent starting 2590 // at this time for an aggregation period specified by the period property of 2591 // the AggregatedProfileTime object. 2592 // 2593 // Specify start using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2594 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2595 Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"` 2596} 2597 2598// String returns the string representation 2599func (s AggregatedProfileTime) String() string { 2600 return awsutil.Prettify(s) 2601} 2602 2603// GoString returns the string representation 2604func (s AggregatedProfileTime) GoString() string { 2605 return s.String() 2606} 2607 2608// SetPeriod sets the Period field's value. 2609func (s *AggregatedProfileTime) SetPeriod(v string) *AggregatedProfileTime { 2610 s.Period = &v 2611 return s 2612} 2613 2614// SetStart sets the Start field's value. 2615func (s *AggregatedProfileTime) SetStart(v time.Time) *AggregatedProfileTime { 2616 s.Start = &v 2617 return s 2618} 2619 2620// Details about an anomaly in a specific metric of application profile. The 2621// anomaly is detected using analysis of the metric data over a period of time. 2622type Anomaly struct { 2623 _ struct{} `type:"structure"` 2624 2625 // A list of the instances of the detected anomalies during the requested period. 2626 // 2627 // Instances is a required field 2628 Instances []*AnomalyInstance `locationName:"instances" type:"list" required:"true"` 2629 2630 // Details about the metric that the analysis used when it detected the anomaly. 2631 // The metric includes the name of the frame that was analyzed with the type 2632 // and thread states used to derive the metric value for that frame. 2633 // 2634 // Metric is a required field 2635 Metric *Metric `locationName:"metric" type:"structure" required:"true"` 2636 2637 // The reason for which metric was flagged as anomalous. 2638 // 2639 // Reason is a required field 2640 Reason *string `locationName:"reason" type:"string" required:"true"` 2641} 2642 2643// String returns the string representation 2644func (s Anomaly) String() string { 2645 return awsutil.Prettify(s) 2646} 2647 2648// GoString returns the string representation 2649func (s Anomaly) GoString() string { 2650 return s.String() 2651} 2652 2653// SetInstances sets the Instances field's value. 2654func (s *Anomaly) SetInstances(v []*AnomalyInstance) *Anomaly { 2655 s.Instances = v 2656 return s 2657} 2658 2659// SetMetric sets the Metric field's value. 2660func (s *Anomaly) SetMetric(v *Metric) *Anomaly { 2661 s.Metric = v 2662 return s 2663} 2664 2665// SetReason sets the Reason field's value. 2666func (s *Anomaly) SetReason(v string) *Anomaly { 2667 s.Reason = &v 2668 return s 2669} 2670 2671// The specific duration in which the metric is flagged as anomalous. 2672type AnomalyInstance struct { 2673 _ struct{} `type:"structure"` 2674 2675 // The end time of the period during which the metric is flagged as anomalous. 2676 // This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2677 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2678 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 2679 2680 // The universally unique identifier (UUID) of an instance of an anomaly in 2681 // a metric. 2682 // 2683 // Id is a required field 2684 Id *string `locationName:"id" type:"string" required:"true"` 2685 2686 // The start time of the period during which the metric is flagged as anomalous. 2687 // This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2688 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2689 // 2690 // StartTime is a required field 2691 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 2692 2693 // Feedback type on a specific instance of anomaly submitted by the user. 2694 UserFeedback *UserFeedback `locationName:"userFeedback" type:"structure"` 2695} 2696 2697// String returns the string representation 2698func (s AnomalyInstance) String() string { 2699 return awsutil.Prettify(s) 2700} 2701 2702// GoString returns the string representation 2703func (s AnomalyInstance) GoString() string { 2704 return s.String() 2705} 2706 2707// SetEndTime sets the EndTime field's value. 2708func (s *AnomalyInstance) SetEndTime(v time.Time) *AnomalyInstance { 2709 s.EndTime = &v 2710 return s 2711} 2712 2713// SetId sets the Id field's value. 2714func (s *AnomalyInstance) SetId(v string) *AnomalyInstance { 2715 s.Id = &v 2716 return s 2717} 2718 2719// SetStartTime sets the StartTime field's value. 2720func (s *AnomalyInstance) SetStartTime(v time.Time) *AnomalyInstance { 2721 s.StartTime = &v 2722 return s 2723} 2724 2725// SetUserFeedback sets the UserFeedback field's value. 2726func (s *AnomalyInstance) SetUserFeedback(v *UserFeedback) *AnomalyInstance { 2727 s.UserFeedback = v 2728 return s 2729} 2730 2731// The structure representing the BatchGetFrameMetricDataRequest. 2732type BatchGetFrameMetricDataInput struct { 2733 _ struct{} `type:"structure"` 2734 2735 // The end time of the time period for the returned time series values. This 2736 // is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2737 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2738 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 2739 2740 // The details of the metrics that are used to request a time series of values. 2741 // The metric includes the name of the frame, the aggregation type to calculate 2742 // the metric value for the frame, and the thread states to use to get the count 2743 // for the metric value of the frame. 2744 FrameMetrics []*FrameMetric `locationName:"frameMetrics" type:"list"` 2745 2746 // The duration of the frame metrics used to return the time series values. 2747 // Specify using the ISO 8601 format. The maximum period duration is one day 2748 // (PT24H or P1D). 2749 Period *string `location:"querystring" locationName:"period" min:"1" type:"string"` 2750 2751 // The name of the profiling group associated with the the frame metrics used 2752 // to return the time series values. 2753 // 2754 // ProfilingGroupName is a required field 2755 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 2756 2757 // The start time of the time period for the frame metrics used to return the 2758 // time series values. This is specified using the ISO 8601 format. For example, 2759 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 2760 // PM UTC. 2761 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"` 2762 2763 // The requested resolution of time steps for the returned time series of values. 2764 // If the requested target resolution is not available due to data not being 2765 // retained we provide a best effort result by falling back to the most granular 2766 // available resolution after the target resolution. There are 3 valid values. 2767 // 2768 // * P1D — 1 day 2769 // 2770 // * PT1H — 1 hour 2771 // 2772 // * PT5M — 5 minutes 2773 TargetResolution *string `location:"querystring" locationName:"targetResolution" type:"string" enum:"AggregationPeriod"` 2774} 2775 2776// String returns the string representation 2777func (s BatchGetFrameMetricDataInput) String() string { 2778 return awsutil.Prettify(s) 2779} 2780 2781// GoString returns the string representation 2782func (s BatchGetFrameMetricDataInput) GoString() string { 2783 return s.String() 2784} 2785 2786// Validate inspects the fields of the type to determine if they are valid. 2787func (s *BatchGetFrameMetricDataInput) Validate() error { 2788 invalidParams := request.ErrInvalidParams{Context: "BatchGetFrameMetricDataInput"} 2789 if s.Period != nil && len(*s.Period) < 1 { 2790 invalidParams.Add(request.NewErrParamMinLen("Period", 1)) 2791 } 2792 if s.ProfilingGroupName == nil { 2793 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 2794 } 2795 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 2796 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 2797 } 2798 if s.FrameMetrics != nil { 2799 for i, v := range s.FrameMetrics { 2800 if v == nil { 2801 continue 2802 } 2803 if err := v.Validate(); err != nil { 2804 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FrameMetrics", i), err.(request.ErrInvalidParams)) 2805 } 2806 } 2807 } 2808 2809 if invalidParams.Len() > 0 { 2810 return invalidParams 2811 } 2812 return nil 2813} 2814 2815// SetEndTime sets the EndTime field's value. 2816func (s *BatchGetFrameMetricDataInput) SetEndTime(v time.Time) *BatchGetFrameMetricDataInput { 2817 s.EndTime = &v 2818 return s 2819} 2820 2821// SetFrameMetrics sets the FrameMetrics field's value. 2822func (s *BatchGetFrameMetricDataInput) SetFrameMetrics(v []*FrameMetric) *BatchGetFrameMetricDataInput { 2823 s.FrameMetrics = v 2824 return s 2825} 2826 2827// SetPeriod sets the Period field's value. 2828func (s *BatchGetFrameMetricDataInput) SetPeriod(v string) *BatchGetFrameMetricDataInput { 2829 s.Period = &v 2830 return s 2831} 2832 2833// SetProfilingGroupName sets the ProfilingGroupName field's value. 2834func (s *BatchGetFrameMetricDataInput) SetProfilingGroupName(v string) *BatchGetFrameMetricDataInput { 2835 s.ProfilingGroupName = &v 2836 return s 2837} 2838 2839// SetStartTime sets the StartTime field's value. 2840func (s *BatchGetFrameMetricDataInput) SetStartTime(v time.Time) *BatchGetFrameMetricDataInput { 2841 s.StartTime = &v 2842 return s 2843} 2844 2845// SetTargetResolution sets the TargetResolution field's value. 2846func (s *BatchGetFrameMetricDataInput) SetTargetResolution(v string) *BatchGetFrameMetricDataInput { 2847 s.TargetResolution = &v 2848 return s 2849} 2850 2851// The structure representing the BatchGetFrameMetricDataResponse. 2852type BatchGetFrameMetricDataOutput struct { 2853 _ struct{} `type:"structure"` 2854 2855 // The end time of the time period for the returned time series values. This 2856 // is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2857 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2858 // 2859 // EndTime is a required field 2860 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 2861 2862 // List of instances, or time steps, in the time series. For example, if the 2863 // period is one day (PT24H)), and the resolution is five minutes (PT5M), then 2864 // there are 288 endTimes in the list that are each five minutes appart. 2865 // 2866 // EndTimes is a required field 2867 EndTimes []*TimestampStructure `locationName:"endTimes" type:"list" required:"true"` 2868 2869 // Details of the metrics to request a time series of values. The metric includes 2870 // the name of the frame, the aggregation type to calculate the metric value 2871 // for the frame, and the thread states to use to get the count for the metric 2872 // value of the frame. 2873 // 2874 // FrameMetricData is a required field 2875 FrameMetricData []*FrameMetricDatum `locationName:"frameMetricData" type:"list" required:"true"` 2876 2877 // Resolution or granularity of the profile data used to generate the time series. 2878 // This is the value used to jump through time steps in a time series. There 2879 // are 3 valid values. 2880 // 2881 // * P1D — 1 day 2882 // 2883 // * PT1H — 1 hour 2884 // 2885 // * PT5M — 5 minutes 2886 // 2887 // Resolution is a required field 2888 Resolution *string `locationName:"resolution" type:"string" required:"true" enum:"AggregationPeriod"` 2889 2890 // The start time of the time period for the returned time series values. This 2891 // is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2892 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2893 // 2894 // StartTime is a required field 2895 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 2896 2897 // List of instances which remained unprocessed. This will create a missing 2898 // time step in the list of end times. 2899 // 2900 // UnprocessedEndTimes is a required field 2901 UnprocessedEndTimes map[string][]*TimestampStructure `locationName:"unprocessedEndTimes" type:"map" required:"true"` 2902} 2903 2904// String returns the string representation 2905func (s BatchGetFrameMetricDataOutput) String() string { 2906 return awsutil.Prettify(s) 2907} 2908 2909// GoString returns the string representation 2910func (s BatchGetFrameMetricDataOutput) GoString() string { 2911 return s.String() 2912} 2913 2914// SetEndTime sets the EndTime field's value. 2915func (s *BatchGetFrameMetricDataOutput) SetEndTime(v time.Time) *BatchGetFrameMetricDataOutput { 2916 s.EndTime = &v 2917 return s 2918} 2919 2920// SetEndTimes sets the EndTimes field's value. 2921func (s *BatchGetFrameMetricDataOutput) SetEndTimes(v []*TimestampStructure) *BatchGetFrameMetricDataOutput { 2922 s.EndTimes = v 2923 return s 2924} 2925 2926// SetFrameMetricData sets the FrameMetricData field's value. 2927func (s *BatchGetFrameMetricDataOutput) SetFrameMetricData(v []*FrameMetricDatum) *BatchGetFrameMetricDataOutput { 2928 s.FrameMetricData = v 2929 return s 2930} 2931 2932// SetResolution sets the Resolution field's value. 2933func (s *BatchGetFrameMetricDataOutput) SetResolution(v string) *BatchGetFrameMetricDataOutput { 2934 s.Resolution = &v 2935 return s 2936} 2937 2938// SetStartTime sets the StartTime field's value. 2939func (s *BatchGetFrameMetricDataOutput) SetStartTime(v time.Time) *BatchGetFrameMetricDataOutput { 2940 s.StartTime = &v 2941 return s 2942} 2943 2944// SetUnprocessedEndTimes sets the UnprocessedEndTimes field's value. 2945func (s *BatchGetFrameMetricDataOutput) SetUnprocessedEndTimes(v map[string][]*TimestampStructure) *BatchGetFrameMetricDataOutput { 2946 s.UnprocessedEndTimes = v 2947 return s 2948} 2949 2950// Notification medium for users to get alerted for events that occur in application 2951// profile. We support SNS topic as a notification channel. 2952type Channel struct { 2953 _ struct{} `type:"structure"` 2954 2955 // List of publishers for different type of events that may be detected in an 2956 // application from the profile. Anomaly detection is the only event publisher 2957 // in Profiler. 2958 // 2959 // EventPublishers is a required field 2960 EventPublishers []*string `locationName:"eventPublishers" min:"1" type:"list" required:"true"` 2961 2962 // Unique identifier for each Channel in the notification configuration of a 2963 // Profiling Group. A random UUID for channelId is used when adding a channel 2964 // to the notification configuration if not specified in the request. 2965 Id *string `locationName:"id" type:"string"` 2966 2967 // Unique arn of the resource to be used for notifications. We support a valid 2968 // SNS topic arn as a channel uri. 2969 // 2970 // Uri is a required field 2971 Uri *string `locationName:"uri" type:"string" required:"true"` 2972} 2973 2974// String returns the string representation 2975func (s Channel) String() string { 2976 return awsutil.Prettify(s) 2977} 2978 2979// GoString returns the string representation 2980func (s Channel) GoString() string { 2981 return s.String() 2982} 2983 2984// Validate inspects the fields of the type to determine if they are valid. 2985func (s *Channel) Validate() error { 2986 invalidParams := request.ErrInvalidParams{Context: "Channel"} 2987 if s.EventPublishers == nil { 2988 invalidParams.Add(request.NewErrParamRequired("EventPublishers")) 2989 } 2990 if s.EventPublishers != nil && len(s.EventPublishers) < 1 { 2991 invalidParams.Add(request.NewErrParamMinLen("EventPublishers", 1)) 2992 } 2993 if s.Uri == nil { 2994 invalidParams.Add(request.NewErrParamRequired("Uri")) 2995 } 2996 2997 if invalidParams.Len() > 0 { 2998 return invalidParams 2999 } 3000 return nil 3001} 3002 3003// SetEventPublishers sets the EventPublishers field's value. 3004func (s *Channel) SetEventPublishers(v []*string) *Channel { 3005 s.EventPublishers = v 3006 return s 3007} 3008 3009// SetId sets the Id field's value. 3010func (s *Channel) SetId(v string) *Channel { 3011 s.Id = &v 3012 return s 3013} 3014 3015// SetUri sets the Uri field's value. 3016func (s *Channel) SetUri(v string) *Channel { 3017 s.Uri = &v 3018 return s 3019} 3020 3021// The structure representing the configureAgentRequest. 3022type ConfigureAgentInput struct { 3023 _ struct{} `type:"structure"` 3024 3025 // A universally unique identifier (UUID) for a profiling instance. For example, 3026 // if the profiling instance is an Amazon EC2 instance, it is the instance ID. 3027 // If it is an AWS Fargate container, it is the container's task ID. 3028 FleetInstanceId *string `locationName:"fleetInstanceId" min:"1" type:"string"` 3029 3030 // Metadata captured about the compute platform the agent is running on. It 3031 // includes information about sampling and reporting. The valid fields are: 3032 // 3033 // * COMPUTE_PLATFORM - The compute platform on which the agent is running 3034 // 3035 // * AGENT_ID - The ID for an agent instance. 3036 // 3037 // * AWS_REQUEST_ID - The AWS request ID of a Lambda invocation. 3038 // 3039 // * EXECUTION_ENVIRONMENT - The execution environment a Lambda function 3040 // is running on. 3041 // 3042 // * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used to 3043 // invoke a Lambda function. 3044 // 3045 // * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda function. 3046 // 3047 // * LAMBDA_REMAINING_TIME_IN_MILLISECONDS - The time in milliseconds before 3048 // execution of a Lambda function times out. 3049 // 3050 // * LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - The time in milliseconds 3051 // between two invocations of a Lambda function. 3052 // 3053 // * LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The time in milliseconds 3054 // for the previous Lambda invocation. 3055 Metadata map[string]*string `locationName:"metadata" type:"map"` 3056 3057 // The name of the profiling group for which the configured agent is collecting 3058 // profiling data. 3059 // 3060 // ProfilingGroupName is a required field 3061 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3062} 3063 3064// String returns the string representation 3065func (s ConfigureAgentInput) String() string { 3066 return awsutil.Prettify(s) 3067} 3068 3069// GoString returns the string representation 3070func (s ConfigureAgentInput) GoString() string { 3071 return s.String() 3072} 3073 3074// Validate inspects the fields of the type to determine if they are valid. 3075func (s *ConfigureAgentInput) Validate() error { 3076 invalidParams := request.ErrInvalidParams{Context: "ConfigureAgentInput"} 3077 if s.FleetInstanceId != nil && len(*s.FleetInstanceId) < 1 { 3078 invalidParams.Add(request.NewErrParamMinLen("FleetInstanceId", 1)) 3079 } 3080 if s.ProfilingGroupName == nil { 3081 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3082 } 3083 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3084 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3085 } 3086 3087 if invalidParams.Len() > 0 { 3088 return invalidParams 3089 } 3090 return nil 3091} 3092 3093// SetFleetInstanceId sets the FleetInstanceId field's value. 3094func (s *ConfigureAgentInput) SetFleetInstanceId(v string) *ConfigureAgentInput { 3095 s.FleetInstanceId = &v 3096 return s 3097} 3098 3099// SetMetadata sets the Metadata field's value. 3100func (s *ConfigureAgentInput) SetMetadata(v map[string]*string) *ConfigureAgentInput { 3101 s.Metadata = v 3102 return s 3103} 3104 3105// SetProfilingGroupName sets the ProfilingGroupName field's value. 3106func (s *ConfigureAgentInput) SetProfilingGroupName(v string) *ConfigureAgentInput { 3107 s.ProfilingGroupName = &v 3108 return s 3109} 3110 3111// The structure representing the configureAgentResponse. 3112type ConfigureAgentOutput struct { 3113 _ struct{} `type:"structure" payload:"Configuration"` 3114 3115 // An AgentConfiguration (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentConfiguration.html) 3116 // object that specifies if an agent profiles or not and for how long to return 3117 // profiling data. 3118 // 3119 // Configuration is a required field 3120 Configuration *AgentConfiguration `locationName:"configuration" type:"structure" required:"true"` 3121} 3122 3123// String returns the string representation 3124func (s ConfigureAgentOutput) String() string { 3125 return awsutil.Prettify(s) 3126} 3127 3128// GoString returns the string representation 3129func (s ConfigureAgentOutput) GoString() string { 3130 return s.String() 3131} 3132 3133// SetConfiguration sets the Configuration field's value. 3134func (s *ConfigureAgentOutput) SetConfiguration(v *AgentConfiguration) *ConfigureAgentOutput { 3135 s.Configuration = v 3136 return s 3137} 3138 3139// The requested operation would cause a conflict with the current state of 3140// a service resource associated with the request. Resolve the conflict before 3141// retrying this request. 3142type ConflictException struct { 3143 _ struct{} `type:"structure"` 3144 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3145 3146 Message_ *string `locationName:"message" type:"string"` 3147} 3148 3149// String returns the string representation 3150func (s ConflictException) String() string { 3151 return awsutil.Prettify(s) 3152} 3153 3154// GoString returns the string representation 3155func (s ConflictException) GoString() string { 3156 return s.String() 3157} 3158 3159func newErrorConflictException(v protocol.ResponseMetadata) error { 3160 return &ConflictException{ 3161 RespMetadata: v, 3162 } 3163} 3164 3165// Code returns the exception type name. 3166func (s *ConflictException) Code() string { 3167 return "ConflictException" 3168} 3169 3170// Message returns the exception's message. 3171func (s *ConflictException) Message() string { 3172 if s.Message_ != nil { 3173 return *s.Message_ 3174 } 3175 return "" 3176} 3177 3178// OrigErr always returns nil, satisfies awserr.Error interface. 3179func (s *ConflictException) OrigErr() error { 3180 return nil 3181} 3182 3183func (s *ConflictException) Error() string { 3184 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3185} 3186 3187// Status code returns the HTTP status code for the request's response error. 3188func (s *ConflictException) StatusCode() int { 3189 return s.RespMetadata.StatusCode 3190} 3191 3192// RequestID returns the service's response RequestID for request. 3193func (s *ConflictException) RequestID() string { 3194 return s.RespMetadata.RequestID 3195} 3196 3197// The structure representing the createProfiliingGroupRequest. 3198type CreateProfilingGroupInput struct { 3199 _ struct{} `type:"structure"` 3200 3201 // Specifies whether profiling is enabled or disabled for the created profiling 3202 // group. 3203 AgentOrchestrationConfig *AgentOrchestrationConfig `locationName:"agentOrchestrationConfig" type:"structure"` 3204 3205 // Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to 3206 // prevent the accidental creation of duplicate profiling groups if there are 3207 // failures and retries. 3208 ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 3209 3210 // The compute platform of the profiling group. Use AWSLambda if your application 3211 // runs on AWS Lambda. Use Default if your application runs on a compute platform 3212 // that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, 3213 // or a different platform. If not specified, Default is used. 3214 ComputePlatform *string `locationName:"computePlatform" type:"string" enum:"ComputePlatform"` 3215 3216 // The name of the profiling group to create. 3217 // 3218 // ProfilingGroupName is a required field 3219 ProfilingGroupName *string `locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3220 3221 // A list of tags to add to the created profiling group. 3222 Tags map[string]*string `locationName:"tags" type:"map"` 3223} 3224 3225// String returns the string representation 3226func (s CreateProfilingGroupInput) String() string { 3227 return awsutil.Prettify(s) 3228} 3229 3230// GoString returns the string representation 3231func (s CreateProfilingGroupInput) GoString() string { 3232 return s.String() 3233} 3234 3235// Validate inspects the fields of the type to determine if they are valid. 3236func (s *CreateProfilingGroupInput) Validate() error { 3237 invalidParams := request.ErrInvalidParams{Context: "CreateProfilingGroupInput"} 3238 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 3239 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 3240 } 3241 if s.ProfilingGroupName == nil { 3242 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3243 } 3244 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3245 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3246 } 3247 if s.AgentOrchestrationConfig != nil { 3248 if err := s.AgentOrchestrationConfig.Validate(); err != nil { 3249 invalidParams.AddNested("AgentOrchestrationConfig", err.(request.ErrInvalidParams)) 3250 } 3251 } 3252 3253 if invalidParams.Len() > 0 { 3254 return invalidParams 3255 } 3256 return nil 3257} 3258 3259// SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 3260func (s *CreateProfilingGroupInput) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *CreateProfilingGroupInput { 3261 s.AgentOrchestrationConfig = v 3262 return s 3263} 3264 3265// SetClientToken sets the ClientToken field's value. 3266func (s *CreateProfilingGroupInput) SetClientToken(v string) *CreateProfilingGroupInput { 3267 s.ClientToken = &v 3268 return s 3269} 3270 3271// SetComputePlatform sets the ComputePlatform field's value. 3272func (s *CreateProfilingGroupInput) SetComputePlatform(v string) *CreateProfilingGroupInput { 3273 s.ComputePlatform = &v 3274 return s 3275} 3276 3277// SetProfilingGroupName sets the ProfilingGroupName field's value. 3278func (s *CreateProfilingGroupInput) SetProfilingGroupName(v string) *CreateProfilingGroupInput { 3279 s.ProfilingGroupName = &v 3280 return s 3281} 3282 3283// SetTags sets the Tags field's value. 3284func (s *CreateProfilingGroupInput) SetTags(v map[string]*string) *CreateProfilingGroupInput { 3285 s.Tags = v 3286 return s 3287} 3288 3289// The structure representing the createProfilingGroupResponse. 3290type CreateProfilingGroupOutput struct { 3291 _ struct{} `type:"structure" payload:"ProfilingGroup"` 3292 3293 // The returned ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 3294 // object that contains information about the created profiling group. 3295 // 3296 // ProfilingGroup is a required field 3297 ProfilingGroup *ProfilingGroupDescription `locationName:"profilingGroup" type:"structure" required:"true"` 3298} 3299 3300// String returns the string representation 3301func (s CreateProfilingGroupOutput) String() string { 3302 return awsutil.Prettify(s) 3303} 3304 3305// GoString returns the string representation 3306func (s CreateProfilingGroupOutput) GoString() string { 3307 return s.String() 3308} 3309 3310// SetProfilingGroup sets the ProfilingGroup field's value. 3311func (s *CreateProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *CreateProfilingGroupOutput { 3312 s.ProfilingGroup = v 3313 return s 3314} 3315 3316// The structure representing the deleteProfilingGroupRequest. 3317type DeleteProfilingGroupInput struct { 3318 _ struct{} `type:"structure"` 3319 3320 // The name of the profiling group to delete. 3321 // 3322 // ProfilingGroupName is a required field 3323 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3324} 3325 3326// String returns the string representation 3327func (s DeleteProfilingGroupInput) String() string { 3328 return awsutil.Prettify(s) 3329} 3330 3331// GoString returns the string representation 3332func (s DeleteProfilingGroupInput) GoString() string { 3333 return s.String() 3334} 3335 3336// Validate inspects the fields of the type to determine if they are valid. 3337func (s *DeleteProfilingGroupInput) Validate() error { 3338 invalidParams := request.ErrInvalidParams{Context: "DeleteProfilingGroupInput"} 3339 if s.ProfilingGroupName == nil { 3340 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3341 } 3342 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3343 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3344 } 3345 3346 if invalidParams.Len() > 0 { 3347 return invalidParams 3348 } 3349 return nil 3350} 3351 3352// SetProfilingGroupName sets the ProfilingGroupName field's value. 3353func (s *DeleteProfilingGroupInput) SetProfilingGroupName(v string) *DeleteProfilingGroupInput { 3354 s.ProfilingGroupName = &v 3355 return s 3356} 3357 3358// The structure representing the deleteProfilingGroupResponse. 3359type DeleteProfilingGroupOutput struct { 3360 _ struct{} `type:"structure"` 3361} 3362 3363// String returns the string representation 3364func (s DeleteProfilingGroupOutput) String() string { 3365 return awsutil.Prettify(s) 3366} 3367 3368// GoString returns the string representation 3369func (s DeleteProfilingGroupOutput) GoString() string { 3370 return s.String() 3371} 3372 3373// The structure representing the describeProfilingGroupRequest. 3374type DescribeProfilingGroupInput struct { 3375 _ struct{} `type:"structure"` 3376 3377 // The name of the profiling group to get information about. 3378 // 3379 // ProfilingGroupName is a required field 3380 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3381} 3382 3383// String returns the string representation 3384func (s DescribeProfilingGroupInput) String() string { 3385 return awsutil.Prettify(s) 3386} 3387 3388// GoString returns the string representation 3389func (s DescribeProfilingGroupInput) GoString() string { 3390 return s.String() 3391} 3392 3393// Validate inspects the fields of the type to determine if they are valid. 3394func (s *DescribeProfilingGroupInput) Validate() error { 3395 invalidParams := request.ErrInvalidParams{Context: "DescribeProfilingGroupInput"} 3396 if s.ProfilingGroupName == nil { 3397 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3398 } 3399 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3400 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3401 } 3402 3403 if invalidParams.Len() > 0 { 3404 return invalidParams 3405 } 3406 return nil 3407} 3408 3409// SetProfilingGroupName sets the ProfilingGroupName field's value. 3410func (s *DescribeProfilingGroupInput) SetProfilingGroupName(v string) *DescribeProfilingGroupInput { 3411 s.ProfilingGroupName = &v 3412 return s 3413} 3414 3415// The structure representing the describeProfilingGroupResponse. 3416type DescribeProfilingGroupOutput struct { 3417 _ struct{} `type:"structure" payload:"ProfilingGroup"` 3418 3419 // The returned ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 3420 // object that contains information about the requested profiling group. 3421 // 3422 // ProfilingGroup is a required field 3423 ProfilingGroup *ProfilingGroupDescription `locationName:"profilingGroup" type:"structure" required:"true"` 3424} 3425 3426// String returns the string representation 3427func (s DescribeProfilingGroupOutput) String() string { 3428 return awsutil.Prettify(s) 3429} 3430 3431// GoString returns the string representation 3432func (s DescribeProfilingGroupOutput) GoString() string { 3433 return s.String() 3434} 3435 3436// SetProfilingGroup sets the ProfilingGroup field's value. 3437func (s *DescribeProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *DescribeProfilingGroupOutput { 3438 s.ProfilingGroup = v 3439 return s 3440} 3441 3442// Information about potential recommendations that might be created from the 3443// analysis of profiling data. 3444type FindingsReportSummary struct { 3445 _ struct{} `type:"structure"` 3446 3447 // The universally unique identifier (UUID) of the recommendation report. 3448 Id *string `locationName:"id" type:"string"` 3449 3450 // The end time of the period during which the metric is flagged as anomalous. 3451 // This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 3452 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 3453 ProfileEndTime *time.Time `locationName:"profileEndTime" type:"timestamp" timestampFormat:"iso8601"` 3454 3455 // The start time of the profile the analysis data is about. This is specified 3456 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 3457 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 3458 ProfileStartTime *time.Time `locationName:"profileStartTime" type:"timestamp" timestampFormat:"iso8601"` 3459 3460 // The name of the profiling group that is associated with the analysis data. 3461 ProfilingGroupName *string `locationName:"profilingGroupName" type:"string"` 3462 3463 // The total number of different recommendations that were found by the analysis. 3464 TotalNumberOfFindings *int64 `locationName:"totalNumberOfFindings" type:"integer"` 3465} 3466 3467// String returns the string representation 3468func (s FindingsReportSummary) String() string { 3469 return awsutil.Prettify(s) 3470} 3471 3472// GoString returns the string representation 3473func (s FindingsReportSummary) GoString() string { 3474 return s.String() 3475} 3476 3477// SetId sets the Id field's value. 3478func (s *FindingsReportSummary) SetId(v string) *FindingsReportSummary { 3479 s.Id = &v 3480 return s 3481} 3482 3483// SetProfileEndTime sets the ProfileEndTime field's value. 3484func (s *FindingsReportSummary) SetProfileEndTime(v time.Time) *FindingsReportSummary { 3485 s.ProfileEndTime = &v 3486 return s 3487} 3488 3489// SetProfileStartTime sets the ProfileStartTime field's value. 3490func (s *FindingsReportSummary) SetProfileStartTime(v time.Time) *FindingsReportSummary { 3491 s.ProfileStartTime = &v 3492 return s 3493} 3494 3495// SetProfilingGroupName sets the ProfilingGroupName field's value. 3496func (s *FindingsReportSummary) SetProfilingGroupName(v string) *FindingsReportSummary { 3497 s.ProfilingGroupName = &v 3498 return s 3499} 3500 3501// SetTotalNumberOfFindings sets the TotalNumberOfFindings field's value. 3502func (s *FindingsReportSummary) SetTotalNumberOfFindings(v int64) *FindingsReportSummary { 3503 s.TotalNumberOfFindings = &v 3504 return s 3505} 3506 3507// The frame name, metric type, and thread states. These are used to derive 3508// the value of the metric for the frame. 3509type FrameMetric struct { 3510 _ struct{} `type:"structure"` 3511 3512 // Name of the method common across the multiple occurrences of a frame in an 3513 // application profile. 3514 // 3515 // FrameName is a required field 3516 FrameName *string `locationName:"frameName" type:"string" required:"true"` 3517 3518 // List of application runtime thread states used to get the counts for a frame 3519 // a derive a metric value. 3520 // 3521 // ThreadStates is a required field 3522 ThreadStates []*string `locationName:"threadStates" type:"list" required:"true"` 3523 3524 // A type of aggregation that specifies how a metric for a frame is analyzed. 3525 // The supported value AggregatedRelativeTotalTime is an aggregation of the 3526 // metric value for one frame that is calculated across the occurrences of all 3527 // frames in a profile. 3528 // 3529 // Type is a required field 3530 Type *string `locationName:"type" type:"string" required:"true" enum:"MetricType"` 3531} 3532 3533// String returns the string representation 3534func (s FrameMetric) String() string { 3535 return awsutil.Prettify(s) 3536} 3537 3538// GoString returns the string representation 3539func (s FrameMetric) GoString() string { 3540 return s.String() 3541} 3542 3543// Validate inspects the fields of the type to determine if they are valid. 3544func (s *FrameMetric) Validate() error { 3545 invalidParams := request.ErrInvalidParams{Context: "FrameMetric"} 3546 if s.FrameName == nil { 3547 invalidParams.Add(request.NewErrParamRequired("FrameName")) 3548 } 3549 if s.ThreadStates == nil { 3550 invalidParams.Add(request.NewErrParamRequired("ThreadStates")) 3551 } 3552 if s.Type == nil { 3553 invalidParams.Add(request.NewErrParamRequired("Type")) 3554 } 3555 3556 if invalidParams.Len() > 0 { 3557 return invalidParams 3558 } 3559 return nil 3560} 3561 3562// SetFrameName sets the FrameName field's value. 3563func (s *FrameMetric) SetFrameName(v string) *FrameMetric { 3564 s.FrameName = &v 3565 return s 3566} 3567 3568// SetThreadStates sets the ThreadStates field's value. 3569func (s *FrameMetric) SetThreadStates(v []*string) *FrameMetric { 3570 s.ThreadStates = v 3571 return s 3572} 3573 3574// SetType sets the Type field's value. 3575func (s *FrameMetric) SetType(v string) *FrameMetric { 3576 s.Type = &v 3577 return s 3578} 3579 3580// Information about a frame metric and its values. 3581type FrameMetricDatum struct { 3582 _ struct{} `type:"structure"` 3583 3584 // The frame name, metric type, and thread states. These are used to derive 3585 // the value of the metric for the frame. 3586 // 3587 // FrameMetric is a required field 3588 FrameMetric *FrameMetric `locationName:"frameMetric" type:"structure" required:"true"` 3589 3590 // A list of values that are associated with a frame metric. 3591 // 3592 // Values is a required field 3593 Values []*float64 `locationName:"values" type:"list" required:"true"` 3594} 3595 3596// String returns the string representation 3597func (s FrameMetricDatum) String() string { 3598 return awsutil.Prettify(s) 3599} 3600 3601// GoString returns the string representation 3602func (s FrameMetricDatum) GoString() string { 3603 return s.String() 3604} 3605 3606// SetFrameMetric sets the FrameMetric field's value. 3607func (s *FrameMetricDatum) SetFrameMetric(v *FrameMetric) *FrameMetricDatum { 3608 s.FrameMetric = v 3609 return s 3610} 3611 3612// SetValues sets the Values field's value. 3613func (s *FrameMetricDatum) SetValues(v []*float64) *FrameMetricDatum { 3614 s.Values = v 3615 return s 3616} 3617 3618// The structure representing the GetFindingsReportAccountSummaryRequest. 3619type GetFindingsReportAccountSummaryInput struct { 3620 _ struct{} `type:"structure"` 3621 3622 // A Boolean value indicating whether to only return reports from daily profiles. 3623 // If set to True, only analysis data from daily profiles is returned. If set 3624 // to False, analysis data is returned from smaller time windows (for example, 3625 // one hour). 3626 DailyReportsOnly *bool `location:"querystring" locationName:"dailyReportsOnly" type:"boolean"` 3627 3628 // The maximum number of results returned by GetFindingsReportAccountSummary 3629 // in paginated output. When this parameter is used, GetFindingsReportAccountSummary 3630 // only returns maxResults results in a single page along with a nextToken response 3631 // element. The remaining results of the initial request can be seen by sending 3632 // another GetFindingsReportAccountSummary request with the returned nextToken 3633 // value. 3634 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3635 3636 // The nextToken value returned from a previous paginated GetFindingsReportAccountSummary 3637 // request where maxResults was used and the results exceeded the value of that 3638 // parameter. Pagination continues from the end of the previous results that 3639 // returned the nextToken value. 3640 // 3641 // This token should be treated as an opaque identifier that is only used to 3642 // retrieve the next items in a list and not for other programmatic purposes. 3643 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3644} 3645 3646// String returns the string representation 3647func (s GetFindingsReportAccountSummaryInput) String() string { 3648 return awsutil.Prettify(s) 3649} 3650 3651// GoString returns the string representation 3652func (s GetFindingsReportAccountSummaryInput) GoString() string { 3653 return s.String() 3654} 3655 3656// Validate inspects the fields of the type to determine if they are valid. 3657func (s *GetFindingsReportAccountSummaryInput) Validate() error { 3658 invalidParams := request.ErrInvalidParams{Context: "GetFindingsReportAccountSummaryInput"} 3659 if s.MaxResults != nil && *s.MaxResults < 1 { 3660 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3661 } 3662 if s.NextToken != nil && len(*s.NextToken) < 1 { 3663 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3664 } 3665 3666 if invalidParams.Len() > 0 { 3667 return invalidParams 3668 } 3669 return nil 3670} 3671 3672// SetDailyReportsOnly sets the DailyReportsOnly field's value. 3673func (s *GetFindingsReportAccountSummaryInput) SetDailyReportsOnly(v bool) *GetFindingsReportAccountSummaryInput { 3674 s.DailyReportsOnly = &v 3675 return s 3676} 3677 3678// SetMaxResults sets the MaxResults field's value. 3679func (s *GetFindingsReportAccountSummaryInput) SetMaxResults(v int64) *GetFindingsReportAccountSummaryInput { 3680 s.MaxResults = &v 3681 return s 3682} 3683 3684// SetNextToken sets the NextToken field's value. 3685func (s *GetFindingsReportAccountSummaryInput) SetNextToken(v string) *GetFindingsReportAccountSummaryInput { 3686 s.NextToken = &v 3687 return s 3688} 3689 3690// The structure representing the GetFindingsReportAccountSummaryResponse. 3691type GetFindingsReportAccountSummaryOutput struct { 3692 _ struct{} `type:"structure"` 3693 3694 // The nextToken value to include in a future GetFindingsReportAccountSummary 3695 // request. When the results of a GetFindingsReportAccountSummary request exceed 3696 // maxResults, this value can be used to retrieve the next page of results. 3697 // This value is null when there are no more results to return. 3698 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3699 3700 // The return list of FindingsReportSummary (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html) 3701 // objects taht contain summaries of analysis results for all profiling groups 3702 // in your AWS account. 3703 // 3704 // ReportSummaries is a required field 3705 ReportSummaries []*FindingsReportSummary `locationName:"reportSummaries" type:"list" required:"true"` 3706} 3707 3708// String returns the string representation 3709func (s GetFindingsReportAccountSummaryOutput) String() string { 3710 return awsutil.Prettify(s) 3711} 3712 3713// GoString returns the string representation 3714func (s GetFindingsReportAccountSummaryOutput) GoString() string { 3715 return s.String() 3716} 3717 3718// SetNextToken sets the NextToken field's value. 3719func (s *GetFindingsReportAccountSummaryOutput) SetNextToken(v string) *GetFindingsReportAccountSummaryOutput { 3720 s.NextToken = &v 3721 return s 3722} 3723 3724// SetReportSummaries sets the ReportSummaries field's value. 3725func (s *GetFindingsReportAccountSummaryOutput) SetReportSummaries(v []*FindingsReportSummary) *GetFindingsReportAccountSummaryOutput { 3726 s.ReportSummaries = v 3727 return s 3728} 3729 3730// The structure representing the GetNotificationConfigurationRequest. 3731type GetNotificationConfigurationInput struct { 3732 _ struct{} `type:"structure"` 3733 3734 // The name of the profiling group we want to get the notification configuration 3735 // for. 3736 // 3737 // ProfilingGroupName is a required field 3738 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3739} 3740 3741// String returns the string representation 3742func (s GetNotificationConfigurationInput) String() string { 3743 return awsutil.Prettify(s) 3744} 3745 3746// GoString returns the string representation 3747func (s GetNotificationConfigurationInput) GoString() string { 3748 return s.String() 3749} 3750 3751// Validate inspects the fields of the type to determine if they are valid. 3752func (s *GetNotificationConfigurationInput) Validate() error { 3753 invalidParams := request.ErrInvalidParams{Context: "GetNotificationConfigurationInput"} 3754 if s.ProfilingGroupName == nil { 3755 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3756 } 3757 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3758 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3759 } 3760 3761 if invalidParams.Len() > 0 { 3762 return invalidParams 3763 } 3764 return nil 3765} 3766 3767// SetProfilingGroupName sets the ProfilingGroupName field's value. 3768func (s *GetNotificationConfigurationInput) SetProfilingGroupName(v string) *GetNotificationConfigurationInput { 3769 s.ProfilingGroupName = &v 3770 return s 3771} 3772 3773// The structure representing the GetNotificationConfigurationResponse. 3774type GetNotificationConfigurationOutput struct { 3775 _ struct{} `type:"structure"` 3776 3777 // The current notification configuration for this profiling group. 3778 // 3779 // NotificationConfiguration is a required field 3780 NotificationConfiguration *NotificationConfiguration `locationName:"notificationConfiguration" type:"structure" required:"true"` 3781} 3782 3783// String returns the string representation 3784func (s GetNotificationConfigurationOutput) String() string { 3785 return awsutil.Prettify(s) 3786} 3787 3788// GoString returns the string representation 3789func (s GetNotificationConfigurationOutput) GoString() string { 3790 return s.String() 3791} 3792 3793// SetNotificationConfiguration sets the NotificationConfiguration field's value. 3794func (s *GetNotificationConfigurationOutput) SetNotificationConfiguration(v *NotificationConfiguration) *GetNotificationConfigurationOutput { 3795 s.NotificationConfiguration = v 3796 return s 3797} 3798 3799// The structure representing the getPolicyRequest. 3800type GetPolicyInput struct { 3801 _ struct{} `type:"structure"` 3802 3803 // The name of the profiling group. 3804 // 3805 // ProfilingGroupName is a required field 3806 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3807} 3808 3809// String returns the string representation 3810func (s GetPolicyInput) String() string { 3811 return awsutil.Prettify(s) 3812} 3813 3814// GoString returns the string representation 3815func (s GetPolicyInput) GoString() string { 3816 return s.String() 3817} 3818 3819// Validate inspects the fields of the type to determine if they are valid. 3820func (s *GetPolicyInput) Validate() error { 3821 invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} 3822 if s.ProfilingGroupName == nil { 3823 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3824 } 3825 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3826 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3827 } 3828 3829 if invalidParams.Len() > 0 { 3830 return invalidParams 3831 } 3832 return nil 3833} 3834 3835// SetProfilingGroupName sets the ProfilingGroupName field's value. 3836func (s *GetPolicyInput) SetProfilingGroupName(v string) *GetPolicyInput { 3837 s.ProfilingGroupName = &v 3838 return s 3839} 3840 3841// The structure representing the getPolicyResponse. 3842type GetPolicyOutput struct { 3843 _ struct{} `type:"structure"` 3844 3845 // The JSON-formatted resource-based policy attached to the ProfilingGroup. 3846 // 3847 // Policy is a required field 3848 Policy *string `locationName:"policy" type:"string" required:"true"` 3849 3850 // A unique identifier for the current revision of the returned policy. 3851 // 3852 // RevisionId is a required field 3853 RevisionId *string `locationName:"revisionId" type:"string" required:"true"` 3854} 3855 3856// String returns the string representation 3857func (s GetPolicyOutput) String() string { 3858 return awsutil.Prettify(s) 3859} 3860 3861// GoString returns the string representation 3862func (s GetPolicyOutput) GoString() string { 3863 return s.String() 3864} 3865 3866// SetPolicy sets the Policy field's value. 3867func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { 3868 s.Policy = &v 3869 return s 3870} 3871 3872// SetRevisionId sets the RevisionId field's value. 3873func (s *GetPolicyOutput) SetRevisionId(v string) *GetPolicyOutput { 3874 s.RevisionId = &v 3875 return s 3876} 3877 3878// The structure representing the getProfileRequest. 3879type GetProfileInput struct { 3880 _ struct{} `type:"structure"` 3881 3882 // The format of the returned profiling data. The format maps to the Accept 3883 // and Content-Type headers of the HTTP request. You can specify one of the 3884 // following: or the default . 3885 // 3886 // <ul> <li> <p> <code>application/json</code> — standard JSON format </p> 3887 // </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion 3888 // data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon 3889 // Ion</a>. </p> </li> </ul> 3890 Accept *string `location:"header" locationName:"Accept" type:"string"` 3891 3892 // The end time of the requested profile. Specify using the ISO 8601 format. 3893 // For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 3894 // 1, 2020 1:15:02 PM UTC. 3895 // 3896 // If you specify endTime, then you must also specify period or startTime, but 3897 // not both. 3898 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 3899 3900 // The maximum depth of the stacks in the code that is represented in the aggregated 3901 // profile. For example, if CodeGuru Profiler finds a method A, which calls 3902 // method B, which calls method C, which calls method D, then the depth is 4. 3903 // If the maxDepth is set to 2, then the aggregated profile contains representations 3904 // of methods A and B. 3905 MaxDepth *int64 `location:"querystring" locationName:"maxDepth" min:"1" type:"integer"` 3906 3907 // Used with startTime or endTime to specify the time range for the returned 3908 // aggregated profile. Specify using the ISO 8601 format. For example, P1DT1H1M1S. 3909 // 3910 // <p> To get the latest aggregated profile, specify only <code>period</code>. 3911 // </p> 3912 Period *string `location:"querystring" locationName:"period" min:"1" type:"string"` 3913 3914 // The name of the profiling group to get. 3915 // 3916 // ProfilingGroupName is a required field 3917 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3918 3919 // The start time of the profile to get. Specify using the ISO 8601 format. 3920 // For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 3921 // 1, 2020 1:15:02 PM UTC. 3922 // 3923 // <p> If you specify <code>startTime</code>, then you must also specify 3924 // <code>period</code> or <code>endTime</code>, but not both. </p> 3925 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"` 3926} 3927 3928// String returns the string representation 3929func (s GetProfileInput) String() string { 3930 return awsutil.Prettify(s) 3931} 3932 3933// GoString returns the string representation 3934func (s GetProfileInput) GoString() string { 3935 return s.String() 3936} 3937 3938// Validate inspects the fields of the type to determine if they are valid. 3939func (s *GetProfileInput) Validate() error { 3940 invalidParams := request.ErrInvalidParams{Context: "GetProfileInput"} 3941 if s.MaxDepth != nil && *s.MaxDepth < 1 { 3942 invalidParams.Add(request.NewErrParamMinValue("MaxDepth", 1)) 3943 } 3944 if s.Period != nil && len(*s.Period) < 1 { 3945 invalidParams.Add(request.NewErrParamMinLen("Period", 1)) 3946 } 3947 if s.ProfilingGroupName == nil { 3948 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3949 } 3950 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3951 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3952 } 3953 3954 if invalidParams.Len() > 0 { 3955 return invalidParams 3956 } 3957 return nil 3958} 3959 3960// SetAccept sets the Accept field's value. 3961func (s *GetProfileInput) SetAccept(v string) *GetProfileInput { 3962 s.Accept = &v 3963 return s 3964} 3965 3966// SetEndTime sets the EndTime field's value. 3967func (s *GetProfileInput) SetEndTime(v time.Time) *GetProfileInput { 3968 s.EndTime = &v 3969 return s 3970} 3971 3972// SetMaxDepth sets the MaxDepth field's value. 3973func (s *GetProfileInput) SetMaxDepth(v int64) *GetProfileInput { 3974 s.MaxDepth = &v 3975 return s 3976} 3977 3978// SetPeriod sets the Period field's value. 3979func (s *GetProfileInput) SetPeriod(v string) *GetProfileInput { 3980 s.Period = &v 3981 return s 3982} 3983 3984// SetProfilingGroupName sets the ProfilingGroupName field's value. 3985func (s *GetProfileInput) SetProfilingGroupName(v string) *GetProfileInput { 3986 s.ProfilingGroupName = &v 3987 return s 3988} 3989 3990// SetStartTime sets the StartTime field's value. 3991func (s *GetProfileInput) SetStartTime(v time.Time) *GetProfileInput { 3992 s.StartTime = &v 3993 return s 3994} 3995 3996// The structure representing the getProfileResponse. 3997type GetProfileOutput struct { 3998 _ struct{} `type:"structure" payload:"Profile"` 3999 4000 // The content encoding of the profile. 4001 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 4002 4003 // The content type of the profile in the payload. It is either application/json 4004 // or the default application/x-amzn-ion. 4005 // 4006 // ContentType is a required field 4007 ContentType *string `location:"header" locationName:"Content-Type" type:"string" required:"true"` 4008 4009 // Information about the profile. 4010 // 4011 // Profile is a required field 4012 Profile []byte `locationName:"profile" type:"blob" required:"true"` 4013} 4014 4015// String returns the string representation 4016func (s GetProfileOutput) String() string { 4017 return awsutil.Prettify(s) 4018} 4019 4020// GoString returns the string representation 4021func (s GetProfileOutput) GoString() string { 4022 return s.String() 4023} 4024 4025// SetContentEncoding sets the ContentEncoding field's value. 4026func (s *GetProfileOutput) SetContentEncoding(v string) *GetProfileOutput { 4027 s.ContentEncoding = &v 4028 return s 4029} 4030 4031// SetContentType sets the ContentType field's value. 4032func (s *GetProfileOutput) SetContentType(v string) *GetProfileOutput { 4033 s.ContentType = &v 4034 return s 4035} 4036 4037// SetProfile sets the Profile field's value. 4038func (s *GetProfileOutput) SetProfile(v []byte) *GetProfileOutput { 4039 s.Profile = v 4040 return s 4041} 4042 4043// The structure representing the GetRecommendationsRequest. 4044type GetRecommendationsInput struct { 4045 _ struct{} `type:"structure"` 4046 4047 // The start time of the profile to get analysis data about. You must specify 4048 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4049 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4050 // PM UTC. 4051 // 4052 // EndTime is a required field 4053 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4054 4055 // The language used to provide analysis. Specify using a string that is one 4056 // of the following BCP 47 language codes. 4057 // 4058 // * de-DE - German, Germany 4059 // 4060 // * en-GB - English, United Kingdom 4061 // 4062 // * en-US - English, United States 4063 // 4064 // * es-ES - Spanish, Spain 4065 // 4066 // * fr-FR - French, France 4067 // 4068 // * it-IT - Italian, Italy 4069 // 4070 // * ja-JP - Japanese, Japan 4071 // 4072 // * ko-KR - Korean, Republic of Korea 4073 // 4074 // * pt-BR - Portugese, Brazil 4075 // 4076 // * zh-CN - Chinese, China 4077 // 4078 // * zh-TW - Chinese, Taiwan 4079 Locale *string `location:"querystring" locationName:"locale" type:"string"` 4080 4081 // The name of the profiling group to get analysis data about. 4082 // 4083 // ProfilingGroupName is a required field 4084 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4085 4086 // The end time of the profile to get analysis data about. You must specify 4087 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4088 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4089 // PM UTC. 4090 // 4091 // StartTime is a required field 4092 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4093} 4094 4095// String returns the string representation 4096func (s GetRecommendationsInput) String() string { 4097 return awsutil.Prettify(s) 4098} 4099 4100// GoString returns the string representation 4101func (s GetRecommendationsInput) GoString() string { 4102 return s.String() 4103} 4104 4105// Validate inspects the fields of the type to determine if they are valid. 4106func (s *GetRecommendationsInput) Validate() error { 4107 invalidParams := request.ErrInvalidParams{Context: "GetRecommendationsInput"} 4108 if s.EndTime == nil { 4109 invalidParams.Add(request.NewErrParamRequired("EndTime")) 4110 } 4111 if s.ProfilingGroupName == nil { 4112 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4113 } 4114 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4115 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4116 } 4117 if s.StartTime == nil { 4118 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4119 } 4120 4121 if invalidParams.Len() > 0 { 4122 return invalidParams 4123 } 4124 return nil 4125} 4126 4127// SetEndTime sets the EndTime field's value. 4128func (s *GetRecommendationsInput) SetEndTime(v time.Time) *GetRecommendationsInput { 4129 s.EndTime = &v 4130 return s 4131} 4132 4133// SetLocale sets the Locale field's value. 4134func (s *GetRecommendationsInput) SetLocale(v string) *GetRecommendationsInput { 4135 s.Locale = &v 4136 return s 4137} 4138 4139// SetProfilingGroupName sets the ProfilingGroupName field's value. 4140func (s *GetRecommendationsInput) SetProfilingGroupName(v string) *GetRecommendationsInput { 4141 s.ProfilingGroupName = &v 4142 return s 4143} 4144 4145// SetStartTime sets the StartTime field's value. 4146func (s *GetRecommendationsInput) SetStartTime(v time.Time) *GetRecommendationsInput { 4147 s.StartTime = &v 4148 return s 4149} 4150 4151// The structure representing the GetRecommendationsResponse. 4152type GetRecommendationsOutput struct { 4153 _ struct{} `type:"structure"` 4154 4155 // The list of anomalies that the analysis has found for this profile. 4156 // 4157 // Anomalies is a required field 4158 Anomalies []*Anomaly `locationName:"anomalies" type:"list" required:"true"` 4159 4160 // The end time of the profile the analysis data is about. This is specified 4161 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 4162 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 4163 // 4164 // ProfileEndTime is a required field 4165 ProfileEndTime *time.Time `locationName:"profileEndTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4166 4167 // The start time of the profile the analysis data is about. This is specified 4168 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 4169 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 4170 // 4171 // ProfileStartTime is a required field 4172 ProfileStartTime *time.Time `locationName:"profileStartTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4173 4174 // The name of the profiling group the analysis data is about. 4175 // 4176 // ProfilingGroupName is a required field 4177 ProfilingGroupName *string `locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4178 4179 // The list of recommendations that the analysis found for this profile. 4180 // 4181 // Recommendations is a required field 4182 Recommendations []*Recommendation `locationName:"recommendations" type:"list" required:"true"` 4183} 4184 4185// String returns the string representation 4186func (s GetRecommendationsOutput) String() string { 4187 return awsutil.Prettify(s) 4188} 4189 4190// GoString returns the string representation 4191func (s GetRecommendationsOutput) GoString() string { 4192 return s.String() 4193} 4194 4195// SetAnomalies sets the Anomalies field's value. 4196func (s *GetRecommendationsOutput) SetAnomalies(v []*Anomaly) *GetRecommendationsOutput { 4197 s.Anomalies = v 4198 return s 4199} 4200 4201// SetProfileEndTime sets the ProfileEndTime field's value. 4202func (s *GetRecommendationsOutput) SetProfileEndTime(v time.Time) *GetRecommendationsOutput { 4203 s.ProfileEndTime = &v 4204 return s 4205} 4206 4207// SetProfileStartTime sets the ProfileStartTime field's value. 4208func (s *GetRecommendationsOutput) SetProfileStartTime(v time.Time) *GetRecommendationsOutput { 4209 s.ProfileStartTime = &v 4210 return s 4211} 4212 4213// SetProfilingGroupName sets the ProfilingGroupName field's value. 4214func (s *GetRecommendationsOutput) SetProfilingGroupName(v string) *GetRecommendationsOutput { 4215 s.ProfilingGroupName = &v 4216 return s 4217} 4218 4219// SetRecommendations sets the Recommendations field's value. 4220func (s *GetRecommendationsOutput) SetRecommendations(v []*Recommendation) *GetRecommendationsOutput { 4221 s.Recommendations = v 4222 return s 4223} 4224 4225// The server encountered an internal error and is unable to complete the request. 4226type InternalServerException struct { 4227 _ struct{} `type:"structure"` 4228 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4229 4230 Message_ *string `locationName:"message" type:"string"` 4231} 4232 4233// String returns the string representation 4234func (s InternalServerException) String() string { 4235 return awsutil.Prettify(s) 4236} 4237 4238// GoString returns the string representation 4239func (s InternalServerException) GoString() string { 4240 return s.String() 4241} 4242 4243func newErrorInternalServerException(v protocol.ResponseMetadata) error { 4244 return &InternalServerException{ 4245 RespMetadata: v, 4246 } 4247} 4248 4249// Code returns the exception type name. 4250func (s *InternalServerException) Code() string { 4251 return "InternalServerException" 4252} 4253 4254// Message returns the exception's message. 4255func (s *InternalServerException) Message() string { 4256 if s.Message_ != nil { 4257 return *s.Message_ 4258 } 4259 return "" 4260} 4261 4262// OrigErr always returns nil, satisfies awserr.Error interface. 4263func (s *InternalServerException) OrigErr() error { 4264 return nil 4265} 4266 4267func (s *InternalServerException) Error() string { 4268 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4269} 4270 4271// Status code returns the HTTP status code for the request's response error. 4272func (s *InternalServerException) StatusCode() int { 4273 return s.RespMetadata.StatusCode 4274} 4275 4276// RequestID returns the service's response RequestID for request. 4277func (s *InternalServerException) RequestID() string { 4278 return s.RespMetadata.RequestID 4279} 4280 4281// The structure representing the ListFindingsReportsRequest. 4282type ListFindingsReportsInput struct { 4283 _ struct{} `type:"structure"` 4284 4285 // A Boolean value indicating whether to only return reports from daily profiles. 4286 // If set to True, only analysis data from daily profiles is returned. If set 4287 // to False, analysis data is returned from smaller time windows (for example, 4288 // one hour). 4289 DailyReportsOnly *bool `location:"querystring" locationName:"dailyReportsOnly" type:"boolean"` 4290 4291 // The end time of the profile to get analysis data about. You must specify 4292 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4293 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4294 // PM UTC. 4295 // 4296 // EndTime is a required field 4297 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4298 4299 // The maximum number of report results returned by ListFindingsReports in paginated 4300 // output. When this parameter is used, ListFindingsReports only returns maxResults 4301 // results in a single page along with a nextToken response element. The remaining 4302 // results of the initial request can be seen by sending another ListFindingsReports 4303 // request with the returned nextToken value. 4304 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4305 4306 // The nextToken value returned from a previous paginated ListFindingsReportsRequest 4307 // request where maxResults was used and the results exceeded the value of that 4308 // parameter. Pagination continues from the end of the previous results that 4309 // returned the nextToken value. 4310 // 4311 // This token should be treated as an opaque identifier that is only used to 4312 // retrieve the next items in a list and not for other programmatic purposes. 4313 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 4314 4315 // The name of the profiling group from which to search for analysis data. 4316 // 4317 // ProfilingGroupName is a required field 4318 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4319 4320 // The start time of the profile to get analysis data about. You must specify 4321 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4322 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4323 // PM UTC. 4324 // 4325 // StartTime is a required field 4326 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4327} 4328 4329// String returns the string representation 4330func (s ListFindingsReportsInput) String() string { 4331 return awsutil.Prettify(s) 4332} 4333 4334// GoString returns the string representation 4335func (s ListFindingsReportsInput) GoString() string { 4336 return s.String() 4337} 4338 4339// Validate inspects the fields of the type to determine if they are valid. 4340func (s *ListFindingsReportsInput) Validate() error { 4341 invalidParams := request.ErrInvalidParams{Context: "ListFindingsReportsInput"} 4342 if s.EndTime == nil { 4343 invalidParams.Add(request.NewErrParamRequired("EndTime")) 4344 } 4345 if s.MaxResults != nil && *s.MaxResults < 1 { 4346 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4347 } 4348 if s.NextToken != nil && len(*s.NextToken) < 1 { 4349 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4350 } 4351 if s.ProfilingGroupName == nil { 4352 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4353 } 4354 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4355 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4356 } 4357 if s.StartTime == nil { 4358 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4359 } 4360 4361 if invalidParams.Len() > 0 { 4362 return invalidParams 4363 } 4364 return nil 4365} 4366 4367// SetDailyReportsOnly sets the DailyReportsOnly field's value. 4368func (s *ListFindingsReportsInput) SetDailyReportsOnly(v bool) *ListFindingsReportsInput { 4369 s.DailyReportsOnly = &v 4370 return s 4371} 4372 4373// SetEndTime sets the EndTime field's value. 4374func (s *ListFindingsReportsInput) SetEndTime(v time.Time) *ListFindingsReportsInput { 4375 s.EndTime = &v 4376 return s 4377} 4378 4379// SetMaxResults sets the MaxResults field's value. 4380func (s *ListFindingsReportsInput) SetMaxResults(v int64) *ListFindingsReportsInput { 4381 s.MaxResults = &v 4382 return s 4383} 4384 4385// SetNextToken sets the NextToken field's value. 4386func (s *ListFindingsReportsInput) SetNextToken(v string) *ListFindingsReportsInput { 4387 s.NextToken = &v 4388 return s 4389} 4390 4391// SetProfilingGroupName sets the ProfilingGroupName field's value. 4392func (s *ListFindingsReportsInput) SetProfilingGroupName(v string) *ListFindingsReportsInput { 4393 s.ProfilingGroupName = &v 4394 return s 4395} 4396 4397// SetStartTime sets the StartTime field's value. 4398func (s *ListFindingsReportsInput) SetStartTime(v time.Time) *ListFindingsReportsInput { 4399 s.StartTime = &v 4400 return s 4401} 4402 4403// The structure representing the ListFindingsReportsResponse. 4404type ListFindingsReportsOutput struct { 4405 _ struct{} `type:"structure"` 4406 4407 // The list of analysis results summaries. 4408 // 4409 // FindingsReportSummaries is a required field 4410 FindingsReportSummaries []*FindingsReportSummary `locationName:"findingsReportSummaries" type:"list" required:"true"` 4411 4412 // The nextToken value to include in a future ListFindingsReports request. When 4413 // the results of a ListFindingsReports request exceed maxResults, this value 4414 // can be used to retrieve the next page of results. This value is null when 4415 // there are no more results to return. 4416 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 4417} 4418 4419// String returns the string representation 4420func (s ListFindingsReportsOutput) String() string { 4421 return awsutil.Prettify(s) 4422} 4423 4424// GoString returns the string representation 4425func (s ListFindingsReportsOutput) GoString() string { 4426 return s.String() 4427} 4428 4429// SetFindingsReportSummaries sets the FindingsReportSummaries field's value. 4430func (s *ListFindingsReportsOutput) SetFindingsReportSummaries(v []*FindingsReportSummary) *ListFindingsReportsOutput { 4431 s.FindingsReportSummaries = v 4432 return s 4433} 4434 4435// SetNextToken sets the NextToken field's value. 4436func (s *ListFindingsReportsOutput) SetNextToken(v string) *ListFindingsReportsOutput { 4437 s.NextToken = &v 4438 return s 4439} 4440 4441// The structure representing the listProfileTimesRequest. 4442type ListProfileTimesInput struct { 4443 _ struct{} `type:"structure"` 4444 4445 // The end time of the time range from which to list the profiles. 4446 // 4447 // EndTime is a required field 4448 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4449 4450 // The maximum number of profile time results returned by ListProfileTimes in 4451 // paginated output. When this parameter is used, ListProfileTimes only returns 4452 // maxResults results in a single page with a nextToken response element. The 4453 // remaining results of the initial request can be seen by sending another ListProfileTimes 4454 // request with the returned nextToken value. 4455 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4456 4457 // The nextToken value returned from a previous paginated ListProfileTimes request 4458 // where maxResults was used and the results exceeded the value of that parameter. 4459 // Pagination continues from the end of the previous results that returned the 4460 // nextToken value. 4461 // 4462 // This token should be treated as an opaque identifier that is only used to 4463 // retrieve the next items in a list and not for other programmatic purposes. 4464 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 4465 4466 // The order (ascending or descending by start time of the profile) to use when 4467 // listing profiles. Defaults to TIMESTAMP_DESCENDING. 4468 OrderBy *string `location:"querystring" locationName:"orderBy" type:"string" enum:"OrderBy"` 4469 4470 // The aggregation period. This specifies the period during which an aggregation 4471 // profile collects posted agent profiles for a profiling group. There are 3 4472 // valid values. 4473 // 4474 // * P1D — 1 day 4475 // 4476 // * PT1H — 1 hour 4477 // 4478 // * PT5M — 5 minutes 4479 // 4480 // Period is a required field 4481 Period *string `location:"querystring" locationName:"period" type:"string" required:"true" enum:"AggregationPeriod"` 4482 4483 // The name of the profiling group. 4484 // 4485 // ProfilingGroupName is a required field 4486 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4487 4488 // The start time of the time range from which to list the profiles. 4489 // 4490 // StartTime is a required field 4491 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4492} 4493 4494// String returns the string representation 4495func (s ListProfileTimesInput) String() string { 4496 return awsutil.Prettify(s) 4497} 4498 4499// GoString returns the string representation 4500func (s ListProfileTimesInput) GoString() string { 4501 return s.String() 4502} 4503 4504// Validate inspects the fields of the type to determine if they are valid. 4505func (s *ListProfileTimesInput) Validate() error { 4506 invalidParams := request.ErrInvalidParams{Context: "ListProfileTimesInput"} 4507 if s.EndTime == nil { 4508 invalidParams.Add(request.NewErrParamRequired("EndTime")) 4509 } 4510 if s.MaxResults != nil && *s.MaxResults < 1 { 4511 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4512 } 4513 if s.NextToken != nil && len(*s.NextToken) < 1 { 4514 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4515 } 4516 if s.Period == nil { 4517 invalidParams.Add(request.NewErrParamRequired("Period")) 4518 } 4519 if s.ProfilingGroupName == nil { 4520 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4521 } 4522 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4523 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4524 } 4525 if s.StartTime == nil { 4526 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4527 } 4528 4529 if invalidParams.Len() > 0 { 4530 return invalidParams 4531 } 4532 return nil 4533} 4534 4535// SetEndTime sets the EndTime field's value. 4536func (s *ListProfileTimesInput) SetEndTime(v time.Time) *ListProfileTimesInput { 4537 s.EndTime = &v 4538 return s 4539} 4540 4541// SetMaxResults sets the MaxResults field's value. 4542func (s *ListProfileTimesInput) SetMaxResults(v int64) *ListProfileTimesInput { 4543 s.MaxResults = &v 4544 return s 4545} 4546 4547// SetNextToken sets the NextToken field's value. 4548func (s *ListProfileTimesInput) SetNextToken(v string) *ListProfileTimesInput { 4549 s.NextToken = &v 4550 return s 4551} 4552 4553// SetOrderBy sets the OrderBy field's value. 4554func (s *ListProfileTimesInput) SetOrderBy(v string) *ListProfileTimesInput { 4555 s.OrderBy = &v 4556 return s 4557} 4558 4559// SetPeriod sets the Period field's value. 4560func (s *ListProfileTimesInput) SetPeriod(v string) *ListProfileTimesInput { 4561 s.Period = &v 4562 return s 4563} 4564 4565// SetProfilingGroupName sets the ProfilingGroupName field's value. 4566func (s *ListProfileTimesInput) SetProfilingGroupName(v string) *ListProfileTimesInput { 4567 s.ProfilingGroupName = &v 4568 return s 4569} 4570 4571// SetStartTime sets the StartTime field's value. 4572func (s *ListProfileTimesInput) SetStartTime(v time.Time) *ListProfileTimesInput { 4573 s.StartTime = &v 4574 return s 4575} 4576 4577// The structure representing the listProfileTimesResponse. 4578type ListProfileTimesOutput struct { 4579 _ struct{} `type:"structure"` 4580 4581 // The nextToken value to include in a future ListProfileTimes request. When 4582 // the results of a ListProfileTimes request exceed maxResults, this value can 4583 // be used to retrieve the next page of results. This value is null when there 4584 // are no more results to return. 4585 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 4586 4587 // The list of start times of the available profiles for the aggregation period 4588 // in the specified time range. 4589 // 4590 // ProfileTimes is a required field 4591 ProfileTimes []*ProfileTime `locationName:"profileTimes" type:"list" required:"true"` 4592} 4593 4594// String returns the string representation 4595func (s ListProfileTimesOutput) String() string { 4596 return awsutil.Prettify(s) 4597} 4598 4599// GoString returns the string representation 4600func (s ListProfileTimesOutput) GoString() string { 4601 return s.String() 4602} 4603 4604// SetNextToken sets the NextToken field's value. 4605func (s *ListProfileTimesOutput) SetNextToken(v string) *ListProfileTimesOutput { 4606 s.NextToken = &v 4607 return s 4608} 4609 4610// SetProfileTimes sets the ProfileTimes field's value. 4611func (s *ListProfileTimesOutput) SetProfileTimes(v []*ProfileTime) *ListProfileTimesOutput { 4612 s.ProfileTimes = v 4613 return s 4614} 4615 4616// The structure representing the listProfilingGroupsRequest. 4617type ListProfilingGroupsInput struct { 4618 _ struct{} `type:"structure"` 4619 4620 // A Boolean value indicating whether to include a description. If true, then 4621 // a list of ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 4622 // objects that contain detailed information about profiling groups is returned. 4623 // If false, then a list of profiling group names is returned. 4624 IncludeDescription *bool `location:"querystring" locationName:"includeDescription" type:"boolean"` 4625 4626 // The maximum number of profiling groups results returned by ListProfilingGroups 4627 // in paginated output. When this parameter is used, ListProfilingGroups only 4628 // returns maxResults results in a single page along with a nextToken response 4629 // element. The remaining results of the initial request can be seen by sending 4630 // another ListProfilingGroups request with the returned nextToken value. 4631 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4632 4633 // The nextToken value returned from a previous paginated ListProfilingGroups 4634 // request where maxResults was used and the results exceeded the value of that 4635 // parameter. Pagination continues from the end of the previous results that 4636 // returned the nextToken value. 4637 // 4638 // This token should be treated as an opaque identifier that is only used to 4639 // retrieve the next items in a list and not for other programmatic purposes. 4640 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 4641} 4642 4643// String returns the string representation 4644func (s ListProfilingGroupsInput) String() string { 4645 return awsutil.Prettify(s) 4646} 4647 4648// GoString returns the string representation 4649func (s ListProfilingGroupsInput) GoString() string { 4650 return s.String() 4651} 4652 4653// Validate inspects the fields of the type to determine if they are valid. 4654func (s *ListProfilingGroupsInput) Validate() error { 4655 invalidParams := request.ErrInvalidParams{Context: "ListProfilingGroupsInput"} 4656 if s.MaxResults != nil && *s.MaxResults < 1 { 4657 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4658 } 4659 if s.NextToken != nil && len(*s.NextToken) < 1 { 4660 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4661 } 4662 4663 if invalidParams.Len() > 0 { 4664 return invalidParams 4665 } 4666 return nil 4667} 4668 4669// SetIncludeDescription sets the IncludeDescription field's value. 4670func (s *ListProfilingGroupsInput) SetIncludeDescription(v bool) *ListProfilingGroupsInput { 4671 s.IncludeDescription = &v 4672 return s 4673} 4674 4675// SetMaxResults sets the MaxResults field's value. 4676func (s *ListProfilingGroupsInput) SetMaxResults(v int64) *ListProfilingGroupsInput { 4677 s.MaxResults = &v 4678 return s 4679} 4680 4681// SetNextToken sets the NextToken field's value. 4682func (s *ListProfilingGroupsInput) SetNextToken(v string) *ListProfilingGroupsInput { 4683 s.NextToken = &v 4684 return s 4685} 4686 4687// The structure representing the listProfilingGroupsResponse. 4688type ListProfilingGroupsOutput struct { 4689 _ struct{} `type:"structure"` 4690 4691 // The nextToken value to include in a future ListProfilingGroups request. When 4692 // the results of a ListProfilingGroups request exceed maxResults, this value 4693 // can be used to retrieve the next page of results. This value is null when 4694 // there are no more results to return. 4695 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 4696 4697 // A returned list of profiling group names. A list of the names is returned 4698 // only if includeDescription is false, otherwise a list of ProfilingGroupDescription 4699 // (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 4700 // objects is returned. 4701 // 4702 // ProfilingGroupNames is a required field 4703 ProfilingGroupNames []*string `locationName:"profilingGroupNames" type:"list" required:"true"` 4704 4705 // A returned list ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 4706 // objects. A list of ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 4707 // objects is returned only if includeDescription is true, otherwise a list 4708 // of profiling group names is returned. 4709 ProfilingGroups []*ProfilingGroupDescription `locationName:"profilingGroups" type:"list"` 4710} 4711 4712// String returns the string representation 4713func (s ListProfilingGroupsOutput) String() string { 4714 return awsutil.Prettify(s) 4715} 4716 4717// GoString returns the string representation 4718func (s ListProfilingGroupsOutput) GoString() string { 4719 return s.String() 4720} 4721 4722// SetNextToken sets the NextToken field's value. 4723func (s *ListProfilingGroupsOutput) SetNextToken(v string) *ListProfilingGroupsOutput { 4724 s.NextToken = &v 4725 return s 4726} 4727 4728// SetProfilingGroupNames sets the ProfilingGroupNames field's value. 4729func (s *ListProfilingGroupsOutput) SetProfilingGroupNames(v []*string) *ListProfilingGroupsOutput { 4730 s.ProfilingGroupNames = v 4731 return s 4732} 4733 4734// SetProfilingGroups sets the ProfilingGroups field's value. 4735func (s *ListProfilingGroupsOutput) SetProfilingGroups(v []*ProfilingGroupDescription) *ListProfilingGroupsOutput { 4736 s.ProfilingGroups = v 4737 return s 4738} 4739 4740type ListTagsForResourceInput struct { 4741 _ struct{} `type:"structure"` 4742 4743 // The Amazon Resource Name (ARN) of the resource that contains the tags to 4744 // return. 4745 // 4746 // ResourceArn is a required field 4747 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 4748} 4749 4750// String returns the string representation 4751func (s ListTagsForResourceInput) String() string { 4752 return awsutil.Prettify(s) 4753} 4754 4755// GoString returns the string representation 4756func (s ListTagsForResourceInput) GoString() string { 4757 return s.String() 4758} 4759 4760// Validate inspects the fields of the type to determine if they are valid. 4761func (s *ListTagsForResourceInput) Validate() error { 4762 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 4763 if s.ResourceArn == nil { 4764 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4765 } 4766 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 4767 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 4768 } 4769 4770 if invalidParams.Len() > 0 { 4771 return invalidParams 4772 } 4773 return nil 4774} 4775 4776// SetResourceArn sets the ResourceArn field's value. 4777func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 4778 s.ResourceArn = &v 4779 return s 4780} 4781 4782type ListTagsForResourceOutput struct { 4783 _ struct{} `type:"structure"` 4784 4785 // The list of tags assigned to the specified resource. This is the list of 4786 // tags returned in the response. 4787 Tags map[string]*string `locationName:"tags" type:"map"` 4788} 4789 4790// String returns the string representation 4791func (s ListTagsForResourceOutput) String() string { 4792 return awsutil.Prettify(s) 4793} 4794 4795// GoString returns the string representation 4796func (s ListTagsForResourceOutput) GoString() string { 4797 return s.String() 4798} 4799 4800// SetTags sets the Tags field's value. 4801func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 4802 s.Tags = v 4803 return s 4804} 4805 4806// The part of a profile that contains a recommendation found during analysis. 4807type Match struct { 4808 _ struct{} `type:"structure"` 4809 4810 // The location in the profiling graph that contains a recommendation found 4811 // during analysis. 4812 FrameAddress *string `locationName:"frameAddress" type:"string"` 4813 4814 // The target frame that triggered a match. 4815 TargetFramesIndex *int64 `locationName:"targetFramesIndex" type:"integer"` 4816 4817 // The value in the profile data that exceeded the recommendation threshold. 4818 ThresholdBreachValue *float64 `locationName:"thresholdBreachValue" type:"double"` 4819} 4820 4821// String returns the string representation 4822func (s Match) String() string { 4823 return awsutil.Prettify(s) 4824} 4825 4826// GoString returns the string representation 4827func (s Match) GoString() string { 4828 return s.String() 4829} 4830 4831// SetFrameAddress sets the FrameAddress field's value. 4832func (s *Match) SetFrameAddress(v string) *Match { 4833 s.FrameAddress = &v 4834 return s 4835} 4836 4837// SetTargetFramesIndex sets the TargetFramesIndex field's value. 4838func (s *Match) SetTargetFramesIndex(v int64) *Match { 4839 s.TargetFramesIndex = &v 4840 return s 4841} 4842 4843// SetThresholdBreachValue sets the ThresholdBreachValue field's value. 4844func (s *Match) SetThresholdBreachValue(v float64) *Match { 4845 s.ThresholdBreachValue = &v 4846 return s 4847} 4848 4849// Details about the metric that the analysis used when it detected the anomaly. 4850// The metric what is analyzed to create recommendations. It includes the name 4851// of the frame that was analyzed and the type and thread states used to derive 4852// the metric value for that frame. 4853type Metric struct { 4854 _ struct{} `type:"structure"` 4855 4856 // The name of the method that appears as a frame in any stack in a profile. 4857 // 4858 // FrameName is a required field 4859 FrameName *string `locationName:"frameName" type:"string" required:"true"` 4860 4861 // The list of application runtime thread states that is used to calculate the 4862 // metric value for the frame. 4863 // 4864 // ThreadStates is a required field 4865 ThreadStates []*string `locationName:"threadStates" type:"list" required:"true"` 4866 4867 // A type that specifies how a metric for a frame is analyzed. The supported 4868 // value AggregatedRelativeTotalTime is an aggregation of the metric value for 4869 // one frame that is calculated across the occurences of all frames in a profile. 4870 // 4871 // Type is a required field 4872 Type *string `locationName:"type" type:"string" required:"true" enum:"MetricType"` 4873} 4874 4875// String returns the string representation 4876func (s Metric) String() string { 4877 return awsutil.Prettify(s) 4878} 4879 4880// GoString returns the string representation 4881func (s Metric) GoString() string { 4882 return s.String() 4883} 4884 4885// SetFrameName sets the FrameName field's value. 4886func (s *Metric) SetFrameName(v string) *Metric { 4887 s.FrameName = &v 4888 return s 4889} 4890 4891// SetThreadStates sets the ThreadStates field's value. 4892func (s *Metric) SetThreadStates(v []*string) *Metric { 4893 s.ThreadStates = v 4894 return s 4895} 4896 4897// SetType sets the Type field's value. 4898func (s *Metric) SetType(v string) *Metric { 4899 s.Type = &v 4900 return s 4901} 4902 4903// The configuration for notifications stored for each profiling group. This 4904// includes up to to two channels and a list of event publishers associated 4905// with each channel. 4906type NotificationConfiguration struct { 4907 _ struct{} `type:"structure"` 4908 4909 // List of up to two channels to be used for sending notifications for events 4910 // detected from the application profile. 4911 Channels []*Channel `locationName:"channels" min:"1" type:"list"` 4912} 4913 4914// String returns the string representation 4915func (s NotificationConfiguration) String() string { 4916 return awsutil.Prettify(s) 4917} 4918 4919// GoString returns the string representation 4920func (s NotificationConfiguration) GoString() string { 4921 return s.String() 4922} 4923 4924// SetChannels sets the Channels field's value. 4925func (s *NotificationConfiguration) SetChannels(v []*Channel) *NotificationConfiguration { 4926 s.Channels = v 4927 return s 4928} 4929 4930// A set of rules used to make a recommendation during an analysis. 4931type Pattern struct { 4932 _ struct{} `type:"structure"` 4933 4934 // A list of the different counters used to determine if there is a match. 4935 CountersToAggregate []*string `locationName:"countersToAggregate" type:"list"` 4936 4937 // The description of the recommendation. This explains a potential inefficiency 4938 // in a profiled application. 4939 Description *string `locationName:"description" type:"string"` 4940 4941 // The universally unique identifier (UUID) of this pattern. 4942 Id *string `locationName:"id" type:"string"` 4943 4944 // The name for this pattern. 4945 Name *string `locationName:"name" type:"string"` 4946 4947 // A string that contains the steps recommended to address the potential inefficiency. 4948 ResolutionSteps *string `locationName:"resolutionSteps" type:"string"` 4949 4950 // A list of frame names that were searched during the analysis that generated 4951 // a recommendation. 4952 TargetFrames [][]*string `locationName:"targetFrames" type:"list"` 4953 4954 // The percentage of time an application spends in one method that triggers 4955 // a recommendation. The percentage of time is the same as the percentage of 4956 // the total gathered sample counts during analysis. 4957 ThresholdPercent *float64 `locationName:"thresholdPercent" type:"double"` 4958} 4959 4960// String returns the string representation 4961func (s Pattern) String() string { 4962 return awsutil.Prettify(s) 4963} 4964 4965// GoString returns the string representation 4966func (s Pattern) GoString() string { 4967 return s.String() 4968} 4969 4970// SetCountersToAggregate sets the CountersToAggregate field's value. 4971func (s *Pattern) SetCountersToAggregate(v []*string) *Pattern { 4972 s.CountersToAggregate = v 4973 return s 4974} 4975 4976// SetDescription sets the Description field's value. 4977func (s *Pattern) SetDescription(v string) *Pattern { 4978 s.Description = &v 4979 return s 4980} 4981 4982// SetId sets the Id field's value. 4983func (s *Pattern) SetId(v string) *Pattern { 4984 s.Id = &v 4985 return s 4986} 4987 4988// SetName sets the Name field's value. 4989func (s *Pattern) SetName(v string) *Pattern { 4990 s.Name = &v 4991 return s 4992} 4993 4994// SetResolutionSteps sets the ResolutionSteps field's value. 4995func (s *Pattern) SetResolutionSteps(v string) *Pattern { 4996 s.ResolutionSteps = &v 4997 return s 4998} 4999 5000// SetTargetFrames sets the TargetFrames field's value. 5001func (s *Pattern) SetTargetFrames(v [][]*string) *Pattern { 5002 s.TargetFrames = v 5003 return s 5004} 5005 5006// SetThresholdPercent sets the ThresholdPercent field's value. 5007func (s *Pattern) SetThresholdPercent(v float64) *Pattern { 5008 s.ThresholdPercent = &v 5009 return s 5010} 5011 5012// The structure representing the postAgentProfileRequest. 5013type PostAgentProfileInput struct { 5014 _ struct{} `type:"structure" payload:"AgentProfile"` 5015 5016 // The submitted profiling data. 5017 // 5018 // AgentProfile is a required field 5019 AgentProfile []byte `locationName:"agentProfile" type:"blob" required:"true"` 5020 5021 // The format of the submitted profiling data. The format maps to the Accept 5022 // and Content-Type headers of the HTTP request. You can specify one of the 5023 // following: or the default . 5024 // 5025 // <ul> <li> <p> <code>application/json</code> — standard JSON format </p> 5026 // </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion 5027 // data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon 5028 // Ion</a>. </p> </li> </ul> 5029 // 5030 // ContentType is a required field 5031 ContentType *string `location:"header" locationName:"Content-Type" type:"string" required:"true"` 5032 5033 // Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to 5034 // prevent the accidental submission of duplicate profiling data if there are 5035 // failures and retries. 5036 ProfileToken *string `location:"querystring" locationName:"profileToken" min:"1" type:"string" idempotencyToken:"true"` 5037 5038 // The name of the profiling group with the aggregated profile that receives 5039 // the submitted profiling data. 5040 // 5041 // ProfilingGroupName is a required field 5042 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5043} 5044 5045// String returns the string representation 5046func (s PostAgentProfileInput) String() string { 5047 return awsutil.Prettify(s) 5048} 5049 5050// GoString returns the string representation 5051func (s PostAgentProfileInput) GoString() string { 5052 return s.String() 5053} 5054 5055// Validate inspects the fields of the type to determine if they are valid. 5056func (s *PostAgentProfileInput) Validate() error { 5057 invalidParams := request.ErrInvalidParams{Context: "PostAgentProfileInput"} 5058 if s.AgentProfile == nil { 5059 invalidParams.Add(request.NewErrParamRequired("AgentProfile")) 5060 } 5061 if s.ContentType == nil { 5062 invalidParams.Add(request.NewErrParamRequired("ContentType")) 5063 } 5064 if s.ProfileToken != nil && len(*s.ProfileToken) < 1 { 5065 invalidParams.Add(request.NewErrParamMinLen("ProfileToken", 1)) 5066 } 5067 if s.ProfilingGroupName == nil { 5068 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5069 } 5070 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5071 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5072 } 5073 5074 if invalidParams.Len() > 0 { 5075 return invalidParams 5076 } 5077 return nil 5078} 5079 5080// SetAgentProfile sets the AgentProfile field's value. 5081func (s *PostAgentProfileInput) SetAgentProfile(v []byte) *PostAgentProfileInput { 5082 s.AgentProfile = v 5083 return s 5084} 5085 5086// SetContentType sets the ContentType field's value. 5087func (s *PostAgentProfileInput) SetContentType(v string) *PostAgentProfileInput { 5088 s.ContentType = &v 5089 return s 5090} 5091 5092// SetProfileToken sets the ProfileToken field's value. 5093func (s *PostAgentProfileInput) SetProfileToken(v string) *PostAgentProfileInput { 5094 s.ProfileToken = &v 5095 return s 5096} 5097 5098// SetProfilingGroupName sets the ProfilingGroupName field's value. 5099func (s *PostAgentProfileInput) SetProfilingGroupName(v string) *PostAgentProfileInput { 5100 s.ProfilingGroupName = &v 5101 return s 5102} 5103 5104// The structure representing the postAgentProfileResponse. 5105type PostAgentProfileOutput struct { 5106 _ struct{} `type:"structure"` 5107} 5108 5109// String returns the string representation 5110func (s PostAgentProfileOutput) String() string { 5111 return awsutil.Prettify(s) 5112} 5113 5114// GoString returns the string representation 5115func (s PostAgentProfileOutput) GoString() string { 5116 return s.String() 5117} 5118 5119// Contains the start time of a profile. 5120type ProfileTime struct { 5121 _ struct{} `type:"structure"` 5122 5123 // The start time of a profile. It is specified using the ISO 8601 format. For 5124 // example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 5125 // 1:15:02 PM UTC. 5126 Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"` 5127} 5128 5129// String returns the string representation 5130func (s ProfileTime) String() string { 5131 return awsutil.Prettify(s) 5132} 5133 5134// GoString returns the string representation 5135func (s ProfileTime) GoString() string { 5136 return s.String() 5137} 5138 5139// SetStart sets the Start field's value. 5140func (s *ProfileTime) SetStart(v time.Time) *ProfileTime { 5141 s.Start = &v 5142 return s 5143} 5144 5145// Contains information about a profiling group. 5146type ProfilingGroupDescription struct { 5147 _ struct{} `type:"structure"` 5148 5149 // An AgentOrchestrationConfig (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html) 5150 // object that indicates if the profiling group is enabled for profiled or not. 5151 AgentOrchestrationConfig *AgentOrchestrationConfig `locationName:"agentOrchestrationConfig" type:"structure"` 5152 5153 // The Amazon Resource Name (ARN) identifying the profiling group resource. 5154 Arn *string `locationName:"arn" type:"string"` 5155 5156 // The compute platform of the profiling group. If it is set to AWSLambda, then 5157 // the profiled application runs on AWS Lambda. If it is set to Default, then 5158 // the profiled application runs on a compute platform that is not AWS Lambda, 5159 // such an Amazon EC2 instance, an on-premises server, or a different platform. 5160 // The default is Default. 5161 ComputePlatform *string `locationName:"computePlatform" type:"string" enum:"ComputePlatform"` 5162 5163 // The time when the profiling group was created. Specify using the ISO 8601 5164 // format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past 5165 // June 1, 2020 1:15:02 PM UTC. 5166 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` 5167 5168 // The name of the profiling group. 5169 Name *string `locationName:"name" min:"1" type:"string"` 5170 5171 // A ProfilingStatus (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html) 5172 // object that includes information about the last time a profile agent pinged 5173 // back, the last time a profile was received, and the aggregation period and 5174 // start time for the most recent aggregated profile. 5175 ProfilingStatus *ProfilingStatus `locationName:"profilingStatus" type:"structure"` 5176 5177 // A list of the tags that belong to this profiling group. 5178 Tags map[string]*string `locationName:"tags" type:"map"` 5179 5180 // The date and time when the profiling group was last updated. Specify using 5181 // the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond 5182 // past June 1, 2020 1:15:02 PM UTC. 5183 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` 5184} 5185 5186// String returns the string representation 5187func (s ProfilingGroupDescription) String() string { 5188 return awsutil.Prettify(s) 5189} 5190 5191// GoString returns the string representation 5192func (s ProfilingGroupDescription) GoString() string { 5193 return s.String() 5194} 5195 5196// SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 5197func (s *ProfilingGroupDescription) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *ProfilingGroupDescription { 5198 s.AgentOrchestrationConfig = v 5199 return s 5200} 5201 5202// SetArn sets the Arn field's value. 5203func (s *ProfilingGroupDescription) SetArn(v string) *ProfilingGroupDescription { 5204 s.Arn = &v 5205 return s 5206} 5207 5208// SetComputePlatform sets the ComputePlatform field's value. 5209func (s *ProfilingGroupDescription) SetComputePlatform(v string) *ProfilingGroupDescription { 5210 s.ComputePlatform = &v 5211 return s 5212} 5213 5214// SetCreatedAt sets the CreatedAt field's value. 5215func (s *ProfilingGroupDescription) SetCreatedAt(v time.Time) *ProfilingGroupDescription { 5216 s.CreatedAt = &v 5217 return s 5218} 5219 5220// SetName sets the Name field's value. 5221func (s *ProfilingGroupDescription) SetName(v string) *ProfilingGroupDescription { 5222 s.Name = &v 5223 return s 5224} 5225 5226// SetProfilingStatus sets the ProfilingStatus field's value. 5227func (s *ProfilingGroupDescription) SetProfilingStatus(v *ProfilingStatus) *ProfilingGroupDescription { 5228 s.ProfilingStatus = v 5229 return s 5230} 5231 5232// SetTags sets the Tags field's value. 5233func (s *ProfilingGroupDescription) SetTags(v map[string]*string) *ProfilingGroupDescription { 5234 s.Tags = v 5235 return s 5236} 5237 5238// SetUpdatedAt sets the UpdatedAt field's value. 5239func (s *ProfilingGroupDescription) SetUpdatedAt(v time.Time) *ProfilingGroupDescription { 5240 s.UpdatedAt = &v 5241 return s 5242} 5243 5244// Profiling status includes information about the last time a profile agent 5245// pinged back, the last time a profile was received, and the aggregation period 5246// and start time for the most recent aggregated profile. 5247type ProfilingStatus struct { 5248 _ struct{} `type:"structure"` 5249 5250 // The date and time when the profiling agent most recently pinged back. Specify 5251 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 5252 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 5253 LatestAgentOrchestratedAt *time.Time `locationName:"latestAgentOrchestratedAt" type:"timestamp" timestampFormat:"iso8601"` 5254 5255 // The date and time when the most recent profile was received. Specify using 5256 // the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond 5257 // past June 1, 2020 1:15:02 PM UTC. 5258 LatestAgentProfileReportedAt *time.Time `locationName:"latestAgentProfileReportedAt" type:"timestamp" timestampFormat:"iso8601"` 5259 5260 // An AggregatedProfileTime (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html) 5261 // object that contains the aggregation period and start time for an aggregated 5262 // profile. 5263 LatestAggregatedProfile *AggregatedProfileTime `locationName:"latestAggregatedProfile" type:"structure"` 5264} 5265 5266// String returns the string representation 5267func (s ProfilingStatus) String() string { 5268 return awsutil.Prettify(s) 5269} 5270 5271// GoString returns the string representation 5272func (s ProfilingStatus) GoString() string { 5273 return s.String() 5274} 5275 5276// SetLatestAgentOrchestratedAt sets the LatestAgentOrchestratedAt field's value. 5277func (s *ProfilingStatus) SetLatestAgentOrchestratedAt(v time.Time) *ProfilingStatus { 5278 s.LatestAgentOrchestratedAt = &v 5279 return s 5280} 5281 5282// SetLatestAgentProfileReportedAt sets the LatestAgentProfileReportedAt field's value. 5283func (s *ProfilingStatus) SetLatestAgentProfileReportedAt(v time.Time) *ProfilingStatus { 5284 s.LatestAgentProfileReportedAt = &v 5285 return s 5286} 5287 5288// SetLatestAggregatedProfile sets the LatestAggregatedProfile field's value. 5289func (s *ProfilingStatus) SetLatestAggregatedProfile(v *AggregatedProfileTime) *ProfilingStatus { 5290 s.LatestAggregatedProfile = v 5291 return s 5292} 5293 5294// The structure representing the putPermissionRequest. 5295type PutPermissionInput struct { 5296 _ struct{} `type:"structure"` 5297 5298 // Specifies an action group that contains permissions to add to a profiling 5299 // group resource. One action group is supported, agentPermissions, which grants 5300 // permission to perform actions required by the profiling agent, ConfigureAgent 5301 // and PostAgentProfile permissions. 5302 // 5303 // ActionGroup is a required field 5304 ActionGroup *string `location:"uri" locationName:"actionGroup" type:"string" required:"true" enum:"ActionGroup"` 5305 5306 // A list ARNs for the roles and users you want to grant access to the profiling 5307 // group. Wildcards are not are supported in the ARNs. 5308 // 5309 // Principals is a required field 5310 Principals []*string `locationName:"principals" min:"1" type:"list" required:"true"` 5311 5312 // The name of the profiling group to grant access to. 5313 // 5314 // ProfilingGroupName is a required field 5315 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5316 5317 // A universally unique identifier (UUID) for the revision of the policy you 5318 // are adding to the profiling group. Do not specify this when you add permissions 5319 // to a profiling group for the first time. If a policy already exists on the 5320 // profiling group, you must specify the revisionId. 5321 RevisionId *string `locationName:"revisionId" type:"string"` 5322} 5323 5324// String returns the string representation 5325func (s PutPermissionInput) String() string { 5326 return awsutil.Prettify(s) 5327} 5328 5329// GoString returns the string representation 5330func (s PutPermissionInput) GoString() string { 5331 return s.String() 5332} 5333 5334// Validate inspects the fields of the type to determine if they are valid. 5335func (s *PutPermissionInput) Validate() error { 5336 invalidParams := request.ErrInvalidParams{Context: "PutPermissionInput"} 5337 if s.ActionGroup == nil { 5338 invalidParams.Add(request.NewErrParamRequired("ActionGroup")) 5339 } 5340 if s.ActionGroup != nil && len(*s.ActionGroup) < 1 { 5341 invalidParams.Add(request.NewErrParamMinLen("ActionGroup", 1)) 5342 } 5343 if s.Principals == nil { 5344 invalidParams.Add(request.NewErrParamRequired("Principals")) 5345 } 5346 if s.Principals != nil && len(s.Principals) < 1 { 5347 invalidParams.Add(request.NewErrParamMinLen("Principals", 1)) 5348 } 5349 if s.ProfilingGroupName == nil { 5350 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5351 } 5352 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5353 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5354 } 5355 5356 if invalidParams.Len() > 0 { 5357 return invalidParams 5358 } 5359 return nil 5360} 5361 5362// SetActionGroup sets the ActionGroup field's value. 5363func (s *PutPermissionInput) SetActionGroup(v string) *PutPermissionInput { 5364 s.ActionGroup = &v 5365 return s 5366} 5367 5368// SetPrincipals sets the Principals field's value. 5369func (s *PutPermissionInput) SetPrincipals(v []*string) *PutPermissionInput { 5370 s.Principals = v 5371 return s 5372} 5373 5374// SetProfilingGroupName sets the ProfilingGroupName field's value. 5375func (s *PutPermissionInput) SetProfilingGroupName(v string) *PutPermissionInput { 5376 s.ProfilingGroupName = &v 5377 return s 5378} 5379 5380// SetRevisionId sets the RevisionId field's value. 5381func (s *PutPermissionInput) SetRevisionId(v string) *PutPermissionInput { 5382 s.RevisionId = &v 5383 return s 5384} 5385 5386// The structure representing the putPermissionResponse. 5387type PutPermissionOutput struct { 5388 _ struct{} `type:"structure"` 5389 5390 // The JSON-formatted resource-based policy on the profiling group that includes 5391 // the added permissions. 5392 // 5393 // Policy is a required field 5394 Policy *string `locationName:"policy" type:"string" required:"true"` 5395 5396 // A universally unique identifier (UUID) for the revision of the resource-based 5397 // policy that includes the added permissions. The JSON-formatted policy is 5398 // in the policy element of the response. 5399 // 5400 // RevisionId is a required field 5401 RevisionId *string `locationName:"revisionId" type:"string" required:"true"` 5402} 5403 5404// String returns the string representation 5405func (s PutPermissionOutput) String() string { 5406 return awsutil.Prettify(s) 5407} 5408 5409// GoString returns the string representation 5410func (s PutPermissionOutput) GoString() string { 5411 return s.String() 5412} 5413 5414// SetPolicy sets the Policy field's value. 5415func (s *PutPermissionOutput) SetPolicy(v string) *PutPermissionOutput { 5416 s.Policy = &v 5417 return s 5418} 5419 5420// SetRevisionId sets the RevisionId field's value. 5421func (s *PutPermissionOutput) SetRevisionId(v string) *PutPermissionOutput { 5422 s.RevisionId = &v 5423 return s 5424} 5425 5426// A potential improvement that was found from analyzing the profiling data. 5427type Recommendation struct { 5428 _ struct{} `type:"structure"` 5429 5430 // How many different places in the profile graph triggered a match. 5431 // 5432 // AllMatchesCount is a required field 5433 AllMatchesCount *int64 `locationName:"allMatchesCount" type:"integer" required:"true"` 5434 5435 // How much of the total sample count is potentially affected. 5436 // 5437 // AllMatchesSum is a required field 5438 AllMatchesSum *float64 `locationName:"allMatchesSum" type:"double" required:"true"` 5439 5440 // End time of the profile that was used by this analysis. This is specified 5441 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 5442 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 5443 // 5444 // EndTime is a required field 5445 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5446 5447 // The pattern that analysis recognized in the profile to make this recommendation. 5448 // 5449 // Pattern is a required field 5450 Pattern *Pattern `locationName:"pattern" type:"structure" required:"true"` 5451 5452 // The start time of the profile that was used by this analysis. This is specified 5453 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 5454 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 5455 // 5456 // StartTime is a required field 5457 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5458 5459 // List of the matches with most impact. 5460 // 5461 // TopMatches is a required field 5462 TopMatches []*Match `locationName:"topMatches" type:"list" required:"true"` 5463} 5464 5465// String returns the string representation 5466func (s Recommendation) String() string { 5467 return awsutil.Prettify(s) 5468} 5469 5470// GoString returns the string representation 5471func (s Recommendation) GoString() string { 5472 return s.String() 5473} 5474 5475// SetAllMatchesCount sets the AllMatchesCount field's value. 5476func (s *Recommendation) SetAllMatchesCount(v int64) *Recommendation { 5477 s.AllMatchesCount = &v 5478 return s 5479} 5480 5481// SetAllMatchesSum sets the AllMatchesSum field's value. 5482func (s *Recommendation) SetAllMatchesSum(v float64) *Recommendation { 5483 s.AllMatchesSum = &v 5484 return s 5485} 5486 5487// SetEndTime sets the EndTime field's value. 5488func (s *Recommendation) SetEndTime(v time.Time) *Recommendation { 5489 s.EndTime = &v 5490 return s 5491} 5492 5493// SetPattern sets the Pattern field's value. 5494func (s *Recommendation) SetPattern(v *Pattern) *Recommendation { 5495 s.Pattern = v 5496 return s 5497} 5498 5499// SetStartTime sets the StartTime field's value. 5500func (s *Recommendation) SetStartTime(v time.Time) *Recommendation { 5501 s.StartTime = &v 5502 return s 5503} 5504 5505// SetTopMatches sets the TopMatches field's value. 5506func (s *Recommendation) SetTopMatches(v []*Match) *Recommendation { 5507 s.TopMatches = v 5508 return s 5509} 5510 5511// The structure representing the RemoveNotificationChannelRequest. 5512type RemoveNotificationChannelInput struct { 5513 _ struct{} `type:"structure"` 5514 5515 // The id of the channel that we want to stop receiving notifications. 5516 // 5517 // ChannelId is a required field 5518 ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` 5519 5520 // The name of the profiling group we want to change notification configuration 5521 // for. 5522 // 5523 // ProfilingGroupName is a required field 5524 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5525} 5526 5527// String returns the string representation 5528func (s RemoveNotificationChannelInput) String() string { 5529 return awsutil.Prettify(s) 5530} 5531 5532// GoString returns the string representation 5533func (s RemoveNotificationChannelInput) GoString() string { 5534 return s.String() 5535} 5536 5537// Validate inspects the fields of the type to determine if they are valid. 5538func (s *RemoveNotificationChannelInput) Validate() error { 5539 invalidParams := request.ErrInvalidParams{Context: "RemoveNotificationChannelInput"} 5540 if s.ChannelId == nil { 5541 invalidParams.Add(request.NewErrParamRequired("ChannelId")) 5542 } 5543 if s.ChannelId != nil && len(*s.ChannelId) < 1 { 5544 invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) 5545 } 5546 if s.ProfilingGroupName == nil { 5547 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5548 } 5549 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5550 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5551 } 5552 5553 if invalidParams.Len() > 0 { 5554 return invalidParams 5555 } 5556 return nil 5557} 5558 5559// SetChannelId sets the ChannelId field's value. 5560func (s *RemoveNotificationChannelInput) SetChannelId(v string) *RemoveNotificationChannelInput { 5561 s.ChannelId = &v 5562 return s 5563} 5564 5565// SetProfilingGroupName sets the ProfilingGroupName field's value. 5566func (s *RemoveNotificationChannelInput) SetProfilingGroupName(v string) *RemoveNotificationChannelInput { 5567 s.ProfilingGroupName = &v 5568 return s 5569} 5570 5571// The structure representing the RemoveNotificationChannelResponse. 5572type RemoveNotificationChannelOutput struct { 5573 _ struct{} `type:"structure"` 5574 5575 // The new notification configuration for this profiling group. 5576 NotificationConfiguration *NotificationConfiguration `locationName:"notificationConfiguration" type:"structure"` 5577} 5578 5579// String returns the string representation 5580func (s RemoveNotificationChannelOutput) String() string { 5581 return awsutil.Prettify(s) 5582} 5583 5584// GoString returns the string representation 5585func (s RemoveNotificationChannelOutput) GoString() string { 5586 return s.String() 5587} 5588 5589// SetNotificationConfiguration sets the NotificationConfiguration field's value. 5590func (s *RemoveNotificationChannelOutput) SetNotificationConfiguration(v *NotificationConfiguration) *RemoveNotificationChannelOutput { 5591 s.NotificationConfiguration = v 5592 return s 5593} 5594 5595type RemovePermissionInput struct { 5596 _ struct{} `type:"structure"` 5597 5598 // Specifies an action group that contains the permissions to remove from a 5599 // profiling group's resource-based policy. One action group is supported, agentPermissions, 5600 // which grants ConfigureAgent and PostAgentProfile permissions. 5601 // 5602 // ActionGroup is a required field 5603 ActionGroup *string `location:"uri" locationName:"actionGroup" type:"string" required:"true" enum:"ActionGroup"` 5604 5605 // The name of the profiling group. 5606 // 5607 // ProfilingGroupName is a required field 5608 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5609 5610 // A universally unique identifier (UUID) for the revision of the resource-based 5611 // policy from which you want to remove permissions. 5612 // 5613 // RevisionId is a required field 5614 RevisionId *string `location:"querystring" locationName:"revisionId" type:"string" required:"true"` 5615} 5616 5617// String returns the string representation 5618func (s RemovePermissionInput) String() string { 5619 return awsutil.Prettify(s) 5620} 5621 5622// GoString returns the string representation 5623func (s RemovePermissionInput) GoString() string { 5624 return s.String() 5625} 5626 5627// Validate inspects the fields of the type to determine if they are valid. 5628func (s *RemovePermissionInput) Validate() error { 5629 invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"} 5630 if s.ActionGroup == nil { 5631 invalidParams.Add(request.NewErrParamRequired("ActionGroup")) 5632 } 5633 if s.ActionGroup != nil && len(*s.ActionGroup) < 1 { 5634 invalidParams.Add(request.NewErrParamMinLen("ActionGroup", 1)) 5635 } 5636 if s.ProfilingGroupName == nil { 5637 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5638 } 5639 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5640 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5641 } 5642 if s.RevisionId == nil { 5643 invalidParams.Add(request.NewErrParamRequired("RevisionId")) 5644 } 5645 5646 if invalidParams.Len() > 0 { 5647 return invalidParams 5648 } 5649 return nil 5650} 5651 5652// SetActionGroup sets the ActionGroup field's value. 5653func (s *RemovePermissionInput) SetActionGroup(v string) *RemovePermissionInput { 5654 s.ActionGroup = &v 5655 return s 5656} 5657 5658// SetProfilingGroupName sets the ProfilingGroupName field's value. 5659func (s *RemovePermissionInput) SetProfilingGroupName(v string) *RemovePermissionInput { 5660 s.ProfilingGroupName = &v 5661 return s 5662} 5663 5664// SetRevisionId sets the RevisionId field's value. 5665func (s *RemovePermissionInput) SetRevisionId(v string) *RemovePermissionInput { 5666 s.RevisionId = &v 5667 return s 5668} 5669 5670// The structure representing the removePermissionResponse. 5671type RemovePermissionOutput struct { 5672 _ struct{} `type:"structure"` 5673 5674 // The JSON-formatted resource-based policy on the profiling group after the 5675 // specified permissions were removed. 5676 // 5677 // Policy is a required field 5678 Policy *string `locationName:"policy" type:"string" required:"true"` 5679 5680 // A universally unique identifier (UUID) for the revision of the resource-based 5681 // policy after the specified permissions were removed. The updated JSON-formatted 5682 // policy is in the policy element of the response. 5683 // 5684 // RevisionId is a required field 5685 RevisionId *string `locationName:"revisionId" type:"string" required:"true"` 5686} 5687 5688// String returns the string representation 5689func (s RemovePermissionOutput) String() string { 5690 return awsutil.Prettify(s) 5691} 5692 5693// GoString returns the string representation 5694func (s RemovePermissionOutput) GoString() string { 5695 return s.String() 5696} 5697 5698// SetPolicy sets the Policy field's value. 5699func (s *RemovePermissionOutput) SetPolicy(v string) *RemovePermissionOutput { 5700 s.Policy = &v 5701 return s 5702} 5703 5704// SetRevisionId sets the RevisionId field's value. 5705func (s *RemovePermissionOutput) SetRevisionId(v string) *RemovePermissionOutput { 5706 s.RevisionId = &v 5707 return s 5708} 5709 5710// The resource specified in the request does not exist. 5711type ResourceNotFoundException struct { 5712 _ struct{} `type:"structure"` 5713 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5714 5715 Message_ *string `locationName:"message" type:"string"` 5716} 5717 5718// String returns the string representation 5719func (s ResourceNotFoundException) String() string { 5720 return awsutil.Prettify(s) 5721} 5722 5723// GoString returns the string representation 5724func (s ResourceNotFoundException) GoString() string { 5725 return s.String() 5726} 5727 5728func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 5729 return &ResourceNotFoundException{ 5730 RespMetadata: v, 5731 } 5732} 5733 5734// Code returns the exception type name. 5735func (s *ResourceNotFoundException) Code() string { 5736 return "ResourceNotFoundException" 5737} 5738 5739// Message returns the exception's message. 5740func (s *ResourceNotFoundException) Message() string { 5741 if s.Message_ != nil { 5742 return *s.Message_ 5743 } 5744 return "" 5745} 5746 5747// OrigErr always returns nil, satisfies awserr.Error interface. 5748func (s *ResourceNotFoundException) OrigErr() error { 5749 return nil 5750} 5751 5752func (s *ResourceNotFoundException) Error() string { 5753 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5754} 5755 5756// Status code returns the HTTP status code for the request's response error. 5757func (s *ResourceNotFoundException) StatusCode() int { 5758 return s.RespMetadata.StatusCode 5759} 5760 5761// RequestID returns the service's response RequestID for request. 5762func (s *ResourceNotFoundException) RequestID() string { 5763 return s.RespMetadata.RequestID 5764} 5765 5766// You have exceeded your service quota. To perform the requested action, remove 5767// some of the relevant resources, or use Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) 5768// to request a service quota increase. 5769type ServiceQuotaExceededException struct { 5770 _ struct{} `type:"structure"` 5771 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5772 5773 Message_ *string `locationName:"message" type:"string"` 5774} 5775 5776// String returns the string representation 5777func (s ServiceQuotaExceededException) String() string { 5778 return awsutil.Prettify(s) 5779} 5780 5781// GoString returns the string representation 5782func (s ServiceQuotaExceededException) GoString() string { 5783 return s.String() 5784} 5785 5786func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 5787 return &ServiceQuotaExceededException{ 5788 RespMetadata: v, 5789 } 5790} 5791 5792// Code returns the exception type name. 5793func (s *ServiceQuotaExceededException) Code() string { 5794 return "ServiceQuotaExceededException" 5795} 5796 5797// Message returns the exception's message. 5798func (s *ServiceQuotaExceededException) Message() string { 5799 if s.Message_ != nil { 5800 return *s.Message_ 5801 } 5802 return "" 5803} 5804 5805// OrigErr always returns nil, satisfies awserr.Error interface. 5806func (s *ServiceQuotaExceededException) OrigErr() error { 5807 return nil 5808} 5809 5810func (s *ServiceQuotaExceededException) Error() string { 5811 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5812} 5813 5814// Status code returns the HTTP status code for the request's response error. 5815func (s *ServiceQuotaExceededException) StatusCode() int { 5816 return s.RespMetadata.StatusCode 5817} 5818 5819// RequestID returns the service's response RequestID for request. 5820func (s *ServiceQuotaExceededException) RequestID() string { 5821 return s.RespMetadata.RequestID 5822} 5823 5824// The structure representing the SubmitFeedbackRequest. 5825type SubmitFeedbackInput struct { 5826 _ struct{} `type:"structure"` 5827 5828 // The universally unique identifier (UUID) of the AnomalyInstance (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html) 5829 // object that is included in the analysis data. 5830 // 5831 // AnomalyInstanceId is a required field 5832 AnomalyInstanceId *string `location:"uri" locationName:"anomalyInstanceId" type:"string" required:"true"` 5833 5834 // Optional feedback about this anomaly. 5835 Comment *string `locationName:"comment" type:"string"` 5836 5837 // The name of the profiling group that is associated with the analysis data. 5838 // 5839 // ProfilingGroupName is a required field 5840 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5841 5842 // The feedback tpye. Thee are two valid values, Positive and Negative. 5843 // 5844 // Type is a required field 5845 Type *string `locationName:"type" type:"string" required:"true" enum:"FeedbackType"` 5846} 5847 5848// String returns the string representation 5849func (s SubmitFeedbackInput) String() string { 5850 return awsutil.Prettify(s) 5851} 5852 5853// GoString returns the string representation 5854func (s SubmitFeedbackInput) GoString() string { 5855 return s.String() 5856} 5857 5858// Validate inspects the fields of the type to determine if they are valid. 5859func (s *SubmitFeedbackInput) Validate() error { 5860 invalidParams := request.ErrInvalidParams{Context: "SubmitFeedbackInput"} 5861 if s.AnomalyInstanceId == nil { 5862 invalidParams.Add(request.NewErrParamRequired("AnomalyInstanceId")) 5863 } 5864 if s.AnomalyInstanceId != nil && len(*s.AnomalyInstanceId) < 1 { 5865 invalidParams.Add(request.NewErrParamMinLen("AnomalyInstanceId", 1)) 5866 } 5867 if s.ProfilingGroupName == nil { 5868 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5869 } 5870 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5871 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5872 } 5873 if s.Type == nil { 5874 invalidParams.Add(request.NewErrParamRequired("Type")) 5875 } 5876 5877 if invalidParams.Len() > 0 { 5878 return invalidParams 5879 } 5880 return nil 5881} 5882 5883// SetAnomalyInstanceId sets the AnomalyInstanceId field's value. 5884func (s *SubmitFeedbackInput) SetAnomalyInstanceId(v string) *SubmitFeedbackInput { 5885 s.AnomalyInstanceId = &v 5886 return s 5887} 5888 5889// SetComment sets the Comment field's value. 5890func (s *SubmitFeedbackInput) SetComment(v string) *SubmitFeedbackInput { 5891 s.Comment = &v 5892 return s 5893} 5894 5895// SetProfilingGroupName sets the ProfilingGroupName field's value. 5896func (s *SubmitFeedbackInput) SetProfilingGroupName(v string) *SubmitFeedbackInput { 5897 s.ProfilingGroupName = &v 5898 return s 5899} 5900 5901// SetType sets the Type field's value. 5902func (s *SubmitFeedbackInput) SetType(v string) *SubmitFeedbackInput { 5903 s.Type = &v 5904 return s 5905} 5906 5907// The structure representing the SubmitFeedbackResponse. 5908type SubmitFeedbackOutput struct { 5909 _ struct{} `type:"structure"` 5910} 5911 5912// String returns the string representation 5913func (s SubmitFeedbackOutput) String() string { 5914 return awsutil.Prettify(s) 5915} 5916 5917// GoString returns the string representation 5918func (s SubmitFeedbackOutput) GoString() string { 5919 return s.String() 5920} 5921 5922type TagResourceInput struct { 5923 _ struct{} `type:"structure"` 5924 5925 // The Amazon Resource Name (ARN) of the resource that the tags are added to. 5926 // 5927 // ResourceArn is a required field 5928 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 5929 5930 // The list of tags that are added to the specified resource. 5931 // 5932 // Tags is a required field 5933 Tags map[string]*string `locationName:"tags" type:"map" required:"true"` 5934} 5935 5936// String returns the string representation 5937func (s TagResourceInput) String() string { 5938 return awsutil.Prettify(s) 5939} 5940 5941// GoString returns the string representation 5942func (s TagResourceInput) GoString() string { 5943 return s.String() 5944} 5945 5946// Validate inspects the fields of the type to determine if they are valid. 5947func (s *TagResourceInput) Validate() error { 5948 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 5949 if s.ResourceArn == nil { 5950 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5951 } 5952 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 5953 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 5954 } 5955 if s.Tags == nil { 5956 invalidParams.Add(request.NewErrParamRequired("Tags")) 5957 } 5958 5959 if invalidParams.Len() > 0 { 5960 return invalidParams 5961 } 5962 return nil 5963} 5964 5965// SetResourceArn sets the ResourceArn field's value. 5966func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 5967 s.ResourceArn = &v 5968 return s 5969} 5970 5971// SetTags sets the Tags field's value. 5972func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 5973 s.Tags = v 5974 return s 5975} 5976 5977type TagResourceOutput struct { 5978 _ struct{} `type:"structure"` 5979} 5980 5981// String returns the string representation 5982func (s TagResourceOutput) String() string { 5983 return awsutil.Prettify(s) 5984} 5985 5986// GoString returns the string representation 5987func (s TagResourceOutput) GoString() string { 5988 return s.String() 5989} 5990 5991// The request was denied due to request throttling. 5992type ThrottlingException struct { 5993 _ struct{} `type:"structure"` 5994 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5995 5996 Message_ *string `locationName:"message" type:"string"` 5997} 5998 5999// String returns the string representation 6000func (s ThrottlingException) String() string { 6001 return awsutil.Prettify(s) 6002} 6003 6004// GoString returns the string representation 6005func (s ThrottlingException) GoString() string { 6006 return s.String() 6007} 6008 6009func newErrorThrottlingException(v protocol.ResponseMetadata) error { 6010 return &ThrottlingException{ 6011 RespMetadata: v, 6012 } 6013} 6014 6015// Code returns the exception type name. 6016func (s *ThrottlingException) Code() string { 6017 return "ThrottlingException" 6018} 6019 6020// Message returns the exception's message. 6021func (s *ThrottlingException) Message() string { 6022 if s.Message_ != nil { 6023 return *s.Message_ 6024 } 6025 return "" 6026} 6027 6028// OrigErr always returns nil, satisfies awserr.Error interface. 6029func (s *ThrottlingException) OrigErr() error { 6030 return nil 6031} 6032 6033func (s *ThrottlingException) Error() string { 6034 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6035} 6036 6037// Status code returns the HTTP status code for the request's response error. 6038func (s *ThrottlingException) StatusCode() int { 6039 return s.RespMetadata.StatusCode 6040} 6041 6042// RequestID returns the service's response RequestID for request. 6043func (s *ThrottlingException) RequestID() string { 6044 return s.RespMetadata.RequestID 6045} 6046 6047// A data type that contains a Timestamp object. This is specified using the 6048// ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond 6049// past June 1, 2020 1:15:02 PM UTC. 6050type TimestampStructure struct { 6051 _ struct{} `type:"structure"` 6052 6053 // A Timestamp. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 6054 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 6055 // 6056 // Value is a required field 6057 Value *time.Time `locationName:"value" type:"timestamp" timestampFormat:"iso8601" required:"true"` 6058} 6059 6060// String returns the string representation 6061func (s TimestampStructure) String() string { 6062 return awsutil.Prettify(s) 6063} 6064 6065// GoString returns the string representation 6066func (s TimestampStructure) GoString() string { 6067 return s.String() 6068} 6069 6070// SetValue sets the Value field's value. 6071func (s *TimestampStructure) SetValue(v time.Time) *TimestampStructure { 6072 s.Value = &v 6073 return s 6074} 6075 6076type UntagResourceInput struct { 6077 _ struct{} `type:"structure"` 6078 6079 // The Amazon Resource Name (ARN) of the resource that contains the tags to 6080 // remove. 6081 // 6082 // ResourceArn is a required field 6083 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 6084 6085 // A list of tag keys. Existing tags of resources with keys in this list are 6086 // removed from the specified resource. 6087 // 6088 // TagKeys is a required field 6089 TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` 6090} 6091 6092// String returns the string representation 6093func (s UntagResourceInput) String() string { 6094 return awsutil.Prettify(s) 6095} 6096 6097// GoString returns the string representation 6098func (s UntagResourceInput) GoString() string { 6099 return s.String() 6100} 6101 6102// Validate inspects the fields of the type to determine if they are valid. 6103func (s *UntagResourceInput) Validate() error { 6104 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 6105 if s.ResourceArn == nil { 6106 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6107 } 6108 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6109 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6110 } 6111 if s.TagKeys == nil { 6112 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 6113 } 6114 6115 if invalidParams.Len() > 0 { 6116 return invalidParams 6117 } 6118 return nil 6119} 6120 6121// SetResourceArn sets the ResourceArn field's value. 6122func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 6123 s.ResourceArn = &v 6124 return s 6125} 6126 6127// SetTagKeys sets the TagKeys field's value. 6128func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 6129 s.TagKeys = v 6130 return s 6131} 6132 6133type UntagResourceOutput struct { 6134 _ struct{} `type:"structure"` 6135} 6136 6137// String returns the string representation 6138func (s UntagResourceOutput) String() string { 6139 return awsutil.Prettify(s) 6140} 6141 6142// GoString returns the string representation 6143func (s UntagResourceOutput) GoString() string { 6144 return s.String() 6145} 6146 6147// The structure representing the updateProfilingGroupRequest. 6148type UpdateProfilingGroupInput struct { 6149 _ struct{} `type:"structure"` 6150 6151 // Specifies whether profiling is enabled or disabled for a profiling group. 6152 // 6153 // AgentOrchestrationConfig is a required field 6154 AgentOrchestrationConfig *AgentOrchestrationConfig `locationName:"agentOrchestrationConfig" type:"structure" required:"true"` 6155 6156 // The name of the profiling group to update. 6157 // 6158 // ProfilingGroupName is a required field 6159 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 6160} 6161 6162// String returns the string representation 6163func (s UpdateProfilingGroupInput) String() string { 6164 return awsutil.Prettify(s) 6165} 6166 6167// GoString returns the string representation 6168func (s UpdateProfilingGroupInput) GoString() string { 6169 return s.String() 6170} 6171 6172// Validate inspects the fields of the type to determine if they are valid. 6173func (s *UpdateProfilingGroupInput) Validate() error { 6174 invalidParams := request.ErrInvalidParams{Context: "UpdateProfilingGroupInput"} 6175 if s.AgentOrchestrationConfig == nil { 6176 invalidParams.Add(request.NewErrParamRequired("AgentOrchestrationConfig")) 6177 } 6178 if s.ProfilingGroupName == nil { 6179 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 6180 } 6181 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 6182 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 6183 } 6184 if s.AgentOrchestrationConfig != nil { 6185 if err := s.AgentOrchestrationConfig.Validate(); err != nil { 6186 invalidParams.AddNested("AgentOrchestrationConfig", err.(request.ErrInvalidParams)) 6187 } 6188 } 6189 6190 if invalidParams.Len() > 0 { 6191 return invalidParams 6192 } 6193 return nil 6194} 6195 6196// SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 6197func (s *UpdateProfilingGroupInput) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *UpdateProfilingGroupInput { 6198 s.AgentOrchestrationConfig = v 6199 return s 6200} 6201 6202// SetProfilingGroupName sets the ProfilingGroupName field's value. 6203func (s *UpdateProfilingGroupInput) SetProfilingGroupName(v string) *UpdateProfilingGroupInput { 6204 s.ProfilingGroupName = &v 6205 return s 6206} 6207 6208// The structure representing the updateProfilingGroupResponse. 6209type UpdateProfilingGroupOutput struct { 6210 _ struct{} `type:"structure" payload:"ProfilingGroup"` 6211 6212 // A ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 6213 // that contains information about the returned updated profiling group. 6214 // 6215 // ProfilingGroup is a required field 6216 ProfilingGroup *ProfilingGroupDescription `locationName:"profilingGroup" type:"structure" required:"true"` 6217} 6218 6219// String returns the string representation 6220func (s UpdateProfilingGroupOutput) String() string { 6221 return awsutil.Prettify(s) 6222} 6223 6224// GoString returns the string representation 6225func (s UpdateProfilingGroupOutput) GoString() string { 6226 return s.String() 6227} 6228 6229// SetProfilingGroup sets the ProfilingGroup field's value. 6230func (s *UpdateProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *UpdateProfilingGroupOutput { 6231 s.ProfilingGroup = v 6232 return s 6233} 6234 6235// Feedback that can be submitted for each instance of an anomaly by the user. 6236// Feedback is be used for improvements in generating recommendations for the 6237// application. 6238type UserFeedback struct { 6239 _ struct{} `type:"structure"` 6240 6241 // Optional Positive or Negative feedback submitted by the user about whether 6242 // the recommendation is useful or not. 6243 // 6244 // Type is a required field 6245 Type *string `locationName:"type" type:"string" required:"true" enum:"FeedbackType"` 6246} 6247 6248// String returns the string representation 6249func (s UserFeedback) String() string { 6250 return awsutil.Prettify(s) 6251} 6252 6253// GoString returns the string representation 6254func (s UserFeedback) GoString() string { 6255 return s.String() 6256} 6257 6258// SetType sets the Type field's value. 6259func (s *UserFeedback) SetType(v string) *UserFeedback { 6260 s.Type = &v 6261 return s 6262} 6263 6264// The parameter is not valid. 6265type ValidationException struct { 6266 _ struct{} `type:"structure"` 6267 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6268 6269 Message_ *string `locationName:"message" type:"string"` 6270} 6271 6272// String returns the string representation 6273func (s ValidationException) String() string { 6274 return awsutil.Prettify(s) 6275} 6276 6277// GoString returns the string representation 6278func (s ValidationException) GoString() string { 6279 return s.String() 6280} 6281 6282func newErrorValidationException(v protocol.ResponseMetadata) error { 6283 return &ValidationException{ 6284 RespMetadata: v, 6285 } 6286} 6287 6288// Code returns the exception type name. 6289func (s *ValidationException) Code() string { 6290 return "ValidationException" 6291} 6292 6293// Message returns the exception's message. 6294func (s *ValidationException) Message() string { 6295 if s.Message_ != nil { 6296 return *s.Message_ 6297 } 6298 return "" 6299} 6300 6301// OrigErr always returns nil, satisfies awserr.Error interface. 6302func (s *ValidationException) OrigErr() error { 6303 return nil 6304} 6305 6306func (s *ValidationException) Error() string { 6307 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6308} 6309 6310// Status code returns the HTTP status code for the request's response error. 6311func (s *ValidationException) StatusCode() int { 6312 return s.RespMetadata.StatusCode 6313} 6314 6315// RequestID returns the service's response RequestID for request. 6316func (s *ValidationException) RequestID() string { 6317 return s.RespMetadata.RequestID 6318} 6319 6320const ( 6321 // ActionGroupAgentPermissions is a ActionGroup enum value 6322 ActionGroupAgentPermissions = "agentPermissions" 6323) 6324 6325// ActionGroup_Values returns all elements of the ActionGroup enum 6326func ActionGroup_Values() []string { 6327 return []string{ 6328 ActionGroupAgentPermissions, 6329 } 6330} 6331 6332const ( 6333 // AgentParameterFieldSamplingIntervalInMilliseconds is a AgentParameterField enum value 6334 AgentParameterFieldSamplingIntervalInMilliseconds = "SamplingIntervalInMilliseconds" 6335 6336 // AgentParameterFieldReportingIntervalInMilliseconds is a AgentParameterField enum value 6337 AgentParameterFieldReportingIntervalInMilliseconds = "ReportingIntervalInMilliseconds" 6338 6339 // AgentParameterFieldMinimumTimeForReportingInMilliseconds is a AgentParameterField enum value 6340 AgentParameterFieldMinimumTimeForReportingInMilliseconds = "MinimumTimeForReportingInMilliseconds" 6341 6342 // AgentParameterFieldMemoryUsageLimitPercent is a AgentParameterField enum value 6343 AgentParameterFieldMemoryUsageLimitPercent = "MemoryUsageLimitPercent" 6344 6345 // AgentParameterFieldMaxStackDepth is a AgentParameterField enum value 6346 AgentParameterFieldMaxStackDepth = "MaxStackDepth" 6347) 6348 6349// AgentParameterField_Values returns all elements of the AgentParameterField enum 6350func AgentParameterField_Values() []string { 6351 return []string{ 6352 AgentParameterFieldSamplingIntervalInMilliseconds, 6353 AgentParameterFieldReportingIntervalInMilliseconds, 6354 AgentParameterFieldMinimumTimeForReportingInMilliseconds, 6355 AgentParameterFieldMemoryUsageLimitPercent, 6356 AgentParameterFieldMaxStackDepth, 6357 } 6358} 6359 6360const ( 6361 // AggregationPeriodPt5m is a AggregationPeriod enum value 6362 AggregationPeriodPt5m = "PT5M" 6363 6364 // AggregationPeriodPt1h is a AggregationPeriod enum value 6365 AggregationPeriodPt1h = "PT1H" 6366 6367 // AggregationPeriodP1d is a AggregationPeriod enum value 6368 AggregationPeriodP1d = "P1D" 6369) 6370 6371// AggregationPeriod_Values returns all elements of the AggregationPeriod enum 6372func AggregationPeriod_Values() []string { 6373 return []string{ 6374 AggregationPeriodPt5m, 6375 AggregationPeriodPt1h, 6376 AggregationPeriodP1d, 6377 } 6378} 6379 6380const ( 6381 // ComputePlatformDefault is a ComputePlatform enum value 6382 ComputePlatformDefault = "Default" 6383 6384 // ComputePlatformAwslambda is a ComputePlatform enum value 6385 ComputePlatformAwslambda = "AWSLambda" 6386) 6387 6388// ComputePlatform_Values returns all elements of the ComputePlatform enum 6389func ComputePlatform_Values() []string { 6390 return []string{ 6391 ComputePlatformDefault, 6392 ComputePlatformAwslambda, 6393 } 6394} 6395 6396const ( 6397 // EventPublisherAnomalyDetection is a EventPublisher enum value 6398 EventPublisherAnomalyDetection = "AnomalyDetection" 6399) 6400 6401// EventPublisher_Values returns all elements of the EventPublisher enum 6402func EventPublisher_Values() []string { 6403 return []string{ 6404 EventPublisherAnomalyDetection, 6405 } 6406} 6407 6408const ( 6409 // FeedbackTypePositive is a FeedbackType enum value 6410 FeedbackTypePositive = "Positive" 6411 6412 // FeedbackTypeNegative is a FeedbackType enum value 6413 FeedbackTypeNegative = "Negative" 6414) 6415 6416// FeedbackType_Values returns all elements of the FeedbackType enum 6417func FeedbackType_Values() []string { 6418 return []string{ 6419 FeedbackTypePositive, 6420 FeedbackTypeNegative, 6421 } 6422} 6423 6424const ( 6425 // MetadataFieldComputePlatform is a MetadataField enum value 6426 MetadataFieldComputePlatform = "ComputePlatform" 6427 6428 // MetadataFieldAgentId is a MetadataField enum value 6429 MetadataFieldAgentId = "AgentId" 6430 6431 // MetadataFieldAwsRequestId is a MetadataField enum value 6432 MetadataFieldAwsRequestId = "AwsRequestId" 6433 6434 // MetadataFieldExecutionEnvironment is a MetadataField enum value 6435 MetadataFieldExecutionEnvironment = "ExecutionEnvironment" 6436 6437 // MetadataFieldLambdaFunctionArn is a MetadataField enum value 6438 MetadataFieldLambdaFunctionArn = "LambdaFunctionArn" 6439 6440 // MetadataFieldLambdaMemoryLimitInMb is a MetadataField enum value 6441 MetadataFieldLambdaMemoryLimitInMb = "LambdaMemoryLimitInMB" 6442 6443 // MetadataFieldLambdaRemainingTimeInMilliseconds is a MetadataField enum value 6444 MetadataFieldLambdaRemainingTimeInMilliseconds = "LambdaRemainingTimeInMilliseconds" 6445 6446 // MetadataFieldLambdaTimeGapBetweenInvokesInMilliseconds is a MetadataField enum value 6447 MetadataFieldLambdaTimeGapBetweenInvokesInMilliseconds = "LambdaTimeGapBetweenInvokesInMilliseconds" 6448 6449 // MetadataFieldLambdaPreviousExecutionTimeInMilliseconds is a MetadataField enum value 6450 MetadataFieldLambdaPreviousExecutionTimeInMilliseconds = "LambdaPreviousExecutionTimeInMilliseconds" 6451) 6452 6453// MetadataField_Values returns all elements of the MetadataField enum 6454func MetadataField_Values() []string { 6455 return []string{ 6456 MetadataFieldComputePlatform, 6457 MetadataFieldAgentId, 6458 MetadataFieldAwsRequestId, 6459 MetadataFieldExecutionEnvironment, 6460 MetadataFieldLambdaFunctionArn, 6461 MetadataFieldLambdaMemoryLimitInMb, 6462 MetadataFieldLambdaRemainingTimeInMilliseconds, 6463 MetadataFieldLambdaTimeGapBetweenInvokesInMilliseconds, 6464 MetadataFieldLambdaPreviousExecutionTimeInMilliseconds, 6465 } 6466} 6467 6468const ( 6469 // MetricTypeAggregatedRelativeTotalTime is a MetricType enum value 6470 MetricTypeAggregatedRelativeTotalTime = "AggregatedRelativeTotalTime" 6471) 6472 6473// MetricType_Values returns all elements of the MetricType enum 6474func MetricType_Values() []string { 6475 return []string{ 6476 MetricTypeAggregatedRelativeTotalTime, 6477 } 6478} 6479 6480const ( 6481 // OrderByTimestampDescending is a OrderBy enum value 6482 OrderByTimestampDescending = "TimestampDescending" 6483 6484 // OrderByTimestampAscending is a OrderBy enum value 6485 OrderByTimestampAscending = "TimestampAscending" 6486) 6487 6488// OrderBy_Values returns all elements of the OrderBy enum 6489func OrderBy_Values() []string { 6490 return []string{ 6491 OrderByTimestampDescending, 6492 OrderByTimestampAscending, 6493 } 6494} 6495