1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package shield 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opAssociateDRTLogBucket = "AssociateDRTLogBucket" 17 18// AssociateDRTLogBucketRequest generates a "aws/request.Request" representing the 19// client's request for the AssociateDRTLogBucket 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 AssociateDRTLogBucket for more information on using the AssociateDRTLogBucket 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 AssociateDRTLogBucketRequest method. 34// req, resp := client.AssociateDRTLogBucketRequest(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/shield-2016-06-02/AssociateDRTLogBucket 42func (c *Shield) AssociateDRTLogBucketRequest(input *AssociateDRTLogBucketInput) (req *request.Request, output *AssociateDRTLogBucketOutput) { 43 op := &request.Operation{ 44 Name: opAssociateDRTLogBucket, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AssociateDRTLogBucketInput{} 51 } 52 53 output = &AssociateDRTLogBucketOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57} 58 59// AssociateDRTLogBucket API operation for AWS Shield. 60// 61// Authorizes the Shield Response Team (SRT) to access the specified Amazon 62// S3 bucket containing log data such as Application Load Balancer access logs, 63// CloudFront logs, or logs from third party sources. You can associate up to 64// 10 Amazon S3 buckets with your subscription. 65// 66// To use the services of the SRT and make an AssociateDRTLogBucket request, 67// you must be subscribed to the Business Support plan (https://aws.amazon.com/premiumsupport/business-support/) 68// or the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). 69// 70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 71// with awserr.Error's Code and Message methods to get detailed information about 72// the error. 73// 74// See the AWS API reference guide for AWS Shield's 75// API operation AssociateDRTLogBucket for usage and error information. 76// 77// Returned Error Types: 78// * InternalErrorException 79// Exception that indicates that a problem occurred with the service infrastructure. 80// You can retry the request. 81// 82// * InvalidOperationException 83// Exception that indicates that the operation would not cause any change to 84// occur. 85// 86// * NoAssociatedRoleException 87// The ARN of the role that you specifed does not exist. 88// 89// * LimitsExceededException 90// Exception that indicates that the operation would exceed a limit. 91// 92// * InvalidParameterException 93// Exception that indicates that the parameters passed to the API are invalid. 94// If available, this exception includes details in additional properties. 95// 96// * AccessDeniedForDependencyException 97// In order to grant the necessary access to the Shield Response Team (SRT) 98// the user submitting the request must have the iam:PassRole permission. This 99// error indicates the user did not have the appropriate permissions. For more 100// information, see Granting a User Permissions to Pass a Role to an Amazon 101// Web Services Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). 102// 103// * OptimisticLockException 104// Exception that indicates that the resource state has been modified by another 105// client. Retrieve the resource and then retry your request. 106// 107// * ResourceNotFoundException 108// Exception indicating the specified resource does not exist. If available, 109// this exception includes details in additional properties. 110// 111// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTLogBucket 112func (c *Shield) AssociateDRTLogBucket(input *AssociateDRTLogBucketInput) (*AssociateDRTLogBucketOutput, error) { 113 req, out := c.AssociateDRTLogBucketRequest(input) 114 return out, req.Send() 115} 116 117// AssociateDRTLogBucketWithContext is the same as AssociateDRTLogBucket with the addition of 118// the ability to pass a context and additional request options. 119// 120// See AssociateDRTLogBucket for details on how to use this API operation. 121// 122// The context must be non-nil and will be used for request cancellation. If 123// the context is nil a panic will occur. In the future the SDK may create 124// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 125// for more information on using Contexts. 126func (c *Shield) AssociateDRTLogBucketWithContext(ctx aws.Context, input *AssociateDRTLogBucketInput, opts ...request.Option) (*AssociateDRTLogBucketOutput, error) { 127 req, out := c.AssociateDRTLogBucketRequest(input) 128 req.SetContext(ctx) 129 req.ApplyOptions(opts...) 130 return out, req.Send() 131} 132 133const opAssociateDRTRole = "AssociateDRTRole" 134 135// AssociateDRTRoleRequest generates a "aws/request.Request" representing the 136// client's request for the AssociateDRTRole operation. The "output" return 137// value will be populated with the request's response once the request completes 138// successfully. 139// 140// Use "Send" method on the returned Request to send the API call to the service. 141// the "output" return value is not valid until after Send returns without error. 142// 143// See AssociateDRTRole for more information on using the AssociateDRTRole 144// API call, and error handling. 145// 146// This method is useful when you want to inject custom logic or configuration 147// into the SDK's request lifecycle. Such as custom headers, or retry logic. 148// 149// 150// // Example sending a request using the AssociateDRTRoleRequest method. 151// req, resp := client.AssociateDRTRoleRequest(params) 152// 153// err := req.Send() 154// if err == nil { // resp is now filled 155// fmt.Println(resp) 156// } 157// 158// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTRole 159func (c *Shield) AssociateDRTRoleRequest(input *AssociateDRTRoleInput) (req *request.Request, output *AssociateDRTRoleOutput) { 160 op := &request.Operation{ 161 Name: opAssociateDRTRole, 162 HTTPMethod: "POST", 163 HTTPPath: "/", 164 } 165 166 if input == nil { 167 input = &AssociateDRTRoleInput{} 168 } 169 170 output = &AssociateDRTRoleOutput{} 171 req = c.newRequest(op, input, output) 172 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 173 return 174} 175 176// AssociateDRTRole API operation for AWS Shield. 177// 178// Authorizes the Shield Response Team (SRT) using the specified role, to access 179// your Amazon Web Services account to assist with DDoS attack mitigation during 180// potential attacks. This enables the SRT to inspect your WAF configuration 181// and create or update WAF rules and web ACLs. 182// 183// You can associate only one RoleArn with your subscription. If you submit 184// an AssociateDRTRole request for an account that already has an associated 185// role, the new RoleArn will replace the existing RoleArn. 186// 187// Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy 188// (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy) 189// managed policy to the role you will specify in the request. For more information 190// see Attaching and Detaching IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). 191// The role must also trust the service principal drt.shield.amazonaws.com. 192// For more information, see IAM JSON Policy Elements: Principal (https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_elements_principal.html). 193// 194// The SRT will have access only to your WAF and Shield resources. By submitting 195// this request, you authorize the SRT to inspect your WAF and Shield configuration 196// and create and update WAF rules and web ACLs on your behalf. The SRT takes 197// these actions only if explicitly authorized by you. 198// 199// You must have the iam:PassRole permission to make an AssociateDRTRole request. 200// For more information, see Granting a User Permissions to Pass a Role to an 201// Amazon Web Services Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). 202// 203// To use the services of the SRT and make an AssociateDRTRole request, you 204// must be subscribed to the Business Support plan (https://aws.amazon.com/premiumsupport/business-support/) 205// or the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). 206// 207// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 208// with awserr.Error's Code and Message methods to get detailed information about 209// the error. 210// 211// See the AWS API reference guide for AWS Shield's 212// API operation AssociateDRTRole for usage and error information. 213// 214// Returned Error Types: 215// * InternalErrorException 216// Exception that indicates that a problem occurred with the service infrastructure. 217// You can retry the request. 218// 219// * InvalidOperationException 220// Exception that indicates that the operation would not cause any change to 221// occur. 222// 223// * InvalidParameterException 224// Exception that indicates that the parameters passed to the API are invalid. 225// If available, this exception includes details in additional properties. 226// 227// * AccessDeniedForDependencyException 228// In order to grant the necessary access to the Shield Response Team (SRT) 229// the user submitting the request must have the iam:PassRole permission. This 230// error indicates the user did not have the appropriate permissions. For more 231// information, see Granting a User Permissions to Pass a Role to an Amazon 232// Web Services Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). 233// 234// * OptimisticLockException 235// Exception that indicates that the resource state has been modified by another 236// client. Retrieve the resource and then retry your request. 237// 238// * ResourceNotFoundException 239// Exception indicating the specified resource does not exist. If available, 240// this exception includes details in additional properties. 241// 242// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateDRTRole 243func (c *Shield) AssociateDRTRole(input *AssociateDRTRoleInput) (*AssociateDRTRoleOutput, error) { 244 req, out := c.AssociateDRTRoleRequest(input) 245 return out, req.Send() 246} 247 248// AssociateDRTRoleWithContext is the same as AssociateDRTRole with the addition of 249// the ability to pass a context and additional request options. 250// 251// See AssociateDRTRole for details on how to use this API operation. 252// 253// The context must be non-nil and will be used for request cancellation. If 254// the context is nil a panic will occur. In the future the SDK may create 255// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 256// for more information on using Contexts. 257func (c *Shield) AssociateDRTRoleWithContext(ctx aws.Context, input *AssociateDRTRoleInput, opts ...request.Option) (*AssociateDRTRoleOutput, error) { 258 req, out := c.AssociateDRTRoleRequest(input) 259 req.SetContext(ctx) 260 req.ApplyOptions(opts...) 261 return out, req.Send() 262} 263 264const opAssociateHealthCheck = "AssociateHealthCheck" 265 266// AssociateHealthCheckRequest generates a "aws/request.Request" representing the 267// client's request for the AssociateHealthCheck operation. The "output" return 268// value will be populated with the request's response once the request completes 269// successfully. 270// 271// Use "Send" method on the returned Request to send the API call to the service. 272// the "output" return value is not valid until after Send returns without error. 273// 274// See AssociateHealthCheck for more information on using the AssociateHealthCheck 275// API call, and error handling. 276// 277// This method is useful when you want to inject custom logic or configuration 278// into the SDK's request lifecycle. Such as custom headers, or retry logic. 279// 280// 281// // Example sending a request using the AssociateHealthCheckRequest method. 282// req, resp := client.AssociateHealthCheckRequest(params) 283// 284// err := req.Send() 285// if err == nil { // resp is now filled 286// fmt.Println(resp) 287// } 288// 289// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateHealthCheck 290func (c *Shield) AssociateHealthCheckRequest(input *AssociateHealthCheckInput) (req *request.Request, output *AssociateHealthCheckOutput) { 291 op := &request.Operation{ 292 Name: opAssociateHealthCheck, 293 HTTPMethod: "POST", 294 HTTPPath: "/", 295 } 296 297 if input == nil { 298 input = &AssociateHealthCheckInput{} 299 } 300 301 output = &AssociateHealthCheckOutput{} 302 req = c.newRequest(op, input, output) 303 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 304 return 305} 306 307// AssociateHealthCheck API operation for AWS Shield. 308// 309// Adds health-based detection to the Shield Advanced protection for a resource. 310// Shield Advanced health-based detection uses the health of your Amazon Web 311// Services resource to improve responsiveness and accuracy in attack detection 312// and mitigation. 313// 314// You define the health check in Route 53 and then associate it with your Shield 315// Advanced protection. For more information, see Shield Advanced Health-Based 316// Detection (https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option) 317// in the WAF Developer Guide. 318// 319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 320// with awserr.Error's Code and Message methods to get detailed information about 321// the error. 322// 323// See the AWS API reference guide for AWS Shield's 324// API operation AssociateHealthCheck for usage and error information. 325// 326// Returned Error Types: 327// * InternalErrorException 328// Exception that indicates that a problem occurred with the service infrastructure. 329// You can retry the request. 330// 331// * LimitsExceededException 332// Exception that indicates that the operation would exceed a limit. 333// 334// * ResourceNotFoundException 335// Exception indicating the specified resource does not exist. If available, 336// this exception includes details in additional properties. 337// 338// * InvalidParameterException 339// Exception that indicates that the parameters passed to the API are invalid. 340// If available, this exception includes details in additional properties. 341// 342// * OptimisticLockException 343// Exception that indicates that the resource state has been modified by another 344// client. Retrieve the resource and then retry your request. 345// 346// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateHealthCheck 347func (c *Shield) AssociateHealthCheck(input *AssociateHealthCheckInput) (*AssociateHealthCheckOutput, error) { 348 req, out := c.AssociateHealthCheckRequest(input) 349 return out, req.Send() 350} 351 352// AssociateHealthCheckWithContext is the same as AssociateHealthCheck with the addition of 353// the ability to pass a context and additional request options. 354// 355// See AssociateHealthCheck for details on how to use this API operation. 356// 357// The context must be non-nil and will be used for request cancellation. If 358// the context is nil a panic will occur. In the future the SDK may create 359// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 360// for more information on using Contexts. 361func (c *Shield) AssociateHealthCheckWithContext(ctx aws.Context, input *AssociateHealthCheckInput, opts ...request.Option) (*AssociateHealthCheckOutput, error) { 362 req, out := c.AssociateHealthCheckRequest(input) 363 req.SetContext(ctx) 364 req.ApplyOptions(opts...) 365 return out, req.Send() 366} 367 368const opAssociateProactiveEngagementDetails = "AssociateProactiveEngagementDetails" 369 370// AssociateProactiveEngagementDetailsRequest generates a "aws/request.Request" representing the 371// client's request for the AssociateProactiveEngagementDetails operation. The "output" return 372// value will be populated with the request's response once the request completes 373// successfully. 374// 375// Use "Send" method on the returned Request to send the API call to the service. 376// the "output" return value is not valid until after Send returns without error. 377// 378// See AssociateProactiveEngagementDetails for more information on using the AssociateProactiveEngagementDetails 379// API call, and error handling. 380// 381// This method is useful when you want to inject custom logic or configuration 382// into the SDK's request lifecycle. Such as custom headers, or retry logic. 383// 384// 385// // Example sending a request using the AssociateProactiveEngagementDetailsRequest method. 386// req, resp := client.AssociateProactiveEngagementDetailsRequest(params) 387// 388// err := req.Send() 389// if err == nil { // resp is now filled 390// fmt.Println(resp) 391// } 392// 393// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetails 394func (c *Shield) AssociateProactiveEngagementDetailsRequest(input *AssociateProactiveEngagementDetailsInput) (req *request.Request, output *AssociateProactiveEngagementDetailsOutput) { 395 op := &request.Operation{ 396 Name: opAssociateProactiveEngagementDetails, 397 HTTPMethod: "POST", 398 HTTPPath: "/", 399 } 400 401 if input == nil { 402 input = &AssociateProactiveEngagementDetailsInput{} 403 } 404 405 output = &AssociateProactiveEngagementDetailsOutput{} 406 req = c.newRequest(op, input, output) 407 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 408 return 409} 410 411// AssociateProactiveEngagementDetails API operation for AWS Shield. 412// 413// Initializes proactive engagement and sets the list of contacts for the Shield 414// Response Team (SRT) to use. You must provide at least one phone number in 415// the emergency contact list. 416// 417// After you have initialized proactive engagement using this call, to disable 418// or enable proactive engagement, use the calls DisableProactiveEngagement 419// and EnableProactiveEngagement. 420// 421// This call defines the list of email addresses and phone numbers that the 422// SRT can use to contact you for escalations to the SRT and to initiate proactive 423// customer support. 424// 425// The contacts that you provide in the request replace any contacts that were 426// already defined. If you already have contacts defined and want to use them, 427// retrieve the list using DescribeEmergencyContactSettings and then provide 428// it to this call. 429// 430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 431// with awserr.Error's Code and Message methods to get detailed information about 432// the error. 433// 434// See the AWS API reference guide for AWS Shield's 435// API operation AssociateProactiveEngagementDetails for usage and error information. 436// 437// Returned Error Types: 438// * InternalErrorException 439// Exception that indicates that a problem occurred with the service infrastructure. 440// You can retry the request. 441// 442// * InvalidOperationException 443// Exception that indicates that the operation would not cause any change to 444// occur. 445// 446// * InvalidParameterException 447// Exception that indicates that the parameters passed to the API are invalid. 448// If available, this exception includes details in additional properties. 449// 450// * ResourceNotFoundException 451// Exception indicating the specified resource does not exist. If available, 452// this exception includes details in additional properties. 453// 454// * OptimisticLockException 455// Exception that indicates that the resource state has been modified by another 456// client. Retrieve the resource and then retry your request. 457// 458// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/AssociateProactiveEngagementDetails 459func (c *Shield) AssociateProactiveEngagementDetails(input *AssociateProactiveEngagementDetailsInput) (*AssociateProactiveEngagementDetailsOutput, error) { 460 req, out := c.AssociateProactiveEngagementDetailsRequest(input) 461 return out, req.Send() 462} 463 464// AssociateProactiveEngagementDetailsWithContext is the same as AssociateProactiveEngagementDetails with the addition of 465// the ability to pass a context and additional request options. 466// 467// See AssociateProactiveEngagementDetails for details on how to use this API operation. 468// 469// The context must be non-nil and will be used for request cancellation. If 470// the context is nil a panic will occur. In the future the SDK may create 471// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 472// for more information on using Contexts. 473func (c *Shield) AssociateProactiveEngagementDetailsWithContext(ctx aws.Context, input *AssociateProactiveEngagementDetailsInput, opts ...request.Option) (*AssociateProactiveEngagementDetailsOutput, error) { 474 req, out := c.AssociateProactiveEngagementDetailsRequest(input) 475 req.SetContext(ctx) 476 req.ApplyOptions(opts...) 477 return out, req.Send() 478} 479 480const opCreateProtection = "CreateProtection" 481 482// CreateProtectionRequest generates a "aws/request.Request" representing the 483// client's request for the CreateProtection operation. The "output" return 484// value will be populated with the request's response once the request completes 485// successfully. 486// 487// Use "Send" method on the returned Request to send the API call to the service. 488// the "output" return value is not valid until after Send returns without error. 489// 490// See CreateProtection for more information on using the CreateProtection 491// API call, and error handling. 492// 493// This method is useful when you want to inject custom logic or configuration 494// into the SDK's request lifecycle. Such as custom headers, or retry logic. 495// 496// 497// // Example sending a request using the CreateProtectionRequest method. 498// req, resp := client.CreateProtectionRequest(params) 499// 500// err := req.Send() 501// if err == nil { // resp is now filled 502// fmt.Println(resp) 503// } 504// 505// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtection 506func (c *Shield) CreateProtectionRequest(input *CreateProtectionInput) (req *request.Request, output *CreateProtectionOutput) { 507 op := &request.Operation{ 508 Name: opCreateProtection, 509 HTTPMethod: "POST", 510 HTTPPath: "/", 511 } 512 513 if input == nil { 514 input = &CreateProtectionInput{} 515 } 516 517 output = &CreateProtectionOutput{} 518 req = c.newRequest(op, input, output) 519 return 520} 521 522// CreateProtection API operation for AWS Shield. 523// 524// Enables Shield Advanced for a specific Amazon Web Services resource. The 525// resource can be an Amazon CloudFront distribution, Elastic Load Balancing 526// load balancer, Global Accelerator accelerator, Elastic IP Address, or an 527// Amazon Route 53 hosted zone. 528// 529// You can add protection to only a single resource with each CreateProtection 530// request. If you want to add protection to multiple resources at once, use 531// the WAF console (https://console.aws.amazon.com/waf/). For more information 532// see Getting Started with Shield Advanced (https://docs.aws.amazon.com/waf/latest/developerguide/getting-started-ddos.html) 533// and Add Shield Advanced Protection to more Amazon Web Services Resources 534// (https://docs.aws.amazon.com/waf/latest/developerguide/configure-new-protection.html). 535// 536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 537// with awserr.Error's Code and Message methods to get detailed information about 538// the error. 539// 540// See the AWS API reference guide for AWS Shield's 541// API operation CreateProtection for usage and error information. 542// 543// Returned Error Types: 544// * InternalErrorException 545// Exception that indicates that a problem occurred with the service infrastructure. 546// You can retry the request. 547// 548// * InvalidResourceException 549// Exception that indicates that the resource is invalid. You might not have 550// access to the resource, or the resource might not exist. 551// 552// * InvalidOperationException 553// Exception that indicates that the operation would not cause any change to 554// occur. 555// 556// * LimitsExceededException 557// Exception that indicates that the operation would exceed a limit. 558// 559// * ResourceAlreadyExistsException 560// Exception indicating the specified resource already exists. If available, 561// this exception includes details in additional properties. 562// 563// * OptimisticLockException 564// Exception that indicates that the resource state has been modified by another 565// client. Retrieve the resource and then retry your request. 566// 567// * ResourceNotFoundException 568// Exception indicating the specified resource does not exist. If available, 569// this exception includes details in additional properties. 570// 571// * InvalidParameterException 572// Exception that indicates that the parameters passed to the API are invalid. 573// If available, this exception includes details in additional properties. 574// 575// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtection 576func (c *Shield) CreateProtection(input *CreateProtectionInput) (*CreateProtectionOutput, error) { 577 req, out := c.CreateProtectionRequest(input) 578 return out, req.Send() 579} 580 581// CreateProtectionWithContext is the same as CreateProtection with the addition of 582// the ability to pass a context and additional request options. 583// 584// See CreateProtection for details on how to use this API operation. 585// 586// The context must be non-nil and will be used for request cancellation. If 587// the context is nil a panic will occur. In the future the SDK may create 588// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 589// for more information on using Contexts. 590func (c *Shield) CreateProtectionWithContext(ctx aws.Context, input *CreateProtectionInput, opts ...request.Option) (*CreateProtectionOutput, error) { 591 req, out := c.CreateProtectionRequest(input) 592 req.SetContext(ctx) 593 req.ApplyOptions(opts...) 594 return out, req.Send() 595} 596 597const opCreateProtectionGroup = "CreateProtectionGroup" 598 599// CreateProtectionGroupRequest generates a "aws/request.Request" representing the 600// client's request for the CreateProtectionGroup operation. The "output" return 601// value will be populated with the request's response once the request completes 602// successfully. 603// 604// Use "Send" method on the returned Request to send the API call to the service. 605// the "output" return value is not valid until after Send returns without error. 606// 607// See CreateProtectionGroup for more information on using the CreateProtectionGroup 608// API call, and error handling. 609// 610// This method is useful when you want to inject custom logic or configuration 611// into the SDK's request lifecycle. Such as custom headers, or retry logic. 612// 613// 614// // Example sending a request using the CreateProtectionGroupRequest method. 615// req, resp := client.CreateProtectionGroupRequest(params) 616// 617// err := req.Send() 618// if err == nil { // resp is now filled 619// fmt.Println(resp) 620// } 621// 622// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionGroup 623func (c *Shield) CreateProtectionGroupRequest(input *CreateProtectionGroupInput) (req *request.Request, output *CreateProtectionGroupOutput) { 624 op := &request.Operation{ 625 Name: opCreateProtectionGroup, 626 HTTPMethod: "POST", 627 HTTPPath: "/", 628 } 629 630 if input == nil { 631 input = &CreateProtectionGroupInput{} 632 } 633 634 output = &CreateProtectionGroupOutput{} 635 req = c.newRequest(op, input, output) 636 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 637 return 638} 639 640// CreateProtectionGroup API operation for AWS Shield. 641// 642// Creates a grouping of protected resources so they can be handled as a collective. 643// This resource grouping improves the accuracy of detection and reduces false 644// positives. 645// 646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 647// with awserr.Error's Code and Message methods to get detailed information about 648// the error. 649// 650// See the AWS API reference guide for AWS Shield's 651// API operation CreateProtectionGroup for usage and error information. 652// 653// Returned Error Types: 654// * InternalErrorException 655// Exception that indicates that a problem occurred with the service infrastructure. 656// You can retry the request. 657// 658// * ResourceAlreadyExistsException 659// Exception indicating the specified resource already exists. If available, 660// this exception includes details in additional properties. 661// 662// * OptimisticLockException 663// Exception that indicates that the resource state has been modified by another 664// client. Retrieve the resource and then retry your request. 665// 666// * ResourceNotFoundException 667// Exception indicating the specified resource does not exist. If available, 668// this exception includes details in additional properties. 669// 670// * InvalidParameterException 671// Exception that indicates that the parameters passed to the API are invalid. 672// If available, this exception includes details in additional properties. 673// 674// * LimitsExceededException 675// Exception that indicates that the operation would exceed a limit. 676// 677// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateProtectionGroup 678func (c *Shield) CreateProtectionGroup(input *CreateProtectionGroupInput) (*CreateProtectionGroupOutput, error) { 679 req, out := c.CreateProtectionGroupRequest(input) 680 return out, req.Send() 681} 682 683// CreateProtectionGroupWithContext is the same as CreateProtectionGroup with the addition of 684// the ability to pass a context and additional request options. 685// 686// See CreateProtectionGroup for details on how to use this API operation. 687// 688// The context must be non-nil and will be used for request cancellation. If 689// the context is nil a panic will occur. In the future the SDK may create 690// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 691// for more information on using Contexts. 692func (c *Shield) CreateProtectionGroupWithContext(ctx aws.Context, input *CreateProtectionGroupInput, opts ...request.Option) (*CreateProtectionGroupOutput, error) { 693 req, out := c.CreateProtectionGroupRequest(input) 694 req.SetContext(ctx) 695 req.ApplyOptions(opts...) 696 return out, req.Send() 697} 698 699const opCreateSubscription = "CreateSubscription" 700 701// CreateSubscriptionRequest generates a "aws/request.Request" representing the 702// client's request for the CreateSubscription operation. The "output" return 703// value will be populated with the request's response once the request completes 704// successfully. 705// 706// Use "Send" method on the returned Request to send the API call to the service. 707// the "output" return value is not valid until after Send returns without error. 708// 709// See CreateSubscription for more information on using the CreateSubscription 710// API call, and error handling. 711// 712// This method is useful when you want to inject custom logic or configuration 713// into the SDK's request lifecycle. Such as custom headers, or retry logic. 714// 715// 716// // Example sending a request using the CreateSubscriptionRequest method. 717// req, resp := client.CreateSubscriptionRequest(params) 718// 719// err := req.Send() 720// if err == nil { // resp is now filled 721// fmt.Println(resp) 722// } 723// 724// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateSubscription 725func (c *Shield) CreateSubscriptionRequest(input *CreateSubscriptionInput) (req *request.Request, output *CreateSubscriptionOutput) { 726 op := &request.Operation{ 727 Name: opCreateSubscription, 728 HTTPMethod: "POST", 729 HTTPPath: "/", 730 } 731 732 if input == nil { 733 input = &CreateSubscriptionInput{} 734 } 735 736 output = &CreateSubscriptionOutput{} 737 req = c.newRequest(op, input, output) 738 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 739 return 740} 741 742// CreateSubscription API operation for AWS Shield. 743// 744// Activates Shield Advanced for an account. 745// 746// When you initally create a subscription, your subscription is set to be automatically 747// renewed at the end of the existing subscription period. You can change this 748// by submitting an UpdateSubscription request. 749// 750// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 751// with awserr.Error's Code and Message methods to get detailed information about 752// the error. 753// 754// See the AWS API reference guide for AWS Shield's 755// API operation CreateSubscription for usage and error information. 756// 757// Returned Error Types: 758// * InternalErrorException 759// Exception that indicates that a problem occurred with the service infrastructure. 760// You can retry the request. 761// 762// * ResourceAlreadyExistsException 763// Exception indicating the specified resource already exists. If available, 764// this exception includes details in additional properties. 765// 766// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/CreateSubscription 767func (c *Shield) CreateSubscription(input *CreateSubscriptionInput) (*CreateSubscriptionOutput, error) { 768 req, out := c.CreateSubscriptionRequest(input) 769 return out, req.Send() 770} 771 772// CreateSubscriptionWithContext is the same as CreateSubscription with the addition of 773// the ability to pass a context and additional request options. 774// 775// See CreateSubscription for details on how to use this API operation. 776// 777// The context must be non-nil and will be used for request cancellation. If 778// the context is nil a panic will occur. In the future the SDK may create 779// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 780// for more information on using Contexts. 781func (c *Shield) CreateSubscriptionWithContext(ctx aws.Context, input *CreateSubscriptionInput, opts ...request.Option) (*CreateSubscriptionOutput, error) { 782 req, out := c.CreateSubscriptionRequest(input) 783 req.SetContext(ctx) 784 req.ApplyOptions(opts...) 785 return out, req.Send() 786} 787 788const opDeleteProtection = "DeleteProtection" 789 790// DeleteProtectionRequest generates a "aws/request.Request" representing the 791// client's request for the DeleteProtection operation. The "output" return 792// value will be populated with the request's response once the request completes 793// successfully. 794// 795// Use "Send" method on the returned Request to send the API call to the service. 796// the "output" return value is not valid until after Send returns without error. 797// 798// See DeleteProtection for more information on using the DeleteProtection 799// API call, and error handling. 800// 801// This method is useful when you want to inject custom logic or configuration 802// into the SDK's request lifecycle. Such as custom headers, or retry logic. 803// 804// 805// // Example sending a request using the DeleteProtectionRequest method. 806// req, resp := client.DeleteProtectionRequest(params) 807// 808// err := req.Send() 809// if err == nil { // resp is now filled 810// fmt.Println(resp) 811// } 812// 813// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtection 814func (c *Shield) DeleteProtectionRequest(input *DeleteProtectionInput) (req *request.Request, output *DeleteProtectionOutput) { 815 op := &request.Operation{ 816 Name: opDeleteProtection, 817 HTTPMethod: "POST", 818 HTTPPath: "/", 819 } 820 821 if input == nil { 822 input = &DeleteProtectionInput{} 823 } 824 825 output = &DeleteProtectionOutput{} 826 req = c.newRequest(op, input, output) 827 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 828 return 829} 830 831// DeleteProtection API operation for AWS Shield. 832// 833// Deletes an Shield Advanced Protection. 834// 835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 836// with awserr.Error's Code and Message methods to get detailed information about 837// the error. 838// 839// See the AWS API reference guide for AWS Shield's 840// API operation DeleteProtection for usage and error information. 841// 842// Returned Error Types: 843// * InternalErrorException 844// Exception that indicates that a problem occurred with the service infrastructure. 845// You can retry the request. 846// 847// * ResourceNotFoundException 848// Exception indicating the specified resource does not exist. If available, 849// this exception includes details in additional properties. 850// 851// * OptimisticLockException 852// Exception that indicates that the resource state has been modified by another 853// client. Retrieve the resource and then retry your request. 854// 855// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtection 856func (c *Shield) DeleteProtection(input *DeleteProtectionInput) (*DeleteProtectionOutput, error) { 857 req, out := c.DeleteProtectionRequest(input) 858 return out, req.Send() 859} 860 861// DeleteProtectionWithContext is the same as DeleteProtection with the addition of 862// the ability to pass a context and additional request options. 863// 864// See DeleteProtection for details on how to use this API operation. 865// 866// The context must be non-nil and will be used for request cancellation. If 867// the context is nil a panic will occur. In the future the SDK may create 868// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 869// for more information on using Contexts. 870func (c *Shield) DeleteProtectionWithContext(ctx aws.Context, input *DeleteProtectionInput, opts ...request.Option) (*DeleteProtectionOutput, error) { 871 req, out := c.DeleteProtectionRequest(input) 872 req.SetContext(ctx) 873 req.ApplyOptions(opts...) 874 return out, req.Send() 875} 876 877const opDeleteProtectionGroup = "DeleteProtectionGroup" 878 879// DeleteProtectionGroupRequest generates a "aws/request.Request" representing the 880// client's request for the DeleteProtectionGroup operation. The "output" return 881// value will be populated with the request's response once the request completes 882// successfully. 883// 884// Use "Send" method on the returned Request to send the API call to the service. 885// the "output" return value is not valid until after Send returns without error. 886// 887// See DeleteProtectionGroup for more information on using the DeleteProtectionGroup 888// API call, and error handling. 889// 890// This method is useful when you want to inject custom logic or configuration 891// into the SDK's request lifecycle. Such as custom headers, or retry logic. 892// 893// 894// // Example sending a request using the DeleteProtectionGroupRequest method. 895// req, resp := client.DeleteProtectionGroupRequest(params) 896// 897// err := req.Send() 898// if err == nil { // resp is now filled 899// fmt.Println(resp) 900// } 901// 902// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtectionGroup 903func (c *Shield) DeleteProtectionGroupRequest(input *DeleteProtectionGroupInput) (req *request.Request, output *DeleteProtectionGroupOutput) { 904 op := &request.Operation{ 905 Name: opDeleteProtectionGroup, 906 HTTPMethod: "POST", 907 HTTPPath: "/", 908 } 909 910 if input == nil { 911 input = &DeleteProtectionGroupInput{} 912 } 913 914 output = &DeleteProtectionGroupOutput{} 915 req = c.newRequest(op, input, output) 916 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 917 return 918} 919 920// DeleteProtectionGroup API operation for AWS Shield. 921// 922// Removes the specified protection group. 923// 924// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 925// with awserr.Error's Code and Message methods to get detailed information about 926// the error. 927// 928// See the AWS API reference guide for AWS Shield's 929// API operation DeleteProtectionGroup for usage and error information. 930// 931// Returned Error Types: 932// * InternalErrorException 933// Exception that indicates that a problem occurred with the service infrastructure. 934// You can retry the request. 935// 936// * OptimisticLockException 937// Exception that indicates that the resource state has been modified by another 938// client. Retrieve the resource and then retry your request. 939// 940// * ResourceNotFoundException 941// Exception indicating the specified resource does not exist. If available, 942// this exception includes details in additional properties. 943// 944// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteProtectionGroup 945func (c *Shield) DeleteProtectionGroup(input *DeleteProtectionGroupInput) (*DeleteProtectionGroupOutput, error) { 946 req, out := c.DeleteProtectionGroupRequest(input) 947 return out, req.Send() 948} 949 950// DeleteProtectionGroupWithContext is the same as DeleteProtectionGroup with the addition of 951// the ability to pass a context and additional request options. 952// 953// See DeleteProtectionGroup for details on how to use this API operation. 954// 955// The context must be non-nil and will be used for request cancellation. If 956// the context is nil a panic will occur. In the future the SDK may create 957// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 958// for more information on using Contexts. 959func (c *Shield) DeleteProtectionGroupWithContext(ctx aws.Context, input *DeleteProtectionGroupInput, opts ...request.Option) (*DeleteProtectionGroupOutput, error) { 960 req, out := c.DeleteProtectionGroupRequest(input) 961 req.SetContext(ctx) 962 req.ApplyOptions(opts...) 963 return out, req.Send() 964} 965 966const opDeleteSubscription = "DeleteSubscription" 967 968// DeleteSubscriptionRequest generates a "aws/request.Request" representing the 969// client's request for the DeleteSubscription operation. The "output" return 970// value will be populated with the request's response once the request completes 971// successfully. 972// 973// Use "Send" method on the returned Request to send the API call to the service. 974// the "output" return value is not valid until after Send returns without error. 975// 976// See DeleteSubscription for more information on using the DeleteSubscription 977// API call, and error handling. 978// 979// This method is useful when you want to inject custom logic or configuration 980// into the SDK's request lifecycle. Such as custom headers, or retry logic. 981// 982// 983// // Example sending a request using the DeleteSubscriptionRequest method. 984// req, resp := client.DeleteSubscriptionRequest(params) 985// 986// err := req.Send() 987// if err == nil { // resp is now filled 988// fmt.Println(resp) 989// } 990// 991// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteSubscription 992// 993// Deprecated: DeleteSubscription has been deprecated 994func (c *Shield) DeleteSubscriptionRequest(input *DeleteSubscriptionInput) (req *request.Request, output *DeleteSubscriptionOutput) { 995 if c.Client.Config.Logger != nil { 996 c.Client.Config.Logger.Log("This operation, DeleteSubscription, has been deprecated") 997 } 998 op := &request.Operation{ 999 Name: opDeleteSubscription, 1000 HTTPMethod: "POST", 1001 HTTPPath: "/", 1002 } 1003 1004 if input == nil { 1005 input = &DeleteSubscriptionInput{} 1006 } 1007 1008 output = &DeleteSubscriptionOutput{} 1009 req = c.newRequest(op, input, output) 1010 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1011 return 1012} 1013 1014// DeleteSubscription API operation for AWS Shield. 1015// 1016// Removes Shield Advanced from an account. Shield Advanced requires a 1-year 1017// subscription commitment. You cannot delete a subscription prior to the completion 1018// of that commitment. 1019// 1020// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1021// with awserr.Error's Code and Message methods to get detailed information about 1022// the error. 1023// 1024// See the AWS API reference guide for AWS Shield's 1025// API operation DeleteSubscription for usage and error information. 1026// 1027// Returned Error Types: 1028// * InternalErrorException 1029// Exception that indicates that a problem occurred with the service infrastructure. 1030// You can retry the request. 1031// 1032// * LockedSubscriptionException 1033// You are trying to update a subscription that has not yet completed the 1-year 1034// commitment. You can change the AutoRenew parameter during the last 30 days 1035// of your subscription. This exception indicates that you are attempting to 1036// change AutoRenew prior to that period. 1037// 1038// * ResourceNotFoundException 1039// Exception indicating the specified resource does not exist. If available, 1040// this exception includes details in additional properties. 1041// 1042// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DeleteSubscription 1043// 1044// Deprecated: DeleteSubscription has been deprecated 1045func (c *Shield) DeleteSubscription(input *DeleteSubscriptionInput) (*DeleteSubscriptionOutput, error) { 1046 req, out := c.DeleteSubscriptionRequest(input) 1047 return out, req.Send() 1048} 1049 1050// DeleteSubscriptionWithContext is the same as DeleteSubscription with the addition of 1051// the ability to pass a context and additional request options. 1052// 1053// See DeleteSubscription for details on how to use this API operation. 1054// 1055// The context must be non-nil and will be used for request cancellation. If 1056// the context is nil a panic will occur. In the future the SDK may create 1057// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1058// for more information on using Contexts. 1059// 1060// Deprecated: DeleteSubscriptionWithContext has been deprecated 1061func (c *Shield) DeleteSubscriptionWithContext(ctx aws.Context, input *DeleteSubscriptionInput, opts ...request.Option) (*DeleteSubscriptionOutput, error) { 1062 req, out := c.DeleteSubscriptionRequest(input) 1063 req.SetContext(ctx) 1064 req.ApplyOptions(opts...) 1065 return out, req.Send() 1066} 1067 1068const opDescribeAttack = "DescribeAttack" 1069 1070// DescribeAttackRequest generates a "aws/request.Request" representing the 1071// client's request for the DescribeAttack operation. The "output" return 1072// value will be populated with the request's response once the request completes 1073// successfully. 1074// 1075// Use "Send" method on the returned Request to send the API call to the service. 1076// the "output" return value is not valid until after Send returns without error. 1077// 1078// See DescribeAttack for more information on using the DescribeAttack 1079// API call, and error handling. 1080// 1081// This method is useful when you want to inject custom logic or configuration 1082// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1083// 1084// 1085// // Example sending a request using the DescribeAttackRequest method. 1086// req, resp := client.DescribeAttackRequest(params) 1087// 1088// err := req.Send() 1089// if err == nil { // resp is now filled 1090// fmt.Println(resp) 1091// } 1092// 1093// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttack 1094func (c *Shield) DescribeAttackRequest(input *DescribeAttackInput) (req *request.Request, output *DescribeAttackOutput) { 1095 op := &request.Operation{ 1096 Name: opDescribeAttack, 1097 HTTPMethod: "POST", 1098 HTTPPath: "/", 1099 } 1100 1101 if input == nil { 1102 input = &DescribeAttackInput{} 1103 } 1104 1105 output = &DescribeAttackOutput{} 1106 req = c.newRequest(op, input, output) 1107 return 1108} 1109 1110// DescribeAttack API operation for AWS Shield. 1111// 1112// Describes the details of a DDoS attack. 1113// 1114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1115// with awserr.Error's Code and Message methods to get detailed information about 1116// the error. 1117// 1118// See the AWS API reference guide for AWS Shield's 1119// API operation DescribeAttack for usage and error information. 1120// 1121// Returned Error Types: 1122// * InternalErrorException 1123// Exception that indicates that a problem occurred with the service infrastructure. 1124// You can retry the request. 1125// 1126// * AccessDeniedException 1127// Exception that indicates the specified AttackId does not exist, or the requester 1128// does not have the appropriate permissions to access the AttackId. 1129// 1130// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttack 1131func (c *Shield) DescribeAttack(input *DescribeAttackInput) (*DescribeAttackOutput, error) { 1132 req, out := c.DescribeAttackRequest(input) 1133 return out, req.Send() 1134} 1135 1136// DescribeAttackWithContext is the same as DescribeAttack with the addition of 1137// the ability to pass a context and additional request options. 1138// 1139// See DescribeAttack for details on how to use this API operation. 1140// 1141// The context must be non-nil and will be used for request cancellation. If 1142// the context is nil a panic will occur. In the future the SDK may create 1143// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1144// for more information on using Contexts. 1145func (c *Shield) DescribeAttackWithContext(ctx aws.Context, input *DescribeAttackInput, opts ...request.Option) (*DescribeAttackOutput, error) { 1146 req, out := c.DescribeAttackRequest(input) 1147 req.SetContext(ctx) 1148 req.ApplyOptions(opts...) 1149 return out, req.Send() 1150} 1151 1152const opDescribeAttackStatistics = "DescribeAttackStatistics" 1153 1154// DescribeAttackStatisticsRequest generates a "aws/request.Request" representing the 1155// client's request for the DescribeAttackStatistics operation. The "output" return 1156// value will be populated with the request's response once the request completes 1157// successfully. 1158// 1159// Use "Send" method on the returned Request to send the API call to the service. 1160// the "output" return value is not valid until after Send returns without error. 1161// 1162// See DescribeAttackStatistics for more information on using the DescribeAttackStatistics 1163// API call, and error handling. 1164// 1165// This method is useful when you want to inject custom logic or configuration 1166// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1167// 1168// 1169// // Example sending a request using the DescribeAttackStatisticsRequest method. 1170// req, resp := client.DescribeAttackStatisticsRequest(params) 1171// 1172// err := req.Send() 1173// if err == nil { // resp is now filled 1174// fmt.Println(resp) 1175// } 1176// 1177// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttackStatistics 1178func (c *Shield) DescribeAttackStatisticsRequest(input *DescribeAttackStatisticsInput) (req *request.Request, output *DescribeAttackStatisticsOutput) { 1179 op := &request.Operation{ 1180 Name: opDescribeAttackStatistics, 1181 HTTPMethod: "POST", 1182 HTTPPath: "/", 1183 } 1184 1185 if input == nil { 1186 input = &DescribeAttackStatisticsInput{} 1187 } 1188 1189 output = &DescribeAttackStatisticsOutput{} 1190 req = c.newRequest(op, input, output) 1191 return 1192} 1193 1194// DescribeAttackStatistics API operation for AWS Shield. 1195// 1196// Provides information about the number and type of attacks Shield has detected 1197// in the last year for all resources that belong to your account, regardless 1198// of whether you've defined Shield protections for them. This operation is 1199// available to Shield customers as well as to Shield Advanced customers. 1200// 1201// The operation returns data for the time range of midnight UTC, one year ago, 1202// to midnight UTC, today. For example, if the current time is 2020-10-26 15:39:32 1203// PDT, equal to 2020-10-26 22:39:32 UTC, then the time range for the attack 1204// data returned is from 2019-10-26 00:00:00 UTC to 2020-10-26 00:00:00 UTC. 1205// 1206// The time range indicates the period covered by the attack statistics data 1207// items. 1208// 1209// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1210// with awserr.Error's Code and Message methods to get detailed information about 1211// the error. 1212// 1213// See the AWS API reference guide for AWS Shield's 1214// API operation DescribeAttackStatistics for usage and error information. 1215// 1216// Returned Error Types: 1217// * InternalErrorException 1218// Exception that indicates that a problem occurred with the service infrastructure. 1219// You can retry the request. 1220// 1221// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeAttackStatistics 1222func (c *Shield) DescribeAttackStatistics(input *DescribeAttackStatisticsInput) (*DescribeAttackStatisticsOutput, error) { 1223 req, out := c.DescribeAttackStatisticsRequest(input) 1224 return out, req.Send() 1225} 1226 1227// DescribeAttackStatisticsWithContext is the same as DescribeAttackStatistics with the addition of 1228// the ability to pass a context and additional request options. 1229// 1230// See DescribeAttackStatistics for details on how to use this API operation. 1231// 1232// The context must be non-nil and will be used for request cancellation. If 1233// the context is nil a panic will occur. In the future the SDK may create 1234// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1235// for more information on using Contexts. 1236func (c *Shield) DescribeAttackStatisticsWithContext(ctx aws.Context, input *DescribeAttackStatisticsInput, opts ...request.Option) (*DescribeAttackStatisticsOutput, error) { 1237 req, out := c.DescribeAttackStatisticsRequest(input) 1238 req.SetContext(ctx) 1239 req.ApplyOptions(opts...) 1240 return out, req.Send() 1241} 1242 1243const opDescribeDRTAccess = "DescribeDRTAccess" 1244 1245// DescribeDRTAccessRequest generates a "aws/request.Request" representing the 1246// client's request for the DescribeDRTAccess operation. The "output" return 1247// value will be populated with the request's response once the request completes 1248// successfully. 1249// 1250// Use "Send" method on the returned Request to send the API call to the service. 1251// the "output" return value is not valid until after Send returns without error. 1252// 1253// See DescribeDRTAccess for more information on using the DescribeDRTAccess 1254// API call, and error handling. 1255// 1256// This method is useful when you want to inject custom logic or configuration 1257// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1258// 1259// 1260// // Example sending a request using the DescribeDRTAccessRequest method. 1261// req, resp := client.DescribeDRTAccessRequest(params) 1262// 1263// err := req.Send() 1264// if err == nil { // resp is now filled 1265// fmt.Println(resp) 1266// } 1267// 1268// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeDRTAccess 1269func (c *Shield) DescribeDRTAccessRequest(input *DescribeDRTAccessInput) (req *request.Request, output *DescribeDRTAccessOutput) { 1270 op := &request.Operation{ 1271 Name: opDescribeDRTAccess, 1272 HTTPMethod: "POST", 1273 HTTPPath: "/", 1274 } 1275 1276 if input == nil { 1277 input = &DescribeDRTAccessInput{} 1278 } 1279 1280 output = &DescribeDRTAccessOutput{} 1281 req = c.newRequest(op, input, output) 1282 return 1283} 1284 1285// DescribeDRTAccess API operation for AWS Shield. 1286// 1287// Returns the current role and list of Amazon S3 log buckets used by the Shield 1288// Response Team (SRT) to access your Amazon Web Services account while assisting 1289// with attack mitigation. 1290// 1291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1292// with awserr.Error's Code and Message methods to get detailed information about 1293// the error. 1294// 1295// See the AWS API reference guide for AWS Shield's 1296// API operation DescribeDRTAccess for usage and error information. 1297// 1298// Returned Error Types: 1299// * InternalErrorException 1300// Exception that indicates that a problem occurred with the service infrastructure. 1301// You can retry the request. 1302// 1303// * ResourceNotFoundException 1304// Exception indicating the specified resource does not exist. If available, 1305// this exception includes details in additional properties. 1306// 1307// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeDRTAccess 1308func (c *Shield) DescribeDRTAccess(input *DescribeDRTAccessInput) (*DescribeDRTAccessOutput, error) { 1309 req, out := c.DescribeDRTAccessRequest(input) 1310 return out, req.Send() 1311} 1312 1313// DescribeDRTAccessWithContext is the same as DescribeDRTAccess with the addition of 1314// the ability to pass a context and additional request options. 1315// 1316// See DescribeDRTAccess for details on how to use this API operation. 1317// 1318// The context must be non-nil and will be used for request cancellation. If 1319// the context is nil a panic will occur. In the future the SDK may create 1320// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1321// for more information on using Contexts. 1322func (c *Shield) DescribeDRTAccessWithContext(ctx aws.Context, input *DescribeDRTAccessInput, opts ...request.Option) (*DescribeDRTAccessOutput, error) { 1323 req, out := c.DescribeDRTAccessRequest(input) 1324 req.SetContext(ctx) 1325 req.ApplyOptions(opts...) 1326 return out, req.Send() 1327} 1328 1329const opDescribeEmergencyContactSettings = "DescribeEmergencyContactSettings" 1330 1331// DescribeEmergencyContactSettingsRequest generates a "aws/request.Request" representing the 1332// client's request for the DescribeEmergencyContactSettings operation. The "output" return 1333// value will be populated with the request's response once the request completes 1334// successfully. 1335// 1336// Use "Send" method on the returned Request to send the API call to the service. 1337// the "output" return value is not valid until after Send returns without error. 1338// 1339// See DescribeEmergencyContactSettings for more information on using the DescribeEmergencyContactSettings 1340// API call, and error handling. 1341// 1342// This method is useful when you want to inject custom logic or configuration 1343// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1344// 1345// 1346// // Example sending a request using the DescribeEmergencyContactSettingsRequest method. 1347// req, resp := client.DescribeEmergencyContactSettingsRequest(params) 1348// 1349// err := req.Send() 1350// if err == nil { // resp is now filled 1351// fmt.Println(resp) 1352// } 1353// 1354// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettings 1355func (c *Shield) DescribeEmergencyContactSettingsRequest(input *DescribeEmergencyContactSettingsInput) (req *request.Request, output *DescribeEmergencyContactSettingsOutput) { 1356 op := &request.Operation{ 1357 Name: opDescribeEmergencyContactSettings, 1358 HTTPMethod: "POST", 1359 HTTPPath: "/", 1360 } 1361 1362 if input == nil { 1363 input = &DescribeEmergencyContactSettingsInput{} 1364 } 1365 1366 output = &DescribeEmergencyContactSettingsOutput{} 1367 req = c.newRequest(op, input, output) 1368 return 1369} 1370 1371// DescribeEmergencyContactSettings API operation for AWS Shield. 1372// 1373// A list of email addresses and phone numbers that the Shield Response Team 1374// (SRT) can use to contact you if you have proactive engagement enabled, for 1375// escalations to the SRT and to initiate proactive customer support. 1376// 1377// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1378// with awserr.Error's Code and Message methods to get detailed information about 1379// the error. 1380// 1381// See the AWS API reference guide for AWS Shield's 1382// API operation DescribeEmergencyContactSettings for usage and error information. 1383// 1384// Returned Error Types: 1385// * InternalErrorException 1386// Exception that indicates that a problem occurred with the service infrastructure. 1387// You can retry the request. 1388// 1389// * ResourceNotFoundException 1390// Exception indicating the specified resource does not exist. If available, 1391// this exception includes details in additional properties. 1392// 1393// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeEmergencyContactSettings 1394func (c *Shield) DescribeEmergencyContactSettings(input *DescribeEmergencyContactSettingsInput) (*DescribeEmergencyContactSettingsOutput, error) { 1395 req, out := c.DescribeEmergencyContactSettingsRequest(input) 1396 return out, req.Send() 1397} 1398 1399// DescribeEmergencyContactSettingsWithContext is the same as DescribeEmergencyContactSettings with the addition of 1400// the ability to pass a context and additional request options. 1401// 1402// See DescribeEmergencyContactSettings for details on how to use this API operation. 1403// 1404// The context must be non-nil and will be used for request cancellation. If 1405// the context is nil a panic will occur. In the future the SDK may create 1406// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1407// for more information on using Contexts. 1408func (c *Shield) DescribeEmergencyContactSettingsWithContext(ctx aws.Context, input *DescribeEmergencyContactSettingsInput, opts ...request.Option) (*DescribeEmergencyContactSettingsOutput, error) { 1409 req, out := c.DescribeEmergencyContactSettingsRequest(input) 1410 req.SetContext(ctx) 1411 req.ApplyOptions(opts...) 1412 return out, req.Send() 1413} 1414 1415const opDescribeProtection = "DescribeProtection" 1416 1417// DescribeProtectionRequest generates a "aws/request.Request" representing the 1418// client's request for the DescribeProtection operation. The "output" return 1419// value will be populated with the request's response once the request completes 1420// successfully. 1421// 1422// Use "Send" method on the returned Request to send the API call to the service. 1423// the "output" return value is not valid until after Send returns without error. 1424// 1425// See DescribeProtection for more information on using the DescribeProtection 1426// API call, and error handling. 1427// 1428// This method is useful when you want to inject custom logic or configuration 1429// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1430// 1431// 1432// // Example sending a request using the DescribeProtectionRequest method. 1433// req, resp := client.DescribeProtectionRequest(params) 1434// 1435// err := req.Send() 1436// if err == nil { // resp is now filled 1437// fmt.Println(resp) 1438// } 1439// 1440// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection 1441func (c *Shield) DescribeProtectionRequest(input *DescribeProtectionInput) (req *request.Request, output *DescribeProtectionOutput) { 1442 op := &request.Operation{ 1443 Name: opDescribeProtection, 1444 HTTPMethod: "POST", 1445 HTTPPath: "/", 1446 } 1447 1448 if input == nil { 1449 input = &DescribeProtectionInput{} 1450 } 1451 1452 output = &DescribeProtectionOutput{} 1453 req = c.newRequest(op, input, output) 1454 return 1455} 1456 1457// DescribeProtection API operation for AWS Shield. 1458// 1459// Lists the details of a Protection object. 1460// 1461// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1462// with awserr.Error's Code and Message methods to get detailed information about 1463// the error. 1464// 1465// See the AWS API reference guide for AWS Shield's 1466// API operation DescribeProtection for usage and error information. 1467// 1468// Returned Error Types: 1469// * InternalErrorException 1470// Exception that indicates that a problem occurred with the service infrastructure. 1471// You can retry the request. 1472// 1473// * InvalidParameterException 1474// Exception that indicates that the parameters passed to the API are invalid. 1475// If available, this exception includes details in additional properties. 1476// 1477// * ResourceNotFoundException 1478// Exception indicating the specified resource does not exist. If available, 1479// this exception includes details in additional properties. 1480// 1481// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtection 1482func (c *Shield) DescribeProtection(input *DescribeProtectionInput) (*DescribeProtectionOutput, error) { 1483 req, out := c.DescribeProtectionRequest(input) 1484 return out, req.Send() 1485} 1486 1487// DescribeProtectionWithContext is the same as DescribeProtection with the addition of 1488// the ability to pass a context and additional request options. 1489// 1490// See DescribeProtection for details on how to use this API operation. 1491// 1492// The context must be non-nil and will be used for request cancellation. If 1493// the context is nil a panic will occur. In the future the SDK may create 1494// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1495// for more information on using Contexts. 1496func (c *Shield) DescribeProtectionWithContext(ctx aws.Context, input *DescribeProtectionInput, opts ...request.Option) (*DescribeProtectionOutput, error) { 1497 req, out := c.DescribeProtectionRequest(input) 1498 req.SetContext(ctx) 1499 req.ApplyOptions(opts...) 1500 return out, req.Send() 1501} 1502 1503const opDescribeProtectionGroup = "DescribeProtectionGroup" 1504 1505// DescribeProtectionGroupRequest generates a "aws/request.Request" representing the 1506// client's request for the DescribeProtectionGroup operation. The "output" return 1507// value will be populated with the request's response once the request completes 1508// successfully. 1509// 1510// Use "Send" method on the returned Request to send the API call to the service. 1511// the "output" return value is not valid until after Send returns without error. 1512// 1513// See DescribeProtectionGroup for more information on using the DescribeProtectionGroup 1514// API call, and error handling. 1515// 1516// This method is useful when you want to inject custom logic or configuration 1517// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1518// 1519// 1520// // Example sending a request using the DescribeProtectionGroupRequest method. 1521// req, resp := client.DescribeProtectionGroupRequest(params) 1522// 1523// err := req.Send() 1524// if err == nil { // resp is now filled 1525// fmt.Println(resp) 1526// } 1527// 1528// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtectionGroup 1529func (c *Shield) DescribeProtectionGroupRequest(input *DescribeProtectionGroupInput) (req *request.Request, output *DescribeProtectionGroupOutput) { 1530 op := &request.Operation{ 1531 Name: opDescribeProtectionGroup, 1532 HTTPMethod: "POST", 1533 HTTPPath: "/", 1534 } 1535 1536 if input == nil { 1537 input = &DescribeProtectionGroupInput{} 1538 } 1539 1540 output = &DescribeProtectionGroupOutput{} 1541 req = c.newRequest(op, input, output) 1542 return 1543} 1544 1545// DescribeProtectionGroup API operation for AWS Shield. 1546// 1547// Returns the specification for the specified protection group. 1548// 1549// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1550// with awserr.Error's Code and Message methods to get detailed information about 1551// the error. 1552// 1553// See the AWS API reference guide for AWS Shield's 1554// API operation DescribeProtectionGroup for usage and error information. 1555// 1556// Returned Error Types: 1557// * InternalErrorException 1558// Exception that indicates that a problem occurred with the service infrastructure. 1559// You can retry the request. 1560// 1561// * ResourceNotFoundException 1562// Exception indicating the specified resource does not exist. If available, 1563// this exception includes details in additional properties. 1564// 1565// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeProtectionGroup 1566func (c *Shield) DescribeProtectionGroup(input *DescribeProtectionGroupInput) (*DescribeProtectionGroupOutput, error) { 1567 req, out := c.DescribeProtectionGroupRequest(input) 1568 return out, req.Send() 1569} 1570 1571// DescribeProtectionGroupWithContext is the same as DescribeProtectionGroup with the addition of 1572// the ability to pass a context and additional request options. 1573// 1574// See DescribeProtectionGroup for details on how to use this API operation. 1575// 1576// The context must be non-nil and will be used for request cancellation. If 1577// the context is nil a panic will occur. In the future the SDK may create 1578// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1579// for more information on using Contexts. 1580func (c *Shield) DescribeProtectionGroupWithContext(ctx aws.Context, input *DescribeProtectionGroupInput, opts ...request.Option) (*DescribeProtectionGroupOutput, error) { 1581 req, out := c.DescribeProtectionGroupRequest(input) 1582 req.SetContext(ctx) 1583 req.ApplyOptions(opts...) 1584 return out, req.Send() 1585} 1586 1587const opDescribeSubscription = "DescribeSubscription" 1588 1589// DescribeSubscriptionRequest generates a "aws/request.Request" representing the 1590// client's request for the DescribeSubscription operation. The "output" return 1591// value will be populated with the request's response once the request completes 1592// successfully. 1593// 1594// Use "Send" method on the returned Request to send the API call to the service. 1595// the "output" return value is not valid until after Send returns without error. 1596// 1597// See DescribeSubscription for more information on using the DescribeSubscription 1598// API call, and error handling. 1599// 1600// This method is useful when you want to inject custom logic or configuration 1601// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1602// 1603// 1604// // Example sending a request using the DescribeSubscriptionRequest method. 1605// req, resp := client.DescribeSubscriptionRequest(params) 1606// 1607// err := req.Send() 1608// if err == nil { // resp is now filled 1609// fmt.Println(resp) 1610// } 1611// 1612// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription 1613func (c *Shield) DescribeSubscriptionRequest(input *DescribeSubscriptionInput) (req *request.Request, output *DescribeSubscriptionOutput) { 1614 op := &request.Operation{ 1615 Name: opDescribeSubscription, 1616 HTTPMethod: "POST", 1617 HTTPPath: "/", 1618 } 1619 1620 if input == nil { 1621 input = &DescribeSubscriptionInput{} 1622 } 1623 1624 output = &DescribeSubscriptionOutput{} 1625 req = c.newRequest(op, input, output) 1626 return 1627} 1628 1629// DescribeSubscription API operation for AWS Shield. 1630// 1631// Provides details about the Shield Advanced subscription for an account. 1632// 1633// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1634// with awserr.Error's Code and Message methods to get detailed information about 1635// the error. 1636// 1637// See the AWS API reference guide for AWS Shield's 1638// API operation DescribeSubscription for usage and error information. 1639// 1640// Returned Error Types: 1641// * InternalErrorException 1642// Exception that indicates that a problem occurred with the service infrastructure. 1643// You can retry the request. 1644// 1645// * ResourceNotFoundException 1646// Exception indicating the specified resource does not exist. If available, 1647// this exception includes details in additional properties. 1648// 1649// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DescribeSubscription 1650func (c *Shield) DescribeSubscription(input *DescribeSubscriptionInput) (*DescribeSubscriptionOutput, error) { 1651 req, out := c.DescribeSubscriptionRequest(input) 1652 return out, req.Send() 1653} 1654 1655// DescribeSubscriptionWithContext is the same as DescribeSubscription with the addition of 1656// the ability to pass a context and additional request options. 1657// 1658// See DescribeSubscription for details on how to use this API operation. 1659// 1660// The context must be non-nil and will be used for request cancellation. If 1661// the context is nil a panic will occur. In the future the SDK may create 1662// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1663// for more information on using Contexts. 1664func (c *Shield) DescribeSubscriptionWithContext(ctx aws.Context, input *DescribeSubscriptionInput, opts ...request.Option) (*DescribeSubscriptionOutput, error) { 1665 req, out := c.DescribeSubscriptionRequest(input) 1666 req.SetContext(ctx) 1667 req.ApplyOptions(opts...) 1668 return out, req.Send() 1669} 1670 1671const opDisableProactiveEngagement = "DisableProactiveEngagement" 1672 1673// DisableProactiveEngagementRequest generates a "aws/request.Request" representing the 1674// client's request for the DisableProactiveEngagement operation. The "output" return 1675// value will be populated with the request's response once the request completes 1676// successfully. 1677// 1678// Use "Send" method on the returned Request to send the API call to the service. 1679// the "output" return value is not valid until after Send returns without error. 1680// 1681// See DisableProactiveEngagement for more information on using the DisableProactiveEngagement 1682// API call, and error handling. 1683// 1684// This method is useful when you want to inject custom logic or configuration 1685// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1686// 1687// 1688// // Example sending a request using the DisableProactiveEngagementRequest method. 1689// req, resp := client.DisableProactiveEngagementRequest(params) 1690// 1691// err := req.Send() 1692// if err == nil { // resp is now filled 1693// fmt.Println(resp) 1694// } 1695// 1696// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagement 1697func (c *Shield) DisableProactiveEngagementRequest(input *DisableProactiveEngagementInput) (req *request.Request, output *DisableProactiveEngagementOutput) { 1698 op := &request.Operation{ 1699 Name: opDisableProactiveEngagement, 1700 HTTPMethod: "POST", 1701 HTTPPath: "/", 1702 } 1703 1704 if input == nil { 1705 input = &DisableProactiveEngagementInput{} 1706 } 1707 1708 output = &DisableProactiveEngagementOutput{} 1709 req = c.newRequest(op, input, output) 1710 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1711 return 1712} 1713 1714// DisableProactiveEngagement API operation for AWS Shield. 1715// 1716// Removes authorization from the Shield Response Team (SRT) to notify contacts 1717// about escalations to the SRT and to initiate proactive customer support. 1718// 1719// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1720// with awserr.Error's Code and Message methods to get detailed information about 1721// the error. 1722// 1723// See the AWS API reference guide for AWS Shield's 1724// API operation DisableProactiveEngagement for usage and error information. 1725// 1726// Returned Error Types: 1727// * InternalErrorException 1728// Exception that indicates that a problem occurred with the service infrastructure. 1729// You can retry the request. 1730// 1731// * InvalidOperationException 1732// Exception that indicates that the operation would not cause any change to 1733// occur. 1734// 1735// * InvalidParameterException 1736// Exception that indicates that the parameters passed to the API are invalid. 1737// If available, this exception includes details in additional properties. 1738// 1739// * ResourceNotFoundException 1740// Exception indicating the specified resource does not exist. If available, 1741// this exception includes details in additional properties. 1742// 1743// * OptimisticLockException 1744// Exception that indicates that the resource state has been modified by another 1745// client. Retrieve the resource and then retry your request. 1746// 1747// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisableProactiveEngagement 1748func (c *Shield) DisableProactiveEngagement(input *DisableProactiveEngagementInput) (*DisableProactiveEngagementOutput, error) { 1749 req, out := c.DisableProactiveEngagementRequest(input) 1750 return out, req.Send() 1751} 1752 1753// DisableProactiveEngagementWithContext is the same as DisableProactiveEngagement with the addition of 1754// the ability to pass a context and additional request options. 1755// 1756// See DisableProactiveEngagement for details on how to use this API operation. 1757// 1758// The context must be non-nil and will be used for request cancellation. If 1759// the context is nil a panic will occur. In the future the SDK may create 1760// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1761// for more information on using Contexts. 1762func (c *Shield) DisableProactiveEngagementWithContext(ctx aws.Context, input *DisableProactiveEngagementInput, opts ...request.Option) (*DisableProactiveEngagementOutput, error) { 1763 req, out := c.DisableProactiveEngagementRequest(input) 1764 req.SetContext(ctx) 1765 req.ApplyOptions(opts...) 1766 return out, req.Send() 1767} 1768 1769const opDisassociateDRTLogBucket = "DisassociateDRTLogBucket" 1770 1771// DisassociateDRTLogBucketRequest generates a "aws/request.Request" representing the 1772// client's request for the DisassociateDRTLogBucket operation. The "output" return 1773// value will be populated with the request's response once the request completes 1774// successfully. 1775// 1776// Use "Send" method on the returned Request to send the API call to the service. 1777// the "output" return value is not valid until after Send returns without error. 1778// 1779// See DisassociateDRTLogBucket for more information on using the DisassociateDRTLogBucket 1780// API call, and error handling. 1781// 1782// This method is useful when you want to inject custom logic or configuration 1783// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1784// 1785// 1786// // Example sending a request using the DisassociateDRTLogBucketRequest method. 1787// req, resp := client.DisassociateDRTLogBucketRequest(params) 1788// 1789// err := req.Send() 1790// if err == nil { // resp is now filled 1791// fmt.Println(resp) 1792// } 1793// 1794// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTLogBucket 1795func (c *Shield) DisassociateDRTLogBucketRequest(input *DisassociateDRTLogBucketInput) (req *request.Request, output *DisassociateDRTLogBucketOutput) { 1796 op := &request.Operation{ 1797 Name: opDisassociateDRTLogBucket, 1798 HTTPMethod: "POST", 1799 HTTPPath: "/", 1800 } 1801 1802 if input == nil { 1803 input = &DisassociateDRTLogBucketInput{} 1804 } 1805 1806 output = &DisassociateDRTLogBucketOutput{} 1807 req = c.newRequest(op, input, output) 1808 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1809 return 1810} 1811 1812// DisassociateDRTLogBucket API operation for AWS Shield. 1813// 1814// Removes the Shield Response Team's (SRT) access to the specified Amazon S3 1815// bucket containing the logs that you shared previously. 1816// 1817// To make a DisassociateDRTLogBucket request, you must be subscribed to the 1818// Business Support plan (https://aws.amazon.com/premiumsupport/business-support/) 1819// or the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). 1820// However, if you are not subscribed to one of these support plans, but had 1821// been previously and had granted the SRT access to your account, you can submit 1822// a DisassociateDRTLogBucket request to remove this access. 1823// 1824// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1825// with awserr.Error's Code and Message methods to get detailed information about 1826// the error. 1827// 1828// See the AWS API reference guide for AWS Shield's 1829// API operation DisassociateDRTLogBucket for usage and error information. 1830// 1831// Returned Error Types: 1832// * InternalErrorException 1833// Exception that indicates that a problem occurred with the service infrastructure. 1834// You can retry the request. 1835// 1836// * InvalidOperationException 1837// Exception that indicates that the operation would not cause any change to 1838// occur. 1839// 1840// * NoAssociatedRoleException 1841// The ARN of the role that you specifed does not exist. 1842// 1843// * AccessDeniedForDependencyException 1844// In order to grant the necessary access to the Shield Response Team (SRT) 1845// the user submitting the request must have the iam:PassRole permission. This 1846// error indicates the user did not have the appropriate permissions. For more 1847// information, see Granting a User Permissions to Pass a Role to an Amazon 1848// Web Services Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). 1849// 1850// * OptimisticLockException 1851// Exception that indicates that the resource state has been modified by another 1852// client. Retrieve the resource and then retry your request. 1853// 1854// * ResourceNotFoundException 1855// Exception indicating the specified resource does not exist. If available, 1856// this exception includes details in additional properties. 1857// 1858// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTLogBucket 1859func (c *Shield) DisassociateDRTLogBucket(input *DisassociateDRTLogBucketInput) (*DisassociateDRTLogBucketOutput, error) { 1860 req, out := c.DisassociateDRTLogBucketRequest(input) 1861 return out, req.Send() 1862} 1863 1864// DisassociateDRTLogBucketWithContext is the same as DisassociateDRTLogBucket with the addition of 1865// the ability to pass a context and additional request options. 1866// 1867// See DisassociateDRTLogBucket for details on how to use this API operation. 1868// 1869// The context must be non-nil and will be used for request cancellation. If 1870// the context is nil a panic will occur. In the future the SDK may create 1871// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1872// for more information on using Contexts. 1873func (c *Shield) DisassociateDRTLogBucketWithContext(ctx aws.Context, input *DisassociateDRTLogBucketInput, opts ...request.Option) (*DisassociateDRTLogBucketOutput, error) { 1874 req, out := c.DisassociateDRTLogBucketRequest(input) 1875 req.SetContext(ctx) 1876 req.ApplyOptions(opts...) 1877 return out, req.Send() 1878} 1879 1880const opDisassociateDRTRole = "DisassociateDRTRole" 1881 1882// DisassociateDRTRoleRequest generates a "aws/request.Request" representing the 1883// client's request for the DisassociateDRTRole operation. The "output" return 1884// value will be populated with the request's response once the request completes 1885// successfully. 1886// 1887// Use "Send" method on the returned Request to send the API call to the service. 1888// the "output" return value is not valid until after Send returns without error. 1889// 1890// See DisassociateDRTRole for more information on using the DisassociateDRTRole 1891// API call, and error handling. 1892// 1893// This method is useful when you want to inject custom logic or configuration 1894// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1895// 1896// 1897// // Example sending a request using the DisassociateDRTRoleRequest method. 1898// req, resp := client.DisassociateDRTRoleRequest(params) 1899// 1900// err := req.Send() 1901// if err == nil { // resp is now filled 1902// fmt.Println(resp) 1903// } 1904// 1905// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTRole 1906func (c *Shield) DisassociateDRTRoleRequest(input *DisassociateDRTRoleInput) (req *request.Request, output *DisassociateDRTRoleOutput) { 1907 op := &request.Operation{ 1908 Name: opDisassociateDRTRole, 1909 HTTPMethod: "POST", 1910 HTTPPath: "/", 1911 } 1912 1913 if input == nil { 1914 input = &DisassociateDRTRoleInput{} 1915 } 1916 1917 output = &DisassociateDRTRoleOutput{} 1918 req = c.newRequest(op, input, output) 1919 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 1920 return 1921} 1922 1923// DisassociateDRTRole API operation for AWS Shield. 1924// 1925// Removes the Shield Response Team's (SRT) access to your Amazon Web Services 1926// account. 1927// 1928// To make a DisassociateDRTRole request, you must be subscribed to the Business 1929// Support plan (https://aws.amazon.com/premiumsupport/business-support/) or 1930// the Enterprise Support plan (https://aws.amazon.com/premiumsupport/enterprise-support/). 1931// However, if you are not subscribed to one of these support plans, but had 1932// been previously and had granted the SRT access to your account, you can submit 1933// a DisassociateDRTRole request to remove this access. 1934// 1935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1936// with awserr.Error's Code and Message methods to get detailed information about 1937// the error. 1938// 1939// See the AWS API reference guide for AWS Shield's 1940// API operation DisassociateDRTRole for usage and error information. 1941// 1942// Returned Error Types: 1943// * InternalErrorException 1944// Exception that indicates that a problem occurred with the service infrastructure. 1945// You can retry the request. 1946// 1947// * InvalidOperationException 1948// Exception that indicates that the operation would not cause any change to 1949// occur. 1950// 1951// * OptimisticLockException 1952// Exception that indicates that the resource state has been modified by another 1953// client. Retrieve the resource and then retry your request. 1954// 1955// * ResourceNotFoundException 1956// Exception indicating the specified resource does not exist. If available, 1957// this exception includes details in additional properties. 1958// 1959// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateDRTRole 1960func (c *Shield) DisassociateDRTRole(input *DisassociateDRTRoleInput) (*DisassociateDRTRoleOutput, error) { 1961 req, out := c.DisassociateDRTRoleRequest(input) 1962 return out, req.Send() 1963} 1964 1965// DisassociateDRTRoleWithContext is the same as DisassociateDRTRole with the addition of 1966// the ability to pass a context and additional request options. 1967// 1968// See DisassociateDRTRole for details on how to use this API operation. 1969// 1970// The context must be non-nil and will be used for request cancellation. If 1971// the context is nil a panic will occur. In the future the SDK may create 1972// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1973// for more information on using Contexts. 1974func (c *Shield) DisassociateDRTRoleWithContext(ctx aws.Context, input *DisassociateDRTRoleInput, opts ...request.Option) (*DisassociateDRTRoleOutput, error) { 1975 req, out := c.DisassociateDRTRoleRequest(input) 1976 req.SetContext(ctx) 1977 req.ApplyOptions(opts...) 1978 return out, req.Send() 1979} 1980 1981const opDisassociateHealthCheck = "DisassociateHealthCheck" 1982 1983// DisassociateHealthCheckRequest generates a "aws/request.Request" representing the 1984// client's request for the DisassociateHealthCheck operation. The "output" return 1985// value will be populated with the request's response once the request completes 1986// successfully. 1987// 1988// Use "Send" method on the returned Request to send the API call to the service. 1989// the "output" return value is not valid until after Send returns without error. 1990// 1991// See DisassociateHealthCheck for more information on using the DisassociateHealthCheck 1992// API call, and error handling. 1993// 1994// This method is useful when you want to inject custom logic or configuration 1995// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1996// 1997// 1998// // Example sending a request using the DisassociateHealthCheckRequest method. 1999// req, resp := client.DisassociateHealthCheckRequest(params) 2000// 2001// err := req.Send() 2002// if err == nil { // resp is now filled 2003// fmt.Println(resp) 2004// } 2005// 2006// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateHealthCheck 2007func (c *Shield) DisassociateHealthCheckRequest(input *DisassociateHealthCheckInput) (req *request.Request, output *DisassociateHealthCheckOutput) { 2008 op := &request.Operation{ 2009 Name: opDisassociateHealthCheck, 2010 HTTPMethod: "POST", 2011 HTTPPath: "/", 2012 } 2013 2014 if input == nil { 2015 input = &DisassociateHealthCheckInput{} 2016 } 2017 2018 output = &DisassociateHealthCheckOutput{} 2019 req = c.newRequest(op, input, output) 2020 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2021 return 2022} 2023 2024// DisassociateHealthCheck API operation for AWS Shield. 2025// 2026// Removes health-based detection from the Shield Advanced protection for a 2027// resource. Shield Advanced health-based detection uses the health of your 2028// Amazon Web Services resource to improve responsiveness and accuracy in attack 2029// detection and mitigation. 2030// 2031// You define the health check in Route 53 and then associate or disassociate 2032// it with your Shield Advanced protection. For more information, see Shield 2033// Advanced Health-Based Detection (https://docs.aws.amazon.com/waf/latest/developerguide/ddos-overview.html#ddos-advanced-health-check-option) 2034// in the WAF Developer Guide. 2035// 2036// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2037// with awserr.Error's Code and Message methods to get detailed information about 2038// the error. 2039// 2040// See the AWS API reference guide for AWS Shield's 2041// API operation DisassociateHealthCheck for usage and error information. 2042// 2043// Returned Error Types: 2044// * InternalErrorException 2045// Exception that indicates that a problem occurred with the service infrastructure. 2046// You can retry the request. 2047// 2048// * InvalidParameterException 2049// Exception that indicates that the parameters passed to the API are invalid. 2050// If available, this exception includes details in additional properties. 2051// 2052// * ResourceNotFoundException 2053// Exception indicating the specified resource does not exist. If available, 2054// this exception includes details in additional properties. 2055// 2056// * OptimisticLockException 2057// Exception that indicates that the resource state has been modified by another 2058// client. Retrieve the resource and then retry your request. 2059// 2060// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/DisassociateHealthCheck 2061func (c *Shield) DisassociateHealthCheck(input *DisassociateHealthCheckInput) (*DisassociateHealthCheckOutput, error) { 2062 req, out := c.DisassociateHealthCheckRequest(input) 2063 return out, req.Send() 2064} 2065 2066// DisassociateHealthCheckWithContext is the same as DisassociateHealthCheck with the addition of 2067// the ability to pass a context and additional request options. 2068// 2069// See DisassociateHealthCheck for details on how to use this API operation. 2070// 2071// The context must be non-nil and will be used for request cancellation. If 2072// the context is nil a panic will occur. In the future the SDK may create 2073// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2074// for more information on using Contexts. 2075func (c *Shield) DisassociateHealthCheckWithContext(ctx aws.Context, input *DisassociateHealthCheckInput, opts ...request.Option) (*DisassociateHealthCheckOutput, error) { 2076 req, out := c.DisassociateHealthCheckRequest(input) 2077 req.SetContext(ctx) 2078 req.ApplyOptions(opts...) 2079 return out, req.Send() 2080} 2081 2082const opEnableProactiveEngagement = "EnableProactiveEngagement" 2083 2084// EnableProactiveEngagementRequest generates a "aws/request.Request" representing the 2085// client's request for the EnableProactiveEngagement operation. The "output" return 2086// value will be populated with the request's response once the request completes 2087// successfully. 2088// 2089// Use "Send" method on the returned Request to send the API call to the service. 2090// the "output" return value is not valid until after Send returns without error. 2091// 2092// See EnableProactiveEngagement for more information on using the EnableProactiveEngagement 2093// API call, and error handling. 2094// 2095// This method is useful when you want to inject custom logic or configuration 2096// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2097// 2098// 2099// // Example sending a request using the EnableProactiveEngagementRequest method. 2100// req, resp := client.EnableProactiveEngagementRequest(params) 2101// 2102// err := req.Send() 2103// if err == nil { // resp is now filled 2104// fmt.Println(resp) 2105// } 2106// 2107// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagement 2108func (c *Shield) EnableProactiveEngagementRequest(input *EnableProactiveEngagementInput) (req *request.Request, output *EnableProactiveEngagementOutput) { 2109 op := &request.Operation{ 2110 Name: opEnableProactiveEngagement, 2111 HTTPMethod: "POST", 2112 HTTPPath: "/", 2113 } 2114 2115 if input == nil { 2116 input = &EnableProactiveEngagementInput{} 2117 } 2118 2119 output = &EnableProactiveEngagementOutput{} 2120 req = c.newRequest(op, input, output) 2121 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2122 return 2123} 2124 2125// EnableProactiveEngagement API operation for AWS Shield. 2126// 2127// Authorizes the Shield Response Team (SRT) to use email and phone to notify 2128// contacts about escalations to the SRT and to initiate proactive customer 2129// support. 2130// 2131// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2132// with awserr.Error's Code and Message methods to get detailed information about 2133// the error. 2134// 2135// See the AWS API reference guide for AWS Shield's 2136// API operation EnableProactiveEngagement for usage and error information. 2137// 2138// Returned Error Types: 2139// * InternalErrorException 2140// Exception that indicates that a problem occurred with the service infrastructure. 2141// You can retry the request. 2142// 2143// * InvalidOperationException 2144// Exception that indicates that the operation would not cause any change to 2145// occur. 2146// 2147// * InvalidParameterException 2148// Exception that indicates that the parameters passed to the API are invalid. 2149// If available, this exception includes details in additional properties. 2150// 2151// * ResourceNotFoundException 2152// Exception indicating the specified resource does not exist. If available, 2153// this exception includes details in additional properties. 2154// 2155// * OptimisticLockException 2156// Exception that indicates that the resource state has been modified by another 2157// client. Retrieve the resource and then retry your request. 2158// 2159// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/EnableProactiveEngagement 2160func (c *Shield) EnableProactiveEngagement(input *EnableProactiveEngagementInput) (*EnableProactiveEngagementOutput, error) { 2161 req, out := c.EnableProactiveEngagementRequest(input) 2162 return out, req.Send() 2163} 2164 2165// EnableProactiveEngagementWithContext is the same as EnableProactiveEngagement with the addition of 2166// the ability to pass a context and additional request options. 2167// 2168// See EnableProactiveEngagement for details on how to use this API operation. 2169// 2170// The context must be non-nil and will be used for request cancellation. If 2171// the context is nil a panic will occur. In the future the SDK may create 2172// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2173// for more information on using Contexts. 2174func (c *Shield) EnableProactiveEngagementWithContext(ctx aws.Context, input *EnableProactiveEngagementInput, opts ...request.Option) (*EnableProactiveEngagementOutput, error) { 2175 req, out := c.EnableProactiveEngagementRequest(input) 2176 req.SetContext(ctx) 2177 req.ApplyOptions(opts...) 2178 return out, req.Send() 2179} 2180 2181const opGetSubscriptionState = "GetSubscriptionState" 2182 2183// GetSubscriptionStateRequest generates a "aws/request.Request" representing the 2184// client's request for the GetSubscriptionState operation. The "output" return 2185// value will be populated with the request's response once the request completes 2186// successfully. 2187// 2188// Use "Send" method on the returned Request to send the API call to the service. 2189// the "output" return value is not valid until after Send returns without error. 2190// 2191// See GetSubscriptionState for more information on using the GetSubscriptionState 2192// API call, and error handling. 2193// 2194// This method is useful when you want to inject custom logic or configuration 2195// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2196// 2197// 2198// // Example sending a request using the GetSubscriptionStateRequest method. 2199// req, resp := client.GetSubscriptionStateRequest(params) 2200// 2201// err := req.Send() 2202// if err == nil { // resp is now filled 2203// fmt.Println(resp) 2204// } 2205// 2206// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionState 2207func (c *Shield) GetSubscriptionStateRequest(input *GetSubscriptionStateInput) (req *request.Request, output *GetSubscriptionStateOutput) { 2208 op := &request.Operation{ 2209 Name: opGetSubscriptionState, 2210 HTTPMethod: "POST", 2211 HTTPPath: "/", 2212 } 2213 2214 if input == nil { 2215 input = &GetSubscriptionStateInput{} 2216 } 2217 2218 output = &GetSubscriptionStateOutput{} 2219 req = c.newRequest(op, input, output) 2220 return 2221} 2222 2223// GetSubscriptionState API operation for AWS Shield. 2224// 2225// Returns the SubscriptionState, either Active or Inactive. 2226// 2227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2228// with awserr.Error's Code and Message methods to get detailed information about 2229// the error. 2230// 2231// See the AWS API reference guide for AWS Shield's 2232// API operation GetSubscriptionState for usage and error information. 2233// 2234// Returned Error Types: 2235// * InternalErrorException 2236// Exception that indicates that a problem occurred with the service infrastructure. 2237// You can retry the request. 2238// 2239// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/GetSubscriptionState 2240func (c *Shield) GetSubscriptionState(input *GetSubscriptionStateInput) (*GetSubscriptionStateOutput, error) { 2241 req, out := c.GetSubscriptionStateRequest(input) 2242 return out, req.Send() 2243} 2244 2245// GetSubscriptionStateWithContext is the same as GetSubscriptionState with the addition of 2246// the ability to pass a context and additional request options. 2247// 2248// See GetSubscriptionState for details on how to use this API operation. 2249// 2250// The context must be non-nil and will be used for request cancellation. If 2251// the context is nil a panic will occur. In the future the SDK may create 2252// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2253// for more information on using Contexts. 2254func (c *Shield) GetSubscriptionStateWithContext(ctx aws.Context, input *GetSubscriptionStateInput, opts ...request.Option) (*GetSubscriptionStateOutput, error) { 2255 req, out := c.GetSubscriptionStateRequest(input) 2256 req.SetContext(ctx) 2257 req.ApplyOptions(opts...) 2258 return out, req.Send() 2259} 2260 2261const opListAttacks = "ListAttacks" 2262 2263// ListAttacksRequest generates a "aws/request.Request" representing the 2264// client's request for the ListAttacks operation. The "output" return 2265// value will be populated with the request's response once the request completes 2266// successfully. 2267// 2268// Use "Send" method on the returned Request to send the API call to the service. 2269// the "output" return value is not valid until after Send returns without error. 2270// 2271// See ListAttacks for more information on using the ListAttacks 2272// API call, and error handling. 2273// 2274// This method is useful when you want to inject custom logic or configuration 2275// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2276// 2277// 2278// // Example sending a request using the ListAttacksRequest method. 2279// req, resp := client.ListAttacksRequest(params) 2280// 2281// err := req.Send() 2282// if err == nil { // resp is now filled 2283// fmt.Println(resp) 2284// } 2285// 2286// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListAttacks 2287func (c *Shield) ListAttacksRequest(input *ListAttacksInput) (req *request.Request, output *ListAttacksOutput) { 2288 op := &request.Operation{ 2289 Name: opListAttacks, 2290 HTTPMethod: "POST", 2291 HTTPPath: "/", 2292 Paginator: &request.Paginator{ 2293 InputTokens: []string{"NextToken"}, 2294 OutputTokens: []string{"NextToken"}, 2295 LimitToken: "MaxResults", 2296 TruncationToken: "", 2297 }, 2298 } 2299 2300 if input == nil { 2301 input = &ListAttacksInput{} 2302 } 2303 2304 output = &ListAttacksOutput{} 2305 req = c.newRequest(op, input, output) 2306 return 2307} 2308 2309// ListAttacks API operation for AWS Shield. 2310// 2311// Returns all ongoing DDoS attacks or all DDoS attacks during a specified time 2312// period. 2313// 2314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2315// with awserr.Error's Code and Message methods to get detailed information about 2316// the error. 2317// 2318// See the AWS API reference guide for AWS Shield's 2319// API operation ListAttacks for usage and error information. 2320// 2321// Returned Error Types: 2322// * InternalErrorException 2323// Exception that indicates that a problem occurred with the service infrastructure. 2324// You can retry the request. 2325// 2326// * InvalidParameterException 2327// Exception that indicates that the parameters passed to the API are invalid. 2328// If available, this exception includes details in additional properties. 2329// 2330// * InvalidOperationException 2331// Exception that indicates that the operation would not cause any change to 2332// occur. 2333// 2334// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListAttacks 2335func (c *Shield) ListAttacks(input *ListAttacksInput) (*ListAttacksOutput, error) { 2336 req, out := c.ListAttacksRequest(input) 2337 return out, req.Send() 2338} 2339 2340// ListAttacksWithContext is the same as ListAttacks with the addition of 2341// the ability to pass a context and additional request options. 2342// 2343// See ListAttacks for details on how to use this API operation. 2344// 2345// The context must be non-nil and will be used for request cancellation. If 2346// the context is nil a panic will occur. In the future the SDK may create 2347// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2348// for more information on using Contexts. 2349func (c *Shield) ListAttacksWithContext(ctx aws.Context, input *ListAttacksInput, opts ...request.Option) (*ListAttacksOutput, error) { 2350 req, out := c.ListAttacksRequest(input) 2351 req.SetContext(ctx) 2352 req.ApplyOptions(opts...) 2353 return out, req.Send() 2354} 2355 2356// ListAttacksPages iterates over the pages of a ListAttacks operation, 2357// calling the "fn" function with the response data for each page. To stop 2358// iterating, return false from the fn function. 2359// 2360// See ListAttacks method for more information on how to use this operation. 2361// 2362// Note: This operation can generate multiple requests to a service. 2363// 2364// // Example iterating over at most 3 pages of a ListAttacks operation. 2365// pageNum := 0 2366// err := client.ListAttacksPages(params, 2367// func(page *shield.ListAttacksOutput, lastPage bool) bool { 2368// pageNum++ 2369// fmt.Println(page) 2370// return pageNum <= 3 2371// }) 2372// 2373func (c *Shield) ListAttacksPages(input *ListAttacksInput, fn func(*ListAttacksOutput, bool) bool) error { 2374 return c.ListAttacksPagesWithContext(aws.BackgroundContext(), input, fn) 2375} 2376 2377// ListAttacksPagesWithContext same as ListAttacksPages except 2378// it takes a Context and allows setting request options on the pages. 2379// 2380// The context must be non-nil and will be used for request cancellation. If 2381// the context is nil a panic will occur. In the future the SDK may create 2382// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2383// for more information on using Contexts. 2384func (c *Shield) ListAttacksPagesWithContext(ctx aws.Context, input *ListAttacksInput, fn func(*ListAttacksOutput, bool) bool, opts ...request.Option) error { 2385 p := request.Pagination{ 2386 NewRequest: func() (*request.Request, error) { 2387 var inCpy *ListAttacksInput 2388 if input != nil { 2389 tmp := *input 2390 inCpy = &tmp 2391 } 2392 req, _ := c.ListAttacksRequest(inCpy) 2393 req.SetContext(ctx) 2394 req.ApplyOptions(opts...) 2395 return req, nil 2396 }, 2397 } 2398 2399 for p.Next() { 2400 if !fn(p.Page().(*ListAttacksOutput), !p.HasNextPage()) { 2401 break 2402 } 2403 } 2404 2405 return p.Err() 2406} 2407 2408const opListProtectionGroups = "ListProtectionGroups" 2409 2410// ListProtectionGroupsRequest generates a "aws/request.Request" representing the 2411// client's request for the ListProtectionGroups operation. The "output" return 2412// value will be populated with the request's response once the request completes 2413// successfully. 2414// 2415// Use "Send" method on the returned Request to send the API call to the service. 2416// the "output" return value is not valid until after Send returns without error. 2417// 2418// See ListProtectionGroups for more information on using the ListProtectionGroups 2419// API call, and error handling. 2420// 2421// This method is useful when you want to inject custom logic or configuration 2422// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2423// 2424// 2425// // Example sending a request using the ListProtectionGroupsRequest method. 2426// req, resp := client.ListProtectionGroupsRequest(params) 2427// 2428// err := req.Send() 2429// if err == nil { // resp is now filled 2430// fmt.Println(resp) 2431// } 2432// 2433// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtectionGroups 2434func (c *Shield) ListProtectionGroupsRequest(input *ListProtectionGroupsInput) (req *request.Request, output *ListProtectionGroupsOutput) { 2435 op := &request.Operation{ 2436 Name: opListProtectionGroups, 2437 HTTPMethod: "POST", 2438 HTTPPath: "/", 2439 Paginator: &request.Paginator{ 2440 InputTokens: []string{"NextToken"}, 2441 OutputTokens: []string{"NextToken"}, 2442 LimitToken: "MaxResults", 2443 TruncationToken: "", 2444 }, 2445 } 2446 2447 if input == nil { 2448 input = &ListProtectionGroupsInput{} 2449 } 2450 2451 output = &ListProtectionGroupsOutput{} 2452 req = c.newRequest(op, input, output) 2453 return 2454} 2455 2456// ListProtectionGroups API operation for AWS Shield. 2457// 2458// Retrieves the ProtectionGroup objects for the account. 2459// 2460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2461// with awserr.Error's Code and Message methods to get detailed information about 2462// the error. 2463// 2464// See the AWS API reference guide for AWS Shield's 2465// API operation ListProtectionGroups for usage and error information. 2466// 2467// Returned Error Types: 2468// * InternalErrorException 2469// Exception that indicates that a problem occurred with the service infrastructure. 2470// You can retry the request. 2471// 2472// * ResourceNotFoundException 2473// Exception indicating the specified resource does not exist. If available, 2474// this exception includes details in additional properties. 2475// 2476// * InvalidPaginationTokenException 2477// Exception that indicates that the NextToken specified in the request is invalid. 2478// Submit the request using the NextToken value that was returned in the response. 2479// 2480// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtectionGroups 2481func (c *Shield) ListProtectionGroups(input *ListProtectionGroupsInput) (*ListProtectionGroupsOutput, error) { 2482 req, out := c.ListProtectionGroupsRequest(input) 2483 return out, req.Send() 2484} 2485 2486// ListProtectionGroupsWithContext is the same as ListProtectionGroups with the addition of 2487// the ability to pass a context and additional request options. 2488// 2489// See ListProtectionGroups for details on how to use this API operation. 2490// 2491// The context must be non-nil and will be used for request cancellation. If 2492// the context is nil a panic will occur. In the future the SDK may create 2493// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2494// for more information on using Contexts. 2495func (c *Shield) ListProtectionGroupsWithContext(ctx aws.Context, input *ListProtectionGroupsInput, opts ...request.Option) (*ListProtectionGroupsOutput, error) { 2496 req, out := c.ListProtectionGroupsRequest(input) 2497 req.SetContext(ctx) 2498 req.ApplyOptions(opts...) 2499 return out, req.Send() 2500} 2501 2502// ListProtectionGroupsPages iterates over the pages of a ListProtectionGroups operation, 2503// calling the "fn" function with the response data for each page. To stop 2504// iterating, return false from the fn function. 2505// 2506// See ListProtectionGroups method for more information on how to use this operation. 2507// 2508// Note: This operation can generate multiple requests to a service. 2509// 2510// // Example iterating over at most 3 pages of a ListProtectionGroups operation. 2511// pageNum := 0 2512// err := client.ListProtectionGroupsPages(params, 2513// func(page *shield.ListProtectionGroupsOutput, lastPage bool) bool { 2514// pageNum++ 2515// fmt.Println(page) 2516// return pageNum <= 3 2517// }) 2518// 2519func (c *Shield) ListProtectionGroupsPages(input *ListProtectionGroupsInput, fn func(*ListProtectionGroupsOutput, bool) bool) error { 2520 return c.ListProtectionGroupsPagesWithContext(aws.BackgroundContext(), input, fn) 2521} 2522 2523// ListProtectionGroupsPagesWithContext same as ListProtectionGroupsPages except 2524// it takes a Context and allows setting request options on the pages. 2525// 2526// The context must be non-nil and will be used for request cancellation. If 2527// the context is nil a panic will occur. In the future the SDK may create 2528// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2529// for more information on using Contexts. 2530func (c *Shield) ListProtectionGroupsPagesWithContext(ctx aws.Context, input *ListProtectionGroupsInput, fn func(*ListProtectionGroupsOutput, bool) bool, opts ...request.Option) error { 2531 p := request.Pagination{ 2532 NewRequest: func() (*request.Request, error) { 2533 var inCpy *ListProtectionGroupsInput 2534 if input != nil { 2535 tmp := *input 2536 inCpy = &tmp 2537 } 2538 req, _ := c.ListProtectionGroupsRequest(inCpy) 2539 req.SetContext(ctx) 2540 req.ApplyOptions(opts...) 2541 return req, nil 2542 }, 2543 } 2544 2545 for p.Next() { 2546 if !fn(p.Page().(*ListProtectionGroupsOutput), !p.HasNextPage()) { 2547 break 2548 } 2549 } 2550 2551 return p.Err() 2552} 2553 2554const opListProtections = "ListProtections" 2555 2556// ListProtectionsRequest generates a "aws/request.Request" representing the 2557// client's request for the ListProtections operation. The "output" return 2558// value will be populated with the request's response once the request completes 2559// successfully. 2560// 2561// Use "Send" method on the returned Request to send the API call to the service. 2562// the "output" return value is not valid until after Send returns without error. 2563// 2564// See ListProtections for more information on using the ListProtections 2565// API call, and error handling. 2566// 2567// This method is useful when you want to inject custom logic or configuration 2568// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2569// 2570// 2571// // Example sending a request using the ListProtectionsRequest method. 2572// req, resp := client.ListProtectionsRequest(params) 2573// 2574// err := req.Send() 2575// if err == nil { // resp is now filled 2576// fmt.Println(resp) 2577// } 2578// 2579// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections 2580func (c *Shield) ListProtectionsRequest(input *ListProtectionsInput) (req *request.Request, output *ListProtectionsOutput) { 2581 op := &request.Operation{ 2582 Name: opListProtections, 2583 HTTPMethod: "POST", 2584 HTTPPath: "/", 2585 Paginator: &request.Paginator{ 2586 InputTokens: []string{"NextToken"}, 2587 OutputTokens: []string{"NextToken"}, 2588 LimitToken: "MaxResults", 2589 TruncationToken: "", 2590 }, 2591 } 2592 2593 if input == nil { 2594 input = &ListProtectionsInput{} 2595 } 2596 2597 output = &ListProtectionsOutput{} 2598 req = c.newRequest(op, input, output) 2599 return 2600} 2601 2602// ListProtections API operation for AWS Shield. 2603// 2604// Lists all Protection objects for the account. 2605// 2606// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2607// with awserr.Error's Code and Message methods to get detailed information about 2608// the error. 2609// 2610// See the AWS API reference guide for AWS Shield's 2611// API operation ListProtections for usage and error information. 2612// 2613// Returned Error Types: 2614// * InternalErrorException 2615// Exception that indicates that a problem occurred with the service infrastructure. 2616// You can retry the request. 2617// 2618// * ResourceNotFoundException 2619// Exception indicating the specified resource does not exist. If available, 2620// this exception includes details in additional properties. 2621// 2622// * InvalidPaginationTokenException 2623// Exception that indicates that the NextToken specified in the request is invalid. 2624// Submit the request using the NextToken value that was returned in the response. 2625// 2626// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListProtections 2627func (c *Shield) ListProtections(input *ListProtectionsInput) (*ListProtectionsOutput, error) { 2628 req, out := c.ListProtectionsRequest(input) 2629 return out, req.Send() 2630} 2631 2632// ListProtectionsWithContext is the same as ListProtections with the addition of 2633// the ability to pass a context and additional request options. 2634// 2635// See ListProtections for details on how to use this API operation. 2636// 2637// The context must be non-nil and will be used for request cancellation. If 2638// the context is nil a panic will occur. In the future the SDK may create 2639// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2640// for more information on using Contexts. 2641func (c *Shield) ListProtectionsWithContext(ctx aws.Context, input *ListProtectionsInput, opts ...request.Option) (*ListProtectionsOutput, error) { 2642 req, out := c.ListProtectionsRequest(input) 2643 req.SetContext(ctx) 2644 req.ApplyOptions(opts...) 2645 return out, req.Send() 2646} 2647 2648// ListProtectionsPages iterates over the pages of a ListProtections operation, 2649// calling the "fn" function with the response data for each page. To stop 2650// iterating, return false from the fn function. 2651// 2652// See ListProtections method for more information on how to use this operation. 2653// 2654// Note: This operation can generate multiple requests to a service. 2655// 2656// // Example iterating over at most 3 pages of a ListProtections operation. 2657// pageNum := 0 2658// err := client.ListProtectionsPages(params, 2659// func(page *shield.ListProtectionsOutput, lastPage bool) bool { 2660// pageNum++ 2661// fmt.Println(page) 2662// return pageNum <= 3 2663// }) 2664// 2665func (c *Shield) ListProtectionsPages(input *ListProtectionsInput, fn func(*ListProtectionsOutput, bool) bool) error { 2666 return c.ListProtectionsPagesWithContext(aws.BackgroundContext(), input, fn) 2667} 2668 2669// ListProtectionsPagesWithContext same as ListProtectionsPages except 2670// it takes a Context and allows setting request options on the pages. 2671// 2672// The context must be non-nil and will be used for request cancellation. If 2673// the context is nil a panic will occur. In the future the SDK may create 2674// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2675// for more information on using Contexts. 2676func (c *Shield) ListProtectionsPagesWithContext(ctx aws.Context, input *ListProtectionsInput, fn func(*ListProtectionsOutput, bool) bool, opts ...request.Option) error { 2677 p := request.Pagination{ 2678 NewRequest: func() (*request.Request, error) { 2679 var inCpy *ListProtectionsInput 2680 if input != nil { 2681 tmp := *input 2682 inCpy = &tmp 2683 } 2684 req, _ := c.ListProtectionsRequest(inCpy) 2685 req.SetContext(ctx) 2686 req.ApplyOptions(opts...) 2687 return req, nil 2688 }, 2689 } 2690 2691 for p.Next() { 2692 if !fn(p.Page().(*ListProtectionsOutput), !p.HasNextPage()) { 2693 break 2694 } 2695 } 2696 2697 return p.Err() 2698} 2699 2700const opListResourcesInProtectionGroup = "ListResourcesInProtectionGroup" 2701 2702// ListResourcesInProtectionGroupRequest generates a "aws/request.Request" representing the 2703// client's request for the ListResourcesInProtectionGroup operation. The "output" return 2704// value will be populated with the request's response once the request completes 2705// successfully. 2706// 2707// Use "Send" method on the returned Request to send the API call to the service. 2708// the "output" return value is not valid until after Send returns without error. 2709// 2710// See ListResourcesInProtectionGroup for more information on using the ListResourcesInProtectionGroup 2711// API call, and error handling. 2712// 2713// This method is useful when you want to inject custom logic or configuration 2714// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2715// 2716// 2717// // Example sending a request using the ListResourcesInProtectionGroupRequest method. 2718// req, resp := client.ListResourcesInProtectionGroupRequest(params) 2719// 2720// err := req.Send() 2721// if err == nil { // resp is now filled 2722// fmt.Println(resp) 2723// } 2724// 2725// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListResourcesInProtectionGroup 2726func (c *Shield) ListResourcesInProtectionGroupRequest(input *ListResourcesInProtectionGroupInput) (req *request.Request, output *ListResourcesInProtectionGroupOutput) { 2727 op := &request.Operation{ 2728 Name: opListResourcesInProtectionGroup, 2729 HTTPMethod: "POST", 2730 HTTPPath: "/", 2731 Paginator: &request.Paginator{ 2732 InputTokens: []string{"NextToken"}, 2733 OutputTokens: []string{"NextToken"}, 2734 LimitToken: "MaxResults", 2735 TruncationToken: "", 2736 }, 2737 } 2738 2739 if input == nil { 2740 input = &ListResourcesInProtectionGroupInput{} 2741 } 2742 2743 output = &ListResourcesInProtectionGroupOutput{} 2744 req = c.newRequest(op, input, output) 2745 return 2746} 2747 2748// ListResourcesInProtectionGroup API operation for AWS Shield. 2749// 2750// Retrieves the resources that are included in the protection group. 2751// 2752// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2753// with awserr.Error's Code and Message methods to get detailed information about 2754// the error. 2755// 2756// See the AWS API reference guide for AWS Shield's 2757// API operation ListResourcesInProtectionGroup for usage and error information. 2758// 2759// Returned Error Types: 2760// * InternalErrorException 2761// Exception that indicates that a problem occurred with the service infrastructure. 2762// You can retry the request. 2763// 2764// * ResourceNotFoundException 2765// Exception indicating the specified resource does not exist. If available, 2766// this exception includes details in additional properties. 2767// 2768// * InvalidPaginationTokenException 2769// Exception that indicates that the NextToken specified in the request is invalid. 2770// Submit the request using the NextToken value that was returned in the response. 2771// 2772// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListResourcesInProtectionGroup 2773func (c *Shield) ListResourcesInProtectionGroup(input *ListResourcesInProtectionGroupInput) (*ListResourcesInProtectionGroupOutput, error) { 2774 req, out := c.ListResourcesInProtectionGroupRequest(input) 2775 return out, req.Send() 2776} 2777 2778// ListResourcesInProtectionGroupWithContext is the same as ListResourcesInProtectionGroup with the addition of 2779// the ability to pass a context and additional request options. 2780// 2781// See ListResourcesInProtectionGroup for details on how to use this API operation. 2782// 2783// The context must be non-nil and will be used for request cancellation. If 2784// the context is nil a panic will occur. In the future the SDK may create 2785// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2786// for more information on using Contexts. 2787func (c *Shield) ListResourcesInProtectionGroupWithContext(ctx aws.Context, input *ListResourcesInProtectionGroupInput, opts ...request.Option) (*ListResourcesInProtectionGroupOutput, error) { 2788 req, out := c.ListResourcesInProtectionGroupRequest(input) 2789 req.SetContext(ctx) 2790 req.ApplyOptions(opts...) 2791 return out, req.Send() 2792} 2793 2794// ListResourcesInProtectionGroupPages iterates over the pages of a ListResourcesInProtectionGroup operation, 2795// calling the "fn" function with the response data for each page. To stop 2796// iterating, return false from the fn function. 2797// 2798// See ListResourcesInProtectionGroup method for more information on how to use this operation. 2799// 2800// Note: This operation can generate multiple requests to a service. 2801// 2802// // Example iterating over at most 3 pages of a ListResourcesInProtectionGroup operation. 2803// pageNum := 0 2804// err := client.ListResourcesInProtectionGroupPages(params, 2805// func(page *shield.ListResourcesInProtectionGroupOutput, lastPage bool) bool { 2806// pageNum++ 2807// fmt.Println(page) 2808// return pageNum <= 3 2809// }) 2810// 2811func (c *Shield) ListResourcesInProtectionGroupPages(input *ListResourcesInProtectionGroupInput, fn func(*ListResourcesInProtectionGroupOutput, bool) bool) error { 2812 return c.ListResourcesInProtectionGroupPagesWithContext(aws.BackgroundContext(), input, fn) 2813} 2814 2815// ListResourcesInProtectionGroupPagesWithContext same as ListResourcesInProtectionGroupPages except 2816// it takes a Context and allows setting request options on the pages. 2817// 2818// The context must be non-nil and will be used for request cancellation. If 2819// the context is nil a panic will occur. In the future the SDK may create 2820// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2821// for more information on using Contexts. 2822func (c *Shield) ListResourcesInProtectionGroupPagesWithContext(ctx aws.Context, input *ListResourcesInProtectionGroupInput, fn func(*ListResourcesInProtectionGroupOutput, bool) bool, opts ...request.Option) error { 2823 p := request.Pagination{ 2824 NewRequest: func() (*request.Request, error) { 2825 var inCpy *ListResourcesInProtectionGroupInput 2826 if input != nil { 2827 tmp := *input 2828 inCpy = &tmp 2829 } 2830 req, _ := c.ListResourcesInProtectionGroupRequest(inCpy) 2831 req.SetContext(ctx) 2832 req.ApplyOptions(opts...) 2833 return req, nil 2834 }, 2835 } 2836 2837 for p.Next() { 2838 if !fn(p.Page().(*ListResourcesInProtectionGroupOutput), !p.HasNextPage()) { 2839 break 2840 } 2841 } 2842 2843 return p.Err() 2844} 2845 2846const opListTagsForResource = "ListTagsForResource" 2847 2848// ListTagsForResourceRequest generates a "aws/request.Request" representing the 2849// client's request for the ListTagsForResource operation. The "output" return 2850// value will be populated with the request's response once the request completes 2851// successfully. 2852// 2853// Use "Send" method on the returned Request to send the API call to the service. 2854// the "output" return value is not valid until after Send returns without error. 2855// 2856// See ListTagsForResource for more information on using the ListTagsForResource 2857// API call, and error handling. 2858// 2859// This method is useful when you want to inject custom logic or configuration 2860// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2861// 2862// 2863// // Example sending a request using the ListTagsForResourceRequest method. 2864// req, resp := client.ListTagsForResourceRequest(params) 2865// 2866// err := req.Send() 2867// if err == nil { // resp is now filled 2868// fmt.Println(resp) 2869// } 2870// 2871// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResource 2872func (c *Shield) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 2873 op := &request.Operation{ 2874 Name: opListTagsForResource, 2875 HTTPMethod: "POST", 2876 HTTPPath: "/", 2877 } 2878 2879 if input == nil { 2880 input = &ListTagsForResourceInput{} 2881 } 2882 2883 output = &ListTagsForResourceOutput{} 2884 req = c.newRequest(op, input, output) 2885 return 2886} 2887 2888// ListTagsForResource API operation for AWS Shield. 2889// 2890// Gets information about Amazon Web Services tags for a specified Amazon Resource 2891// Name (ARN) in Shield. 2892// 2893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2894// with awserr.Error's Code and Message methods to get detailed information about 2895// the error. 2896// 2897// See the AWS API reference guide for AWS Shield's 2898// API operation ListTagsForResource for usage and error information. 2899// 2900// Returned Error Types: 2901// * InternalErrorException 2902// Exception that indicates that a problem occurred with the service infrastructure. 2903// You can retry the request. 2904// 2905// * InvalidResourceException 2906// Exception that indicates that the resource is invalid. You might not have 2907// access to the resource, or the resource might not exist. 2908// 2909// * ResourceNotFoundException 2910// Exception indicating the specified resource does not exist. If available, 2911// this exception includes details in additional properties. 2912// 2913// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/ListTagsForResource 2914func (c *Shield) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2915 req, out := c.ListTagsForResourceRequest(input) 2916 return out, req.Send() 2917} 2918 2919// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2920// the ability to pass a context and additional request options. 2921// 2922// See ListTagsForResource for details on how to use this API operation. 2923// 2924// The context must be non-nil and will be used for request cancellation. If 2925// the context is nil a panic will occur. In the future the SDK may create 2926// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2927// for more information on using Contexts. 2928func (c *Shield) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2929 req, out := c.ListTagsForResourceRequest(input) 2930 req.SetContext(ctx) 2931 req.ApplyOptions(opts...) 2932 return out, req.Send() 2933} 2934 2935const opTagResource = "TagResource" 2936 2937// TagResourceRequest generates a "aws/request.Request" representing the 2938// client's request for the TagResource operation. The "output" return 2939// value will be populated with the request's response once the request completes 2940// successfully. 2941// 2942// Use "Send" method on the returned Request to send the API call to the service. 2943// the "output" return value is not valid until after Send returns without error. 2944// 2945// See TagResource for more information on using the TagResource 2946// API call, and error handling. 2947// 2948// This method is useful when you want to inject custom logic or configuration 2949// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2950// 2951// 2952// // Example sending a request using the TagResourceRequest method. 2953// req, resp := client.TagResourceRequest(params) 2954// 2955// err := req.Send() 2956// if err == nil { // resp is now filled 2957// fmt.Println(resp) 2958// } 2959// 2960// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResource 2961func (c *Shield) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2962 op := &request.Operation{ 2963 Name: opTagResource, 2964 HTTPMethod: "POST", 2965 HTTPPath: "/", 2966 } 2967 2968 if input == nil { 2969 input = &TagResourceInput{} 2970 } 2971 2972 output = &TagResourceOutput{} 2973 req = c.newRequest(op, input, output) 2974 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2975 return 2976} 2977 2978// TagResource API operation for AWS Shield. 2979// 2980// Adds or updates tags for a resource in Shield. 2981// 2982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2983// with awserr.Error's Code and Message methods to get detailed information about 2984// the error. 2985// 2986// See the AWS API reference guide for AWS Shield's 2987// API operation TagResource for usage and error information. 2988// 2989// Returned Error Types: 2990// * InternalErrorException 2991// Exception that indicates that a problem occurred with the service infrastructure. 2992// You can retry the request. 2993// 2994// * InvalidResourceException 2995// Exception that indicates that the resource is invalid. You might not have 2996// access to the resource, or the resource might not exist. 2997// 2998// * InvalidParameterException 2999// Exception that indicates that the parameters passed to the API are invalid. 3000// If available, this exception includes details in additional properties. 3001// 3002// * ResourceNotFoundException 3003// Exception indicating the specified resource does not exist. If available, 3004// this exception includes details in additional properties. 3005// 3006// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/TagResource 3007func (c *Shield) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 3008 req, out := c.TagResourceRequest(input) 3009 return out, req.Send() 3010} 3011 3012// TagResourceWithContext is the same as TagResource with the addition of 3013// the ability to pass a context and additional request options. 3014// 3015// See TagResource for details on how to use this API operation. 3016// 3017// The context must be non-nil and will be used for request cancellation. If 3018// the context is nil a panic will occur. In the future the SDK may create 3019// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3020// for more information on using Contexts. 3021func (c *Shield) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 3022 req, out := c.TagResourceRequest(input) 3023 req.SetContext(ctx) 3024 req.ApplyOptions(opts...) 3025 return out, req.Send() 3026} 3027 3028const opUntagResource = "UntagResource" 3029 3030// UntagResourceRequest generates a "aws/request.Request" representing the 3031// client's request for the UntagResource operation. The "output" return 3032// value will be populated with the request's response once the request completes 3033// successfully. 3034// 3035// Use "Send" method on the returned Request to send the API call to the service. 3036// the "output" return value is not valid until after Send returns without error. 3037// 3038// See UntagResource for more information on using the UntagResource 3039// API call, and error handling. 3040// 3041// This method is useful when you want to inject custom logic or configuration 3042// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3043// 3044// 3045// // Example sending a request using the UntagResourceRequest method. 3046// req, resp := client.UntagResourceRequest(params) 3047// 3048// err := req.Send() 3049// if err == nil { // resp is now filled 3050// fmt.Println(resp) 3051// } 3052// 3053// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResource 3054func (c *Shield) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 3055 op := &request.Operation{ 3056 Name: opUntagResource, 3057 HTTPMethod: "POST", 3058 HTTPPath: "/", 3059 } 3060 3061 if input == nil { 3062 input = &UntagResourceInput{} 3063 } 3064 3065 output = &UntagResourceOutput{} 3066 req = c.newRequest(op, input, output) 3067 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3068 return 3069} 3070 3071// UntagResource API operation for AWS Shield. 3072// 3073// Removes tags from a resource in Shield. 3074// 3075// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3076// with awserr.Error's Code and Message methods to get detailed information about 3077// the error. 3078// 3079// See the AWS API reference guide for AWS Shield's 3080// API operation UntagResource for usage and error information. 3081// 3082// Returned Error Types: 3083// * InternalErrorException 3084// Exception that indicates that a problem occurred with the service infrastructure. 3085// You can retry the request. 3086// 3087// * InvalidResourceException 3088// Exception that indicates that the resource is invalid. You might not have 3089// access to the resource, or the resource might not exist. 3090// 3091// * InvalidParameterException 3092// Exception that indicates that the parameters passed to the API are invalid. 3093// If available, this exception includes details in additional properties. 3094// 3095// * ResourceNotFoundException 3096// Exception indicating the specified resource does not exist. If available, 3097// this exception includes details in additional properties. 3098// 3099// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UntagResource 3100func (c *Shield) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 3101 req, out := c.UntagResourceRequest(input) 3102 return out, req.Send() 3103} 3104 3105// UntagResourceWithContext is the same as UntagResource with the addition of 3106// the ability to pass a context and additional request options. 3107// 3108// See UntagResource for details on how to use this API operation. 3109// 3110// The context must be non-nil and will be used for request cancellation. If 3111// the context is nil a panic will occur. In the future the SDK may create 3112// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3113// for more information on using Contexts. 3114func (c *Shield) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 3115 req, out := c.UntagResourceRequest(input) 3116 req.SetContext(ctx) 3117 req.ApplyOptions(opts...) 3118 return out, req.Send() 3119} 3120 3121const opUpdateEmergencyContactSettings = "UpdateEmergencyContactSettings" 3122 3123// UpdateEmergencyContactSettingsRequest generates a "aws/request.Request" representing the 3124// client's request for the UpdateEmergencyContactSettings operation. The "output" return 3125// value will be populated with the request's response once the request completes 3126// successfully. 3127// 3128// Use "Send" method on the returned Request to send the API call to the service. 3129// the "output" return value is not valid until after Send returns without error. 3130// 3131// See UpdateEmergencyContactSettings for more information on using the UpdateEmergencyContactSettings 3132// API call, and error handling. 3133// 3134// This method is useful when you want to inject custom logic or configuration 3135// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3136// 3137// 3138// // Example sending a request using the UpdateEmergencyContactSettingsRequest method. 3139// req, resp := client.UpdateEmergencyContactSettingsRequest(params) 3140// 3141// err := req.Send() 3142// if err == nil { // resp is now filled 3143// fmt.Println(resp) 3144// } 3145// 3146// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateEmergencyContactSettings 3147func (c *Shield) UpdateEmergencyContactSettingsRequest(input *UpdateEmergencyContactSettingsInput) (req *request.Request, output *UpdateEmergencyContactSettingsOutput) { 3148 op := &request.Operation{ 3149 Name: opUpdateEmergencyContactSettings, 3150 HTTPMethod: "POST", 3151 HTTPPath: "/", 3152 } 3153 3154 if input == nil { 3155 input = &UpdateEmergencyContactSettingsInput{} 3156 } 3157 3158 output = &UpdateEmergencyContactSettingsOutput{} 3159 req = c.newRequest(op, input, output) 3160 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3161 return 3162} 3163 3164// UpdateEmergencyContactSettings API operation for AWS Shield. 3165// 3166// Updates the details of the list of email addresses and phone numbers that 3167// the Shield Response Team (SRT) can use to contact you if you have proactive 3168// engagement enabled, for escalations to the SRT and to initiate proactive 3169// customer support. 3170// 3171// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3172// with awserr.Error's Code and Message methods to get detailed information about 3173// the error. 3174// 3175// See the AWS API reference guide for AWS Shield's 3176// API operation UpdateEmergencyContactSettings for usage and error information. 3177// 3178// Returned Error Types: 3179// * InternalErrorException 3180// Exception that indicates that a problem occurred with the service infrastructure. 3181// You can retry the request. 3182// 3183// * InvalidParameterException 3184// Exception that indicates that the parameters passed to the API are invalid. 3185// If available, this exception includes details in additional properties. 3186// 3187// * OptimisticLockException 3188// Exception that indicates that the resource state has been modified by another 3189// client. Retrieve the resource and then retry your request. 3190// 3191// * ResourceNotFoundException 3192// Exception indicating the specified resource does not exist. If available, 3193// this exception includes details in additional properties. 3194// 3195// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateEmergencyContactSettings 3196func (c *Shield) UpdateEmergencyContactSettings(input *UpdateEmergencyContactSettingsInput) (*UpdateEmergencyContactSettingsOutput, error) { 3197 req, out := c.UpdateEmergencyContactSettingsRequest(input) 3198 return out, req.Send() 3199} 3200 3201// UpdateEmergencyContactSettingsWithContext is the same as UpdateEmergencyContactSettings with the addition of 3202// the ability to pass a context and additional request options. 3203// 3204// See UpdateEmergencyContactSettings for details on how to use this API operation. 3205// 3206// The context must be non-nil and will be used for request cancellation. If 3207// the context is nil a panic will occur. In the future the SDK may create 3208// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3209// for more information on using Contexts. 3210func (c *Shield) UpdateEmergencyContactSettingsWithContext(ctx aws.Context, input *UpdateEmergencyContactSettingsInput, opts ...request.Option) (*UpdateEmergencyContactSettingsOutput, error) { 3211 req, out := c.UpdateEmergencyContactSettingsRequest(input) 3212 req.SetContext(ctx) 3213 req.ApplyOptions(opts...) 3214 return out, req.Send() 3215} 3216 3217const opUpdateProtectionGroup = "UpdateProtectionGroup" 3218 3219// UpdateProtectionGroupRequest generates a "aws/request.Request" representing the 3220// client's request for the UpdateProtectionGroup operation. The "output" return 3221// value will be populated with the request's response once the request completes 3222// successfully. 3223// 3224// Use "Send" method on the returned Request to send the API call to the service. 3225// the "output" return value is not valid until after Send returns without error. 3226// 3227// See UpdateProtectionGroup for more information on using the UpdateProtectionGroup 3228// API call, and error handling. 3229// 3230// This method is useful when you want to inject custom logic or configuration 3231// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3232// 3233// 3234// // Example sending a request using the UpdateProtectionGroupRequest method. 3235// req, resp := client.UpdateProtectionGroupRequest(params) 3236// 3237// err := req.Send() 3238// if err == nil { // resp is now filled 3239// fmt.Println(resp) 3240// } 3241// 3242// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateProtectionGroup 3243func (c *Shield) UpdateProtectionGroupRequest(input *UpdateProtectionGroupInput) (req *request.Request, output *UpdateProtectionGroupOutput) { 3244 op := &request.Operation{ 3245 Name: opUpdateProtectionGroup, 3246 HTTPMethod: "POST", 3247 HTTPPath: "/", 3248 } 3249 3250 if input == nil { 3251 input = &UpdateProtectionGroupInput{} 3252 } 3253 3254 output = &UpdateProtectionGroupOutput{} 3255 req = c.newRequest(op, input, output) 3256 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3257 return 3258} 3259 3260// UpdateProtectionGroup API operation for AWS Shield. 3261// 3262// Updates an existing protection group. A protection group is a grouping of 3263// protected resources so they can be handled as a collective. This resource 3264// grouping improves the accuracy of detection and reduces false positives. 3265// 3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3267// with awserr.Error's Code and Message methods to get detailed information about 3268// the error. 3269// 3270// See the AWS API reference guide for AWS Shield's 3271// API operation UpdateProtectionGroup for usage and error information. 3272// 3273// Returned Error Types: 3274// * InternalErrorException 3275// Exception that indicates that a problem occurred with the service infrastructure. 3276// You can retry the request. 3277// 3278// * ResourceNotFoundException 3279// Exception indicating the specified resource does not exist. If available, 3280// this exception includes details in additional properties. 3281// 3282// * OptimisticLockException 3283// Exception that indicates that the resource state has been modified by another 3284// client. Retrieve the resource and then retry your request. 3285// 3286// * InvalidParameterException 3287// Exception that indicates that the parameters passed to the API are invalid. 3288// If available, this exception includes details in additional properties. 3289// 3290// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateProtectionGroup 3291func (c *Shield) UpdateProtectionGroup(input *UpdateProtectionGroupInput) (*UpdateProtectionGroupOutput, error) { 3292 req, out := c.UpdateProtectionGroupRequest(input) 3293 return out, req.Send() 3294} 3295 3296// UpdateProtectionGroupWithContext is the same as UpdateProtectionGroup with the addition of 3297// the ability to pass a context and additional request options. 3298// 3299// See UpdateProtectionGroup for details on how to use this API operation. 3300// 3301// The context must be non-nil and will be used for request cancellation. If 3302// the context is nil a panic will occur. In the future the SDK may create 3303// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3304// for more information on using Contexts. 3305func (c *Shield) UpdateProtectionGroupWithContext(ctx aws.Context, input *UpdateProtectionGroupInput, opts ...request.Option) (*UpdateProtectionGroupOutput, error) { 3306 req, out := c.UpdateProtectionGroupRequest(input) 3307 req.SetContext(ctx) 3308 req.ApplyOptions(opts...) 3309 return out, req.Send() 3310} 3311 3312const opUpdateSubscription = "UpdateSubscription" 3313 3314// UpdateSubscriptionRequest generates a "aws/request.Request" representing the 3315// client's request for the UpdateSubscription operation. The "output" return 3316// value will be populated with the request's response once the request completes 3317// successfully. 3318// 3319// Use "Send" method on the returned Request to send the API call to the service. 3320// the "output" return value is not valid until after Send returns without error. 3321// 3322// See UpdateSubscription for more information on using the UpdateSubscription 3323// API call, and error handling. 3324// 3325// This method is useful when you want to inject custom logic or configuration 3326// into the SDK's request lifecycle. Such as custom headers, or retry logic. 3327// 3328// 3329// // Example sending a request using the UpdateSubscriptionRequest method. 3330// req, resp := client.UpdateSubscriptionRequest(params) 3331// 3332// err := req.Send() 3333// if err == nil { // resp is now filled 3334// fmt.Println(resp) 3335// } 3336// 3337// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateSubscription 3338func (c *Shield) UpdateSubscriptionRequest(input *UpdateSubscriptionInput) (req *request.Request, output *UpdateSubscriptionOutput) { 3339 op := &request.Operation{ 3340 Name: opUpdateSubscription, 3341 HTTPMethod: "POST", 3342 HTTPPath: "/", 3343 } 3344 3345 if input == nil { 3346 input = &UpdateSubscriptionInput{} 3347 } 3348 3349 output = &UpdateSubscriptionOutput{} 3350 req = c.newRequest(op, input, output) 3351 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 3352 return 3353} 3354 3355// UpdateSubscription API operation for AWS Shield. 3356// 3357// Updates the details of an existing subscription. Only enter values for parameters 3358// you want to change. Empty parameters are not updated. 3359// 3360// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 3361// with awserr.Error's Code and Message methods to get detailed information about 3362// the error. 3363// 3364// See the AWS API reference guide for AWS Shield's 3365// API operation UpdateSubscription for usage and error information. 3366// 3367// Returned Error Types: 3368// * InternalErrorException 3369// Exception that indicates that a problem occurred with the service infrastructure. 3370// You can retry the request. 3371// 3372// * LockedSubscriptionException 3373// You are trying to update a subscription that has not yet completed the 1-year 3374// commitment. You can change the AutoRenew parameter during the last 30 days 3375// of your subscription. This exception indicates that you are attempting to 3376// change AutoRenew prior to that period. 3377// 3378// * ResourceNotFoundException 3379// Exception indicating the specified resource does not exist. If available, 3380// this exception includes details in additional properties. 3381// 3382// * InvalidParameterException 3383// Exception that indicates that the parameters passed to the API are invalid. 3384// If available, this exception includes details in additional properties. 3385// 3386// * OptimisticLockException 3387// Exception that indicates that the resource state has been modified by another 3388// client. Retrieve the resource and then retry your request. 3389// 3390// See also, https://docs.aws.amazon.com/goto/WebAPI/shield-2016-06-02/UpdateSubscription 3391func (c *Shield) UpdateSubscription(input *UpdateSubscriptionInput) (*UpdateSubscriptionOutput, error) { 3392 req, out := c.UpdateSubscriptionRequest(input) 3393 return out, req.Send() 3394} 3395 3396// UpdateSubscriptionWithContext is the same as UpdateSubscription with the addition of 3397// the ability to pass a context and additional request options. 3398// 3399// See UpdateSubscription for details on how to use this API operation. 3400// 3401// The context must be non-nil and will be used for request cancellation. If 3402// the context is nil a panic will occur. In the future the SDK may create 3403// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 3404// for more information on using Contexts. 3405func (c *Shield) UpdateSubscriptionWithContext(ctx aws.Context, input *UpdateSubscriptionInput, opts ...request.Option) (*UpdateSubscriptionOutput, error) { 3406 req, out := c.UpdateSubscriptionRequest(input) 3407 req.SetContext(ctx) 3408 req.ApplyOptions(opts...) 3409 return out, req.Send() 3410} 3411 3412// Exception that indicates the specified AttackId does not exist, or the requester 3413// does not have the appropriate permissions to access the AttackId. 3414type AccessDeniedException struct { 3415 _ struct{} `type:"structure"` 3416 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3417 3418 Message_ *string `locationName:"message" type:"string"` 3419} 3420 3421// String returns the string representation. 3422// 3423// API parameter values that are decorated as "sensitive" in the API will not 3424// be included in the string output. The member name will be present, but the 3425// value will be replaced with "sensitive". 3426func (s AccessDeniedException) String() string { 3427 return awsutil.Prettify(s) 3428} 3429 3430// GoString returns the string representation. 3431// 3432// API parameter values that are decorated as "sensitive" in the API will not 3433// be included in the string output. The member name will be present, but the 3434// value will be replaced with "sensitive". 3435func (s AccessDeniedException) GoString() string { 3436 return s.String() 3437} 3438 3439func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 3440 return &AccessDeniedException{ 3441 RespMetadata: v, 3442 } 3443} 3444 3445// Code returns the exception type name. 3446func (s *AccessDeniedException) Code() string { 3447 return "AccessDeniedException" 3448} 3449 3450// Message returns the exception's message. 3451func (s *AccessDeniedException) Message() string { 3452 if s.Message_ != nil { 3453 return *s.Message_ 3454 } 3455 return "" 3456} 3457 3458// OrigErr always returns nil, satisfies awserr.Error interface. 3459func (s *AccessDeniedException) OrigErr() error { 3460 return nil 3461} 3462 3463func (s *AccessDeniedException) Error() string { 3464 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3465} 3466 3467// Status code returns the HTTP status code for the request's response error. 3468func (s *AccessDeniedException) StatusCode() int { 3469 return s.RespMetadata.StatusCode 3470} 3471 3472// RequestID returns the service's response RequestID for request. 3473func (s *AccessDeniedException) RequestID() string { 3474 return s.RespMetadata.RequestID 3475} 3476 3477// In order to grant the necessary access to the Shield Response Team (SRT) 3478// the user submitting the request must have the iam:PassRole permission. This 3479// error indicates the user did not have the appropriate permissions. For more 3480// information, see Granting a User Permissions to Pass a Role to an Amazon 3481// Web Services Service (https://docs.aws.amazon.com/IAM/latest/UserGuide/id_roles_use_passrole.html). 3482type AccessDeniedForDependencyException struct { 3483 _ struct{} `type:"structure"` 3484 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 3485 3486 Message_ *string `locationName:"message" type:"string"` 3487} 3488 3489// String returns the string representation. 3490// 3491// API parameter values that are decorated as "sensitive" in the API will not 3492// be included in the string output. The member name will be present, but the 3493// value will be replaced with "sensitive". 3494func (s AccessDeniedForDependencyException) String() string { 3495 return awsutil.Prettify(s) 3496} 3497 3498// GoString returns the string representation. 3499// 3500// API parameter values that are decorated as "sensitive" in the API will not 3501// be included in the string output. The member name will be present, but the 3502// value will be replaced with "sensitive". 3503func (s AccessDeniedForDependencyException) GoString() string { 3504 return s.String() 3505} 3506 3507func newErrorAccessDeniedForDependencyException(v protocol.ResponseMetadata) error { 3508 return &AccessDeniedForDependencyException{ 3509 RespMetadata: v, 3510 } 3511} 3512 3513// Code returns the exception type name. 3514func (s *AccessDeniedForDependencyException) Code() string { 3515 return "AccessDeniedForDependencyException" 3516} 3517 3518// Message returns the exception's message. 3519func (s *AccessDeniedForDependencyException) Message() string { 3520 if s.Message_ != nil { 3521 return *s.Message_ 3522 } 3523 return "" 3524} 3525 3526// OrigErr always returns nil, satisfies awserr.Error interface. 3527func (s *AccessDeniedForDependencyException) OrigErr() error { 3528 return nil 3529} 3530 3531func (s *AccessDeniedForDependencyException) Error() string { 3532 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 3533} 3534 3535// Status code returns the HTTP status code for the request's response error. 3536func (s *AccessDeniedForDependencyException) StatusCode() int { 3537 return s.RespMetadata.StatusCode 3538} 3539 3540// RequestID returns the service's response RequestID for request. 3541func (s *AccessDeniedForDependencyException) RequestID() string { 3542 return s.RespMetadata.RequestID 3543} 3544 3545type AssociateDRTLogBucketInput struct { 3546 _ struct{} `type:"structure"` 3547 3548 // The Amazon S3 bucket that contains the logs that you want to share. 3549 // 3550 // LogBucket is a required field 3551 LogBucket *string `min:"3" type:"string" required:"true"` 3552} 3553 3554// String returns the string representation. 3555// 3556// API parameter values that are decorated as "sensitive" in the API will not 3557// be included in the string output. The member name will be present, but the 3558// value will be replaced with "sensitive". 3559func (s AssociateDRTLogBucketInput) String() string { 3560 return awsutil.Prettify(s) 3561} 3562 3563// GoString returns the string representation. 3564// 3565// API parameter values that are decorated as "sensitive" in the API will not 3566// be included in the string output. The member name will be present, but the 3567// value will be replaced with "sensitive". 3568func (s AssociateDRTLogBucketInput) GoString() string { 3569 return s.String() 3570} 3571 3572// Validate inspects the fields of the type to determine if they are valid. 3573func (s *AssociateDRTLogBucketInput) Validate() error { 3574 invalidParams := request.ErrInvalidParams{Context: "AssociateDRTLogBucketInput"} 3575 if s.LogBucket == nil { 3576 invalidParams.Add(request.NewErrParamRequired("LogBucket")) 3577 } 3578 if s.LogBucket != nil && len(*s.LogBucket) < 3 { 3579 invalidParams.Add(request.NewErrParamMinLen("LogBucket", 3)) 3580 } 3581 3582 if invalidParams.Len() > 0 { 3583 return invalidParams 3584 } 3585 return nil 3586} 3587 3588// SetLogBucket sets the LogBucket field's value. 3589func (s *AssociateDRTLogBucketInput) SetLogBucket(v string) *AssociateDRTLogBucketInput { 3590 s.LogBucket = &v 3591 return s 3592} 3593 3594type AssociateDRTLogBucketOutput struct { 3595 _ struct{} `type:"structure"` 3596} 3597 3598// String returns the string representation. 3599// 3600// API parameter values that are decorated as "sensitive" in the API will not 3601// be included in the string output. The member name will be present, but the 3602// value will be replaced with "sensitive". 3603func (s AssociateDRTLogBucketOutput) String() string { 3604 return awsutil.Prettify(s) 3605} 3606 3607// GoString returns the string representation. 3608// 3609// API parameter values that are decorated as "sensitive" in the API will not 3610// be included in the string output. The member name will be present, but the 3611// value will be replaced with "sensitive". 3612func (s AssociateDRTLogBucketOutput) GoString() string { 3613 return s.String() 3614} 3615 3616type AssociateDRTRoleInput struct { 3617 _ struct{} `type:"structure"` 3618 3619 // The Amazon Resource Name (ARN) of the role the SRT will use to access your 3620 // Amazon Web Services account. 3621 // 3622 // Prior to making the AssociateDRTRole request, you must attach the AWSShieldDRTAccessPolicy 3623 // (https://console.aws.amazon.com/iam/home?#/policies/arn:aws:iam::aws:policy/service-role/AWSShieldDRTAccessPolicy) 3624 // managed policy to this role. For more information see Attaching and Detaching 3625 // IAM Policies (https://docs.aws.amazon.com/IAM/latest/UserGuide/access_policies_manage-attach-detach.html). 3626 // 3627 // RoleArn is a required field 3628 RoleArn *string `min:"1" type:"string" required:"true"` 3629} 3630 3631// String returns the string representation. 3632// 3633// API parameter values that are decorated as "sensitive" in the API will not 3634// be included in the string output. The member name will be present, but the 3635// value will be replaced with "sensitive". 3636func (s AssociateDRTRoleInput) String() string { 3637 return awsutil.Prettify(s) 3638} 3639 3640// GoString returns the string representation. 3641// 3642// API parameter values that are decorated as "sensitive" in the API will not 3643// be included in the string output. The member name will be present, but the 3644// value will be replaced with "sensitive". 3645func (s AssociateDRTRoleInput) GoString() string { 3646 return s.String() 3647} 3648 3649// Validate inspects the fields of the type to determine if they are valid. 3650func (s *AssociateDRTRoleInput) Validate() error { 3651 invalidParams := request.ErrInvalidParams{Context: "AssociateDRTRoleInput"} 3652 if s.RoleArn == nil { 3653 invalidParams.Add(request.NewErrParamRequired("RoleArn")) 3654 } 3655 if s.RoleArn != nil && len(*s.RoleArn) < 1 { 3656 invalidParams.Add(request.NewErrParamMinLen("RoleArn", 1)) 3657 } 3658 3659 if invalidParams.Len() > 0 { 3660 return invalidParams 3661 } 3662 return nil 3663} 3664 3665// SetRoleArn sets the RoleArn field's value. 3666func (s *AssociateDRTRoleInput) SetRoleArn(v string) *AssociateDRTRoleInput { 3667 s.RoleArn = &v 3668 return s 3669} 3670 3671type AssociateDRTRoleOutput struct { 3672 _ struct{} `type:"structure"` 3673} 3674 3675// String returns the string representation. 3676// 3677// API parameter values that are decorated as "sensitive" in the API will not 3678// be included in the string output. The member name will be present, but the 3679// value will be replaced with "sensitive". 3680func (s AssociateDRTRoleOutput) String() string { 3681 return awsutil.Prettify(s) 3682} 3683 3684// GoString returns the string representation. 3685// 3686// API parameter values that are decorated as "sensitive" in the API will not 3687// be included in the string output. The member name will be present, but the 3688// value will be replaced with "sensitive". 3689func (s AssociateDRTRoleOutput) GoString() string { 3690 return s.String() 3691} 3692 3693type AssociateHealthCheckInput struct { 3694 _ struct{} `type:"structure"` 3695 3696 // The Amazon Resource Name (ARN) of the health check to associate with the 3697 // protection. 3698 // 3699 // HealthCheckArn is a required field 3700 HealthCheckArn *string `min:"1" type:"string" required:"true"` 3701 3702 // The unique identifier (ID) for the Protection object to add the health check 3703 // association to. 3704 // 3705 // ProtectionId is a required field 3706 ProtectionId *string `min:"1" type:"string" required:"true"` 3707} 3708 3709// String returns the string representation. 3710// 3711// API parameter values that are decorated as "sensitive" in the API will not 3712// be included in the string output. The member name will be present, but the 3713// value will be replaced with "sensitive". 3714func (s AssociateHealthCheckInput) String() string { 3715 return awsutil.Prettify(s) 3716} 3717 3718// GoString returns the string representation. 3719// 3720// API parameter values that are decorated as "sensitive" in the API will not 3721// be included in the string output. The member name will be present, but the 3722// value will be replaced with "sensitive". 3723func (s AssociateHealthCheckInput) GoString() string { 3724 return s.String() 3725} 3726 3727// Validate inspects the fields of the type to determine if they are valid. 3728func (s *AssociateHealthCheckInput) Validate() error { 3729 invalidParams := request.ErrInvalidParams{Context: "AssociateHealthCheckInput"} 3730 if s.HealthCheckArn == nil { 3731 invalidParams.Add(request.NewErrParamRequired("HealthCheckArn")) 3732 } 3733 if s.HealthCheckArn != nil && len(*s.HealthCheckArn) < 1 { 3734 invalidParams.Add(request.NewErrParamMinLen("HealthCheckArn", 1)) 3735 } 3736 if s.ProtectionId == nil { 3737 invalidParams.Add(request.NewErrParamRequired("ProtectionId")) 3738 } 3739 if s.ProtectionId != nil && len(*s.ProtectionId) < 1 { 3740 invalidParams.Add(request.NewErrParamMinLen("ProtectionId", 1)) 3741 } 3742 3743 if invalidParams.Len() > 0 { 3744 return invalidParams 3745 } 3746 return nil 3747} 3748 3749// SetHealthCheckArn sets the HealthCheckArn field's value. 3750func (s *AssociateHealthCheckInput) SetHealthCheckArn(v string) *AssociateHealthCheckInput { 3751 s.HealthCheckArn = &v 3752 return s 3753} 3754 3755// SetProtectionId sets the ProtectionId field's value. 3756func (s *AssociateHealthCheckInput) SetProtectionId(v string) *AssociateHealthCheckInput { 3757 s.ProtectionId = &v 3758 return s 3759} 3760 3761type AssociateHealthCheckOutput struct { 3762 _ struct{} `type:"structure"` 3763} 3764 3765// String returns the string representation. 3766// 3767// API parameter values that are decorated as "sensitive" in the API will not 3768// be included in the string output. The member name will be present, but the 3769// value will be replaced with "sensitive". 3770func (s AssociateHealthCheckOutput) String() string { 3771 return awsutil.Prettify(s) 3772} 3773 3774// GoString returns the string representation. 3775// 3776// API parameter values that are decorated as "sensitive" in the API will not 3777// be included in the string output. The member name will be present, but the 3778// value will be replaced with "sensitive". 3779func (s AssociateHealthCheckOutput) GoString() string { 3780 return s.String() 3781} 3782 3783type AssociateProactiveEngagementDetailsInput struct { 3784 _ struct{} `type:"structure"` 3785 3786 // A list of email addresses and phone numbers that the Shield Response Team 3787 // (SRT) can use to contact you for escalations to the SRT and to initiate proactive 3788 // customer support. 3789 // 3790 // To enable proactive engagement, the contact list must include at least one 3791 // phone number. 3792 // 3793 // The contacts that you provide here replace any contacts that were already 3794 // defined. If you already have contacts defined and want to use them, retrieve 3795 // the list using DescribeEmergencyContactSettings and then provide it here. 3796 // 3797 // EmergencyContactList is a required field 3798 EmergencyContactList []*EmergencyContact `type:"list" required:"true"` 3799} 3800 3801// String returns the string representation. 3802// 3803// API parameter values that are decorated as "sensitive" in the API will not 3804// be included in the string output. The member name will be present, but the 3805// value will be replaced with "sensitive". 3806func (s AssociateProactiveEngagementDetailsInput) String() string { 3807 return awsutil.Prettify(s) 3808} 3809 3810// GoString returns the string representation. 3811// 3812// API parameter values that are decorated as "sensitive" in the API will not 3813// be included in the string output. The member name will be present, but the 3814// value will be replaced with "sensitive". 3815func (s AssociateProactiveEngagementDetailsInput) GoString() string { 3816 return s.String() 3817} 3818 3819// Validate inspects the fields of the type to determine if they are valid. 3820func (s *AssociateProactiveEngagementDetailsInput) Validate() error { 3821 invalidParams := request.ErrInvalidParams{Context: "AssociateProactiveEngagementDetailsInput"} 3822 if s.EmergencyContactList == nil { 3823 invalidParams.Add(request.NewErrParamRequired("EmergencyContactList")) 3824 } 3825 if s.EmergencyContactList != nil { 3826 for i, v := range s.EmergencyContactList { 3827 if v == nil { 3828 continue 3829 } 3830 if err := v.Validate(); err != nil { 3831 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmergencyContactList", i), err.(request.ErrInvalidParams)) 3832 } 3833 } 3834 } 3835 3836 if invalidParams.Len() > 0 { 3837 return invalidParams 3838 } 3839 return nil 3840} 3841 3842// SetEmergencyContactList sets the EmergencyContactList field's value. 3843func (s *AssociateProactiveEngagementDetailsInput) SetEmergencyContactList(v []*EmergencyContact) *AssociateProactiveEngagementDetailsInput { 3844 s.EmergencyContactList = v 3845 return s 3846} 3847 3848type AssociateProactiveEngagementDetailsOutput struct { 3849 _ struct{} `type:"structure"` 3850} 3851 3852// String returns the string representation. 3853// 3854// API parameter values that are decorated as "sensitive" in the API will not 3855// be included in the string output. The member name will be present, but the 3856// value will be replaced with "sensitive". 3857func (s AssociateProactiveEngagementDetailsOutput) String() string { 3858 return awsutil.Prettify(s) 3859} 3860 3861// GoString returns the string representation. 3862// 3863// API parameter values that are decorated as "sensitive" in the API will not 3864// be included in the string output. The member name will be present, but the 3865// value will be replaced with "sensitive". 3866func (s AssociateProactiveEngagementDetailsOutput) GoString() string { 3867 return s.String() 3868} 3869 3870// The details of a DDoS attack. 3871type AttackDetail struct { 3872 _ struct{} `type:"structure"` 3873 3874 // List of counters that describe the attack for the specified time period. 3875 AttackCounters []*SummarizedCounter `type:"list"` 3876 3877 // The unique identifier (ID) of the attack. 3878 AttackId *string `min:"1" type:"string"` 3879 3880 // The array of objects that provide details of the Shield event. 3881 // 3882 // For infrastructure layer events (L3 and L4 events) after January 25, 2021, 3883 // you can view metrics for top contributors in Amazon CloudWatch metrics. For 3884 // more information, see Shield metrics and alarms (https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#set-ddos-alarms) 3885 // in the WAF Developer Guide. 3886 AttackProperties []*AttackProperty `type:"list"` 3887 3888 // The time the attack ended, in Unix time in seconds. For more information 3889 // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 3890 EndTime *time.Time `type:"timestamp"` 3891 3892 // List of mitigation actions taken for the attack. 3893 Mitigations []*Mitigation `type:"list"` 3894 3895 // The ARN (Amazon Resource Name) of the resource that was attacked. 3896 ResourceArn *string `min:"1" type:"string"` 3897 3898 // The time the attack started, in Unix time in seconds. For more information 3899 // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 3900 StartTime *time.Time `type:"timestamp"` 3901 3902 // If applicable, additional detail about the resource being attacked, for example, 3903 // IP address or URL. 3904 SubResources []*SubResourceSummary `type:"list"` 3905} 3906 3907// String returns the string representation. 3908// 3909// API parameter values that are decorated as "sensitive" in the API will not 3910// be included in the string output. The member name will be present, but the 3911// value will be replaced with "sensitive". 3912func (s AttackDetail) String() string { 3913 return awsutil.Prettify(s) 3914} 3915 3916// GoString returns the string representation. 3917// 3918// API parameter values that are decorated as "sensitive" in the API will not 3919// be included in the string output. The member name will be present, but the 3920// value will be replaced with "sensitive". 3921func (s AttackDetail) GoString() string { 3922 return s.String() 3923} 3924 3925// SetAttackCounters sets the AttackCounters field's value. 3926func (s *AttackDetail) SetAttackCounters(v []*SummarizedCounter) *AttackDetail { 3927 s.AttackCounters = v 3928 return s 3929} 3930 3931// SetAttackId sets the AttackId field's value. 3932func (s *AttackDetail) SetAttackId(v string) *AttackDetail { 3933 s.AttackId = &v 3934 return s 3935} 3936 3937// SetAttackProperties sets the AttackProperties field's value. 3938func (s *AttackDetail) SetAttackProperties(v []*AttackProperty) *AttackDetail { 3939 s.AttackProperties = v 3940 return s 3941} 3942 3943// SetEndTime sets the EndTime field's value. 3944func (s *AttackDetail) SetEndTime(v time.Time) *AttackDetail { 3945 s.EndTime = &v 3946 return s 3947} 3948 3949// SetMitigations sets the Mitigations field's value. 3950func (s *AttackDetail) SetMitigations(v []*Mitigation) *AttackDetail { 3951 s.Mitigations = v 3952 return s 3953} 3954 3955// SetResourceArn sets the ResourceArn field's value. 3956func (s *AttackDetail) SetResourceArn(v string) *AttackDetail { 3957 s.ResourceArn = &v 3958 return s 3959} 3960 3961// SetStartTime sets the StartTime field's value. 3962func (s *AttackDetail) SetStartTime(v time.Time) *AttackDetail { 3963 s.StartTime = &v 3964 return s 3965} 3966 3967// SetSubResources sets the SubResources field's value. 3968func (s *AttackDetail) SetSubResources(v []*SubResourceSummary) *AttackDetail { 3969 s.SubResources = v 3970 return s 3971} 3972 3973// Details of a Shield event. This is provided as part of an AttackDetail. 3974type AttackProperty struct { 3975 _ struct{} `type:"structure"` 3976 3977 // The type of Shield event that was observed. NETWORK indicates layer 3 and 3978 // layer 4 events and APPLICATION indicates layer 7 events. 3979 // 3980 // For infrastructure layer events (L3 and L4 events) after January 25, 2021, 3981 // you can view metrics for top contributors in Amazon CloudWatch metrics. For 3982 // more information, see Shield metrics and alarms (https://docs.aws.amazon.com/waf/latest/developerguide/monitoring-cloudwatch.html#set-ddos-alarms) 3983 // in the WAF Developer Guide. 3984 AttackLayer *string `type:"string" enum:"AttackLayer"` 3985 3986 // Defines the Shield event property information that is provided. The WORDPRESS_PINGBACK_REFLECTOR 3987 // and WORDPRESS_PINGBACK_SOURCE values are valid only for WordPress reflective 3988 // pingback events. 3989 AttackPropertyIdentifier *string `type:"string" enum:"AttackPropertyIdentifier"` 3990 3991 // Contributor objects for the top five contributors to a Shield event. 3992 TopContributors []*Contributor `type:"list"` 3993 3994 // The total contributions made to this Shield event by all contributors. 3995 Total *int64 `type:"long"` 3996 3997 // The unit used for the Contributor Value property. 3998 Unit *string `type:"string" enum:"Unit"` 3999} 4000 4001// String returns the string representation. 4002// 4003// API parameter values that are decorated as "sensitive" in the API will not 4004// be included in the string output. The member name will be present, but the 4005// value will be replaced with "sensitive". 4006func (s AttackProperty) String() string { 4007 return awsutil.Prettify(s) 4008} 4009 4010// GoString returns the string representation. 4011// 4012// API parameter values that are decorated as "sensitive" in the API will not 4013// be included in the string output. The member name will be present, but the 4014// value will be replaced with "sensitive". 4015func (s AttackProperty) GoString() string { 4016 return s.String() 4017} 4018 4019// SetAttackLayer sets the AttackLayer field's value. 4020func (s *AttackProperty) SetAttackLayer(v string) *AttackProperty { 4021 s.AttackLayer = &v 4022 return s 4023} 4024 4025// SetAttackPropertyIdentifier sets the AttackPropertyIdentifier field's value. 4026func (s *AttackProperty) SetAttackPropertyIdentifier(v string) *AttackProperty { 4027 s.AttackPropertyIdentifier = &v 4028 return s 4029} 4030 4031// SetTopContributors sets the TopContributors field's value. 4032func (s *AttackProperty) SetTopContributors(v []*Contributor) *AttackProperty { 4033 s.TopContributors = v 4034 return s 4035} 4036 4037// SetTotal sets the Total field's value. 4038func (s *AttackProperty) SetTotal(v int64) *AttackProperty { 4039 s.Total = &v 4040 return s 4041} 4042 4043// SetUnit sets the Unit field's value. 4044func (s *AttackProperty) SetUnit(v string) *AttackProperty { 4045 s.Unit = &v 4046 return s 4047} 4048 4049// A single attack statistics data record. This is returned by DescribeAttackStatistics 4050// along with a time range indicating the time period that the attack statistics 4051// apply to. 4052type AttackStatisticsDataItem struct { 4053 _ struct{} `type:"structure"` 4054 4055 // The number of attacks detected during the time period. This is always present, 4056 // but might be zero. 4057 // 4058 // AttackCount is a required field 4059 AttackCount *int64 `type:"long" required:"true"` 4060 4061 // Information about the volume of attacks during the time period. If the accompanying 4062 // AttackCount is zero, this setting might be empty. 4063 AttackVolume *AttackVolume `type:"structure"` 4064} 4065 4066// String returns the string representation. 4067// 4068// API parameter values that are decorated as "sensitive" in the API will not 4069// be included in the string output. The member name will be present, but the 4070// value will be replaced with "sensitive". 4071func (s AttackStatisticsDataItem) String() string { 4072 return awsutil.Prettify(s) 4073} 4074 4075// GoString returns the string representation. 4076// 4077// API parameter values that are decorated as "sensitive" in the API will not 4078// be included in the string output. The member name will be present, but the 4079// value will be replaced with "sensitive". 4080func (s AttackStatisticsDataItem) GoString() string { 4081 return s.String() 4082} 4083 4084// SetAttackCount sets the AttackCount field's value. 4085func (s *AttackStatisticsDataItem) SetAttackCount(v int64) *AttackStatisticsDataItem { 4086 s.AttackCount = &v 4087 return s 4088} 4089 4090// SetAttackVolume sets the AttackVolume field's value. 4091func (s *AttackStatisticsDataItem) SetAttackVolume(v *AttackVolume) *AttackStatisticsDataItem { 4092 s.AttackVolume = v 4093 return s 4094} 4095 4096// Summarizes all DDoS attacks for a specified time period. 4097type AttackSummary struct { 4098 _ struct{} `type:"structure"` 4099 4100 // The unique identifier (ID) of the attack. 4101 AttackId *string `type:"string"` 4102 4103 // The list of attacks for a specified time period. 4104 AttackVectors []*AttackVectorDescription `type:"list"` 4105 4106 // The end time of the attack, in Unix time in seconds. For more information 4107 // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 4108 EndTime *time.Time `type:"timestamp"` 4109 4110 // The ARN (Amazon Resource Name) of the resource that was attacked. 4111 ResourceArn *string `type:"string"` 4112 4113 // The start time of the attack, in Unix time in seconds. For more information 4114 // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 4115 StartTime *time.Time `type:"timestamp"` 4116} 4117 4118// String returns the string representation. 4119// 4120// API parameter values that are decorated as "sensitive" in the API will not 4121// be included in the string output. The member name will be present, but the 4122// value will be replaced with "sensitive". 4123func (s AttackSummary) String() string { 4124 return awsutil.Prettify(s) 4125} 4126 4127// GoString returns the string representation. 4128// 4129// API parameter values that are decorated as "sensitive" in the API will not 4130// be included in the string output. The member name will be present, but the 4131// value will be replaced with "sensitive". 4132func (s AttackSummary) GoString() string { 4133 return s.String() 4134} 4135 4136// SetAttackId sets the AttackId field's value. 4137func (s *AttackSummary) SetAttackId(v string) *AttackSummary { 4138 s.AttackId = &v 4139 return s 4140} 4141 4142// SetAttackVectors sets the AttackVectors field's value. 4143func (s *AttackSummary) SetAttackVectors(v []*AttackVectorDescription) *AttackSummary { 4144 s.AttackVectors = v 4145 return s 4146} 4147 4148// SetEndTime sets the EndTime field's value. 4149func (s *AttackSummary) SetEndTime(v time.Time) *AttackSummary { 4150 s.EndTime = &v 4151 return s 4152} 4153 4154// SetResourceArn sets the ResourceArn field's value. 4155func (s *AttackSummary) SetResourceArn(v string) *AttackSummary { 4156 s.ResourceArn = &v 4157 return s 4158} 4159 4160// SetStartTime sets the StartTime field's value. 4161func (s *AttackSummary) SetStartTime(v time.Time) *AttackSummary { 4162 s.StartTime = &v 4163 return s 4164} 4165 4166// Describes the attack. 4167type AttackVectorDescription struct { 4168 _ struct{} `type:"structure"` 4169 4170 // The attack type. Valid values: 4171 // 4172 // * UDP_TRAFFIC 4173 // 4174 // * UDP_FRAGMENT 4175 // 4176 // * GENERIC_UDP_REFLECTION 4177 // 4178 // * DNS_REFLECTION 4179 // 4180 // * NTP_REFLECTION 4181 // 4182 // * CHARGEN_REFLECTION 4183 // 4184 // * SSDP_REFLECTION 4185 // 4186 // * PORT_MAPPER 4187 // 4188 // * RIP_REFLECTION 4189 // 4190 // * SNMP_REFLECTION 4191 // 4192 // * MSSQL_REFLECTION 4193 // 4194 // * NET_BIOS_REFLECTION 4195 // 4196 // * SYN_FLOOD 4197 // 4198 // * ACK_FLOOD 4199 // 4200 // * REQUEST_FLOOD 4201 // 4202 // * HTTP_REFLECTION 4203 // 4204 // * UDS_REFLECTION 4205 // 4206 // * MEMCACHED_REFLECTION 4207 // 4208 // VectorType is a required field 4209 VectorType *string `type:"string" required:"true"` 4210} 4211 4212// String returns the string representation. 4213// 4214// API parameter values that are decorated as "sensitive" in the API will not 4215// be included in the string output. The member name will be present, but the 4216// value will be replaced with "sensitive". 4217func (s AttackVectorDescription) String() string { 4218 return awsutil.Prettify(s) 4219} 4220 4221// GoString returns the string representation. 4222// 4223// API parameter values that are decorated as "sensitive" in the API will not 4224// be included in the string output. The member name will be present, but the 4225// value will be replaced with "sensitive". 4226func (s AttackVectorDescription) GoString() string { 4227 return s.String() 4228} 4229 4230// SetVectorType sets the VectorType field's value. 4231func (s *AttackVectorDescription) SetVectorType(v string) *AttackVectorDescription { 4232 s.VectorType = &v 4233 return s 4234} 4235 4236// Information about the volume of attacks during the time period, included 4237// in an AttackStatisticsDataItem. If the accompanying AttackCount in the statistics 4238// object is zero, this setting might be empty. 4239type AttackVolume struct { 4240 _ struct{} `type:"structure"` 4241 4242 // A statistics object that uses bits per second as the unit. This is included 4243 // for network level attacks. 4244 BitsPerSecond *AttackVolumeStatistics `type:"structure"` 4245 4246 // A statistics object that uses packets per second as the unit. This is included 4247 // for network level attacks. 4248 PacketsPerSecond *AttackVolumeStatistics `type:"structure"` 4249 4250 // A statistics object that uses requests per second as the unit. This is included 4251 // for application level attacks, and is only available for accounts that are 4252 // subscribed to Shield Advanced. 4253 RequestsPerSecond *AttackVolumeStatistics `type:"structure"` 4254} 4255 4256// String returns the string representation. 4257// 4258// API parameter values that are decorated as "sensitive" in the API will not 4259// be included in the string output. The member name will be present, but the 4260// value will be replaced with "sensitive". 4261func (s AttackVolume) String() string { 4262 return awsutil.Prettify(s) 4263} 4264 4265// GoString returns the string representation. 4266// 4267// API parameter values that are decorated as "sensitive" in the API will not 4268// be included in the string output. The member name will be present, but the 4269// value will be replaced with "sensitive". 4270func (s AttackVolume) GoString() string { 4271 return s.String() 4272} 4273 4274// SetBitsPerSecond sets the BitsPerSecond field's value. 4275func (s *AttackVolume) SetBitsPerSecond(v *AttackVolumeStatistics) *AttackVolume { 4276 s.BitsPerSecond = v 4277 return s 4278} 4279 4280// SetPacketsPerSecond sets the PacketsPerSecond field's value. 4281func (s *AttackVolume) SetPacketsPerSecond(v *AttackVolumeStatistics) *AttackVolume { 4282 s.PacketsPerSecond = v 4283 return s 4284} 4285 4286// SetRequestsPerSecond sets the RequestsPerSecond field's value. 4287func (s *AttackVolume) SetRequestsPerSecond(v *AttackVolumeStatistics) *AttackVolume { 4288 s.RequestsPerSecond = v 4289 return s 4290} 4291 4292// Statistics objects for the various data types in AttackVolume. 4293type AttackVolumeStatistics struct { 4294 _ struct{} `type:"structure"` 4295 4296 // The maximum attack volume observed for the given unit. 4297 // 4298 // Max is a required field 4299 Max *float64 `type:"double" required:"true"` 4300} 4301 4302// String returns the string representation. 4303// 4304// API parameter values that are decorated as "sensitive" in the API will not 4305// be included in the string output. The member name will be present, but the 4306// value will be replaced with "sensitive". 4307func (s AttackVolumeStatistics) String() string { 4308 return awsutil.Prettify(s) 4309} 4310 4311// GoString returns the string representation. 4312// 4313// API parameter values that are decorated as "sensitive" in the API will not 4314// be included in the string output. The member name will be present, but the 4315// value will be replaced with "sensitive". 4316func (s AttackVolumeStatistics) GoString() string { 4317 return s.String() 4318} 4319 4320// SetMax sets the Max field's value. 4321func (s *AttackVolumeStatistics) SetMax(v float64) *AttackVolumeStatistics { 4322 s.Max = &v 4323 return s 4324} 4325 4326// A contributor to the attack and their contribution. 4327type Contributor struct { 4328 _ struct{} `type:"structure"` 4329 4330 // The name of the contributor. This is dependent on the AttackPropertyIdentifier. 4331 // For example, if the AttackPropertyIdentifier is SOURCE_COUNTRY, the Name 4332 // could be United States. 4333 Name *string `type:"string"` 4334 4335 // The contribution of this contributor expressed in Protection units. For example 4336 // 10,000. 4337 Value *int64 `type:"long"` 4338} 4339 4340// String returns the string representation. 4341// 4342// API parameter values that are decorated as "sensitive" in the API will not 4343// be included in the string output. The member name will be present, but the 4344// value will be replaced with "sensitive". 4345func (s Contributor) String() string { 4346 return awsutil.Prettify(s) 4347} 4348 4349// GoString returns the string representation. 4350// 4351// API parameter values that are decorated as "sensitive" in the API will not 4352// be included in the string output. The member name will be present, but the 4353// value will be replaced with "sensitive". 4354func (s Contributor) GoString() string { 4355 return s.String() 4356} 4357 4358// SetName sets the Name field's value. 4359func (s *Contributor) SetName(v string) *Contributor { 4360 s.Name = &v 4361 return s 4362} 4363 4364// SetValue sets the Value field's value. 4365func (s *Contributor) SetValue(v int64) *Contributor { 4366 s.Value = &v 4367 return s 4368} 4369 4370type CreateProtectionGroupInput struct { 4371 _ struct{} `type:"structure"` 4372 4373 // Defines how Shield combines resource data for the group in order to detect, 4374 // mitigate, and report events. 4375 // 4376 // * Sum - Use the total traffic across the group. This is a good choice 4377 // for most cases. Examples include Elastic IP addresses for EC2 instances 4378 // that scale manually or automatically. 4379 // 4380 // * Mean - Use the average of the traffic across the group. This is a good 4381 // choice for resources that share traffic uniformly. Examples include accelerators 4382 // and load balancers. 4383 // 4384 // * Max - Use the highest traffic from each resource. This is useful for 4385 // resources that don't share traffic and for resources that share that traffic 4386 // in a non-uniform way. Examples include Amazon CloudFront and origin resources 4387 // for CloudFront distributions. 4388 // 4389 // Aggregation is a required field 4390 Aggregation *string `type:"string" required:"true" enum:"ProtectionGroupAggregation"` 4391 4392 // The Amazon Resource Names (ARNs) of the resources to include in the protection 4393 // group. You must set this when you set Pattern to ARBITRARY and you must not 4394 // set it for any other Pattern setting. 4395 Members []*string `type:"list"` 4396 4397 // The criteria to use to choose the protected resources for inclusion in the 4398 // group. You can include all resources that have protections, provide a list 4399 // of resource Amazon Resource Names (ARNs), or include all resources of a specified 4400 // resource type. 4401 // 4402 // Pattern is a required field 4403 Pattern *string `type:"string" required:"true" enum:"ProtectionGroupPattern"` 4404 4405 // The name of the protection group. You use this to identify the protection 4406 // group in lists and to manage the protection group, for example to update, 4407 // delete, or describe it. 4408 // 4409 // ProtectionGroupId is a required field 4410 ProtectionGroupId *string `min:"1" type:"string" required:"true"` 4411 4412 // The resource type to include in the protection group. All protected resources 4413 // of this type are included in the protection group. Newly protected resources 4414 // of this type are automatically added to the group. You must set this when 4415 // you set Pattern to BY_RESOURCE_TYPE and you must not set it for any other 4416 // Pattern setting. 4417 ResourceType *string `type:"string" enum:"ProtectedResourceType"` 4418 4419 // One or more tag key-value pairs for the protection group. 4420 Tags []*Tag `type:"list"` 4421} 4422 4423// String returns the string representation. 4424// 4425// API parameter values that are decorated as "sensitive" in the API will not 4426// be included in the string output. The member name will be present, but the 4427// value will be replaced with "sensitive". 4428func (s CreateProtectionGroupInput) String() string { 4429 return awsutil.Prettify(s) 4430} 4431 4432// GoString returns the string representation. 4433// 4434// API parameter values that are decorated as "sensitive" in the API will not 4435// be included in the string output. The member name will be present, but the 4436// value will be replaced with "sensitive". 4437func (s CreateProtectionGroupInput) GoString() string { 4438 return s.String() 4439} 4440 4441// Validate inspects the fields of the type to determine if they are valid. 4442func (s *CreateProtectionGroupInput) Validate() error { 4443 invalidParams := request.ErrInvalidParams{Context: "CreateProtectionGroupInput"} 4444 if s.Aggregation == nil { 4445 invalidParams.Add(request.NewErrParamRequired("Aggregation")) 4446 } 4447 if s.Pattern == nil { 4448 invalidParams.Add(request.NewErrParamRequired("Pattern")) 4449 } 4450 if s.ProtectionGroupId == nil { 4451 invalidParams.Add(request.NewErrParamRequired("ProtectionGroupId")) 4452 } 4453 if s.ProtectionGroupId != nil && len(*s.ProtectionGroupId) < 1 { 4454 invalidParams.Add(request.NewErrParamMinLen("ProtectionGroupId", 1)) 4455 } 4456 if s.Tags != nil { 4457 for i, v := range s.Tags { 4458 if v == nil { 4459 continue 4460 } 4461 if err := v.Validate(); err != nil { 4462 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4463 } 4464 } 4465 } 4466 4467 if invalidParams.Len() > 0 { 4468 return invalidParams 4469 } 4470 return nil 4471} 4472 4473// SetAggregation sets the Aggregation field's value. 4474func (s *CreateProtectionGroupInput) SetAggregation(v string) *CreateProtectionGroupInput { 4475 s.Aggregation = &v 4476 return s 4477} 4478 4479// SetMembers sets the Members field's value. 4480func (s *CreateProtectionGroupInput) SetMembers(v []*string) *CreateProtectionGroupInput { 4481 s.Members = v 4482 return s 4483} 4484 4485// SetPattern sets the Pattern field's value. 4486func (s *CreateProtectionGroupInput) SetPattern(v string) *CreateProtectionGroupInput { 4487 s.Pattern = &v 4488 return s 4489} 4490 4491// SetProtectionGroupId sets the ProtectionGroupId field's value. 4492func (s *CreateProtectionGroupInput) SetProtectionGroupId(v string) *CreateProtectionGroupInput { 4493 s.ProtectionGroupId = &v 4494 return s 4495} 4496 4497// SetResourceType sets the ResourceType field's value. 4498func (s *CreateProtectionGroupInput) SetResourceType(v string) *CreateProtectionGroupInput { 4499 s.ResourceType = &v 4500 return s 4501} 4502 4503// SetTags sets the Tags field's value. 4504func (s *CreateProtectionGroupInput) SetTags(v []*Tag) *CreateProtectionGroupInput { 4505 s.Tags = v 4506 return s 4507} 4508 4509type CreateProtectionGroupOutput struct { 4510 _ struct{} `type:"structure"` 4511} 4512 4513// String returns the string representation. 4514// 4515// API parameter values that are decorated as "sensitive" in the API will not 4516// be included in the string output. The member name will be present, but the 4517// value will be replaced with "sensitive". 4518func (s CreateProtectionGroupOutput) String() string { 4519 return awsutil.Prettify(s) 4520} 4521 4522// GoString returns the string representation. 4523// 4524// API parameter values that are decorated as "sensitive" in the API will not 4525// be included in the string output. The member name will be present, but the 4526// value will be replaced with "sensitive". 4527func (s CreateProtectionGroupOutput) GoString() string { 4528 return s.String() 4529} 4530 4531type CreateProtectionInput struct { 4532 _ struct{} `type:"structure"` 4533 4534 // Friendly name for the Protection you are creating. 4535 // 4536 // Name is a required field 4537 Name *string `min:"1" type:"string" required:"true"` 4538 4539 // The ARN (Amazon Resource Name) of the resource to be protected. 4540 // 4541 // The ARN should be in one of the following formats: 4542 // 4543 // * For an Application Load Balancer: arn:aws:elasticloadbalancing:region:account-id:loadbalancer/app/load-balancer-name/load-balancer-id 4544 // 4545 // * For an Elastic Load Balancer (Classic Load Balancer): arn:aws:elasticloadbalancing:region:account-id:loadbalancer/load-balancer-name 4546 // 4547 // * For an Amazon CloudFront distribution: arn:aws:cloudfront::account-id:distribution/distribution-id 4548 // 4549 // * For an Global Accelerator accelerator: arn:aws:globalaccelerator::account-id:accelerator/accelerator-id 4550 // 4551 // * For Amazon Route 53: arn:aws:route53:::hostedzone/hosted-zone-id 4552 // 4553 // * For an Elastic IP address: arn:aws:ec2:region:account-id:eip-allocation/allocation-id 4554 // 4555 // ResourceArn is a required field 4556 ResourceArn *string `min:"1" type:"string" required:"true"` 4557 4558 // One or more tag key-value pairs for the Protection object that is created. 4559 Tags []*Tag `type:"list"` 4560} 4561 4562// String returns the string representation. 4563// 4564// API parameter values that are decorated as "sensitive" in the API will not 4565// be included in the string output. The member name will be present, but the 4566// value will be replaced with "sensitive". 4567func (s CreateProtectionInput) String() string { 4568 return awsutil.Prettify(s) 4569} 4570 4571// GoString returns the string representation. 4572// 4573// API parameter values that are decorated as "sensitive" in the API will not 4574// be included in the string output. The member name will be present, but the 4575// value will be replaced with "sensitive". 4576func (s CreateProtectionInput) GoString() string { 4577 return s.String() 4578} 4579 4580// Validate inspects the fields of the type to determine if they are valid. 4581func (s *CreateProtectionInput) Validate() error { 4582 invalidParams := request.ErrInvalidParams{Context: "CreateProtectionInput"} 4583 if s.Name == nil { 4584 invalidParams.Add(request.NewErrParamRequired("Name")) 4585 } 4586 if s.Name != nil && len(*s.Name) < 1 { 4587 invalidParams.Add(request.NewErrParamMinLen("Name", 1)) 4588 } 4589 if s.ResourceArn == nil { 4590 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4591 } 4592 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 4593 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 4594 } 4595 if s.Tags != nil { 4596 for i, v := range s.Tags { 4597 if v == nil { 4598 continue 4599 } 4600 if err := v.Validate(); err != nil { 4601 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 4602 } 4603 } 4604 } 4605 4606 if invalidParams.Len() > 0 { 4607 return invalidParams 4608 } 4609 return nil 4610} 4611 4612// SetName sets the Name field's value. 4613func (s *CreateProtectionInput) SetName(v string) *CreateProtectionInput { 4614 s.Name = &v 4615 return s 4616} 4617 4618// SetResourceArn sets the ResourceArn field's value. 4619func (s *CreateProtectionInput) SetResourceArn(v string) *CreateProtectionInput { 4620 s.ResourceArn = &v 4621 return s 4622} 4623 4624// SetTags sets the Tags field's value. 4625func (s *CreateProtectionInput) SetTags(v []*Tag) *CreateProtectionInput { 4626 s.Tags = v 4627 return s 4628} 4629 4630type CreateProtectionOutput struct { 4631 _ struct{} `type:"structure"` 4632 4633 // The unique identifier (ID) for the Protection object that is created. 4634 ProtectionId *string `min:"1" type:"string"` 4635} 4636 4637// String returns the string representation. 4638// 4639// API parameter values that are decorated as "sensitive" in the API will not 4640// be included in the string output. The member name will be present, but the 4641// value will be replaced with "sensitive". 4642func (s CreateProtectionOutput) String() string { 4643 return awsutil.Prettify(s) 4644} 4645 4646// GoString returns the string representation. 4647// 4648// API parameter values that are decorated as "sensitive" in the API will not 4649// be included in the string output. The member name will be present, but the 4650// value will be replaced with "sensitive". 4651func (s CreateProtectionOutput) GoString() string { 4652 return s.String() 4653} 4654 4655// SetProtectionId sets the ProtectionId field's value. 4656func (s *CreateProtectionOutput) SetProtectionId(v string) *CreateProtectionOutput { 4657 s.ProtectionId = &v 4658 return s 4659} 4660 4661type CreateSubscriptionInput struct { 4662 _ struct{} `type:"structure"` 4663} 4664 4665// String returns the string representation. 4666// 4667// API parameter values that are decorated as "sensitive" in the API will not 4668// be included in the string output. The member name will be present, but the 4669// value will be replaced with "sensitive". 4670func (s CreateSubscriptionInput) String() string { 4671 return awsutil.Prettify(s) 4672} 4673 4674// GoString returns the string representation. 4675// 4676// API parameter values that are decorated as "sensitive" in the API will not 4677// be included in the string output. The member name will be present, but the 4678// value will be replaced with "sensitive". 4679func (s CreateSubscriptionInput) GoString() string { 4680 return s.String() 4681} 4682 4683type CreateSubscriptionOutput struct { 4684 _ struct{} `type:"structure"` 4685} 4686 4687// String returns the string representation. 4688// 4689// API parameter values that are decorated as "sensitive" in the API will not 4690// be included in the string output. The member name will be present, but the 4691// value will be replaced with "sensitive". 4692func (s CreateSubscriptionOutput) String() string { 4693 return awsutil.Prettify(s) 4694} 4695 4696// GoString returns the string representation. 4697// 4698// API parameter values that are decorated as "sensitive" in the API will not 4699// be included in the string output. The member name will be present, but the 4700// value will be replaced with "sensitive". 4701func (s CreateSubscriptionOutput) GoString() string { 4702 return s.String() 4703} 4704 4705type DeleteProtectionGroupInput struct { 4706 _ struct{} `type:"structure"` 4707 4708 // The name of the protection group. You use this to identify the protection 4709 // group in lists and to manage the protection group, for example to update, 4710 // delete, or describe it. 4711 // 4712 // ProtectionGroupId is a required field 4713 ProtectionGroupId *string `min:"1" type:"string" required:"true"` 4714} 4715 4716// String returns the string representation. 4717// 4718// API parameter values that are decorated as "sensitive" in the API will not 4719// be included in the string output. The member name will be present, but the 4720// value will be replaced with "sensitive". 4721func (s DeleteProtectionGroupInput) String() string { 4722 return awsutil.Prettify(s) 4723} 4724 4725// GoString returns the string representation. 4726// 4727// API parameter values that are decorated as "sensitive" in the API will not 4728// be included in the string output. The member name will be present, but the 4729// value will be replaced with "sensitive". 4730func (s DeleteProtectionGroupInput) GoString() string { 4731 return s.String() 4732} 4733 4734// Validate inspects the fields of the type to determine if they are valid. 4735func (s *DeleteProtectionGroupInput) Validate() error { 4736 invalidParams := request.ErrInvalidParams{Context: "DeleteProtectionGroupInput"} 4737 if s.ProtectionGroupId == nil { 4738 invalidParams.Add(request.NewErrParamRequired("ProtectionGroupId")) 4739 } 4740 if s.ProtectionGroupId != nil && len(*s.ProtectionGroupId) < 1 { 4741 invalidParams.Add(request.NewErrParamMinLen("ProtectionGroupId", 1)) 4742 } 4743 4744 if invalidParams.Len() > 0 { 4745 return invalidParams 4746 } 4747 return nil 4748} 4749 4750// SetProtectionGroupId sets the ProtectionGroupId field's value. 4751func (s *DeleteProtectionGroupInput) SetProtectionGroupId(v string) *DeleteProtectionGroupInput { 4752 s.ProtectionGroupId = &v 4753 return s 4754} 4755 4756type DeleteProtectionGroupOutput struct { 4757 _ struct{} `type:"structure"` 4758} 4759 4760// String returns the string representation. 4761// 4762// API parameter values that are decorated as "sensitive" in the API will not 4763// be included in the string output. The member name will be present, but the 4764// value will be replaced with "sensitive". 4765func (s DeleteProtectionGroupOutput) String() string { 4766 return awsutil.Prettify(s) 4767} 4768 4769// GoString returns the string representation. 4770// 4771// API parameter values that are decorated as "sensitive" in the API will not 4772// be included in the string output. The member name will be present, but the 4773// value will be replaced with "sensitive". 4774func (s DeleteProtectionGroupOutput) GoString() string { 4775 return s.String() 4776} 4777 4778type DeleteProtectionInput struct { 4779 _ struct{} `type:"structure"` 4780 4781 // The unique identifier (ID) for the Protection object to be deleted. 4782 // 4783 // ProtectionId is a required field 4784 ProtectionId *string `min:"1" type:"string" required:"true"` 4785} 4786 4787// String returns the string representation. 4788// 4789// API parameter values that are decorated as "sensitive" in the API will not 4790// be included in the string output. The member name will be present, but the 4791// value will be replaced with "sensitive". 4792func (s DeleteProtectionInput) String() string { 4793 return awsutil.Prettify(s) 4794} 4795 4796// GoString returns the string representation. 4797// 4798// API parameter values that are decorated as "sensitive" in the API will not 4799// be included in the string output. The member name will be present, but the 4800// value will be replaced with "sensitive". 4801func (s DeleteProtectionInput) GoString() string { 4802 return s.String() 4803} 4804 4805// Validate inspects the fields of the type to determine if they are valid. 4806func (s *DeleteProtectionInput) Validate() error { 4807 invalidParams := request.ErrInvalidParams{Context: "DeleteProtectionInput"} 4808 if s.ProtectionId == nil { 4809 invalidParams.Add(request.NewErrParamRequired("ProtectionId")) 4810 } 4811 if s.ProtectionId != nil && len(*s.ProtectionId) < 1 { 4812 invalidParams.Add(request.NewErrParamMinLen("ProtectionId", 1)) 4813 } 4814 4815 if invalidParams.Len() > 0 { 4816 return invalidParams 4817 } 4818 return nil 4819} 4820 4821// SetProtectionId sets the ProtectionId field's value. 4822func (s *DeleteProtectionInput) SetProtectionId(v string) *DeleteProtectionInput { 4823 s.ProtectionId = &v 4824 return s 4825} 4826 4827type DeleteProtectionOutput struct { 4828 _ struct{} `type:"structure"` 4829} 4830 4831// String returns the string representation. 4832// 4833// API parameter values that are decorated as "sensitive" in the API will not 4834// be included in the string output. The member name will be present, but the 4835// value will be replaced with "sensitive". 4836func (s DeleteProtectionOutput) String() string { 4837 return awsutil.Prettify(s) 4838} 4839 4840// GoString returns the string representation. 4841// 4842// API parameter values that are decorated as "sensitive" in the API will not 4843// be included in the string output. The member name will be present, but the 4844// value will be replaced with "sensitive". 4845func (s DeleteProtectionOutput) GoString() string { 4846 return s.String() 4847} 4848 4849// Deprecated: DeleteSubscriptionInput has been deprecated 4850type DeleteSubscriptionInput struct { 4851 _ struct{} `deprecated:"true" type:"structure"` 4852} 4853 4854// String returns the string representation. 4855// 4856// API parameter values that are decorated as "sensitive" in the API will not 4857// be included in the string output. The member name will be present, but the 4858// value will be replaced with "sensitive". 4859func (s DeleteSubscriptionInput) String() string { 4860 return awsutil.Prettify(s) 4861} 4862 4863// GoString returns the string representation. 4864// 4865// API parameter values that are decorated as "sensitive" in the API will not 4866// be included in the string output. The member name will be present, but the 4867// value will be replaced with "sensitive". 4868func (s DeleteSubscriptionInput) GoString() string { 4869 return s.String() 4870} 4871 4872// Deprecated: DeleteSubscriptionOutput has been deprecated 4873type DeleteSubscriptionOutput struct { 4874 _ struct{} `deprecated:"true" type:"structure"` 4875} 4876 4877// String returns the string representation. 4878// 4879// API parameter values that are decorated as "sensitive" in the API will not 4880// be included in the string output. The member name will be present, but the 4881// value will be replaced with "sensitive". 4882func (s DeleteSubscriptionOutput) String() string { 4883 return awsutil.Prettify(s) 4884} 4885 4886// GoString returns the string representation. 4887// 4888// API parameter values that are decorated as "sensitive" in the API will not 4889// be included in the string output. The member name will be present, but the 4890// value will be replaced with "sensitive". 4891func (s DeleteSubscriptionOutput) GoString() string { 4892 return s.String() 4893} 4894 4895type DescribeAttackInput struct { 4896 _ struct{} `type:"structure"` 4897 4898 // The unique identifier (ID) for the attack that to be described. 4899 // 4900 // AttackId is a required field 4901 AttackId *string `min:"1" type:"string" required:"true"` 4902} 4903 4904// String returns the string representation. 4905// 4906// API parameter values that are decorated as "sensitive" in the API will not 4907// be included in the string output. The member name will be present, but the 4908// value will be replaced with "sensitive". 4909func (s DescribeAttackInput) String() string { 4910 return awsutil.Prettify(s) 4911} 4912 4913// GoString returns the string representation. 4914// 4915// API parameter values that are decorated as "sensitive" in the API will not 4916// be included in the string output. The member name will be present, but the 4917// value will be replaced with "sensitive". 4918func (s DescribeAttackInput) GoString() string { 4919 return s.String() 4920} 4921 4922// Validate inspects the fields of the type to determine if they are valid. 4923func (s *DescribeAttackInput) Validate() error { 4924 invalidParams := request.ErrInvalidParams{Context: "DescribeAttackInput"} 4925 if s.AttackId == nil { 4926 invalidParams.Add(request.NewErrParamRequired("AttackId")) 4927 } 4928 if s.AttackId != nil && len(*s.AttackId) < 1 { 4929 invalidParams.Add(request.NewErrParamMinLen("AttackId", 1)) 4930 } 4931 4932 if invalidParams.Len() > 0 { 4933 return invalidParams 4934 } 4935 return nil 4936} 4937 4938// SetAttackId sets the AttackId field's value. 4939func (s *DescribeAttackInput) SetAttackId(v string) *DescribeAttackInput { 4940 s.AttackId = &v 4941 return s 4942} 4943 4944type DescribeAttackOutput struct { 4945 _ struct{} `type:"structure"` 4946 4947 // The attack that is described. 4948 Attack *AttackDetail `type:"structure"` 4949} 4950 4951// String returns the string representation. 4952// 4953// API parameter values that are decorated as "sensitive" in the API will not 4954// be included in the string output. The member name will be present, but the 4955// value will be replaced with "sensitive". 4956func (s DescribeAttackOutput) String() string { 4957 return awsutil.Prettify(s) 4958} 4959 4960// GoString returns the string representation. 4961// 4962// API parameter values that are decorated as "sensitive" in the API will not 4963// be included in the string output. The member name will be present, but the 4964// value will be replaced with "sensitive". 4965func (s DescribeAttackOutput) GoString() string { 4966 return s.String() 4967} 4968 4969// SetAttack sets the Attack field's value. 4970func (s *DescribeAttackOutput) SetAttack(v *AttackDetail) *DescribeAttackOutput { 4971 s.Attack = v 4972 return s 4973} 4974 4975type DescribeAttackStatisticsInput struct { 4976 _ struct{} `type:"structure"` 4977} 4978 4979// String returns the string representation. 4980// 4981// API parameter values that are decorated as "sensitive" in the API will not 4982// be included in the string output. The member name will be present, but the 4983// value will be replaced with "sensitive". 4984func (s DescribeAttackStatisticsInput) String() string { 4985 return awsutil.Prettify(s) 4986} 4987 4988// GoString returns the string representation. 4989// 4990// API parameter values that are decorated as "sensitive" in the API will not 4991// be included in the string output. The member name will be present, but the 4992// value will be replaced with "sensitive". 4993func (s DescribeAttackStatisticsInput) GoString() string { 4994 return s.String() 4995} 4996 4997type DescribeAttackStatisticsOutput struct { 4998 _ struct{} `type:"structure"` 4999 5000 // The data that describes the attacks detected during the time period. 5001 // 5002 // DataItems is a required field 5003 DataItems []*AttackStatisticsDataItem `type:"list" required:"true"` 5004 5005 // The time range. 5006 // 5007 // TimeRange is a required field 5008 TimeRange *TimeRange `type:"structure" required:"true"` 5009} 5010 5011// String returns the string representation. 5012// 5013// API parameter values that are decorated as "sensitive" in the API will not 5014// be included in the string output. The member name will be present, but the 5015// value will be replaced with "sensitive". 5016func (s DescribeAttackStatisticsOutput) String() string { 5017 return awsutil.Prettify(s) 5018} 5019 5020// GoString returns the string representation. 5021// 5022// API parameter values that are decorated as "sensitive" in the API will not 5023// be included in the string output. The member name will be present, but the 5024// value will be replaced with "sensitive". 5025func (s DescribeAttackStatisticsOutput) GoString() string { 5026 return s.String() 5027} 5028 5029// SetDataItems sets the DataItems field's value. 5030func (s *DescribeAttackStatisticsOutput) SetDataItems(v []*AttackStatisticsDataItem) *DescribeAttackStatisticsOutput { 5031 s.DataItems = v 5032 return s 5033} 5034 5035// SetTimeRange sets the TimeRange field's value. 5036func (s *DescribeAttackStatisticsOutput) SetTimeRange(v *TimeRange) *DescribeAttackStatisticsOutput { 5037 s.TimeRange = v 5038 return s 5039} 5040 5041type DescribeDRTAccessInput struct { 5042 _ struct{} `type:"structure"` 5043} 5044 5045// String returns the string representation. 5046// 5047// API parameter values that are decorated as "sensitive" in the API will not 5048// be included in the string output. The member name will be present, but the 5049// value will be replaced with "sensitive". 5050func (s DescribeDRTAccessInput) String() string { 5051 return awsutil.Prettify(s) 5052} 5053 5054// GoString returns the string representation. 5055// 5056// API parameter values that are decorated as "sensitive" in the API will not 5057// be included in the string output. The member name will be present, but the 5058// value will be replaced with "sensitive". 5059func (s DescribeDRTAccessInput) GoString() string { 5060 return s.String() 5061} 5062 5063type DescribeDRTAccessOutput struct { 5064 _ struct{} `type:"structure"` 5065 5066 // The list of Amazon S3 buckets accessed by the SRT. 5067 LogBucketList []*string `type:"list"` 5068 5069 // The Amazon Resource Name (ARN) of the role the SRT used to access your Amazon 5070 // Web Services account. 5071 RoleArn *string `min:"1" type:"string"` 5072} 5073 5074// String returns the string representation. 5075// 5076// API parameter values that are decorated as "sensitive" in the API will not 5077// be included in the string output. The member name will be present, but the 5078// value will be replaced with "sensitive". 5079func (s DescribeDRTAccessOutput) String() string { 5080 return awsutil.Prettify(s) 5081} 5082 5083// GoString returns the string representation. 5084// 5085// API parameter values that are decorated as "sensitive" in the API will not 5086// be included in the string output. The member name will be present, but the 5087// value will be replaced with "sensitive". 5088func (s DescribeDRTAccessOutput) GoString() string { 5089 return s.String() 5090} 5091 5092// SetLogBucketList sets the LogBucketList field's value. 5093func (s *DescribeDRTAccessOutput) SetLogBucketList(v []*string) *DescribeDRTAccessOutput { 5094 s.LogBucketList = v 5095 return s 5096} 5097 5098// SetRoleArn sets the RoleArn field's value. 5099func (s *DescribeDRTAccessOutput) SetRoleArn(v string) *DescribeDRTAccessOutput { 5100 s.RoleArn = &v 5101 return s 5102} 5103 5104type DescribeEmergencyContactSettingsInput struct { 5105 _ struct{} `type:"structure"` 5106} 5107 5108// String returns the string representation. 5109// 5110// API parameter values that are decorated as "sensitive" in the API will not 5111// be included in the string output. The member name will be present, but the 5112// value will be replaced with "sensitive". 5113func (s DescribeEmergencyContactSettingsInput) String() string { 5114 return awsutil.Prettify(s) 5115} 5116 5117// GoString returns the string representation. 5118// 5119// API parameter values that are decorated as "sensitive" in the API will not 5120// be included in the string output. The member name will be present, but the 5121// value will be replaced with "sensitive". 5122func (s DescribeEmergencyContactSettingsInput) GoString() string { 5123 return s.String() 5124} 5125 5126type DescribeEmergencyContactSettingsOutput struct { 5127 _ struct{} `type:"structure"` 5128 5129 // A list of email addresses and phone numbers that the Shield Response Team 5130 // (SRT) can use to contact you if you have proactive engagement enabled, for 5131 // escalations to the SRT and to initiate proactive customer support. 5132 EmergencyContactList []*EmergencyContact `type:"list"` 5133} 5134 5135// String returns the string representation. 5136// 5137// API parameter values that are decorated as "sensitive" in the API will not 5138// be included in the string output. The member name will be present, but the 5139// value will be replaced with "sensitive". 5140func (s DescribeEmergencyContactSettingsOutput) String() string { 5141 return awsutil.Prettify(s) 5142} 5143 5144// GoString returns the string representation. 5145// 5146// API parameter values that are decorated as "sensitive" in the API will not 5147// be included in the string output. The member name will be present, but the 5148// value will be replaced with "sensitive". 5149func (s DescribeEmergencyContactSettingsOutput) GoString() string { 5150 return s.String() 5151} 5152 5153// SetEmergencyContactList sets the EmergencyContactList field's value. 5154func (s *DescribeEmergencyContactSettingsOutput) SetEmergencyContactList(v []*EmergencyContact) *DescribeEmergencyContactSettingsOutput { 5155 s.EmergencyContactList = v 5156 return s 5157} 5158 5159type DescribeProtectionGroupInput struct { 5160 _ struct{} `type:"structure"` 5161 5162 // The name of the protection group. You use this to identify the protection 5163 // group in lists and to manage the protection group, for example to update, 5164 // delete, or describe it. 5165 // 5166 // ProtectionGroupId is a required field 5167 ProtectionGroupId *string `min:"1" type:"string" required:"true"` 5168} 5169 5170// String returns the string representation. 5171// 5172// API parameter values that are decorated as "sensitive" in the API will not 5173// be included in the string output. The member name will be present, but the 5174// value will be replaced with "sensitive". 5175func (s DescribeProtectionGroupInput) String() string { 5176 return awsutil.Prettify(s) 5177} 5178 5179// GoString returns the string representation. 5180// 5181// API parameter values that are decorated as "sensitive" in the API will not 5182// be included in the string output. The member name will be present, but the 5183// value will be replaced with "sensitive". 5184func (s DescribeProtectionGroupInput) GoString() string { 5185 return s.String() 5186} 5187 5188// Validate inspects the fields of the type to determine if they are valid. 5189func (s *DescribeProtectionGroupInput) Validate() error { 5190 invalidParams := request.ErrInvalidParams{Context: "DescribeProtectionGroupInput"} 5191 if s.ProtectionGroupId == nil { 5192 invalidParams.Add(request.NewErrParamRequired("ProtectionGroupId")) 5193 } 5194 if s.ProtectionGroupId != nil && len(*s.ProtectionGroupId) < 1 { 5195 invalidParams.Add(request.NewErrParamMinLen("ProtectionGroupId", 1)) 5196 } 5197 5198 if invalidParams.Len() > 0 { 5199 return invalidParams 5200 } 5201 return nil 5202} 5203 5204// SetProtectionGroupId sets the ProtectionGroupId field's value. 5205func (s *DescribeProtectionGroupInput) SetProtectionGroupId(v string) *DescribeProtectionGroupInput { 5206 s.ProtectionGroupId = &v 5207 return s 5208} 5209 5210type DescribeProtectionGroupOutput struct { 5211 _ struct{} `type:"structure"` 5212 5213 // A grouping of protected resources that you and Shield Advanced can monitor 5214 // as a collective. This resource grouping improves the accuracy of detection 5215 // and reduces false positives. 5216 // 5217 // ProtectionGroup is a required field 5218 ProtectionGroup *ProtectionGroup `type:"structure" required:"true"` 5219} 5220 5221// String returns the string representation. 5222// 5223// API parameter values that are decorated as "sensitive" in the API will not 5224// be included in the string output. The member name will be present, but the 5225// value will be replaced with "sensitive". 5226func (s DescribeProtectionGroupOutput) String() string { 5227 return awsutil.Prettify(s) 5228} 5229 5230// GoString returns the string representation. 5231// 5232// API parameter values that are decorated as "sensitive" in the API will not 5233// be included in the string output. The member name will be present, but the 5234// value will be replaced with "sensitive". 5235func (s DescribeProtectionGroupOutput) GoString() string { 5236 return s.String() 5237} 5238 5239// SetProtectionGroup sets the ProtectionGroup field's value. 5240func (s *DescribeProtectionGroupOutput) SetProtectionGroup(v *ProtectionGroup) *DescribeProtectionGroupOutput { 5241 s.ProtectionGroup = v 5242 return s 5243} 5244 5245type DescribeProtectionInput struct { 5246 _ struct{} `type:"structure"` 5247 5248 // The unique identifier (ID) for the Protection object that is described. When 5249 // submitting the DescribeProtection request you must provide either the ResourceArn 5250 // or the ProtectionID, but not both. 5251 ProtectionId *string `min:"1" type:"string"` 5252 5253 // The ARN (Amazon Resource Name) of the Amazon Web Services resource for the 5254 // Protection object that is described. When submitting the DescribeProtection 5255 // request you must provide either the ResourceArn or the ProtectionID, but 5256 // not both. 5257 ResourceArn *string `min:"1" type:"string"` 5258} 5259 5260// String returns the string representation. 5261// 5262// API parameter values that are decorated as "sensitive" in the API will not 5263// be included in the string output. The member name will be present, but the 5264// value will be replaced with "sensitive". 5265func (s DescribeProtectionInput) String() string { 5266 return awsutil.Prettify(s) 5267} 5268 5269// GoString returns the string representation. 5270// 5271// API parameter values that are decorated as "sensitive" in the API will not 5272// be included in the string output. The member name will be present, but the 5273// value will be replaced with "sensitive". 5274func (s DescribeProtectionInput) GoString() string { 5275 return s.String() 5276} 5277 5278// Validate inspects the fields of the type to determine if they are valid. 5279func (s *DescribeProtectionInput) Validate() error { 5280 invalidParams := request.ErrInvalidParams{Context: "DescribeProtectionInput"} 5281 if s.ProtectionId != nil && len(*s.ProtectionId) < 1 { 5282 invalidParams.Add(request.NewErrParamMinLen("ProtectionId", 1)) 5283 } 5284 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 5285 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 5286 } 5287 5288 if invalidParams.Len() > 0 { 5289 return invalidParams 5290 } 5291 return nil 5292} 5293 5294// SetProtectionId sets the ProtectionId field's value. 5295func (s *DescribeProtectionInput) SetProtectionId(v string) *DescribeProtectionInput { 5296 s.ProtectionId = &v 5297 return s 5298} 5299 5300// SetResourceArn sets the ResourceArn field's value. 5301func (s *DescribeProtectionInput) SetResourceArn(v string) *DescribeProtectionInput { 5302 s.ResourceArn = &v 5303 return s 5304} 5305 5306type DescribeProtectionOutput struct { 5307 _ struct{} `type:"structure"` 5308 5309 // The Protection object that is described. 5310 Protection *Protection `type:"structure"` 5311} 5312 5313// String returns the string representation. 5314// 5315// API parameter values that are decorated as "sensitive" in the API will not 5316// be included in the string output. The member name will be present, but the 5317// value will be replaced with "sensitive". 5318func (s DescribeProtectionOutput) String() string { 5319 return awsutil.Prettify(s) 5320} 5321 5322// GoString returns the string representation. 5323// 5324// API parameter values that are decorated as "sensitive" in the API will not 5325// be included in the string output. The member name will be present, but the 5326// value will be replaced with "sensitive". 5327func (s DescribeProtectionOutput) GoString() string { 5328 return s.String() 5329} 5330 5331// SetProtection sets the Protection field's value. 5332func (s *DescribeProtectionOutput) SetProtection(v *Protection) *DescribeProtectionOutput { 5333 s.Protection = v 5334 return s 5335} 5336 5337type DescribeSubscriptionInput struct { 5338 _ struct{} `type:"structure"` 5339} 5340 5341// String returns the string representation. 5342// 5343// API parameter values that are decorated as "sensitive" in the API will not 5344// be included in the string output. The member name will be present, but the 5345// value will be replaced with "sensitive". 5346func (s DescribeSubscriptionInput) String() string { 5347 return awsutil.Prettify(s) 5348} 5349 5350// GoString returns the string representation. 5351// 5352// API parameter values that are decorated as "sensitive" in the API will not 5353// be included in the string output. The member name will be present, but the 5354// value will be replaced with "sensitive". 5355func (s DescribeSubscriptionInput) GoString() string { 5356 return s.String() 5357} 5358 5359type DescribeSubscriptionOutput struct { 5360 _ struct{} `type:"structure"` 5361 5362 // The Shield Advanced subscription details for an account. 5363 Subscription *Subscription `type:"structure"` 5364} 5365 5366// String returns the string representation. 5367// 5368// API parameter values that are decorated as "sensitive" in the API will not 5369// be included in the string output. The member name will be present, but the 5370// value will be replaced with "sensitive". 5371func (s DescribeSubscriptionOutput) String() string { 5372 return awsutil.Prettify(s) 5373} 5374 5375// GoString returns the string representation. 5376// 5377// API parameter values that are decorated as "sensitive" in the API will not 5378// be included in the string output. The member name will be present, but the 5379// value will be replaced with "sensitive". 5380func (s DescribeSubscriptionOutput) GoString() string { 5381 return s.String() 5382} 5383 5384// SetSubscription sets the Subscription field's value. 5385func (s *DescribeSubscriptionOutput) SetSubscription(v *Subscription) *DescribeSubscriptionOutput { 5386 s.Subscription = v 5387 return s 5388} 5389 5390type DisableProactiveEngagementInput struct { 5391 _ struct{} `type:"structure"` 5392} 5393 5394// String returns the string representation. 5395// 5396// API parameter values that are decorated as "sensitive" in the API will not 5397// be included in the string output. The member name will be present, but the 5398// value will be replaced with "sensitive". 5399func (s DisableProactiveEngagementInput) String() string { 5400 return awsutil.Prettify(s) 5401} 5402 5403// GoString returns the string representation. 5404// 5405// API parameter values that are decorated as "sensitive" in the API will not 5406// be included in the string output. The member name will be present, but the 5407// value will be replaced with "sensitive". 5408func (s DisableProactiveEngagementInput) GoString() string { 5409 return s.String() 5410} 5411 5412type DisableProactiveEngagementOutput struct { 5413 _ struct{} `type:"structure"` 5414} 5415 5416// String returns the string representation. 5417// 5418// API parameter values that are decorated as "sensitive" in the API will not 5419// be included in the string output. The member name will be present, but the 5420// value will be replaced with "sensitive". 5421func (s DisableProactiveEngagementOutput) String() string { 5422 return awsutil.Prettify(s) 5423} 5424 5425// GoString returns the string representation. 5426// 5427// API parameter values that are decorated as "sensitive" in the API will not 5428// be included in the string output. The member name will be present, but the 5429// value will be replaced with "sensitive". 5430func (s DisableProactiveEngagementOutput) GoString() string { 5431 return s.String() 5432} 5433 5434type DisassociateDRTLogBucketInput struct { 5435 _ struct{} `type:"structure"` 5436 5437 // The Amazon S3 bucket that contains the logs that you want to share. 5438 // 5439 // LogBucket is a required field 5440 LogBucket *string `min:"3" type:"string" required:"true"` 5441} 5442 5443// String returns the string representation. 5444// 5445// API parameter values that are decorated as "sensitive" in the API will not 5446// be included in the string output. The member name will be present, but the 5447// value will be replaced with "sensitive". 5448func (s DisassociateDRTLogBucketInput) String() string { 5449 return awsutil.Prettify(s) 5450} 5451 5452// GoString returns the string representation. 5453// 5454// API parameter values that are decorated as "sensitive" in the API will not 5455// be included in the string output. The member name will be present, but the 5456// value will be replaced with "sensitive". 5457func (s DisassociateDRTLogBucketInput) GoString() string { 5458 return s.String() 5459} 5460 5461// Validate inspects the fields of the type to determine if they are valid. 5462func (s *DisassociateDRTLogBucketInput) Validate() error { 5463 invalidParams := request.ErrInvalidParams{Context: "DisassociateDRTLogBucketInput"} 5464 if s.LogBucket == nil { 5465 invalidParams.Add(request.NewErrParamRequired("LogBucket")) 5466 } 5467 if s.LogBucket != nil && len(*s.LogBucket) < 3 { 5468 invalidParams.Add(request.NewErrParamMinLen("LogBucket", 3)) 5469 } 5470 5471 if invalidParams.Len() > 0 { 5472 return invalidParams 5473 } 5474 return nil 5475} 5476 5477// SetLogBucket sets the LogBucket field's value. 5478func (s *DisassociateDRTLogBucketInput) SetLogBucket(v string) *DisassociateDRTLogBucketInput { 5479 s.LogBucket = &v 5480 return s 5481} 5482 5483type DisassociateDRTLogBucketOutput struct { 5484 _ struct{} `type:"structure"` 5485} 5486 5487// String returns the string representation. 5488// 5489// API parameter values that are decorated as "sensitive" in the API will not 5490// be included in the string output. The member name will be present, but the 5491// value will be replaced with "sensitive". 5492func (s DisassociateDRTLogBucketOutput) String() string { 5493 return awsutil.Prettify(s) 5494} 5495 5496// GoString returns the string representation. 5497// 5498// API parameter values that are decorated as "sensitive" in the API will not 5499// be included in the string output. The member name will be present, but the 5500// value will be replaced with "sensitive". 5501func (s DisassociateDRTLogBucketOutput) GoString() string { 5502 return s.String() 5503} 5504 5505type DisassociateDRTRoleInput struct { 5506 _ struct{} `type:"structure"` 5507} 5508 5509// String returns the string representation. 5510// 5511// API parameter values that are decorated as "sensitive" in the API will not 5512// be included in the string output. The member name will be present, but the 5513// value will be replaced with "sensitive". 5514func (s DisassociateDRTRoleInput) String() string { 5515 return awsutil.Prettify(s) 5516} 5517 5518// GoString returns the string representation. 5519// 5520// API parameter values that are decorated as "sensitive" in the API will not 5521// be included in the string output. The member name will be present, but the 5522// value will be replaced with "sensitive". 5523func (s DisassociateDRTRoleInput) GoString() string { 5524 return s.String() 5525} 5526 5527type DisassociateDRTRoleOutput struct { 5528 _ struct{} `type:"structure"` 5529} 5530 5531// String returns the string representation. 5532// 5533// API parameter values that are decorated as "sensitive" in the API will not 5534// be included in the string output. The member name will be present, but the 5535// value will be replaced with "sensitive". 5536func (s DisassociateDRTRoleOutput) String() string { 5537 return awsutil.Prettify(s) 5538} 5539 5540// GoString returns the string representation. 5541// 5542// API parameter values that are decorated as "sensitive" in the API will not 5543// be included in the string output. The member name will be present, but the 5544// value will be replaced with "sensitive". 5545func (s DisassociateDRTRoleOutput) GoString() string { 5546 return s.String() 5547} 5548 5549type DisassociateHealthCheckInput struct { 5550 _ struct{} `type:"structure"` 5551 5552 // The Amazon Resource Name (ARN) of the health check that is associated with 5553 // the protection. 5554 // 5555 // HealthCheckArn is a required field 5556 HealthCheckArn *string `min:"1" type:"string" required:"true"` 5557 5558 // The unique identifier (ID) for the Protection object to remove the health 5559 // check association from. 5560 // 5561 // ProtectionId is a required field 5562 ProtectionId *string `min:"1" type:"string" required:"true"` 5563} 5564 5565// String returns the string representation. 5566// 5567// API parameter values that are decorated as "sensitive" in the API will not 5568// be included in the string output. The member name will be present, but the 5569// value will be replaced with "sensitive". 5570func (s DisassociateHealthCheckInput) String() string { 5571 return awsutil.Prettify(s) 5572} 5573 5574// GoString returns the string representation. 5575// 5576// API parameter values that are decorated as "sensitive" in the API will not 5577// be included in the string output. The member name will be present, but the 5578// value will be replaced with "sensitive". 5579func (s DisassociateHealthCheckInput) GoString() string { 5580 return s.String() 5581} 5582 5583// Validate inspects the fields of the type to determine if they are valid. 5584func (s *DisassociateHealthCheckInput) Validate() error { 5585 invalidParams := request.ErrInvalidParams{Context: "DisassociateHealthCheckInput"} 5586 if s.HealthCheckArn == nil { 5587 invalidParams.Add(request.NewErrParamRequired("HealthCheckArn")) 5588 } 5589 if s.HealthCheckArn != nil && len(*s.HealthCheckArn) < 1 { 5590 invalidParams.Add(request.NewErrParamMinLen("HealthCheckArn", 1)) 5591 } 5592 if s.ProtectionId == nil { 5593 invalidParams.Add(request.NewErrParamRequired("ProtectionId")) 5594 } 5595 if s.ProtectionId != nil && len(*s.ProtectionId) < 1 { 5596 invalidParams.Add(request.NewErrParamMinLen("ProtectionId", 1)) 5597 } 5598 5599 if invalidParams.Len() > 0 { 5600 return invalidParams 5601 } 5602 return nil 5603} 5604 5605// SetHealthCheckArn sets the HealthCheckArn field's value. 5606func (s *DisassociateHealthCheckInput) SetHealthCheckArn(v string) *DisassociateHealthCheckInput { 5607 s.HealthCheckArn = &v 5608 return s 5609} 5610 5611// SetProtectionId sets the ProtectionId field's value. 5612func (s *DisassociateHealthCheckInput) SetProtectionId(v string) *DisassociateHealthCheckInput { 5613 s.ProtectionId = &v 5614 return s 5615} 5616 5617type DisassociateHealthCheckOutput struct { 5618 _ struct{} `type:"structure"` 5619} 5620 5621// String returns the string representation. 5622// 5623// API parameter values that are decorated as "sensitive" in the API will not 5624// be included in the string output. The member name will be present, but the 5625// value will be replaced with "sensitive". 5626func (s DisassociateHealthCheckOutput) String() string { 5627 return awsutil.Prettify(s) 5628} 5629 5630// GoString returns the string representation. 5631// 5632// API parameter values that are decorated as "sensitive" in the API will not 5633// be included in the string output. The member name will be present, but the 5634// value will be replaced with "sensitive". 5635func (s DisassociateHealthCheckOutput) GoString() string { 5636 return s.String() 5637} 5638 5639// Contact information that the SRT can use to contact you if you have proactive 5640// engagement enabled, for escalations to the SRT and to initiate proactive 5641// customer support. 5642type EmergencyContact struct { 5643 _ struct{} `type:"structure"` 5644 5645 // Additional notes regarding the contact. 5646 ContactNotes *string `min:"1" type:"string"` 5647 5648 // The email address for the contact. 5649 // 5650 // EmailAddress is a required field 5651 EmailAddress *string `min:"1" type:"string" required:"true"` 5652 5653 // The phone number for the contact. 5654 PhoneNumber *string `min:"1" type:"string"` 5655} 5656 5657// String returns the string representation. 5658// 5659// API parameter values that are decorated as "sensitive" in the API will not 5660// be included in the string output. The member name will be present, but the 5661// value will be replaced with "sensitive". 5662func (s EmergencyContact) String() string { 5663 return awsutil.Prettify(s) 5664} 5665 5666// GoString returns the string representation. 5667// 5668// API parameter values that are decorated as "sensitive" in the API will not 5669// be included in the string output. The member name will be present, but the 5670// value will be replaced with "sensitive". 5671func (s EmergencyContact) GoString() string { 5672 return s.String() 5673} 5674 5675// Validate inspects the fields of the type to determine if they are valid. 5676func (s *EmergencyContact) Validate() error { 5677 invalidParams := request.ErrInvalidParams{Context: "EmergencyContact"} 5678 if s.ContactNotes != nil && len(*s.ContactNotes) < 1 { 5679 invalidParams.Add(request.NewErrParamMinLen("ContactNotes", 1)) 5680 } 5681 if s.EmailAddress == nil { 5682 invalidParams.Add(request.NewErrParamRequired("EmailAddress")) 5683 } 5684 if s.EmailAddress != nil && len(*s.EmailAddress) < 1 { 5685 invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1)) 5686 } 5687 if s.PhoneNumber != nil && len(*s.PhoneNumber) < 1 { 5688 invalidParams.Add(request.NewErrParamMinLen("PhoneNumber", 1)) 5689 } 5690 5691 if invalidParams.Len() > 0 { 5692 return invalidParams 5693 } 5694 return nil 5695} 5696 5697// SetContactNotes sets the ContactNotes field's value. 5698func (s *EmergencyContact) SetContactNotes(v string) *EmergencyContact { 5699 s.ContactNotes = &v 5700 return s 5701} 5702 5703// SetEmailAddress sets the EmailAddress field's value. 5704func (s *EmergencyContact) SetEmailAddress(v string) *EmergencyContact { 5705 s.EmailAddress = &v 5706 return s 5707} 5708 5709// SetPhoneNumber sets the PhoneNumber field's value. 5710func (s *EmergencyContact) SetPhoneNumber(v string) *EmergencyContact { 5711 s.PhoneNumber = &v 5712 return s 5713} 5714 5715type EnableProactiveEngagementInput struct { 5716 _ struct{} `type:"structure"` 5717} 5718 5719// String returns the string representation. 5720// 5721// API parameter values that are decorated as "sensitive" in the API will not 5722// be included in the string output. The member name will be present, but the 5723// value will be replaced with "sensitive". 5724func (s EnableProactiveEngagementInput) String() string { 5725 return awsutil.Prettify(s) 5726} 5727 5728// GoString returns the string representation. 5729// 5730// API parameter values that are decorated as "sensitive" in the API will not 5731// be included in the string output. The member name will be present, but the 5732// value will be replaced with "sensitive". 5733func (s EnableProactiveEngagementInput) GoString() string { 5734 return s.String() 5735} 5736 5737type EnableProactiveEngagementOutput struct { 5738 _ struct{} `type:"structure"` 5739} 5740 5741// String returns the string representation. 5742// 5743// API parameter values that are decorated as "sensitive" in the API will not 5744// be included in the string output. The member name will be present, but the 5745// value will be replaced with "sensitive". 5746func (s EnableProactiveEngagementOutput) String() string { 5747 return awsutil.Prettify(s) 5748} 5749 5750// GoString returns the string representation. 5751// 5752// API parameter values that are decorated as "sensitive" in the API will not 5753// be included in the string output. The member name will be present, but the 5754// value will be replaced with "sensitive". 5755func (s EnableProactiveEngagementOutput) GoString() string { 5756 return s.String() 5757} 5758 5759type GetSubscriptionStateInput struct { 5760 _ struct{} `type:"structure"` 5761} 5762 5763// String returns the string representation. 5764// 5765// API parameter values that are decorated as "sensitive" in the API will not 5766// be included in the string output. The member name will be present, but the 5767// value will be replaced with "sensitive". 5768func (s GetSubscriptionStateInput) String() string { 5769 return awsutil.Prettify(s) 5770} 5771 5772// GoString returns the string representation. 5773// 5774// API parameter values that are decorated as "sensitive" in the API will not 5775// be included in the string output. The member name will be present, but the 5776// value will be replaced with "sensitive". 5777func (s GetSubscriptionStateInput) GoString() string { 5778 return s.String() 5779} 5780 5781type GetSubscriptionStateOutput struct { 5782 _ struct{} `type:"structure"` 5783 5784 // The status of the subscription. 5785 // 5786 // SubscriptionState is a required field 5787 SubscriptionState *string `type:"string" required:"true" enum:"SubscriptionState"` 5788} 5789 5790// String returns the string representation. 5791// 5792// API parameter values that are decorated as "sensitive" in the API will not 5793// be included in the string output. The member name will be present, but the 5794// value will be replaced with "sensitive". 5795func (s GetSubscriptionStateOutput) String() string { 5796 return awsutil.Prettify(s) 5797} 5798 5799// GoString returns the string representation. 5800// 5801// API parameter values that are decorated as "sensitive" in the API will not 5802// be included in the string output. The member name will be present, but the 5803// value will be replaced with "sensitive". 5804func (s GetSubscriptionStateOutput) GoString() string { 5805 return s.String() 5806} 5807 5808// SetSubscriptionState sets the SubscriptionState field's value. 5809func (s *GetSubscriptionStateOutput) SetSubscriptionState(v string) *GetSubscriptionStateOutput { 5810 s.SubscriptionState = &v 5811 return s 5812} 5813 5814// Exception that indicates that a problem occurred with the service infrastructure. 5815// You can retry the request. 5816type InternalErrorException struct { 5817 _ struct{} `type:"structure"` 5818 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5819 5820 Message_ *string `locationName:"message" type:"string"` 5821} 5822 5823// String returns the string representation. 5824// 5825// API parameter values that are decorated as "sensitive" in the API will not 5826// be included in the string output. The member name will be present, but the 5827// value will be replaced with "sensitive". 5828func (s InternalErrorException) String() string { 5829 return awsutil.Prettify(s) 5830} 5831 5832// GoString returns the string representation. 5833// 5834// API parameter values that are decorated as "sensitive" in the API will not 5835// be included in the string output. The member name will be present, but the 5836// value will be replaced with "sensitive". 5837func (s InternalErrorException) GoString() string { 5838 return s.String() 5839} 5840 5841func newErrorInternalErrorException(v protocol.ResponseMetadata) error { 5842 return &InternalErrorException{ 5843 RespMetadata: v, 5844 } 5845} 5846 5847// Code returns the exception type name. 5848func (s *InternalErrorException) Code() string { 5849 return "InternalErrorException" 5850} 5851 5852// Message returns the exception's message. 5853func (s *InternalErrorException) Message() string { 5854 if s.Message_ != nil { 5855 return *s.Message_ 5856 } 5857 return "" 5858} 5859 5860// OrigErr always returns nil, satisfies awserr.Error interface. 5861func (s *InternalErrorException) OrigErr() error { 5862 return nil 5863} 5864 5865func (s *InternalErrorException) Error() string { 5866 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5867} 5868 5869// Status code returns the HTTP status code for the request's response error. 5870func (s *InternalErrorException) StatusCode() int { 5871 return s.RespMetadata.StatusCode 5872} 5873 5874// RequestID returns the service's response RequestID for request. 5875func (s *InternalErrorException) RequestID() string { 5876 return s.RespMetadata.RequestID 5877} 5878 5879// Exception that indicates that the operation would not cause any change to 5880// occur. 5881type InvalidOperationException struct { 5882 _ struct{} `type:"structure"` 5883 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5884 5885 Message_ *string `locationName:"message" type:"string"` 5886} 5887 5888// String returns the string representation. 5889// 5890// API parameter values that are decorated as "sensitive" in the API will not 5891// be included in the string output. The member name will be present, but the 5892// value will be replaced with "sensitive". 5893func (s InvalidOperationException) String() string { 5894 return awsutil.Prettify(s) 5895} 5896 5897// GoString returns the string representation. 5898// 5899// API parameter values that are decorated as "sensitive" in the API will not 5900// be included in the string output. The member name will be present, but the 5901// value will be replaced with "sensitive". 5902func (s InvalidOperationException) GoString() string { 5903 return s.String() 5904} 5905 5906func newErrorInvalidOperationException(v protocol.ResponseMetadata) error { 5907 return &InvalidOperationException{ 5908 RespMetadata: v, 5909 } 5910} 5911 5912// Code returns the exception type name. 5913func (s *InvalidOperationException) Code() string { 5914 return "InvalidOperationException" 5915} 5916 5917// Message returns the exception's message. 5918func (s *InvalidOperationException) Message() string { 5919 if s.Message_ != nil { 5920 return *s.Message_ 5921 } 5922 return "" 5923} 5924 5925// OrigErr always returns nil, satisfies awserr.Error interface. 5926func (s *InvalidOperationException) OrigErr() error { 5927 return nil 5928} 5929 5930func (s *InvalidOperationException) Error() string { 5931 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5932} 5933 5934// Status code returns the HTTP status code for the request's response error. 5935func (s *InvalidOperationException) StatusCode() int { 5936 return s.RespMetadata.StatusCode 5937} 5938 5939// RequestID returns the service's response RequestID for request. 5940func (s *InvalidOperationException) RequestID() string { 5941 return s.RespMetadata.RequestID 5942} 5943 5944// Exception that indicates that the NextToken specified in the request is invalid. 5945// Submit the request using the NextToken value that was returned in the response. 5946type InvalidPaginationTokenException struct { 5947 _ struct{} `type:"structure"` 5948 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 5949 5950 Message_ *string `locationName:"message" type:"string"` 5951} 5952 5953// String returns the string representation. 5954// 5955// API parameter values that are decorated as "sensitive" in the API will not 5956// be included in the string output. The member name will be present, but the 5957// value will be replaced with "sensitive". 5958func (s InvalidPaginationTokenException) String() string { 5959 return awsutil.Prettify(s) 5960} 5961 5962// GoString returns the string representation. 5963// 5964// API parameter values that are decorated as "sensitive" in the API will not 5965// be included in the string output. The member name will be present, but the 5966// value will be replaced with "sensitive". 5967func (s InvalidPaginationTokenException) GoString() string { 5968 return s.String() 5969} 5970 5971func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { 5972 return &InvalidPaginationTokenException{ 5973 RespMetadata: v, 5974 } 5975} 5976 5977// Code returns the exception type name. 5978func (s *InvalidPaginationTokenException) Code() string { 5979 return "InvalidPaginationTokenException" 5980} 5981 5982// Message returns the exception's message. 5983func (s *InvalidPaginationTokenException) Message() string { 5984 if s.Message_ != nil { 5985 return *s.Message_ 5986 } 5987 return "" 5988} 5989 5990// OrigErr always returns nil, satisfies awserr.Error interface. 5991func (s *InvalidPaginationTokenException) OrigErr() error { 5992 return nil 5993} 5994 5995func (s *InvalidPaginationTokenException) Error() string { 5996 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 5997} 5998 5999// Status code returns the HTTP status code for the request's response error. 6000func (s *InvalidPaginationTokenException) StatusCode() int { 6001 return s.RespMetadata.StatusCode 6002} 6003 6004// RequestID returns the service's response RequestID for request. 6005func (s *InvalidPaginationTokenException) RequestID() string { 6006 return s.RespMetadata.RequestID 6007} 6008 6009// Exception that indicates that the parameters passed to the API are invalid. 6010// If available, this exception includes details in additional properties. 6011type InvalidParameterException struct { 6012 _ struct{} `type:"structure"` 6013 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6014 6015 // Fields that caused the exception. 6016 Fields []*ValidationExceptionField `locationName:"fields" type:"list"` 6017 6018 Message_ *string `locationName:"message" type:"string"` 6019 6020 // Additional information about the exception. 6021 Reason *string `locationName:"reason" type:"string" enum:"ValidationExceptionReason"` 6022} 6023 6024// String returns the string representation. 6025// 6026// API parameter values that are decorated as "sensitive" in the API will not 6027// be included in the string output. The member name will be present, but the 6028// value will be replaced with "sensitive". 6029func (s InvalidParameterException) String() string { 6030 return awsutil.Prettify(s) 6031} 6032 6033// GoString returns the string representation. 6034// 6035// API parameter values that are decorated as "sensitive" in the API will not 6036// be included in the string output. The member name will be present, but the 6037// value will be replaced with "sensitive". 6038func (s InvalidParameterException) GoString() string { 6039 return s.String() 6040} 6041 6042func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 6043 return &InvalidParameterException{ 6044 RespMetadata: v, 6045 } 6046} 6047 6048// Code returns the exception type name. 6049func (s *InvalidParameterException) Code() string { 6050 return "InvalidParameterException" 6051} 6052 6053// Message returns the exception's message. 6054func (s *InvalidParameterException) Message() string { 6055 if s.Message_ != nil { 6056 return *s.Message_ 6057 } 6058 return "" 6059} 6060 6061// OrigErr always returns nil, satisfies awserr.Error interface. 6062func (s *InvalidParameterException) OrigErr() error { 6063 return nil 6064} 6065 6066func (s *InvalidParameterException) Error() string { 6067 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6068} 6069 6070// Status code returns the HTTP status code for the request's response error. 6071func (s *InvalidParameterException) StatusCode() int { 6072 return s.RespMetadata.StatusCode 6073} 6074 6075// RequestID returns the service's response RequestID for request. 6076func (s *InvalidParameterException) RequestID() string { 6077 return s.RespMetadata.RequestID 6078} 6079 6080// Exception that indicates that the resource is invalid. You might not have 6081// access to the resource, or the resource might not exist. 6082type InvalidResourceException struct { 6083 _ struct{} `type:"structure"` 6084 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6085 6086 Message_ *string `locationName:"message" type:"string"` 6087} 6088 6089// String returns the string representation. 6090// 6091// API parameter values that are decorated as "sensitive" in the API will not 6092// be included in the string output. The member name will be present, but the 6093// value will be replaced with "sensitive". 6094func (s InvalidResourceException) String() string { 6095 return awsutil.Prettify(s) 6096} 6097 6098// GoString returns the string representation. 6099// 6100// API parameter values that are decorated as "sensitive" in the API will not 6101// be included in the string output. The member name will be present, but the 6102// value will be replaced with "sensitive". 6103func (s InvalidResourceException) GoString() string { 6104 return s.String() 6105} 6106 6107func newErrorInvalidResourceException(v protocol.ResponseMetadata) error { 6108 return &InvalidResourceException{ 6109 RespMetadata: v, 6110 } 6111} 6112 6113// Code returns the exception type name. 6114func (s *InvalidResourceException) Code() string { 6115 return "InvalidResourceException" 6116} 6117 6118// Message returns the exception's message. 6119func (s *InvalidResourceException) Message() string { 6120 if s.Message_ != nil { 6121 return *s.Message_ 6122 } 6123 return "" 6124} 6125 6126// OrigErr always returns nil, satisfies awserr.Error interface. 6127func (s *InvalidResourceException) OrigErr() error { 6128 return nil 6129} 6130 6131func (s *InvalidResourceException) Error() string { 6132 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6133} 6134 6135// Status code returns the HTTP status code for the request's response error. 6136func (s *InvalidResourceException) StatusCode() int { 6137 return s.RespMetadata.StatusCode 6138} 6139 6140// RequestID returns the service's response RequestID for request. 6141func (s *InvalidResourceException) RequestID() string { 6142 return s.RespMetadata.RequestID 6143} 6144 6145// Specifies how many protections of a given type you can create. 6146type Limit struct { 6147 _ struct{} `type:"structure"` 6148 6149 // The maximum number of protections that can be created for the specified Type. 6150 Max *int64 `type:"long"` 6151 6152 // The type of protection. 6153 Type *string `type:"string"` 6154} 6155 6156// String returns the string representation. 6157// 6158// API parameter values that are decorated as "sensitive" in the API will not 6159// be included in the string output. The member name will be present, but the 6160// value will be replaced with "sensitive". 6161func (s Limit) String() string { 6162 return awsutil.Prettify(s) 6163} 6164 6165// GoString returns the string representation. 6166// 6167// API parameter values that are decorated as "sensitive" in the API will not 6168// be included in the string output. The member name will be present, but the 6169// value will be replaced with "sensitive". 6170func (s Limit) GoString() string { 6171 return s.String() 6172} 6173 6174// SetMax sets the Max field's value. 6175func (s *Limit) SetMax(v int64) *Limit { 6176 s.Max = &v 6177 return s 6178} 6179 6180// SetType sets the Type field's value. 6181func (s *Limit) SetType(v string) *Limit { 6182 s.Type = &v 6183 return s 6184} 6185 6186// Exception that indicates that the operation would exceed a limit. 6187type LimitsExceededException struct { 6188 _ struct{} `type:"structure"` 6189 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6190 6191 // The threshold that would be exceeded. 6192 Limit *int64 `type:"long"` 6193 6194 Message_ *string `locationName:"message" type:"string"` 6195 6196 // The type of limit that would be exceeded. 6197 Type *string `type:"string"` 6198} 6199 6200// String returns the string representation. 6201// 6202// API parameter values that are decorated as "sensitive" in the API will not 6203// be included in the string output. The member name will be present, but the 6204// value will be replaced with "sensitive". 6205func (s LimitsExceededException) String() string { 6206 return awsutil.Prettify(s) 6207} 6208 6209// GoString returns the string representation. 6210// 6211// API parameter values that are decorated as "sensitive" in the API will not 6212// be included in the string output. The member name will be present, but the 6213// value will be replaced with "sensitive". 6214func (s LimitsExceededException) GoString() string { 6215 return s.String() 6216} 6217 6218func newErrorLimitsExceededException(v protocol.ResponseMetadata) error { 6219 return &LimitsExceededException{ 6220 RespMetadata: v, 6221 } 6222} 6223 6224// Code returns the exception type name. 6225func (s *LimitsExceededException) Code() string { 6226 return "LimitsExceededException" 6227} 6228 6229// Message returns the exception's message. 6230func (s *LimitsExceededException) Message() string { 6231 if s.Message_ != nil { 6232 return *s.Message_ 6233 } 6234 return "" 6235} 6236 6237// OrigErr always returns nil, satisfies awserr.Error interface. 6238func (s *LimitsExceededException) OrigErr() error { 6239 return nil 6240} 6241 6242func (s *LimitsExceededException) Error() string { 6243 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 6244} 6245 6246// Status code returns the HTTP status code for the request's response error. 6247func (s *LimitsExceededException) StatusCode() int { 6248 return s.RespMetadata.StatusCode 6249} 6250 6251// RequestID returns the service's response RequestID for request. 6252func (s *LimitsExceededException) RequestID() string { 6253 return s.RespMetadata.RequestID 6254} 6255 6256type ListAttacksInput struct { 6257 _ struct{} `type:"structure"` 6258 6259 // The end of the time period for the attacks. This is a timestamp type. The 6260 // sample request above indicates a number type because the default used by 6261 // WAF is Unix time in seconds. However any valid timestamp format (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types) 6262 // is allowed. 6263 EndTime *TimeRange `type:"structure"` 6264 6265 // The maximum number of AttackSummary objects to return. If you leave this 6266 // blank, Shield Advanced returns the first 20 results. 6267 // 6268 // This is a maximum value. Shield Advanced might return the results in smaller 6269 // batches. That is, the number of objects returned could be less than MaxResults, 6270 // even if there are still more objects yet to return. If there are more objects 6271 // to return, Shield Advanced returns a value in NextToken that you can use 6272 // in your next request, to get the next batch of objects. 6273 MaxResults *int64 `type:"integer"` 6274 6275 // The ListAttacksRequest.NextMarker value from a previous call to ListAttacksRequest. 6276 // Pass null if this is the first call. 6277 NextToken *string `min:"1" type:"string"` 6278 6279 // The ARN (Amazon Resource Name) of the resource that was attacked. If this 6280 // is left blank, all applicable resources for this account will be included. 6281 ResourceArns []*string `type:"list"` 6282 6283 // The start of the time period for the attacks. This is a timestamp type. The 6284 // sample request above indicates a number type because the default used by 6285 // WAF is Unix time in seconds. However any valid timestamp format (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types) 6286 // is allowed. 6287 StartTime *TimeRange `type:"structure"` 6288} 6289 6290// String returns the string representation. 6291// 6292// API parameter values that are decorated as "sensitive" in the API will not 6293// be included in the string output. The member name will be present, but the 6294// value will be replaced with "sensitive". 6295func (s ListAttacksInput) String() string { 6296 return awsutil.Prettify(s) 6297} 6298 6299// GoString returns the string representation. 6300// 6301// API parameter values that are decorated as "sensitive" in the API will not 6302// be included in the string output. The member name will be present, but the 6303// value will be replaced with "sensitive". 6304func (s ListAttacksInput) GoString() string { 6305 return s.String() 6306} 6307 6308// Validate inspects the fields of the type to determine if they are valid. 6309func (s *ListAttacksInput) Validate() error { 6310 invalidParams := request.ErrInvalidParams{Context: "ListAttacksInput"} 6311 if s.NextToken != nil && len(*s.NextToken) < 1 { 6312 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6313 } 6314 6315 if invalidParams.Len() > 0 { 6316 return invalidParams 6317 } 6318 return nil 6319} 6320 6321// SetEndTime sets the EndTime field's value. 6322func (s *ListAttacksInput) SetEndTime(v *TimeRange) *ListAttacksInput { 6323 s.EndTime = v 6324 return s 6325} 6326 6327// SetMaxResults sets the MaxResults field's value. 6328func (s *ListAttacksInput) SetMaxResults(v int64) *ListAttacksInput { 6329 s.MaxResults = &v 6330 return s 6331} 6332 6333// SetNextToken sets the NextToken field's value. 6334func (s *ListAttacksInput) SetNextToken(v string) *ListAttacksInput { 6335 s.NextToken = &v 6336 return s 6337} 6338 6339// SetResourceArns sets the ResourceArns field's value. 6340func (s *ListAttacksInput) SetResourceArns(v []*string) *ListAttacksInput { 6341 s.ResourceArns = v 6342 return s 6343} 6344 6345// SetStartTime sets the StartTime field's value. 6346func (s *ListAttacksInput) SetStartTime(v *TimeRange) *ListAttacksInput { 6347 s.StartTime = v 6348 return s 6349} 6350 6351type ListAttacksOutput struct { 6352 _ struct{} `type:"structure"` 6353 6354 // The attack information for the specified time range. 6355 AttackSummaries []*AttackSummary `type:"list"` 6356 6357 // The token returned by a previous call to indicate that there is more data 6358 // available. If not null, more results are available. Pass this value for the 6359 // NextMarker parameter in a subsequent call to ListAttacks to retrieve the 6360 // next set of items. 6361 // 6362 // Shield Advanced might return the list of AttackSummary objects in batches 6363 // smaller than the number specified by MaxResults. If there are more attack 6364 // summary objects to return, Shield Advanced will always also return a NextToken. 6365 NextToken *string `min:"1" type:"string"` 6366} 6367 6368// String returns the string representation. 6369// 6370// API parameter values that are decorated as "sensitive" in the API will not 6371// be included in the string output. The member name will be present, but the 6372// value will be replaced with "sensitive". 6373func (s ListAttacksOutput) String() string { 6374 return awsutil.Prettify(s) 6375} 6376 6377// GoString returns the string representation. 6378// 6379// API parameter values that are decorated as "sensitive" in the API will not 6380// be included in the string output. The member name will be present, but the 6381// value will be replaced with "sensitive". 6382func (s ListAttacksOutput) GoString() string { 6383 return s.String() 6384} 6385 6386// SetAttackSummaries sets the AttackSummaries field's value. 6387func (s *ListAttacksOutput) SetAttackSummaries(v []*AttackSummary) *ListAttacksOutput { 6388 s.AttackSummaries = v 6389 return s 6390} 6391 6392// SetNextToken sets the NextToken field's value. 6393func (s *ListAttacksOutput) SetNextToken(v string) *ListAttacksOutput { 6394 s.NextToken = &v 6395 return s 6396} 6397 6398type ListProtectionGroupsInput struct { 6399 _ struct{} `type:"structure"` 6400 6401 // The maximum number of ProtectionGroup objects to return. If you leave this 6402 // blank, Shield Advanced returns the first 20 results. 6403 // 6404 // This is a maximum value. Shield Advanced might return the results in smaller 6405 // batches. That is, the number of objects returned could be less than MaxResults, 6406 // even if there are still more objects yet to return. If there are more objects 6407 // to return, Shield Advanced returns a value in NextToken that you can use 6408 // in your next request, to get the next batch of objects. 6409 MaxResults *int64 `type:"integer"` 6410 6411 // The next token value from a previous call to ListProtectionGroups. Pass null 6412 // if this is the first call. 6413 NextToken *string `min:"1" type:"string"` 6414} 6415 6416// String returns the string representation. 6417// 6418// API parameter values that are decorated as "sensitive" in the API will not 6419// be included in the string output. The member name will be present, but the 6420// value will be replaced with "sensitive". 6421func (s ListProtectionGroupsInput) String() string { 6422 return awsutil.Prettify(s) 6423} 6424 6425// GoString returns the string representation. 6426// 6427// API parameter values that are decorated as "sensitive" in the API will not 6428// be included in the string output. The member name will be present, but the 6429// value will be replaced with "sensitive". 6430func (s ListProtectionGroupsInput) GoString() string { 6431 return s.String() 6432} 6433 6434// Validate inspects the fields of the type to determine if they are valid. 6435func (s *ListProtectionGroupsInput) Validate() error { 6436 invalidParams := request.ErrInvalidParams{Context: "ListProtectionGroupsInput"} 6437 if s.NextToken != nil && len(*s.NextToken) < 1 { 6438 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6439 } 6440 6441 if invalidParams.Len() > 0 { 6442 return invalidParams 6443 } 6444 return nil 6445} 6446 6447// SetMaxResults sets the MaxResults field's value. 6448func (s *ListProtectionGroupsInput) SetMaxResults(v int64) *ListProtectionGroupsInput { 6449 s.MaxResults = &v 6450 return s 6451} 6452 6453// SetNextToken sets the NextToken field's value. 6454func (s *ListProtectionGroupsInput) SetNextToken(v string) *ListProtectionGroupsInput { 6455 s.NextToken = &v 6456 return s 6457} 6458 6459type ListProtectionGroupsOutput struct { 6460 _ struct{} `type:"structure"` 6461 6462 // If you specify a value for MaxResults and you have more protection groups 6463 // than the value of MaxResults, Shield Advanced returns this token that you 6464 // can use in your next request, to get the next batch of objects. 6465 NextToken *string `min:"1" type:"string"` 6466 6467 // ProtectionGroups is a required field 6468 ProtectionGroups []*ProtectionGroup `type:"list" required:"true"` 6469} 6470 6471// String returns the string representation. 6472// 6473// API parameter values that are decorated as "sensitive" in the API will not 6474// be included in the string output. The member name will be present, but the 6475// value will be replaced with "sensitive". 6476func (s ListProtectionGroupsOutput) String() string { 6477 return awsutil.Prettify(s) 6478} 6479 6480// GoString returns the string representation. 6481// 6482// API parameter values that are decorated as "sensitive" in the API will not 6483// be included in the string output. The member name will be present, but the 6484// value will be replaced with "sensitive". 6485func (s ListProtectionGroupsOutput) GoString() string { 6486 return s.String() 6487} 6488 6489// SetNextToken sets the NextToken field's value. 6490func (s *ListProtectionGroupsOutput) SetNextToken(v string) *ListProtectionGroupsOutput { 6491 s.NextToken = &v 6492 return s 6493} 6494 6495// SetProtectionGroups sets the ProtectionGroups field's value. 6496func (s *ListProtectionGroupsOutput) SetProtectionGroups(v []*ProtectionGroup) *ListProtectionGroupsOutput { 6497 s.ProtectionGroups = v 6498 return s 6499} 6500 6501type ListProtectionsInput struct { 6502 _ struct{} `type:"structure"` 6503 6504 // The maximum number of Protection objects to return. If you leave this blank, 6505 // Shield Advanced returns the first 20 results. 6506 // 6507 // This is a maximum value. Shield Advanced might return the results in smaller 6508 // batches. That is, the number of objects returned could be less than MaxResults, 6509 // even if there are still more objects yet to return. If there are more objects 6510 // to return, Shield Advanced returns a value in NextToken that you can use 6511 // in your next request, to get the next batch of objects. 6512 MaxResults *int64 `type:"integer"` 6513 6514 // The ListProtectionsRequest.NextToken value from a previous call to ListProtections. 6515 // Pass null if this is the first call. 6516 NextToken *string `min:"1" type:"string"` 6517} 6518 6519// String returns the string representation. 6520// 6521// API parameter values that are decorated as "sensitive" in the API will not 6522// be included in the string output. The member name will be present, but the 6523// value will be replaced with "sensitive". 6524func (s ListProtectionsInput) String() string { 6525 return awsutil.Prettify(s) 6526} 6527 6528// GoString returns the string representation. 6529// 6530// API parameter values that are decorated as "sensitive" in the API will not 6531// be included in the string output. The member name will be present, but the 6532// value will be replaced with "sensitive". 6533func (s ListProtectionsInput) GoString() string { 6534 return s.String() 6535} 6536 6537// Validate inspects the fields of the type to determine if they are valid. 6538func (s *ListProtectionsInput) Validate() error { 6539 invalidParams := request.ErrInvalidParams{Context: "ListProtectionsInput"} 6540 if s.NextToken != nil && len(*s.NextToken) < 1 { 6541 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6542 } 6543 6544 if invalidParams.Len() > 0 { 6545 return invalidParams 6546 } 6547 return nil 6548} 6549 6550// SetMaxResults sets the MaxResults field's value. 6551func (s *ListProtectionsInput) SetMaxResults(v int64) *ListProtectionsInput { 6552 s.MaxResults = &v 6553 return s 6554} 6555 6556// SetNextToken sets the NextToken field's value. 6557func (s *ListProtectionsInput) SetNextToken(v string) *ListProtectionsInput { 6558 s.NextToken = &v 6559 return s 6560} 6561 6562type ListProtectionsOutput struct { 6563 _ struct{} `type:"structure"` 6564 6565 // If you specify a value for MaxResults and you have more Protections than 6566 // the value of MaxResults, Shield Advanced returns a NextToken value in the 6567 // response that allows you to list another group of Protections. For the second 6568 // and subsequent ListProtections requests, specify the value of NextToken from 6569 // the previous response to get information about another batch of Protections. 6570 // 6571 // Shield Advanced might return the list of Protection objects in batches smaller 6572 // than the number specified by MaxResults. If there are more Protection objects 6573 // to return, Shield Advanced will always also return a NextToken. 6574 NextToken *string `min:"1" type:"string"` 6575 6576 // The array of enabled Protection objects. 6577 Protections []*Protection `type:"list"` 6578} 6579 6580// String returns the string representation. 6581// 6582// API parameter values that are decorated as "sensitive" in the API will not 6583// be included in the string output. The member name will be present, but the 6584// value will be replaced with "sensitive". 6585func (s ListProtectionsOutput) String() string { 6586 return awsutil.Prettify(s) 6587} 6588 6589// GoString returns the string representation. 6590// 6591// API parameter values that are decorated as "sensitive" in the API will not 6592// be included in the string output. The member name will be present, but the 6593// value will be replaced with "sensitive". 6594func (s ListProtectionsOutput) GoString() string { 6595 return s.String() 6596} 6597 6598// SetNextToken sets the NextToken field's value. 6599func (s *ListProtectionsOutput) SetNextToken(v string) *ListProtectionsOutput { 6600 s.NextToken = &v 6601 return s 6602} 6603 6604// SetProtections sets the Protections field's value. 6605func (s *ListProtectionsOutput) SetProtections(v []*Protection) *ListProtectionsOutput { 6606 s.Protections = v 6607 return s 6608} 6609 6610type ListResourcesInProtectionGroupInput struct { 6611 _ struct{} `type:"structure"` 6612 6613 // The maximum number of resource ARN objects to return. If you leave this blank, 6614 // Shield Advanced returns the first 20 results. 6615 // 6616 // This is a maximum value. Shield Advanced might return the results in smaller 6617 // batches. That is, the number of objects returned could be less than MaxResults, 6618 // even if there are still more objects yet to return. If there are more objects 6619 // to return, Shield Advanced returns a value in NextToken that you can use 6620 // in your next request, to get the next batch of objects. 6621 MaxResults *int64 `type:"integer"` 6622 6623 // The next token value from a previous call to ListResourcesInProtectionGroup. 6624 // Pass null if this is the first call. 6625 NextToken *string `min:"1" type:"string"` 6626 6627 // The name of the protection group. You use this to identify the protection 6628 // group in lists and to manage the protection group, for example to update, 6629 // delete, or describe it. 6630 // 6631 // ProtectionGroupId is a required field 6632 ProtectionGroupId *string `min:"1" type:"string" required:"true"` 6633} 6634 6635// String returns the string representation. 6636// 6637// API parameter values that are decorated as "sensitive" in the API will not 6638// be included in the string output. The member name will be present, but the 6639// value will be replaced with "sensitive". 6640func (s ListResourcesInProtectionGroupInput) String() string { 6641 return awsutil.Prettify(s) 6642} 6643 6644// GoString returns the string representation. 6645// 6646// API parameter values that are decorated as "sensitive" in the API will not 6647// be included in the string output. The member name will be present, but the 6648// value will be replaced with "sensitive". 6649func (s ListResourcesInProtectionGroupInput) GoString() string { 6650 return s.String() 6651} 6652 6653// Validate inspects the fields of the type to determine if they are valid. 6654func (s *ListResourcesInProtectionGroupInput) Validate() error { 6655 invalidParams := request.ErrInvalidParams{Context: "ListResourcesInProtectionGroupInput"} 6656 if s.NextToken != nil && len(*s.NextToken) < 1 { 6657 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 6658 } 6659 if s.ProtectionGroupId == nil { 6660 invalidParams.Add(request.NewErrParamRequired("ProtectionGroupId")) 6661 } 6662 if s.ProtectionGroupId != nil && len(*s.ProtectionGroupId) < 1 { 6663 invalidParams.Add(request.NewErrParamMinLen("ProtectionGroupId", 1)) 6664 } 6665 6666 if invalidParams.Len() > 0 { 6667 return invalidParams 6668 } 6669 return nil 6670} 6671 6672// SetMaxResults sets the MaxResults field's value. 6673func (s *ListResourcesInProtectionGroupInput) SetMaxResults(v int64) *ListResourcesInProtectionGroupInput { 6674 s.MaxResults = &v 6675 return s 6676} 6677 6678// SetNextToken sets the NextToken field's value. 6679func (s *ListResourcesInProtectionGroupInput) SetNextToken(v string) *ListResourcesInProtectionGroupInput { 6680 s.NextToken = &v 6681 return s 6682} 6683 6684// SetProtectionGroupId sets the ProtectionGroupId field's value. 6685func (s *ListResourcesInProtectionGroupInput) SetProtectionGroupId(v string) *ListResourcesInProtectionGroupInput { 6686 s.ProtectionGroupId = &v 6687 return s 6688} 6689 6690type ListResourcesInProtectionGroupOutput struct { 6691 _ struct{} `type:"structure"` 6692 6693 // If you specify a value for MaxResults and you have more resources in the 6694 // protection group than the value of MaxResults, Shield Advanced returns this 6695 // token that you can use in your next request, to get the next batch of objects. 6696 NextToken *string `min:"1" type:"string"` 6697 6698 // The Amazon Resource Names (ARNs) of the resources that are included in the 6699 // protection group. 6700 // 6701 // ResourceArns is a required field 6702 ResourceArns []*string `type:"list" required:"true"` 6703} 6704 6705// String returns the string representation. 6706// 6707// API parameter values that are decorated as "sensitive" in the API will not 6708// be included in the string output. The member name will be present, but the 6709// value will be replaced with "sensitive". 6710func (s ListResourcesInProtectionGroupOutput) String() string { 6711 return awsutil.Prettify(s) 6712} 6713 6714// GoString returns the string representation. 6715// 6716// API parameter values that are decorated as "sensitive" in the API will not 6717// be included in the string output. The member name will be present, but the 6718// value will be replaced with "sensitive". 6719func (s ListResourcesInProtectionGroupOutput) GoString() string { 6720 return s.String() 6721} 6722 6723// SetNextToken sets the NextToken field's value. 6724func (s *ListResourcesInProtectionGroupOutput) SetNextToken(v string) *ListResourcesInProtectionGroupOutput { 6725 s.NextToken = &v 6726 return s 6727} 6728 6729// SetResourceArns sets the ResourceArns field's value. 6730func (s *ListResourcesInProtectionGroupOutput) SetResourceArns(v []*string) *ListResourcesInProtectionGroupOutput { 6731 s.ResourceArns = v 6732 return s 6733} 6734 6735type ListTagsForResourceInput struct { 6736 _ struct{} `type:"structure"` 6737 6738 // The Amazon Resource Name (ARN) of the resource to get tags for. 6739 // 6740 // ResourceARN is a required field 6741 ResourceARN *string `min:"1" type:"string" required:"true"` 6742} 6743 6744// String returns the string representation. 6745// 6746// API parameter values that are decorated as "sensitive" in the API will not 6747// be included in the string output. The member name will be present, but the 6748// value will be replaced with "sensitive". 6749func (s ListTagsForResourceInput) String() string { 6750 return awsutil.Prettify(s) 6751} 6752 6753// GoString returns the string representation. 6754// 6755// API parameter values that are decorated as "sensitive" in the API will not 6756// be included in the string output. The member name will be present, but the 6757// value will be replaced with "sensitive". 6758func (s ListTagsForResourceInput) GoString() string { 6759 return s.String() 6760} 6761 6762// Validate inspects the fields of the type to determine if they are valid. 6763func (s *ListTagsForResourceInput) Validate() error { 6764 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 6765 if s.ResourceARN == nil { 6766 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 6767 } 6768 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 6769 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 6770 } 6771 6772 if invalidParams.Len() > 0 { 6773 return invalidParams 6774 } 6775 return nil 6776} 6777 6778// SetResourceARN sets the ResourceARN field's value. 6779func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { 6780 s.ResourceARN = &v 6781 return s 6782} 6783 6784type ListTagsForResourceOutput struct { 6785 _ struct{} `type:"structure"` 6786 6787 // A list of tag key and value pairs associated with the specified resource. 6788 Tags []*Tag `type:"list"` 6789} 6790 6791// String returns the string representation. 6792// 6793// API parameter values that are decorated as "sensitive" in the API will not 6794// be included in the string output. The member name will be present, but the 6795// value will be replaced with "sensitive". 6796func (s ListTagsForResourceOutput) String() string { 6797 return awsutil.Prettify(s) 6798} 6799 6800// GoString returns the string representation. 6801// 6802// API parameter values that are decorated as "sensitive" in the API will not 6803// be included in the string output. The member name will be present, but the 6804// value will be replaced with "sensitive". 6805func (s ListTagsForResourceOutput) GoString() string { 6806 return s.String() 6807} 6808 6809// SetTags sets the Tags field's value. 6810func (s *ListTagsForResourceOutput) SetTags(v []*Tag) *ListTagsForResourceOutput { 6811 s.Tags = v 6812 return s 6813} 6814 6815// You are trying to update a subscription that has not yet completed the 1-year 6816// commitment. You can change the AutoRenew parameter during the last 30 days 6817// of your subscription. This exception indicates that you are attempting to 6818// change AutoRenew prior to that period. 6819type LockedSubscriptionException struct { 6820 _ struct{} `type:"structure"` 6821 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6822 6823 Message_ *string `locationName:"message" type:"string"` 6824} 6825 6826// String returns the string representation. 6827// 6828// API parameter values that are decorated as "sensitive" in the API will not 6829// be included in the string output. The member name will be present, but the 6830// value will be replaced with "sensitive". 6831func (s LockedSubscriptionException) String() string { 6832 return awsutil.Prettify(s) 6833} 6834 6835// GoString returns the string representation. 6836// 6837// API parameter values that are decorated as "sensitive" in the API will not 6838// be included in the string output. The member name will be present, but the 6839// value will be replaced with "sensitive". 6840func (s LockedSubscriptionException) GoString() string { 6841 return s.String() 6842} 6843 6844func newErrorLockedSubscriptionException(v protocol.ResponseMetadata) error { 6845 return &LockedSubscriptionException{ 6846 RespMetadata: v, 6847 } 6848} 6849 6850// Code returns the exception type name. 6851func (s *LockedSubscriptionException) Code() string { 6852 return "LockedSubscriptionException" 6853} 6854 6855// Message returns the exception's message. 6856func (s *LockedSubscriptionException) Message() string { 6857 if s.Message_ != nil { 6858 return *s.Message_ 6859 } 6860 return "" 6861} 6862 6863// OrigErr always returns nil, satisfies awserr.Error interface. 6864func (s *LockedSubscriptionException) OrigErr() error { 6865 return nil 6866} 6867 6868func (s *LockedSubscriptionException) Error() string { 6869 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6870} 6871 6872// Status code returns the HTTP status code for the request's response error. 6873func (s *LockedSubscriptionException) StatusCode() int { 6874 return s.RespMetadata.StatusCode 6875} 6876 6877// RequestID returns the service's response RequestID for request. 6878func (s *LockedSubscriptionException) RequestID() string { 6879 return s.RespMetadata.RequestID 6880} 6881 6882// The mitigation applied to a DDoS attack. 6883type Mitigation struct { 6884 _ struct{} `type:"structure"` 6885 6886 // The name of the mitigation taken for this attack. 6887 MitigationName *string `type:"string"` 6888} 6889 6890// String returns the string representation. 6891// 6892// API parameter values that are decorated as "sensitive" in the API will not 6893// be included in the string output. The member name will be present, but the 6894// value will be replaced with "sensitive". 6895func (s Mitigation) String() string { 6896 return awsutil.Prettify(s) 6897} 6898 6899// GoString returns the string representation. 6900// 6901// API parameter values that are decorated as "sensitive" in the API will not 6902// be included in the string output. The member name will be present, but the 6903// value will be replaced with "sensitive". 6904func (s Mitigation) GoString() string { 6905 return s.String() 6906} 6907 6908// SetMitigationName sets the MitigationName field's value. 6909func (s *Mitigation) SetMitigationName(v string) *Mitigation { 6910 s.MitigationName = &v 6911 return s 6912} 6913 6914// The ARN of the role that you specifed does not exist. 6915type NoAssociatedRoleException struct { 6916 _ struct{} `type:"structure"` 6917 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6918 6919 Message_ *string `locationName:"message" type:"string"` 6920} 6921 6922// String returns the string representation. 6923// 6924// API parameter values that are decorated as "sensitive" in the API will not 6925// be included in the string output. The member name will be present, but the 6926// value will be replaced with "sensitive". 6927func (s NoAssociatedRoleException) String() string { 6928 return awsutil.Prettify(s) 6929} 6930 6931// GoString returns the string representation. 6932// 6933// API parameter values that are decorated as "sensitive" in the API will not 6934// be included in the string output. The member name will be present, but the 6935// value will be replaced with "sensitive". 6936func (s NoAssociatedRoleException) GoString() string { 6937 return s.String() 6938} 6939 6940func newErrorNoAssociatedRoleException(v protocol.ResponseMetadata) error { 6941 return &NoAssociatedRoleException{ 6942 RespMetadata: v, 6943 } 6944} 6945 6946// Code returns the exception type name. 6947func (s *NoAssociatedRoleException) Code() string { 6948 return "NoAssociatedRoleException" 6949} 6950 6951// Message returns the exception's message. 6952func (s *NoAssociatedRoleException) Message() string { 6953 if s.Message_ != nil { 6954 return *s.Message_ 6955 } 6956 return "" 6957} 6958 6959// OrigErr always returns nil, satisfies awserr.Error interface. 6960func (s *NoAssociatedRoleException) OrigErr() error { 6961 return nil 6962} 6963 6964func (s *NoAssociatedRoleException) Error() string { 6965 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6966} 6967 6968// Status code returns the HTTP status code for the request's response error. 6969func (s *NoAssociatedRoleException) StatusCode() int { 6970 return s.RespMetadata.StatusCode 6971} 6972 6973// RequestID returns the service's response RequestID for request. 6974func (s *NoAssociatedRoleException) RequestID() string { 6975 return s.RespMetadata.RequestID 6976} 6977 6978// Exception that indicates that the resource state has been modified by another 6979// client. Retrieve the resource and then retry your request. 6980type OptimisticLockException struct { 6981 _ struct{} `type:"structure"` 6982 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6983 6984 Message_ *string `locationName:"message" type:"string"` 6985} 6986 6987// String returns the string representation. 6988// 6989// API parameter values that are decorated as "sensitive" in the API will not 6990// be included in the string output. The member name will be present, but the 6991// value will be replaced with "sensitive". 6992func (s OptimisticLockException) String() string { 6993 return awsutil.Prettify(s) 6994} 6995 6996// GoString returns the string representation. 6997// 6998// API parameter values that are decorated as "sensitive" in the API will not 6999// be included in the string output. The member name will be present, but the 7000// value will be replaced with "sensitive". 7001func (s OptimisticLockException) GoString() string { 7002 return s.String() 7003} 7004 7005func newErrorOptimisticLockException(v protocol.ResponseMetadata) error { 7006 return &OptimisticLockException{ 7007 RespMetadata: v, 7008 } 7009} 7010 7011// Code returns the exception type name. 7012func (s *OptimisticLockException) Code() string { 7013 return "OptimisticLockException" 7014} 7015 7016// Message returns the exception's message. 7017func (s *OptimisticLockException) Message() string { 7018 if s.Message_ != nil { 7019 return *s.Message_ 7020 } 7021 return "" 7022} 7023 7024// OrigErr always returns nil, satisfies awserr.Error interface. 7025func (s *OptimisticLockException) OrigErr() error { 7026 return nil 7027} 7028 7029func (s *OptimisticLockException) Error() string { 7030 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 7031} 7032 7033// Status code returns the HTTP status code for the request's response error. 7034func (s *OptimisticLockException) StatusCode() int { 7035 return s.RespMetadata.StatusCode 7036} 7037 7038// RequestID returns the service's response RequestID for request. 7039func (s *OptimisticLockException) RequestID() string { 7040 return s.RespMetadata.RequestID 7041} 7042 7043// An object that represents a resource that is under DDoS protection. 7044type Protection struct { 7045 _ struct{} `type:"structure"` 7046 7047 // The unique identifier (ID) for the Route 53 health check that's associated 7048 // with the protection. 7049 HealthCheckIds []*string `type:"list"` 7050 7051 // The unique identifier (ID) of the protection. 7052 Id *string `min:"1" type:"string"` 7053 7054 // The name of the protection. For example, My CloudFront distributions. 7055 Name *string `min:"1" type:"string"` 7056 7057 // The ARN (Amazon Resource Name) of the protection. 7058 ProtectionArn *string `min:"1" type:"string"` 7059 7060 // The ARN (Amazon Resource Name) of the Amazon Web Services resource that is 7061 // protected. 7062 ResourceArn *string `min:"1" type:"string"` 7063} 7064 7065// String returns the string representation. 7066// 7067// API parameter values that are decorated as "sensitive" in the API will not 7068// be included in the string output. The member name will be present, but the 7069// value will be replaced with "sensitive". 7070func (s Protection) String() string { 7071 return awsutil.Prettify(s) 7072} 7073 7074// GoString returns the string representation. 7075// 7076// API parameter values that are decorated as "sensitive" in the API will not 7077// be included in the string output. The member name will be present, but the 7078// value will be replaced with "sensitive". 7079func (s Protection) GoString() string { 7080 return s.String() 7081} 7082 7083// SetHealthCheckIds sets the HealthCheckIds field's value. 7084func (s *Protection) SetHealthCheckIds(v []*string) *Protection { 7085 s.HealthCheckIds = v 7086 return s 7087} 7088 7089// SetId sets the Id field's value. 7090func (s *Protection) SetId(v string) *Protection { 7091 s.Id = &v 7092 return s 7093} 7094 7095// SetName sets the Name field's value. 7096func (s *Protection) SetName(v string) *Protection { 7097 s.Name = &v 7098 return s 7099} 7100 7101// SetProtectionArn sets the ProtectionArn field's value. 7102func (s *Protection) SetProtectionArn(v string) *Protection { 7103 s.ProtectionArn = &v 7104 return s 7105} 7106 7107// SetResourceArn sets the ResourceArn field's value. 7108func (s *Protection) SetResourceArn(v string) *Protection { 7109 s.ResourceArn = &v 7110 return s 7111} 7112 7113// A grouping of protected resources that you and Shield Advanced can monitor 7114// as a collective. This resource grouping improves the accuracy of detection 7115// and reduces false positives. 7116type ProtectionGroup struct { 7117 _ struct{} `type:"structure"` 7118 7119 // Defines how Shield combines resource data for the group in order to detect, 7120 // mitigate, and report events. 7121 // 7122 // * Sum - Use the total traffic across the group. This is a good choice 7123 // for most cases. Examples include Elastic IP addresses for EC2 instances 7124 // that scale manually or automatically. 7125 // 7126 // * Mean - Use the average of the traffic across the group. This is a good 7127 // choice for resources that share traffic uniformly. Examples include accelerators 7128 // and load balancers. 7129 // 7130 // * Max - Use the highest traffic from each resource. This is useful for 7131 // resources that don't share traffic and for resources that share that traffic 7132 // in a non-uniform way. Examples include Amazon CloudFront distributions 7133 // and origin resources for CloudFront distributions. 7134 // 7135 // Aggregation is a required field 7136 Aggregation *string `type:"string" required:"true" enum:"ProtectionGroupAggregation"` 7137 7138 // The Amazon Resource Names (ARNs) of the resources to include in the protection 7139 // group. You must set this when you set Pattern to ARBITRARY and you must not 7140 // set it for any other Pattern setting. 7141 // 7142 // Members is a required field 7143 Members []*string `type:"list" required:"true"` 7144 7145 // The criteria to use to choose the protected resources for inclusion in the 7146 // group. You can include all resources that have protections, provide a list 7147 // of resource Amazon Resource Names (ARNs), or include all resources of a specified 7148 // resource type. 7149 // 7150 // Pattern is a required field 7151 Pattern *string `type:"string" required:"true" enum:"ProtectionGroupPattern"` 7152 7153 // The ARN (Amazon Resource Name) of the protection group. 7154 ProtectionGroupArn *string `min:"1" type:"string"` 7155 7156 // The name of the protection group. You use this to identify the protection 7157 // group in lists and to manage the protection group, for example to update, 7158 // delete, or describe it. 7159 // 7160 // ProtectionGroupId is a required field 7161 ProtectionGroupId *string `min:"1" type:"string" required:"true"` 7162 7163 // The resource type to include in the protection group. All protected resources 7164 // of this type are included in the protection group. You must set this when 7165 // you set Pattern to BY_RESOURCE_TYPE and you must not set it for any other 7166 // Pattern setting. 7167 ResourceType *string `type:"string" enum:"ProtectedResourceType"` 7168} 7169 7170// String returns the string representation. 7171// 7172// API parameter values that are decorated as "sensitive" in the API will not 7173// be included in the string output. The member name will be present, but the 7174// value will be replaced with "sensitive". 7175func (s ProtectionGroup) String() string { 7176 return awsutil.Prettify(s) 7177} 7178 7179// GoString returns the string representation. 7180// 7181// API parameter values that are decorated as "sensitive" in the API will not 7182// be included in the string output. The member name will be present, but the 7183// value will be replaced with "sensitive". 7184func (s ProtectionGroup) GoString() string { 7185 return s.String() 7186} 7187 7188// SetAggregation sets the Aggregation field's value. 7189func (s *ProtectionGroup) SetAggregation(v string) *ProtectionGroup { 7190 s.Aggregation = &v 7191 return s 7192} 7193 7194// SetMembers sets the Members field's value. 7195func (s *ProtectionGroup) SetMembers(v []*string) *ProtectionGroup { 7196 s.Members = v 7197 return s 7198} 7199 7200// SetPattern sets the Pattern field's value. 7201func (s *ProtectionGroup) SetPattern(v string) *ProtectionGroup { 7202 s.Pattern = &v 7203 return s 7204} 7205 7206// SetProtectionGroupArn sets the ProtectionGroupArn field's value. 7207func (s *ProtectionGroup) SetProtectionGroupArn(v string) *ProtectionGroup { 7208 s.ProtectionGroupArn = &v 7209 return s 7210} 7211 7212// SetProtectionGroupId sets the ProtectionGroupId field's value. 7213func (s *ProtectionGroup) SetProtectionGroupId(v string) *ProtectionGroup { 7214 s.ProtectionGroupId = &v 7215 return s 7216} 7217 7218// SetResourceType sets the ResourceType field's value. 7219func (s *ProtectionGroup) SetResourceType(v string) *ProtectionGroup { 7220 s.ResourceType = &v 7221 return s 7222} 7223 7224// Limits settings on protection groups with arbitrary pattern type. 7225type ProtectionGroupArbitraryPatternLimits struct { 7226 _ struct{} `type:"structure"` 7227 7228 // The maximum number of resources you can specify for a single arbitrary pattern 7229 // in a protection group. 7230 // 7231 // MaxMembers is a required field 7232 MaxMembers *int64 `type:"long" required:"true"` 7233} 7234 7235// String returns the string representation. 7236// 7237// API parameter values that are decorated as "sensitive" in the API will not 7238// be included in the string output. The member name will be present, but the 7239// value will be replaced with "sensitive". 7240func (s ProtectionGroupArbitraryPatternLimits) String() string { 7241 return awsutil.Prettify(s) 7242} 7243 7244// GoString returns the string representation. 7245// 7246// API parameter values that are decorated as "sensitive" in the API will not 7247// be included in the string output. The member name will be present, but the 7248// value will be replaced with "sensitive". 7249func (s ProtectionGroupArbitraryPatternLimits) GoString() string { 7250 return s.String() 7251} 7252 7253// SetMaxMembers sets the MaxMembers field's value. 7254func (s *ProtectionGroupArbitraryPatternLimits) SetMaxMembers(v int64) *ProtectionGroupArbitraryPatternLimits { 7255 s.MaxMembers = &v 7256 return s 7257} 7258 7259// Limits settings on protection groups for your subscription. 7260type ProtectionGroupLimits struct { 7261 _ struct{} `type:"structure"` 7262 7263 // The maximum number of protection groups that you can have at one time. 7264 // 7265 // MaxProtectionGroups is a required field 7266 MaxProtectionGroups *int64 `type:"long" required:"true"` 7267 7268 // Limits settings by pattern type in the protection groups for your subscription. 7269 // 7270 // PatternTypeLimits is a required field 7271 PatternTypeLimits *ProtectionGroupPatternTypeLimits `type:"structure" required:"true"` 7272} 7273 7274// String returns the string representation. 7275// 7276// API parameter values that are decorated as "sensitive" in the API will not 7277// be included in the string output. The member name will be present, but the 7278// value will be replaced with "sensitive". 7279func (s ProtectionGroupLimits) String() string { 7280 return awsutil.Prettify(s) 7281} 7282 7283// GoString returns the string representation. 7284// 7285// API parameter values that are decorated as "sensitive" in the API will not 7286// be included in the string output. The member name will be present, but the 7287// value will be replaced with "sensitive". 7288func (s ProtectionGroupLimits) GoString() string { 7289 return s.String() 7290} 7291 7292// SetMaxProtectionGroups sets the MaxProtectionGroups field's value. 7293func (s *ProtectionGroupLimits) SetMaxProtectionGroups(v int64) *ProtectionGroupLimits { 7294 s.MaxProtectionGroups = &v 7295 return s 7296} 7297 7298// SetPatternTypeLimits sets the PatternTypeLimits field's value. 7299func (s *ProtectionGroupLimits) SetPatternTypeLimits(v *ProtectionGroupPatternTypeLimits) *ProtectionGroupLimits { 7300 s.PatternTypeLimits = v 7301 return s 7302} 7303 7304// Limits settings by pattern type in the protection groups for your subscription. 7305type ProtectionGroupPatternTypeLimits struct { 7306 _ struct{} `type:"structure"` 7307 7308 // Limits settings on protection groups with arbitrary pattern type. 7309 // 7310 // ArbitraryPatternLimits is a required field 7311 ArbitraryPatternLimits *ProtectionGroupArbitraryPatternLimits `type:"structure" required:"true"` 7312} 7313 7314// String returns the string representation. 7315// 7316// API parameter values that are decorated as "sensitive" in the API will not 7317// be included in the string output. The member name will be present, but the 7318// value will be replaced with "sensitive". 7319func (s ProtectionGroupPatternTypeLimits) String() string { 7320 return awsutil.Prettify(s) 7321} 7322 7323// GoString returns the string representation. 7324// 7325// API parameter values that are decorated as "sensitive" in the API will not 7326// be included in the string output. The member name will be present, but the 7327// value will be replaced with "sensitive". 7328func (s ProtectionGroupPatternTypeLimits) GoString() string { 7329 return s.String() 7330} 7331 7332// SetArbitraryPatternLimits sets the ArbitraryPatternLimits field's value. 7333func (s *ProtectionGroupPatternTypeLimits) SetArbitraryPatternLimits(v *ProtectionGroupArbitraryPatternLimits) *ProtectionGroupPatternTypeLimits { 7334 s.ArbitraryPatternLimits = v 7335 return s 7336} 7337 7338// Limits settings on protections for your subscription. 7339type ProtectionLimits struct { 7340 _ struct{} `type:"structure"` 7341 7342 // The maximum number of resource types that you can specify in a protection. 7343 // 7344 // ProtectedResourceTypeLimits is a required field 7345 ProtectedResourceTypeLimits []*Limit `type:"list" required:"true"` 7346} 7347 7348// String returns the string representation. 7349// 7350// API parameter values that are decorated as "sensitive" in the API will not 7351// be included in the string output. The member name will be present, but the 7352// value will be replaced with "sensitive". 7353func (s ProtectionLimits) String() string { 7354 return awsutil.Prettify(s) 7355} 7356 7357// GoString returns the string representation. 7358// 7359// API parameter values that are decorated as "sensitive" in the API will not 7360// be included in the string output. The member name will be present, but the 7361// value will be replaced with "sensitive". 7362func (s ProtectionLimits) GoString() string { 7363 return s.String() 7364} 7365 7366// SetProtectedResourceTypeLimits sets the ProtectedResourceTypeLimits field's value. 7367func (s *ProtectionLimits) SetProtectedResourceTypeLimits(v []*Limit) *ProtectionLimits { 7368 s.ProtectedResourceTypeLimits = v 7369 return s 7370} 7371 7372// Exception indicating the specified resource already exists. If available, 7373// this exception includes details in additional properties. 7374type ResourceAlreadyExistsException struct { 7375 _ struct{} `type:"structure"` 7376 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7377 7378 Message_ *string `locationName:"message" type:"string"` 7379 7380 // The type of resource that already exists. 7381 ResourceType *string `locationName:"resourceType" type:"string"` 7382} 7383 7384// String returns the string representation. 7385// 7386// API parameter values that are decorated as "sensitive" in the API will not 7387// be included in the string output. The member name will be present, but the 7388// value will be replaced with "sensitive". 7389func (s ResourceAlreadyExistsException) String() string { 7390 return awsutil.Prettify(s) 7391} 7392 7393// GoString returns the string representation. 7394// 7395// API parameter values that are decorated as "sensitive" in the API will not 7396// be included in the string output. The member name will be present, but the 7397// value will be replaced with "sensitive". 7398func (s ResourceAlreadyExistsException) GoString() string { 7399 return s.String() 7400} 7401 7402func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { 7403 return &ResourceAlreadyExistsException{ 7404 RespMetadata: v, 7405 } 7406} 7407 7408// Code returns the exception type name. 7409func (s *ResourceAlreadyExistsException) Code() string { 7410 return "ResourceAlreadyExistsException" 7411} 7412 7413// Message returns the exception's message. 7414func (s *ResourceAlreadyExistsException) Message() string { 7415 if s.Message_ != nil { 7416 return *s.Message_ 7417 } 7418 return "" 7419} 7420 7421// OrigErr always returns nil, satisfies awserr.Error interface. 7422func (s *ResourceAlreadyExistsException) OrigErr() error { 7423 return nil 7424} 7425 7426func (s *ResourceAlreadyExistsException) Error() string { 7427 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 7428} 7429 7430// Status code returns the HTTP status code for the request's response error. 7431func (s *ResourceAlreadyExistsException) StatusCode() int { 7432 return s.RespMetadata.StatusCode 7433} 7434 7435// RequestID returns the service's response RequestID for request. 7436func (s *ResourceAlreadyExistsException) RequestID() string { 7437 return s.RespMetadata.RequestID 7438} 7439 7440// Exception indicating the specified resource does not exist. If available, 7441// this exception includes details in additional properties. 7442type ResourceNotFoundException struct { 7443 _ struct{} `type:"structure"` 7444 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 7445 7446 Message_ *string `locationName:"message" type:"string"` 7447 7448 // Type of resource. 7449 ResourceType *string `locationName:"resourceType" type:"string"` 7450} 7451 7452// String returns the string representation. 7453// 7454// API parameter values that are decorated as "sensitive" in the API will not 7455// be included in the string output. The member name will be present, but the 7456// value will be replaced with "sensitive". 7457func (s ResourceNotFoundException) String() string { 7458 return awsutil.Prettify(s) 7459} 7460 7461// GoString returns the string representation. 7462// 7463// API parameter values that are decorated as "sensitive" in the API will not 7464// be included in the string output. The member name will be present, but the 7465// value will be replaced with "sensitive". 7466func (s ResourceNotFoundException) GoString() string { 7467 return s.String() 7468} 7469 7470func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 7471 return &ResourceNotFoundException{ 7472 RespMetadata: v, 7473 } 7474} 7475 7476// Code returns the exception type name. 7477func (s *ResourceNotFoundException) Code() string { 7478 return "ResourceNotFoundException" 7479} 7480 7481// Message returns the exception's message. 7482func (s *ResourceNotFoundException) Message() string { 7483 if s.Message_ != nil { 7484 return *s.Message_ 7485 } 7486 return "" 7487} 7488 7489// OrigErr always returns nil, satisfies awserr.Error interface. 7490func (s *ResourceNotFoundException) OrigErr() error { 7491 return nil 7492} 7493 7494func (s *ResourceNotFoundException) Error() string { 7495 return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String()) 7496} 7497 7498// Status code returns the HTTP status code for the request's response error. 7499func (s *ResourceNotFoundException) StatusCode() int { 7500 return s.RespMetadata.StatusCode 7501} 7502 7503// RequestID returns the service's response RequestID for request. 7504func (s *ResourceNotFoundException) RequestID() string { 7505 return s.RespMetadata.RequestID 7506} 7507 7508// The attack information for the specified SubResource. 7509type SubResourceSummary struct { 7510 _ struct{} `type:"structure"` 7511 7512 // The list of attack types and associated counters. 7513 AttackVectors []*SummarizedAttackVector `type:"list"` 7514 7515 // The counters that describe the details of the attack. 7516 Counters []*SummarizedCounter `type:"list"` 7517 7518 // The unique identifier (ID) of the SubResource. 7519 Id *string `type:"string"` 7520 7521 // The SubResource type. 7522 Type *string `type:"string" enum:"SubResourceType"` 7523} 7524 7525// String returns the string representation. 7526// 7527// API parameter values that are decorated as "sensitive" in the API will not 7528// be included in the string output. The member name will be present, but the 7529// value will be replaced with "sensitive". 7530func (s SubResourceSummary) String() string { 7531 return awsutil.Prettify(s) 7532} 7533 7534// GoString returns the string representation. 7535// 7536// API parameter values that are decorated as "sensitive" in the API will not 7537// be included in the string output. The member name will be present, but the 7538// value will be replaced with "sensitive". 7539func (s SubResourceSummary) GoString() string { 7540 return s.String() 7541} 7542 7543// SetAttackVectors sets the AttackVectors field's value. 7544func (s *SubResourceSummary) SetAttackVectors(v []*SummarizedAttackVector) *SubResourceSummary { 7545 s.AttackVectors = v 7546 return s 7547} 7548 7549// SetCounters sets the Counters field's value. 7550func (s *SubResourceSummary) SetCounters(v []*SummarizedCounter) *SubResourceSummary { 7551 s.Counters = v 7552 return s 7553} 7554 7555// SetId sets the Id field's value. 7556func (s *SubResourceSummary) SetId(v string) *SubResourceSummary { 7557 s.Id = &v 7558 return s 7559} 7560 7561// SetType sets the Type field's value. 7562func (s *SubResourceSummary) SetType(v string) *SubResourceSummary { 7563 s.Type = &v 7564 return s 7565} 7566 7567// Information about the Shield Advanced subscription for an account. 7568type Subscription struct { 7569 _ struct{} `type:"structure"` 7570 7571 // If ENABLED, the subscription will be automatically renewed at the end of 7572 // the existing subscription period. 7573 // 7574 // When you initally create a subscription, AutoRenew is set to ENABLED. You 7575 // can change this by submitting an UpdateSubscription request. If the UpdateSubscription 7576 // request does not included a value for AutoRenew, the existing value for AutoRenew 7577 // remains unchanged. 7578 AutoRenew *string `type:"string" enum:"AutoRenew"` 7579 7580 // The date and time your subscription will end. 7581 EndTime *time.Time `type:"timestamp"` 7582 7583 // Specifies how many protections of a given type you can create. 7584 Limits []*Limit `type:"list"` 7585 7586 // If ENABLED, the Shield Response Team (SRT) will use email and phone to notify 7587 // contacts about escalations to the SRT and to initiate proactive customer 7588 // support. 7589 // 7590 // If PENDING, you have requested proactive engagement and the request is pending. 7591 // The status changes to ENABLED when your request is fully processed. 7592 // 7593 // If DISABLED, the SRT will not proactively notify contacts about escalations 7594 // or to initiate proactive customer support. 7595 ProactiveEngagementStatus *string `type:"string" enum:"ProactiveEngagementStatus"` 7596 7597 // The start time of the subscription, in Unix time in seconds. For more information 7598 // see timestamp (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 7599 StartTime *time.Time `type:"timestamp"` 7600 7601 // The ARN (Amazon Resource Name) of the subscription. 7602 SubscriptionArn *string `min:"1" type:"string"` 7603 7604 // Limits settings for your subscription. 7605 // 7606 // SubscriptionLimits is a required field 7607 SubscriptionLimits *SubscriptionLimits `type:"structure" required:"true"` 7608 7609 // The length, in seconds, of the Shield Advanced subscription for the account. 7610 TimeCommitmentInSeconds *int64 `type:"long"` 7611} 7612 7613// String returns the string representation. 7614// 7615// API parameter values that are decorated as "sensitive" in the API will not 7616// be included in the string output. The member name will be present, but the 7617// value will be replaced with "sensitive". 7618func (s Subscription) String() string { 7619 return awsutil.Prettify(s) 7620} 7621 7622// GoString returns the string representation. 7623// 7624// API parameter values that are decorated as "sensitive" in the API will not 7625// be included in the string output. The member name will be present, but the 7626// value will be replaced with "sensitive". 7627func (s Subscription) GoString() string { 7628 return s.String() 7629} 7630 7631// SetAutoRenew sets the AutoRenew field's value. 7632func (s *Subscription) SetAutoRenew(v string) *Subscription { 7633 s.AutoRenew = &v 7634 return s 7635} 7636 7637// SetEndTime sets the EndTime field's value. 7638func (s *Subscription) SetEndTime(v time.Time) *Subscription { 7639 s.EndTime = &v 7640 return s 7641} 7642 7643// SetLimits sets the Limits field's value. 7644func (s *Subscription) SetLimits(v []*Limit) *Subscription { 7645 s.Limits = v 7646 return s 7647} 7648 7649// SetProactiveEngagementStatus sets the ProactiveEngagementStatus field's value. 7650func (s *Subscription) SetProactiveEngagementStatus(v string) *Subscription { 7651 s.ProactiveEngagementStatus = &v 7652 return s 7653} 7654 7655// SetStartTime sets the StartTime field's value. 7656func (s *Subscription) SetStartTime(v time.Time) *Subscription { 7657 s.StartTime = &v 7658 return s 7659} 7660 7661// SetSubscriptionArn sets the SubscriptionArn field's value. 7662func (s *Subscription) SetSubscriptionArn(v string) *Subscription { 7663 s.SubscriptionArn = &v 7664 return s 7665} 7666 7667// SetSubscriptionLimits sets the SubscriptionLimits field's value. 7668func (s *Subscription) SetSubscriptionLimits(v *SubscriptionLimits) *Subscription { 7669 s.SubscriptionLimits = v 7670 return s 7671} 7672 7673// SetTimeCommitmentInSeconds sets the TimeCommitmentInSeconds field's value. 7674func (s *Subscription) SetTimeCommitmentInSeconds(v int64) *Subscription { 7675 s.TimeCommitmentInSeconds = &v 7676 return s 7677} 7678 7679// Limits settings for your subscription. 7680type SubscriptionLimits struct { 7681 _ struct{} `type:"structure"` 7682 7683 // Limits settings on protection groups for your subscription. 7684 // 7685 // ProtectionGroupLimits is a required field 7686 ProtectionGroupLimits *ProtectionGroupLimits `type:"structure" required:"true"` 7687 7688 // Limits settings on protections for your subscription. 7689 // 7690 // ProtectionLimits is a required field 7691 ProtectionLimits *ProtectionLimits `type:"structure" required:"true"` 7692} 7693 7694// String returns the string representation. 7695// 7696// API parameter values that are decorated as "sensitive" in the API will not 7697// be included in the string output. The member name will be present, but the 7698// value will be replaced with "sensitive". 7699func (s SubscriptionLimits) String() string { 7700 return awsutil.Prettify(s) 7701} 7702 7703// GoString returns the string representation. 7704// 7705// API parameter values that are decorated as "sensitive" in the API will not 7706// be included in the string output. The member name will be present, but the 7707// value will be replaced with "sensitive". 7708func (s SubscriptionLimits) GoString() string { 7709 return s.String() 7710} 7711 7712// SetProtectionGroupLimits sets the ProtectionGroupLimits field's value. 7713func (s *SubscriptionLimits) SetProtectionGroupLimits(v *ProtectionGroupLimits) *SubscriptionLimits { 7714 s.ProtectionGroupLimits = v 7715 return s 7716} 7717 7718// SetProtectionLimits sets the ProtectionLimits field's value. 7719func (s *SubscriptionLimits) SetProtectionLimits(v *ProtectionLimits) *SubscriptionLimits { 7720 s.ProtectionLimits = v 7721 return s 7722} 7723 7724// A summary of information about the attack. 7725type SummarizedAttackVector struct { 7726 _ struct{} `type:"structure"` 7727 7728 // The list of counters that describe the details of the attack. 7729 VectorCounters []*SummarizedCounter `type:"list"` 7730 7731 // The attack type, for example, SNMP reflection or SYN flood. 7732 // 7733 // VectorType is a required field 7734 VectorType *string `type:"string" required:"true"` 7735} 7736 7737// String returns the string representation. 7738// 7739// API parameter values that are decorated as "sensitive" in the API will not 7740// be included in the string output. The member name will be present, but the 7741// value will be replaced with "sensitive". 7742func (s SummarizedAttackVector) String() string { 7743 return awsutil.Prettify(s) 7744} 7745 7746// GoString returns the string representation. 7747// 7748// API parameter values that are decorated as "sensitive" in the API will not 7749// be included in the string output. The member name will be present, but the 7750// value will be replaced with "sensitive". 7751func (s SummarizedAttackVector) GoString() string { 7752 return s.String() 7753} 7754 7755// SetVectorCounters sets the VectorCounters field's value. 7756func (s *SummarizedAttackVector) SetVectorCounters(v []*SummarizedCounter) *SummarizedAttackVector { 7757 s.VectorCounters = v 7758 return s 7759} 7760 7761// SetVectorType sets the VectorType field's value. 7762func (s *SummarizedAttackVector) SetVectorType(v string) *SummarizedAttackVector { 7763 s.VectorType = &v 7764 return s 7765} 7766 7767// The counter that describes a DDoS attack. 7768type SummarizedCounter struct { 7769 _ struct{} `type:"structure"` 7770 7771 // The average value of the counter for a specified time period. 7772 Average *float64 `type:"double"` 7773 7774 // The maximum value of the counter for a specified time period. 7775 Max *float64 `type:"double"` 7776 7777 // The number of counters for a specified time period. 7778 N *int64 `type:"integer"` 7779 7780 // The counter name. 7781 Name *string `type:"string"` 7782 7783 // The total of counter values for a specified time period. 7784 Sum *float64 `type:"double"` 7785 7786 // The unit of the counters. 7787 Unit *string `type:"string"` 7788} 7789 7790// String returns the string representation. 7791// 7792// API parameter values that are decorated as "sensitive" in the API will not 7793// be included in the string output. The member name will be present, but the 7794// value will be replaced with "sensitive". 7795func (s SummarizedCounter) String() string { 7796 return awsutil.Prettify(s) 7797} 7798 7799// GoString returns the string representation. 7800// 7801// API parameter values that are decorated as "sensitive" in the API will not 7802// be included in the string output. The member name will be present, but the 7803// value will be replaced with "sensitive". 7804func (s SummarizedCounter) GoString() string { 7805 return s.String() 7806} 7807 7808// SetAverage sets the Average field's value. 7809func (s *SummarizedCounter) SetAverage(v float64) *SummarizedCounter { 7810 s.Average = &v 7811 return s 7812} 7813 7814// SetMax sets the Max field's value. 7815func (s *SummarizedCounter) SetMax(v float64) *SummarizedCounter { 7816 s.Max = &v 7817 return s 7818} 7819 7820// SetN sets the N field's value. 7821func (s *SummarizedCounter) SetN(v int64) *SummarizedCounter { 7822 s.N = &v 7823 return s 7824} 7825 7826// SetName sets the Name field's value. 7827func (s *SummarizedCounter) SetName(v string) *SummarizedCounter { 7828 s.Name = &v 7829 return s 7830} 7831 7832// SetSum sets the Sum field's value. 7833func (s *SummarizedCounter) SetSum(v float64) *SummarizedCounter { 7834 s.Sum = &v 7835 return s 7836} 7837 7838// SetUnit sets the Unit field's value. 7839func (s *SummarizedCounter) SetUnit(v string) *SummarizedCounter { 7840 s.Unit = &v 7841 return s 7842} 7843 7844// A tag associated with an Amazon Web Services resource. Tags are key:value 7845// pairs that you can use to categorize and manage your resources, for purposes 7846// like billing or other management. Typically, the tag key represents a category, 7847// such as "environment", and the tag value represents a specific value within 7848// that category, such as "test," "development," or "production". Or you might 7849// set the tag key to "customer" and the value to the customer name or ID. You 7850// can specify one or more tags to add to each Amazon Web Services resource, 7851// up to 50 tags for a resource. 7852type Tag struct { 7853 _ struct{} `type:"structure"` 7854 7855 // Part of the key:value pair that defines a tag. You can use a tag key to describe 7856 // a category of information, such as "customer." Tag keys are case-sensitive. 7857 Key *string `min:"1" type:"string"` 7858 7859 // Part of the key:value pair that defines a tag. You can use a tag value to 7860 // describe a specific value within a category, such as "companyA" or "companyB." 7861 // Tag values are case-sensitive. 7862 Value *string `type:"string"` 7863} 7864 7865// String returns the string representation. 7866// 7867// API parameter values that are decorated as "sensitive" in the API will not 7868// be included in the string output. The member name will be present, but the 7869// value will be replaced with "sensitive". 7870func (s Tag) String() string { 7871 return awsutil.Prettify(s) 7872} 7873 7874// GoString returns the string representation. 7875// 7876// API parameter values that are decorated as "sensitive" in the API will not 7877// be included in the string output. The member name will be present, but the 7878// value will be replaced with "sensitive". 7879func (s Tag) GoString() string { 7880 return s.String() 7881} 7882 7883// Validate inspects the fields of the type to determine if they are valid. 7884func (s *Tag) Validate() error { 7885 invalidParams := request.ErrInvalidParams{Context: "Tag"} 7886 if s.Key != nil && len(*s.Key) < 1 { 7887 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7888 } 7889 7890 if invalidParams.Len() > 0 { 7891 return invalidParams 7892 } 7893 return nil 7894} 7895 7896// SetKey sets the Key field's value. 7897func (s *Tag) SetKey(v string) *Tag { 7898 s.Key = &v 7899 return s 7900} 7901 7902// SetValue sets the Value field's value. 7903func (s *Tag) SetValue(v string) *Tag { 7904 s.Value = &v 7905 return s 7906} 7907 7908type TagResourceInput struct { 7909 _ struct{} `type:"structure"` 7910 7911 // The Amazon Resource Name (ARN) of the resource that you want to add or update 7912 // tags for. 7913 // 7914 // ResourceARN is a required field 7915 ResourceARN *string `min:"1" type:"string" required:"true"` 7916 7917 // The tags that you want to modify or add to the resource. 7918 // 7919 // Tags is a required field 7920 Tags []*Tag `type:"list" required:"true"` 7921} 7922 7923// String returns the string representation. 7924// 7925// API parameter values that are decorated as "sensitive" in the API will not 7926// be included in the string output. The member name will be present, but the 7927// value will be replaced with "sensitive". 7928func (s TagResourceInput) String() string { 7929 return awsutil.Prettify(s) 7930} 7931 7932// GoString returns the string representation. 7933// 7934// API parameter values that are decorated as "sensitive" in the API will not 7935// be included in the string output. The member name will be present, but the 7936// value will be replaced with "sensitive". 7937func (s TagResourceInput) GoString() string { 7938 return s.String() 7939} 7940 7941// Validate inspects the fields of the type to determine if they are valid. 7942func (s *TagResourceInput) Validate() error { 7943 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 7944 if s.ResourceARN == nil { 7945 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 7946 } 7947 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 7948 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 7949 } 7950 if s.Tags == nil { 7951 invalidParams.Add(request.NewErrParamRequired("Tags")) 7952 } 7953 if s.Tags != nil { 7954 for i, v := range s.Tags { 7955 if v == nil { 7956 continue 7957 } 7958 if err := v.Validate(); err != nil { 7959 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Tags", i), err.(request.ErrInvalidParams)) 7960 } 7961 } 7962 } 7963 7964 if invalidParams.Len() > 0 { 7965 return invalidParams 7966 } 7967 return nil 7968} 7969 7970// SetResourceARN sets the ResourceARN field's value. 7971func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { 7972 s.ResourceARN = &v 7973 return s 7974} 7975 7976// SetTags sets the Tags field's value. 7977func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 7978 s.Tags = v 7979 return s 7980} 7981 7982type TagResourceOutput struct { 7983 _ struct{} `type:"structure"` 7984} 7985 7986// String returns the string representation. 7987// 7988// API parameter values that are decorated as "sensitive" in the API will not 7989// be included in the string output. The member name will be present, but the 7990// value will be replaced with "sensitive". 7991func (s TagResourceOutput) String() string { 7992 return awsutil.Prettify(s) 7993} 7994 7995// GoString returns the string representation. 7996// 7997// API parameter values that are decorated as "sensitive" in the API will not 7998// be included in the string output. The member name will be present, but the 7999// value will be replaced with "sensitive". 8000func (s TagResourceOutput) GoString() string { 8001 return s.String() 8002} 8003 8004// The time range. 8005type TimeRange struct { 8006 _ struct{} `type:"structure"` 8007 8008 // The start time, in Unix time in seconds. For more information see timestamp 8009 // (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 8010 FromInclusive *time.Time `type:"timestamp"` 8011 8012 // The end time, in Unix time in seconds. For more information see timestamp 8013 // (http://docs.aws.amazon.com/cli/latest/userguide/cli-using-param.html#parameter-types). 8014 ToExclusive *time.Time `type:"timestamp"` 8015} 8016 8017// String returns the string representation. 8018// 8019// API parameter values that are decorated as "sensitive" in the API will not 8020// be included in the string output. The member name will be present, but the 8021// value will be replaced with "sensitive". 8022func (s TimeRange) String() string { 8023 return awsutil.Prettify(s) 8024} 8025 8026// GoString returns the string representation. 8027// 8028// API parameter values that are decorated as "sensitive" in the API will not 8029// be included in the string output. The member name will be present, but the 8030// value will be replaced with "sensitive". 8031func (s TimeRange) GoString() string { 8032 return s.String() 8033} 8034 8035// SetFromInclusive sets the FromInclusive field's value. 8036func (s *TimeRange) SetFromInclusive(v time.Time) *TimeRange { 8037 s.FromInclusive = &v 8038 return s 8039} 8040 8041// SetToExclusive sets the ToExclusive field's value. 8042func (s *TimeRange) SetToExclusive(v time.Time) *TimeRange { 8043 s.ToExclusive = &v 8044 return s 8045} 8046 8047type UntagResourceInput struct { 8048 _ struct{} `type:"structure"` 8049 8050 // The Amazon Resource Name (ARN) of the resource that you want to remove tags 8051 // from. 8052 // 8053 // ResourceARN is a required field 8054 ResourceARN *string `min:"1" type:"string" required:"true"` 8055 8056 // The tag key for each tag that you want to remove from the resource. 8057 // 8058 // TagKeys is a required field 8059 TagKeys []*string `type:"list" required:"true"` 8060} 8061 8062// String returns the string representation. 8063// 8064// API parameter values that are decorated as "sensitive" in the API will not 8065// be included in the string output. The member name will be present, but the 8066// value will be replaced with "sensitive". 8067func (s UntagResourceInput) String() string { 8068 return awsutil.Prettify(s) 8069} 8070 8071// GoString returns the string representation. 8072// 8073// API parameter values that are decorated as "sensitive" in the API will not 8074// be included in the string output. The member name will be present, but the 8075// value will be replaced with "sensitive". 8076func (s UntagResourceInput) GoString() string { 8077 return s.String() 8078} 8079 8080// Validate inspects the fields of the type to determine if they are valid. 8081func (s *UntagResourceInput) Validate() error { 8082 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 8083 if s.ResourceARN == nil { 8084 invalidParams.Add(request.NewErrParamRequired("ResourceARN")) 8085 } 8086 if s.ResourceARN != nil && len(*s.ResourceARN) < 1 { 8087 invalidParams.Add(request.NewErrParamMinLen("ResourceARN", 1)) 8088 } 8089 if s.TagKeys == nil { 8090 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 8091 } 8092 8093 if invalidParams.Len() > 0 { 8094 return invalidParams 8095 } 8096 return nil 8097} 8098 8099// SetResourceARN sets the ResourceARN field's value. 8100func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { 8101 s.ResourceARN = &v 8102 return s 8103} 8104 8105// SetTagKeys sets the TagKeys field's value. 8106func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 8107 s.TagKeys = v 8108 return s 8109} 8110 8111type UntagResourceOutput struct { 8112 _ struct{} `type:"structure"` 8113} 8114 8115// String returns the string representation. 8116// 8117// API parameter values that are decorated as "sensitive" in the API will not 8118// be included in the string output. The member name will be present, but the 8119// value will be replaced with "sensitive". 8120func (s UntagResourceOutput) String() string { 8121 return awsutil.Prettify(s) 8122} 8123 8124// GoString returns the string representation. 8125// 8126// API parameter values that are decorated as "sensitive" in the API will not 8127// be included in the string output. The member name will be present, but the 8128// value will be replaced with "sensitive". 8129func (s UntagResourceOutput) GoString() string { 8130 return s.String() 8131} 8132 8133type UpdateEmergencyContactSettingsInput struct { 8134 _ struct{} `type:"structure"` 8135 8136 // A list of email addresses and phone numbers that the Shield Response Team 8137 // (SRT) can use to contact you if you have proactive engagement enabled, for 8138 // escalations to the SRT and to initiate proactive customer support. 8139 // 8140 // If you have proactive engagement enabled, the contact list must include at 8141 // least one phone number. 8142 EmergencyContactList []*EmergencyContact `type:"list"` 8143} 8144 8145// String returns the string representation. 8146// 8147// API parameter values that are decorated as "sensitive" in the API will not 8148// be included in the string output. The member name will be present, but the 8149// value will be replaced with "sensitive". 8150func (s UpdateEmergencyContactSettingsInput) String() string { 8151 return awsutil.Prettify(s) 8152} 8153 8154// GoString returns the string representation. 8155// 8156// API parameter values that are decorated as "sensitive" in the API will not 8157// be included in the string output. The member name will be present, but the 8158// value will be replaced with "sensitive". 8159func (s UpdateEmergencyContactSettingsInput) GoString() string { 8160 return s.String() 8161} 8162 8163// Validate inspects the fields of the type to determine if they are valid. 8164func (s *UpdateEmergencyContactSettingsInput) Validate() error { 8165 invalidParams := request.ErrInvalidParams{Context: "UpdateEmergencyContactSettingsInput"} 8166 if s.EmergencyContactList != nil { 8167 for i, v := range s.EmergencyContactList { 8168 if v == nil { 8169 continue 8170 } 8171 if err := v.Validate(); err != nil { 8172 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "EmergencyContactList", i), err.(request.ErrInvalidParams)) 8173 } 8174 } 8175 } 8176 8177 if invalidParams.Len() > 0 { 8178 return invalidParams 8179 } 8180 return nil 8181} 8182 8183// SetEmergencyContactList sets the EmergencyContactList field's value. 8184func (s *UpdateEmergencyContactSettingsInput) SetEmergencyContactList(v []*EmergencyContact) *UpdateEmergencyContactSettingsInput { 8185 s.EmergencyContactList = v 8186 return s 8187} 8188 8189type UpdateEmergencyContactSettingsOutput struct { 8190 _ struct{} `type:"structure"` 8191} 8192 8193// String returns the string representation. 8194// 8195// API parameter values that are decorated as "sensitive" in the API will not 8196// be included in the string output. The member name will be present, but the 8197// value will be replaced with "sensitive". 8198func (s UpdateEmergencyContactSettingsOutput) String() string { 8199 return awsutil.Prettify(s) 8200} 8201 8202// GoString returns the string representation. 8203// 8204// API parameter values that are decorated as "sensitive" in the API will not 8205// be included in the string output. The member name will be present, but the 8206// value will be replaced with "sensitive". 8207func (s UpdateEmergencyContactSettingsOutput) GoString() string { 8208 return s.String() 8209} 8210 8211type UpdateProtectionGroupInput struct { 8212 _ struct{} `type:"structure"` 8213 8214 // Defines how Shield combines resource data for the group in order to detect, 8215 // mitigate, and report events. 8216 // 8217 // * Sum - Use the total traffic across the group. This is a good choice 8218 // for most cases. Examples include Elastic IP addresses for EC2 instances 8219 // that scale manually or automatically. 8220 // 8221 // * Mean - Use the average of the traffic across the group. This is a good 8222 // choice for resources that share traffic uniformly. Examples include accelerators 8223 // and load balancers. 8224 // 8225 // * Max - Use the highest traffic from each resource. This is useful for 8226 // resources that don't share traffic and for resources that share that traffic 8227 // in a non-uniform way. Examples include Amazon CloudFront distributions 8228 // and origin resources for CloudFront distributions. 8229 // 8230 // Aggregation is a required field 8231 Aggregation *string `type:"string" required:"true" enum:"ProtectionGroupAggregation"` 8232 8233 // The Amazon Resource Names (ARNs) of the resources to include in the protection 8234 // group. You must set this when you set Pattern to ARBITRARY and you must not 8235 // set it for any other Pattern setting. 8236 Members []*string `type:"list"` 8237 8238 // The criteria to use to choose the protected resources for inclusion in the 8239 // group. You can include all resources that have protections, provide a list 8240 // of resource Amazon Resource Names (ARNs), or include all resources of a specified 8241 // resource type. 8242 // 8243 // Pattern is a required field 8244 Pattern *string `type:"string" required:"true" enum:"ProtectionGroupPattern"` 8245 8246 // The name of the protection group. You use this to identify the protection 8247 // group in lists and to manage the protection group, for example to update, 8248 // delete, or describe it. 8249 // 8250 // ProtectionGroupId is a required field 8251 ProtectionGroupId *string `min:"1" type:"string" required:"true"` 8252 8253 // The resource type to include in the protection group. All protected resources 8254 // of this type are included in the protection group. You must set this when 8255 // you set Pattern to BY_RESOURCE_TYPE and you must not set it for any other 8256 // Pattern setting. 8257 ResourceType *string `type:"string" enum:"ProtectedResourceType"` 8258} 8259 8260// String returns the string representation. 8261// 8262// API parameter values that are decorated as "sensitive" in the API will not 8263// be included in the string output. The member name will be present, but the 8264// value will be replaced with "sensitive". 8265func (s UpdateProtectionGroupInput) String() string { 8266 return awsutil.Prettify(s) 8267} 8268 8269// GoString returns the string representation. 8270// 8271// API parameter values that are decorated as "sensitive" in the API will not 8272// be included in the string output. The member name will be present, but the 8273// value will be replaced with "sensitive". 8274func (s UpdateProtectionGroupInput) GoString() string { 8275 return s.String() 8276} 8277 8278// Validate inspects the fields of the type to determine if they are valid. 8279func (s *UpdateProtectionGroupInput) Validate() error { 8280 invalidParams := request.ErrInvalidParams{Context: "UpdateProtectionGroupInput"} 8281 if s.Aggregation == nil { 8282 invalidParams.Add(request.NewErrParamRequired("Aggregation")) 8283 } 8284 if s.Pattern == nil { 8285 invalidParams.Add(request.NewErrParamRequired("Pattern")) 8286 } 8287 if s.ProtectionGroupId == nil { 8288 invalidParams.Add(request.NewErrParamRequired("ProtectionGroupId")) 8289 } 8290 if s.ProtectionGroupId != nil && len(*s.ProtectionGroupId) < 1 { 8291 invalidParams.Add(request.NewErrParamMinLen("ProtectionGroupId", 1)) 8292 } 8293 8294 if invalidParams.Len() > 0 { 8295 return invalidParams 8296 } 8297 return nil 8298} 8299 8300// SetAggregation sets the Aggregation field's value. 8301func (s *UpdateProtectionGroupInput) SetAggregation(v string) *UpdateProtectionGroupInput { 8302 s.Aggregation = &v 8303 return s 8304} 8305 8306// SetMembers sets the Members field's value. 8307func (s *UpdateProtectionGroupInput) SetMembers(v []*string) *UpdateProtectionGroupInput { 8308 s.Members = v 8309 return s 8310} 8311 8312// SetPattern sets the Pattern field's value. 8313func (s *UpdateProtectionGroupInput) SetPattern(v string) *UpdateProtectionGroupInput { 8314 s.Pattern = &v 8315 return s 8316} 8317 8318// SetProtectionGroupId sets the ProtectionGroupId field's value. 8319func (s *UpdateProtectionGroupInput) SetProtectionGroupId(v string) *UpdateProtectionGroupInput { 8320 s.ProtectionGroupId = &v 8321 return s 8322} 8323 8324// SetResourceType sets the ResourceType field's value. 8325func (s *UpdateProtectionGroupInput) SetResourceType(v string) *UpdateProtectionGroupInput { 8326 s.ResourceType = &v 8327 return s 8328} 8329 8330type UpdateProtectionGroupOutput struct { 8331 _ struct{} `type:"structure"` 8332} 8333 8334// String returns the string representation. 8335// 8336// API parameter values that are decorated as "sensitive" in the API will not 8337// be included in the string output. The member name will be present, but the 8338// value will be replaced with "sensitive". 8339func (s UpdateProtectionGroupOutput) String() string { 8340 return awsutil.Prettify(s) 8341} 8342 8343// GoString returns the string representation. 8344// 8345// API parameter values that are decorated as "sensitive" in the API will not 8346// be included in the string output. The member name will be present, but the 8347// value will be replaced with "sensitive". 8348func (s UpdateProtectionGroupOutput) GoString() string { 8349 return s.String() 8350} 8351 8352type UpdateSubscriptionInput struct { 8353 _ struct{} `type:"structure"` 8354 8355 // When you initally create a subscription, AutoRenew is set to ENABLED. If 8356 // ENABLED, the subscription will be automatically renewed at the end of the 8357 // existing subscription period. You can change this by submitting an UpdateSubscription 8358 // request. If the UpdateSubscription request does not included a value for 8359 // AutoRenew, the existing value for AutoRenew remains unchanged. 8360 AutoRenew *string `type:"string" enum:"AutoRenew"` 8361} 8362 8363// String returns the string representation. 8364// 8365// API parameter values that are decorated as "sensitive" in the API will not 8366// be included in the string output. The member name will be present, but the 8367// value will be replaced with "sensitive". 8368func (s UpdateSubscriptionInput) String() string { 8369 return awsutil.Prettify(s) 8370} 8371 8372// GoString returns the string representation. 8373// 8374// API parameter values that are decorated as "sensitive" in the API will not 8375// be included in the string output. The member name will be present, but the 8376// value will be replaced with "sensitive". 8377func (s UpdateSubscriptionInput) GoString() string { 8378 return s.String() 8379} 8380 8381// SetAutoRenew sets the AutoRenew field's value. 8382func (s *UpdateSubscriptionInput) SetAutoRenew(v string) *UpdateSubscriptionInput { 8383 s.AutoRenew = &v 8384 return s 8385} 8386 8387type UpdateSubscriptionOutput struct { 8388 _ struct{} `type:"structure"` 8389} 8390 8391// String returns the string representation. 8392// 8393// API parameter values that are decorated as "sensitive" in the API will not 8394// be included in the string output. The member name will be present, but the 8395// value will be replaced with "sensitive". 8396func (s UpdateSubscriptionOutput) String() string { 8397 return awsutil.Prettify(s) 8398} 8399 8400// GoString returns the string representation. 8401// 8402// API parameter values that are decorated as "sensitive" in the API will not 8403// be included in the string output. The member name will be present, but the 8404// value will be replaced with "sensitive". 8405func (s UpdateSubscriptionOutput) GoString() string { 8406 return s.String() 8407} 8408 8409// Provides information about a particular parameter passed inside a request 8410// that resulted in an exception. 8411type ValidationExceptionField struct { 8412 _ struct{} `type:"structure"` 8413 8414 // The message describing why the parameter failed validation. 8415 // 8416 // Message is a required field 8417 Message *string `locationName:"message" type:"string" required:"true"` 8418 8419 // The name of the parameter that failed validation. 8420 // 8421 // Name is a required field 8422 Name *string `locationName:"name" type:"string" required:"true"` 8423} 8424 8425// String returns the string representation. 8426// 8427// API parameter values that are decorated as "sensitive" in the API will not 8428// be included in the string output. The member name will be present, but the 8429// value will be replaced with "sensitive". 8430func (s ValidationExceptionField) String() string { 8431 return awsutil.Prettify(s) 8432} 8433 8434// GoString returns the string representation. 8435// 8436// API parameter values that are decorated as "sensitive" in the API will not 8437// be included in the string output. The member name will be present, but the 8438// value will be replaced with "sensitive". 8439func (s ValidationExceptionField) GoString() string { 8440 return s.String() 8441} 8442 8443// SetMessage sets the Message field's value. 8444func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { 8445 s.Message = &v 8446 return s 8447} 8448 8449// SetName sets the Name field's value. 8450func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { 8451 s.Name = &v 8452 return s 8453} 8454 8455const ( 8456 // AttackLayerNetwork is a AttackLayer enum value 8457 AttackLayerNetwork = "NETWORK" 8458 8459 // AttackLayerApplication is a AttackLayer enum value 8460 AttackLayerApplication = "APPLICATION" 8461) 8462 8463// AttackLayer_Values returns all elements of the AttackLayer enum 8464func AttackLayer_Values() []string { 8465 return []string{ 8466 AttackLayerNetwork, 8467 AttackLayerApplication, 8468 } 8469} 8470 8471const ( 8472 // AttackPropertyIdentifierDestinationUrl is a AttackPropertyIdentifier enum value 8473 AttackPropertyIdentifierDestinationUrl = "DESTINATION_URL" 8474 8475 // AttackPropertyIdentifierReferrer is a AttackPropertyIdentifier enum value 8476 AttackPropertyIdentifierReferrer = "REFERRER" 8477 8478 // AttackPropertyIdentifierSourceAsn is a AttackPropertyIdentifier enum value 8479 AttackPropertyIdentifierSourceAsn = "SOURCE_ASN" 8480 8481 // AttackPropertyIdentifierSourceCountry is a AttackPropertyIdentifier enum value 8482 AttackPropertyIdentifierSourceCountry = "SOURCE_COUNTRY" 8483 8484 // AttackPropertyIdentifierSourceIpAddress is a AttackPropertyIdentifier enum value 8485 AttackPropertyIdentifierSourceIpAddress = "SOURCE_IP_ADDRESS" 8486 8487 // AttackPropertyIdentifierSourceUserAgent is a AttackPropertyIdentifier enum value 8488 AttackPropertyIdentifierSourceUserAgent = "SOURCE_USER_AGENT" 8489 8490 // AttackPropertyIdentifierWordpressPingbackReflector is a AttackPropertyIdentifier enum value 8491 AttackPropertyIdentifierWordpressPingbackReflector = "WORDPRESS_PINGBACK_REFLECTOR" 8492 8493 // AttackPropertyIdentifierWordpressPingbackSource is a AttackPropertyIdentifier enum value 8494 AttackPropertyIdentifierWordpressPingbackSource = "WORDPRESS_PINGBACK_SOURCE" 8495) 8496 8497// AttackPropertyIdentifier_Values returns all elements of the AttackPropertyIdentifier enum 8498func AttackPropertyIdentifier_Values() []string { 8499 return []string{ 8500 AttackPropertyIdentifierDestinationUrl, 8501 AttackPropertyIdentifierReferrer, 8502 AttackPropertyIdentifierSourceAsn, 8503 AttackPropertyIdentifierSourceCountry, 8504 AttackPropertyIdentifierSourceIpAddress, 8505 AttackPropertyIdentifierSourceUserAgent, 8506 AttackPropertyIdentifierWordpressPingbackReflector, 8507 AttackPropertyIdentifierWordpressPingbackSource, 8508 } 8509} 8510 8511const ( 8512 // AutoRenewEnabled is a AutoRenew enum value 8513 AutoRenewEnabled = "ENABLED" 8514 8515 // AutoRenewDisabled is a AutoRenew enum value 8516 AutoRenewDisabled = "DISABLED" 8517) 8518 8519// AutoRenew_Values returns all elements of the AutoRenew enum 8520func AutoRenew_Values() []string { 8521 return []string{ 8522 AutoRenewEnabled, 8523 AutoRenewDisabled, 8524 } 8525} 8526 8527const ( 8528 // ProactiveEngagementStatusEnabled is a ProactiveEngagementStatus enum value 8529 ProactiveEngagementStatusEnabled = "ENABLED" 8530 8531 // ProactiveEngagementStatusDisabled is a ProactiveEngagementStatus enum value 8532 ProactiveEngagementStatusDisabled = "DISABLED" 8533 8534 // ProactiveEngagementStatusPending is a ProactiveEngagementStatus enum value 8535 ProactiveEngagementStatusPending = "PENDING" 8536) 8537 8538// ProactiveEngagementStatus_Values returns all elements of the ProactiveEngagementStatus enum 8539func ProactiveEngagementStatus_Values() []string { 8540 return []string{ 8541 ProactiveEngagementStatusEnabled, 8542 ProactiveEngagementStatusDisabled, 8543 ProactiveEngagementStatusPending, 8544 } 8545} 8546 8547const ( 8548 // ProtectedResourceTypeCloudfrontDistribution is a ProtectedResourceType enum value 8549 ProtectedResourceTypeCloudfrontDistribution = "CLOUDFRONT_DISTRIBUTION" 8550 8551 // ProtectedResourceTypeRoute53HostedZone is a ProtectedResourceType enum value 8552 ProtectedResourceTypeRoute53HostedZone = "ROUTE_53_HOSTED_ZONE" 8553 8554 // ProtectedResourceTypeElasticIpAllocation is a ProtectedResourceType enum value 8555 ProtectedResourceTypeElasticIpAllocation = "ELASTIC_IP_ALLOCATION" 8556 8557 // ProtectedResourceTypeClassicLoadBalancer is a ProtectedResourceType enum value 8558 ProtectedResourceTypeClassicLoadBalancer = "CLASSIC_LOAD_BALANCER" 8559 8560 // ProtectedResourceTypeApplicationLoadBalancer is a ProtectedResourceType enum value 8561 ProtectedResourceTypeApplicationLoadBalancer = "APPLICATION_LOAD_BALANCER" 8562 8563 // ProtectedResourceTypeGlobalAccelerator is a ProtectedResourceType enum value 8564 ProtectedResourceTypeGlobalAccelerator = "GLOBAL_ACCELERATOR" 8565) 8566 8567// ProtectedResourceType_Values returns all elements of the ProtectedResourceType enum 8568func ProtectedResourceType_Values() []string { 8569 return []string{ 8570 ProtectedResourceTypeCloudfrontDistribution, 8571 ProtectedResourceTypeRoute53HostedZone, 8572 ProtectedResourceTypeElasticIpAllocation, 8573 ProtectedResourceTypeClassicLoadBalancer, 8574 ProtectedResourceTypeApplicationLoadBalancer, 8575 ProtectedResourceTypeGlobalAccelerator, 8576 } 8577} 8578 8579const ( 8580 // ProtectionGroupAggregationSum is a ProtectionGroupAggregation enum value 8581 ProtectionGroupAggregationSum = "SUM" 8582 8583 // ProtectionGroupAggregationMean is a ProtectionGroupAggregation enum value 8584 ProtectionGroupAggregationMean = "MEAN" 8585 8586 // ProtectionGroupAggregationMax is a ProtectionGroupAggregation enum value 8587 ProtectionGroupAggregationMax = "MAX" 8588) 8589 8590// ProtectionGroupAggregation_Values returns all elements of the ProtectionGroupAggregation enum 8591func ProtectionGroupAggregation_Values() []string { 8592 return []string{ 8593 ProtectionGroupAggregationSum, 8594 ProtectionGroupAggregationMean, 8595 ProtectionGroupAggregationMax, 8596 } 8597} 8598 8599const ( 8600 // ProtectionGroupPatternAll is a ProtectionGroupPattern enum value 8601 ProtectionGroupPatternAll = "ALL" 8602 8603 // ProtectionGroupPatternArbitrary is a ProtectionGroupPattern enum value 8604 ProtectionGroupPatternArbitrary = "ARBITRARY" 8605 8606 // ProtectionGroupPatternByResourceType is a ProtectionGroupPattern enum value 8607 ProtectionGroupPatternByResourceType = "BY_RESOURCE_TYPE" 8608) 8609 8610// ProtectionGroupPattern_Values returns all elements of the ProtectionGroupPattern enum 8611func ProtectionGroupPattern_Values() []string { 8612 return []string{ 8613 ProtectionGroupPatternAll, 8614 ProtectionGroupPatternArbitrary, 8615 ProtectionGroupPatternByResourceType, 8616 } 8617} 8618 8619const ( 8620 // SubResourceTypeIp is a SubResourceType enum value 8621 SubResourceTypeIp = "IP" 8622 8623 // SubResourceTypeUrl is a SubResourceType enum value 8624 SubResourceTypeUrl = "URL" 8625) 8626 8627// SubResourceType_Values returns all elements of the SubResourceType enum 8628func SubResourceType_Values() []string { 8629 return []string{ 8630 SubResourceTypeIp, 8631 SubResourceTypeUrl, 8632 } 8633} 8634 8635const ( 8636 // SubscriptionStateActive is a SubscriptionState enum value 8637 SubscriptionStateActive = "ACTIVE" 8638 8639 // SubscriptionStateInactive is a SubscriptionState enum value 8640 SubscriptionStateInactive = "INACTIVE" 8641) 8642 8643// SubscriptionState_Values returns all elements of the SubscriptionState enum 8644func SubscriptionState_Values() []string { 8645 return []string{ 8646 SubscriptionStateActive, 8647 SubscriptionStateInactive, 8648 } 8649} 8650 8651const ( 8652 // UnitBits is a Unit enum value 8653 UnitBits = "BITS" 8654 8655 // UnitBytes is a Unit enum value 8656 UnitBytes = "BYTES" 8657 8658 // UnitPackets is a Unit enum value 8659 UnitPackets = "PACKETS" 8660 8661 // UnitRequests is a Unit enum value 8662 UnitRequests = "REQUESTS" 8663) 8664 8665// Unit_Values returns all elements of the Unit enum 8666func Unit_Values() []string { 8667 return []string{ 8668 UnitBits, 8669 UnitBytes, 8670 UnitPackets, 8671 UnitRequests, 8672 } 8673} 8674 8675const ( 8676 // ValidationExceptionReasonFieldValidationFailed is a ValidationExceptionReason enum value 8677 ValidationExceptionReasonFieldValidationFailed = "FIELD_VALIDATION_FAILED" 8678 8679 // ValidationExceptionReasonOther is a ValidationExceptionReason enum value 8680 ValidationExceptionReasonOther = "OTHER" 8681) 8682 8683// ValidationExceptionReason_Values returns all elements of the ValidationExceptionReason enum 8684func ValidationExceptionReason_Values() []string { 8685 return []string{ 8686 ValidationExceptionReasonFieldValidationFailed, 8687 ValidationExceptionReasonOther, 8688 } 8689} 8690