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. 2380// 2381// API parameter values that are decorated as "sensitive" in the API will not 2382// be included in the string output. The member name will be present, but the 2383// value will be replaced with "sensitive". 2384func (s AddNotificationChannelsInput) String() string { 2385 return awsutil.Prettify(s) 2386} 2387 2388// GoString returns the string representation. 2389// 2390// API parameter values that are decorated as "sensitive" in the API will not 2391// be included in the string output. The member name will be present, but the 2392// value will be replaced with "sensitive". 2393func (s AddNotificationChannelsInput) GoString() string { 2394 return s.String() 2395} 2396 2397// Validate inspects the fields of the type to determine if they are valid. 2398func (s *AddNotificationChannelsInput) Validate() error { 2399 invalidParams := request.ErrInvalidParams{Context: "AddNotificationChannelsInput"} 2400 if s.Channels == nil { 2401 invalidParams.Add(request.NewErrParamRequired("Channels")) 2402 } 2403 if s.Channels != nil && len(s.Channels) < 1 { 2404 invalidParams.Add(request.NewErrParamMinLen("Channels", 1)) 2405 } 2406 if s.ProfilingGroupName == nil { 2407 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 2408 } 2409 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 2410 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 2411 } 2412 if s.Channels != nil { 2413 for i, v := range s.Channels { 2414 if v == nil { 2415 continue 2416 } 2417 if err := v.Validate(); err != nil { 2418 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Channels", i), err.(request.ErrInvalidParams)) 2419 } 2420 } 2421 } 2422 2423 if invalidParams.Len() > 0 { 2424 return invalidParams 2425 } 2426 return nil 2427} 2428 2429// SetChannels sets the Channels field's value. 2430func (s *AddNotificationChannelsInput) SetChannels(v []*Channel) *AddNotificationChannelsInput { 2431 s.Channels = v 2432 return s 2433} 2434 2435// SetProfilingGroupName sets the ProfilingGroupName field's value. 2436func (s *AddNotificationChannelsInput) SetProfilingGroupName(v string) *AddNotificationChannelsInput { 2437 s.ProfilingGroupName = &v 2438 return s 2439} 2440 2441// The structure representing the AddNotificationChannelsResponse. 2442type AddNotificationChannelsOutput struct { 2443 _ struct{} `type:"structure"` 2444 2445 // The new notification configuration for this profiling group. 2446 NotificationConfiguration *NotificationConfiguration `locationName:"notificationConfiguration" type:"structure"` 2447} 2448 2449// String returns the string representation. 2450// 2451// API parameter values that are decorated as "sensitive" in the API will not 2452// be included in the string output. The member name will be present, but the 2453// value will be replaced with "sensitive". 2454func (s AddNotificationChannelsOutput) String() string { 2455 return awsutil.Prettify(s) 2456} 2457 2458// GoString returns the string representation. 2459// 2460// API parameter values that are decorated as "sensitive" in the API will not 2461// be included in the string output. The member name will be present, but the 2462// value will be replaced with "sensitive". 2463func (s AddNotificationChannelsOutput) GoString() string { 2464 return s.String() 2465} 2466 2467// SetNotificationConfiguration sets the NotificationConfiguration field's value. 2468func (s *AddNotificationChannelsOutput) SetNotificationConfiguration(v *NotificationConfiguration) *AddNotificationChannelsOutput { 2469 s.NotificationConfiguration = v 2470 return s 2471} 2472 2473// The response of ConfigureAgent (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) 2474// that specifies if an agent profiles or not and for how long to return profiling 2475// data. 2476type AgentConfiguration struct { 2477 _ struct{} `type:"structure"` 2478 2479 // Parameters used by the profiler. The valid parameters are: 2480 // 2481 // * MaxStackDepth - The maximum depth of the stacks in the code that is 2482 // represented in the profile. For example, if CodeGuru Profiler finds a 2483 // method A, which calls method B, which calls method C, which calls method 2484 // D, then the depth is 4. If the maxDepth is set to 2, then the profiler 2485 // evaluates A and B. 2486 // 2487 // * MemoryUsageLimitPercent - The percentage of memory that is used by the 2488 // profiler. 2489 // 2490 // * MinimumTimeForReportingInMilliseconds - The minimum time in milliseconds 2491 // between sending reports. 2492 // 2493 // * ReportingIntervalInMilliseconds - The reporting interval in milliseconds 2494 // used to report profiles. 2495 // 2496 // * SamplingIntervalInMilliseconds - The sampling interval in milliseconds 2497 // that is used to profile samples. 2498 AgentParameters map[string]*string `locationName:"agentParameters" type:"map"` 2499 2500 // How long a profiling agent should send profiling data using ConfigureAgent 2501 // (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html). 2502 // For example, if this is set to 300, the profiling agent calls ConfigureAgent 2503 // (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) 2504 // every 5 minutes to submit the profiled data collected during that period. 2505 // 2506 // PeriodInSeconds is a required field 2507 PeriodInSeconds *int64 `locationName:"periodInSeconds" type:"integer" required:"true"` 2508 2509 // A Boolean that specifies whether the profiling agent collects profiling data 2510 // or not. Set to true to enable profiling. 2511 // 2512 // ShouldProfile is a required field 2513 ShouldProfile *bool `locationName:"shouldProfile" type:"boolean" required:"true"` 2514} 2515 2516// String returns the string representation. 2517// 2518// API parameter values that are decorated as "sensitive" in the API will not 2519// be included in the string output. The member name will be present, but the 2520// value will be replaced with "sensitive". 2521func (s AgentConfiguration) String() string { 2522 return awsutil.Prettify(s) 2523} 2524 2525// GoString returns the string representation. 2526// 2527// API parameter values that are decorated as "sensitive" in the API will not 2528// be included in the string output. The member name will be present, but the 2529// value will be replaced with "sensitive". 2530func (s AgentConfiguration) GoString() string { 2531 return s.String() 2532} 2533 2534// SetAgentParameters sets the AgentParameters field's value. 2535func (s *AgentConfiguration) SetAgentParameters(v map[string]*string) *AgentConfiguration { 2536 s.AgentParameters = v 2537 return s 2538} 2539 2540// SetPeriodInSeconds sets the PeriodInSeconds field's value. 2541func (s *AgentConfiguration) SetPeriodInSeconds(v int64) *AgentConfiguration { 2542 s.PeriodInSeconds = &v 2543 return s 2544} 2545 2546// SetShouldProfile sets the ShouldProfile field's value. 2547func (s *AgentConfiguration) SetShouldProfile(v bool) *AgentConfiguration { 2548 s.ShouldProfile = &v 2549 return s 2550} 2551 2552// Specifies whether profiling is enabled or disabled for a profiling group. 2553// It is used by ConfigureAgent (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ConfigureAgent.html) 2554// to enable or disable profiling for a profiling group. 2555type AgentOrchestrationConfig struct { 2556 _ struct{} `type:"structure"` 2557 2558 // A Boolean that specifies whether the profiling agent collects profiling data 2559 // or not. Set to true to enable profiling. 2560 // 2561 // ProfilingEnabled is a required field 2562 ProfilingEnabled *bool `locationName:"profilingEnabled" type:"boolean" required:"true"` 2563} 2564 2565// String returns the string representation. 2566// 2567// API parameter values that are decorated as "sensitive" in the API will not 2568// be included in the string output. The member name will be present, but the 2569// value will be replaced with "sensitive". 2570func (s AgentOrchestrationConfig) String() string { 2571 return awsutil.Prettify(s) 2572} 2573 2574// GoString returns the string representation. 2575// 2576// API parameter values that are decorated as "sensitive" in the API will not 2577// be included in the string output. The member name will be present, but the 2578// value will be replaced with "sensitive". 2579func (s AgentOrchestrationConfig) GoString() string { 2580 return s.String() 2581} 2582 2583// Validate inspects the fields of the type to determine if they are valid. 2584func (s *AgentOrchestrationConfig) Validate() error { 2585 invalidParams := request.ErrInvalidParams{Context: "AgentOrchestrationConfig"} 2586 if s.ProfilingEnabled == nil { 2587 invalidParams.Add(request.NewErrParamRequired("ProfilingEnabled")) 2588 } 2589 2590 if invalidParams.Len() > 0 { 2591 return invalidParams 2592 } 2593 return nil 2594} 2595 2596// SetProfilingEnabled sets the ProfilingEnabled field's value. 2597func (s *AgentOrchestrationConfig) SetProfilingEnabled(v bool) *AgentOrchestrationConfig { 2598 s.ProfilingEnabled = &v 2599 return s 2600} 2601 2602// Specifies the aggregation period and aggregation start time for an aggregated 2603// profile. An aggregated profile is used to collect posted agent profiles during 2604// an aggregation period. There are three possible aggregation periods (1 day, 2605// 1 hour, or 5 minutes). 2606type AggregatedProfileTime struct { 2607 _ struct{} `type:"structure"` 2608 2609 // The aggregation period. This indicates the period during which an aggregation 2610 // profile collects posted agent profiles for a profiling group. Use one of 2611 // three valid durations that are specified using the ISO 8601 format. 2612 // 2613 // * P1D — 1 day 2614 // 2615 // * PT1H — 1 hour 2616 // 2617 // * PT5M — 5 minutes 2618 Period *string `locationName:"period" type:"string" enum:"AggregationPeriod"` 2619 2620 // The time that aggregation of posted agent profiles for a profiling group 2621 // starts. The aggregation profile contains profiles posted by the agent starting 2622 // at this time for an aggregation period specified by the period property of 2623 // the AggregatedProfileTime object. 2624 // 2625 // Specify start using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2626 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2627 Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"` 2628} 2629 2630// String returns the string representation. 2631// 2632// API parameter values that are decorated as "sensitive" in the API will not 2633// be included in the string output. The member name will be present, but the 2634// value will be replaced with "sensitive". 2635func (s AggregatedProfileTime) String() string { 2636 return awsutil.Prettify(s) 2637} 2638 2639// GoString returns the string representation. 2640// 2641// API parameter values that are decorated as "sensitive" in the API will not 2642// be included in the string output. The member name will be present, but the 2643// value will be replaced with "sensitive". 2644func (s AggregatedProfileTime) GoString() string { 2645 return s.String() 2646} 2647 2648// SetPeriod sets the Period field's value. 2649func (s *AggregatedProfileTime) SetPeriod(v string) *AggregatedProfileTime { 2650 s.Period = &v 2651 return s 2652} 2653 2654// SetStart sets the Start field's value. 2655func (s *AggregatedProfileTime) SetStart(v time.Time) *AggregatedProfileTime { 2656 s.Start = &v 2657 return s 2658} 2659 2660// Details about an anomaly in a specific metric of application profile. The 2661// anomaly is detected using analysis of the metric data over a period of time. 2662type Anomaly struct { 2663 _ struct{} `type:"structure"` 2664 2665 // A list of the instances of the detected anomalies during the requested period. 2666 // 2667 // Instances is a required field 2668 Instances []*AnomalyInstance `locationName:"instances" type:"list" required:"true"` 2669 2670 // Details about the metric that the analysis used when it detected the anomaly. 2671 // The metric includes the name of the frame that was analyzed with the type 2672 // and thread states used to derive the metric value for that frame. 2673 // 2674 // Metric is a required field 2675 Metric *Metric `locationName:"metric" type:"structure" required:"true"` 2676 2677 // The reason for which metric was flagged as anomalous. 2678 // 2679 // Reason is a required field 2680 Reason *string `locationName:"reason" type:"string" required:"true"` 2681} 2682 2683// String returns the string representation. 2684// 2685// API parameter values that are decorated as "sensitive" in the API will not 2686// be included in the string output. The member name will be present, but the 2687// value will be replaced with "sensitive". 2688func (s Anomaly) String() string { 2689 return awsutil.Prettify(s) 2690} 2691 2692// GoString returns the string representation. 2693// 2694// API parameter values that are decorated as "sensitive" in the API will not 2695// be included in the string output. The member name will be present, but the 2696// value will be replaced with "sensitive". 2697func (s Anomaly) GoString() string { 2698 return s.String() 2699} 2700 2701// SetInstances sets the Instances field's value. 2702func (s *Anomaly) SetInstances(v []*AnomalyInstance) *Anomaly { 2703 s.Instances = v 2704 return s 2705} 2706 2707// SetMetric sets the Metric field's value. 2708func (s *Anomaly) SetMetric(v *Metric) *Anomaly { 2709 s.Metric = v 2710 return s 2711} 2712 2713// SetReason sets the Reason field's value. 2714func (s *Anomaly) SetReason(v string) *Anomaly { 2715 s.Reason = &v 2716 return s 2717} 2718 2719// The specific duration in which the metric is flagged as anomalous. 2720type AnomalyInstance struct { 2721 _ struct{} `type:"structure"` 2722 2723 // The end time of the period during which the metric is flagged as anomalous. 2724 // This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2725 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2726 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 2727 2728 // The universally unique identifier (UUID) of an instance of an anomaly in 2729 // a metric. 2730 // 2731 // Id is a required field 2732 Id *string `locationName:"id" type:"string" required:"true"` 2733 2734 // The start time of the period during which the metric is flagged as anomalous. 2735 // This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2736 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2737 // 2738 // StartTime is a required field 2739 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 2740 2741 // Feedback type on a specific instance of anomaly submitted by the user. 2742 UserFeedback *UserFeedback `locationName:"userFeedback" type:"structure"` 2743} 2744 2745// String returns the string representation. 2746// 2747// API parameter values that are decorated as "sensitive" in the API will not 2748// be included in the string output. The member name will be present, but the 2749// value will be replaced with "sensitive". 2750func (s AnomalyInstance) String() string { 2751 return awsutil.Prettify(s) 2752} 2753 2754// GoString returns the string representation. 2755// 2756// API parameter values that are decorated as "sensitive" in the API will not 2757// be included in the string output. The member name will be present, but the 2758// value will be replaced with "sensitive". 2759func (s AnomalyInstance) GoString() string { 2760 return s.String() 2761} 2762 2763// SetEndTime sets the EndTime field's value. 2764func (s *AnomalyInstance) SetEndTime(v time.Time) *AnomalyInstance { 2765 s.EndTime = &v 2766 return s 2767} 2768 2769// SetId sets the Id field's value. 2770func (s *AnomalyInstance) SetId(v string) *AnomalyInstance { 2771 s.Id = &v 2772 return s 2773} 2774 2775// SetStartTime sets the StartTime field's value. 2776func (s *AnomalyInstance) SetStartTime(v time.Time) *AnomalyInstance { 2777 s.StartTime = &v 2778 return s 2779} 2780 2781// SetUserFeedback sets the UserFeedback field's value. 2782func (s *AnomalyInstance) SetUserFeedback(v *UserFeedback) *AnomalyInstance { 2783 s.UserFeedback = v 2784 return s 2785} 2786 2787// The structure representing the BatchGetFrameMetricDataRequest. 2788type BatchGetFrameMetricDataInput struct { 2789 _ struct{} `type:"structure"` 2790 2791 // The end time of the time period for the returned time series values. This 2792 // is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2793 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2794 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 2795 2796 // The details of the metrics that are used to request a time series of values. 2797 // The metric includes the name of the frame, the aggregation type to calculate 2798 // the metric value for the frame, and the thread states to use to get the count 2799 // for the metric value of the frame. 2800 FrameMetrics []*FrameMetric `locationName:"frameMetrics" type:"list"` 2801 2802 // The duration of the frame metrics used to return the time series values. 2803 // Specify using the ISO 8601 format. The maximum period duration is one day 2804 // (PT24H or P1D). 2805 Period *string `location:"querystring" locationName:"period" min:"1" type:"string"` 2806 2807 // The name of the profiling group associated with the the frame metrics used 2808 // to return the time series values. 2809 // 2810 // ProfilingGroupName is a required field 2811 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 2812 2813 // The start time of the time period for the frame metrics used to return the 2814 // time series values. This is specified using the ISO 8601 format. For example, 2815 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 2816 // PM UTC. 2817 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"` 2818 2819 // The requested resolution of time steps for the returned time series of values. 2820 // If the requested target resolution is not available due to data not being 2821 // retained we provide a best effort result by falling back to the most granular 2822 // available resolution after the target resolution. There are 3 valid values. 2823 // 2824 // * P1D — 1 day 2825 // 2826 // * PT1H — 1 hour 2827 // 2828 // * PT5M — 5 minutes 2829 TargetResolution *string `location:"querystring" locationName:"targetResolution" type:"string" enum:"AggregationPeriod"` 2830} 2831 2832// String returns the string representation. 2833// 2834// API parameter values that are decorated as "sensitive" in the API will not 2835// be included in the string output. The member name will be present, but the 2836// value will be replaced with "sensitive". 2837func (s BatchGetFrameMetricDataInput) String() string { 2838 return awsutil.Prettify(s) 2839} 2840 2841// GoString returns the string representation. 2842// 2843// API parameter values that are decorated as "sensitive" in the API will not 2844// be included in the string output. The member name will be present, but the 2845// value will be replaced with "sensitive". 2846func (s BatchGetFrameMetricDataInput) GoString() string { 2847 return s.String() 2848} 2849 2850// Validate inspects the fields of the type to determine if they are valid. 2851func (s *BatchGetFrameMetricDataInput) Validate() error { 2852 invalidParams := request.ErrInvalidParams{Context: "BatchGetFrameMetricDataInput"} 2853 if s.Period != nil && len(*s.Period) < 1 { 2854 invalidParams.Add(request.NewErrParamMinLen("Period", 1)) 2855 } 2856 if s.ProfilingGroupName == nil { 2857 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 2858 } 2859 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 2860 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 2861 } 2862 if s.FrameMetrics != nil { 2863 for i, v := range s.FrameMetrics { 2864 if v == nil { 2865 continue 2866 } 2867 if err := v.Validate(); err != nil { 2868 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FrameMetrics", i), err.(request.ErrInvalidParams)) 2869 } 2870 } 2871 } 2872 2873 if invalidParams.Len() > 0 { 2874 return invalidParams 2875 } 2876 return nil 2877} 2878 2879// SetEndTime sets the EndTime field's value. 2880func (s *BatchGetFrameMetricDataInput) SetEndTime(v time.Time) *BatchGetFrameMetricDataInput { 2881 s.EndTime = &v 2882 return s 2883} 2884 2885// SetFrameMetrics sets the FrameMetrics field's value. 2886func (s *BatchGetFrameMetricDataInput) SetFrameMetrics(v []*FrameMetric) *BatchGetFrameMetricDataInput { 2887 s.FrameMetrics = v 2888 return s 2889} 2890 2891// SetPeriod sets the Period field's value. 2892func (s *BatchGetFrameMetricDataInput) SetPeriod(v string) *BatchGetFrameMetricDataInput { 2893 s.Period = &v 2894 return s 2895} 2896 2897// SetProfilingGroupName sets the ProfilingGroupName field's value. 2898func (s *BatchGetFrameMetricDataInput) SetProfilingGroupName(v string) *BatchGetFrameMetricDataInput { 2899 s.ProfilingGroupName = &v 2900 return s 2901} 2902 2903// SetStartTime sets the StartTime field's value. 2904func (s *BatchGetFrameMetricDataInput) SetStartTime(v time.Time) *BatchGetFrameMetricDataInput { 2905 s.StartTime = &v 2906 return s 2907} 2908 2909// SetTargetResolution sets the TargetResolution field's value. 2910func (s *BatchGetFrameMetricDataInput) SetTargetResolution(v string) *BatchGetFrameMetricDataInput { 2911 s.TargetResolution = &v 2912 return s 2913} 2914 2915// The structure representing the BatchGetFrameMetricDataResponse. 2916type BatchGetFrameMetricDataOutput struct { 2917 _ struct{} `type:"structure"` 2918 2919 // The end time of the time period for the returned time series values. This 2920 // is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2921 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2922 // 2923 // EndTime is a required field 2924 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 2925 2926 // List of instances, or time steps, in the time series. For example, if the 2927 // period is one day (PT24H)), and the resolution is five minutes (PT5M), then 2928 // there are 288 endTimes in the list that are each five minutes appart. 2929 // 2930 // EndTimes is a required field 2931 EndTimes []*TimestampStructure `locationName:"endTimes" type:"list" required:"true"` 2932 2933 // Details of the metrics to request a time series of values. The metric includes 2934 // the name of the frame, the aggregation type to calculate the metric value 2935 // for the frame, and the thread states to use to get the count for the metric 2936 // value of the frame. 2937 // 2938 // FrameMetricData is a required field 2939 FrameMetricData []*FrameMetricDatum `locationName:"frameMetricData" type:"list" required:"true"` 2940 2941 // Resolution or granularity of the profile data used to generate the time series. 2942 // This is the value used to jump through time steps in a time series. There 2943 // are 3 valid values. 2944 // 2945 // * P1D — 1 day 2946 // 2947 // * PT1H — 1 hour 2948 // 2949 // * PT5M — 5 minutes 2950 // 2951 // Resolution is a required field 2952 Resolution *string `locationName:"resolution" type:"string" required:"true" enum:"AggregationPeriod"` 2953 2954 // The start time of the time period for the returned time series values. This 2955 // is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 2956 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 2957 // 2958 // StartTime is a required field 2959 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 2960 2961 // List of instances which remained unprocessed. This will create a missing 2962 // time step in the list of end times. 2963 // 2964 // UnprocessedEndTimes is a required field 2965 UnprocessedEndTimes map[string][]*TimestampStructure `locationName:"unprocessedEndTimes" type:"map" required:"true"` 2966} 2967 2968// String returns the string representation. 2969// 2970// API parameter values that are decorated as "sensitive" in the API will not 2971// be included in the string output. The member name will be present, but the 2972// value will be replaced with "sensitive". 2973func (s BatchGetFrameMetricDataOutput) String() string { 2974 return awsutil.Prettify(s) 2975} 2976 2977// GoString returns the string representation. 2978// 2979// API parameter values that are decorated as "sensitive" in the API will not 2980// be included in the string output. The member name will be present, but the 2981// value will be replaced with "sensitive". 2982func (s BatchGetFrameMetricDataOutput) GoString() string { 2983 return s.String() 2984} 2985 2986// SetEndTime sets the EndTime field's value. 2987func (s *BatchGetFrameMetricDataOutput) SetEndTime(v time.Time) *BatchGetFrameMetricDataOutput { 2988 s.EndTime = &v 2989 return s 2990} 2991 2992// SetEndTimes sets the EndTimes field's value. 2993func (s *BatchGetFrameMetricDataOutput) SetEndTimes(v []*TimestampStructure) *BatchGetFrameMetricDataOutput { 2994 s.EndTimes = v 2995 return s 2996} 2997 2998// SetFrameMetricData sets the FrameMetricData field's value. 2999func (s *BatchGetFrameMetricDataOutput) SetFrameMetricData(v []*FrameMetricDatum) *BatchGetFrameMetricDataOutput { 3000 s.FrameMetricData = v 3001 return s 3002} 3003 3004// SetResolution sets the Resolution field's value. 3005func (s *BatchGetFrameMetricDataOutput) SetResolution(v string) *BatchGetFrameMetricDataOutput { 3006 s.Resolution = &v 3007 return s 3008} 3009 3010// SetStartTime sets the StartTime field's value. 3011func (s *BatchGetFrameMetricDataOutput) SetStartTime(v time.Time) *BatchGetFrameMetricDataOutput { 3012 s.StartTime = &v 3013 return s 3014} 3015 3016// SetUnprocessedEndTimes sets the UnprocessedEndTimes field's value. 3017func (s *BatchGetFrameMetricDataOutput) SetUnprocessedEndTimes(v map[string][]*TimestampStructure) *BatchGetFrameMetricDataOutput { 3018 s.UnprocessedEndTimes = v 3019 return s 3020} 3021 3022// Notification medium for users to get alerted for events that occur in application 3023// profile. We support SNS topic as a notification channel. 3024type Channel struct { 3025 _ struct{} `type:"structure"` 3026 3027 // List of publishers for different type of events that may be detected in an 3028 // application from the profile. Anomaly detection is the only event publisher 3029 // in Profiler. 3030 // 3031 // EventPublishers is a required field 3032 EventPublishers []*string `locationName:"eventPublishers" min:"1" type:"list" required:"true"` 3033 3034 // Unique identifier for each Channel in the notification configuration of a 3035 // Profiling Group. A random UUID for channelId is used when adding a channel 3036 // to the notification configuration if not specified in the request. 3037 Id *string `locationName:"id" type:"string"` 3038 3039 // Unique arn of the resource to be used for notifications. We support a valid 3040 // SNS topic arn as a channel uri. 3041 // 3042 // Uri is a required field 3043 Uri *string `locationName:"uri" type:"string" required:"true"` 3044} 3045 3046// String returns the string representation. 3047// 3048// API parameter values that are decorated as "sensitive" in the API will not 3049// be included in the string output. The member name will be present, but the 3050// value will be replaced with "sensitive". 3051func (s Channel) String() string { 3052 return awsutil.Prettify(s) 3053} 3054 3055// GoString returns the string representation. 3056// 3057// API parameter values that are decorated as "sensitive" in the API will not 3058// be included in the string output. The member name will be present, but the 3059// value will be replaced with "sensitive". 3060func (s Channel) GoString() string { 3061 return s.String() 3062} 3063 3064// Validate inspects the fields of the type to determine if they are valid. 3065func (s *Channel) Validate() error { 3066 invalidParams := request.ErrInvalidParams{Context: "Channel"} 3067 if s.EventPublishers == nil { 3068 invalidParams.Add(request.NewErrParamRequired("EventPublishers")) 3069 } 3070 if s.EventPublishers != nil && len(s.EventPublishers) < 1 { 3071 invalidParams.Add(request.NewErrParamMinLen("EventPublishers", 1)) 3072 } 3073 if s.Uri == nil { 3074 invalidParams.Add(request.NewErrParamRequired("Uri")) 3075 } 3076 3077 if invalidParams.Len() > 0 { 3078 return invalidParams 3079 } 3080 return nil 3081} 3082 3083// SetEventPublishers sets the EventPublishers field's value. 3084func (s *Channel) SetEventPublishers(v []*string) *Channel { 3085 s.EventPublishers = v 3086 return s 3087} 3088 3089// SetId sets the Id field's value. 3090func (s *Channel) SetId(v string) *Channel { 3091 s.Id = &v 3092 return s 3093} 3094 3095// SetUri sets the Uri field's value. 3096func (s *Channel) SetUri(v string) *Channel { 3097 s.Uri = &v 3098 return s 3099} 3100 3101// The structure representing the configureAgentRequest. 3102type ConfigureAgentInput struct { 3103 _ struct{} `type:"structure"` 3104 3105 // A universally unique identifier (UUID) for a profiling instance. For example, 3106 // if the profiling instance is an Amazon EC2 instance, it is the instance ID. 3107 // If it is an AWS Fargate container, it is the container's task ID. 3108 FleetInstanceId *string `locationName:"fleetInstanceId" min:"1" type:"string"` 3109 3110 // Metadata captured about the compute platform the agent is running on. It 3111 // includes information about sampling and reporting. The valid fields are: 3112 // 3113 // * COMPUTE_PLATFORM - The compute platform on which the agent is running 3114 // 3115 // * AGENT_ID - The ID for an agent instance. 3116 // 3117 // * AWS_REQUEST_ID - The AWS request ID of a Lambda invocation. 3118 // 3119 // * EXECUTION_ENVIRONMENT - The execution environment a Lambda function 3120 // is running on. 3121 // 3122 // * LAMBDA_FUNCTION_ARN - The Amazon Resource Name (ARN) that is used to 3123 // invoke a Lambda function. 3124 // 3125 // * LAMBDA_MEMORY_LIMIT_IN_MB - The memory allocated to a Lambda function. 3126 // 3127 // * LAMBDA_REMAINING_TIME_IN_MILLISECONDS - The time in milliseconds before 3128 // execution of a Lambda function times out. 3129 // 3130 // * LAMBDA_TIME_GAP_BETWEEN_INVOKES_IN_MILLISECONDS - The time in milliseconds 3131 // between two invocations of a Lambda function. 3132 // 3133 // * LAMBDA_PREVIOUS_EXECUTION_TIME_IN_MILLISECONDS - The time in milliseconds 3134 // for the previous Lambda invocation. 3135 Metadata map[string]*string `locationName:"metadata" type:"map"` 3136 3137 // The name of the profiling group for which the configured agent is collecting 3138 // profiling data. 3139 // 3140 // ProfilingGroupName is a required field 3141 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3142} 3143 3144// String returns the string representation. 3145// 3146// API parameter values that are decorated as "sensitive" in the API will not 3147// be included in the string output. The member name will be present, but the 3148// value will be replaced with "sensitive". 3149func (s ConfigureAgentInput) String() string { 3150 return awsutil.Prettify(s) 3151} 3152 3153// GoString returns the string representation. 3154// 3155// API parameter values that are decorated as "sensitive" in the API will not 3156// be included in the string output. The member name will be present, but the 3157// value will be replaced with "sensitive". 3158func (s ConfigureAgentInput) GoString() string { 3159 return s.String() 3160} 3161 3162// Validate inspects the fields of the type to determine if they are valid. 3163func (s *ConfigureAgentInput) Validate() error { 3164 invalidParams := request.ErrInvalidParams{Context: "ConfigureAgentInput"} 3165 if s.FleetInstanceId != nil && len(*s.FleetInstanceId) < 1 { 3166 invalidParams.Add(request.NewErrParamMinLen("FleetInstanceId", 1)) 3167 } 3168 if s.ProfilingGroupName == nil { 3169 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3170 } 3171 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3172 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3173 } 3174 3175 if invalidParams.Len() > 0 { 3176 return invalidParams 3177 } 3178 return nil 3179} 3180 3181// SetFleetInstanceId sets the FleetInstanceId field's value. 3182func (s *ConfigureAgentInput) SetFleetInstanceId(v string) *ConfigureAgentInput { 3183 s.FleetInstanceId = &v 3184 return s 3185} 3186 3187// SetMetadata sets the Metadata field's value. 3188func (s *ConfigureAgentInput) SetMetadata(v map[string]*string) *ConfigureAgentInput { 3189 s.Metadata = v 3190 return s 3191} 3192 3193// SetProfilingGroupName sets the ProfilingGroupName field's value. 3194func (s *ConfigureAgentInput) SetProfilingGroupName(v string) *ConfigureAgentInput { 3195 s.ProfilingGroupName = &v 3196 return s 3197} 3198 3199// The structure representing the configureAgentResponse. 3200type ConfigureAgentOutput struct { 3201 _ struct{} `type:"structure" payload:"Configuration"` 3202 3203 // An AgentConfiguration (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentConfiguration.html) 3204 // object that specifies if an agent profiles or not and for how long to return 3205 // profiling data. 3206 // 3207 // Configuration is a required field 3208 Configuration *AgentConfiguration `locationName:"configuration" type:"structure" required:"true"` 3209} 3210 3211// String returns the string representation. 3212// 3213// API parameter values that are decorated as "sensitive" in the API will not 3214// be included in the string output. The member name will be present, but the 3215// value will be replaced with "sensitive". 3216func (s ConfigureAgentOutput) String() string { 3217 return awsutil.Prettify(s) 3218} 3219 3220// GoString returns the string representation. 3221// 3222// API parameter values that are decorated as "sensitive" in the API will not 3223// be included in the string output. The member name will be present, but the 3224// value will be replaced with "sensitive". 3225func (s ConfigureAgentOutput) GoString() string { 3226 return s.String() 3227} 3228 3229// SetConfiguration sets the Configuration field's value. 3230func (s *ConfigureAgentOutput) SetConfiguration(v *AgentConfiguration) *ConfigureAgentOutput { 3231 s.Configuration = v 3232 return s 3233} 3234 3235// The requested operation would cause a conflict with the current state of 3236// a service resource associated with the request. Resolve the conflict before 3237// retrying this request. 3238type ConflictException struct { 3239 _ struct{} `type:"structure"` 3240 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3241 3242 Message_ *string `locationName:"message" type:"string"` 3243} 3244 3245// String returns the string representation. 3246// 3247// API parameter values that are decorated as "sensitive" in the API will not 3248// be included in the string output. The member name will be present, but the 3249// value will be replaced with "sensitive". 3250func (s ConflictException) String() string { 3251 return awsutil.Prettify(s) 3252} 3253 3254// GoString returns the string representation. 3255// 3256// API parameter values that are decorated as "sensitive" in the API will not 3257// be included in the string output. The member name will be present, but the 3258// value will be replaced with "sensitive". 3259func (s ConflictException) GoString() string { 3260 return s.String() 3261} 3262 3263func newErrorConflictException(v protocol.ResponseMetadata) error { 3264 return &ConflictException{ 3265 RespMetadata: v, 3266 } 3267} 3268 3269// Code returns the exception type name. 3270func (s *ConflictException) Code() string { 3271 return "ConflictException" 3272} 3273 3274// Message returns the exception's message. 3275func (s *ConflictException) Message() string { 3276 if s.Message_ != nil { 3277 return *s.Message_ 3278 } 3279 return "" 3280} 3281 3282// OrigErr always returns nil, satisfies awserr.Error interface. 3283func (s *ConflictException) OrigErr() error { 3284 return nil 3285} 3286 3287func (s *ConflictException) Error() string { 3288 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3289} 3290 3291// Status code returns the HTTP status code for the request's response error. 3292func (s *ConflictException) StatusCode() int { 3293 return s.RespMetadata.StatusCode 3294} 3295 3296// RequestID returns the service's response RequestID for request. 3297func (s *ConflictException) RequestID() string { 3298 return s.RespMetadata.RequestID 3299} 3300 3301// The structure representing the createProfiliingGroupRequest. 3302type CreateProfilingGroupInput struct { 3303 _ struct{} `type:"structure"` 3304 3305 // Specifies whether profiling is enabled or disabled for the created profiling 3306 // group. 3307 AgentOrchestrationConfig *AgentOrchestrationConfig `locationName:"agentOrchestrationConfig" type:"structure"` 3308 3309 // Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to 3310 // prevent the accidental creation of duplicate profiling groups if there are 3311 // failures and retries. 3312 ClientToken *string `location:"querystring" locationName:"clientToken" min:"1" type:"string" idempotencyToken:"true"` 3313 3314 // The compute platform of the profiling group. Use AWSLambda if your application 3315 // runs on AWS Lambda. Use Default if your application runs on a compute platform 3316 // that is not AWS Lambda, such an Amazon EC2 instance, an on-premises server, 3317 // or a different platform. If not specified, Default is used. 3318 ComputePlatform *string `locationName:"computePlatform" type:"string" enum:"ComputePlatform"` 3319 3320 // The name of the profiling group to create. 3321 // 3322 // ProfilingGroupName is a required field 3323 ProfilingGroupName *string `locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3324 3325 // A list of tags to add to the created profiling group. 3326 Tags map[string]*string `locationName:"tags" type:"map"` 3327} 3328 3329// String returns the string representation. 3330// 3331// API parameter values that are decorated as "sensitive" in the API will not 3332// be included in the string output. The member name will be present, but the 3333// value will be replaced with "sensitive". 3334func (s CreateProfilingGroupInput) String() string { 3335 return awsutil.Prettify(s) 3336} 3337 3338// GoString returns the string representation. 3339// 3340// API parameter values that are decorated as "sensitive" in the API will not 3341// be included in the string output. The member name will be present, but the 3342// value will be replaced with "sensitive". 3343func (s CreateProfilingGroupInput) GoString() string { 3344 return s.String() 3345} 3346 3347// Validate inspects the fields of the type to determine if they are valid. 3348func (s *CreateProfilingGroupInput) Validate() error { 3349 invalidParams := request.ErrInvalidParams{Context: "CreateProfilingGroupInput"} 3350 if s.ClientToken != nil && len(*s.ClientToken) < 1 { 3351 invalidParams.Add(request.NewErrParamMinLen("ClientToken", 1)) 3352 } 3353 if s.ProfilingGroupName == nil { 3354 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3355 } 3356 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3357 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3358 } 3359 if s.AgentOrchestrationConfig != nil { 3360 if err := s.AgentOrchestrationConfig.Validate(); err != nil { 3361 invalidParams.AddNested("AgentOrchestrationConfig", err.(request.ErrInvalidParams)) 3362 } 3363 } 3364 3365 if invalidParams.Len() > 0 { 3366 return invalidParams 3367 } 3368 return nil 3369} 3370 3371// SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 3372func (s *CreateProfilingGroupInput) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *CreateProfilingGroupInput { 3373 s.AgentOrchestrationConfig = v 3374 return s 3375} 3376 3377// SetClientToken sets the ClientToken field's value. 3378func (s *CreateProfilingGroupInput) SetClientToken(v string) *CreateProfilingGroupInput { 3379 s.ClientToken = &v 3380 return s 3381} 3382 3383// SetComputePlatform sets the ComputePlatform field's value. 3384func (s *CreateProfilingGroupInput) SetComputePlatform(v string) *CreateProfilingGroupInput { 3385 s.ComputePlatform = &v 3386 return s 3387} 3388 3389// SetProfilingGroupName sets the ProfilingGroupName field's value. 3390func (s *CreateProfilingGroupInput) SetProfilingGroupName(v string) *CreateProfilingGroupInput { 3391 s.ProfilingGroupName = &v 3392 return s 3393} 3394 3395// SetTags sets the Tags field's value. 3396func (s *CreateProfilingGroupInput) SetTags(v map[string]*string) *CreateProfilingGroupInput { 3397 s.Tags = v 3398 return s 3399} 3400 3401// The structure representing the createProfilingGroupResponse. 3402type CreateProfilingGroupOutput struct { 3403 _ struct{} `type:"structure" payload:"ProfilingGroup"` 3404 3405 // The returned ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 3406 // object that contains information about the created profiling group. 3407 // 3408 // ProfilingGroup is a required field 3409 ProfilingGroup *ProfilingGroupDescription `locationName:"profilingGroup" type:"structure" required:"true"` 3410} 3411 3412// String returns the string representation. 3413// 3414// API parameter values that are decorated as "sensitive" in the API will not 3415// be included in the string output. The member name will be present, but the 3416// value will be replaced with "sensitive". 3417func (s CreateProfilingGroupOutput) String() string { 3418 return awsutil.Prettify(s) 3419} 3420 3421// GoString returns the string representation. 3422// 3423// API parameter values that are decorated as "sensitive" in the API will not 3424// be included in the string output. The member name will be present, but the 3425// value will be replaced with "sensitive". 3426func (s CreateProfilingGroupOutput) GoString() string { 3427 return s.String() 3428} 3429 3430// SetProfilingGroup sets the ProfilingGroup field's value. 3431func (s *CreateProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *CreateProfilingGroupOutput { 3432 s.ProfilingGroup = v 3433 return s 3434} 3435 3436// The structure representing the deleteProfilingGroupRequest. 3437type DeleteProfilingGroupInput struct { 3438 _ struct{} `type:"structure" nopayload:"true"` 3439 3440 // The name of the profiling group to delete. 3441 // 3442 // ProfilingGroupName is a required field 3443 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3444} 3445 3446// String returns the string representation. 3447// 3448// API parameter values that are decorated as "sensitive" in the API will not 3449// be included in the string output. The member name will be present, but the 3450// value will be replaced with "sensitive". 3451func (s DeleteProfilingGroupInput) String() string { 3452 return awsutil.Prettify(s) 3453} 3454 3455// GoString returns the string representation. 3456// 3457// API parameter values that are decorated as "sensitive" in the API will not 3458// be included in the string output. The member name will be present, but the 3459// value will be replaced with "sensitive". 3460func (s DeleteProfilingGroupInput) GoString() string { 3461 return s.String() 3462} 3463 3464// Validate inspects the fields of the type to determine if they are valid. 3465func (s *DeleteProfilingGroupInput) Validate() error { 3466 invalidParams := request.ErrInvalidParams{Context: "DeleteProfilingGroupInput"} 3467 if s.ProfilingGroupName == nil { 3468 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3469 } 3470 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3471 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3472 } 3473 3474 if invalidParams.Len() > 0 { 3475 return invalidParams 3476 } 3477 return nil 3478} 3479 3480// SetProfilingGroupName sets the ProfilingGroupName field's value. 3481func (s *DeleteProfilingGroupInput) SetProfilingGroupName(v string) *DeleteProfilingGroupInput { 3482 s.ProfilingGroupName = &v 3483 return s 3484} 3485 3486// The structure representing the deleteProfilingGroupResponse. 3487type DeleteProfilingGroupOutput struct { 3488 _ struct{} `type:"structure"` 3489} 3490 3491// String returns the string representation. 3492// 3493// API parameter values that are decorated as "sensitive" in the API will not 3494// be included in the string output. The member name will be present, but the 3495// value will be replaced with "sensitive". 3496func (s DeleteProfilingGroupOutput) String() string { 3497 return awsutil.Prettify(s) 3498} 3499 3500// GoString returns the string representation. 3501// 3502// API parameter values that are decorated as "sensitive" in the API will not 3503// be included in the string output. The member name will be present, but the 3504// value will be replaced with "sensitive". 3505func (s DeleteProfilingGroupOutput) GoString() string { 3506 return s.String() 3507} 3508 3509// The structure representing the describeProfilingGroupRequest. 3510type DescribeProfilingGroupInput struct { 3511 _ struct{} `type:"structure" nopayload:"true"` 3512 3513 // The name of the profiling group to get information about. 3514 // 3515 // ProfilingGroupName is a required field 3516 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3517} 3518 3519// String returns the string representation. 3520// 3521// API parameter values that are decorated as "sensitive" in the API will not 3522// be included in the string output. The member name will be present, but the 3523// value will be replaced with "sensitive". 3524func (s DescribeProfilingGroupInput) String() string { 3525 return awsutil.Prettify(s) 3526} 3527 3528// GoString returns the string representation. 3529// 3530// API parameter values that are decorated as "sensitive" in the API will not 3531// be included in the string output. The member name will be present, but the 3532// value will be replaced with "sensitive". 3533func (s DescribeProfilingGroupInput) GoString() string { 3534 return s.String() 3535} 3536 3537// Validate inspects the fields of the type to determine if they are valid. 3538func (s *DescribeProfilingGroupInput) Validate() error { 3539 invalidParams := request.ErrInvalidParams{Context: "DescribeProfilingGroupInput"} 3540 if s.ProfilingGroupName == nil { 3541 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3542 } 3543 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3544 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3545 } 3546 3547 if invalidParams.Len() > 0 { 3548 return invalidParams 3549 } 3550 return nil 3551} 3552 3553// SetProfilingGroupName sets the ProfilingGroupName field's value. 3554func (s *DescribeProfilingGroupInput) SetProfilingGroupName(v string) *DescribeProfilingGroupInput { 3555 s.ProfilingGroupName = &v 3556 return s 3557} 3558 3559// The structure representing the describeProfilingGroupResponse. 3560type DescribeProfilingGroupOutput struct { 3561 _ struct{} `type:"structure" payload:"ProfilingGroup"` 3562 3563 // The returned ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 3564 // object that contains information about the requested profiling group. 3565 // 3566 // ProfilingGroup is a required field 3567 ProfilingGroup *ProfilingGroupDescription `locationName:"profilingGroup" type:"structure" required:"true"` 3568} 3569 3570// String returns the string representation. 3571// 3572// API parameter values that are decorated as "sensitive" in the API will not 3573// be included in the string output. The member name will be present, but the 3574// value will be replaced with "sensitive". 3575func (s DescribeProfilingGroupOutput) String() string { 3576 return awsutil.Prettify(s) 3577} 3578 3579// GoString returns the string representation. 3580// 3581// API parameter values that are decorated as "sensitive" in the API will not 3582// be included in the string output. The member name will be present, but the 3583// value will be replaced with "sensitive". 3584func (s DescribeProfilingGroupOutput) GoString() string { 3585 return s.String() 3586} 3587 3588// SetProfilingGroup sets the ProfilingGroup field's value. 3589func (s *DescribeProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *DescribeProfilingGroupOutput { 3590 s.ProfilingGroup = v 3591 return s 3592} 3593 3594// Information about potential recommendations that might be created from the 3595// analysis of profiling data. 3596type FindingsReportSummary struct { 3597 _ struct{} `type:"structure"` 3598 3599 // The universally unique identifier (UUID) of the recommendation report. 3600 Id *string `locationName:"id" type:"string"` 3601 3602 // The end time of the period during which the metric is flagged as anomalous. 3603 // This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 3604 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 3605 ProfileEndTime *time.Time `locationName:"profileEndTime" type:"timestamp" timestampFormat:"iso8601"` 3606 3607 // The start time of the profile the analysis data is about. This is specified 3608 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 3609 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 3610 ProfileStartTime *time.Time `locationName:"profileStartTime" type:"timestamp" timestampFormat:"iso8601"` 3611 3612 // The name of the profiling group that is associated with the analysis data. 3613 ProfilingGroupName *string `locationName:"profilingGroupName" type:"string"` 3614 3615 // The total number of different recommendations that were found by the analysis. 3616 TotalNumberOfFindings *int64 `locationName:"totalNumberOfFindings" type:"integer"` 3617} 3618 3619// String returns the string representation. 3620// 3621// API parameter values that are decorated as "sensitive" in the API will not 3622// be included in the string output. The member name will be present, but the 3623// value will be replaced with "sensitive". 3624func (s FindingsReportSummary) String() string { 3625 return awsutil.Prettify(s) 3626} 3627 3628// GoString returns the string representation. 3629// 3630// API parameter values that are decorated as "sensitive" in the API will not 3631// be included in the string output. The member name will be present, but the 3632// value will be replaced with "sensitive". 3633func (s FindingsReportSummary) GoString() string { 3634 return s.String() 3635} 3636 3637// SetId sets the Id field's value. 3638func (s *FindingsReportSummary) SetId(v string) *FindingsReportSummary { 3639 s.Id = &v 3640 return s 3641} 3642 3643// SetProfileEndTime sets the ProfileEndTime field's value. 3644func (s *FindingsReportSummary) SetProfileEndTime(v time.Time) *FindingsReportSummary { 3645 s.ProfileEndTime = &v 3646 return s 3647} 3648 3649// SetProfileStartTime sets the ProfileStartTime field's value. 3650func (s *FindingsReportSummary) SetProfileStartTime(v time.Time) *FindingsReportSummary { 3651 s.ProfileStartTime = &v 3652 return s 3653} 3654 3655// SetProfilingGroupName sets the ProfilingGroupName field's value. 3656func (s *FindingsReportSummary) SetProfilingGroupName(v string) *FindingsReportSummary { 3657 s.ProfilingGroupName = &v 3658 return s 3659} 3660 3661// SetTotalNumberOfFindings sets the TotalNumberOfFindings field's value. 3662func (s *FindingsReportSummary) SetTotalNumberOfFindings(v int64) *FindingsReportSummary { 3663 s.TotalNumberOfFindings = &v 3664 return s 3665} 3666 3667// The frame name, metric type, and thread states. These are used to derive 3668// the value of the metric for the frame. 3669type FrameMetric struct { 3670 _ struct{} `type:"structure"` 3671 3672 // Name of the method common across the multiple occurrences of a frame in an 3673 // application profile. 3674 // 3675 // FrameName is a required field 3676 FrameName *string `locationName:"frameName" type:"string" required:"true"` 3677 3678 // List of application runtime thread states used to get the counts for a frame 3679 // a derive a metric value. 3680 // 3681 // ThreadStates is a required field 3682 ThreadStates []*string `locationName:"threadStates" type:"list" required:"true"` 3683 3684 // A type of aggregation that specifies how a metric for a frame is analyzed. 3685 // The supported value AggregatedRelativeTotalTime is an aggregation of the 3686 // metric value for one frame that is calculated across the occurrences of all 3687 // frames in a profile. 3688 // 3689 // Type is a required field 3690 Type *string `locationName:"type" type:"string" required:"true" enum:"MetricType"` 3691} 3692 3693// String returns the string representation. 3694// 3695// API parameter values that are decorated as "sensitive" in the API will not 3696// be included in the string output. The member name will be present, but the 3697// value will be replaced with "sensitive". 3698func (s FrameMetric) String() string { 3699 return awsutil.Prettify(s) 3700} 3701 3702// GoString returns the string representation. 3703// 3704// API parameter values that are decorated as "sensitive" in the API will not 3705// be included in the string output. The member name will be present, but the 3706// value will be replaced with "sensitive". 3707func (s FrameMetric) GoString() string { 3708 return s.String() 3709} 3710 3711// Validate inspects the fields of the type to determine if they are valid. 3712func (s *FrameMetric) Validate() error { 3713 invalidParams := request.ErrInvalidParams{Context: "FrameMetric"} 3714 if s.FrameName == nil { 3715 invalidParams.Add(request.NewErrParamRequired("FrameName")) 3716 } 3717 if s.ThreadStates == nil { 3718 invalidParams.Add(request.NewErrParamRequired("ThreadStates")) 3719 } 3720 if s.Type == nil { 3721 invalidParams.Add(request.NewErrParamRequired("Type")) 3722 } 3723 3724 if invalidParams.Len() > 0 { 3725 return invalidParams 3726 } 3727 return nil 3728} 3729 3730// SetFrameName sets the FrameName field's value. 3731func (s *FrameMetric) SetFrameName(v string) *FrameMetric { 3732 s.FrameName = &v 3733 return s 3734} 3735 3736// SetThreadStates sets the ThreadStates field's value. 3737func (s *FrameMetric) SetThreadStates(v []*string) *FrameMetric { 3738 s.ThreadStates = v 3739 return s 3740} 3741 3742// SetType sets the Type field's value. 3743func (s *FrameMetric) SetType(v string) *FrameMetric { 3744 s.Type = &v 3745 return s 3746} 3747 3748// Information about a frame metric and its values. 3749type FrameMetricDatum struct { 3750 _ struct{} `type:"structure"` 3751 3752 // The frame name, metric type, and thread states. These are used to derive 3753 // the value of the metric for the frame. 3754 // 3755 // FrameMetric is a required field 3756 FrameMetric *FrameMetric `locationName:"frameMetric" type:"structure" required:"true"` 3757 3758 // A list of values that are associated with a frame metric. 3759 // 3760 // Values is a required field 3761 Values []*float64 `locationName:"values" type:"list" required:"true"` 3762} 3763 3764// String returns the string representation. 3765// 3766// API parameter values that are decorated as "sensitive" in the API will not 3767// be included in the string output. The member name will be present, but the 3768// value will be replaced with "sensitive". 3769func (s FrameMetricDatum) String() string { 3770 return awsutil.Prettify(s) 3771} 3772 3773// GoString returns the string representation. 3774// 3775// API parameter values that are decorated as "sensitive" in the API will not 3776// be included in the string output. The member name will be present, but the 3777// value will be replaced with "sensitive". 3778func (s FrameMetricDatum) GoString() string { 3779 return s.String() 3780} 3781 3782// SetFrameMetric sets the FrameMetric field's value. 3783func (s *FrameMetricDatum) SetFrameMetric(v *FrameMetric) *FrameMetricDatum { 3784 s.FrameMetric = v 3785 return s 3786} 3787 3788// SetValues sets the Values field's value. 3789func (s *FrameMetricDatum) SetValues(v []*float64) *FrameMetricDatum { 3790 s.Values = v 3791 return s 3792} 3793 3794// The structure representing the GetFindingsReportAccountSummaryRequest. 3795type GetFindingsReportAccountSummaryInput struct { 3796 _ struct{} `type:"structure" nopayload:"true"` 3797 3798 // A Boolean value indicating whether to only return reports from daily profiles. 3799 // If set to True, only analysis data from daily profiles is returned. If set 3800 // to False, analysis data is returned from smaller time windows (for example, 3801 // one hour). 3802 DailyReportsOnly *bool `location:"querystring" locationName:"dailyReportsOnly" type:"boolean"` 3803 3804 // The maximum number of results returned by GetFindingsReportAccountSummary 3805 // in paginated output. When this parameter is used, GetFindingsReportAccountSummary 3806 // only returns maxResults results in a single page along with a nextToken response 3807 // element. The remaining results of the initial request can be seen by sending 3808 // another GetFindingsReportAccountSummary request with the returned nextToken 3809 // value. 3810 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 3811 3812 // The nextToken value returned from a previous paginated GetFindingsReportAccountSummary 3813 // request where maxResults was used and the results exceeded the value of that 3814 // parameter. Pagination continues from the end of the previous results that 3815 // returned the nextToken value. 3816 // 3817 // This token should be treated as an opaque identifier that is only used to 3818 // retrieve the next items in a list and not for other programmatic purposes. 3819 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 3820} 3821 3822// String returns the string representation. 3823// 3824// API parameter values that are decorated as "sensitive" in the API will not 3825// be included in the string output. The member name will be present, but the 3826// value will be replaced with "sensitive". 3827func (s GetFindingsReportAccountSummaryInput) String() string { 3828 return awsutil.Prettify(s) 3829} 3830 3831// GoString returns the string representation. 3832// 3833// API parameter values that are decorated as "sensitive" in the API will not 3834// be included in the string output. The member name will be present, but the 3835// value will be replaced with "sensitive". 3836func (s GetFindingsReportAccountSummaryInput) GoString() string { 3837 return s.String() 3838} 3839 3840// Validate inspects the fields of the type to determine if they are valid. 3841func (s *GetFindingsReportAccountSummaryInput) Validate() error { 3842 invalidParams := request.ErrInvalidParams{Context: "GetFindingsReportAccountSummaryInput"} 3843 if s.MaxResults != nil && *s.MaxResults < 1 { 3844 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3845 } 3846 if s.NextToken != nil && len(*s.NextToken) < 1 { 3847 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3848 } 3849 3850 if invalidParams.Len() > 0 { 3851 return invalidParams 3852 } 3853 return nil 3854} 3855 3856// SetDailyReportsOnly sets the DailyReportsOnly field's value. 3857func (s *GetFindingsReportAccountSummaryInput) SetDailyReportsOnly(v bool) *GetFindingsReportAccountSummaryInput { 3858 s.DailyReportsOnly = &v 3859 return s 3860} 3861 3862// SetMaxResults sets the MaxResults field's value. 3863func (s *GetFindingsReportAccountSummaryInput) SetMaxResults(v int64) *GetFindingsReportAccountSummaryInput { 3864 s.MaxResults = &v 3865 return s 3866} 3867 3868// SetNextToken sets the NextToken field's value. 3869func (s *GetFindingsReportAccountSummaryInput) SetNextToken(v string) *GetFindingsReportAccountSummaryInput { 3870 s.NextToken = &v 3871 return s 3872} 3873 3874// The structure representing the GetFindingsReportAccountSummaryResponse. 3875type GetFindingsReportAccountSummaryOutput struct { 3876 _ struct{} `type:"structure"` 3877 3878 // The nextToken value to include in a future GetFindingsReportAccountSummary 3879 // request. When the results of a GetFindingsReportAccountSummary request exceed 3880 // maxResults, this value can be used to retrieve the next page of results. 3881 // This value is null when there are no more results to return. 3882 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 3883 3884 // The return list of FindingsReportSummary (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_FindingsReportSummary.html) 3885 // objects taht contain summaries of analysis results for all profiling groups 3886 // in your AWS account. 3887 // 3888 // ReportSummaries is a required field 3889 ReportSummaries []*FindingsReportSummary `locationName:"reportSummaries" type:"list" required:"true"` 3890} 3891 3892// String returns the string representation. 3893// 3894// API parameter values that are decorated as "sensitive" in the API will not 3895// be included in the string output. The member name will be present, but the 3896// value will be replaced with "sensitive". 3897func (s GetFindingsReportAccountSummaryOutput) String() string { 3898 return awsutil.Prettify(s) 3899} 3900 3901// GoString returns the string representation. 3902// 3903// API parameter values that are decorated as "sensitive" in the API will not 3904// be included in the string output. The member name will be present, but the 3905// value will be replaced with "sensitive". 3906func (s GetFindingsReportAccountSummaryOutput) GoString() string { 3907 return s.String() 3908} 3909 3910// SetNextToken sets the NextToken field's value. 3911func (s *GetFindingsReportAccountSummaryOutput) SetNextToken(v string) *GetFindingsReportAccountSummaryOutput { 3912 s.NextToken = &v 3913 return s 3914} 3915 3916// SetReportSummaries sets the ReportSummaries field's value. 3917func (s *GetFindingsReportAccountSummaryOutput) SetReportSummaries(v []*FindingsReportSummary) *GetFindingsReportAccountSummaryOutput { 3918 s.ReportSummaries = v 3919 return s 3920} 3921 3922// The structure representing the GetNotificationConfigurationRequest. 3923type GetNotificationConfigurationInput struct { 3924 _ struct{} `type:"structure" nopayload:"true"` 3925 3926 // The name of the profiling group we want to get the notification configuration 3927 // for. 3928 // 3929 // ProfilingGroupName is a required field 3930 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 3931} 3932 3933// String returns the string representation. 3934// 3935// API parameter values that are decorated as "sensitive" in the API will not 3936// be included in the string output. The member name will be present, but the 3937// value will be replaced with "sensitive". 3938func (s GetNotificationConfigurationInput) String() string { 3939 return awsutil.Prettify(s) 3940} 3941 3942// GoString returns the string representation. 3943// 3944// API parameter values that are decorated as "sensitive" in the API will not 3945// be included in the string output. The member name will be present, but the 3946// value will be replaced with "sensitive". 3947func (s GetNotificationConfigurationInput) GoString() string { 3948 return s.String() 3949} 3950 3951// Validate inspects the fields of the type to determine if they are valid. 3952func (s *GetNotificationConfigurationInput) Validate() error { 3953 invalidParams := request.ErrInvalidParams{Context: "GetNotificationConfigurationInput"} 3954 if s.ProfilingGroupName == nil { 3955 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 3956 } 3957 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 3958 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 3959 } 3960 3961 if invalidParams.Len() > 0 { 3962 return invalidParams 3963 } 3964 return nil 3965} 3966 3967// SetProfilingGroupName sets the ProfilingGroupName field's value. 3968func (s *GetNotificationConfigurationInput) SetProfilingGroupName(v string) *GetNotificationConfigurationInput { 3969 s.ProfilingGroupName = &v 3970 return s 3971} 3972 3973// The structure representing the GetNotificationConfigurationResponse. 3974type GetNotificationConfigurationOutput struct { 3975 _ struct{} `type:"structure"` 3976 3977 // The current notification configuration for this profiling group. 3978 // 3979 // NotificationConfiguration is a required field 3980 NotificationConfiguration *NotificationConfiguration `locationName:"notificationConfiguration" type:"structure" required:"true"` 3981} 3982 3983// String returns the string representation. 3984// 3985// API parameter values that are decorated as "sensitive" in the API will not 3986// be included in the string output. The member name will be present, but the 3987// value will be replaced with "sensitive". 3988func (s GetNotificationConfigurationOutput) String() string { 3989 return awsutil.Prettify(s) 3990} 3991 3992// GoString returns the string representation. 3993// 3994// API parameter values that are decorated as "sensitive" in the API will not 3995// be included in the string output. The member name will be present, but the 3996// value will be replaced with "sensitive". 3997func (s GetNotificationConfigurationOutput) GoString() string { 3998 return s.String() 3999} 4000 4001// SetNotificationConfiguration sets the NotificationConfiguration field's value. 4002func (s *GetNotificationConfigurationOutput) SetNotificationConfiguration(v *NotificationConfiguration) *GetNotificationConfigurationOutput { 4003 s.NotificationConfiguration = v 4004 return s 4005} 4006 4007// The structure representing the getPolicyRequest. 4008type GetPolicyInput struct { 4009 _ struct{} `type:"structure" nopayload:"true"` 4010 4011 // The name of the profiling group. 4012 // 4013 // ProfilingGroupName is a required field 4014 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4015} 4016 4017// String returns the string representation. 4018// 4019// API parameter values that are decorated as "sensitive" in the API will not 4020// be included in the string output. The member name will be present, but the 4021// value will be replaced with "sensitive". 4022func (s GetPolicyInput) String() string { 4023 return awsutil.Prettify(s) 4024} 4025 4026// GoString returns the string representation. 4027// 4028// API parameter values that are decorated as "sensitive" in the API will not 4029// be included in the string output. The member name will be present, but the 4030// value will be replaced with "sensitive". 4031func (s GetPolicyInput) GoString() string { 4032 return s.String() 4033} 4034 4035// Validate inspects the fields of the type to determine if they are valid. 4036func (s *GetPolicyInput) Validate() error { 4037 invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} 4038 if s.ProfilingGroupName == nil { 4039 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4040 } 4041 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4042 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4043 } 4044 4045 if invalidParams.Len() > 0 { 4046 return invalidParams 4047 } 4048 return nil 4049} 4050 4051// SetProfilingGroupName sets the ProfilingGroupName field's value. 4052func (s *GetPolicyInput) SetProfilingGroupName(v string) *GetPolicyInput { 4053 s.ProfilingGroupName = &v 4054 return s 4055} 4056 4057// The structure representing the getPolicyResponse. 4058type GetPolicyOutput struct { 4059 _ struct{} `type:"structure"` 4060 4061 // The JSON-formatted resource-based policy attached to the ProfilingGroup. 4062 // 4063 // Policy is a required field 4064 Policy *string `locationName:"policy" type:"string" required:"true"` 4065 4066 // A unique identifier for the current revision of the returned policy. 4067 // 4068 // RevisionId is a required field 4069 RevisionId *string `locationName:"revisionId" type:"string" required:"true"` 4070} 4071 4072// String returns the string representation. 4073// 4074// API parameter values that are decorated as "sensitive" in the API will not 4075// be included in the string output. The member name will be present, but the 4076// value will be replaced with "sensitive". 4077func (s GetPolicyOutput) String() string { 4078 return awsutil.Prettify(s) 4079} 4080 4081// GoString returns the string representation. 4082// 4083// API parameter values that are decorated as "sensitive" in the API will not 4084// be included in the string output. The member name will be present, but the 4085// value will be replaced with "sensitive". 4086func (s GetPolicyOutput) GoString() string { 4087 return s.String() 4088} 4089 4090// SetPolicy sets the Policy field's value. 4091func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { 4092 s.Policy = &v 4093 return s 4094} 4095 4096// SetRevisionId sets the RevisionId field's value. 4097func (s *GetPolicyOutput) SetRevisionId(v string) *GetPolicyOutput { 4098 s.RevisionId = &v 4099 return s 4100} 4101 4102// The structure representing the getProfileRequest. 4103type GetProfileInput struct { 4104 _ struct{} `type:"structure" nopayload:"true"` 4105 4106 // The format of the returned profiling data. The format maps to the Accept 4107 // and Content-Type headers of the HTTP request. You can specify one of the 4108 // following: or the default . 4109 // 4110 // <ul> <li> <p> <code>application/json</code> — standard JSON format </p> 4111 // </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion 4112 // data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon 4113 // Ion</a>. </p> </li> </ul> 4114 Accept *string `location:"header" locationName:"Accept" type:"string"` 4115 4116 // The end time of the requested profile. Specify using the ISO 8601 format. 4117 // For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 4118 // 1, 2020 1:15:02 PM UTC. 4119 // 4120 // If you specify endTime, then you must also specify period or startTime, but 4121 // not both. 4122 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601"` 4123 4124 // The maximum depth of the stacks in the code that is represented in the aggregated 4125 // profile. For example, if CodeGuru Profiler finds a method A, which calls 4126 // method B, which calls method C, which calls method D, then the depth is 4. 4127 // If the maxDepth is set to 2, then the aggregated profile contains representations 4128 // of methods A and B. 4129 MaxDepth *int64 `location:"querystring" locationName:"maxDepth" min:"1" type:"integer"` 4130 4131 // Used with startTime or endTime to specify the time range for the returned 4132 // aggregated profile. Specify using the ISO 8601 format. For example, P1DT1H1M1S. 4133 // 4134 // <p> To get the latest aggregated profile, specify only <code>period</code>. 4135 // </p> 4136 Period *string `location:"querystring" locationName:"period" min:"1" type:"string"` 4137 4138 // The name of the profiling group to get. 4139 // 4140 // ProfilingGroupName is a required field 4141 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4142 4143 // The start time of the profile to get. Specify using the ISO 8601 format. 4144 // For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 4145 // 1, 2020 1:15:02 PM UTC. 4146 // 4147 // <p> If you specify <code>startTime</code>, then you must also specify 4148 // <code>period</code> or <code>endTime</code>, but not both. </p> 4149 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601"` 4150} 4151 4152// String returns the string representation. 4153// 4154// API parameter values that are decorated as "sensitive" in the API will not 4155// be included in the string output. The member name will be present, but the 4156// value will be replaced with "sensitive". 4157func (s GetProfileInput) String() string { 4158 return awsutil.Prettify(s) 4159} 4160 4161// GoString returns the string representation. 4162// 4163// API parameter values that are decorated as "sensitive" in the API will not 4164// be included in the string output. The member name will be present, but the 4165// value will be replaced with "sensitive". 4166func (s GetProfileInput) GoString() string { 4167 return s.String() 4168} 4169 4170// Validate inspects the fields of the type to determine if they are valid. 4171func (s *GetProfileInput) Validate() error { 4172 invalidParams := request.ErrInvalidParams{Context: "GetProfileInput"} 4173 if s.MaxDepth != nil && *s.MaxDepth < 1 { 4174 invalidParams.Add(request.NewErrParamMinValue("MaxDepth", 1)) 4175 } 4176 if s.Period != nil && len(*s.Period) < 1 { 4177 invalidParams.Add(request.NewErrParamMinLen("Period", 1)) 4178 } 4179 if s.ProfilingGroupName == nil { 4180 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4181 } 4182 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4183 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4184 } 4185 4186 if invalidParams.Len() > 0 { 4187 return invalidParams 4188 } 4189 return nil 4190} 4191 4192// SetAccept sets the Accept field's value. 4193func (s *GetProfileInput) SetAccept(v string) *GetProfileInput { 4194 s.Accept = &v 4195 return s 4196} 4197 4198// SetEndTime sets the EndTime field's value. 4199func (s *GetProfileInput) SetEndTime(v time.Time) *GetProfileInput { 4200 s.EndTime = &v 4201 return s 4202} 4203 4204// SetMaxDepth sets the MaxDepth field's value. 4205func (s *GetProfileInput) SetMaxDepth(v int64) *GetProfileInput { 4206 s.MaxDepth = &v 4207 return s 4208} 4209 4210// SetPeriod sets the Period field's value. 4211func (s *GetProfileInput) SetPeriod(v string) *GetProfileInput { 4212 s.Period = &v 4213 return s 4214} 4215 4216// SetProfilingGroupName sets the ProfilingGroupName field's value. 4217func (s *GetProfileInput) SetProfilingGroupName(v string) *GetProfileInput { 4218 s.ProfilingGroupName = &v 4219 return s 4220} 4221 4222// SetStartTime sets the StartTime field's value. 4223func (s *GetProfileInput) SetStartTime(v time.Time) *GetProfileInput { 4224 s.StartTime = &v 4225 return s 4226} 4227 4228// The structure representing the getProfileResponse. 4229type GetProfileOutput struct { 4230 _ struct{} `type:"structure" payload:"Profile"` 4231 4232 // The content encoding of the profile. 4233 ContentEncoding *string `location:"header" locationName:"Content-Encoding" type:"string"` 4234 4235 // The content type of the profile in the payload. It is either application/json 4236 // or the default application/x-amzn-ion. 4237 // 4238 // ContentType is a required field 4239 ContentType *string `location:"header" locationName:"Content-Type" type:"string" required:"true"` 4240 4241 // Information about the profile. 4242 // 4243 // Profile is a required field 4244 Profile []byte `locationName:"profile" type:"blob" required:"true"` 4245} 4246 4247// String returns the string representation. 4248// 4249// API parameter values that are decorated as "sensitive" in the API will not 4250// be included in the string output. The member name will be present, but the 4251// value will be replaced with "sensitive". 4252func (s GetProfileOutput) String() string { 4253 return awsutil.Prettify(s) 4254} 4255 4256// GoString returns the string representation. 4257// 4258// API parameter values that are decorated as "sensitive" in the API will not 4259// be included in the string output. The member name will be present, but the 4260// value will be replaced with "sensitive". 4261func (s GetProfileOutput) GoString() string { 4262 return s.String() 4263} 4264 4265// SetContentEncoding sets the ContentEncoding field's value. 4266func (s *GetProfileOutput) SetContentEncoding(v string) *GetProfileOutput { 4267 s.ContentEncoding = &v 4268 return s 4269} 4270 4271// SetContentType sets the ContentType field's value. 4272func (s *GetProfileOutput) SetContentType(v string) *GetProfileOutput { 4273 s.ContentType = &v 4274 return s 4275} 4276 4277// SetProfile sets the Profile field's value. 4278func (s *GetProfileOutput) SetProfile(v []byte) *GetProfileOutput { 4279 s.Profile = v 4280 return s 4281} 4282 4283// The structure representing the GetRecommendationsRequest. 4284type GetRecommendationsInput struct { 4285 _ struct{} `type:"structure" nopayload:"true"` 4286 4287 // The start time of the profile to get analysis data about. You must specify 4288 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4289 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4290 // PM UTC. 4291 // 4292 // EndTime is a required field 4293 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4294 4295 // The language used to provide analysis. Specify using a string that is one 4296 // of the following BCP 47 language codes. 4297 // 4298 // * de-DE - German, Germany 4299 // 4300 // * en-GB - English, United Kingdom 4301 // 4302 // * en-US - English, United States 4303 // 4304 // * es-ES - Spanish, Spain 4305 // 4306 // * fr-FR - French, France 4307 // 4308 // * it-IT - Italian, Italy 4309 // 4310 // * ja-JP - Japanese, Japan 4311 // 4312 // * ko-KR - Korean, Republic of Korea 4313 // 4314 // * pt-BR - Portugese, Brazil 4315 // 4316 // * zh-CN - Chinese, China 4317 // 4318 // * zh-TW - Chinese, Taiwan 4319 Locale *string `location:"querystring" locationName:"locale" type:"string"` 4320 4321 // The name of the profiling group to get analysis data about. 4322 // 4323 // ProfilingGroupName is a required field 4324 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4325 4326 // The end time of the profile to get analysis data about. You must specify 4327 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4328 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4329 // PM UTC. 4330 // 4331 // StartTime is a required field 4332 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4333} 4334 4335// String returns the string representation. 4336// 4337// API parameter values that are decorated as "sensitive" in the API will not 4338// be included in the string output. The member name will be present, but the 4339// value will be replaced with "sensitive". 4340func (s GetRecommendationsInput) String() string { 4341 return awsutil.Prettify(s) 4342} 4343 4344// GoString returns the string representation. 4345// 4346// API parameter values that are decorated as "sensitive" in the API will not 4347// be included in the string output. The member name will be present, but the 4348// value will be replaced with "sensitive". 4349func (s GetRecommendationsInput) GoString() string { 4350 return s.String() 4351} 4352 4353// Validate inspects the fields of the type to determine if they are valid. 4354func (s *GetRecommendationsInput) Validate() error { 4355 invalidParams := request.ErrInvalidParams{Context: "GetRecommendationsInput"} 4356 if s.EndTime == nil { 4357 invalidParams.Add(request.NewErrParamRequired("EndTime")) 4358 } 4359 if s.ProfilingGroupName == nil { 4360 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4361 } 4362 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4363 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4364 } 4365 if s.StartTime == nil { 4366 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4367 } 4368 4369 if invalidParams.Len() > 0 { 4370 return invalidParams 4371 } 4372 return nil 4373} 4374 4375// SetEndTime sets the EndTime field's value. 4376func (s *GetRecommendationsInput) SetEndTime(v time.Time) *GetRecommendationsInput { 4377 s.EndTime = &v 4378 return s 4379} 4380 4381// SetLocale sets the Locale field's value. 4382func (s *GetRecommendationsInput) SetLocale(v string) *GetRecommendationsInput { 4383 s.Locale = &v 4384 return s 4385} 4386 4387// SetProfilingGroupName sets the ProfilingGroupName field's value. 4388func (s *GetRecommendationsInput) SetProfilingGroupName(v string) *GetRecommendationsInput { 4389 s.ProfilingGroupName = &v 4390 return s 4391} 4392 4393// SetStartTime sets the StartTime field's value. 4394func (s *GetRecommendationsInput) SetStartTime(v time.Time) *GetRecommendationsInput { 4395 s.StartTime = &v 4396 return s 4397} 4398 4399// The structure representing the GetRecommendationsResponse. 4400type GetRecommendationsOutput struct { 4401 _ struct{} `type:"structure"` 4402 4403 // The list of anomalies that the analysis has found for this profile. 4404 // 4405 // Anomalies is a required field 4406 Anomalies []*Anomaly `locationName:"anomalies" type:"list" required:"true"` 4407 4408 // The end time of the profile the analysis data is about. This is specified 4409 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 4410 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 4411 // 4412 // ProfileEndTime is a required field 4413 ProfileEndTime *time.Time `locationName:"profileEndTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4414 4415 // The start time of the profile the analysis data is about. This is specified 4416 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 4417 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 4418 // 4419 // ProfileStartTime is a required field 4420 ProfileStartTime *time.Time `locationName:"profileStartTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4421 4422 // The name of the profiling group the analysis data is about. 4423 // 4424 // ProfilingGroupName is a required field 4425 ProfilingGroupName *string `locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4426 4427 // The list of recommendations that the analysis found for this profile. 4428 // 4429 // Recommendations is a required field 4430 Recommendations []*Recommendation `locationName:"recommendations" type:"list" required:"true"` 4431} 4432 4433// String returns the string representation. 4434// 4435// API parameter values that are decorated as "sensitive" in the API will not 4436// be included in the string output. The member name will be present, but the 4437// value will be replaced with "sensitive". 4438func (s GetRecommendationsOutput) String() string { 4439 return awsutil.Prettify(s) 4440} 4441 4442// GoString returns the string representation. 4443// 4444// API parameter values that are decorated as "sensitive" in the API will not 4445// be included in the string output. The member name will be present, but the 4446// value will be replaced with "sensitive". 4447func (s GetRecommendationsOutput) GoString() string { 4448 return s.String() 4449} 4450 4451// SetAnomalies sets the Anomalies field's value. 4452func (s *GetRecommendationsOutput) SetAnomalies(v []*Anomaly) *GetRecommendationsOutput { 4453 s.Anomalies = v 4454 return s 4455} 4456 4457// SetProfileEndTime sets the ProfileEndTime field's value. 4458func (s *GetRecommendationsOutput) SetProfileEndTime(v time.Time) *GetRecommendationsOutput { 4459 s.ProfileEndTime = &v 4460 return s 4461} 4462 4463// SetProfileStartTime sets the ProfileStartTime field's value. 4464func (s *GetRecommendationsOutput) SetProfileStartTime(v time.Time) *GetRecommendationsOutput { 4465 s.ProfileStartTime = &v 4466 return s 4467} 4468 4469// SetProfilingGroupName sets the ProfilingGroupName field's value. 4470func (s *GetRecommendationsOutput) SetProfilingGroupName(v string) *GetRecommendationsOutput { 4471 s.ProfilingGroupName = &v 4472 return s 4473} 4474 4475// SetRecommendations sets the Recommendations field's value. 4476func (s *GetRecommendationsOutput) SetRecommendations(v []*Recommendation) *GetRecommendationsOutput { 4477 s.Recommendations = v 4478 return s 4479} 4480 4481// The server encountered an internal error and is unable to complete the request. 4482type InternalServerException struct { 4483 _ struct{} `type:"structure"` 4484 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4485 4486 Message_ *string `locationName:"message" type:"string"` 4487} 4488 4489// String returns the string representation. 4490// 4491// API parameter values that are decorated as "sensitive" in the API will not 4492// be included in the string output. The member name will be present, but the 4493// value will be replaced with "sensitive". 4494func (s InternalServerException) String() string { 4495 return awsutil.Prettify(s) 4496} 4497 4498// GoString returns the string representation. 4499// 4500// API parameter values that are decorated as "sensitive" in the API will not 4501// be included in the string output. The member name will be present, but the 4502// value will be replaced with "sensitive". 4503func (s InternalServerException) GoString() string { 4504 return s.String() 4505} 4506 4507func newErrorInternalServerException(v protocol.ResponseMetadata) error { 4508 return &InternalServerException{ 4509 RespMetadata: v, 4510 } 4511} 4512 4513// Code returns the exception type name. 4514func (s *InternalServerException) Code() string { 4515 return "InternalServerException" 4516} 4517 4518// Message returns the exception's message. 4519func (s *InternalServerException) Message() string { 4520 if s.Message_ != nil { 4521 return *s.Message_ 4522 } 4523 return "" 4524} 4525 4526// OrigErr always returns nil, satisfies awserr.Error interface. 4527func (s *InternalServerException) OrigErr() error { 4528 return nil 4529} 4530 4531func (s *InternalServerException) Error() string { 4532 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4533} 4534 4535// Status code returns the HTTP status code for the request's response error. 4536func (s *InternalServerException) StatusCode() int { 4537 return s.RespMetadata.StatusCode 4538} 4539 4540// RequestID returns the service's response RequestID for request. 4541func (s *InternalServerException) RequestID() string { 4542 return s.RespMetadata.RequestID 4543} 4544 4545// The structure representing the ListFindingsReportsRequest. 4546type ListFindingsReportsInput struct { 4547 _ struct{} `type:"structure" nopayload:"true"` 4548 4549 // A Boolean value indicating whether to only return reports from daily profiles. 4550 // If set to True, only analysis data from daily profiles is returned. If set 4551 // to False, analysis data is returned from smaller time windows (for example, 4552 // one hour). 4553 DailyReportsOnly *bool `location:"querystring" locationName:"dailyReportsOnly" type:"boolean"` 4554 4555 // The end time of the profile to get analysis data about. You must specify 4556 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4557 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4558 // PM UTC. 4559 // 4560 // EndTime is a required field 4561 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4562 4563 // The maximum number of report results returned by ListFindingsReports in paginated 4564 // output. When this parameter is used, ListFindingsReports only returns maxResults 4565 // results in a single page along with a nextToken response element. The remaining 4566 // results of the initial request can be seen by sending another ListFindingsReports 4567 // request with the returned nextToken value. 4568 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4569 4570 // The nextToken value returned from a previous paginated ListFindingsReportsRequest 4571 // request where maxResults was used and the results exceeded the value of that 4572 // parameter. Pagination continues from the end of the previous results that 4573 // returned the nextToken value. 4574 // 4575 // This token should be treated as an opaque identifier that is only used to 4576 // retrieve the next items in a list and not for other programmatic purposes. 4577 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 4578 4579 // The name of the profiling group from which to search for analysis data. 4580 // 4581 // ProfilingGroupName is a required field 4582 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4583 4584 // The start time of the profile to get analysis data about. You must specify 4585 // startTime and endTime. This is specified using the ISO 8601 format. For example, 4586 // 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 1:15:02 4587 // PM UTC. 4588 // 4589 // StartTime is a required field 4590 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4591} 4592 4593// String returns the string representation. 4594// 4595// API parameter values that are decorated as "sensitive" in the API will not 4596// be included in the string output. The member name will be present, but the 4597// value will be replaced with "sensitive". 4598func (s ListFindingsReportsInput) String() string { 4599 return awsutil.Prettify(s) 4600} 4601 4602// GoString returns the string representation. 4603// 4604// API parameter values that are decorated as "sensitive" in the API will not 4605// be included in the string output. The member name will be present, but the 4606// value will be replaced with "sensitive". 4607func (s ListFindingsReportsInput) GoString() string { 4608 return s.String() 4609} 4610 4611// Validate inspects the fields of the type to determine if they are valid. 4612func (s *ListFindingsReportsInput) Validate() error { 4613 invalidParams := request.ErrInvalidParams{Context: "ListFindingsReportsInput"} 4614 if s.EndTime == nil { 4615 invalidParams.Add(request.NewErrParamRequired("EndTime")) 4616 } 4617 if s.MaxResults != nil && *s.MaxResults < 1 { 4618 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4619 } 4620 if s.NextToken != nil && len(*s.NextToken) < 1 { 4621 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4622 } 4623 if s.ProfilingGroupName == nil { 4624 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4625 } 4626 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4627 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4628 } 4629 if s.StartTime == nil { 4630 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4631 } 4632 4633 if invalidParams.Len() > 0 { 4634 return invalidParams 4635 } 4636 return nil 4637} 4638 4639// SetDailyReportsOnly sets the DailyReportsOnly field's value. 4640func (s *ListFindingsReportsInput) SetDailyReportsOnly(v bool) *ListFindingsReportsInput { 4641 s.DailyReportsOnly = &v 4642 return s 4643} 4644 4645// SetEndTime sets the EndTime field's value. 4646func (s *ListFindingsReportsInput) SetEndTime(v time.Time) *ListFindingsReportsInput { 4647 s.EndTime = &v 4648 return s 4649} 4650 4651// SetMaxResults sets the MaxResults field's value. 4652func (s *ListFindingsReportsInput) SetMaxResults(v int64) *ListFindingsReportsInput { 4653 s.MaxResults = &v 4654 return s 4655} 4656 4657// SetNextToken sets the NextToken field's value. 4658func (s *ListFindingsReportsInput) SetNextToken(v string) *ListFindingsReportsInput { 4659 s.NextToken = &v 4660 return s 4661} 4662 4663// SetProfilingGroupName sets the ProfilingGroupName field's value. 4664func (s *ListFindingsReportsInput) SetProfilingGroupName(v string) *ListFindingsReportsInput { 4665 s.ProfilingGroupName = &v 4666 return s 4667} 4668 4669// SetStartTime sets the StartTime field's value. 4670func (s *ListFindingsReportsInput) SetStartTime(v time.Time) *ListFindingsReportsInput { 4671 s.StartTime = &v 4672 return s 4673} 4674 4675// The structure representing the ListFindingsReportsResponse. 4676type ListFindingsReportsOutput struct { 4677 _ struct{} `type:"structure"` 4678 4679 // The list of analysis results summaries. 4680 // 4681 // FindingsReportSummaries is a required field 4682 FindingsReportSummaries []*FindingsReportSummary `locationName:"findingsReportSummaries" type:"list" required:"true"` 4683 4684 // The nextToken value to include in a future ListFindingsReports request. When 4685 // the results of a ListFindingsReports request exceed maxResults, this value 4686 // can be used to retrieve the next page of results. This value is null when 4687 // there are no more results to return. 4688 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 4689} 4690 4691// String returns the string representation. 4692// 4693// API parameter values that are decorated as "sensitive" in the API will not 4694// be included in the string output. The member name will be present, but the 4695// value will be replaced with "sensitive". 4696func (s ListFindingsReportsOutput) String() string { 4697 return awsutil.Prettify(s) 4698} 4699 4700// GoString returns the string representation. 4701// 4702// API parameter values that are decorated as "sensitive" in the API will not 4703// be included in the string output. The member name will be present, but the 4704// value will be replaced with "sensitive". 4705func (s ListFindingsReportsOutput) GoString() string { 4706 return s.String() 4707} 4708 4709// SetFindingsReportSummaries sets the FindingsReportSummaries field's value. 4710func (s *ListFindingsReportsOutput) SetFindingsReportSummaries(v []*FindingsReportSummary) *ListFindingsReportsOutput { 4711 s.FindingsReportSummaries = v 4712 return s 4713} 4714 4715// SetNextToken sets the NextToken field's value. 4716func (s *ListFindingsReportsOutput) SetNextToken(v string) *ListFindingsReportsOutput { 4717 s.NextToken = &v 4718 return s 4719} 4720 4721// The structure representing the listProfileTimesRequest. 4722type ListProfileTimesInput struct { 4723 _ struct{} `type:"structure" nopayload:"true"` 4724 4725 // The end time of the time range from which to list the profiles. 4726 // 4727 // EndTime is a required field 4728 EndTime *time.Time `location:"querystring" locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4729 4730 // The maximum number of profile time results returned by ListProfileTimes in 4731 // paginated output. When this parameter is used, ListProfileTimes only returns 4732 // maxResults results in a single page with a nextToken response element. The 4733 // remaining results of the initial request can be seen by sending another ListProfileTimes 4734 // request with the returned nextToken value. 4735 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4736 4737 // The nextToken value returned from a previous paginated ListProfileTimes request 4738 // where maxResults was used and the results exceeded the value of that parameter. 4739 // Pagination continues from the end of the previous results that returned the 4740 // nextToken value. 4741 // 4742 // This token should be treated as an opaque identifier that is only used to 4743 // retrieve the next items in a list and not for other programmatic purposes. 4744 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 4745 4746 // The order (ascending or descending by start time of the profile) to use when 4747 // listing profiles. Defaults to TIMESTAMP_DESCENDING. 4748 OrderBy *string `location:"querystring" locationName:"orderBy" type:"string" enum:"OrderBy"` 4749 4750 // The aggregation period. This specifies the period during which an aggregation 4751 // profile collects posted agent profiles for a profiling group. There are 3 4752 // valid values. 4753 // 4754 // * P1D — 1 day 4755 // 4756 // * PT1H — 1 hour 4757 // 4758 // * PT5M — 5 minutes 4759 // 4760 // Period is a required field 4761 Period *string `location:"querystring" locationName:"period" type:"string" required:"true" enum:"AggregationPeriod"` 4762 4763 // The name of the profiling group. 4764 // 4765 // ProfilingGroupName is a required field 4766 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 4767 4768 // The start time of the time range from which to list the profiles. 4769 // 4770 // StartTime is a required field 4771 StartTime *time.Time `location:"querystring" locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 4772} 4773 4774// String returns the string representation. 4775// 4776// API parameter values that are decorated as "sensitive" in the API will not 4777// be included in the string output. The member name will be present, but the 4778// value will be replaced with "sensitive". 4779func (s ListProfileTimesInput) String() string { 4780 return awsutil.Prettify(s) 4781} 4782 4783// GoString returns the string representation. 4784// 4785// API parameter values that are decorated as "sensitive" in the API will not 4786// be included in the string output. The member name will be present, but the 4787// value will be replaced with "sensitive". 4788func (s ListProfileTimesInput) GoString() string { 4789 return s.String() 4790} 4791 4792// Validate inspects the fields of the type to determine if they are valid. 4793func (s *ListProfileTimesInput) Validate() error { 4794 invalidParams := request.ErrInvalidParams{Context: "ListProfileTimesInput"} 4795 if s.EndTime == nil { 4796 invalidParams.Add(request.NewErrParamRequired("EndTime")) 4797 } 4798 if s.MaxResults != nil && *s.MaxResults < 1 { 4799 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4800 } 4801 if s.NextToken != nil && len(*s.NextToken) < 1 { 4802 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4803 } 4804 if s.Period == nil { 4805 invalidParams.Add(request.NewErrParamRequired("Period")) 4806 } 4807 if s.ProfilingGroupName == nil { 4808 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 4809 } 4810 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 4811 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 4812 } 4813 if s.StartTime == nil { 4814 invalidParams.Add(request.NewErrParamRequired("StartTime")) 4815 } 4816 4817 if invalidParams.Len() > 0 { 4818 return invalidParams 4819 } 4820 return nil 4821} 4822 4823// SetEndTime sets the EndTime field's value. 4824func (s *ListProfileTimesInput) SetEndTime(v time.Time) *ListProfileTimesInput { 4825 s.EndTime = &v 4826 return s 4827} 4828 4829// SetMaxResults sets the MaxResults field's value. 4830func (s *ListProfileTimesInput) SetMaxResults(v int64) *ListProfileTimesInput { 4831 s.MaxResults = &v 4832 return s 4833} 4834 4835// SetNextToken sets the NextToken field's value. 4836func (s *ListProfileTimesInput) SetNextToken(v string) *ListProfileTimesInput { 4837 s.NextToken = &v 4838 return s 4839} 4840 4841// SetOrderBy sets the OrderBy field's value. 4842func (s *ListProfileTimesInput) SetOrderBy(v string) *ListProfileTimesInput { 4843 s.OrderBy = &v 4844 return s 4845} 4846 4847// SetPeriod sets the Period field's value. 4848func (s *ListProfileTimesInput) SetPeriod(v string) *ListProfileTimesInput { 4849 s.Period = &v 4850 return s 4851} 4852 4853// SetProfilingGroupName sets the ProfilingGroupName field's value. 4854func (s *ListProfileTimesInput) SetProfilingGroupName(v string) *ListProfileTimesInput { 4855 s.ProfilingGroupName = &v 4856 return s 4857} 4858 4859// SetStartTime sets the StartTime field's value. 4860func (s *ListProfileTimesInput) SetStartTime(v time.Time) *ListProfileTimesInput { 4861 s.StartTime = &v 4862 return s 4863} 4864 4865// The structure representing the listProfileTimesResponse. 4866type ListProfileTimesOutput struct { 4867 _ struct{} `type:"structure"` 4868 4869 // The nextToken value to include in a future ListProfileTimes request. When 4870 // the results of a ListProfileTimes request exceed maxResults, this value can 4871 // be used to retrieve the next page of results. This value is null when there 4872 // are no more results to return. 4873 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 4874 4875 // The list of start times of the available profiles for the aggregation period 4876 // in the specified time range. 4877 // 4878 // ProfileTimes is a required field 4879 ProfileTimes []*ProfileTime `locationName:"profileTimes" type:"list" required:"true"` 4880} 4881 4882// String returns the string representation. 4883// 4884// API parameter values that are decorated as "sensitive" in the API will not 4885// be included in the string output. The member name will be present, but the 4886// value will be replaced with "sensitive". 4887func (s ListProfileTimesOutput) String() string { 4888 return awsutil.Prettify(s) 4889} 4890 4891// GoString returns the string representation. 4892// 4893// API parameter values that are decorated as "sensitive" in the API will not 4894// be included in the string output. The member name will be present, but the 4895// value will be replaced with "sensitive". 4896func (s ListProfileTimesOutput) GoString() string { 4897 return s.String() 4898} 4899 4900// SetNextToken sets the NextToken field's value. 4901func (s *ListProfileTimesOutput) SetNextToken(v string) *ListProfileTimesOutput { 4902 s.NextToken = &v 4903 return s 4904} 4905 4906// SetProfileTimes sets the ProfileTimes field's value. 4907func (s *ListProfileTimesOutput) SetProfileTimes(v []*ProfileTime) *ListProfileTimesOutput { 4908 s.ProfileTimes = v 4909 return s 4910} 4911 4912// The structure representing the listProfilingGroupsRequest. 4913type ListProfilingGroupsInput struct { 4914 _ struct{} `type:"structure" nopayload:"true"` 4915 4916 // A Boolean value indicating whether to include a description. If true, then 4917 // a list of ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 4918 // objects that contain detailed information about profiling groups is returned. 4919 // If false, then a list of profiling group names is returned. 4920 IncludeDescription *bool `location:"querystring" locationName:"includeDescription" type:"boolean"` 4921 4922 // The maximum number of profiling groups results returned by ListProfilingGroups 4923 // in paginated output. When this parameter is used, ListProfilingGroups only 4924 // returns maxResults results in a single page along with a nextToken response 4925 // element. The remaining results of the initial request can be seen by sending 4926 // another ListProfilingGroups request with the returned nextToken value. 4927 MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"` 4928 4929 // The nextToken value returned from a previous paginated ListProfilingGroups 4930 // request where maxResults was used and the results exceeded the value of that 4931 // parameter. Pagination continues from the end of the previous results that 4932 // returned the nextToken value. 4933 // 4934 // This token should be treated as an opaque identifier that is only used to 4935 // retrieve the next items in a list and not for other programmatic purposes. 4936 NextToken *string `location:"querystring" locationName:"nextToken" min:"1" type:"string"` 4937} 4938 4939// String returns the string representation. 4940// 4941// API parameter values that are decorated as "sensitive" in the API will not 4942// be included in the string output. The member name will be present, but the 4943// value will be replaced with "sensitive". 4944func (s ListProfilingGroupsInput) String() string { 4945 return awsutil.Prettify(s) 4946} 4947 4948// GoString returns the string representation. 4949// 4950// API parameter values that are decorated as "sensitive" in the API will not 4951// be included in the string output. The member name will be present, but the 4952// value will be replaced with "sensitive". 4953func (s ListProfilingGroupsInput) GoString() string { 4954 return s.String() 4955} 4956 4957// Validate inspects the fields of the type to determine if they are valid. 4958func (s *ListProfilingGroupsInput) Validate() error { 4959 invalidParams := request.ErrInvalidParams{Context: "ListProfilingGroupsInput"} 4960 if s.MaxResults != nil && *s.MaxResults < 1 { 4961 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4962 } 4963 if s.NextToken != nil && len(*s.NextToken) < 1 { 4964 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4965 } 4966 4967 if invalidParams.Len() > 0 { 4968 return invalidParams 4969 } 4970 return nil 4971} 4972 4973// SetIncludeDescription sets the IncludeDescription field's value. 4974func (s *ListProfilingGroupsInput) SetIncludeDescription(v bool) *ListProfilingGroupsInput { 4975 s.IncludeDescription = &v 4976 return s 4977} 4978 4979// SetMaxResults sets the MaxResults field's value. 4980func (s *ListProfilingGroupsInput) SetMaxResults(v int64) *ListProfilingGroupsInput { 4981 s.MaxResults = &v 4982 return s 4983} 4984 4985// SetNextToken sets the NextToken field's value. 4986func (s *ListProfilingGroupsInput) SetNextToken(v string) *ListProfilingGroupsInput { 4987 s.NextToken = &v 4988 return s 4989} 4990 4991// The structure representing the listProfilingGroupsResponse. 4992type ListProfilingGroupsOutput struct { 4993 _ struct{} `type:"structure"` 4994 4995 // The nextToken value to include in a future ListProfilingGroups request. When 4996 // the results of a ListProfilingGroups request exceed maxResults, this value 4997 // can be used to retrieve the next page of results. This value is null when 4998 // there are no more results to return. 4999 NextToken *string `locationName:"nextToken" min:"1" type:"string"` 5000 5001 // A returned list of profiling group names. A list of the names is returned 5002 // only if includeDescription is false, otherwise a list of ProfilingGroupDescription 5003 // (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 5004 // objects is returned. 5005 // 5006 // ProfilingGroupNames is a required field 5007 ProfilingGroupNames []*string `locationName:"profilingGroupNames" type:"list" required:"true"` 5008 5009 // A returned list ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 5010 // objects. A list of ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 5011 // objects is returned only if includeDescription is true, otherwise a list 5012 // of profiling group names is returned. 5013 ProfilingGroups []*ProfilingGroupDescription `locationName:"profilingGroups" type:"list"` 5014} 5015 5016// String returns the string representation. 5017// 5018// API parameter values that are decorated as "sensitive" in the API will not 5019// be included in the string output. The member name will be present, but the 5020// value will be replaced with "sensitive". 5021func (s ListProfilingGroupsOutput) String() string { 5022 return awsutil.Prettify(s) 5023} 5024 5025// GoString returns the string representation. 5026// 5027// API parameter values that are decorated as "sensitive" in the API will not 5028// be included in the string output. The member name will be present, but the 5029// value will be replaced with "sensitive". 5030func (s ListProfilingGroupsOutput) GoString() string { 5031 return s.String() 5032} 5033 5034// SetNextToken sets the NextToken field's value. 5035func (s *ListProfilingGroupsOutput) SetNextToken(v string) *ListProfilingGroupsOutput { 5036 s.NextToken = &v 5037 return s 5038} 5039 5040// SetProfilingGroupNames sets the ProfilingGroupNames field's value. 5041func (s *ListProfilingGroupsOutput) SetProfilingGroupNames(v []*string) *ListProfilingGroupsOutput { 5042 s.ProfilingGroupNames = v 5043 return s 5044} 5045 5046// SetProfilingGroups sets the ProfilingGroups field's value. 5047func (s *ListProfilingGroupsOutput) SetProfilingGroups(v []*ProfilingGroupDescription) *ListProfilingGroupsOutput { 5048 s.ProfilingGroups = v 5049 return s 5050} 5051 5052type ListTagsForResourceInput struct { 5053 _ struct{} `type:"structure" nopayload:"true"` 5054 5055 // The Amazon Resource Name (ARN) of the resource that contains the tags to 5056 // return. 5057 // 5058 // ResourceArn is a required field 5059 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 5060} 5061 5062// String returns the string representation. 5063// 5064// API parameter values that are decorated as "sensitive" in the API will not 5065// be included in the string output. The member name will be present, but the 5066// value will be replaced with "sensitive". 5067func (s ListTagsForResourceInput) String() string { 5068 return awsutil.Prettify(s) 5069} 5070 5071// GoString returns the string representation. 5072// 5073// API parameter values that are decorated as "sensitive" in the API will not 5074// be included in the string output. The member name will be present, but the 5075// value will be replaced with "sensitive". 5076func (s ListTagsForResourceInput) GoString() string { 5077 return s.String() 5078} 5079 5080// Validate inspects the fields of the type to determine if they are valid. 5081func (s *ListTagsForResourceInput) Validate() error { 5082 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 5083 if s.ResourceArn == nil { 5084 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5085 } 5086 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 5087 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 5088 } 5089 5090 if invalidParams.Len() > 0 { 5091 return invalidParams 5092 } 5093 return nil 5094} 5095 5096// SetResourceArn sets the ResourceArn field's value. 5097func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 5098 s.ResourceArn = &v 5099 return s 5100} 5101 5102type ListTagsForResourceOutput struct { 5103 _ struct{} `type:"structure"` 5104 5105 // The list of tags assigned to the specified resource. This is the list of 5106 // tags returned in the response. 5107 Tags map[string]*string `locationName:"tags" type:"map"` 5108} 5109 5110// String returns the string representation. 5111// 5112// API parameter values that are decorated as "sensitive" in the API will not 5113// be included in the string output. The member name will be present, but the 5114// value will be replaced with "sensitive". 5115func (s ListTagsForResourceOutput) String() string { 5116 return awsutil.Prettify(s) 5117} 5118 5119// GoString returns the string representation. 5120// 5121// API parameter values that are decorated as "sensitive" in the API will not 5122// be included in the string output. The member name will be present, but the 5123// value will be replaced with "sensitive". 5124func (s ListTagsForResourceOutput) GoString() string { 5125 return s.String() 5126} 5127 5128// SetTags sets the Tags field's value. 5129func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 5130 s.Tags = v 5131 return s 5132} 5133 5134// The part of a profile that contains a recommendation found during analysis. 5135type Match struct { 5136 _ struct{} `type:"structure"` 5137 5138 // The location in the profiling graph that contains a recommendation found 5139 // during analysis. 5140 FrameAddress *string `locationName:"frameAddress" type:"string"` 5141 5142 // The target frame that triggered a match. 5143 TargetFramesIndex *int64 `locationName:"targetFramesIndex" type:"integer"` 5144 5145 // The value in the profile data that exceeded the recommendation threshold. 5146 ThresholdBreachValue *float64 `locationName:"thresholdBreachValue" type:"double"` 5147} 5148 5149// String returns the string representation. 5150// 5151// API parameter values that are decorated as "sensitive" in the API will not 5152// be included in the string output. The member name will be present, but the 5153// value will be replaced with "sensitive". 5154func (s Match) String() string { 5155 return awsutil.Prettify(s) 5156} 5157 5158// GoString returns the string representation. 5159// 5160// API parameter values that are decorated as "sensitive" in the API will not 5161// be included in the string output. The member name will be present, but the 5162// value will be replaced with "sensitive". 5163func (s Match) GoString() string { 5164 return s.String() 5165} 5166 5167// SetFrameAddress sets the FrameAddress field's value. 5168func (s *Match) SetFrameAddress(v string) *Match { 5169 s.FrameAddress = &v 5170 return s 5171} 5172 5173// SetTargetFramesIndex sets the TargetFramesIndex field's value. 5174func (s *Match) SetTargetFramesIndex(v int64) *Match { 5175 s.TargetFramesIndex = &v 5176 return s 5177} 5178 5179// SetThresholdBreachValue sets the ThresholdBreachValue field's value. 5180func (s *Match) SetThresholdBreachValue(v float64) *Match { 5181 s.ThresholdBreachValue = &v 5182 return s 5183} 5184 5185// Details about the metric that the analysis used when it detected the anomaly. 5186// The metric what is analyzed to create recommendations. It includes the name 5187// of the frame that was analyzed and the type and thread states used to derive 5188// the metric value for that frame. 5189type Metric struct { 5190 _ struct{} `type:"structure"` 5191 5192 // The name of the method that appears as a frame in any stack in a profile. 5193 // 5194 // FrameName is a required field 5195 FrameName *string `locationName:"frameName" type:"string" required:"true"` 5196 5197 // The list of application runtime thread states that is used to calculate the 5198 // metric value for the frame. 5199 // 5200 // ThreadStates is a required field 5201 ThreadStates []*string `locationName:"threadStates" type:"list" required:"true"` 5202 5203 // A type that specifies how a metric for a frame is analyzed. The supported 5204 // value AggregatedRelativeTotalTime is an aggregation of the metric value for 5205 // one frame that is calculated across the occurences of all frames in a profile. 5206 // 5207 // Type is a required field 5208 Type *string `locationName:"type" type:"string" required:"true" enum:"MetricType"` 5209} 5210 5211// String returns the string representation. 5212// 5213// API parameter values that are decorated as "sensitive" in the API will not 5214// be included in the string output. The member name will be present, but the 5215// value will be replaced with "sensitive". 5216func (s Metric) String() string { 5217 return awsutil.Prettify(s) 5218} 5219 5220// GoString returns the string representation. 5221// 5222// API parameter values that are decorated as "sensitive" in the API will not 5223// be included in the string output. The member name will be present, but the 5224// value will be replaced with "sensitive". 5225func (s Metric) GoString() string { 5226 return s.String() 5227} 5228 5229// SetFrameName sets the FrameName field's value. 5230func (s *Metric) SetFrameName(v string) *Metric { 5231 s.FrameName = &v 5232 return s 5233} 5234 5235// SetThreadStates sets the ThreadStates field's value. 5236func (s *Metric) SetThreadStates(v []*string) *Metric { 5237 s.ThreadStates = v 5238 return s 5239} 5240 5241// SetType sets the Type field's value. 5242func (s *Metric) SetType(v string) *Metric { 5243 s.Type = &v 5244 return s 5245} 5246 5247// The configuration for notifications stored for each profiling group. This 5248// includes up to to two channels and a list of event publishers associated 5249// with each channel. 5250type NotificationConfiguration struct { 5251 _ struct{} `type:"structure"` 5252 5253 // List of up to two channels to be used for sending notifications for events 5254 // detected from the application profile. 5255 Channels []*Channel `locationName:"channels" min:"1" type:"list"` 5256} 5257 5258// String returns the string representation. 5259// 5260// API parameter values that are decorated as "sensitive" in the API will not 5261// be included in the string output. The member name will be present, but the 5262// value will be replaced with "sensitive". 5263func (s NotificationConfiguration) String() string { 5264 return awsutil.Prettify(s) 5265} 5266 5267// GoString returns the string representation. 5268// 5269// API parameter values that are decorated as "sensitive" in the API will not 5270// be included in the string output. The member name will be present, but the 5271// value will be replaced with "sensitive". 5272func (s NotificationConfiguration) GoString() string { 5273 return s.String() 5274} 5275 5276// SetChannels sets the Channels field's value. 5277func (s *NotificationConfiguration) SetChannels(v []*Channel) *NotificationConfiguration { 5278 s.Channels = v 5279 return s 5280} 5281 5282// A set of rules used to make a recommendation during an analysis. 5283type Pattern struct { 5284 _ struct{} `type:"structure"` 5285 5286 // A list of the different counters used to determine if there is a match. 5287 CountersToAggregate []*string `locationName:"countersToAggregate" type:"list"` 5288 5289 // The description of the recommendation. This explains a potential inefficiency 5290 // in a profiled application. 5291 Description *string `locationName:"description" type:"string"` 5292 5293 // The universally unique identifier (UUID) of this pattern. 5294 Id *string `locationName:"id" type:"string"` 5295 5296 // The name for this pattern. 5297 Name *string `locationName:"name" type:"string"` 5298 5299 // A string that contains the steps recommended to address the potential inefficiency. 5300 ResolutionSteps *string `locationName:"resolutionSteps" type:"string"` 5301 5302 // A list of frame names that were searched during the analysis that generated 5303 // a recommendation. 5304 TargetFrames [][]*string `locationName:"targetFrames" type:"list"` 5305 5306 // The percentage of time an application spends in one method that triggers 5307 // a recommendation. The percentage of time is the same as the percentage of 5308 // the total gathered sample counts during analysis. 5309 ThresholdPercent *float64 `locationName:"thresholdPercent" type:"double"` 5310} 5311 5312// String returns the string representation. 5313// 5314// API parameter values that are decorated as "sensitive" in the API will not 5315// be included in the string output. The member name will be present, but the 5316// value will be replaced with "sensitive". 5317func (s Pattern) String() string { 5318 return awsutil.Prettify(s) 5319} 5320 5321// GoString returns the string representation. 5322// 5323// API parameter values that are decorated as "sensitive" in the API will not 5324// be included in the string output. The member name will be present, but the 5325// value will be replaced with "sensitive". 5326func (s Pattern) GoString() string { 5327 return s.String() 5328} 5329 5330// SetCountersToAggregate sets the CountersToAggregate field's value. 5331func (s *Pattern) SetCountersToAggregate(v []*string) *Pattern { 5332 s.CountersToAggregate = v 5333 return s 5334} 5335 5336// SetDescription sets the Description field's value. 5337func (s *Pattern) SetDescription(v string) *Pattern { 5338 s.Description = &v 5339 return s 5340} 5341 5342// SetId sets the Id field's value. 5343func (s *Pattern) SetId(v string) *Pattern { 5344 s.Id = &v 5345 return s 5346} 5347 5348// SetName sets the Name field's value. 5349func (s *Pattern) SetName(v string) *Pattern { 5350 s.Name = &v 5351 return s 5352} 5353 5354// SetResolutionSteps sets the ResolutionSteps field's value. 5355func (s *Pattern) SetResolutionSteps(v string) *Pattern { 5356 s.ResolutionSteps = &v 5357 return s 5358} 5359 5360// SetTargetFrames sets the TargetFrames field's value. 5361func (s *Pattern) SetTargetFrames(v [][]*string) *Pattern { 5362 s.TargetFrames = v 5363 return s 5364} 5365 5366// SetThresholdPercent sets the ThresholdPercent field's value. 5367func (s *Pattern) SetThresholdPercent(v float64) *Pattern { 5368 s.ThresholdPercent = &v 5369 return s 5370} 5371 5372// The structure representing the postAgentProfileRequest. 5373type PostAgentProfileInput struct { 5374 _ struct{} `type:"structure" payload:"AgentProfile"` 5375 5376 // The submitted profiling data. 5377 // 5378 // AgentProfile is a required field 5379 AgentProfile []byte `locationName:"agentProfile" type:"blob" required:"true"` 5380 5381 // The format of the submitted profiling data. The format maps to the Accept 5382 // and Content-Type headers of the HTTP request. You can specify one of the 5383 // following: or the default . 5384 // 5385 // <ul> <li> <p> <code>application/json</code> — standard JSON format </p> 5386 // </li> <li> <p> <code>application/x-amzn-ion</code> — the Amazon Ion 5387 // data format. For more information, see <a href="http://amzn.github.io/ion-docs/">Amazon 5388 // Ion</a>. </p> </li> </ul> 5389 // 5390 // ContentType is a required field 5391 ContentType *string `location:"header" locationName:"Content-Type" type:"string" required:"true"` 5392 5393 // Amazon CodeGuru Profiler uses this universally unique identifier (UUID) to 5394 // prevent the accidental submission of duplicate profiling data if there are 5395 // failures and retries. 5396 ProfileToken *string `location:"querystring" locationName:"profileToken" min:"1" type:"string" idempotencyToken:"true"` 5397 5398 // The name of the profiling group with the aggregated profile that receives 5399 // the submitted profiling data. 5400 // 5401 // ProfilingGroupName is a required field 5402 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5403} 5404 5405// String returns the string representation. 5406// 5407// API parameter values that are decorated as "sensitive" in the API will not 5408// be included in the string output. The member name will be present, but the 5409// value will be replaced with "sensitive". 5410func (s PostAgentProfileInput) String() string { 5411 return awsutil.Prettify(s) 5412} 5413 5414// GoString returns the string representation. 5415// 5416// API parameter values that are decorated as "sensitive" in the API will not 5417// be included in the string output. The member name will be present, but the 5418// value will be replaced with "sensitive". 5419func (s PostAgentProfileInput) GoString() string { 5420 return s.String() 5421} 5422 5423// Validate inspects the fields of the type to determine if they are valid. 5424func (s *PostAgentProfileInput) Validate() error { 5425 invalidParams := request.ErrInvalidParams{Context: "PostAgentProfileInput"} 5426 if s.AgentProfile == nil { 5427 invalidParams.Add(request.NewErrParamRequired("AgentProfile")) 5428 } 5429 if s.ContentType == nil { 5430 invalidParams.Add(request.NewErrParamRequired("ContentType")) 5431 } 5432 if s.ProfileToken != nil && len(*s.ProfileToken) < 1 { 5433 invalidParams.Add(request.NewErrParamMinLen("ProfileToken", 1)) 5434 } 5435 if s.ProfilingGroupName == nil { 5436 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5437 } 5438 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5439 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5440 } 5441 5442 if invalidParams.Len() > 0 { 5443 return invalidParams 5444 } 5445 return nil 5446} 5447 5448// SetAgentProfile sets the AgentProfile field's value. 5449func (s *PostAgentProfileInput) SetAgentProfile(v []byte) *PostAgentProfileInput { 5450 s.AgentProfile = v 5451 return s 5452} 5453 5454// SetContentType sets the ContentType field's value. 5455func (s *PostAgentProfileInput) SetContentType(v string) *PostAgentProfileInput { 5456 s.ContentType = &v 5457 return s 5458} 5459 5460// SetProfileToken sets the ProfileToken field's value. 5461func (s *PostAgentProfileInput) SetProfileToken(v string) *PostAgentProfileInput { 5462 s.ProfileToken = &v 5463 return s 5464} 5465 5466// SetProfilingGroupName sets the ProfilingGroupName field's value. 5467func (s *PostAgentProfileInput) SetProfilingGroupName(v string) *PostAgentProfileInput { 5468 s.ProfilingGroupName = &v 5469 return s 5470} 5471 5472// The structure representing the postAgentProfileResponse. 5473type PostAgentProfileOutput struct { 5474 _ struct{} `type:"structure"` 5475} 5476 5477// String returns the string representation. 5478// 5479// API parameter values that are decorated as "sensitive" in the API will not 5480// be included in the string output. The member name will be present, but the 5481// value will be replaced with "sensitive". 5482func (s PostAgentProfileOutput) String() string { 5483 return awsutil.Prettify(s) 5484} 5485 5486// GoString returns the string representation. 5487// 5488// API parameter values that are decorated as "sensitive" in the API will not 5489// be included in the string output. The member name will be present, but the 5490// value will be replaced with "sensitive". 5491func (s PostAgentProfileOutput) GoString() string { 5492 return s.String() 5493} 5494 5495// Contains the start time of a profile. 5496type ProfileTime struct { 5497 _ struct{} `type:"structure"` 5498 5499 // The start time of a profile. It is specified using the ISO 8601 format. For 5500 // example, 2020-06-01T13:15:02.001Z represents 1 millisecond past June 1, 2020 5501 // 1:15:02 PM UTC. 5502 Start *time.Time `locationName:"start" type:"timestamp" timestampFormat:"iso8601"` 5503} 5504 5505// String returns the string representation. 5506// 5507// API parameter values that are decorated as "sensitive" in the API will not 5508// be included in the string output. The member name will be present, but the 5509// value will be replaced with "sensitive". 5510func (s ProfileTime) String() string { 5511 return awsutil.Prettify(s) 5512} 5513 5514// GoString returns the string representation. 5515// 5516// API parameter values that are decorated as "sensitive" in the API will not 5517// be included in the string output. The member name will be present, but the 5518// value will be replaced with "sensitive". 5519func (s ProfileTime) GoString() string { 5520 return s.String() 5521} 5522 5523// SetStart sets the Start field's value. 5524func (s *ProfileTime) SetStart(v time.Time) *ProfileTime { 5525 s.Start = &v 5526 return s 5527} 5528 5529// Contains information about a profiling group. 5530type ProfilingGroupDescription struct { 5531 _ struct{} `type:"structure"` 5532 5533 // An AgentOrchestrationConfig (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AgentOrchestrationConfig.html) 5534 // object that indicates if the profiling group is enabled for profiled or not. 5535 AgentOrchestrationConfig *AgentOrchestrationConfig `locationName:"agentOrchestrationConfig" type:"structure"` 5536 5537 // The Amazon Resource Name (ARN) identifying the profiling group resource. 5538 Arn *string `locationName:"arn" type:"string"` 5539 5540 // The compute platform of the profiling group. If it is set to AWSLambda, then 5541 // the profiled application runs on AWS Lambda. If it is set to Default, then 5542 // the profiled application runs on a compute platform that is not AWS Lambda, 5543 // such an Amazon EC2 instance, an on-premises server, or a different platform. 5544 // The default is Default. 5545 ComputePlatform *string `locationName:"computePlatform" type:"string" enum:"ComputePlatform"` 5546 5547 // The time when the profiling group was created. Specify using the ISO 8601 5548 // format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond past 5549 // June 1, 2020 1:15:02 PM UTC. 5550 CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"` 5551 5552 // The name of the profiling group. 5553 Name *string `locationName:"name" min:"1" type:"string"` 5554 5555 // A ProfilingStatus (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingStatus.html) 5556 // object that includes information about the last time a profile agent pinged 5557 // back, the last time a profile was received, and the aggregation period and 5558 // start time for the most recent aggregated profile. 5559 ProfilingStatus *ProfilingStatus `locationName:"profilingStatus" type:"structure"` 5560 5561 // A list of the tags that belong to this profiling group. 5562 Tags map[string]*string `locationName:"tags" type:"map"` 5563 5564 // The date and time when the profiling group was last updated. Specify using 5565 // the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond 5566 // past June 1, 2020 1:15:02 PM UTC. 5567 UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"` 5568} 5569 5570// String returns the string representation. 5571// 5572// API parameter values that are decorated as "sensitive" in the API will not 5573// be included in the string output. The member name will be present, but the 5574// value will be replaced with "sensitive". 5575func (s ProfilingGroupDescription) String() string { 5576 return awsutil.Prettify(s) 5577} 5578 5579// GoString returns the string representation. 5580// 5581// API parameter values that are decorated as "sensitive" in the API will not 5582// be included in the string output. The member name will be present, but the 5583// value will be replaced with "sensitive". 5584func (s ProfilingGroupDescription) GoString() string { 5585 return s.String() 5586} 5587 5588// SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 5589func (s *ProfilingGroupDescription) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *ProfilingGroupDescription { 5590 s.AgentOrchestrationConfig = v 5591 return s 5592} 5593 5594// SetArn sets the Arn field's value. 5595func (s *ProfilingGroupDescription) SetArn(v string) *ProfilingGroupDescription { 5596 s.Arn = &v 5597 return s 5598} 5599 5600// SetComputePlatform sets the ComputePlatform field's value. 5601func (s *ProfilingGroupDescription) SetComputePlatform(v string) *ProfilingGroupDescription { 5602 s.ComputePlatform = &v 5603 return s 5604} 5605 5606// SetCreatedAt sets the CreatedAt field's value. 5607func (s *ProfilingGroupDescription) SetCreatedAt(v time.Time) *ProfilingGroupDescription { 5608 s.CreatedAt = &v 5609 return s 5610} 5611 5612// SetName sets the Name field's value. 5613func (s *ProfilingGroupDescription) SetName(v string) *ProfilingGroupDescription { 5614 s.Name = &v 5615 return s 5616} 5617 5618// SetProfilingStatus sets the ProfilingStatus field's value. 5619func (s *ProfilingGroupDescription) SetProfilingStatus(v *ProfilingStatus) *ProfilingGroupDescription { 5620 s.ProfilingStatus = v 5621 return s 5622} 5623 5624// SetTags sets the Tags field's value. 5625func (s *ProfilingGroupDescription) SetTags(v map[string]*string) *ProfilingGroupDescription { 5626 s.Tags = v 5627 return s 5628} 5629 5630// SetUpdatedAt sets the UpdatedAt field's value. 5631func (s *ProfilingGroupDescription) SetUpdatedAt(v time.Time) *ProfilingGroupDescription { 5632 s.UpdatedAt = &v 5633 return s 5634} 5635 5636// Profiling status includes information about the last time a profile agent 5637// pinged back, the last time a profile was received, and the aggregation period 5638// and start time for the most recent aggregated profile. 5639type ProfilingStatus struct { 5640 _ struct{} `type:"structure"` 5641 5642 // The date and time when the profiling agent most recently pinged back. Specify 5643 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 5644 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 5645 LatestAgentOrchestratedAt *time.Time `locationName:"latestAgentOrchestratedAt" type:"timestamp" timestampFormat:"iso8601"` 5646 5647 // The date and time when the most recent profile was received. Specify using 5648 // the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond 5649 // past June 1, 2020 1:15:02 PM UTC. 5650 LatestAgentProfileReportedAt *time.Time `locationName:"latestAgentProfileReportedAt" type:"timestamp" timestampFormat:"iso8601"` 5651 5652 // An AggregatedProfileTime (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AggregatedProfileTime.html) 5653 // object that contains the aggregation period and start time for an aggregated 5654 // profile. 5655 LatestAggregatedProfile *AggregatedProfileTime `locationName:"latestAggregatedProfile" type:"structure"` 5656} 5657 5658// String returns the string representation. 5659// 5660// API parameter values that are decorated as "sensitive" in the API will not 5661// be included in the string output. The member name will be present, but the 5662// value will be replaced with "sensitive". 5663func (s ProfilingStatus) String() string { 5664 return awsutil.Prettify(s) 5665} 5666 5667// GoString returns the string representation. 5668// 5669// API parameter values that are decorated as "sensitive" in the API will not 5670// be included in the string output. The member name will be present, but the 5671// value will be replaced with "sensitive". 5672func (s ProfilingStatus) GoString() string { 5673 return s.String() 5674} 5675 5676// SetLatestAgentOrchestratedAt sets the LatestAgentOrchestratedAt field's value. 5677func (s *ProfilingStatus) SetLatestAgentOrchestratedAt(v time.Time) *ProfilingStatus { 5678 s.LatestAgentOrchestratedAt = &v 5679 return s 5680} 5681 5682// SetLatestAgentProfileReportedAt sets the LatestAgentProfileReportedAt field's value. 5683func (s *ProfilingStatus) SetLatestAgentProfileReportedAt(v time.Time) *ProfilingStatus { 5684 s.LatestAgentProfileReportedAt = &v 5685 return s 5686} 5687 5688// SetLatestAggregatedProfile sets the LatestAggregatedProfile field's value. 5689func (s *ProfilingStatus) SetLatestAggregatedProfile(v *AggregatedProfileTime) *ProfilingStatus { 5690 s.LatestAggregatedProfile = v 5691 return s 5692} 5693 5694// The structure representing the putPermissionRequest. 5695type PutPermissionInput struct { 5696 _ struct{} `type:"structure"` 5697 5698 // Specifies an action group that contains permissions to add to a profiling 5699 // group resource. One action group is supported, agentPermissions, which grants 5700 // permission to perform actions required by the profiling agent, ConfigureAgent 5701 // and PostAgentProfile permissions. 5702 // 5703 // ActionGroup is a required field 5704 ActionGroup *string `location:"uri" locationName:"actionGroup" type:"string" required:"true" enum:"ActionGroup"` 5705 5706 // A list ARNs for the roles and users you want to grant access to the profiling 5707 // group. Wildcards are not are supported in the ARNs. 5708 // 5709 // Principals is a required field 5710 Principals []*string `locationName:"principals" min:"1" type:"list" required:"true"` 5711 5712 // The name of the profiling group to grant access to. 5713 // 5714 // ProfilingGroupName is a required field 5715 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5716 5717 // A universally unique identifier (UUID) for the revision of the policy you 5718 // are adding to the profiling group. Do not specify this when you add permissions 5719 // to a profiling group for the first time. If a policy already exists on the 5720 // profiling group, you must specify the revisionId. 5721 RevisionId *string `locationName:"revisionId" type:"string"` 5722} 5723 5724// String returns the string representation. 5725// 5726// API parameter values that are decorated as "sensitive" in the API will not 5727// be included in the string output. The member name will be present, but the 5728// value will be replaced with "sensitive". 5729func (s PutPermissionInput) String() string { 5730 return awsutil.Prettify(s) 5731} 5732 5733// GoString returns the string representation. 5734// 5735// API parameter values that are decorated as "sensitive" in the API will not 5736// be included in the string output. The member name will be present, but the 5737// value will be replaced with "sensitive". 5738func (s PutPermissionInput) GoString() string { 5739 return s.String() 5740} 5741 5742// Validate inspects the fields of the type to determine if they are valid. 5743func (s *PutPermissionInput) Validate() error { 5744 invalidParams := request.ErrInvalidParams{Context: "PutPermissionInput"} 5745 if s.ActionGroup == nil { 5746 invalidParams.Add(request.NewErrParamRequired("ActionGroup")) 5747 } 5748 if s.ActionGroup != nil && len(*s.ActionGroup) < 1 { 5749 invalidParams.Add(request.NewErrParamMinLen("ActionGroup", 1)) 5750 } 5751 if s.Principals == nil { 5752 invalidParams.Add(request.NewErrParamRequired("Principals")) 5753 } 5754 if s.Principals != nil && len(s.Principals) < 1 { 5755 invalidParams.Add(request.NewErrParamMinLen("Principals", 1)) 5756 } 5757 if s.ProfilingGroupName == nil { 5758 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5759 } 5760 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5761 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5762 } 5763 5764 if invalidParams.Len() > 0 { 5765 return invalidParams 5766 } 5767 return nil 5768} 5769 5770// SetActionGroup sets the ActionGroup field's value. 5771func (s *PutPermissionInput) SetActionGroup(v string) *PutPermissionInput { 5772 s.ActionGroup = &v 5773 return s 5774} 5775 5776// SetPrincipals sets the Principals field's value. 5777func (s *PutPermissionInput) SetPrincipals(v []*string) *PutPermissionInput { 5778 s.Principals = v 5779 return s 5780} 5781 5782// SetProfilingGroupName sets the ProfilingGroupName field's value. 5783func (s *PutPermissionInput) SetProfilingGroupName(v string) *PutPermissionInput { 5784 s.ProfilingGroupName = &v 5785 return s 5786} 5787 5788// SetRevisionId sets the RevisionId field's value. 5789func (s *PutPermissionInput) SetRevisionId(v string) *PutPermissionInput { 5790 s.RevisionId = &v 5791 return s 5792} 5793 5794// The structure representing the putPermissionResponse. 5795type PutPermissionOutput struct { 5796 _ struct{} `type:"structure"` 5797 5798 // The JSON-formatted resource-based policy on the profiling group that includes 5799 // the added permissions. 5800 // 5801 // Policy is a required field 5802 Policy *string `locationName:"policy" type:"string" required:"true"` 5803 5804 // A universally unique identifier (UUID) for the revision of the resource-based 5805 // policy that includes the added permissions. The JSON-formatted policy is 5806 // in the policy element of the response. 5807 // 5808 // RevisionId is a required field 5809 RevisionId *string `locationName:"revisionId" type:"string" required:"true"` 5810} 5811 5812// String returns the string representation. 5813// 5814// API parameter values that are decorated as "sensitive" in the API will not 5815// be included in the string output. The member name will be present, but the 5816// value will be replaced with "sensitive". 5817func (s PutPermissionOutput) String() string { 5818 return awsutil.Prettify(s) 5819} 5820 5821// GoString returns the string representation. 5822// 5823// API parameter values that are decorated as "sensitive" in the API will not 5824// be included in the string output. The member name will be present, but the 5825// value will be replaced with "sensitive". 5826func (s PutPermissionOutput) GoString() string { 5827 return s.String() 5828} 5829 5830// SetPolicy sets the Policy field's value. 5831func (s *PutPermissionOutput) SetPolicy(v string) *PutPermissionOutput { 5832 s.Policy = &v 5833 return s 5834} 5835 5836// SetRevisionId sets the RevisionId field's value. 5837func (s *PutPermissionOutput) SetRevisionId(v string) *PutPermissionOutput { 5838 s.RevisionId = &v 5839 return s 5840} 5841 5842// A potential improvement that was found from analyzing the profiling data. 5843type Recommendation struct { 5844 _ struct{} `type:"structure"` 5845 5846 // How many different places in the profile graph triggered a match. 5847 // 5848 // AllMatchesCount is a required field 5849 AllMatchesCount *int64 `locationName:"allMatchesCount" type:"integer" required:"true"` 5850 5851 // How much of the total sample count is potentially affected. 5852 // 5853 // AllMatchesSum is a required field 5854 AllMatchesSum *float64 `locationName:"allMatchesSum" type:"double" required:"true"` 5855 5856 // End time of the profile that was used by this analysis. This is specified 5857 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 5858 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 5859 // 5860 // EndTime is a required field 5861 EndTime *time.Time `locationName:"endTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5862 5863 // The pattern that analysis recognized in the profile to make this recommendation. 5864 // 5865 // Pattern is a required field 5866 Pattern *Pattern `locationName:"pattern" type:"structure" required:"true"` 5867 5868 // The start time of the profile that was used by this analysis. This is specified 5869 // using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 5870 // 1 millisecond past June 1, 2020 1:15:02 PM UTC. 5871 // 5872 // StartTime is a required field 5873 StartTime *time.Time `locationName:"startTime" type:"timestamp" timestampFormat:"iso8601" required:"true"` 5874 5875 // List of the matches with most impact. 5876 // 5877 // TopMatches is a required field 5878 TopMatches []*Match `locationName:"topMatches" type:"list" required:"true"` 5879} 5880 5881// String returns the string representation. 5882// 5883// API parameter values that are decorated as "sensitive" in the API will not 5884// be included in the string output. The member name will be present, but the 5885// value will be replaced with "sensitive". 5886func (s Recommendation) String() string { 5887 return awsutil.Prettify(s) 5888} 5889 5890// GoString returns the string representation. 5891// 5892// API parameter values that are decorated as "sensitive" in the API will not 5893// be included in the string output. The member name will be present, but the 5894// value will be replaced with "sensitive". 5895func (s Recommendation) GoString() string { 5896 return s.String() 5897} 5898 5899// SetAllMatchesCount sets the AllMatchesCount field's value. 5900func (s *Recommendation) SetAllMatchesCount(v int64) *Recommendation { 5901 s.AllMatchesCount = &v 5902 return s 5903} 5904 5905// SetAllMatchesSum sets the AllMatchesSum field's value. 5906func (s *Recommendation) SetAllMatchesSum(v float64) *Recommendation { 5907 s.AllMatchesSum = &v 5908 return s 5909} 5910 5911// SetEndTime sets the EndTime field's value. 5912func (s *Recommendation) SetEndTime(v time.Time) *Recommendation { 5913 s.EndTime = &v 5914 return s 5915} 5916 5917// SetPattern sets the Pattern field's value. 5918func (s *Recommendation) SetPattern(v *Pattern) *Recommendation { 5919 s.Pattern = v 5920 return s 5921} 5922 5923// SetStartTime sets the StartTime field's value. 5924func (s *Recommendation) SetStartTime(v time.Time) *Recommendation { 5925 s.StartTime = &v 5926 return s 5927} 5928 5929// SetTopMatches sets the TopMatches field's value. 5930func (s *Recommendation) SetTopMatches(v []*Match) *Recommendation { 5931 s.TopMatches = v 5932 return s 5933} 5934 5935// The structure representing the RemoveNotificationChannelRequest. 5936type RemoveNotificationChannelInput struct { 5937 _ struct{} `type:"structure" nopayload:"true"` 5938 5939 // The id of the channel that we want to stop receiving notifications. 5940 // 5941 // ChannelId is a required field 5942 ChannelId *string `location:"uri" locationName:"channelId" type:"string" required:"true"` 5943 5944 // The name of the profiling group we want to change notification configuration 5945 // for. 5946 // 5947 // ProfilingGroupName is a required field 5948 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 5949} 5950 5951// String returns the string representation. 5952// 5953// API parameter values that are decorated as "sensitive" in the API will not 5954// be included in the string output. The member name will be present, but the 5955// value will be replaced with "sensitive". 5956func (s RemoveNotificationChannelInput) String() string { 5957 return awsutil.Prettify(s) 5958} 5959 5960// GoString returns the string representation. 5961// 5962// API parameter values that are decorated as "sensitive" in the API will not 5963// be included in the string output. The member name will be present, but the 5964// value will be replaced with "sensitive". 5965func (s RemoveNotificationChannelInput) GoString() string { 5966 return s.String() 5967} 5968 5969// Validate inspects the fields of the type to determine if they are valid. 5970func (s *RemoveNotificationChannelInput) Validate() error { 5971 invalidParams := request.ErrInvalidParams{Context: "RemoveNotificationChannelInput"} 5972 if s.ChannelId == nil { 5973 invalidParams.Add(request.NewErrParamRequired("ChannelId")) 5974 } 5975 if s.ChannelId != nil && len(*s.ChannelId) < 1 { 5976 invalidParams.Add(request.NewErrParamMinLen("ChannelId", 1)) 5977 } 5978 if s.ProfilingGroupName == nil { 5979 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 5980 } 5981 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 5982 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 5983 } 5984 5985 if invalidParams.Len() > 0 { 5986 return invalidParams 5987 } 5988 return nil 5989} 5990 5991// SetChannelId sets the ChannelId field's value. 5992func (s *RemoveNotificationChannelInput) SetChannelId(v string) *RemoveNotificationChannelInput { 5993 s.ChannelId = &v 5994 return s 5995} 5996 5997// SetProfilingGroupName sets the ProfilingGroupName field's value. 5998func (s *RemoveNotificationChannelInput) SetProfilingGroupName(v string) *RemoveNotificationChannelInput { 5999 s.ProfilingGroupName = &v 6000 return s 6001} 6002 6003// The structure representing the RemoveNotificationChannelResponse. 6004type RemoveNotificationChannelOutput struct { 6005 _ struct{} `type:"structure"` 6006 6007 // The new notification configuration for this profiling group. 6008 NotificationConfiguration *NotificationConfiguration `locationName:"notificationConfiguration" type:"structure"` 6009} 6010 6011// String returns the string representation. 6012// 6013// API parameter values that are decorated as "sensitive" in the API will not 6014// be included in the string output. The member name will be present, but the 6015// value will be replaced with "sensitive". 6016func (s RemoveNotificationChannelOutput) String() string { 6017 return awsutil.Prettify(s) 6018} 6019 6020// GoString returns the string representation. 6021// 6022// API parameter values that are decorated as "sensitive" in the API will not 6023// be included in the string output. The member name will be present, but the 6024// value will be replaced with "sensitive". 6025func (s RemoveNotificationChannelOutput) GoString() string { 6026 return s.String() 6027} 6028 6029// SetNotificationConfiguration sets the NotificationConfiguration field's value. 6030func (s *RemoveNotificationChannelOutput) SetNotificationConfiguration(v *NotificationConfiguration) *RemoveNotificationChannelOutput { 6031 s.NotificationConfiguration = v 6032 return s 6033} 6034 6035type RemovePermissionInput struct { 6036 _ struct{} `type:"structure" nopayload:"true"` 6037 6038 // Specifies an action group that contains the permissions to remove from a 6039 // profiling group's resource-based policy. One action group is supported, agentPermissions, 6040 // which grants ConfigureAgent and PostAgentProfile permissions. 6041 // 6042 // ActionGroup is a required field 6043 ActionGroup *string `location:"uri" locationName:"actionGroup" type:"string" required:"true" enum:"ActionGroup"` 6044 6045 // The name of the profiling group. 6046 // 6047 // ProfilingGroupName is a required field 6048 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 6049 6050 // A universally unique identifier (UUID) for the revision of the resource-based 6051 // policy from which you want to remove permissions. 6052 // 6053 // RevisionId is a required field 6054 RevisionId *string `location:"querystring" locationName:"revisionId" type:"string" required:"true"` 6055} 6056 6057// String returns the string representation. 6058// 6059// API parameter values that are decorated as "sensitive" in the API will not 6060// be included in the string output. The member name will be present, but the 6061// value will be replaced with "sensitive". 6062func (s RemovePermissionInput) String() string { 6063 return awsutil.Prettify(s) 6064} 6065 6066// GoString returns the string representation. 6067// 6068// API parameter values that are decorated as "sensitive" in the API will not 6069// be included in the string output. The member name will be present, but the 6070// value will be replaced with "sensitive". 6071func (s RemovePermissionInput) GoString() string { 6072 return s.String() 6073} 6074 6075// Validate inspects the fields of the type to determine if they are valid. 6076func (s *RemovePermissionInput) Validate() error { 6077 invalidParams := request.ErrInvalidParams{Context: "RemovePermissionInput"} 6078 if s.ActionGroup == nil { 6079 invalidParams.Add(request.NewErrParamRequired("ActionGroup")) 6080 } 6081 if s.ActionGroup != nil && len(*s.ActionGroup) < 1 { 6082 invalidParams.Add(request.NewErrParamMinLen("ActionGroup", 1)) 6083 } 6084 if s.ProfilingGroupName == nil { 6085 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 6086 } 6087 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 6088 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 6089 } 6090 if s.RevisionId == nil { 6091 invalidParams.Add(request.NewErrParamRequired("RevisionId")) 6092 } 6093 6094 if invalidParams.Len() > 0 { 6095 return invalidParams 6096 } 6097 return nil 6098} 6099 6100// SetActionGroup sets the ActionGroup field's value. 6101func (s *RemovePermissionInput) SetActionGroup(v string) *RemovePermissionInput { 6102 s.ActionGroup = &v 6103 return s 6104} 6105 6106// SetProfilingGroupName sets the ProfilingGroupName field's value. 6107func (s *RemovePermissionInput) SetProfilingGroupName(v string) *RemovePermissionInput { 6108 s.ProfilingGroupName = &v 6109 return s 6110} 6111 6112// SetRevisionId sets the RevisionId field's value. 6113func (s *RemovePermissionInput) SetRevisionId(v string) *RemovePermissionInput { 6114 s.RevisionId = &v 6115 return s 6116} 6117 6118// The structure representing the removePermissionResponse. 6119type RemovePermissionOutput struct { 6120 _ struct{} `type:"structure"` 6121 6122 // The JSON-formatted resource-based policy on the profiling group after the 6123 // specified permissions were removed. 6124 // 6125 // Policy is a required field 6126 Policy *string `locationName:"policy" type:"string" required:"true"` 6127 6128 // A universally unique identifier (UUID) for the revision of the resource-based 6129 // policy after the specified permissions were removed. The updated JSON-formatted 6130 // policy is in the policy element of the response. 6131 // 6132 // RevisionId is a required field 6133 RevisionId *string `locationName:"revisionId" type:"string" required:"true"` 6134} 6135 6136// String returns the string representation. 6137// 6138// API parameter values that are decorated as "sensitive" in the API will not 6139// be included in the string output. The member name will be present, but the 6140// value will be replaced with "sensitive". 6141func (s RemovePermissionOutput) String() string { 6142 return awsutil.Prettify(s) 6143} 6144 6145// GoString returns the string representation. 6146// 6147// API parameter values that are decorated as "sensitive" in the API will not 6148// be included in the string output. The member name will be present, but the 6149// value will be replaced with "sensitive". 6150func (s RemovePermissionOutput) GoString() string { 6151 return s.String() 6152} 6153 6154// SetPolicy sets the Policy field's value. 6155func (s *RemovePermissionOutput) SetPolicy(v string) *RemovePermissionOutput { 6156 s.Policy = &v 6157 return s 6158} 6159 6160// SetRevisionId sets the RevisionId field's value. 6161func (s *RemovePermissionOutput) SetRevisionId(v string) *RemovePermissionOutput { 6162 s.RevisionId = &v 6163 return s 6164} 6165 6166// The resource specified in the request does not exist. 6167type ResourceNotFoundException struct { 6168 _ struct{} `type:"structure"` 6169 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6170 6171 Message_ *string `locationName:"message" type:"string"` 6172} 6173 6174// String returns the string representation. 6175// 6176// API parameter values that are decorated as "sensitive" in the API will not 6177// be included in the string output. The member name will be present, but the 6178// value will be replaced with "sensitive". 6179func (s ResourceNotFoundException) String() string { 6180 return awsutil.Prettify(s) 6181} 6182 6183// GoString returns the string representation. 6184// 6185// API parameter values that are decorated as "sensitive" in the API will not 6186// be included in the string output. The member name will be present, but the 6187// value will be replaced with "sensitive". 6188func (s ResourceNotFoundException) GoString() string { 6189 return s.String() 6190} 6191 6192func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 6193 return &ResourceNotFoundException{ 6194 RespMetadata: v, 6195 } 6196} 6197 6198// Code returns the exception type name. 6199func (s *ResourceNotFoundException) Code() string { 6200 return "ResourceNotFoundException" 6201} 6202 6203// Message returns the exception's message. 6204func (s *ResourceNotFoundException) Message() string { 6205 if s.Message_ != nil { 6206 return *s.Message_ 6207 } 6208 return "" 6209} 6210 6211// OrigErr always returns nil, satisfies awserr.Error interface. 6212func (s *ResourceNotFoundException) OrigErr() error { 6213 return nil 6214} 6215 6216func (s *ResourceNotFoundException) Error() string { 6217 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6218} 6219 6220// Status code returns the HTTP status code for the request's response error. 6221func (s *ResourceNotFoundException) StatusCode() int { 6222 return s.RespMetadata.StatusCode 6223} 6224 6225// RequestID returns the service's response RequestID for request. 6226func (s *ResourceNotFoundException) RequestID() string { 6227 return s.RespMetadata.RequestID 6228} 6229 6230// You have exceeded your service quota. To perform the requested action, remove 6231// some of the relevant resources, or use Service Quotas (https://docs.aws.amazon.com/servicequotas/latest/userguide/intro.html) 6232// to request a service quota increase. 6233type ServiceQuotaExceededException struct { 6234 _ struct{} `type:"structure"` 6235 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6236 6237 Message_ *string `locationName:"message" type:"string"` 6238} 6239 6240// String returns the string representation. 6241// 6242// API parameter values that are decorated as "sensitive" in the API will not 6243// be included in the string output. The member name will be present, but the 6244// value will be replaced with "sensitive". 6245func (s ServiceQuotaExceededException) String() string { 6246 return awsutil.Prettify(s) 6247} 6248 6249// GoString returns the string representation. 6250// 6251// API parameter values that are decorated as "sensitive" in the API will not 6252// be included in the string output. The member name will be present, but the 6253// value will be replaced with "sensitive". 6254func (s ServiceQuotaExceededException) GoString() string { 6255 return s.String() 6256} 6257 6258func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 6259 return &ServiceQuotaExceededException{ 6260 RespMetadata: v, 6261 } 6262} 6263 6264// Code returns the exception type name. 6265func (s *ServiceQuotaExceededException) Code() string { 6266 return "ServiceQuotaExceededException" 6267} 6268 6269// Message returns the exception's message. 6270func (s *ServiceQuotaExceededException) Message() string { 6271 if s.Message_ != nil { 6272 return *s.Message_ 6273 } 6274 return "" 6275} 6276 6277// OrigErr always returns nil, satisfies awserr.Error interface. 6278func (s *ServiceQuotaExceededException) OrigErr() error { 6279 return nil 6280} 6281 6282func (s *ServiceQuotaExceededException) Error() string { 6283 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6284} 6285 6286// Status code returns the HTTP status code for the request's response error. 6287func (s *ServiceQuotaExceededException) StatusCode() int { 6288 return s.RespMetadata.StatusCode 6289} 6290 6291// RequestID returns the service's response RequestID for request. 6292func (s *ServiceQuotaExceededException) RequestID() string { 6293 return s.RespMetadata.RequestID 6294} 6295 6296// The structure representing the SubmitFeedbackRequest. 6297type SubmitFeedbackInput struct { 6298 _ struct{} `type:"structure"` 6299 6300 // The universally unique identifier (UUID) of the AnomalyInstance (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_AnomalyInstance.html) 6301 // object that is included in the analysis data. 6302 // 6303 // AnomalyInstanceId is a required field 6304 AnomalyInstanceId *string `location:"uri" locationName:"anomalyInstanceId" type:"string" required:"true"` 6305 6306 // Optional feedback about this anomaly. 6307 Comment *string `locationName:"comment" type:"string"` 6308 6309 // The name of the profiling group that is associated with the analysis data. 6310 // 6311 // ProfilingGroupName is a required field 6312 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 6313 6314 // The feedback tpye. Thee are two valid values, Positive and Negative. 6315 // 6316 // Type is a required field 6317 Type *string `locationName:"type" type:"string" required:"true" enum:"FeedbackType"` 6318} 6319 6320// String returns the string representation. 6321// 6322// API parameter values that are decorated as "sensitive" in the API will not 6323// be included in the string output. The member name will be present, but the 6324// value will be replaced with "sensitive". 6325func (s SubmitFeedbackInput) String() string { 6326 return awsutil.Prettify(s) 6327} 6328 6329// GoString returns the string representation. 6330// 6331// API parameter values that are decorated as "sensitive" in the API will not 6332// be included in the string output. The member name will be present, but the 6333// value will be replaced with "sensitive". 6334func (s SubmitFeedbackInput) GoString() string { 6335 return s.String() 6336} 6337 6338// Validate inspects the fields of the type to determine if they are valid. 6339func (s *SubmitFeedbackInput) Validate() error { 6340 invalidParams := request.ErrInvalidParams{Context: "SubmitFeedbackInput"} 6341 if s.AnomalyInstanceId == nil { 6342 invalidParams.Add(request.NewErrParamRequired("AnomalyInstanceId")) 6343 } 6344 if s.AnomalyInstanceId != nil && len(*s.AnomalyInstanceId) < 1 { 6345 invalidParams.Add(request.NewErrParamMinLen("AnomalyInstanceId", 1)) 6346 } 6347 if s.ProfilingGroupName == nil { 6348 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 6349 } 6350 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 6351 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 6352 } 6353 if s.Type == nil { 6354 invalidParams.Add(request.NewErrParamRequired("Type")) 6355 } 6356 6357 if invalidParams.Len() > 0 { 6358 return invalidParams 6359 } 6360 return nil 6361} 6362 6363// SetAnomalyInstanceId sets the AnomalyInstanceId field's value. 6364func (s *SubmitFeedbackInput) SetAnomalyInstanceId(v string) *SubmitFeedbackInput { 6365 s.AnomalyInstanceId = &v 6366 return s 6367} 6368 6369// SetComment sets the Comment field's value. 6370func (s *SubmitFeedbackInput) SetComment(v string) *SubmitFeedbackInput { 6371 s.Comment = &v 6372 return s 6373} 6374 6375// SetProfilingGroupName sets the ProfilingGroupName field's value. 6376func (s *SubmitFeedbackInput) SetProfilingGroupName(v string) *SubmitFeedbackInput { 6377 s.ProfilingGroupName = &v 6378 return s 6379} 6380 6381// SetType sets the Type field's value. 6382func (s *SubmitFeedbackInput) SetType(v string) *SubmitFeedbackInput { 6383 s.Type = &v 6384 return s 6385} 6386 6387// The structure representing the SubmitFeedbackResponse. 6388type SubmitFeedbackOutput struct { 6389 _ struct{} `type:"structure"` 6390} 6391 6392// String returns the string representation. 6393// 6394// API parameter values that are decorated as "sensitive" in the API will not 6395// be included in the string output. The member name will be present, but the 6396// value will be replaced with "sensitive". 6397func (s SubmitFeedbackOutput) String() string { 6398 return awsutil.Prettify(s) 6399} 6400 6401// GoString returns the string representation. 6402// 6403// API parameter values that are decorated as "sensitive" in the API will not 6404// be included in the string output. The member name will be present, but the 6405// value will be replaced with "sensitive". 6406func (s SubmitFeedbackOutput) GoString() string { 6407 return s.String() 6408} 6409 6410type TagResourceInput struct { 6411 _ struct{} `type:"structure"` 6412 6413 // The Amazon Resource Name (ARN) of the resource that the tags are added to. 6414 // 6415 // ResourceArn is a required field 6416 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 6417 6418 // The list of tags that are added to the specified resource. 6419 // 6420 // Tags is a required field 6421 Tags map[string]*string `locationName:"tags" type:"map" required:"true"` 6422} 6423 6424// String returns the string representation. 6425// 6426// API parameter values that are decorated as "sensitive" in the API will not 6427// be included in the string output. The member name will be present, but the 6428// value will be replaced with "sensitive". 6429func (s TagResourceInput) String() string { 6430 return awsutil.Prettify(s) 6431} 6432 6433// GoString returns the string representation. 6434// 6435// API parameter values that are decorated as "sensitive" in the API will not 6436// be included in the string output. The member name will be present, but the 6437// value will be replaced with "sensitive". 6438func (s TagResourceInput) GoString() string { 6439 return s.String() 6440} 6441 6442// Validate inspects the fields of the type to determine if they are valid. 6443func (s *TagResourceInput) Validate() error { 6444 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 6445 if s.ResourceArn == nil { 6446 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6447 } 6448 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6449 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6450 } 6451 if s.Tags == nil { 6452 invalidParams.Add(request.NewErrParamRequired("Tags")) 6453 } 6454 6455 if invalidParams.Len() > 0 { 6456 return invalidParams 6457 } 6458 return nil 6459} 6460 6461// SetResourceArn sets the ResourceArn field's value. 6462func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 6463 s.ResourceArn = &v 6464 return s 6465} 6466 6467// SetTags sets the Tags field's value. 6468func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 6469 s.Tags = v 6470 return s 6471} 6472 6473type TagResourceOutput struct { 6474 _ struct{} `type:"structure"` 6475} 6476 6477// String returns the string representation. 6478// 6479// API parameter values that are decorated as "sensitive" in the API will not 6480// be included in the string output. The member name will be present, but the 6481// value will be replaced with "sensitive". 6482func (s TagResourceOutput) String() string { 6483 return awsutil.Prettify(s) 6484} 6485 6486// GoString returns the string representation. 6487// 6488// API parameter values that are decorated as "sensitive" in the API will not 6489// be included in the string output. The member name will be present, but the 6490// value will be replaced with "sensitive". 6491func (s TagResourceOutput) GoString() string { 6492 return s.String() 6493} 6494 6495// The request was denied due to request throttling. 6496type ThrottlingException struct { 6497 _ struct{} `type:"structure"` 6498 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6499 6500 Message_ *string `locationName:"message" type:"string"` 6501} 6502 6503// String returns the string representation. 6504// 6505// API parameter values that are decorated as "sensitive" in the API will not 6506// be included in the string output. The member name will be present, but the 6507// value will be replaced with "sensitive". 6508func (s ThrottlingException) String() string { 6509 return awsutil.Prettify(s) 6510} 6511 6512// GoString returns the string representation. 6513// 6514// API parameter values that are decorated as "sensitive" in the API will not 6515// be included in the string output. The member name will be present, but the 6516// value will be replaced with "sensitive". 6517func (s ThrottlingException) GoString() string { 6518 return s.String() 6519} 6520 6521func newErrorThrottlingException(v protocol.ResponseMetadata) error { 6522 return &ThrottlingException{ 6523 RespMetadata: v, 6524 } 6525} 6526 6527// Code returns the exception type name. 6528func (s *ThrottlingException) Code() string { 6529 return "ThrottlingException" 6530} 6531 6532// Message returns the exception's message. 6533func (s *ThrottlingException) Message() string { 6534 if s.Message_ != nil { 6535 return *s.Message_ 6536 } 6537 return "" 6538} 6539 6540// OrigErr always returns nil, satisfies awserr.Error interface. 6541func (s *ThrottlingException) OrigErr() error { 6542 return nil 6543} 6544 6545func (s *ThrottlingException) Error() string { 6546 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6547} 6548 6549// Status code returns the HTTP status code for the request's response error. 6550func (s *ThrottlingException) StatusCode() int { 6551 return s.RespMetadata.StatusCode 6552} 6553 6554// RequestID returns the service's response RequestID for request. 6555func (s *ThrottlingException) RequestID() string { 6556 return s.RespMetadata.RequestID 6557} 6558 6559// A data type that contains a Timestamp object. This is specified using the 6560// ISO 8601 format. For example, 2020-06-01T13:15:02.001Z represents 1 millisecond 6561// past June 1, 2020 1:15:02 PM UTC. 6562type TimestampStructure struct { 6563 _ struct{} `type:"structure"` 6564 6565 // A Timestamp. This is specified using the ISO 8601 format. For example, 2020-06-01T13:15:02.001Z 6566 // represents 1 millisecond past June 1, 2020 1:15:02 PM UTC. 6567 // 6568 // Value is a required field 6569 Value *time.Time `locationName:"value" type:"timestamp" timestampFormat:"iso8601" required:"true"` 6570} 6571 6572// String returns the string representation. 6573// 6574// API parameter values that are decorated as "sensitive" in the API will not 6575// be included in the string output. The member name will be present, but the 6576// value will be replaced with "sensitive". 6577func (s TimestampStructure) String() string { 6578 return awsutil.Prettify(s) 6579} 6580 6581// GoString returns the string representation. 6582// 6583// API parameter values that are decorated as "sensitive" in the API will not 6584// be included in the string output. The member name will be present, but the 6585// value will be replaced with "sensitive". 6586func (s TimestampStructure) GoString() string { 6587 return s.String() 6588} 6589 6590// SetValue sets the Value field's value. 6591func (s *TimestampStructure) SetValue(v time.Time) *TimestampStructure { 6592 s.Value = &v 6593 return s 6594} 6595 6596type UntagResourceInput struct { 6597 _ struct{} `type:"structure" nopayload:"true"` 6598 6599 // The Amazon Resource Name (ARN) of the resource that contains the tags to 6600 // remove. 6601 // 6602 // ResourceArn is a required field 6603 ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"` 6604 6605 // A list of tag keys. Existing tags of resources with keys in this list are 6606 // removed from the specified resource. 6607 // 6608 // TagKeys is a required field 6609 TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"` 6610} 6611 6612// String returns the string representation. 6613// 6614// API parameter values that are decorated as "sensitive" in the API will not 6615// be included in the string output. The member name will be present, but the 6616// value will be replaced with "sensitive". 6617func (s UntagResourceInput) String() string { 6618 return awsutil.Prettify(s) 6619} 6620 6621// GoString returns the string representation. 6622// 6623// API parameter values that are decorated as "sensitive" in the API will not 6624// be included in the string output. The member name will be present, but the 6625// value will be replaced with "sensitive". 6626func (s UntagResourceInput) GoString() string { 6627 return s.String() 6628} 6629 6630// Validate inspects the fields of the type to determine if they are valid. 6631func (s *UntagResourceInput) Validate() error { 6632 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 6633 if s.ResourceArn == nil { 6634 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6635 } 6636 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6637 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6638 } 6639 if s.TagKeys == nil { 6640 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 6641 } 6642 6643 if invalidParams.Len() > 0 { 6644 return invalidParams 6645 } 6646 return nil 6647} 6648 6649// SetResourceArn sets the ResourceArn field's value. 6650func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 6651 s.ResourceArn = &v 6652 return s 6653} 6654 6655// SetTagKeys sets the TagKeys field's value. 6656func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 6657 s.TagKeys = v 6658 return s 6659} 6660 6661type UntagResourceOutput struct { 6662 _ struct{} `type:"structure"` 6663} 6664 6665// String returns the string representation. 6666// 6667// API parameter values that are decorated as "sensitive" in the API will not 6668// be included in the string output. The member name will be present, but the 6669// value will be replaced with "sensitive". 6670func (s UntagResourceOutput) String() string { 6671 return awsutil.Prettify(s) 6672} 6673 6674// GoString returns the string representation. 6675// 6676// API parameter values that are decorated as "sensitive" in the API will not 6677// be included in the string output. The member name will be present, but the 6678// value will be replaced with "sensitive". 6679func (s UntagResourceOutput) GoString() string { 6680 return s.String() 6681} 6682 6683// The structure representing the updateProfilingGroupRequest. 6684type UpdateProfilingGroupInput struct { 6685 _ struct{} `type:"structure"` 6686 6687 // Specifies whether profiling is enabled or disabled for a profiling group. 6688 // 6689 // AgentOrchestrationConfig is a required field 6690 AgentOrchestrationConfig *AgentOrchestrationConfig `locationName:"agentOrchestrationConfig" type:"structure" required:"true"` 6691 6692 // The name of the profiling group to update. 6693 // 6694 // ProfilingGroupName is a required field 6695 ProfilingGroupName *string `location:"uri" locationName:"profilingGroupName" min:"1" type:"string" required:"true"` 6696} 6697 6698// String returns the string representation. 6699// 6700// API parameter values that are decorated as "sensitive" in the API will not 6701// be included in the string output. The member name will be present, but the 6702// value will be replaced with "sensitive". 6703func (s UpdateProfilingGroupInput) String() string { 6704 return awsutil.Prettify(s) 6705} 6706 6707// GoString returns the string representation. 6708// 6709// API parameter values that are decorated as "sensitive" in the API will not 6710// be included in the string output. The member name will be present, but the 6711// value will be replaced with "sensitive". 6712func (s UpdateProfilingGroupInput) GoString() string { 6713 return s.String() 6714} 6715 6716// Validate inspects the fields of the type to determine if they are valid. 6717func (s *UpdateProfilingGroupInput) Validate() error { 6718 invalidParams := request.ErrInvalidParams{Context: "UpdateProfilingGroupInput"} 6719 if s.AgentOrchestrationConfig == nil { 6720 invalidParams.Add(request.NewErrParamRequired("AgentOrchestrationConfig")) 6721 } 6722 if s.ProfilingGroupName == nil { 6723 invalidParams.Add(request.NewErrParamRequired("ProfilingGroupName")) 6724 } 6725 if s.ProfilingGroupName != nil && len(*s.ProfilingGroupName) < 1 { 6726 invalidParams.Add(request.NewErrParamMinLen("ProfilingGroupName", 1)) 6727 } 6728 if s.AgentOrchestrationConfig != nil { 6729 if err := s.AgentOrchestrationConfig.Validate(); err != nil { 6730 invalidParams.AddNested("AgentOrchestrationConfig", err.(request.ErrInvalidParams)) 6731 } 6732 } 6733 6734 if invalidParams.Len() > 0 { 6735 return invalidParams 6736 } 6737 return nil 6738} 6739 6740// SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 6741func (s *UpdateProfilingGroupInput) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *UpdateProfilingGroupInput { 6742 s.AgentOrchestrationConfig = v 6743 return s 6744} 6745 6746// SetProfilingGroupName sets the ProfilingGroupName field's value. 6747func (s *UpdateProfilingGroupInput) SetProfilingGroupName(v string) *UpdateProfilingGroupInput { 6748 s.ProfilingGroupName = &v 6749 return s 6750} 6751 6752// The structure representing the updateProfilingGroupResponse. 6753type UpdateProfilingGroupOutput struct { 6754 _ struct{} `type:"structure" payload:"ProfilingGroup"` 6755 6756 // A ProfilingGroupDescription (https://docs.aws.amazon.com/codeguru/latest/profiler-api/API_ProfilingGroupDescription.html) 6757 // that contains information about the returned updated profiling group. 6758 // 6759 // ProfilingGroup is a required field 6760 ProfilingGroup *ProfilingGroupDescription `locationName:"profilingGroup" type:"structure" required:"true"` 6761} 6762 6763// String returns the string representation. 6764// 6765// API parameter values that are decorated as "sensitive" in the API will not 6766// be included in the string output. The member name will be present, but the 6767// value will be replaced with "sensitive". 6768func (s UpdateProfilingGroupOutput) String() string { 6769 return awsutil.Prettify(s) 6770} 6771 6772// GoString returns the string representation. 6773// 6774// API parameter values that are decorated as "sensitive" in the API will not 6775// be included in the string output. The member name will be present, but the 6776// value will be replaced with "sensitive". 6777func (s UpdateProfilingGroupOutput) GoString() string { 6778 return s.String() 6779} 6780 6781// SetProfilingGroup sets the ProfilingGroup field's value. 6782func (s *UpdateProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *UpdateProfilingGroupOutput { 6783 s.ProfilingGroup = v 6784 return s 6785} 6786 6787// Feedback that can be submitted for each instance of an anomaly by the user. 6788// Feedback is be used for improvements in generating recommendations for the 6789// application. 6790type UserFeedback struct { 6791 _ struct{} `type:"structure"` 6792 6793 // Optional Positive or Negative feedback submitted by the user about whether 6794 // the recommendation is useful or not. 6795 // 6796 // Type is a required field 6797 Type *string `locationName:"type" type:"string" required:"true" enum:"FeedbackType"` 6798} 6799 6800// String returns the string representation. 6801// 6802// API parameter values that are decorated as "sensitive" in the API will not 6803// be included in the string output. The member name will be present, but the 6804// value will be replaced with "sensitive". 6805func (s UserFeedback) String() string { 6806 return awsutil.Prettify(s) 6807} 6808 6809// GoString returns the string representation. 6810// 6811// API parameter values that are decorated as "sensitive" in the API will not 6812// be included in the string output. The member name will be present, but the 6813// value will be replaced with "sensitive". 6814func (s UserFeedback) GoString() string { 6815 return s.String() 6816} 6817 6818// SetType sets the Type field's value. 6819func (s *UserFeedback) SetType(v string) *UserFeedback { 6820 s.Type = &v 6821 return s 6822} 6823 6824// The parameter is not valid. 6825type ValidationException struct { 6826 _ struct{} `type:"structure"` 6827 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6828 6829 Message_ *string `locationName:"message" type:"string"` 6830} 6831 6832// String returns the string representation. 6833// 6834// API parameter values that are decorated as "sensitive" in the API will not 6835// be included in the string output. The member name will be present, but the 6836// value will be replaced with "sensitive". 6837func (s ValidationException) String() string { 6838 return awsutil.Prettify(s) 6839} 6840 6841// GoString returns the string representation. 6842// 6843// API parameter values that are decorated as "sensitive" in the API will not 6844// be included in the string output. The member name will be present, but the 6845// value will be replaced with "sensitive". 6846func (s ValidationException) GoString() string { 6847 return s.String() 6848} 6849 6850func newErrorValidationException(v protocol.ResponseMetadata) error { 6851 return &ValidationException{ 6852 RespMetadata: v, 6853 } 6854} 6855 6856// Code returns the exception type name. 6857func (s *ValidationException) Code() string { 6858 return "ValidationException" 6859} 6860 6861// Message returns the exception's message. 6862func (s *ValidationException) Message() string { 6863 if s.Message_ != nil { 6864 return *s.Message_ 6865 } 6866 return "" 6867} 6868 6869// OrigErr always returns nil, satisfies awserr.Error interface. 6870func (s *ValidationException) OrigErr() error { 6871 return nil 6872} 6873 6874func (s *ValidationException) Error() string { 6875 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6876} 6877 6878// Status code returns the HTTP status code for the request's response error. 6879func (s *ValidationException) StatusCode() int { 6880 return s.RespMetadata.StatusCode 6881} 6882 6883// RequestID returns the service's response RequestID for request. 6884func (s *ValidationException) RequestID() string { 6885 return s.RespMetadata.RequestID 6886} 6887 6888const ( 6889 // ActionGroupAgentPermissions is a ActionGroup enum value 6890 ActionGroupAgentPermissions = "agentPermissions" 6891) 6892 6893// ActionGroup_Values returns all elements of the ActionGroup enum 6894func ActionGroup_Values() []string { 6895 return []string{ 6896 ActionGroupAgentPermissions, 6897 } 6898} 6899 6900const ( 6901 // AgentParameterFieldSamplingIntervalInMilliseconds is a AgentParameterField enum value 6902 AgentParameterFieldSamplingIntervalInMilliseconds = "SamplingIntervalInMilliseconds" 6903 6904 // AgentParameterFieldReportingIntervalInMilliseconds is a AgentParameterField enum value 6905 AgentParameterFieldReportingIntervalInMilliseconds = "ReportingIntervalInMilliseconds" 6906 6907 // AgentParameterFieldMinimumTimeForReportingInMilliseconds is a AgentParameterField enum value 6908 AgentParameterFieldMinimumTimeForReportingInMilliseconds = "MinimumTimeForReportingInMilliseconds" 6909 6910 // AgentParameterFieldMemoryUsageLimitPercent is a AgentParameterField enum value 6911 AgentParameterFieldMemoryUsageLimitPercent = "MemoryUsageLimitPercent" 6912 6913 // AgentParameterFieldMaxStackDepth is a AgentParameterField enum value 6914 AgentParameterFieldMaxStackDepth = "MaxStackDepth" 6915) 6916 6917// AgentParameterField_Values returns all elements of the AgentParameterField enum 6918func AgentParameterField_Values() []string { 6919 return []string{ 6920 AgentParameterFieldSamplingIntervalInMilliseconds, 6921 AgentParameterFieldReportingIntervalInMilliseconds, 6922 AgentParameterFieldMinimumTimeForReportingInMilliseconds, 6923 AgentParameterFieldMemoryUsageLimitPercent, 6924 AgentParameterFieldMaxStackDepth, 6925 } 6926} 6927 6928const ( 6929 // AggregationPeriodPt5m is a AggregationPeriod enum value 6930 AggregationPeriodPt5m = "PT5M" 6931 6932 // AggregationPeriodPt1h is a AggregationPeriod enum value 6933 AggregationPeriodPt1h = "PT1H" 6934 6935 // AggregationPeriodP1d is a AggregationPeriod enum value 6936 AggregationPeriodP1d = "P1D" 6937) 6938 6939// AggregationPeriod_Values returns all elements of the AggregationPeriod enum 6940func AggregationPeriod_Values() []string { 6941 return []string{ 6942 AggregationPeriodPt5m, 6943 AggregationPeriodPt1h, 6944 AggregationPeriodP1d, 6945 } 6946} 6947 6948const ( 6949 // ComputePlatformDefault is a ComputePlatform enum value 6950 ComputePlatformDefault = "Default" 6951 6952 // ComputePlatformAwslambda is a ComputePlatform enum value 6953 ComputePlatformAwslambda = "AWSLambda" 6954) 6955 6956// ComputePlatform_Values returns all elements of the ComputePlatform enum 6957func ComputePlatform_Values() []string { 6958 return []string{ 6959 ComputePlatformDefault, 6960 ComputePlatformAwslambda, 6961 } 6962} 6963 6964const ( 6965 // EventPublisherAnomalyDetection is a EventPublisher enum value 6966 EventPublisherAnomalyDetection = "AnomalyDetection" 6967) 6968 6969// EventPublisher_Values returns all elements of the EventPublisher enum 6970func EventPublisher_Values() []string { 6971 return []string{ 6972 EventPublisherAnomalyDetection, 6973 } 6974} 6975 6976const ( 6977 // FeedbackTypePositive is a FeedbackType enum value 6978 FeedbackTypePositive = "Positive" 6979 6980 // FeedbackTypeNegative is a FeedbackType enum value 6981 FeedbackTypeNegative = "Negative" 6982) 6983 6984// FeedbackType_Values returns all elements of the FeedbackType enum 6985func FeedbackType_Values() []string { 6986 return []string{ 6987 FeedbackTypePositive, 6988 FeedbackTypeNegative, 6989 } 6990} 6991 6992const ( 6993 // MetadataFieldComputePlatform is a MetadataField enum value 6994 MetadataFieldComputePlatform = "ComputePlatform" 6995 6996 // MetadataFieldAgentId is a MetadataField enum value 6997 MetadataFieldAgentId = "AgentId" 6998 6999 // MetadataFieldAwsRequestId is a MetadataField enum value 7000 MetadataFieldAwsRequestId = "AwsRequestId" 7001 7002 // MetadataFieldExecutionEnvironment is a MetadataField enum value 7003 MetadataFieldExecutionEnvironment = "ExecutionEnvironment" 7004 7005 // MetadataFieldLambdaFunctionArn is a MetadataField enum value 7006 MetadataFieldLambdaFunctionArn = "LambdaFunctionArn" 7007 7008 // MetadataFieldLambdaMemoryLimitInMb is a MetadataField enum value 7009 MetadataFieldLambdaMemoryLimitInMb = "LambdaMemoryLimitInMB" 7010 7011 // MetadataFieldLambdaRemainingTimeInMilliseconds is a MetadataField enum value 7012 MetadataFieldLambdaRemainingTimeInMilliseconds = "LambdaRemainingTimeInMilliseconds" 7013 7014 // MetadataFieldLambdaTimeGapBetweenInvokesInMilliseconds is a MetadataField enum value 7015 MetadataFieldLambdaTimeGapBetweenInvokesInMilliseconds = "LambdaTimeGapBetweenInvokesInMilliseconds" 7016 7017 // MetadataFieldLambdaPreviousExecutionTimeInMilliseconds is a MetadataField enum value 7018 MetadataFieldLambdaPreviousExecutionTimeInMilliseconds = "LambdaPreviousExecutionTimeInMilliseconds" 7019) 7020 7021// MetadataField_Values returns all elements of the MetadataField enum 7022func MetadataField_Values() []string { 7023 return []string{ 7024 MetadataFieldComputePlatform, 7025 MetadataFieldAgentId, 7026 MetadataFieldAwsRequestId, 7027 MetadataFieldExecutionEnvironment, 7028 MetadataFieldLambdaFunctionArn, 7029 MetadataFieldLambdaMemoryLimitInMb, 7030 MetadataFieldLambdaRemainingTimeInMilliseconds, 7031 MetadataFieldLambdaTimeGapBetweenInvokesInMilliseconds, 7032 MetadataFieldLambdaPreviousExecutionTimeInMilliseconds, 7033 } 7034} 7035 7036const ( 7037 // MetricTypeAggregatedRelativeTotalTime is a MetricType enum value 7038 MetricTypeAggregatedRelativeTotalTime = "AggregatedRelativeTotalTime" 7039) 7040 7041// MetricType_Values returns all elements of the MetricType enum 7042func MetricType_Values() []string { 7043 return []string{ 7044 MetricTypeAggregatedRelativeTotalTime, 7045 } 7046} 7047 7048const ( 7049 // OrderByTimestampDescending is a OrderBy enum value 7050 OrderByTimestampDescending = "TimestampDescending" 7051 7052 // OrderByTimestampAscending is a OrderBy enum value 7053 OrderByTimestampAscending = "TimestampAscending" 7054) 7055 7056// OrderBy_Values returns all elements of the OrderBy enum 7057func OrderBy_Values() []string { 7058 return []string{ 7059 OrderByTimestampDescending, 7060 OrderByTimestampAscending, 7061 } 7062} 7063