github.com/aavshr/aws-sdk-go@v1.41.3/service/detective/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package detective 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 opAcceptInvitation = "AcceptInvitation" 17 18 // AcceptInvitationRequest generates a "aws/request.Request" representing the 19 // client's request for the AcceptInvitation 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 AcceptInvitation for more information on using the AcceptInvitation 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 AcceptInvitationRequest method. 34 // req, resp := client.AcceptInvitationRequest(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/detective-2018-10-26/AcceptInvitation 42 func (c *Detective) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) { 43 op := &request.Operation{ 44 Name: opAcceptInvitation, 45 HTTPMethod: "PUT", 46 HTTPPath: "/invitation", 47 } 48 49 if input == nil { 50 input = &AcceptInvitationInput{} 51 } 52 53 output = &AcceptInvitationOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57 } 58 59 // AcceptInvitation API operation for Amazon Detective. 60 // 61 // Accepts an invitation for the member account to contribute data to a behavior 62 // graph. This operation can only be called by an invited member account. 63 // 64 // The request provides the ARN of behavior graph. 65 // 66 // The member account status in the graph must be INVITED. 67 // 68 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 69 // with awserr.Error's Code and Message methods to get detailed information about 70 // the error. 71 // 72 // See the AWS API reference guide for Amazon Detective's 73 // API operation AcceptInvitation for usage and error information. 74 // 75 // Returned Error Types: 76 // * ConflictException 77 // The request attempted an invalid action. 78 // 79 // * InternalServerException 80 // The request was valid but failed because of a problem with the service. 81 // 82 // * ResourceNotFoundException 83 // The request refers to a nonexistent resource. 84 // 85 // * ValidationException 86 // The request parameters are invalid. 87 // 88 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/AcceptInvitation 89 func (c *Detective) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) { 90 req, out := c.AcceptInvitationRequest(input) 91 return out, req.Send() 92 } 93 94 // AcceptInvitationWithContext is the same as AcceptInvitation with the addition of 95 // the ability to pass a context and additional request options. 96 // 97 // See AcceptInvitation for details on how to use this API operation. 98 // 99 // The context must be non-nil and will be used for request cancellation. If 100 // the context is nil a panic will occur. In the future the SDK may create 101 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 102 // for more information on using Contexts. 103 func (c *Detective) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) { 104 req, out := c.AcceptInvitationRequest(input) 105 req.SetContext(ctx) 106 req.ApplyOptions(opts...) 107 return out, req.Send() 108 } 109 110 const opCreateGraph = "CreateGraph" 111 112 // CreateGraphRequest generates a "aws/request.Request" representing the 113 // client's request for the CreateGraph operation. The "output" return 114 // value will be populated with the request's response once the request completes 115 // successfully. 116 // 117 // Use "Send" method on the returned Request to send the API call to the service. 118 // the "output" return value is not valid until after Send returns without error. 119 // 120 // See CreateGraph for more information on using the CreateGraph 121 // API call, and error handling. 122 // 123 // This method is useful when you want to inject custom logic or configuration 124 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 125 // 126 // 127 // // Example sending a request using the CreateGraphRequest method. 128 // req, resp := client.CreateGraphRequest(params) 129 // 130 // err := req.Send() 131 // if err == nil { // resp is now filled 132 // fmt.Println(resp) 133 // } 134 // 135 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateGraph 136 func (c *Detective) CreateGraphRequest(input *CreateGraphInput) (req *request.Request, output *CreateGraphOutput) { 137 op := &request.Operation{ 138 Name: opCreateGraph, 139 HTTPMethod: "POST", 140 HTTPPath: "/graph", 141 } 142 143 if input == nil { 144 input = &CreateGraphInput{} 145 } 146 147 output = &CreateGraphOutput{} 148 req = c.newRequest(op, input, output) 149 return 150 } 151 152 // CreateGraph API operation for Amazon Detective. 153 // 154 // Creates a new behavior graph for the calling account, and sets that account 155 // as the administrator account. This operation is called by the account that 156 // is enabling Detective. 157 // 158 // Before you try to enable Detective, make sure that your account has been 159 // enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this 160 // requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite, 161 // then when you make the request to enable Detective, it checks whether your 162 // data volume is within the Detective quota. If it exceeds the quota, then 163 // you cannot enable Detective. 164 // 165 // The operation also enables Detective for the calling account in the currently 166 // selected Region. It returns the ARN of the new behavior graph. 167 // 168 // CreateGraph triggers a process to create the corresponding data tables for 169 // the new behavior graph. 170 // 171 // An account can only be the administrator account for one behavior graph within 172 // a Region. If the same account calls CreateGraph with the same administrator 173 // account, it always returns the same behavior graph ARN. It does not create 174 // a new behavior graph. 175 // 176 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 177 // with awserr.Error's Code and Message methods to get detailed information about 178 // the error. 179 // 180 // See the AWS API reference guide for Amazon Detective's 181 // API operation CreateGraph for usage and error information. 182 // 183 // Returned Error Types: 184 // * ConflictException 185 // The request attempted an invalid action. 186 // 187 // * InternalServerException 188 // The request was valid but failed because of a problem with the service. 189 // 190 // * ServiceQuotaExceededException 191 // This request cannot be completed for one of the following reasons. 192 // 193 // * The request would cause the number of member accounts in the behavior 194 // graph to exceed the maximum allowed. A behavior graph cannot have more 195 // than 1000 member accounts. 196 // 197 // * The request would cause the data rate for the behavior graph to exceed 198 // the maximum allowed. 199 // 200 // * Detective is unable to verify the data rate for the member account. 201 // This is usually because the member account is not enrolled in Amazon GuardDuty. 202 // 203 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateGraph 204 func (c *Detective) CreateGraph(input *CreateGraphInput) (*CreateGraphOutput, error) { 205 req, out := c.CreateGraphRequest(input) 206 return out, req.Send() 207 } 208 209 // CreateGraphWithContext is the same as CreateGraph with the addition of 210 // the ability to pass a context and additional request options. 211 // 212 // See CreateGraph for details on how to use this API operation. 213 // 214 // The context must be non-nil and will be used for request cancellation. If 215 // the context is nil a panic will occur. In the future the SDK may create 216 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 217 // for more information on using Contexts. 218 func (c *Detective) CreateGraphWithContext(ctx aws.Context, input *CreateGraphInput, opts ...request.Option) (*CreateGraphOutput, error) { 219 req, out := c.CreateGraphRequest(input) 220 req.SetContext(ctx) 221 req.ApplyOptions(opts...) 222 return out, req.Send() 223 } 224 225 const opCreateMembers = "CreateMembers" 226 227 // CreateMembersRequest generates a "aws/request.Request" representing the 228 // client's request for the CreateMembers operation. The "output" return 229 // value will be populated with the request's response once the request completes 230 // successfully. 231 // 232 // Use "Send" method on the returned Request to send the API call to the service. 233 // the "output" return value is not valid until after Send returns without error. 234 // 235 // See CreateMembers for more information on using the CreateMembers 236 // API call, and error handling. 237 // 238 // This method is useful when you want to inject custom logic or configuration 239 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 240 // 241 // 242 // // Example sending a request using the CreateMembersRequest method. 243 // req, resp := client.CreateMembersRequest(params) 244 // 245 // err := req.Send() 246 // if err == nil { // resp is now filled 247 // fmt.Println(resp) 248 // } 249 // 250 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembers 251 func (c *Detective) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) { 252 op := &request.Operation{ 253 Name: opCreateMembers, 254 HTTPMethod: "POST", 255 HTTPPath: "/graph/members", 256 } 257 258 if input == nil { 259 input = &CreateMembersInput{} 260 } 261 262 output = &CreateMembersOutput{} 263 req = c.newRequest(op, input, output) 264 return 265 } 266 267 // CreateMembers API operation for Amazon Detective. 268 // 269 // Sends a request to invite the specified AWS accounts to be member accounts 270 // in the behavior graph. This operation can only be called by the administrator 271 // account for a behavior graph. 272 // 273 // CreateMembers verifies the accounts and then invites the verified accounts. 274 // The administrator can optionally specify to not send invitation emails to 275 // the member accounts. This would be used when the administrator manages their 276 // member accounts centrally. 277 // 278 // The request provides the behavior graph ARN and the list of accounts to invite. 279 // 280 // The response separates the requested accounts into two lists: 281 // 282 // * The accounts that CreateMembers was able to start the verification for. 283 // This list includes member accounts that are being verified, that have 284 // passed verification and are to be invited, and that have failed verification. 285 // 286 // * The accounts that CreateMembers was unable to process. This list includes 287 // accounts that were already invited to be member accounts in the behavior 288 // graph. 289 // 290 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 291 // with awserr.Error's Code and Message methods to get detailed information about 292 // the error. 293 // 294 // See the AWS API reference guide for Amazon Detective's 295 // API operation CreateMembers for usage and error information. 296 // 297 // Returned Error Types: 298 // * InternalServerException 299 // The request was valid but failed because of a problem with the service. 300 // 301 // * ResourceNotFoundException 302 // The request refers to a nonexistent resource. 303 // 304 // * ValidationException 305 // The request parameters are invalid. 306 // 307 // * ServiceQuotaExceededException 308 // This request cannot be completed for one of the following reasons. 309 // 310 // * The request would cause the number of member accounts in the behavior 311 // graph to exceed the maximum allowed. A behavior graph cannot have more 312 // than 1000 member accounts. 313 // 314 // * The request would cause the data rate for the behavior graph to exceed 315 // the maximum allowed. 316 // 317 // * Detective is unable to verify the data rate for the member account. 318 // This is usually because the member account is not enrolled in Amazon GuardDuty. 319 // 320 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembers 321 func (c *Detective) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) { 322 req, out := c.CreateMembersRequest(input) 323 return out, req.Send() 324 } 325 326 // CreateMembersWithContext is the same as CreateMembers with the addition of 327 // the ability to pass a context and additional request options. 328 // 329 // See CreateMembers for details on how to use this API operation. 330 // 331 // The context must be non-nil and will be used for request cancellation. If 332 // the context is nil a panic will occur. In the future the SDK may create 333 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 334 // for more information on using Contexts. 335 func (c *Detective) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) { 336 req, out := c.CreateMembersRequest(input) 337 req.SetContext(ctx) 338 req.ApplyOptions(opts...) 339 return out, req.Send() 340 } 341 342 const opDeleteGraph = "DeleteGraph" 343 344 // DeleteGraphRequest generates a "aws/request.Request" representing the 345 // client's request for the DeleteGraph operation. The "output" return 346 // value will be populated with the request's response once the request completes 347 // successfully. 348 // 349 // Use "Send" method on the returned Request to send the API call to the service. 350 // the "output" return value is not valid until after Send returns without error. 351 // 352 // See DeleteGraph for more information on using the DeleteGraph 353 // API call, and error handling. 354 // 355 // This method is useful when you want to inject custom logic or configuration 356 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 357 // 358 // 359 // // Example sending a request using the DeleteGraphRequest method. 360 // req, resp := client.DeleteGraphRequest(params) 361 // 362 // err := req.Send() 363 // if err == nil { // resp is now filled 364 // fmt.Println(resp) 365 // } 366 // 367 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteGraph 368 func (c *Detective) DeleteGraphRequest(input *DeleteGraphInput) (req *request.Request, output *DeleteGraphOutput) { 369 op := &request.Operation{ 370 Name: opDeleteGraph, 371 HTTPMethod: "POST", 372 HTTPPath: "/graph/removal", 373 } 374 375 if input == nil { 376 input = &DeleteGraphInput{} 377 } 378 379 output = &DeleteGraphOutput{} 380 req = c.newRequest(op, input, output) 381 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 382 return 383 } 384 385 // DeleteGraph API operation for Amazon Detective. 386 // 387 // Disables the specified behavior graph and queues it to be deleted. This operation 388 // removes the graph from each member account's list of behavior graphs. 389 // 390 // DeleteGraph can only be called by the administrator account for a behavior 391 // graph. 392 // 393 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 394 // with awserr.Error's Code and Message methods to get detailed information about 395 // the error. 396 // 397 // See the AWS API reference guide for Amazon Detective's 398 // API operation DeleteGraph for usage and error information. 399 // 400 // Returned Error Types: 401 // * InternalServerException 402 // The request was valid but failed because of a problem with the service. 403 // 404 // * ResourceNotFoundException 405 // The request refers to a nonexistent resource. 406 // 407 // * ValidationException 408 // The request parameters are invalid. 409 // 410 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteGraph 411 func (c *Detective) DeleteGraph(input *DeleteGraphInput) (*DeleteGraphOutput, error) { 412 req, out := c.DeleteGraphRequest(input) 413 return out, req.Send() 414 } 415 416 // DeleteGraphWithContext is the same as DeleteGraph with the addition of 417 // the ability to pass a context and additional request options. 418 // 419 // See DeleteGraph for details on how to use this API operation. 420 // 421 // The context must be non-nil and will be used for request cancellation. If 422 // the context is nil a panic will occur. In the future the SDK may create 423 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 424 // for more information on using Contexts. 425 func (c *Detective) DeleteGraphWithContext(ctx aws.Context, input *DeleteGraphInput, opts ...request.Option) (*DeleteGraphOutput, error) { 426 req, out := c.DeleteGraphRequest(input) 427 req.SetContext(ctx) 428 req.ApplyOptions(opts...) 429 return out, req.Send() 430 } 431 432 const opDeleteMembers = "DeleteMembers" 433 434 // DeleteMembersRequest generates a "aws/request.Request" representing the 435 // client's request for the DeleteMembers operation. The "output" return 436 // value will be populated with the request's response once the request completes 437 // successfully. 438 // 439 // Use "Send" method on the returned Request to send the API call to the service. 440 // the "output" return value is not valid until after Send returns without error. 441 // 442 // See DeleteMembers for more information on using the DeleteMembers 443 // API call, and error handling. 444 // 445 // This method is useful when you want to inject custom logic or configuration 446 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 447 // 448 // 449 // // Example sending a request using the DeleteMembersRequest method. 450 // req, resp := client.DeleteMembersRequest(params) 451 // 452 // err := req.Send() 453 // if err == nil { // resp is now filled 454 // fmt.Println(resp) 455 // } 456 // 457 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembers 458 func (c *Detective) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) { 459 op := &request.Operation{ 460 Name: opDeleteMembers, 461 HTTPMethod: "POST", 462 HTTPPath: "/graph/members/removal", 463 } 464 465 if input == nil { 466 input = &DeleteMembersInput{} 467 } 468 469 output = &DeleteMembersOutput{} 470 req = c.newRequest(op, input, output) 471 return 472 } 473 474 // DeleteMembers API operation for Amazon Detective. 475 // 476 // Deletes one or more member accounts from the administrator account's behavior 477 // graph. This operation can only be called by a Detective administrator account. 478 // That account cannot use DeleteMembers to delete their own account from the 479 // behavior graph. To disable a behavior graph, the administrator account uses 480 // the DeleteGraph API method. 481 // 482 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 483 // with awserr.Error's Code and Message methods to get detailed information about 484 // the error. 485 // 486 // See the AWS API reference guide for Amazon Detective's 487 // API operation DeleteMembers for usage and error information. 488 // 489 // Returned Error Types: 490 // * ConflictException 491 // The request attempted an invalid action. 492 // 493 // * InternalServerException 494 // The request was valid but failed because of a problem with the service. 495 // 496 // * ResourceNotFoundException 497 // The request refers to a nonexistent resource. 498 // 499 // * ValidationException 500 // The request parameters are invalid. 501 // 502 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembers 503 func (c *Detective) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) { 504 req, out := c.DeleteMembersRequest(input) 505 return out, req.Send() 506 } 507 508 // DeleteMembersWithContext is the same as DeleteMembers with the addition of 509 // the ability to pass a context and additional request options. 510 // 511 // See DeleteMembers for details on how to use this API operation. 512 // 513 // The context must be non-nil and will be used for request cancellation. If 514 // the context is nil a panic will occur. In the future the SDK may create 515 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 516 // for more information on using Contexts. 517 func (c *Detective) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) { 518 req, out := c.DeleteMembersRequest(input) 519 req.SetContext(ctx) 520 req.ApplyOptions(opts...) 521 return out, req.Send() 522 } 523 524 const opDisassociateMembership = "DisassociateMembership" 525 526 // DisassociateMembershipRequest generates a "aws/request.Request" representing the 527 // client's request for the DisassociateMembership operation. The "output" return 528 // value will be populated with the request's response once the request completes 529 // successfully. 530 // 531 // Use "Send" method on the returned Request to send the API call to the service. 532 // the "output" return value is not valid until after Send returns without error. 533 // 534 // See DisassociateMembership for more information on using the DisassociateMembership 535 // API call, and error handling. 536 // 537 // This method is useful when you want to inject custom logic or configuration 538 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 539 // 540 // 541 // // Example sending a request using the DisassociateMembershipRequest method. 542 // req, resp := client.DisassociateMembershipRequest(params) 543 // 544 // err := req.Send() 545 // if err == nil { // resp is now filled 546 // fmt.Println(resp) 547 // } 548 // 549 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisassociateMembership 550 func (c *Detective) DisassociateMembershipRequest(input *DisassociateMembershipInput) (req *request.Request, output *DisassociateMembershipOutput) { 551 op := &request.Operation{ 552 Name: opDisassociateMembership, 553 HTTPMethod: "POST", 554 HTTPPath: "/membership/removal", 555 } 556 557 if input == nil { 558 input = &DisassociateMembershipInput{} 559 } 560 561 output = &DisassociateMembershipOutput{} 562 req = c.newRequest(op, input, output) 563 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 564 return 565 } 566 567 // DisassociateMembership API operation for Amazon Detective. 568 // 569 // Removes the member account from the specified behavior graph. This operation 570 // can only be called by a member account that has the ENABLED status. 571 // 572 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 573 // with awserr.Error's Code and Message methods to get detailed information about 574 // the error. 575 // 576 // See the AWS API reference guide for Amazon Detective's 577 // API operation DisassociateMembership for usage and error information. 578 // 579 // Returned Error Types: 580 // * ConflictException 581 // The request attempted an invalid action. 582 // 583 // * InternalServerException 584 // The request was valid but failed because of a problem with the service. 585 // 586 // * ResourceNotFoundException 587 // The request refers to a nonexistent resource. 588 // 589 // * ValidationException 590 // The request parameters are invalid. 591 // 592 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisassociateMembership 593 func (c *Detective) DisassociateMembership(input *DisassociateMembershipInput) (*DisassociateMembershipOutput, error) { 594 req, out := c.DisassociateMembershipRequest(input) 595 return out, req.Send() 596 } 597 598 // DisassociateMembershipWithContext is the same as DisassociateMembership with the addition of 599 // the ability to pass a context and additional request options. 600 // 601 // See DisassociateMembership for details on how to use this API operation. 602 // 603 // The context must be non-nil and will be used for request cancellation. If 604 // the context is nil a panic will occur. In the future the SDK may create 605 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 606 // for more information on using Contexts. 607 func (c *Detective) DisassociateMembershipWithContext(ctx aws.Context, input *DisassociateMembershipInput, opts ...request.Option) (*DisassociateMembershipOutput, error) { 608 req, out := c.DisassociateMembershipRequest(input) 609 req.SetContext(ctx) 610 req.ApplyOptions(opts...) 611 return out, req.Send() 612 } 613 614 const opGetMembers = "GetMembers" 615 616 // GetMembersRequest generates a "aws/request.Request" representing the 617 // client's request for the GetMembers operation. The "output" return 618 // value will be populated with the request's response once the request completes 619 // successfully. 620 // 621 // Use "Send" method on the returned Request to send the API call to the service. 622 // the "output" return value is not valid until after Send returns without error. 623 // 624 // See GetMembers for more information on using the GetMembers 625 // API call, and error handling. 626 // 627 // This method is useful when you want to inject custom logic or configuration 628 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 629 // 630 // 631 // // Example sending a request using the GetMembersRequest method. 632 // req, resp := client.GetMembersRequest(params) 633 // 634 // err := req.Send() 635 // if err == nil { // resp is now filled 636 // fmt.Println(resp) 637 // } 638 // 639 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetMembers 640 func (c *Detective) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) { 641 op := &request.Operation{ 642 Name: opGetMembers, 643 HTTPMethod: "POST", 644 HTTPPath: "/graph/members/get", 645 } 646 647 if input == nil { 648 input = &GetMembersInput{} 649 } 650 651 output = &GetMembersOutput{} 652 req = c.newRequest(op, input, output) 653 return 654 } 655 656 // GetMembers API operation for Amazon Detective. 657 // 658 // Returns the membership details for specified member accounts for a behavior 659 // graph. 660 // 661 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 662 // with awserr.Error's Code and Message methods to get detailed information about 663 // the error. 664 // 665 // See the AWS API reference guide for Amazon Detective's 666 // API operation GetMembers for usage and error information. 667 // 668 // Returned Error Types: 669 // * InternalServerException 670 // The request was valid but failed because of a problem with the service. 671 // 672 // * ResourceNotFoundException 673 // The request refers to a nonexistent resource. 674 // 675 // * ValidationException 676 // The request parameters are invalid. 677 // 678 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetMembers 679 func (c *Detective) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) { 680 req, out := c.GetMembersRequest(input) 681 return out, req.Send() 682 } 683 684 // GetMembersWithContext is the same as GetMembers with the addition of 685 // the ability to pass a context and additional request options. 686 // 687 // See GetMembers for details on how to use this API operation. 688 // 689 // The context must be non-nil and will be used for request cancellation. If 690 // the context is nil a panic will occur. In the future the SDK may create 691 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 692 // for more information on using Contexts. 693 func (c *Detective) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) { 694 req, out := c.GetMembersRequest(input) 695 req.SetContext(ctx) 696 req.ApplyOptions(opts...) 697 return out, req.Send() 698 } 699 700 const opListGraphs = "ListGraphs" 701 702 // ListGraphsRequest generates a "aws/request.Request" representing the 703 // client's request for the ListGraphs operation. The "output" return 704 // value will be populated with the request's response once the request completes 705 // successfully. 706 // 707 // Use "Send" method on the returned Request to send the API call to the service. 708 // the "output" return value is not valid until after Send returns without error. 709 // 710 // See ListGraphs for more information on using the ListGraphs 711 // API call, and error handling. 712 // 713 // This method is useful when you want to inject custom logic or configuration 714 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 715 // 716 // 717 // // Example sending a request using the ListGraphsRequest method. 718 // req, resp := client.ListGraphsRequest(params) 719 // 720 // err := req.Send() 721 // if err == nil { // resp is now filled 722 // fmt.Println(resp) 723 // } 724 // 725 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListGraphs 726 func (c *Detective) ListGraphsRequest(input *ListGraphsInput) (req *request.Request, output *ListGraphsOutput) { 727 op := &request.Operation{ 728 Name: opListGraphs, 729 HTTPMethod: "POST", 730 HTTPPath: "/graphs/list", 731 Paginator: &request.Paginator{ 732 InputTokens: []string{"NextToken"}, 733 OutputTokens: []string{"NextToken"}, 734 LimitToken: "MaxResults", 735 TruncationToken: "", 736 }, 737 } 738 739 if input == nil { 740 input = &ListGraphsInput{} 741 } 742 743 output = &ListGraphsOutput{} 744 req = c.newRequest(op, input, output) 745 return 746 } 747 748 // ListGraphs API operation for Amazon Detective. 749 // 750 // Returns the list of behavior graphs that the calling account is an administrator 751 // account of. This operation can only be called by an administrator account. 752 // 753 // Because an account can currently only be the administrator of one behavior 754 // graph within a Region, the results always contain a single behavior graph. 755 // 756 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 757 // with awserr.Error's Code and Message methods to get detailed information about 758 // the error. 759 // 760 // See the AWS API reference guide for Amazon Detective's 761 // API operation ListGraphs for usage and error information. 762 // 763 // Returned Error Types: 764 // * InternalServerException 765 // The request was valid but failed because of a problem with the service. 766 // 767 // * ValidationException 768 // The request parameters are invalid. 769 // 770 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListGraphs 771 func (c *Detective) ListGraphs(input *ListGraphsInput) (*ListGraphsOutput, error) { 772 req, out := c.ListGraphsRequest(input) 773 return out, req.Send() 774 } 775 776 // ListGraphsWithContext is the same as ListGraphs with the addition of 777 // the ability to pass a context and additional request options. 778 // 779 // See ListGraphs for details on how to use this API operation. 780 // 781 // The context must be non-nil and will be used for request cancellation. If 782 // the context is nil a panic will occur. In the future the SDK may create 783 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 784 // for more information on using Contexts. 785 func (c *Detective) ListGraphsWithContext(ctx aws.Context, input *ListGraphsInput, opts ...request.Option) (*ListGraphsOutput, error) { 786 req, out := c.ListGraphsRequest(input) 787 req.SetContext(ctx) 788 req.ApplyOptions(opts...) 789 return out, req.Send() 790 } 791 792 // ListGraphsPages iterates over the pages of a ListGraphs operation, 793 // calling the "fn" function with the response data for each page. To stop 794 // iterating, return false from the fn function. 795 // 796 // See ListGraphs method for more information on how to use this operation. 797 // 798 // Note: This operation can generate multiple requests to a service. 799 // 800 // // Example iterating over at most 3 pages of a ListGraphs operation. 801 // pageNum := 0 802 // err := client.ListGraphsPages(params, 803 // func(page *detective.ListGraphsOutput, lastPage bool) bool { 804 // pageNum++ 805 // fmt.Println(page) 806 // return pageNum <= 3 807 // }) 808 // 809 func (c *Detective) ListGraphsPages(input *ListGraphsInput, fn func(*ListGraphsOutput, bool) bool) error { 810 return c.ListGraphsPagesWithContext(aws.BackgroundContext(), input, fn) 811 } 812 813 // ListGraphsPagesWithContext same as ListGraphsPages except 814 // it takes a Context and allows setting request options on the pages. 815 // 816 // The context must be non-nil and will be used for request cancellation. If 817 // the context is nil a panic will occur. In the future the SDK may create 818 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 819 // for more information on using Contexts. 820 func (c *Detective) ListGraphsPagesWithContext(ctx aws.Context, input *ListGraphsInput, fn func(*ListGraphsOutput, bool) bool, opts ...request.Option) error { 821 p := request.Pagination{ 822 NewRequest: func() (*request.Request, error) { 823 var inCpy *ListGraphsInput 824 if input != nil { 825 tmp := *input 826 inCpy = &tmp 827 } 828 req, _ := c.ListGraphsRequest(inCpy) 829 req.SetContext(ctx) 830 req.ApplyOptions(opts...) 831 return req, nil 832 }, 833 } 834 835 for p.Next() { 836 if !fn(p.Page().(*ListGraphsOutput), !p.HasNextPage()) { 837 break 838 } 839 } 840 841 return p.Err() 842 } 843 844 const opListInvitations = "ListInvitations" 845 846 // ListInvitationsRequest generates a "aws/request.Request" representing the 847 // client's request for the ListInvitations operation. The "output" return 848 // value will be populated with the request's response once the request completes 849 // successfully. 850 // 851 // Use "Send" method on the returned Request to send the API call to the service. 852 // the "output" return value is not valid until after Send returns without error. 853 // 854 // See ListInvitations for more information on using the ListInvitations 855 // API call, and error handling. 856 // 857 // This method is useful when you want to inject custom logic or configuration 858 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 859 // 860 // 861 // // Example sending a request using the ListInvitationsRequest method. 862 // req, resp := client.ListInvitationsRequest(params) 863 // 864 // err := req.Send() 865 // if err == nil { // resp is now filled 866 // fmt.Println(resp) 867 // } 868 // 869 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations 870 func (c *Detective) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) { 871 op := &request.Operation{ 872 Name: opListInvitations, 873 HTTPMethod: "POST", 874 HTTPPath: "/invitations/list", 875 Paginator: &request.Paginator{ 876 InputTokens: []string{"NextToken"}, 877 OutputTokens: []string{"NextToken"}, 878 LimitToken: "MaxResults", 879 TruncationToken: "", 880 }, 881 } 882 883 if input == nil { 884 input = &ListInvitationsInput{} 885 } 886 887 output = &ListInvitationsOutput{} 888 req = c.newRequest(op, input, output) 889 return 890 } 891 892 // ListInvitations API operation for Amazon Detective. 893 // 894 // Retrieves the list of open and accepted behavior graph invitations for the 895 // member account. This operation can only be called by a member account. 896 // 897 // Open invitations are invitations that the member account has not responded 898 // to. 899 // 900 // The results do not include behavior graphs for which the member account declined 901 // the invitation. The results also do not include behavior graphs that the 902 // member account resigned from or was removed from. 903 // 904 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 905 // with awserr.Error's Code and Message methods to get detailed information about 906 // the error. 907 // 908 // See the AWS API reference guide for Amazon Detective's 909 // API operation ListInvitations for usage and error information. 910 // 911 // Returned Error Types: 912 // * InternalServerException 913 // The request was valid but failed because of a problem with the service. 914 // 915 // * ValidationException 916 // The request parameters are invalid. 917 // 918 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations 919 func (c *Detective) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) { 920 req, out := c.ListInvitationsRequest(input) 921 return out, req.Send() 922 } 923 924 // ListInvitationsWithContext is the same as ListInvitations with the addition of 925 // the ability to pass a context and additional request options. 926 // 927 // See ListInvitations for details on how to use this API operation. 928 // 929 // The context must be non-nil and will be used for request cancellation. If 930 // the context is nil a panic will occur. In the future the SDK may create 931 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 932 // for more information on using Contexts. 933 func (c *Detective) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) { 934 req, out := c.ListInvitationsRequest(input) 935 req.SetContext(ctx) 936 req.ApplyOptions(opts...) 937 return out, req.Send() 938 } 939 940 // ListInvitationsPages iterates over the pages of a ListInvitations operation, 941 // calling the "fn" function with the response data for each page. To stop 942 // iterating, return false from the fn function. 943 // 944 // See ListInvitations method for more information on how to use this operation. 945 // 946 // Note: This operation can generate multiple requests to a service. 947 // 948 // // Example iterating over at most 3 pages of a ListInvitations operation. 949 // pageNum := 0 950 // err := client.ListInvitationsPages(params, 951 // func(page *detective.ListInvitationsOutput, lastPage bool) bool { 952 // pageNum++ 953 // fmt.Println(page) 954 // return pageNum <= 3 955 // }) 956 // 957 func (c *Detective) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error { 958 return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn) 959 } 960 961 // ListInvitationsPagesWithContext same as ListInvitationsPages except 962 // it takes a Context and allows setting request options on the pages. 963 // 964 // The context must be non-nil and will be used for request cancellation. If 965 // the context is nil a panic will occur. In the future the SDK may create 966 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 967 // for more information on using Contexts. 968 func (c *Detective) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error { 969 p := request.Pagination{ 970 NewRequest: func() (*request.Request, error) { 971 var inCpy *ListInvitationsInput 972 if input != nil { 973 tmp := *input 974 inCpy = &tmp 975 } 976 req, _ := c.ListInvitationsRequest(inCpy) 977 req.SetContext(ctx) 978 req.ApplyOptions(opts...) 979 return req, nil 980 }, 981 } 982 983 for p.Next() { 984 if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) { 985 break 986 } 987 } 988 989 return p.Err() 990 } 991 992 const opListMembers = "ListMembers" 993 994 // ListMembersRequest generates a "aws/request.Request" representing the 995 // client's request for the ListMembers operation. The "output" return 996 // value will be populated with the request's response once the request completes 997 // successfully. 998 // 999 // Use "Send" method on the returned Request to send the API call to the service. 1000 // the "output" return value is not valid until after Send returns without error. 1001 // 1002 // See ListMembers for more information on using the ListMembers 1003 // API call, and error handling. 1004 // 1005 // This method is useful when you want to inject custom logic or configuration 1006 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1007 // 1008 // 1009 // // Example sending a request using the ListMembersRequest method. 1010 // req, resp := client.ListMembersRequest(params) 1011 // 1012 // err := req.Send() 1013 // if err == nil { // resp is now filled 1014 // fmt.Println(resp) 1015 // } 1016 // 1017 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers 1018 func (c *Detective) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) { 1019 op := &request.Operation{ 1020 Name: opListMembers, 1021 HTTPMethod: "POST", 1022 HTTPPath: "/graph/members/list", 1023 Paginator: &request.Paginator{ 1024 InputTokens: []string{"NextToken"}, 1025 OutputTokens: []string{"NextToken"}, 1026 LimitToken: "MaxResults", 1027 TruncationToken: "", 1028 }, 1029 } 1030 1031 if input == nil { 1032 input = &ListMembersInput{} 1033 } 1034 1035 output = &ListMembersOutput{} 1036 req = c.newRequest(op, input, output) 1037 return 1038 } 1039 1040 // ListMembers API operation for Amazon Detective. 1041 // 1042 // Retrieves the list of member accounts for a behavior graph. Does not return 1043 // member accounts that were removed from the behavior graph. 1044 // 1045 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1046 // with awserr.Error's Code and Message methods to get detailed information about 1047 // the error. 1048 // 1049 // See the AWS API reference guide for Amazon Detective's 1050 // API operation ListMembers for usage and error information. 1051 // 1052 // Returned Error Types: 1053 // * InternalServerException 1054 // The request was valid but failed because of a problem with the service. 1055 // 1056 // * ResourceNotFoundException 1057 // The request refers to a nonexistent resource. 1058 // 1059 // * ValidationException 1060 // The request parameters are invalid. 1061 // 1062 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers 1063 func (c *Detective) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) { 1064 req, out := c.ListMembersRequest(input) 1065 return out, req.Send() 1066 } 1067 1068 // ListMembersWithContext is the same as ListMembers with the addition of 1069 // the ability to pass a context and additional request options. 1070 // 1071 // See ListMembers for details on how to use this API operation. 1072 // 1073 // The context must be non-nil and will be used for request cancellation. If 1074 // the context is nil a panic will occur. In the future the SDK may create 1075 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1076 // for more information on using Contexts. 1077 func (c *Detective) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) { 1078 req, out := c.ListMembersRequest(input) 1079 req.SetContext(ctx) 1080 req.ApplyOptions(opts...) 1081 return out, req.Send() 1082 } 1083 1084 // ListMembersPages iterates over the pages of a ListMembers operation, 1085 // calling the "fn" function with the response data for each page. To stop 1086 // iterating, return false from the fn function. 1087 // 1088 // See ListMembers method for more information on how to use this operation. 1089 // 1090 // Note: This operation can generate multiple requests to a service. 1091 // 1092 // // Example iterating over at most 3 pages of a ListMembers operation. 1093 // pageNum := 0 1094 // err := client.ListMembersPages(params, 1095 // func(page *detective.ListMembersOutput, lastPage bool) bool { 1096 // pageNum++ 1097 // fmt.Println(page) 1098 // return pageNum <= 3 1099 // }) 1100 // 1101 func (c *Detective) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error { 1102 return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn) 1103 } 1104 1105 // ListMembersPagesWithContext same as ListMembersPages except 1106 // it takes a Context and allows setting request options on the pages. 1107 // 1108 // The context must be non-nil and will be used for request cancellation. If 1109 // the context is nil a panic will occur. In the future the SDK may create 1110 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1111 // for more information on using Contexts. 1112 func (c *Detective) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error { 1113 p := request.Pagination{ 1114 NewRequest: func() (*request.Request, error) { 1115 var inCpy *ListMembersInput 1116 if input != nil { 1117 tmp := *input 1118 inCpy = &tmp 1119 } 1120 req, _ := c.ListMembersRequest(inCpy) 1121 req.SetContext(ctx) 1122 req.ApplyOptions(opts...) 1123 return req, nil 1124 }, 1125 } 1126 1127 for p.Next() { 1128 if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) { 1129 break 1130 } 1131 } 1132 1133 return p.Err() 1134 } 1135 1136 const opListTagsForResource = "ListTagsForResource" 1137 1138 // ListTagsForResourceRequest generates a "aws/request.Request" representing the 1139 // client's request for the ListTagsForResource operation. The "output" return 1140 // value will be populated with the request's response once the request completes 1141 // successfully. 1142 // 1143 // Use "Send" method on the returned Request to send the API call to the service. 1144 // the "output" return value is not valid until after Send returns without error. 1145 // 1146 // See ListTagsForResource for more information on using the ListTagsForResource 1147 // API call, and error handling. 1148 // 1149 // This method is useful when you want to inject custom logic or configuration 1150 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1151 // 1152 // 1153 // // Example sending a request using the ListTagsForResourceRequest method. 1154 // req, resp := client.ListTagsForResourceRequest(params) 1155 // 1156 // err := req.Send() 1157 // if err == nil { // resp is now filled 1158 // fmt.Println(resp) 1159 // } 1160 // 1161 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListTagsForResource 1162 func (c *Detective) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1163 op := &request.Operation{ 1164 Name: opListTagsForResource, 1165 HTTPMethod: "GET", 1166 HTTPPath: "/tags/{ResourceArn}", 1167 } 1168 1169 if input == nil { 1170 input = &ListTagsForResourceInput{} 1171 } 1172 1173 output = &ListTagsForResourceOutput{} 1174 req = c.newRequest(op, input, output) 1175 return 1176 } 1177 1178 // ListTagsForResource API operation for Amazon Detective. 1179 // 1180 // Returns the tag values that are assigned to a behavior graph. 1181 // 1182 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1183 // with awserr.Error's Code and Message methods to get detailed information about 1184 // the error. 1185 // 1186 // See the AWS API reference guide for Amazon Detective's 1187 // API operation ListTagsForResource for usage and error information. 1188 // 1189 // Returned Error Types: 1190 // * InternalServerException 1191 // The request was valid but failed because of a problem with the service. 1192 // 1193 // * ValidationException 1194 // The request parameters are invalid. 1195 // 1196 // * ResourceNotFoundException 1197 // The request refers to a nonexistent resource. 1198 // 1199 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListTagsForResource 1200 func (c *Detective) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 1201 req, out := c.ListTagsForResourceRequest(input) 1202 return out, req.Send() 1203 } 1204 1205 // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 1206 // the ability to pass a context and additional request options. 1207 // 1208 // See ListTagsForResource for details on how to use this API operation. 1209 // 1210 // The context must be non-nil and will be used for request cancellation. If 1211 // the context is nil a panic will occur. In the future the SDK may create 1212 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1213 // for more information on using Contexts. 1214 func (c *Detective) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 1215 req, out := c.ListTagsForResourceRequest(input) 1216 req.SetContext(ctx) 1217 req.ApplyOptions(opts...) 1218 return out, req.Send() 1219 } 1220 1221 const opRejectInvitation = "RejectInvitation" 1222 1223 // RejectInvitationRequest generates a "aws/request.Request" representing the 1224 // client's request for the RejectInvitation operation. The "output" return 1225 // value will be populated with the request's response once the request completes 1226 // successfully. 1227 // 1228 // Use "Send" method on the returned Request to send the API call to the service. 1229 // the "output" return value is not valid until after Send returns without error. 1230 // 1231 // See RejectInvitation for more information on using the RejectInvitation 1232 // API call, and error handling. 1233 // 1234 // This method is useful when you want to inject custom logic or configuration 1235 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1236 // 1237 // 1238 // // Example sending a request using the RejectInvitationRequest method. 1239 // req, resp := client.RejectInvitationRequest(params) 1240 // 1241 // err := req.Send() 1242 // if err == nil { // resp is now filled 1243 // fmt.Println(resp) 1244 // } 1245 // 1246 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/RejectInvitation 1247 func (c *Detective) RejectInvitationRequest(input *RejectInvitationInput) (req *request.Request, output *RejectInvitationOutput) { 1248 op := &request.Operation{ 1249 Name: opRejectInvitation, 1250 HTTPMethod: "POST", 1251 HTTPPath: "/invitation/removal", 1252 } 1253 1254 if input == nil { 1255 input = &RejectInvitationInput{} 1256 } 1257 1258 output = &RejectInvitationOutput{} 1259 req = c.newRequest(op, input, output) 1260 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1261 return 1262 } 1263 1264 // RejectInvitation API operation for Amazon Detective. 1265 // 1266 // Rejects an invitation to contribute the account data to a behavior graph. 1267 // This operation must be called by a member account that has the INVITED status. 1268 // 1269 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1270 // with awserr.Error's Code and Message methods to get detailed information about 1271 // the error. 1272 // 1273 // See the AWS API reference guide for Amazon Detective's 1274 // API operation RejectInvitation for usage and error information. 1275 // 1276 // Returned Error Types: 1277 // * ConflictException 1278 // The request attempted an invalid action. 1279 // 1280 // * InternalServerException 1281 // The request was valid but failed because of a problem with the service. 1282 // 1283 // * ResourceNotFoundException 1284 // The request refers to a nonexistent resource. 1285 // 1286 // * ValidationException 1287 // The request parameters are invalid. 1288 // 1289 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/RejectInvitation 1290 func (c *Detective) RejectInvitation(input *RejectInvitationInput) (*RejectInvitationOutput, error) { 1291 req, out := c.RejectInvitationRequest(input) 1292 return out, req.Send() 1293 } 1294 1295 // RejectInvitationWithContext is the same as RejectInvitation with the addition of 1296 // the ability to pass a context and additional request options. 1297 // 1298 // See RejectInvitation for details on how to use this API operation. 1299 // 1300 // The context must be non-nil and will be used for request cancellation. If 1301 // the context is nil a panic will occur. In the future the SDK may create 1302 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1303 // for more information on using Contexts. 1304 func (c *Detective) RejectInvitationWithContext(ctx aws.Context, input *RejectInvitationInput, opts ...request.Option) (*RejectInvitationOutput, error) { 1305 req, out := c.RejectInvitationRequest(input) 1306 req.SetContext(ctx) 1307 req.ApplyOptions(opts...) 1308 return out, req.Send() 1309 } 1310 1311 const opStartMonitoringMember = "StartMonitoringMember" 1312 1313 // StartMonitoringMemberRequest generates a "aws/request.Request" representing the 1314 // client's request for the StartMonitoringMember operation. The "output" return 1315 // value will be populated with the request's response once the request completes 1316 // successfully. 1317 // 1318 // Use "Send" method on the returned Request to send the API call to the service. 1319 // the "output" return value is not valid until after Send returns without error. 1320 // 1321 // See StartMonitoringMember for more information on using the StartMonitoringMember 1322 // API call, and error handling. 1323 // 1324 // This method is useful when you want to inject custom logic or configuration 1325 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1326 // 1327 // 1328 // // Example sending a request using the StartMonitoringMemberRequest method. 1329 // req, resp := client.StartMonitoringMemberRequest(params) 1330 // 1331 // err := req.Send() 1332 // if err == nil { // resp is now filled 1333 // fmt.Println(resp) 1334 // } 1335 // 1336 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartMonitoringMember 1337 func (c *Detective) StartMonitoringMemberRequest(input *StartMonitoringMemberInput) (req *request.Request, output *StartMonitoringMemberOutput) { 1338 op := &request.Operation{ 1339 Name: opStartMonitoringMember, 1340 HTTPMethod: "POST", 1341 HTTPPath: "/graph/member/monitoringstate", 1342 } 1343 1344 if input == nil { 1345 input = &StartMonitoringMemberInput{} 1346 } 1347 1348 output = &StartMonitoringMemberOutput{} 1349 req = c.newRequest(op, input, output) 1350 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1351 return 1352 } 1353 1354 // StartMonitoringMember API operation for Amazon Detective. 1355 // 1356 // Sends a request to enable data ingest for a member account that has a status 1357 // of ACCEPTED_BUT_DISABLED. 1358 // 1359 // For valid member accounts, the status is updated as follows. 1360 // 1361 // * If Detective enabled the member account, then the new status is ENABLED. 1362 // 1363 // * If Detective cannot enable the member account, the status remains ACCEPTED_BUT_DISABLED. 1364 // 1365 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1366 // with awserr.Error's Code and Message methods to get detailed information about 1367 // the error. 1368 // 1369 // See the AWS API reference guide for Amazon Detective's 1370 // API operation StartMonitoringMember for usage and error information. 1371 // 1372 // Returned Error Types: 1373 // * ConflictException 1374 // The request attempted an invalid action. 1375 // 1376 // * InternalServerException 1377 // The request was valid but failed because of a problem with the service. 1378 // 1379 // * ResourceNotFoundException 1380 // The request refers to a nonexistent resource. 1381 // 1382 // * ServiceQuotaExceededException 1383 // This request cannot be completed for one of the following reasons. 1384 // 1385 // * The request would cause the number of member accounts in the behavior 1386 // graph to exceed the maximum allowed. A behavior graph cannot have more 1387 // than 1000 member accounts. 1388 // 1389 // * The request would cause the data rate for the behavior graph to exceed 1390 // the maximum allowed. 1391 // 1392 // * Detective is unable to verify the data rate for the member account. 1393 // This is usually because the member account is not enrolled in Amazon GuardDuty. 1394 // 1395 // * ValidationException 1396 // The request parameters are invalid. 1397 // 1398 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartMonitoringMember 1399 func (c *Detective) StartMonitoringMember(input *StartMonitoringMemberInput) (*StartMonitoringMemberOutput, error) { 1400 req, out := c.StartMonitoringMemberRequest(input) 1401 return out, req.Send() 1402 } 1403 1404 // StartMonitoringMemberWithContext is the same as StartMonitoringMember with the addition of 1405 // the ability to pass a context and additional request options. 1406 // 1407 // See StartMonitoringMember for details on how to use this API operation. 1408 // 1409 // The context must be non-nil and will be used for request cancellation. If 1410 // the context is nil a panic will occur. In the future the SDK may create 1411 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1412 // for more information on using Contexts. 1413 func (c *Detective) StartMonitoringMemberWithContext(ctx aws.Context, input *StartMonitoringMemberInput, opts ...request.Option) (*StartMonitoringMemberOutput, error) { 1414 req, out := c.StartMonitoringMemberRequest(input) 1415 req.SetContext(ctx) 1416 req.ApplyOptions(opts...) 1417 return out, req.Send() 1418 } 1419 1420 const opTagResource = "TagResource" 1421 1422 // TagResourceRequest generates a "aws/request.Request" representing the 1423 // client's request for the TagResource operation. The "output" return 1424 // value will be populated with the request's response once the request completes 1425 // successfully. 1426 // 1427 // Use "Send" method on the returned Request to send the API call to the service. 1428 // the "output" return value is not valid until after Send returns without error. 1429 // 1430 // See TagResource for more information on using the TagResource 1431 // API call, and error handling. 1432 // 1433 // This method is useful when you want to inject custom logic or configuration 1434 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1435 // 1436 // 1437 // // Example sending a request using the TagResourceRequest method. 1438 // req, resp := client.TagResourceRequest(params) 1439 // 1440 // err := req.Send() 1441 // if err == nil { // resp is now filled 1442 // fmt.Println(resp) 1443 // } 1444 // 1445 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TagResource 1446 func (c *Detective) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 1447 op := &request.Operation{ 1448 Name: opTagResource, 1449 HTTPMethod: "POST", 1450 HTTPPath: "/tags/{ResourceArn}", 1451 } 1452 1453 if input == nil { 1454 input = &TagResourceInput{} 1455 } 1456 1457 output = &TagResourceOutput{} 1458 req = c.newRequest(op, input, output) 1459 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1460 return 1461 } 1462 1463 // TagResource API operation for Amazon Detective. 1464 // 1465 // Applies tag values to a behavior graph. 1466 // 1467 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1468 // with awserr.Error's Code and Message methods to get detailed information about 1469 // the error. 1470 // 1471 // See the AWS API reference guide for Amazon Detective's 1472 // API operation TagResource for usage and error information. 1473 // 1474 // Returned Error Types: 1475 // * InternalServerException 1476 // The request was valid but failed because of a problem with the service. 1477 // 1478 // * ValidationException 1479 // The request parameters are invalid. 1480 // 1481 // * ResourceNotFoundException 1482 // The request refers to a nonexistent resource. 1483 // 1484 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TagResource 1485 func (c *Detective) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 1486 req, out := c.TagResourceRequest(input) 1487 return out, req.Send() 1488 } 1489 1490 // TagResourceWithContext is the same as TagResource with the addition of 1491 // the ability to pass a context and additional request options. 1492 // 1493 // See TagResource for details on how to use this API operation. 1494 // 1495 // The context must be non-nil and will be used for request cancellation. If 1496 // the context is nil a panic will occur. In the future the SDK may create 1497 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1498 // for more information on using Contexts. 1499 func (c *Detective) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 1500 req, out := c.TagResourceRequest(input) 1501 req.SetContext(ctx) 1502 req.ApplyOptions(opts...) 1503 return out, req.Send() 1504 } 1505 1506 const opUntagResource = "UntagResource" 1507 1508 // UntagResourceRequest generates a "aws/request.Request" representing the 1509 // client's request for the UntagResource operation. The "output" return 1510 // value will be populated with the request's response once the request completes 1511 // successfully. 1512 // 1513 // Use "Send" method on the returned Request to send the API call to the service. 1514 // the "output" return value is not valid until after Send returns without error. 1515 // 1516 // See UntagResource for more information on using the UntagResource 1517 // API call, and error handling. 1518 // 1519 // This method is useful when you want to inject custom logic or configuration 1520 // into the SDK's request lifecycle. Such as custom headers, or retry logic. 1521 // 1522 // 1523 // // Example sending a request using the UntagResourceRequest method. 1524 // req, resp := client.UntagResourceRequest(params) 1525 // 1526 // err := req.Send() 1527 // if err == nil { // resp is now filled 1528 // fmt.Println(resp) 1529 // } 1530 // 1531 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UntagResource 1532 func (c *Detective) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 1533 op := &request.Operation{ 1534 Name: opUntagResource, 1535 HTTPMethod: "DELETE", 1536 HTTPPath: "/tags/{ResourceArn}", 1537 } 1538 1539 if input == nil { 1540 input = &UntagResourceInput{} 1541 } 1542 1543 output = &UntagResourceOutput{} 1544 req = c.newRequest(op, input, output) 1545 req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1546 return 1547 } 1548 1549 // UntagResource API operation for Amazon Detective. 1550 // 1551 // Removes tags from a behavior graph. 1552 // 1553 // Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1554 // with awserr.Error's Code and Message methods to get detailed information about 1555 // the error. 1556 // 1557 // See the AWS API reference guide for Amazon Detective's 1558 // API operation UntagResource for usage and error information. 1559 // 1560 // Returned Error Types: 1561 // * InternalServerException 1562 // The request was valid but failed because of a problem with the service. 1563 // 1564 // * ValidationException 1565 // The request parameters are invalid. 1566 // 1567 // * ResourceNotFoundException 1568 // The request refers to a nonexistent resource. 1569 // 1570 // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UntagResource 1571 func (c *Detective) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 1572 req, out := c.UntagResourceRequest(input) 1573 return out, req.Send() 1574 } 1575 1576 // UntagResourceWithContext is the same as UntagResource with the addition of 1577 // the ability to pass a context and additional request options. 1578 // 1579 // See UntagResource for details on how to use this API operation. 1580 // 1581 // The context must be non-nil and will be used for request cancellation. If 1582 // the context is nil a panic will occur. In the future the SDK may create 1583 // sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1584 // for more information on using Contexts. 1585 func (c *Detective) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 1586 req, out := c.UntagResourceRequest(input) 1587 req.SetContext(ctx) 1588 req.ApplyOptions(opts...) 1589 return out, req.Send() 1590 } 1591 1592 type AcceptInvitationInput struct { 1593 _ struct{} `type:"structure"` 1594 1595 // The ARN of the behavior graph that the member account is accepting the invitation 1596 // for. 1597 // 1598 // The member account status in the behavior graph must be INVITED. 1599 // 1600 // GraphArn is a required field 1601 GraphArn *string `type:"string" required:"true"` 1602 } 1603 1604 // String returns the string representation. 1605 // 1606 // API parameter values that are decorated as "sensitive" in the API will not 1607 // be included in the string output. The member name will be present, but the 1608 // value will be replaced with "sensitive". 1609 func (s AcceptInvitationInput) String() string { 1610 return awsutil.Prettify(s) 1611 } 1612 1613 // GoString returns the string representation. 1614 // 1615 // API parameter values that are decorated as "sensitive" in the API will not 1616 // be included in the string output. The member name will be present, but the 1617 // value will be replaced with "sensitive". 1618 func (s AcceptInvitationInput) GoString() string { 1619 return s.String() 1620 } 1621 1622 // Validate inspects the fields of the type to determine if they are valid. 1623 func (s *AcceptInvitationInput) Validate() error { 1624 invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"} 1625 if s.GraphArn == nil { 1626 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 1627 } 1628 1629 if invalidParams.Len() > 0 { 1630 return invalidParams 1631 } 1632 return nil 1633 } 1634 1635 // SetGraphArn sets the GraphArn field's value. 1636 func (s *AcceptInvitationInput) SetGraphArn(v string) *AcceptInvitationInput { 1637 s.GraphArn = &v 1638 return s 1639 } 1640 1641 type AcceptInvitationOutput struct { 1642 _ struct{} `type:"structure" nopayload:"true"` 1643 } 1644 1645 // String returns the string representation. 1646 // 1647 // API parameter values that are decorated as "sensitive" in the API will not 1648 // be included in the string output. The member name will be present, but the 1649 // value will be replaced with "sensitive". 1650 func (s AcceptInvitationOutput) String() string { 1651 return awsutil.Prettify(s) 1652 } 1653 1654 // GoString returns the string representation. 1655 // 1656 // API parameter values that are decorated as "sensitive" in the API will not 1657 // be included in the string output. The member name will be present, but the 1658 // value will be replaced with "sensitive". 1659 func (s AcceptInvitationOutput) GoString() string { 1660 return s.String() 1661 } 1662 1663 // An AWS account that is the administrator account of or a member of a behavior 1664 // graph. 1665 type Account struct { 1666 _ struct{} `type:"structure"` 1667 1668 // The account identifier of the AWS account. 1669 // 1670 // AccountId is a required field 1671 AccountId *string `min:"12" type:"string" required:"true"` 1672 1673 // The AWS account root user email address for the AWS account. 1674 // 1675 // EmailAddress is a required field 1676 EmailAddress *string `min:"1" type:"string" required:"true"` 1677 } 1678 1679 // String returns the string representation. 1680 // 1681 // API parameter values that are decorated as "sensitive" in the API will not 1682 // be included in the string output. The member name will be present, but the 1683 // value will be replaced with "sensitive". 1684 func (s Account) String() string { 1685 return awsutil.Prettify(s) 1686 } 1687 1688 // GoString returns the string representation. 1689 // 1690 // API parameter values that are decorated as "sensitive" in the API will not 1691 // be included in the string output. The member name will be present, but the 1692 // value will be replaced with "sensitive". 1693 func (s Account) GoString() string { 1694 return s.String() 1695 } 1696 1697 // Validate inspects the fields of the type to determine if they are valid. 1698 func (s *Account) Validate() error { 1699 invalidParams := request.ErrInvalidParams{Context: "Account"} 1700 if s.AccountId == nil { 1701 invalidParams.Add(request.NewErrParamRequired("AccountId")) 1702 } 1703 if s.AccountId != nil && len(*s.AccountId) < 12 { 1704 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 1705 } 1706 if s.EmailAddress == nil { 1707 invalidParams.Add(request.NewErrParamRequired("EmailAddress")) 1708 } 1709 if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { 1710 invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) 1711 } 1712 1713 if invalidParams.Len() > 0 { 1714 return invalidParams 1715 } 1716 return nil 1717 } 1718 1719 // SetAccountId sets the AccountId field's value. 1720 func (s *Account) SetAccountId(v string) *Account { 1721 s.AccountId = &v 1722 return s 1723 } 1724 1725 // SetEmailAddress sets the EmailAddress field's value. 1726 func (s *Account) SetEmailAddress(v string) *Account { 1727 s.EmailAddress = &v 1728 return s 1729 } 1730 1731 // The request attempted an invalid action. 1732 type ConflictException struct { 1733 _ struct{} `type:"structure"` 1734 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 1735 1736 Message_ *string `locationName:"Message" type:"string"` 1737 } 1738 1739 // String returns the string representation. 1740 // 1741 // API parameter values that are decorated as "sensitive" in the API will not 1742 // be included in the string output. The member name will be present, but the 1743 // value will be replaced with "sensitive". 1744 func (s ConflictException) String() string { 1745 return awsutil.Prettify(s) 1746 } 1747 1748 // GoString returns the string representation. 1749 // 1750 // API parameter values that are decorated as "sensitive" in the API will not 1751 // be included in the string output. The member name will be present, but the 1752 // value will be replaced with "sensitive". 1753 func (s ConflictException) GoString() string { 1754 return s.String() 1755 } 1756 1757 func newErrorConflictException(v protocol.ResponseMetadata) error { 1758 return &ConflictException{ 1759 RespMetadata: v, 1760 } 1761 } 1762 1763 // Code returns the exception type name. 1764 func (s *ConflictException) Code() string { 1765 return "ConflictException" 1766 } 1767 1768 // Message returns the exception's message. 1769 func (s *ConflictException) Message() string { 1770 if s.Message_ != nil { 1771 return *s.Message_ 1772 } 1773 return "" 1774 } 1775 1776 // OrigErr always returns nil, satisfies awserr.Error interface. 1777 func (s *ConflictException) OrigErr() error { 1778 return nil 1779 } 1780 1781 func (s *ConflictException) Error() string { 1782 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 1783 } 1784 1785 // Status code returns the HTTP status code for the request's response error. 1786 func (s *ConflictException) StatusCode() int { 1787 return s.RespMetadata.StatusCode 1788 } 1789 1790 // RequestID returns the service's response RequestID for request. 1791 func (s *ConflictException) RequestID() string { 1792 return s.RespMetadata.RequestID 1793 } 1794 1795 type CreateGraphInput struct { 1796 _ struct{} `type:"structure"` 1797 1798 // The tags to assign to the new behavior graph. You can add up to 50 tags. 1799 // For each tag, you provide the tag key and the tag value. Each tag key can 1800 // contain up to 128 characters. Each tag value can contain up to 256 characters. 1801 Tags map[string]*string `min:"1" type:"map"` 1802 } 1803 1804 // String returns the string representation. 1805 // 1806 // API parameter values that are decorated as "sensitive" in the API will not 1807 // be included in the string output. The member name will be present, but the 1808 // value will be replaced with "sensitive". 1809 func (s CreateGraphInput) String() string { 1810 return awsutil.Prettify(s) 1811 } 1812 1813 // GoString returns the string representation. 1814 // 1815 // API parameter values that are decorated as "sensitive" in the API will not 1816 // be included in the string output. The member name will be present, but the 1817 // value will be replaced with "sensitive". 1818 func (s CreateGraphInput) GoString() string { 1819 return s.String() 1820 } 1821 1822 // Validate inspects the fields of the type to determine if they are valid. 1823 func (s *CreateGraphInput) Validate() error { 1824 invalidParams := request.ErrInvalidParams{Context: "CreateGraphInput"} 1825 if s.Tags != nil && len(s.Tags) < 1 { 1826 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 1827 } 1828 1829 if invalidParams.Len() > 0 { 1830 return invalidParams 1831 } 1832 return nil 1833 } 1834 1835 // SetTags sets the Tags field's value. 1836 func (s *CreateGraphInput) SetTags(v map[string]*string) *CreateGraphInput { 1837 s.Tags = v 1838 return s 1839 } 1840 1841 type CreateGraphOutput struct { 1842 _ struct{} `type:"structure"` 1843 1844 // The ARN of the new behavior graph. 1845 GraphArn *string `type:"string"` 1846 } 1847 1848 // String returns the string representation. 1849 // 1850 // API parameter values that are decorated as "sensitive" in the API will not 1851 // be included in the string output. The member name will be present, but the 1852 // value will be replaced with "sensitive". 1853 func (s CreateGraphOutput) String() string { 1854 return awsutil.Prettify(s) 1855 } 1856 1857 // GoString returns the string representation. 1858 // 1859 // API parameter values that are decorated as "sensitive" in the API will not 1860 // be included in the string output. The member name will be present, but the 1861 // value will be replaced with "sensitive". 1862 func (s CreateGraphOutput) GoString() string { 1863 return s.String() 1864 } 1865 1866 // SetGraphArn sets the GraphArn field's value. 1867 func (s *CreateGraphOutput) SetGraphArn(v string) *CreateGraphOutput { 1868 s.GraphArn = &v 1869 return s 1870 } 1871 1872 type CreateMembersInput struct { 1873 _ struct{} `type:"structure"` 1874 1875 // The list of AWS accounts to invite to become member accounts in the behavior 1876 // graph. You can invite up to 50 accounts at a time. For each invited account, 1877 // the account list contains the account identifier and the AWS account root 1878 // user email address. 1879 // 1880 // Accounts is a required field 1881 Accounts []*Account `min:"1" type:"list" required:"true"` 1882 1883 // if set to true, then the member accounts do not receive email notifications. 1884 // By default, this is set to false, and the member accounts receive email notifications. 1885 DisableEmailNotification *bool `type:"boolean"` 1886 1887 // The ARN of the behavior graph to invite the member accounts to contribute 1888 // their data to. 1889 // 1890 // GraphArn is a required field 1891 GraphArn *string `type:"string" required:"true"` 1892 1893 // Customized message text to include in the invitation email message to the 1894 // invited member accounts. 1895 Message *string `min:"1" type:"string"` 1896 } 1897 1898 // String returns the string representation. 1899 // 1900 // API parameter values that are decorated as "sensitive" in the API will not 1901 // be included in the string output. The member name will be present, but the 1902 // value will be replaced with "sensitive". 1903 func (s CreateMembersInput) String() string { 1904 return awsutil.Prettify(s) 1905 } 1906 1907 // GoString returns the string representation. 1908 // 1909 // API parameter values that are decorated as "sensitive" in the API will not 1910 // be included in the string output. The member name will be present, but the 1911 // value will be replaced with "sensitive". 1912 func (s CreateMembersInput) GoString() string { 1913 return s.String() 1914 } 1915 1916 // Validate inspects the fields of the type to determine if they are valid. 1917 func (s *CreateMembersInput) Validate() error { 1918 invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"} 1919 if s.Accounts == nil { 1920 invalidParams.Add(request.NewErrParamRequired("Accounts")) 1921 } 1922 if s.Accounts != nil && len(s.Accounts) < 1 { 1923 invalidParams.Add(request.NewErrParamMinLen("Accounts", 1)) 1924 } 1925 if s.GraphArn == nil { 1926 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 1927 } 1928 if s.Message != nil && len(*s.Message) < 1 { 1929 invalidParams.Add(request.NewErrParamMinLen("Message", 1)) 1930 } 1931 if s.Accounts != nil { 1932 for i, v := range s.Accounts { 1933 if v == nil { 1934 continue 1935 } 1936 if err := v.Validate(); err != nil { 1937 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Accounts", i), err.(request.ErrInvalidParams)) 1938 } 1939 } 1940 } 1941 1942 if invalidParams.Len() > 0 { 1943 return invalidParams 1944 } 1945 return nil 1946 } 1947 1948 // SetAccounts sets the Accounts field's value. 1949 func (s *CreateMembersInput) SetAccounts(v []*Account) *CreateMembersInput { 1950 s.Accounts = v 1951 return s 1952 } 1953 1954 // SetDisableEmailNotification sets the DisableEmailNotification field's value. 1955 func (s *CreateMembersInput) SetDisableEmailNotification(v bool) *CreateMembersInput { 1956 s.DisableEmailNotification = &v 1957 return s 1958 } 1959 1960 // SetGraphArn sets the GraphArn field's value. 1961 func (s *CreateMembersInput) SetGraphArn(v string) *CreateMembersInput { 1962 s.GraphArn = &v 1963 return s 1964 } 1965 1966 // SetMessage sets the Message field's value. 1967 func (s *CreateMembersInput) SetMessage(v string) *CreateMembersInput { 1968 s.Message = &v 1969 return s 1970 } 1971 1972 type CreateMembersOutput struct { 1973 _ struct{} `type:"structure"` 1974 1975 // The set of member account invitation requests that Detective was able to 1976 // process. This includes accounts that are being verified, that failed verification, 1977 // and that passed verification and are being sent an invitation. 1978 Members []*MemberDetail `type:"list"` 1979 1980 // The list of accounts for which Detective was unable to process the invitation 1981 // request. For each account, the list provides the reason why the request could 1982 // not be processed. The list includes accounts that are already member accounts 1983 // in the behavior graph. 1984 UnprocessedAccounts []*UnprocessedAccount `type:"list"` 1985 } 1986 1987 // String returns the string representation. 1988 // 1989 // API parameter values that are decorated as "sensitive" in the API will not 1990 // be included in the string output. The member name will be present, but the 1991 // value will be replaced with "sensitive". 1992 func (s CreateMembersOutput) String() string { 1993 return awsutil.Prettify(s) 1994 } 1995 1996 // GoString returns the string representation. 1997 // 1998 // API parameter values that are decorated as "sensitive" in the API will not 1999 // be included in the string output. The member name will be present, but the 2000 // value will be replaced with "sensitive". 2001 func (s CreateMembersOutput) GoString() string { 2002 return s.String() 2003 } 2004 2005 // SetMembers sets the Members field's value. 2006 func (s *CreateMembersOutput) SetMembers(v []*MemberDetail) *CreateMembersOutput { 2007 s.Members = v 2008 return s 2009 } 2010 2011 // SetUnprocessedAccounts sets the UnprocessedAccounts field's value. 2012 func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput { 2013 s.UnprocessedAccounts = v 2014 return s 2015 } 2016 2017 type DeleteGraphInput struct { 2018 _ struct{} `type:"structure"` 2019 2020 // The ARN of the behavior graph to disable. 2021 // 2022 // GraphArn is a required field 2023 GraphArn *string `type:"string" required:"true"` 2024 } 2025 2026 // String returns the string representation. 2027 // 2028 // API parameter values that are decorated as "sensitive" in the API will not 2029 // be included in the string output. The member name will be present, but the 2030 // value will be replaced with "sensitive". 2031 func (s DeleteGraphInput) String() string { 2032 return awsutil.Prettify(s) 2033 } 2034 2035 // GoString returns the string representation. 2036 // 2037 // API parameter values that are decorated as "sensitive" in the API will not 2038 // be included in the string output. The member name will be present, but the 2039 // value will be replaced with "sensitive". 2040 func (s DeleteGraphInput) GoString() string { 2041 return s.String() 2042 } 2043 2044 // Validate inspects the fields of the type to determine if they are valid. 2045 func (s *DeleteGraphInput) Validate() error { 2046 invalidParams := request.ErrInvalidParams{Context: "DeleteGraphInput"} 2047 if s.GraphArn == nil { 2048 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 2049 } 2050 2051 if invalidParams.Len() > 0 { 2052 return invalidParams 2053 } 2054 return nil 2055 } 2056 2057 // SetGraphArn sets the GraphArn field's value. 2058 func (s *DeleteGraphInput) SetGraphArn(v string) *DeleteGraphInput { 2059 s.GraphArn = &v 2060 return s 2061 } 2062 2063 type DeleteGraphOutput struct { 2064 _ struct{} `type:"structure" nopayload:"true"` 2065 } 2066 2067 // String returns the string representation. 2068 // 2069 // API parameter values that are decorated as "sensitive" in the API will not 2070 // be included in the string output. The member name will be present, but the 2071 // value will be replaced with "sensitive". 2072 func (s DeleteGraphOutput) String() string { 2073 return awsutil.Prettify(s) 2074 } 2075 2076 // GoString returns the string representation. 2077 // 2078 // API parameter values that are decorated as "sensitive" in the API will not 2079 // be included in the string output. The member name will be present, but the 2080 // value will be replaced with "sensitive". 2081 func (s DeleteGraphOutput) GoString() string { 2082 return s.String() 2083 } 2084 2085 type DeleteMembersInput struct { 2086 _ struct{} `type:"structure"` 2087 2088 // The list of AWS account identifiers for the member accounts to delete from 2089 // the behavior graph. You can delete up to 50 member accounts at a time. 2090 // 2091 // AccountIds is a required field 2092 AccountIds []*string `min:"1" type:"list" required:"true"` 2093 2094 // The ARN of the behavior graph to delete members from. 2095 // 2096 // GraphArn is a required field 2097 GraphArn *string `type:"string" required:"true"` 2098 } 2099 2100 // String returns the string representation. 2101 // 2102 // API parameter values that are decorated as "sensitive" in the API will not 2103 // be included in the string output. The member name will be present, but the 2104 // value will be replaced with "sensitive". 2105 func (s DeleteMembersInput) String() string { 2106 return awsutil.Prettify(s) 2107 } 2108 2109 // GoString returns the string representation. 2110 // 2111 // API parameter values that are decorated as "sensitive" in the API will not 2112 // be included in the string output. The member name will be present, but the 2113 // value will be replaced with "sensitive". 2114 func (s DeleteMembersInput) GoString() string { 2115 return s.String() 2116 } 2117 2118 // Validate inspects the fields of the type to determine if they are valid. 2119 func (s *DeleteMembersInput) Validate() error { 2120 invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"} 2121 if s.AccountIds == nil { 2122 invalidParams.Add(request.NewErrParamRequired("AccountIds")) 2123 } 2124 if s.AccountIds != nil && len(s.AccountIds) < 1 { 2125 invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) 2126 } 2127 if s.GraphArn == nil { 2128 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 2129 } 2130 2131 if invalidParams.Len() > 0 { 2132 return invalidParams 2133 } 2134 return nil 2135 } 2136 2137 // SetAccountIds sets the AccountIds field's value. 2138 func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput { 2139 s.AccountIds = v 2140 return s 2141 } 2142 2143 // SetGraphArn sets the GraphArn field's value. 2144 func (s *DeleteMembersInput) SetGraphArn(v string) *DeleteMembersInput { 2145 s.GraphArn = &v 2146 return s 2147 } 2148 2149 type DeleteMembersOutput struct { 2150 _ struct{} `type:"structure"` 2151 2152 // The list of AWS account identifiers for the member accounts that Detective 2153 // successfully deleted from the behavior graph. 2154 AccountIds []*string `min:"1" type:"list"` 2155 2156 // The list of member accounts that Detective was not able to delete from the 2157 // behavior graph. For each member account, provides the reason that the deletion 2158 // could not be processed. 2159 UnprocessedAccounts []*UnprocessedAccount `type:"list"` 2160 } 2161 2162 // String returns the string representation. 2163 // 2164 // API parameter values that are decorated as "sensitive" in the API will not 2165 // be included in the string output. The member name will be present, but the 2166 // value will be replaced with "sensitive". 2167 func (s DeleteMembersOutput) String() string { 2168 return awsutil.Prettify(s) 2169 } 2170 2171 // GoString returns the string representation. 2172 // 2173 // API parameter values that are decorated as "sensitive" in the API will not 2174 // be included in the string output. The member name will be present, but the 2175 // value will be replaced with "sensitive". 2176 func (s DeleteMembersOutput) GoString() string { 2177 return s.String() 2178 } 2179 2180 // SetAccountIds sets the AccountIds field's value. 2181 func (s *DeleteMembersOutput) SetAccountIds(v []*string) *DeleteMembersOutput { 2182 s.AccountIds = v 2183 return s 2184 } 2185 2186 // SetUnprocessedAccounts sets the UnprocessedAccounts field's value. 2187 func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput { 2188 s.UnprocessedAccounts = v 2189 return s 2190 } 2191 2192 type DisassociateMembershipInput struct { 2193 _ struct{} `type:"structure"` 2194 2195 // The ARN of the behavior graph to remove the member account from. 2196 // 2197 // The member account's member status in the behavior graph must be ENABLED. 2198 // 2199 // GraphArn is a required field 2200 GraphArn *string `type:"string" required:"true"` 2201 } 2202 2203 // String returns the string representation. 2204 // 2205 // API parameter values that are decorated as "sensitive" in the API will not 2206 // be included in the string output. The member name will be present, but the 2207 // value will be replaced with "sensitive". 2208 func (s DisassociateMembershipInput) String() string { 2209 return awsutil.Prettify(s) 2210 } 2211 2212 // GoString returns the string representation. 2213 // 2214 // API parameter values that are decorated as "sensitive" in the API will not 2215 // be included in the string output. The member name will be present, but the 2216 // value will be replaced with "sensitive". 2217 func (s DisassociateMembershipInput) GoString() string { 2218 return s.String() 2219 } 2220 2221 // Validate inspects the fields of the type to determine if they are valid. 2222 func (s *DisassociateMembershipInput) Validate() error { 2223 invalidParams := request.ErrInvalidParams{Context: "DisassociateMembershipInput"} 2224 if s.GraphArn == nil { 2225 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 2226 } 2227 2228 if invalidParams.Len() > 0 { 2229 return invalidParams 2230 } 2231 return nil 2232 } 2233 2234 // SetGraphArn sets the GraphArn field's value. 2235 func (s *DisassociateMembershipInput) SetGraphArn(v string) *DisassociateMembershipInput { 2236 s.GraphArn = &v 2237 return s 2238 } 2239 2240 type DisassociateMembershipOutput struct { 2241 _ struct{} `type:"structure" nopayload:"true"` 2242 } 2243 2244 // String returns the string representation. 2245 // 2246 // API parameter values that are decorated as "sensitive" in the API will not 2247 // be included in the string output. The member name will be present, but the 2248 // value will be replaced with "sensitive". 2249 func (s DisassociateMembershipOutput) String() string { 2250 return awsutil.Prettify(s) 2251 } 2252 2253 // GoString returns the string representation. 2254 // 2255 // API parameter values that are decorated as "sensitive" in the API will not 2256 // be included in the string output. The member name will be present, but the 2257 // value will be replaced with "sensitive". 2258 func (s DisassociateMembershipOutput) GoString() string { 2259 return s.String() 2260 } 2261 2262 type GetMembersInput struct { 2263 _ struct{} `type:"structure"` 2264 2265 // The list of AWS account identifiers for the member account for which to return 2266 // member details. You can request details for up to 50 member accounts at a 2267 // time. 2268 // 2269 // You cannot use GetMembers to retrieve information about member accounts that 2270 // were removed from the behavior graph. 2271 // 2272 // AccountIds is a required field 2273 AccountIds []*string `min:"1" type:"list" required:"true"` 2274 2275 // The ARN of the behavior graph for which to request the member details. 2276 // 2277 // GraphArn is a required field 2278 GraphArn *string `type:"string" required:"true"` 2279 } 2280 2281 // String returns the string representation. 2282 // 2283 // API parameter values that are decorated as "sensitive" in the API will not 2284 // be included in the string output. The member name will be present, but the 2285 // value will be replaced with "sensitive". 2286 func (s GetMembersInput) String() string { 2287 return awsutil.Prettify(s) 2288 } 2289 2290 // GoString returns the string representation. 2291 // 2292 // API parameter values that are decorated as "sensitive" in the API will not 2293 // be included in the string output. The member name will be present, but the 2294 // value will be replaced with "sensitive". 2295 func (s GetMembersInput) GoString() string { 2296 return s.String() 2297 } 2298 2299 // Validate inspects the fields of the type to determine if they are valid. 2300 func (s *GetMembersInput) Validate() error { 2301 invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"} 2302 if s.AccountIds == nil { 2303 invalidParams.Add(request.NewErrParamRequired("AccountIds")) 2304 } 2305 if s.AccountIds != nil && len(s.AccountIds) < 1 { 2306 invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1)) 2307 } 2308 if s.GraphArn == nil { 2309 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 2310 } 2311 2312 if invalidParams.Len() > 0 { 2313 return invalidParams 2314 } 2315 return nil 2316 } 2317 2318 // SetAccountIds sets the AccountIds field's value. 2319 func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput { 2320 s.AccountIds = v 2321 return s 2322 } 2323 2324 // SetGraphArn sets the GraphArn field's value. 2325 func (s *GetMembersInput) SetGraphArn(v string) *GetMembersInput { 2326 s.GraphArn = &v 2327 return s 2328 } 2329 2330 type GetMembersOutput struct { 2331 _ struct{} `type:"structure"` 2332 2333 // The member account details that Detective is returning in response to the 2334 // request. 2335 MemberDetails []*MemberDetail `type:"list"` 2336 2337 // The requested member accounts for which Detective was unable to return member 2338 // details. 2339 // 2340 // For each account, provides the reason why the request could not be processed. 2341 UnprocessedAccounts []*UnprocessedAccount `type:"list"` 2342 } 2343 2344 // String returns the string representation. 2345 // 2346 // API parameter values that are decorated as "sensitive" in the API will not 2347 // be included in the string output. The member name will be present, but the 2348 // value will be replaced with "sensitive". 2349 func (s GetMembersOutput) String() string { 2350 return awsutil.Prettify(s) 2351 } 2352 2353 // GoString returns the string representation. 2354 // 2355 // API parameter values that are decorated as "sensitive" in the API will not 2356 // be included in the string output. The member name will be present, but the 2357 // value will be replaced with "sensitive". 2358 func (s GetMembersOutput) GoString() string { 2359 return s.String() 2360 } 2361 2362 // SetMemberDetails sets the MemberDetails field's value. 2363 func (s *GetMembersOutput) SetMemberDetails(v []*MemberDetail) *GetMembersOutput { 2364 s.MemberDetails = v 2365 return s 2366 } 2367 2368 // SetUnprocessedAccounts sets the UnprocessedAccounts field's value. 2369 func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput { 2370 s.UnprocessedAccounts = v 2371 return s 2372 } 2373 2374 // A behavior graph in Detective. 2375 type Graph struct { 2376 _ struct{} `type:"structure"` 2377 2378 // The ARN of the behavior graph. 2379 Arn *string `type:"string"` 2380 2381 // The date and time that the behavior graph was created. The value is in milliseconds 2382 // since the epoch. 2383 CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` 2384 } 2385 2386 // String returns the string representation. 2387 // 2388 // API parameter values that are decorated as "sensitive" in the API will not 2389 // be included in the string output. The member name will be present, but the 2390 // value will be replaced with "sensitive". 2391 func (s Graph) String() string { 2392 return awsutil.Prettify(s) 2393 } 2394 2395 // GoString returns the string representation. 2396 // 2397 // API parameter values that are decorated as "sensitive" in the API will not 2398 // be included in the string output. The member name will be present, but the 2399 // value will be replaced with "sensitive". 2400 func (s Graph) GoString() string { 2401 return s.String() 2402 } 2403 2404 // SetArn sets the Arn field's value. 2405 func (s *Graph) SetArn(v string) *Graph { 2406 s.Arn = &v 2407 return s 2408 } 2409 2410 // SetCreatedTime sets the CreatedTime field's value. 2411 func (s *Graph) SetCreatedTime(v time.Time) *Graph { 2412 s.CreatedTime = &v 2413 return s 2414 } 2415 2416 // The request was valid but failed because of a problem with the service. 2417 type InternalServerException struct { 2418 _ struct{} `type:"structure"` 2419 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 2420 2421 Message_ *string `locationName:"Message" type:"string"` 2422 } 2423 2424 // String returns the string representation. 2425 // 2426 // API parameter values that are decorated as "sensitive" in the API will not 2427 // be included in the string output. The member name will be present, but the 2428 // value will be replaced with "sensitive". 2429 func (s InternalServerException) String() string { 2430 return awsutil.Prettify(s) 2431 } 2432 2433 // GoString returns the string representation. 2434 // 2435 // API parameter values that are decorated as "sensitive" in the API will not 2436 // be included in the string output. The member name will be present, but the 2437 // value will be replaced with "sensitive". 2438 func (s InternalServerException) GoString() string { 2439 return s.String() 2440 } 2441 2442 func newErrorInternalServerException(v protocol.ResponseMetadata) error { 2443 return &InternalServerException{ 2444 RespMetadata: v, 2445 } 2446 } 2447 2448 // Code returns the exception type name. 2449 func (s *InternalServerException) Code() string { 2450 return "InternalServerException" 2451 } 2452 2453 // Message returns the exception's message. 2454 func (s *InternalServerException) Message() string { 2455 if s.Message_ != nil { 2456 return *s.Message_ 2457 } 2458 return "" 2459 } 2460 2461 // OrigErr always returns nil, satisfies awserr.Error interface. 2462 func (s *InternalServerException) OrigErr() error { 2463 return nil 2464 } 2465 2466 func (s *InternalServerException) Error() string { 2467 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 2468 } 2469 2470 // Status code returns the HTTP status code for the request's response error. 2471 func (s *InternalServerException) StatusCode() int { 2472 return s.RespMetadata.StatusCode 2473 } 2474 2475 // RequestID returns the service's response RequestID for request. 2476 func (s *InternalServerException) RequestID() string { 2477 return s.RespMetadata.RequestID 2478 } 2479 2480 type ListGraphsInput struct { 2481 _ struct{} `type:"structure"` 2482 2483 // The maximum number of graphs to return at a time. The total must be less 2484 // than the overall limit on the number of results to return, which is currently 2485 // 200. 2486 MaxResults *int64 `min:"1" type:"integer"` 2487 2488 // For requests to get the next page of results, the pagination token that was 2489 // returned with the previous set of results. The initial request does not include 2490 // a pagination token. 2491 NextToken *string `min:"1" type:"string"` 2492 } 2493 2494 // String returns the string representation. 2495 // 2496 // API parameter values that are decorated as "sensitive" in the API will not 2497 // be included in the string output. The member name will be present, but the 2498 // value will be replaced with "sensitive". 2499 func (s ListGraphsInput) String() string { 2500 return awsutil.Prettify(s) 2501 } 2502 2503 // GoString returns the string representation. 2504 // 2505 // API parameter values that are decorated as "sensitive" in the API will not 2506 // be included in the string output. The member name will be present, but the 2507 // value will be replaced with "sensitive". 2508 func (s ListGraphsInput) GoString() string { 2509 return s.String() 2510 } 2511 2512 // Validate inspects the fields of the type to determine if they are valid. 2513 func (s *ListGraphsInput) Validate() error { 2514 invalidParams := request.ErrInvalidParams{Context: "ListGraphsInput"} 2515 if s.MaxResults != nil && *s.MaxResults < 1 { 2516 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 2517 } 2518 if s.NextToken != nil && len(*s.NextToken) < 1 { 2519 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 2520 } 2521 2522 if invalidParams.Len() > 0 { 2523 return invalidParams 2524 } 2525 return nil 2526 } 2527 2528 // SetMaxResults sets the MaxResults field's value. 2529 func (s *ListGraphsInput) SetMaxResults(v int64) *ListGraphsInput { 2530 s.MaxResults = &v 2531 return s 2532 } 2533 2534 // SetNextToken sets the NextToken field's value. 2535 func (s *ListGraphsInput) SetNextToken(v string) *ListGraphsInput { 2536 s.NextToken = &v 2537 return s 2538 } 2539 2540 type ListGraphsOutput struct { 2541 _ struct{} `type:"structure"` 2542 2543 // A list of behavior graphs that the account is an administrator account for. 2544 GraphList []*Graph `type:"list"` 2545 2546 // If there are more behavior graphs remaining in the results, then this is 2547 // the pagination token to use to request the next page of behavior graphs. 2548 NextToken *string `min:"1" type:"string"` 2549 } 2550 2551 // String returns the string representation. 2552 // 2553 // API parameter values that are decorated as "sensitive" in the API will not 2554 // be included in the string output. The member name will be present, but the 2555 // value will be replaced with "sensitive". 2556 func (s ListGraphsOutput) String() string { 2557 return awsutil.Prettify(s) 2558 } 2559 2560 // GoString returns the string representation. 2561 // 2562 // API parameter values that are decorated as "sensitive" in the API will not 2563 // be included in the string output. The member name will be present, but the 2564 // value will be replaced with "sensitive". 2565 func (s ListGraphsOutput) GoString() string { 2566 return s.String() 2567 } 2568 2569 // SetGraphList sets the GraphList field's value. 2570 func (s *ListGraphsOutput) SetGraphList(v []*Graph) *ListGraphsOutput { 2571 s.GraphList = v 2572 return s 2573 } 2574 2575 // SetNextToken sets the NextToken field's value. 2576 func (s *ListGraphsOutput) SetNextToken(v string) *ListGraphsOutput { 2577 s.NextToken = &v 2578 return s 2579 } 2580 2581 type ListInvitationsInput struct { 2582 _ struct{} `type:"structure"` 2583 2584 // The maximum number of behavior graph invitations to return in the response. 2585 // The total must be less than the overall limit on the number of results to 2586 // return, which is currently 200. 2587 MaxResults *int64 `min:"1" type:"integer"` 2588 2589 // For requests to retrieve the next page of results, the pagination token that 2590 // was returned with the previous page of results. The initial request does 2591 // not include a pagination token. 2592 NextToken *string `min:"1" type:"string"` 2593 } 2594 2595 // String returns the string representation. 2596 // 2597 // API parameter values that are decorated as "sensitive" in the API will not 2598 // be included in the string output. The member name will be present, but the 2599 // value will be replaced with "sensitive". 2600 func (s ListInvitationsInput) String() string { 2601 return awsutil.Prettify(s) 2602 } 2603 2604 // GoString returns the string representation. 2605 // 2606 // API parameter values that are decorated as "sensitive" in the API will not 2607 // be included in the string output. The member name will be present, but the 2608 // value will be replaced with "sensitive". 2609 func (s ListInvitationsInput) GoString() string { 2610 return s.String() 2611 } 2612 2613 // Validate inspects the fields of the type to determine if they are valid. 2614 func (s *ListInvitationsInput) Validate() error { 2615 invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"} 2616 if s.MaxResults != nil && *s.MaxResults < 1 { 2617 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 2618 } 2619 if s.NextToken != nil && len(*s.NextToken) < 1 { 2620 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 2621 } 2622 2623 if invalidParams.Len() > 0 { 2624 return invalidParams 2625 } 2626 return nil 2627 } 2628 2629 // SetMaxResults sets the MaxResults field's value. 2630 func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput { 2631 s.MaxResults = &v 2632 return s 2633 } 2634 2635 // SetNextToken sets the NextToken field's value. 2636 func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput { 2637 s.NextToken = &v 2638 return s 2639 } 2640 2641 type ListInvitationsOutput struct { 2642 _ struct{} `type:"structure"` 2643 2644 // The list of behavior graphs for which the member account has open or accepted 2645 // invitations. 2646 Invitations []*MemberDetail `type:"list"` 2647 2648 // If there are more behavior graphs remaining in the results, then this is 2649 // the pagination token to use to request the next page of behavior graphs. 2650 NextToken *string `min:"1" type:"string"` 2651 } 2652 2653 // String returns the string representation. 2654 // 2655 // API parameter values that are decorated as "sensitive" in the API will not 2656 // be included in the string output. The member name will be present, but the 2657 // value will be replaced with "sensitive". 2658 func (s ListInvitationsOutput) String() string { 2659 return awsutil.Prettify(s) 2660 } 2661 2662 // GoString returns the string representation. 2663 // 2664 // API parameter values that are decorated as "sensitive" in the API will not 2665 // be included in the string output. The member name will be present, but the 2666 // value will be replaced with "sensitive". 2667 func (s ListInvitationsOutput) GoString() string { 2668 return s.String() 2669 } 2670 2671 // SetInvitations sets the Invitations field's value. 2672 func (s *ListInvitationsOutput) SetInvitations(v []*MemberDetail) *ListInvitationsOutput { 2673 s.Invitations = v 2674 return s 2675 } 2676 2677 // SetNextToken sets the NextToken field's value. 2678 func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput { 2679 s.NextToken = &v 2680 return s 2681 } 2682 2683 type ListMembersInput struct { 2684 _ struct{} `type:"structure"` 2685 2686 // The ARN of the behavior graph for which to retrieve the list of member accounts. 2687 // 2688 // GraphArn is a required field 2689 GraphArn *string `type:"string" required:"true"` 2690 2691 // The maximum number of member accounts to include in the response. The total 2692 // must be less than the overall limit on the number of results to return, which 2693 // is currently 200. 2694 MaxResults *int64 `min:"1" type:"integer"` 2695 2696 // For requests to retrieve the next page of member account results, the pagination 2697 // token that was returned with the previous page of results. The initial request 2698 // does not include a pagination token. 2699 NextToken *string `min:"1" type:"string"` 2700 } 2701 2702 // String returns the string representation. 2703 // 2704 // API parameter values that are decorated as "sensitive" in the API will not 2705 // be included in the string output. The member name will be present, but the 2706 // value will be replaced with "sensitive". 2707 func (s ListMembersInput) String() string { 2708 return awsutil.Prettify(s) 2709 } 2710 2711 // GoString returns the string representation. 2712 // 2713 // API parameter values that are decorated as "sensitive" in the API will not 2714 // be included in the string output. The member name will be present, but the 2715 // value will be replaced with "sensitive". 2716 func (s ListMembersInput) GoString() string { 2717 return s.String() 2718 } 2719 2720 // Validate inspects the fields of the type to determine if they are valid. 2721 func (s *ListMembersInput) Validate() error { 2722 invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"} 2723 if s.GraphArn == nil { 2724 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 2725 } 2726 if s.MaxResults != nil && *s.MaxResults < 1 { 2727 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 2728 } 2729 if s.NextToken != nil && len(*s.NextToken) < 1 { 2730 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 2731 } 2732 2733 if invalidParams.Len() > 0 { 2734 return invalidParams 2735 } 2736 return nil 2737 } 2738 2739 // SetGraphArn sets the GraphArn field's value. 2740 func (s *ListMembersInput) SetGraphArn(v string) *ListMembersInput { 2741 s.GraphArn = &v 2742 return s 2743 } 2744 2745 // SetMaxResults sets the MaxResults field's value. 2746 func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput { 2747 s.MaxResults = &v 2748 return s 2749 } 2750 2751 // SetNextToken sets the NextToken field's value. 2752 func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput { 2753 s.NextToken = &v 2754 return s 2755 } 2756 2757 type ListMembersOutput struct { 2758 _ struct{} `type:"structure"` 2759 2760 // The list of member accounts in the behavior graph. 2761 // 2762 // The results include member accounts that did not pass verification and member 2763 // accounts that have not yet accepted the invitation to the behavior graph. 2764 // The results do not include member accounts that were removed from the behavior 2765 // graph. 2766 MemberDetails []*MemberDetail `type:"list"` 2767 2768 // If there are more member accounts remaining in the results, then this is 2769 // the pagination token to use to request the next page of member accounts. 2770 NextToken *string `min:"1" type:"string"` 2771 } 2772 2773 // String returns the string representation. 2774 // 2775 // API parameter values that are decorated as "sensitive" in the API will not 2776 // be included in the string output. The member name will be present, but the 2777 // value will be replaced with "sensitive". 2778 func (s ListMembersOutput) String() string { 2779 return awsutil.Prettify(s) 2780 } 2781 2782 // GoString returns the string representation. 2783 // 2784 // API parameter values that are decorated as "sensitive" in the API will not 2785 // be included in the string output. The member name will be present, but the 2786 // value will be replaced with "sensitive". 2787 func (s ListMembersOutput) GoString() string { 2788 return s.String() 2789 } 2790 2791 // SetMemberDetails sets the MemberDetails field's value. 2792 func (s *ListMembersOutput) SetMemberDetails(v []*MemberDetail) *ListMembersOutput { 2793 s.MemberDetails = v 2794 return s 2795 } 2796 2797 // SetNextToken sets the NextToken field's value. 2798 func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput { 2799 s.NextToken = &v 2800 return s 2801 } 2802 2803 type ListTagsForResourceInput struct { 2804 _ struct{} `type:"structure" nopayload:"true"` 2805 2806 // The ARN of the behavior graph for which to retrieve the tag values. 2807 // 2808 // ResourceArn is a required field 2809 ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` 2810 } 2811 2812 // String returns the string representation. 2813 // 2814 // API parameter values that are decorated as "sensitive" in the API will not 2815 // be included in the string output. The member name will be present, but the 2816 // value will be replaced with "sensitive". 2817 func (s ListTagsForResourceInput) String() string { 2818 return awsutil.Prettify(s) 2819 } 2820 2821 // GoString returns the string representation. 2822 // 2823 // API parameter values that are decorated as "sensitive" in the API will not 2824 // be included in the string output. The member name will be present, but the 2825 // value will be replaced with "sensitive". 2826 func (s ListTagsForResourceInput) GoString() string { 2827 return s.String() 2828 } 2829 2830 // Validate inspects the fields of the type to determine if they are valid. 2831 func (s *ListTagsForResourceInput) Validate() error { 2832 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 2833 if s.ResourceArn == nil { 2834 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 2835 } 2836 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 2837 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 2838 } 2839 2840 if invalidParams.Len() > 0 { 2841 return invalidParams 2842 } 2843 return nil 2844 } 2845 2846 // SetResourceArn sets the ResourceArn field's value. 2847 func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 2848 s.ResourceArn = &v 2849 return s 2850 } 2851 2852 type ListTagsForResourceOutput struct { 2853 _ struct{} `type:"structure"` 2854 2855 // The tag values that are assigned to the behavior graph. The request returns 2856 // up to 50 tag values. 2857 Tags map[string]*string `min:"1" type:"map"` 2858 } 2859 2860 // String returns the string representation. 2861 // 2862 // API parameter values that are decorated as "sensitive" in the API will not 2863 // be included in the string output. The member name will be present, but the 2864 // value will be replaced with "sensitive". 2865 func (s ListTagsForResourceOutput) String() string { 2866 return awsutil.Prettify(s) 2867 } 2868 2869 // GoString returns the string representation. 2870 // 2871 // API parameter values that are decorated as "sensitive" in the API will not 2872 // be included in the string output. The member name will be present, but the 2873 // value will be replaced with "sensitive". 2874 func (s ListTagsForResourceOutput) GoString() string { 2875 return s.String() 2876 } 2877 2878 // SetTags sets the Tags field's value. 2879 func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput { 2880 s.Tags = v 2881 return s 2882 } 2883 2884 // Details about a member account that was invited to contribute to a behavior 2885 // graph. 2886 type MemberDetail struct { 2887 _ struct{} `type:"structure"` 2888 2889 // The AWS account identifier for the member account. 2890 AccountId *string `min:"12" type:"string"` 2891 2892 // The AWS account identifier of the administrator account for the behavior 2893 // graph. 2894 AdministratorId *string `min:"12" type:"string"` 2895 2896 // For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that 2897 // the member account is not enabled. 2898 // 2899 // The reason can have one of the following values: 2900 // 2901 // * VOLUME_TOO_HIGH - Indicates that adding the member account would cause 2902 // the data volume for the behavior graph to be too high. 2903 // 2904 // * VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data 2905 // volume for the member account. This is usually because the member account 2906 // is not enrolled in Amazon GuardDuty. 2907 DisabledReason *string `type:"string" enum:"MemberDisabledReason"` 2908 2909 // The AWS account root user email address for the member account. 2910 EmailAddress *string `min:"1" type:"string"` 2911 2912 // The ARN of the behavior graph that the member account was invited to. 2913 GraphArn *string `type:"string"` 2914 2915 // The date and time that Detective sent the invitation to the member account. 2916 // The value is in milliseconds since the epoch. 2917 InvitedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` 2918 2919 // The AWS account identifier of the administrator account for the behavior 2920 // graph. 2921 // 2922 // Deprecated: This property is deprecated. Use AdministratorId instead. 2923 MasterId *string `min:"12" deprecated:"true" type:"string"` 2924 2925 // The member account data volume as a percentage of the maximum allowed data 2926 // volume. 0 indicates 0 percent, and 100 indicates 100 percent. 2927 // 2928 // Note that this is not the percentage of the behavior graph data volume. 2929 // 2930 // For example, the data volume for the behavior graph is 80 GB per day. The 2931 // maximum data volume is 160 GB per day. If the data volume for the member 2932 // account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents 2933 // 25% of the maximum allowed data volume. 2934 // 2935 // Deprecated: This property is deprecated. Use VolumeUsageInBytes instead. 2936 PercentOfGraphUtilization *float64 `deprecated:"true" type:"double"` 2937 2938 // The date and time when the graph utilization percentage was last updated. 2939 // 2940 // Deprecated: This property is deprecated. Use VolumeUsageUpdatedTime instead. 2941 PercentOfGraphUtilizationUpdatedTime *time.Time `deprecated:"true" type:"timestamp" timestampFormat:"iso8601"` 2942 2943 // The current membership status of the member account. The status can have 2944 // one of the following values: 2945 // 2946 // * INVITED - Indicates that the member was sent an invitation but has not 2947 // yet responded. 2948 // 2949 // * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying that 2950 // the account identifier and email address provided for the member account 2951 // match. If they do match, then Detective sends the invitation. If the email 2952 // address and account identifier don't match, then the member cannot be 2953 // added to the behavior graph. 2954 // 2955 // * VERIFICATION_FAILED - Indicates that the account and email address provided 2956 // for the member account do not match, and Detective did not send an invitation 2957 // to the account. 2958 // 2959 // * ENABLED - Indicates that the member account accepted the invitation 2960 // to contribute to the behavior graph. 2961 // 2962 // * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted the 2963 // invitation but is prevented from contributing data to the behavior graph. 2964 // DisabledReason provides the reason why the member account is not enabled. 2965 // 2966 // Member accounts that declined an invitation or that were removed from the 2967 // behavior graph are not included. 2968 Status *string `type:"string" enum:"MemberStatus"` 2969 2970 // The date and time that the member account was last updated. The value is 2971 // in milliseconds since the epoch. 2972 UpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` 2973 2974 // The data volume in bytes per day for the member account. 2975 VolumeUsageInBytes *int64 `type:"long"` 2976 2977 // The data and time when the member account data volume was last updated. 2978 VolumeUsageUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"` 2979 } 2980 2981 // String returns the string representation. 2982 // 2983 // API parameter values that are decorated as "sensitive" in the API will not 2984 // be included in the string output. The member name will be present, but the 2985 // value will be replaced with "sensitive". 2986 func (s MemberDetail) String() string { 2987 return awsutil.Prettify(s) 2988 } 2989 2990 // GoString returns the string representation. 2991 // 2992 // API parameter values that are decorated as "sensitive" in the API will not 2993 // be included in the string output. The member name will be present, but the 2994 // value will be replaced with "sensitive". 2995 func (s MemberDetail) GoString() string { 2996 return s.String() 2997 } 2998 2999 // SetAccountId sets the AccountId field's value. 3000 func (s *MemberDetail) SetAccountId(v string) *MemberDetail { 3001 s.AccountId = &v 3002 return s 3003 } 3004 3005 // SetAdministratorId sets the AdministratorId field's value. 3006 func (s *MemberDetail) SetAdministratorId(v string) *MemberDetail { 3007 s.AdministratorId = &v 3008 return s 3009 } 3010 3011 // SetDisabledReason sets the DisabledReason field's value. 3012 func (s *MemberDetail) SetDisabledReason(v string) *MemberDetail { 3013 s.DisabledReason = &v 3014 return s 3015 } 3016 3017 // SetEmailAddress sets the EmailAddress field's value. 3018 func (s *MemberDetail) SetEmailAddress(v string) *MemberDetail { 3019 s.EmailAddress = &v 3020 return s 3021 } 3022 3023 // SetGraphArn sets the GraphArn field's value. 3024 func (s *MemberDetail) SetGraphArn(v string) *MemberDetail { 3025 s.GraphArn = &v 3026 return s 3027 } 3028 3029 // SetInvitedTime sets the InvitedTime field's value. 3030 func (s *MemberDetail) SetInvitedTime(v time.Time) *MemberDetail { 3031 s.InvitedTime = &v 3032 return s 3033 } 3034 3035 // SetMasterId sets the MasterId field's value. 3036 func (s *MemberDetail) SetMasterId(v string) *MemberDetail { 3037 s.MasterId = &v 3038 return s 3039 } 3040 3041 // SetPercentOfGraphUtilization sets the PercentOfGraphUtilization field's value. 3042 func (s *MemberDetail) SetPercentOfGraphUtilization(v float64) *MemberDetail { 3043 s.PercentOfGraphUtilization = &v 3044 return s 3045 } 3046 3047 // SetPercentOfGraphUtilizationUpdatedTime sets the PercentOfGraphUtilizationUpdatedTime field's value. 3048 func (s *MemberDetail) SetPercentOfGraphUtilizationUpdatedTime(v time.Time) *MemberDetail { 3049 s.PercentOfGraphUtilizationUpdatedTime = &v 3050 return s 3051 } 3052 3053 // SetStatus sets the Status field's value. 3054 func (s *MemberDetail) SetStatus(v string) *MemberDetail { 3055 s.Status = &v 3056 return s 3057 } 3058 3059 // SetUpdatedTime sets the UpdatedTime field's value. 3060 func (s *MemberDetail) SetUpdatedTime(v time.Time) *MemberDetail { 3061 s.UpdatedTime = &v 3062 return s 3063 } 3064 3065 // SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value. 3066 func (s *MemberDetail) SetVolumeUsageInBytes(v int64) *MemberDetail { 3067 s.VolumeUsageInBytes = &v 3068 return s 3069 } 3070 3071 // SetVolumeUsageUpdatedTime sets the VolumeUsageUpdatedTime field's value. 3072 func (s *MemberDetail) SetVolumeUsageUpdatedTime(v time.Time) *MemberDetail { 3073 s.VolumeUsageUpdatedTime = &v 3074 return s 3075 } 3076 3077 type RejectInvitationInput struct { 3078 _ struct{} `type:"structure"` 3079 3080 // The ARN of the behavior graph to reject the invitation to. 3081 // 3082 // The member account's current member status in the behavior graph must be 3083 // INVITED. 3084 // 3085 // GraphArn is a required field 3086 GraphArn *string `type:"string" required:"true"` 3087 } 3088 3089 // String returns the string representation. 3090 // 3091 // API parameter values that are decorated as "sensitive" in the API will not 3092 // be included in the string output. The member name will be present, but the 3093 // value will be replaced with "sensitive". 3094 func (s RejectInvitationInput) String() string { 3095 return awsutil.Prettify(s) 3096 } 3097 3098 // GoString returns the string representation. 3099 // 3100 // API parameter values that are decorated as "sensitive" in the API will not 3101 // be included in the string output. The member name will be present, but the 3102 // value will be replaced with "sensitive". 3103 func (s RejectInvitationInput) GoString() string { 3104 return s.String() 3105 } 3106 3107 // Validate inspects the fields of the type to determine if they are valid. 3108 func (s *RejectInvitationInput) Validate() error { 3109 invalidParams := request.ErrInvalidParams{Context: "RejectInvitationInput"} 3110 if s.GraphArn == nil { 3111 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 3112 } 3113 3114 if invalidParams.Len() > 0 { 3115 return invalidParams 3116 } 3117 return nil 3118 } 3119 3120 // SetGraphArn sets the GraphArn field's value. 3121 func (s *RejectInvitationInput) SetGraphArn(v string) *RejectInvitationInput { 3122 s.GraphArn = &v 3123 return s 3124 } 3125 3126 type RejectInvitationOutput struct { 3127 _ struct{} `type:"structure" nopayload:"true"` 3128 } 3129 3130 // String returns the string representation. 3131 // 3132 // API parameter values that are decorated as "sensitive" in the API will not 3133 // be included in the string output. The member name will be present, but the 3134 // value will be replaced with "sensitive". 3135 func (s RejectInvitationOutput) String() string { 3136 return awsutil.Prettify(s) 3137 } 3138 3139 // GoString returns the string representation. 3140 // 3141 // API parameter values that are decorated as "sensitive" in the API will not 3142 // be included in the string output. The member name will be present, but the 3143 // value will be replaced with "sensitive". 3144 func (s RejectInvitationOutput) GoString() string { 3145 return s.String() 3146 } 3147 3148 // The request refers to a nonexistent resource. 3149 type ResourceNotFoundException struct { 3150 _ struct{} `type:"structure"` 3151 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3152 3153 Message_ *string `locationName:"Message" type:"string"` 3154 } 3155 3156 // String returns the string representation. 3157 // 3158 // API parameter values that are decorated as "sensitive" in the API will not 3159 // be included in the string output. The member name will be present, but the 3160 // value will be replaced with "sensitive". 3161 func (s ResourceNotFoundException) String() string { 3162 return awsutil.Prettify(s) 3163 } 3164 3165 // GoString returns the string representation. 3166 // 3167 // API parameter values that are decorated as "sensitive" in the API will not 3168 // be included in the string output. The member name will be present, but the 3169 // value will be replaced with "sensitive". 3170 func (s ResourceNotFoundException) GoString() string { 3171 return s.String() 3172 } 3173 3174 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 3175 return &ResourceNotFoundException{ 3176 RespMetadata: v, 3177 } 3178 } 3179 3180 // Code returns the exception type name. 3181 func (s *ResourceNotFoundException) Code() string { 3182 return "ResourceNotFoundException" 3183 } 3184 3185 // Message returns the exception's message. 3186 func (s *ResourceNotFoundException) Message() string { 3187 if s.Message_ != nil { 3188 return *s.Message_ 3189 } 3190 return "" 3191 } 3192 3193 // OrigErr always returns nil, satisfies awserr.Error interface. 3194 func (s *ResourceNotFoundException) OrigErr() error { 3195 return nil 3196 } 3197 3198 func (s *ResourceNotFoundException) Error() string { 3199 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3200 } 3201 3202 // Status code returns the HTTP status code for the request's response error. 3203 func (s *ResourceNotFoundException) StatusCode() int { 3204 return s.RespMetadata.StatusCode 3205 } 3206 3207 // RequestID returns the service's response RequestID for request. 3208 func (s *ResourceNotFoundException) RequestID() string { 3209 return s.RespMetadata.RequestID 3210 } 3211 3212 // This request cannot be completed for one of the following reasons. 3213 // 3214 // * The request would cause the number of member accounts in the behavior 3215 // graph to exceed the maximum allowed. A behavior graph cannot have more 3216 // than 1000 member accounts. 3217 // 3218 // * The request would cause the data rate for the behavior graph to exceed 3219 // the maximum allowed. 3220 // 3221 // * Detective is unable to verify the data rate for the member account. 3222 // This is usually because the member account is not enrolled in Amazon GuardDuty. 3223 type ServiceQuotaExceededException struct { 3224 _ struct{} `type:"structure"` 3225 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3226 3227 Message_ *string `locationName:"Message" type:"string"` 3228 } 3229 3230 // String returns the string representation. 3231 // 3232 // API parameter values that are decorated as "sensitive" in the API will not 3233 // be included in the string output. The member name will be present, but the 3234 // value will be replaced with "sensitive". 3235 func (s ServiceQuotaExceededException) String() string { 3236 return awsutil.Prettify(s) 3237 } 3238 3239 // GoString returns the string representation. 3240 // 3241 // API parameter values that are decorated as "sensitive" in the API will not 3242 // be included in the string output. The member name will be present, but the 3243 // value will be replaced with "sensitive". 3244 func (s ServiceQuotaExceededException) GoString() string { 3245 return s.String() 3246 } 3247 3248 func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error { 3249 return &ServiceQuotaExceededException{ 3250 RespMetadata: v, 3251 } 3252 } 3253 3254 // Code returns the exception type name. 3255 func (s *ServiceQuotaExceededException) Code() string { 3256 return "ServiceQuotaExceededException" 3257 } 3258 3259 // Message returns the exception's message. 3260 func (s *ServiceQuotaExceededException) Message() string { 3261 if s.Message_ != nil { 3262 return *s.Message_ 3263 } 3264 return "" 3265 } 3266 3267 // OrigErr always returns nil, satisfies awserr.Error interface. 3268 func (s *ServiceQuotaExceededException) OrigErr() error { 3269 return nil 3270 } 3271 3272 func (s *ServiceQuotaExceededException) Error() string { 3273 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3274 } 3275 3276 // Status code returns the HTTP status code for the request's response error. 3277 func (s *ServiceQuotaExceededException) StatusCode() int { 3278 return s.RespMetadata.StatusCode 3279 } 3280 3281 // RequestID returns the service's response RequestID for request. 3282 func (s *ServiceQuotaExceededException) RequestID() string { 3283 return s.RespMetadata.RequestID 3284 } 3285 3286 type StartMonitoringMemberInput struct { 3287 _ struct{} `type:"structure"` 3288 3289 // The account ID of the member account to try to enable. 3290 // 3291 // The account must be an invited member account with a status of ACCEPTED_BUT_DISABLED. 3292 // 3293 // AccountId is a required field 3294 AccountId *string `min:"12" type:"string" required:"true"` 3295 3296 // The ARN of the behavior graph. 3297 // 3298 // GraphArn is a required field 3299 GraphArn *string `type:"string" required:"true"` 3300 } 3301 3302 // String returns the string representation. 3303 // 3304 // API parameter values that are decorated as "sensitive" in the API will not 3305 // be included in the string output. The member name will be present, but the 3306 // value will be replaced with "sensitive". 3307 func (s StartMonitoringMemberInput) String() string { 3308 return awsutil.Prettify(s) 3309 } 3310 3311 // GoString returns the string representation. 3312 // 3313 // API parameter values that are decorated as "sensitive" in the API will not 3314 // be included in the string output. The member name will be present, but the 3315 // value will be replaced with "sensitive". 3316 func (s StartMonitoringMemberInput) GoString() string { 3317 return s.String() 3318 } 3319 3320 // Validate inspects the fields of the type to determine if they are valid. 3321 func (s *StartMonitoringMemberInput) Validate() error { 3322 invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMemberInput"} 3323 if s.AccountId == nil { 3324 invalidParams.Add(request.NewErrParamRequired("AccountId")) 3325 } 3326 if s.AccountId != nil && len(*s.AccountId) < 12 { 3327 invalidParams.Add(request.NewErrParamMinLen("AccountId", 12)) 3328 } 3329 if s.GraphArn == nil { 3330 invalidParams.Add(request.NewErrParamRequired("GraphArn")) 3331 } 3332 3333 if invalidParams.Len() > 0 { 3334 return invalidParams 3335 } 3336 return nil 3337 } 3338 3339 // SetAccountId sets the AccountId field's value. 3340 func (s *StartMonitoringMemberInput) SetAccountId(v string) *StartMonitoringMemberInput { 3341 s.AccountId = &v 3342 return s 3343 } 3344 3345 // SetGraphArn sets the GraphArn field's value. 3346 func (s *StartMonitoringMemberInput) SetGraphArn(v string) *StartMonitoringMemberInput { 3347 s.GraphArn = &v 3348 return s 3349 } 3350 3351 type StartMonitoringMemberOutput struct { 3352 _ struct{} `type:"structure" nopayload:"true"` 3353 } 3354 3355 // String returns the string representation. 3356 // 3357 // API parameter values that are decorated as "sensitive" in the API will not 3358 // be included in the string output. The member name will be present, but the 3359 // value will be replaced with "sensitive". 3360 func (s StartMonitoringMemberOutput) String() string { 3361 return awsutil.Prettify(s) 3362 } 3363 3364 // GoString returns the string representation. 3365 // 3366 // API parameter values that are decorated as "sensitive" in the API will not 3367 // be included in the string output. The member name will be present, but the 3368 // value will be replaced with "sensitive". 3369 func (s StartMonitoringMemberOutput) GoString() string { 3370 return s.String() 3371 } 3372 3373 type TagResourceInput struct { 3374 _ struct{} `type:"structure"` 3375 3376 // The ARN of the behavior graph to assign the tags to. 3377 // 3378 // ResourceArn is a required field 3379 ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` 3380 3381 // The tags to assign to the behavior graph. You can add up to 50 tags. For 3382 // each tag, you provide the tag key and the tag value. Each tag key can contain 3383 // up to 128 characters. Each tag value can contain up to 256 characters. 3384 // 3385 // Tags is a required field 3386 Tags map[string]*string `min:"1" type:"map" required:"true"` 3387 } 3388 3389 // String returns the string representation. 3390 // 3391 // API parameter values that are decorated as "sensitive" in the API will not 3392 // be included in the string output. The member name will be present, but the 3393 // value will be replaced with "sensitive". 3394 func (s TagResourceInput) String() string { 3395 return awsutil.Prettify(s) 3396 } 3397 3398 // GoString returns the string representation. 3399 // 3400 // API parameter values that are decorated as "sensitive" in the API will not 3401 // be included in the string output. The member name will be present, but the 3402 // value will be replaced with "sensitive". 3403 func (s TagResourceInput) GoString() string { 3404 return s.String() 3405 } 3406 3407 // Validate inspects the fields of the type to determine if they are valid. 3408 func (s *TagResourceInput) Validate() error { 3409 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 3410 if s.ResourceArn == nil { 3411 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3412 } 3413 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 3414 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 3415 } 3416 if s.Tags == nil { 3417 invalidParams.Add(request.NewErrParamRequired("Tags")) 3418 } 3419 if s.Tags != nil && len(s.Tags) < 1 { 3420 invalidParams.Add(request.NewErrParamMinLen("Tags", 1)) 3421 } 3422 3423 if invalidParams.Len() > 0 { 3424 return invalidParams 3425 } 3426 return nil 3427 } 3428 3429 // SetResourceArn sets the ResourceArn field's value. 3430 func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 3431 s.ResourceArn = &v 3432 return s 3433 } 3434 3435 // SetTags sets the Tags field's value. 3436 func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput { 3437 s.Tags = v 3438 return s 3439 } 3440 3441 type TagResourceOutput struct { 3442 _ struct{} `type:"structure" nopayload:"true"` 3443 } 3444 3445 // String returns the string representation. 3446 // 3447 // API parameter values that are decorated as "sensitive" in the API will not 3448 // be included in the string output. The member name will be present, but the 3449 // value will be replaced with "sensitive". 3450 func (s TagResourceOutput) String() string { 3451 return awsutil.Prettify(s) 3452 } 3453 3454 // GoString returns the string representation. 3455 // 3456 // API parameter values that are decorated as "sensitive" in the API will not 3457 // be included in the string output. The member name will be present, but the 3458 // value will be replaced with "sensitive". 3459 func (s TagResourceOutput) GoString() string { 3460 return s.String() 3461 } 3462 3463 // A member account that was included in a request but for which the request 3464 // could not be processed. 3465 type UnprocessedAccount struct { 3466 _ struct{} `type:"structure"` 3467 3468 // The AWS account identifier of the member account that was not processed. 3469 AccountId *string `min:"12" type:"string"` 3470 3471 // The reason that the member account request could not be processed. 3472 Reason *string `type:"string"` 3473 } 3474 3475 // String returns the string representation. 3476 // 3477 // API parameter values that are decorated as "sensitive" in the API will not 3478 // be included in the string output. The member name will be present, but the 3479 // value will be replaced with "sensitive". 3480 func (s UnprocessedAccount) String() string { 3481 return awsutil.Prettify(s) 3482 } 3483 3484 // GoString returns the string representation. 3485 // 3486 // API parameter values that are decorated as "sensitive" in the API will not 3487 // be included in the string output. The member name will be present, but the 3488 // value will be replaced with "sensitive". 3489 func (s UnprocessedAccount) GoString() string { 3490 return s.String() 3491 } 3492 3493 // SetAccountId sets the AccountId field's value. 3494 func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount { 3495 s.AccountId = &v 3496 return s 3497 } 3498 3499 // SetReason sets the Reason field's value. 3500 func (s *UnprocessedAccount) SetReason(v string) *UnprocessedAccount { 3501 s.Reason = &v 3502 return s 3503 } 3504 3505 type UntagResourceInput struct { 3506 _ struct{} `type:"structure" nopayload:"true"` 3507 3508 // The ARN of the behavior graph to remove the tags from. 3509 // 3510 // ResourceArn is a required field 3511 ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"` 3512 3513 // The tag keys of the tags to remove from the behavior graph. You can remove 3514 // up to 50 tags at a time. 3515 // 3516 // TagKeys is a required field 3517 TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"` 3518 } 3519 3520 // String returns the string representation. 3521 // 3522 // API parameter values that are decorated as "sensitive" in the API will not 3523 // be included in the string output. The member name will be present, but the 3524 // value will be replaced with "sensitive". 3525 func (s UntagResourceInput) String() string { 3526 return awsutil.Prettify(s) 3527 } 3528 3529 // GoString returns the string representation. 3530 // 3531 // API parameter values that are decorated as "sensitive" in the API will not 3532 // be included in the string output. The member name will be present, but the 3533 // value will be replaced with "sensitive". 3534 func (s UntagResourceInput) GoString() string { 3535 return s.String() 3536 } 3537 3538 // Validate inspects the fields of the type to determine if they are valid. 3539 func (s *UntagResourceInput) Validate() error { 3540 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 3541 if s.ResourceArn == nil { 3542 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 3543 } 3544 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 3545 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 3546 } 3547 if s.TagKeys == nil { 3548 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 3549 } 3550 if s.TagKeys != nil && len(s.TagKeys) < 1 { 3551 invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1)) 3552 } 3553 3554 if invalidParams.Len() > 0 { 3555 return invalidParams 3556 } 3557 return nil 3558 } 3559 3560 // SetResourceArn sets the ResourceArn field's value. 3561 func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 3562 s.ResourceArn = &v 3563 return s 3564 } 3565 3566 // SetTagKeys sets the TagKeys field's value. 3567 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 3568 s.TagKeys = v 3569 return s 3570 } 3571 3572 type UntagResourceOutput struct { 3573 _ struct{} `type:"structure" nopayload:"true"` 3574 } 3575 3576 // String returns the string representation. 3577 // 3578 // API parameter values that are decorated as "sensitive" in the API will not 3579 // be included in the string output. The member name will be present, but the 3580 // value will be replaced with "sensitive". 3581 func (s UntagResourceOutput) String() string { 3582 return awsutil.Prettify(s) 3583 } 3584 3585 // GoString returns the string representation. 3586 // 3587 // API parameter values that are decorated as "sensitive" in the API will not 3588 // be included in the string output. The member name will be present, but the 3589 // value will be replaced with "sensitive". 3590 func (s UntagResourceOutput) GoString() string { 3591 return s.String() 3592 } 3593 3594 // The request parameters are invalid. 3595 type ValidationException struct { 3596 _ struct{} `type:"structure"` 3597 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3598 3599 Message_ *string `locationName:"Message" type:"string"` 3600 } 3601 3602 // String returns the string representation. 3603 // 3604 // API parameter values that are decorated as "sensitive" in the API will not 3605 // be included in the string output. The member name will be present, but the 3606 // value will be replaced with "sensitive". 3607 func (s ValidationException) String() string { 3608 return awsutil.Prettify(s) 3609 } 3610 3611 // GoString returns the string representation. 3612 // 3613 // API parameter values that are decorated as "sensitive" in the API will not 3614 // be included in the string output. The member name will be present, but the 3615 // value will be replaced with "sensitive". 3616 func (s ValidationException) GoString() string { 3617 return s.String() 3618 } 3619 3620 func newErrorValidationException(v protocol.ResponseMetadata) error { 3621 return &ValidationException{ 3622 RespMetadata: v, 3623 } 3624 } 3625 3626 // Code returns the exception type name. 3627 func (s *ValidationException) Code() string { 3628 return "ValidationException" 3629 } 3630 3631 // Message returns the exception's message. 3632 func (s *ValidationException) Message() string { 3633 if s.Message_ != nil { 3634 return *s.Message_ 3635 } 3636 return "" 3637 } 3638 3639 // OrigErr always returns nil, satisfies awserr.Error interface. 3640 func (s *ValidationException) OrigErr() error { 3641 return nil 3642 } 3643 3644 func (s *ValidationException) Error() string { 3645 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3646 } 3647 3648 // Status code returns the HTTP status code for the request's response error. 3649 func (s *ValidationException) StatusCode() int { 3650 return s.RespMetadata.StatusCode 3651 } 3652 3653 // RequestID returns the service's response RequestID for request. 3654 func (s *ValidationException) RequestID() string { 3655 return s.RespMetadata.RequestID 3656 } 3657 3658 const ( 3659 // MemberDisabledReasonVolumeTooHigh is a MemberDisabledReason enum value 3660 MemberDisabledReasonVolumeTooHigh = "VOLUME_TOO_HIGH" 3661 3662 // MemberDisabledReasonVolumeUnknown is a MemberDisabledReason enum value 3663 MemberDisabledReasonVolumeUnknown = "VOLUME_UNKNOWN" 3664 ) 3665 3666 // MemberDisabledReason_Values returns all elements of the MemberDisabledReason enum 3667 func MemberDisabledReason_Values() []string { 3668 return []string{ 3669 MemberDisabledReasonVolumeTooHigh, 3670 MemberDisabledReasonVolumeUnknown, 3671 } 3672 } 3673 3674 const ( 3675 // MemberStatusInvited is a MemberStatus enum value 3676 MemberStatusInvited = "INVITED" 3677 3678 // MemberStatusVerificationInProgress is a MemberStatus enum value 3679 MemberStatusVerificationInProgress = "VERIFICATION_IN_PROGRESS" 3680 3681 // MemberStatusVerificationFailed is a MemberStatus enum value 3682 MemberStatusVerificationFailed = "VERIFICATION_FAILED" 3683 3684 // MemberStatusEnabled is a MemberStatus enum value 3685 MemberStatusEnabled = "ENABLED" 3686 3687 // MemberStatusAcceptedButDisabled is a MemberStatus enum value 3688 MemberStatusAcceptedButDisabled = "ACCEPTED_BUT_DISABLED" 3689 ) 3690 3691 // MemberStatus_Values returns all elements of the MemberStatus enum 3692 func MemberStatus_Values() []string { 3693 return []string{ 3694 MemberStatusInvited, 3695 MemberStatusVerificationInProgress, 3696 MemberStatusVerificationFailed, 3697 MemberStatusEnabled, 3698 MemberStatusAcceptedButDisabled, 3699 } 3700 }