github.com/aavshr/aws-sdk-go@v1.41.3/service/codeguruprofiler/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package codeguruprofiler 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/restjson" 14 ) 15 16 const 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 42 func (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 93 func (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. 107 func (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 114 const 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 140 func (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 182 func (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. 196 func (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 203 const 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 229 func (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 272 func (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. 286 func (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 293 const 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 319 func (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 367 func (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. 381 func (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 388 const 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 414 func (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 461 func (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. 475 func (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 482 const 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 508 func (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 550 func (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. 564 func (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 571 const 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 597 func (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 643 func (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. 657 func (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 // 681 func (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. 692 func (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 716 const 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 742 func (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 783 func (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. 797 func (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 804 const 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 830 func (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 868 func (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. 882 func (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 889 const 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 915 func (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 990 func (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. 1004 func (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 1011 const 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 1037 func (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 1082 func (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. 1096 func (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 1103 const 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 1129 func (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 1176 func (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. 1190 func (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 // 1214 func (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. 1225 func (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 1249 const 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 1275 func (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 1323 func (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. 1337 func (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 // 1361 func (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. 1372 func (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 1396 const 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 1422 func (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 1465 func (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. 1479 func (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 // 1503 func (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. 1514 func (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 1538 const 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 1564 func (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 1602 func (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. 1616 func (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 1623 const 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 1649 func (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 1693 func (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. 1707 func (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 1714 const 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 1740 func (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 1802 func (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. 1816 func (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 1823 const 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 1849 func (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 1890 func (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. 1904 func (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 1911 const 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 1937 func (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 1988 func (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. 2002 func (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 2009 const 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 2035 func (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 2078 func (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. 2092 func (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 2099 const 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 2125 func (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 2164 func (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. 2178 func (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 2185 const 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 2211 func (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 2250 func (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. 2264 func (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 2271 const 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 2297 func (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 2343 func (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. 2357 func (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. 2365 type 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". 2384 func (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". 2393 func (s AddNotificationChannelsInput) GoString() string { 2394 return s.String() 2395 } 2396 2397 // Validate inspects the fields of the type to determine if they are valid. 2398 func (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. 2430 func (s *AddNotificationChannelsInput) SetChannels(v []*Channel) *AddNotificationChannelsInput { 2431 s.Channels = v 2432 return s 2433 } 2434 2435 // SetProfilingGroupName sets the ProfilingGroupName field's value. 2436 func (s *AddNotificationChannelsInput) SetProfilingGroupName(v string) *AddNotificationChannelsInput { 2437 s.ProfilingGroupName = &v 2438 return s 2439 } 2440 2441 // The structure representing the AddNotificationChannelsResponse. 2442 type 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". 2454 func (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". 2463 func (s AddNotificationChannelsOutput) GoString() string { 2464 return s.String() 2465 } 2466 2467 // SetNotificationConfiguration sets the NotificationConfiguration field's value. 2468 func (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. 2476 type 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". 2521 func (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". 2530 func (s AgentConfiguration) GoString() string { 2531 return s.String() 2532 } 2533 2534 // SetAgentParameters sets the AgentParameters field's value. 2535 func (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. 2541 func (s *AgentConfiguration) SetPeriodInSeconds(v int64) *AgentConfiguration { 2542 s.PeriodInSeconds = &v 2543 return s 2544 } 2545 2546 // SetShouldProfile sets the ShouldProfile field's value. 2547 func (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. 2555 type 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". 2570 func (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". 2579 func (s AgentOrchestrationConfig) GoString() string { 2580 return s.String() 2581 } 2582 2583 // Validate inspects the fields of the type to determine if they are valid. 2584 func (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. 2597 func (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). 2606 type 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". 2635 func (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". 2644 func (s AggregatedProfileTime) GoString() string { 2645 return s.String() 2646 } 2647 2648 // SetPeriod sets the Period field's value. 2649 func (s *AggregatedProfileTime) SetPeriod(v string) *AggregatedProfileTime { 2650 s.Period = &v 2651 return s 2652 } 2653 2654 // SetStart sets the Start field's value. 2655 func (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. 2662 type 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". 2688 func (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". 2697 func (s Anomaly) GoString() string { 2698 return s.String() 2699 } 2700 2701 // SetInstances sets the Instances field's value. 2702 func (s *Anomaly) SetInstances(v []*AnomalyInstance) *Anomaly { 2703 s.Instances = v 2704 return s 2705 } 2706 2707 // SetMetric sets the Metric field's value. 2708 func (s *Anomaly) SetMetric(v *Metric) *Anomaly { 2709 s.Metric = v 2710 return s 2711 } 2712 2713 // SetReason sets the Reason field's value. 2714 func (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. 2720 type 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". 2750 func (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". 2759 func (s AnomalyInstance) GoString() string { 2760 return s.String() 2761 } 2762 2763 // SetEndTime sets the EndTime field's value. 2764 func (s *AnomalyInstance) SetEndTime(v time.Time) *AnomalyInstance { 2765 s.EndTime = &v 2766 return s 2767 } 2768 2769 // SetId sets the Id field's value. 2770 func (s *AnomalyInstance) SetId(v string) *AnomalyInstance { 2771 s.Id = &v 2772 return s 2773 } 2774 2775 // SetStartTime sets the StartTime field's value. 2776 func (s *AnomalyInstance) SetStartTime(v time.Time) *AnomalyInstance { 2777 s.StartTime = &v 2778 return s 2779 } 2780 2781 // SetUserFeedback sets the UserFeedback field's value. 2782 func (s *AnomalyInstance) SetUserFeedback(v *UserFeedback) *AnomalyInstance { 2783 s.UserFeedback = v 2784 return s 2785 } 2786 2787 // The structure representing the BatchGetFrameMetricDataRequest. 2788 type 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". 2837 func (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". 2846 func (s BatchGetFrameMetricDataInput) GoString() string { 2847 return s.String() 2848 } 2849 2850 // Validate inspects the fields of the type to determine if they are valid. 2851 func (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. 2880 func (s *BatchGetFrameMetricDataInput) SetEndTime(v time.Time) *BatchGetFrameMetricDataInput { 2881 s.EndTime = &v 2882 return s 2883 } 2884 2885 // SetFrameMetrics sets the FrameMetrics field's value. 2886 func (s *BatchGetFrameMetricDataInput) SetFrameMetrics(v []*FrameMetric) *BatchGetFrameMetricDataInput { 2887 s.FrameMetrics = v 2888 return s 2889 } 2890 2891 // SetPeriod sets the Period field's value. 2892 func (s *BatchGetFrameMetricDataInput) SetPeriod(v string) *BatchGetFrameMetricDataInput { 2893 s.Period = &v 2894 return s 2895 } 2896 2897 // SetProfilingGroupName sets the ProfilingGroupName field's value. 2898 func (s *BatchGetFrameMetricDataInput) SetProfilingGroupName(v string) *BatchGetFrameMetricDataInput { 2899 s.ProfilingGroupName = &v 2900 return s 2901 } 2902 2903 // SetStartTime sets the StartTime field's value. 2904 func (s *BatchGetFrameMetricDataInput) SetStartTime(v time.Time) *BatchGetFrameMetricDataInput { 2905 s.StartTime = &v 2906 return s 2907 } 2908 2909 // SetTargetResolution sets the TargetResolution field's value. 2910 func (s *BatchGetFrameMetricDataInput) SetTargetResolution(v string) *BatchGetFrameMetricDataInput { 2911 s.TargetResolution = &v 2912 return s 2913 } 2914 2915 // The structure representing the BatchGetFrameMetricDataResponse. 2916 type 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". 2973 func (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". 2982 func (s BatchGetFrameMetricDataOutput) GoString() string { 2983 return s.String() 2984 } 2985 2986 // SetEndTime sets the EndTime field's value. 2987 func (s *BatchGetFrameMetricDataOutput) SetEndTime(v time.Time) *BatchGetFrameMetricDataOutput { 2988 s.EndTime = &v 2989 return s 2990 } 2991 2992 // SetEndTimes sets the EndTimes field's value. 2993 func (s *BatchGetFrameMetricDataOutput) SetEndTimes(v []*TimestampStructure) *BatchGetFrameMetricDataOutput { 2994 s.EndTimes = v 2995 return s 2996 } 2997 2998 // SetFrameMetricData sets the FrameMetricData field's value. 2999 func (s *BatchGetFrameMetricDataOutput) SetFrameMetricData(v []*FrameMetricDatum) *BatchGetFrameMetricDataOutput { 3000 s.FrameMetricData = v 3001 return s 3002 } 3003 3004 // SetResolution sets the Resolution field's value. 3005 func (s *BatchGetFrameMetricDataOutput) SetResolution(v string) *BatchGetFrameMetricDataOutput { 3006 s.Resolution = &v 3007 return s 3008 } 3009 3010 // SetStartTime sets the StartTime field's value. 3011 func (s *BatchGetFrameMetricDataOutput) SetStartTime(v time.Time) *BatchGetFrameMetricDataOutput { 3012 s.StartTime = &v 3013 return s 3014 } 3015 3016 // SetUnprocessedEndTimes sets the UnprocessedEndTimes field's value. 3017 func (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. 3024 type 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". 3051 func (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". 3060 func (s Channel) GoString() string { 3061 return s.String() 3062 } 3063 3064 // Validate inspects the fields of the type to determine if they are valid. 3065 func (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. 3084 func (s *Channel) SetEventPublishers(v []*string) *Channel { 3085 s.EventPublishers = v 3086 return s 3087 } 3088 3089 // SetId sets the Id field's value. 3090 func (s *Channel) SetId(v string) *Channel { 3091 s.Id = &v 3092 return s 3093 } 3094 3095 // SetUri sets the Uri field's value. 3096 func (s *Channel) SetUri(v string) *Channel { 3097 s.Uri = &v 3098 return s 3099 } 3100 3101 // The structure representing the configureAgentRequest. 3102 type 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". 3149 func (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". 3158 func (s ConfigureAgentInput) GoString() string { 3159 return s.String() 3160 } 3161 3162 // Validate inspects the fields of the type to determine if they are valid. 3163 func (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. 3182 func (s *ConfigureAgentInput) SetFleetInstanceId(v string) *ConfigureAgentInput { 3183 s.FleetInstanceId = &v 3184 return s 3185 } 3186 3187 // SetMetadata sets the Metadata field's value. 3188 func (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. 3194 func (s *ConfigureAgentInput) SetProfilingGroupName(v string) *ConfigureAgentInput { 3195 s.ProfilingGroupName = &v 3196 return s 3197 } 3198 3199 // The structure representing the configureAgentResponse. 3200 type 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". 3216 func (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". 3225 func (s ConfigureAgentOutput) GoString() string { 3226 return s.String() 3227 } 3228 3229 // SetConfiguration sets the Configuration field's value. 3230 func (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. 3238 type 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". 3250 func (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". 3259 func (s ConflictException) GoString() string { 3260 return s.String() 3261 } 3262 3263 func newErrorConflictException(v protocol.ResponseMetadata) error { 3264 return &ConflictException{ 3265 RespMetadata: v, 3266 } 3267 } 3268 3269 // Code returns the exception type name. 3270 func (s *ConflictException) Code() string { 3271 return "ConflictException" 3272 } 3273 3274 // Message returns the exception's message. 3275 func (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. 3283 func (s *ConflictException) OrigErr() error { 3284 return nil 3285 } 3286 3287 func (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. 3292 func (s *ConflictException) StatusCode() int { 3293 return s.RespMetadata.StatusCode 3294 } 3295 3296 // RequestID returns the service's response RequestID for request. 3297 func (s *ConflictException) RequestID() string { 3298 return s.RespMetadata.RequestID 3299 } 3300 3301 // The structure representing the createProfiliingGroupRequest. 3302 type 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". 3334 func (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". 3343 func (s CreateProfilingGroupInput) GoString() string { 3344 return s.String() 3345 } 3346 3347 // Validate inspects the fields of the type to determine if they are valid. 3348 func (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. 3372 func (s *CreateProfilingGroupInput) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *CreateProfilingGroupInput { 3373 s.AgentOrchestrationConfig = v 3374 return s 3375 } 3376 3377 // SetClientToken sets the ClientToken field's value. 3378 func (s *CreateProfilingGroupInput) SetClientToken(v string) *CreateProfilingGroupInput { 3379 s.ClientToken = &v 3380 return s 3381 } 3382 3383 // SetComputePlatform sets the ComputePlatform field's value. 3384 func (s *CreateProfilingGroupInput) SetComputePlatform(v string) *CreateProfilingGroupInput { 3385 s.ComputePlatform = &v 3386 return s 3387 } 3388 3389 // SetProfilingGroupName sets the ProfilingGroupName field's value. 3390 func (s *CreateProfilingGroupInput) SetProfilingGroupName(v string) *CreateProfilingGroupInput { 3391 s.ProfilingGroupName = &v 3392 return s 3393 } 3394 3395 // SetTags sets the Tags field's value. 3396 func (s *CreateProfilingGroupInput) SetTags(v map[string]*string) *CreateProfilingGroupInput { 3397 s.Tags = v 3398 return s 3399 } 3400 3401 // The structure representing the createProfilingGroupResponse. 3402 type 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". 3417 func (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". 3426 func (s CreateProfilingGroupOutput) GoString() string { 3427 return s.String() 3428 } 3429 3430 // SetProfilingGroup sets the ProfilingGroup field's value. 3431 func (s *CreateProfilingGroupOutput) SetProfilingGroup(v *ProfilingGroupDescription) *CreateProfilingGroupOutput { 3432 s.ProfilingGroup = v 3433 return s 3434 } 3435 3436 // The structure representing the deleteProfilingGroupRequest. 3437 type 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". 3451 func (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". 3460 func (s DeleteProfilingGroupInput) GoString() string { 3461 return s.String() 3462 } 3463 3464 // Validate inspects the fields of the type to determine if they are valid. 3465 func (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. 3481 func (s *DeleteProfilingGroupInput) SetProfilingGroupName(v string) *DeleteProfilingGroupInput { 3482 s.ProfilingGroupName = &v 3483 return s 3484 } 3485 3486 // The structure representing the deleteProfilingGroupResponse. 3487 type DeleteProfilingGroupOutput struct { 3488 _ struct{} `type:"structure" nopayload:"true"` 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". 3496 func (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". 3505 func (s DeleteProfilingGroupOutput) GoString() string { 3506 return s.String() 3507 } 3508 3509 // The structure representing the describeProfilingGroupRequest. 3510 type 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". 3524 func (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". 3533 func (s DescribeProfilingGroupInput) GoString() string { 3534 return s.String() 3535 } 3536 3537 // Validate inspects the fields of the type to determine if they are valid. 3538 func (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. 3554 func (s *DescribeProfilingGroupInput) SetProfilingGroupName(v string) *DescribeProfilingGroupInput { 3555 s.ProfilingGroupName = &v 3556 return s 3557 } 3558 3559 // The structure representing the describeProfilingGroupResponse. 3560 type 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". 3575 func (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". 3584 func (s DescribeProfilingGroupOutput) GoString() string { 3585 return s.String() 3586 } 3587 3588 // SetProfilingGroup sets the ProfilingGroup field's value. 3589 func (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. 3596 type 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". 3624 func (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". 3633 func (s FindingsReportSummary) GoString() string { 3634 return s.String() 3635 } 3636 3637 // SetId sets the Id field's value. 3638 func (s *FindingsReportSummary) SetId(v string) *FindingsReportSummary { 3639 s.Id = &v 3640 return s 3641 } 3642 3643 // SetProfileEndTime sets the ProfileEndTime field's value. 3644 func (s *FindingsReportSummary) SetProfileEndTime(v time.Time) *FindingsReportSummary { 3645 s.ProfileEndTime = &v 3646 return s 3647 } 3648 3649 // SetProfileStartTime sets the ProfileStartTime field's value. 3650 func (s *FindingsReportSummary) SetProfileStartTime(v time.Time) *FindingsReportSummary { 3651 s.ProfileStartTime = &v 3652 return s 3653 } 3654 3655 // SetProfilingGroupName sets the ProfilingGroupName field's value. 3656 func (s *FindingsReportSummary) SetProfilingGroupName(v string) *FindingsReportSummary { 3657 s.ProfilingGroupName = &v 3658 return s 3659 } 3660 3661 // SetTotalNumberOfFindings sets the TotalNumberOfFindings field's value. 3662 func (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. 3669 type 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". 3698 func (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". 3707 func (s FrameMetric) GoString() string { 3708 return s.String() 3709 } 3710 3711 // Validate inspects the fields of the type to determine if they are valid. 3712 func (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. 3731 func (s *FrameMetric) SetFrameName(v string) *FrameMetric { 3732 s.FrameName = &v 3733 return s 3734 } 3735 3736 // SetThreadStates sets the ThreadStates field's value. 3737 func (s *FrameMetric) SetThreadStates(v []*string) *FrameMetric { 3738 s.ThreadStates = v 3739 return s 3740 } 3741 3742 // SetType sets the Type field's value. 3743 func (s *FrameMetric) SetType(v string) *FrameMetric { 3744 s.Type = &v 3745 return s 3746 } 3747 3748 // Information about a frame metric and its values. 3749 type 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". 3769 func (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". 3778 func (s FrameMetricDatum) GoString() string { 3779 return s.String() 3780 } 3781 3782 // SetFrameMetric sets the FrameMetric field's value. 3783 func (s *FrameMetricDatum) SetFrameMetric(v *FrameMetric) *FrameMetricDatum { 3784 s.FrameMetric = v 3785 return s 3786 } 3787 3788 // SetValues sets the Values field's value. 3789 func (s *FrameMetricDatum) SetValues(v []*float64) *FrameMetricDatum { 3790 s.Values = v 3791 return s 3792 } 3793 3794 // The structure representing the GetFindingsReportAccountSummaryRequest. 3795 type 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". 3827 func (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". 3836 func (s GetFindingsReportAccountSummaryInput) GoString() string { 3837 return s.String() 3838 } 3839 3840 // Validate inspects the fields of the type to determine if they are valid. 3841 func (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. 3857 func (s *GetFindingsReportAccountSummaryInput) SetDailyReportsOnly(v bool) *GetFindingsReportAccountSummaryInput { 3858 s.DailyReportsOnly = &v 3859 return s 3860 } 3861 3862 // SetMaxResults sets the MaxResults field's value. 3863 func (s *GetFindingsReportAccountSummaryInput) SetMaxResults(v int64) *GetFindingsReportAccountSummaryInput { 3864 s.MaxResults = &v 3865 return s 3866 } 3867 3868 // SetNextToken sets the NextToken field's value. 3869 func (s *GetFindingsReportAccountSummaryInput) SetNextToken(v string) *GetFindingsReportAccountSummaryInput { 3870 s.NextToken = &v 3871 return s 3872 } 3873 3874 // The structure representing the GetFindingsReportAccountSummaryResponse. 3875 type 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". 3897 func (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". 3906 func (s GetFindingsReportAccountSummaryOutput) GoString() string { 3907 return s.String() 3908 } 3909 3910 // SetNextToken sets the NextToken field's value. 3911 func (s *GetFindingsReportAccountSummaryOutput) SetNextToken(v string) *GetFindingsReportAccountSummaryOutput { 3912 s.NextToken = &v 3913 return s 3914 } 3915 3916 // SetReportSummaries sets the ReportSummaries field's value. 3917 func (s *GetFindingsReportAccountSummaryOutput) SetReportSummaries(v []*FindingsReportSummary) *GetFindingsReportAccountSummaryOutput { 3918 s.ReportSummaries = v 3919 return s 3920 } 3921 3922 // The structure representing the GetNotificationConfigurationRequest. 3923 type 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". 3938 func (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". 3947 func (s GetNotificationConfigurationInput) GoString() string { 3948 return s.String() 3949 } 3950 3951 // Validate inspects the fields of the type to determine if they are valid. 3952 func (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. 3968 func (s *GetNotificationConfigurationInput) SetProfilingGroupName(v string) *GetNotificationConfigurationInput { 3969 s.ProfilingGroupName = &v 3970 return s 3971 } 3972 3973 // The structure representing the GetNotificationConfigurationResponse. 3974 type 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". 3988 func (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". 3997 func (s GetNotificationConfigurationOutput) GoString() string { 3998 return s.String() 3999 } 4000 4001 // SetNotificationConfiguration sets the NotificationConfiguration field's value. 4002 func (s *GetNotificationConfigurationOutput) SetNotificationConfiguration(v *NotificationConfiguration) *GetNotificationConfigurationOutput { 4003 s.NotificationConfiguration = v 4004 return s 4005 } 4006 4007 // The structure representing the getPolicyRequest. 4008 type 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". 4022 func (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". 4031 func (s GetPolicyInput) GoString() string { 4032 return s.String() 4033 } 4034 4035 // Validate inspects the fields of the type to determine if they are valid. 4036 func (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. 4052 func (s *GetPolicyInput) SetProfilingGroupName(v string) *GetPolicyInput { 4053 s.ProfilingGroupName = &v 4054 return s 4055 } 4056 4057 // The structure representing the getPolicyResponse. 4058 type 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". 4077 func (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". 4086 func (s GetPolicyOutput) GoString() string { 4087 return s.String() 4088 } 4089 4090 // SetPolicy sets the Policy field's value. 4091 func (s *GetPolicyOutput) SetPolicy(v string) *GetPolicyOutput { 4092 s.Policy = &v 4093 return s 4094 } 4095 4096 // SetRevisionId sets the RevisionId field's value. 4097 func (s *GetPolicyOutput) SetRevisionId(v string) *GetPolicyOutput { 4098 s.RevisionId = &v 4099 return s 4100 } 4101 4102 // The structure representing the getProfileRequest. 4103 type 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". 4157 func (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". 4166 func (s GetProfileInput) GoString() string { 4167 return s.String() 4168 } 4169 4170 // Validate inspects the fields of the type to determine if they are valid. 4171 func (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. 4193 func (s *GetProfileInput) SetAccept(v string) *GetProfileInput { 4194 s.Accept = &v 4195 return s 4196 } 4197 4198 // SetEndTime sets the EndTime field's value. 4199 func (s *GetProfileInput) SetEndTime(v time.Time) *GetProfileInput { 4200 s.EndTime = &v 4201 return s 4202 } 4203 4204 // SetMaxDepth sets the MaxDepth field's value. 4205 func (s *GetProfileInput) SetMaxDepth(v int64) *GetProfileInput { 4206 s.MaxDepth = &v 4207 return s 4208 } 4209 4210 // SetPeriod sets the Period field's value. 4211 func (s *GetProfileInput) SetPeriod(v string) *GetProfileInput { 4212 s.Period = &v 4213 return s 4214 } 4215 4216 // SetProfilingGroupName sets the ProfilingGroupName field's value. 4217 func (s *GetProfileInput) SetProfilingGroupName(v string) *GetProfileInput { 4218 s.ProfilingGroupName = &v 4219 return s 4220 } 4221 4222 // SetStartTime sets the StartTime field's value. 4223 func (s *GetProfileInput) SetStartTime(v time.Time) *GetProfileInput { 4224 s.StartTime = &v 4225 return s 4226 } 4227 4228 // The structure representing the getProfileResponse. 4229 type 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". 4252 func (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". 4261 func (s GetProfileOutput) GoString() string { 4262 return s.String() 4263 } 4264 4265 // SetContentEncoding sets the ContentEncoding field's value. 4266 func (s *GetProfileOutput) SetContentEncoding(v string) *GetProfileOutput { 4267 s.ContentEncoding = &v 4268 return s 4269 } 4270 4271 // SetContentType sets the ContentType field's value. 4272 func (s *GetProfileOutput) SetContentType(v string) *GetProfileOutput { 4273 s.ContentType = &v 4274 return s 4275 } 4276 4277 // SetProfile sets the Profile field's value. 4278 func (s *GetProfileOutput) SetProfile(v []byte) *GetProfileOutput { 4279 s.Profile = v 4280 return s 4281 } 4282 4283 // The structure representing the GetRecommendationsRequest. 4284 type 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". 4340 func (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". 4349 func (s GetRecommendationsInput) GoString() string { 4350 return s.String() 4351 } 4352 4353 // Validate inspects the fields of the type to determine if they are valid. 4354 func (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. 4376 func (s *GetRecommendationsInput) SetEndTime(v time.Time) *GetRecommendationsInput { 4377 s.EndTime = &v 4378 return s 4379 } 4380 4381 // SetLocale sets the Locale field's value. 4382 func (s *GetRecommendationsInput) SetLocale(v string) *GetRecommendationsInput { 4383 s.Locale = &v 4384 return s 4385 } 4386 4387 // SetProfilingGroupName sets the ProfilingGroupName field's value. 4388 func (s *GetRecommendationsInput) SetProfilingGroupName(v string) *GetRecommendationsInput { 4389 s.ProfilingGroupName = &v 4390 return s 4391 } 4392 4393 // SetStartTime sets the StartTime field's value. 4394 func (s *GetRecommendationsInput) SetStartTime(v time.Time) *GetRecommendationsInput { 4395 s.StartTime = &v 4396 return s 4397 } 4398 4399 // The structure representing the GetRecommendationsResponse. 4400 type 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". 4438 func (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". 4447 func (s GetRecommendationsOutput) GoString() string { 4448 return s.String() 4449 } 4450 4451 // SetAnomalies sets the Anomalies field's value. 4452 func (s *GetRecommendationsOutput) SetAnomalies(v []*Anomaly) *GetRecommendationsOutput { 4453 s.Anomalies = v 4454 return s 4455 } 4456 4457 // SetProfileEndTime sets the ProfileEndTime field's value. 4458 func (s *GetRecommendationsOutput) SetProfileEndTime(v time.Time) *GetRecommendationsOutput { 4459 s.ProfileEndTime = &v 4460 return s 4461 } 4462 4463 // SetProfileStartTime sets the ProfileStartTime field's value. 4464 func (s *GetRecommendationsOutput) SetProfileStartTime(v time.Time) *GetRecommendationsOutput { 4465 s.ProfileStartTime = &v 4466 return s 4467 } 4468 4469 // SetProfilingGroupName sets the ProfilingGroupName field's value. 4470 func (s *GetRecommendationsOutput) SetProfilingGroupName(v string) *GetRecommendationsOutput { 4471 s.ProfilingGroupName = &v 4472 return s 4473 } 4474 4475 // SetRecommendations sets the Recommendations field's value. 4476 func (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. 4482 type 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". 4494 func (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". 4503 func (s InternalServerException) GoString() string { 4504 return s.String() 4505 } 4506 4507 func newErrorInternalServerException(v protocol.ResponseMetadata) error { 4508 return &InternalServerException{ 4509 RespMetadata: v, 4510 } 4511 } 4512 4513 // Code returns the exception type name. 4514 func (s *InternalServerException) Code() string { 4515 return "InternalServerException" 4516 } 4517 4518 // Message returns the exception's message. 4519 func (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. 4527 func (s *InternalServerException) OrigErr() error { 4528 return nil 4529 } 4530 4531 func (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. 4536 func (s *InternalServerException) StatusCode() int { 4537 return s.RespMetadata.StatusCode 4538 } 4539 4540 // RequestID returns the service's response RequestID for request. 4541 func (s *InternalServerException) RequestID() string { 4542 return s.RespMetadata.RequestID 4543 } 4544 4545 // The structure representing the ListFindingsReportsRequest. 4546 type 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". 4598 func (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". 4607 func (s ListFindingsReportsInput) GoString() string { 4608 return s.String() 4609 } 4610 4611 // Validate inspects the fields of the type to determine if they are valid. 4612 func (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. 4640 func (s *ListFindingsReportsInput) SetDailyReportsOnly(v bool) *ListFindingsReportsInput { 4641 s.DailyReportsOnly = &v 4642 return s 4643 } 4644 4645 // SetEndTime sets the EndTime field's value. 4646 func (s *ListFindingsReportsInput) SetEndTime(v time.Time) *ListFindingsReportsInput { 4647 s.EndTime = &v 4648 return s 4649 } 4650 4651 // SetMaxResults sets the MaxResults field's value. 4652 func (s *ListFindingsReportsInput) SetMaxResults(v int64) *ListFindingsReportsInput { 4653 s.MaxResults = &v 4654 return s 4655 } 4656 4657 // SetNextToken sets the NextToken field's value. 4658 func (s *ListFindingsReportsInput) SetNextToken(v string) *ListFindingsReportsInput { 4659 s.NextToken = &v 4660 return s 4661 } 4662 4663 // SetProfilingGroupName sets the ProfilingGroupName field's value. 4664 func (s *ListFindingsReportsInput) SetProfilingGroupName(v string) *ListFindingsReportsInput { 4665 s.ProfilingGroupName = &v 4666 return s 4667 } 4668 4669 // SetStartTime sets the StartTime field's value. 4670 func (s *ListFindingsReportsInput) SetStartTime(v time.Time) *ListFindingsReportsInput { 4671 s.StartTime = &v 4672 return s 4673 } 4674 4675 // The structure representing the ListFindingsReportsResponse. 4676 type 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". 4696 func (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". 4705 func (s ListFindingsReportsOutput) GoString() string { 4706 return s.String() 4707 } 4708 4709 // SetFindingsReportSummaries sets the FindingsReportSummaries field's value. 4710 func (s *ListFindingsReportsOutput) SetFindingsReportSummaries(v []*FindingsReportSummary) *ListFindingsReportsOutput { 4711 s.FindingsReportSummaries = v 4712 return s 4713 } 4714 4715 // SetNextToken sets the NextToken field's value. 4716 func (s *ListFindingsReportsOutput) SetNextToken(v string) *ListFindingsReportsOutput { 4717 s.NextToken = &v 4718 return s 4719 } 4720 4721 // The structure representing the listProfileTimesRequest. 4722 type 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". 4779 func (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". 4788 func (s ListProfileTimesInput) GoString() string { 4789 return s.String() 4790 } 4791 4792 // Validate inspects the fields of the type to determine if they are valid. 4793 func (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. 4824 func (s *ListProfileTimesInput) SetEndTime(v time.Time) *ListProfileTimesInput { 4825 s.EndTime = &v 4826 return s 4827 } 4828 4829 // SetMaxResults sets the MaxResults field's value. 4830 func (s *ListProfileTimesInput) SetMaxResults(v int64) *ListProfileTimesInput { 4831 s.MaxResults = &v 4832 return s 4833 } 4834 4835 // SetNextToken sets the NextToken field's value. 4836 func (s *ListProfileTimesInput) SetNextToken(v string) *ListProfileTimesInput { 4837 s.NextToken = &v 4838 return s 4839 } 4840 4841 // SetOrderBy sets the OrderBy field's value. 4842 func (s *ListProfileTimesInput) SetOrderBy(v string) *ListProfileTimesInput { 4843 s.OrderBy = &v 4844 return s 4845 } 4846 4847 // SetPeriod sets the Period field's value. 4848 func (s *ListProfileTimesInput) SetPeriod(v string) *ListProfileTimesInput { 4849 s.Period = &v 4850 return s 4851 } 4852 4853 // SetProfilingGroupName sets the ProfilingGroupName field's value. 4854 func (s *ListProfileTimesInput) SetProfilingGroupName(v string) *ListProfileTimesInput { 4855 s.ProfilingGroupName = &v 4856 return s 4857 } 4858 4859 // SetStartTime sets the StartTime field's value. 4860 func (s *ListProfileTimesInput) SetStartTime(v time.Time) *ListProfileTimesInput { 4861 s.StartTime = &v 4862 return s 4863 } 4864 4865 // The structure representing the listProfileTimesResponse. 4866 type 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". 4887 func (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". 4896 func (s ListProfileTimesOutput) GoString() string { 4897 return s.String() 4898 } 4899 4900 // SetNextToken sets the NextToken field's value. 4901 func (s *ListProfileTimesOutput) SetNextToken(v string) *ListProfileTimesOutput { 4902 s.NextToken = &v 4903 return s 4904 } 4905 4906 // SetProfileTimes sets the ProfileTimes field's value. 4907 func (s *ListProfileTimesOutput) SetProfileTimes(v []*ProfileTime) *ListProfileTimesOutput { 4908 s.ProfileTimes = v 4909 return s 4910 } 4911 4912 // The structure representing the listProfilingGroupsRequest. 4913 type 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". 4944 func (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". 4953 func (s ListProfilingGroupsInput) GoString() string { 4954 return s.String() 4955 } 4956 4957 // Validate inspects the fields of the type to determine if they are valid. 4958 func (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. 4974 func (s *ListProfilingGroupsInput) SetIncludeDescription(v bool) *ListProfilingGroupsInput { 4975 s.IncludeDescription = &v 4976 return s 4977 } 4978 4979 // SetMaxResults sets the MaxResults field's value. 4980 func (s *ListProfilingGroupsInput) SetMaxResults(v int64) *ListProfilingGroupsInput { 4981 s.MaxResults = &v 4982 return s 4983 } 4984 4985 // SetNextToken sets the NextToken field's value. 4986 func (s *ListProfilingGroupsInput) SetNextToken(v string) *ListProfilingGroupsInput { 4987 s.NextToken = &v 4988 return s 4989 } 4990 4991 // The structure representing the listProfilingGroupsResponse. 4992 type 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". 5021 func (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". 5030 func (s ListProfilingGroupsOutput) GoString() string { 5031 return s.String() 5032 } 5033 5034 // SetNextToken sets the NextToken field's value. 5035 func (s *ListProfilingGroupsOutput) SetNextToken(v string) *ListProfilingGroupsOutput { 5036 s.NextToken = &v 5037 return s 5038 } 5039 5040 // SetProfilingGroupNames sets the ProfilingGroupNames field's value. 5041 func (s *ListProfilingGroupsOutput) SetProfilingGroupNames(v []*string) *ListProfilingGroupsOutput { 5042 s.ProfilingGroupNames = v 5043 return s 5044 } 5045 5046 // SetProfilingGroups sets the ProfilingGroups field's value. 5047 func (s *ListProfilingGroupsOutput) SetProfilingGroups(v []*ProfilingGroupDescription) *ListProfilingGroupsOutput { 5048 s.ProfilingGroups = v 5049 return s 5050 } 5051 5052 type 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". 5067 func (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". 5076 func (s ListTagsForResourceInput) GoString() string { 5077 return s.String() 5078 } 5079 5080 // Validate inspects the fields of the type to determine if they are valid. 5081 func (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. 5097 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 5098 s.ResourceArn = &v 5099 return s 5100 } 5101 5102 type 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". 5115 func (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". 5124 func (s ListTagsForResourceOutput) GoString() string { 5125 return s.String() 5126 } 5127 5128 // SetTags sets the Tags field's value. 5129 func (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. 5135 type 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". 5154 func (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". 5163 func (s Match) GoString() string { 5164 return s.String() 5165 } 5166 5167 // SetFrameAddress sets the FrameAddress field's value. 5168 func (s *Match) SetFrameAddress(v string) *Match { 5169 s.FrameAddress = &v 5170 return s 5171 } 5172 5173 // SetTargetFramesIndex sets the TargetFramesIndex field's value. 5174 func (s *Match) SetTargetFramesIndex(v int64) *Match { 5175 s.TargetFramesIndex = &v 5176 return s 5177 } 5178 5179 // SetThresholdBreachValue sets the ThresholdBreachValue field's value. 5180 func (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. 5189 type 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". 5216 func (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". 5225 func (s Metric) GoString() string { 5226 return s.String() 5227 } 5228 5229 // SetFrameName sets the FrameName field's value. 5230 func (s *Metric) SetFrameName(v string) *Metric { 5231 s.FrameName = &v 5232 return s 5233 } 5234 5235 // SetThreadStates sets the ThreadStates field's value. 5236 func (s *Metric) SetThreadStates(v []*string) *Metric { 5237 s.ThreadStates = v 5238 return s 5239 } 5240 5241 // SetType sets the Type field's value. 5242 func (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. 5250 type 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". 5263 func (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". 5272 func (s NotificationConfiguration) GoString() string { 5273 return s.String() 5274 } 5275 5276 // SetChannels sets the Channels field's value. 5277 func (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. 5283 type 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". 5317 func (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". 5326 func (s Pattern) GoString() string { 5327 return s.String() 5328 } 5329 5330 // SetCountersToAggregate sets the CountersToAggregate field's value. 5331 func (s *Pattern) SetCountersToAggregate(v []*string) *Pattern { 5332 s.CountersToAggregate = v 5333 return s 5334 } 5335 5336 // SetDescription sets the Description field's value. 5337 func (s *Pattern) SetDescription(v string) *Pattern { 5338 s.Description = &v 5339 return s 5340 } 5341 5342 // SetId sets the Id field's value. 5343 func (s *Pattern) SetId(v string) *Pattern { 5344 s.Id = &v 5345 return s 5346 } 5347 5348 // SetName sets the Name field's value. 5349 func (s *Pattern) SetName(v string) *Pattern { 5350 s.Name = &v 5351 return s 5352 } 5353 5354 // SetResolutionSteps sets the ResolutionSteps field's value. 5355 func (s *Pattern) SetResolutionSteps(v string) *Pattern { 5356 s.ResolutionSteps = &v 5357 return s 5358 } 5359 5360 // SetTargetFrames sets the TargetFrames field's value. 5361 func (s *Pattern) SetTargetFrames(v [][]*string) *Pattern { 5362 s.TargetFrames = v 5363 return s 5364 } 5365 5366 // SetThresholdPercent sets the ThresholdPercent field's value. 5367 func (s *Pattern) SetThresholdPercent(v float64) *Pattern { 5368 s.ThresholdPercent = &v 5369 return s 5370 } 5371 5372 // The structure representing the postAgentProfileRequest. 5373 type 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". 5410 func (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". 5419 func (s PostAgentProfileInput) GoString() string { 5420 return s.String() 5421 } 5422 5423 // Validate inspects the fields of the type to determine if they are valid. 5424 func (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. 5449 func (s *PostAgentProfileInput) SetAgentProfile(v []byte) *PostAgentProfileInput { 5450 s.AgentProfile = v 5451 return s 5452 } 5453 5454 // SetContentType sets the ContentType field's value. 5455 func (s *PostAgentProfileInput) SetContentType(v string) *PostAgentProfileInput { 5456 s.ContentType = &v 5457 return s 5458 } 5459 5460 // SetProfileToken sets the ProfileToken field's value. 5461 func (s *PostAgentProfileInput) SetProfileToken(v string) *PostAgentProfileInput { 5462 s.ProfileToken = &v 5463 return s 5464 } 5465 5466 // SetProfilingGroupName sets the ProfilingGroupName field's value. 5467 func (s *PostAgentProfileInput) SetProfilingGroupName(v string) *PostAgentProfileInput { 5468 s.ProfilingGroupName = &v 5469 return s 5470 } 5471 5472 // The structure representing the postAgentProfileResponse. 5473 type PostAgentProfileOutput struct { 5474 _ struct{} `type:"structure" nopayload:"true"` 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". 5482 func (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". 5491 func (s PostAgentProfileOutput) GoString() string { 5492 return s.String() 5493 } 5494 5495 // Contains the start time of a profile. 5496 type 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". 5510 func (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". 5519 func (s ProfileTime) GoString() string { 5520 return s.String() 5521 } 5522 5523 // SetStart sets the Start field's value. 5524 func (s *ProfileTime) SetStart(v time.Time) *ProfileTime { 5525 s.Start = &v 5526 return s 5527 } 5528 5529 // Contains information about a profiling group. 5530 type 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". 5575 func (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". 5584 func (s ProfilingGroupDescription) GoString() string { 5585 return s.String() 5586 } 5587 5588 // SetAgentOrchestrationConfig sets the AgentOrchestrationConfig field's value. 5589 func (s *ProfilingGroupDescription) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *ProfilingGroupDescription { 5590 s.AgentOrchestrationConfig = v 5591 return s 5592 } 5593 5594 // SetArn sets the Arn field's value. 5595 func (s *ProfilingGroupDescription) SetArn(v string) *ProfilingGroupDescription { 5596 s.Arn = &v 5597 return s 5598 } 5599 5600 // SetComputePlatform sets the ComputePlatform field's value. 5601 func (s *ProfilingGroupDescription) SetComputePlatform(v string) *ProfilingGroupDescription { 5602 s.ComputePlatform = &v 5603 return s 5604 } 5605 5606 // SetCreatedAt sets the CreatedAt field's value. 5607 func (s *ProfilingGroupDescription) SetCreatedAt(v time.Time) *ProfilingGroupDescription { 5608 s.CreatedAt = &v 5609 return s 5610 } 5611 5612 // SetName sets the Name field's value. 5613 func (s *ProfilingGroupDescription) SetName(v string) *ProfilingGroupDescription { 5614 s.Name = &v 5615 return s 5616 } 5617 5618 // SetProfilingStatus sets the ProfilingStatus field's value. 5619 func (s *ProfilingGroupDescription) SetProfilingStatus(v *ProfilingStatus) *ProfilingGroupDescription { 5620 s.ProfilingStatus = v 5621 return s 5622 } 5623 5624 // SetTags sets the Tags field's value. 5625 func (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. 5631 func (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. 5639 type 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". 5663 func (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". 5672 func (s ProfilingStatus) GoString() string { 5673 return s.String() 5674 } 5675 5676 // SetLatestAgentOrchestratedAt sets the LatestAgentOrchestratedAt field's value. 5677 func (s *ProfilingStatus) SetLatestAgentOrchestratedAt(v time.Time) *ProfilingStatus { 5678 s.LatestAgentOrchestratedAt = &v 5679 return s 5680 } 5681 5682 // SetLatestAgentProfileReportedAt sets the LatestAgentProfileReportedAt field's value. 5683 func (s *ProfilingStatus) SetLatestAgentProfileReportedAt(v time.Time) *ProfilingStatus { 5684 s.LatestAgentProfileReportedAt = &v 5685 return s 5686 } 5687 5688 // SetLatestAggregatedProfile sets the LatestAggregatedProfile field's value. 5689 func (s *ProfilingStatus) SetLatestAggregatedProfile(v *AggregatedProfileTime) *ProfilingStatus { 5690 s.LatestAggregatedProfile = v 5691 return s 5692 } 5693 5694 // The structure representing the putPermissionRequest. 5695 type 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". 5729 func (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". 5738 func (s PutPermissionInput) GoString() string { 5739 return s.String() 5740 } 5741 5742 // Validate inspects the fields of the type to determine if they are valid. 5743 func (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. 5771 func (s *PutPermissionInput) SetActionGroup(v string) *PutPermissionInput { 5772 s.ActionGroup = &v 5773 return s 5774 } 5775 5776 // SetPrincipals sets the Principals field's value. 5777 func (s *PutPermissionInput) SetPrincipals(v []*string) *PutPermissionInput { 5778 s.Principals = v 5779 return s 5780 } 5781 5782 // SetProfilingGroupName sets the ProfilingGroupName field's value. 5783 func (s *PutPermissionInput) SetProfilingGroupName(v string) *PutPermissionInput { 5784 s.ProfilingGroupName = &v 5785 return s 5786 } 5787 5788 // SetRevisionId sets the RevisionId field's value. 5789 func (s *PutPermissionInput) SetRevisionId(v string) *PutPermissionInput { 5790 s.RevisionId = &v 5791 return s 5792 } 5793 5794 // The structure representing the putPermissionResponse. 5795 type 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". 5817 func (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". 5826 func (s PutPermissionOutput) GoString() string { 5827 return s.String() 5828 } 5829 5830 // SetPolicy sets the Policy field's value. 5831 func (s *PutPermissionOutput) SetPolicy(v string) *PutPermissionOutput { 5832 s.Policy = &v 5833 return s 5834 } 5835 5836 // SetRevisionId sets the RevisionId field's value. 5837 func (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. 5843 type 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". 5886 func (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". 5895 func (s Recommendation) GoString() string { 5896 return s.String() 5897 } 5898 5899 // SetAllMatchesCount sets the AllMatchesCount field's value. 5900 func (s *Recommendation) SetAllMatchesCount(v int64) *Recommendation { 5901 s.AllMatchesCount = &v 5902 return s 5903 } 5904 5905 // SetAllMatchesSum sets the AllMatchesSum field's value. 5906 func (s *Recommendation) SetAllMatchesSum(v float64) *Recommendation { 5907 s.AllMatchesSum = &v 5908 return s 5909 } 5910 5911 // SetEndTime sets the EndTime field's value. 5912 func (s *Recommendation) SetEndTime(v time.Time) *Recommendation { 5913 s.EndTime = &v 5914 return s 5915 } 5916 5917 // SetPattern sets the Pattern field's value. 5918 func (s *Recommendation) SetPattern(v *Pattern) *Recommendation { 5919 s.Pattern = v 5920 return s 5921 } 5922 5923 // SetStartTime sets the StartTime field's value. 5924 func (s *Recommendation) SetStartTime(v time.Time) *Recommendation { 5925 s.StartTime = &v 5926 return s 5927 } 5928 5929 // SetTopMatches sets the TopMatches field's value. 5930 func (s *Recommendation) SetTopMatches(v []*Match) *Recommendation { 5931 s.TopMatches = v 5932 return s 5933 } 5934 5935 // The structure representing the RemoveNotificationChannelRequest. 5936 type 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". 5956 func (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". 5965 func (s RemoveNotificationChannelInput) GoString() string { 5966 return s.String() 5967 } 5968 5969 // Validate inspects the fields of the type to determine if they are valid. 5970 func (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. 5992 func (s *RemoveNotificationChannelInput) SetChannelId(v string) *RemoveNotificationChannelInput { 5993 s.ChannelId = &v 5994 return s 5995 } 5996 5997 // SetProfilingGroupName sets the ProfilingGroupName field's value. 5998 func (s *RemoveNotificationChannelInput) SetProfilingGroupName(v string) *RemoveNotificationChannelInput { 5999 s.ProfilingGroupName = &v 6000 return s 6001 } 6002 6003 // The structure representing the RemoveNotificationChannelResponse. 6004 type 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". 6016 func (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". 6025 func (s RemoveNotificationChannelOutput) GoString() string { 6026 return s.String() 6027 } 6028 6029 // SetNotificationConfiguration sets the NotificationConfiguration field's value. 6030 func (s *RemoveNotificationChannelOutput) SetNotificationConfiguration(v *NotificationConfiguration) *RemoveNotificationChannelOutput { 6031 s.NotificationConfiguration = v 6032 return s 6033 } 6034 6035 type 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". 6062 func (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". 6071 func (s RemovePermissionInput) GoString() string { 6072 return s.String() 6073 } 6074 6075 // Validate inspects the fields of the type to determine if they are valid. 6076 func (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. 6101 func (s *RemovePermissionInput) SetActionGroup(v string) *RemovePermissionInput { 6102 s.ActionGroup = &v 6103 return s 6104 } 6105 6106 // SetProfilingGroupName sets the ProfilingGroupName field's value. 6107 func (s *RemovePermissionInput) SetProfilingGroupName(v string) *RemovePermissionInput { 6108 s.ProfilingGroupName = &v 6109 return s 6110 } 6111 6112 // SetRevisionId sets the RevisionId field's value. 6113 func (s *RemovePermissionInput) SetRevisionId(v string) *RemovePermissionInput { 6114 s.RevisionId = &v 6115 return s 6116 } 6117 6118 // The structure representing the removePermissionResponse. 6119 type 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". 6141 func (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". 6150 func (s RemovePermissionOutput) GoString() string { 6151 return s.String() 6152 } 6153 6154 // SetPolicy sets the Policy field's value. 6155 func (s *RemovePermissionOutput) SetPolicy(v string) *RemovePermissionOutput { 6156 s.Policy = &v 6157 return s 6158 } 6159 6160 // SetRevisionId sets the RevisionId field's value. 6161 func (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. 6167 type 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". 6179 func (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". 6188 func (s ResourceNotFoundException) GoString() string { 6189 return s.String() 6190 } 6191 6192 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 6193 return &ResourceNotFoundException{ 6194 RespMetadata: v, 6195 } 6196 } 6197 6198 // Code returns the exception type name. 6199 func (s *ResourceNotFoundException) Code() string { 6200 return "ResourceNotFoundException" 6201 } 6202 6203 // Message returns the exception's message. 6204 func (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. 6212 func (s *ResourceNotFoundException) OrigErr() error { 6213 return nil 6214 } 6215 6216 func (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. 6221 func (s *ResourceNotFoundException) StatusCode() int { 6222 return s.RespMetadata.StatusCode 6223 } 6224 6225 // RequestID returns the service's response RequestID for request. 6226 func (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. 6233 type 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". 6245 func (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". 6254 func (s ServiceQuotaExceededException) GoString() string { 6255 return s.String() 6256 } 6257 6258 func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 6259 return &ServiceQuotaExceededException{ 6260 RespMetadata: v, 6261 } 6262 } 6263 6264 // Code returns the exception type name. 6265 func (s *ServiceQuotaExceededException) Code() string { 6266 return "ServiceQuotaExceededException" 6267 } 6268 6269 // Message returns the exception's message. 6270 func (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. 6278 func (s *ServiceQuotaExceededException) OrigErr() error { 6279 return nil 6280 } 6281 6282 func (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. 6287 func (s *ServiceQuotaExceededException) StatusCode() int { 6288 return s.RespMetadata.StatusCode 6289 } 6290 6291 // RequestID returns the service's response RequestID for request. 6292 func (s *ServiceQuotaExceededException) RequestID() string { 6293 return s.RespMetadata.RequestID 6294 } 6295 6296 // The structure representing the SubmitFeedbackRequest. 6297 type 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". 6325 func (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". 6334 func (s SubmitFeedbackInput) GoString() string { 6335 return s.String() 6336 } 6337 6338 // Validate inspects the fields of the type to determine if they are valid. 6339 func (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. 6364 func (s *SubmitFeedbackInput) SetAnomalyInstanceId(v string) *SubmitFeedbackInput { 6365 s.AnomalyInstanceId = &v 6366 return s 6367 } 6368 6369 // SetComment sets the Comment field's value. 6370 func (s *SubmitFeedbackInput) SetComment(v string) *SubmitFeedbackInput { 6371 s.Comment = &v 6372 return s 6373 } 6374 6375 // SetProfilingGroupName sets the ProfilingGroupName field's value. 6376 func (s *SubmitFeedbackInput) SetProfilingGroupName(v string) *SubmitFeedbackInput { 6377 s.ProfilingGroupName = &v 6378 return s 6379 } 6380 6381 // SetType sets the Type field's value. 6382 func (s *SubmitFeedbackInput) SetType(v string) *SubmitFeedbackInput { 6383 s.Type = &v 6384 return s 6385 } 6386 6387 // The structure representing the SubmitFeedbackResponse. 6388 type SubmitFeedbackOutput struct { 6389 _ struct{} `type:"structure" nopayload:"true"` 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". 6397 func (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". 6406 func (s SubmitFeedbackOutput) GoString() string { 6407 return s.String() 6408 } 6409 6410 type 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". 6429 func (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". 6438 func (s TagResourceInput) GoString() string { 6439 return s.String() 6440 } 6441 6442 // Validate inspects the fields of the type to determine if they are valid. 6443 func (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. 6462 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 6463 s.ResourceArn = &v 6464 return s 6465 } 6466 6467 // SetTags sets the Tags field's value. 6468 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 6469 s.Tags = v 6470 return s 6471 } 6472 6473 type TagResourceOutput struct { 6474 _ struct{} `type:"structure" nopayload:"true"` 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". 6482 func (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". 6491 func (s TagResourceOutput) GoString() string { 6492 return s.String() 6493 } 6494 6495 // The request was denied due to request throttling. 6496 type 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". 6508 func (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". 6517 func (s ThrottlingException) GoString() string { 6518 return s.String() 6519 } 6520 6521 func newErrorThrottlingException(v protocol.ResponseMetadata) error { 6522 return &ThrottlingException{ 6523 RespMetadata: v, 6524 } 6525 } 6526 6527 // Code returns the exception type name. 6528 func (s *ThrottlingException) Code() string { 6529 return "ThrottlingException" 6530 } 6531 6532 // Message returns the exception's message. 6533 func (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. 6541 func (s *ThrottlingException) OrigErr() error { 6542 return nil 6543 } 6544 6545 func (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. 6550 func (s *ThrottlingException) StatusCode() int { 6551 return s.RespMetadata.StatusCode 6552 } 6553 6554 // RequestID returns the service's response RequestID for request. 6555 func (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. 6562 type 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". 6577 func (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". 6586 func (s TimestampStructure) GoString() string { 6587 return s.String() 6588 } 6589 6590 // SetValue sets the Value field's value. 6591 func (s *TimestampStructure) SetValue(v time.Time) *TimestampStructure { 6592 s.Value = &v 6593 return s 6594 } 6595 6596 type 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". 6617 func (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". 6626 func (s UntagResourceInput) GoString() string { 6627 return s.String() 6628 } 6629 6630 // Validate inspects the fields of the type to determine if they are valid. 6631 func (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. 6650 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 6651 s.ResourceArn = &v 6652 return s 6653 } 6654 6655 // SetTagKeys sets the TagKeys field's value. 6656 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 6657 s.TagKeys = v 6658 return s 6659 } 6660 6661 type UntagResourceOutput struct { 6662 _ struct{} `type:"structure" nopayload:"true"` 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". 6670 func (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". 6679 func (s UntagResourceOutput) GoString() string { 6680 return s.String() 6681 } 6682 6683 // The structure representing the updateProfilingGroupRequest. 6684 type 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". 6703 func (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". 6712 func (s UpdateProfilingGroupInput) GoString() string { 6713 return s.String() 6714 } 6715 6716 // Validate inspects the fields of the type to determine if they are valid. 6717 func (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. 6741 func (s *UpdateProfilingGroupInput) SetAgentOrchestrationConfig(v *AgentOrchestrationConfig) *UpdateProfilingGroupInput { 6742 s.AgentOrchestrationConfig = v 6743 return s 6744 } 6745 6746 // SetProfilingGroupName sets the ProfilingGroupName field's value. 6747 func (s *UpdateProfilingGroupInput) SetProfilingGroupName(v string) *UpdateProfilingGroupInput { 6748 s.ProfilingGroupName = &v 6749 return s 6750 } 6751 6752 // The structure representing the updateProfilingGroupResponse. 6753 type 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". 6768 func (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". 6777 func (s UpdateProfilingGroupOutput) GoString() string { 6778 return s.String() 6779 } 6780 6781 // SetProfilingGroup sets the ProfilingGroup field's value. 6782 func (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. 6790 type 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". 6805 func (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". 6814 func (s UserFeedback) GoString() string { 6815 return s.String() 6816 } 6817 6818 // SetType sets the Type field's value. 6819 func (s *UserFeedback) SetType(v string) *UserFeedback { 6820 s.Type = &v 6821 return s 6822 } 6823 6824 // The parameter is not valid. 6825 type 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". 6837 func (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". 6846 func (s ValidationException) GoString() string { 6847 return s.String() 6848 } 6849 6850 func newErrorValidationException(v protocol.ResponseMetadata) error { 6851 return &ValidationException{ 6852 RespMetadata: v, 6853 } 6854 } 6855 6856 // Code returns the exception type name. 6857 func (s *ValidationException) Code() string { 6858 return "ValidationException" 6859 } 6860 6861 // Message returns the exception's message. 6862 func (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. 6870 func (s *ValidationException) OrigErr() error { 6871 return nil 6872 } 6873 6874 func (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. 6879 func (s *ValidationException) StatusCode() int { 6880 return s.RespMetadata.StatusCode 6881 } 6882 6883 // RequestID returns the service's response RequestID for request. 6884 func (s *ValidationException) RequestID() string { 6885 return s.RespMetadata.RequestID 6886 } 6887 6888 const ( 6889 // ActionGroupAgentPermissions is a ActionGroup enum value 6890 ActionGroupAgentPermissions = "agentPermissions" 6891 ) 6892 6893 // ActionGroup_Values returns all elements of the ActionGroup enum 6894 func ActionGroup_Values() []string { 6895 return []string{ 6896 ActionGroupAgentPermissions, 6897 } 6898 } 6899 6900 const ( 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 6918 func AgentParameterField_Values() []string { 6919 return []string{ 6920 AgentParameterFieldSamplingIntervalInMilliseconds, 6921 AgentParameterFieldReportingIntervalInMilliseconds, 6922 AgentParameterFieldMinimumTimeForReportingInMilliseconds, 6923 AgentParameterFieldMemoryUsageLimitPercent, 6924 AgentParameterFieldMaxStackDepth, 6925 } 6926 } 6927 6928 const ( 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 6940 func AggregationPeriod_Values() []string { 6941 return []string{ 6942 AggregationPeriodPt5m, 6943 AggregationPeriodPt1h, 6944 AggregationPeriodP1d, 6945 } 6946 } 6947 6948 const ( 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 6957 func ComputePlatform_Values() []string { 6958 return []string{ 6959 ComputePlatformDefault, 6960 ComputePlatformAwslambda, 6961 } 6962 } 6963 6964 const ( 6965 // EventPublisherAnomalyDetection is a EventPublisher enum value 6966 EventPublisherAnomalyDetection = "AnomalyDetection" 6967 ) 6968 6969 // EventPublisher_Values returns all elements of the EventPublisher enum 6970 func EventPublisher_Values() []string { 6971 return []string{ 6972 EventPublisherAnomalyDetection, 6973 } 6974 } 6975 6976 const ( 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 6985 func FeedbackType_Values() []string { 6986 return []string{ 6987 FeedbackTypePositive, 6988 FeedbackTypeNegative, 6989 } 6990 } 6991 6992 const ( 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 7022 func 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 7036 const ( 7037 // MetricTypeAggregatedRelativeTotalTime is a MetricType enum value 7038 MetricTypeAggregatedRelativeTotalTime = "AggregatedRelativeTotalTime" 7039 ) 7040 7041 // MetricType_Values returns all elements of the MetricType enum 7042 func MetricType_Values() []string { 7043 return []string{ 7044 MetricTypeAggregatedRelativeTotalTime, 7045 } 7046 } 7047 7048 const ( 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 7057 func OrderBy_Values() []string { 7058 return []string{ 7059 OrderByTimestampDescending, 7060 OrderByTimestampAscending, 7061 } 7062 }