github.com/aavshr/aws-sdk-go@v1.41.3/service/shield/api.go (about) 1 // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3 package shield 4 5 import ( 6 "fmt" 7 "time" 8 9 "github.com/aavshr/aws-sdk-go/aws" 10 "github.com/aavshr/aws-sdk-go/aws/awsutil" 11 "github.com/aavshr/aws-sdk-go/aws/request" 12 "github.com/aavshr/aws-sdk-go/private/protocol" 13 "github.com/aavshr/aws-sdk-go/private/protocol/jsonrpc" 14 ) 15 16 const 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 42 func (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 112 func (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. 126 func (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 133 const 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 159 func (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 243 func (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. 257 func (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 264 const 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 290 func (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 347 func (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. 361 func (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 368 const 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 394 func (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 459 func (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. 473 func (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 480 const 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 506 func (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 576 func (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. 590 func (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 597 const 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 623 func (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 678 func (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. 692 func (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 699 const 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 725 func (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 767 func (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. 781 func (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 788 const 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 814 func (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 856 func (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. 870 func (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 877 const 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 903 func (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 945 func (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. 959 func (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 966 const 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 994 func (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 1045 func (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 1061 func (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 1068 const 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 1094 func (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 1131 func (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. 1145 func (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 1152 const 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 1178 func (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 1222 func (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. 1236 func (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 1243 const 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 1269 func (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 1308 func (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. 1322 func (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 1329 const 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 1355 func (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 1394 func (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. 1408 func (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 1415 const 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 1441 func (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 1482 func (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. 1496 func (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 1503 const 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 1529 func (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 1566 func (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. 1580 func (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 1587 const 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 1613 func (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 1650 func (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. 1664 func (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 1671 const 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 1697 func (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 1748 func (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. 1762 func (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 1769 const 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 1795 func (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 1859 func (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. 1873 func (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 1880 const 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 1906 func (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 1960 func (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. 1974 func (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 1981 const 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 2007 func (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 2061 func (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. 2075 func (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 2082 const 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 2108 func (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 2160 func (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. 2174 func (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 2181 const 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 2207 func (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 2240 func (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. 2254 func (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 2261 const 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 2287 func (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 2335 func (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. 2349 func (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 // 2373 func (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. 2384 func (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 2408 const 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 2434 func (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 2481 func (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. 2495 func (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 // 2519 func (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. 2530 func (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 2554 const 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 2580 func (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 2627 func (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. 2641 func (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 // 2665 func (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. 2676 func (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 2700 const 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 2726 func (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 2773 func (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. 2787 func (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 // 2811 func (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. 2822 func (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 2846 const 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 2872 func (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 2914 func (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. 2928 func (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 2935 const 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 2961 func (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 3007 func (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. 3021 func (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 3028 const 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 3054 func (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 3100 func (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. 3114 func (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 3121 const 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 3147 func (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 3196 func (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. 3210 func (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 3217 const 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 3243 func (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 3291 func (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. 3305 func (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 3312 const 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 3338 func (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 3391 func (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. 3405 func (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. 3414 type 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". 3426 func (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". 3435 func (s AccessDeniedException) GoString() string { 3436 return s.String() 3437 } 3438 3439 func newErrorAccessDeniedException(v protocol.ResponseMetadata) error { 3440 return &AccessDeniedException{ 3441 RespMetadata: v, 3442 } 3443 } 3444 3445 // Code returns the exception type name. 3446 func (s *AccessDeniedException) Code() string { 3447 return "AccessDeniedException" 3448 } 3449 3450 // Message returns the exception's message. 3451 func (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. 3459 func (s *AccessDeniedException) OrigErr() error { 3460 return nil 3461 } 3462 3463 func (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. 3468 func (s *AccessDeniedException) StatusCode() int { 3469 return s.RespMetadata.StatusCode 3470 } 3471 3472 // RequestID returns the service's response RequestID for request. 3473 func (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). 3482 type 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". 3494 func (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". 3503 func (s AccessDeniedForDependencyException) GoString() string { 3504 return s.String() 3505 } 3506 3507 func newErrorAccessDeniedForDependencyException(v protocol.ResponseMetadata) error { 3508 return &AccessDeniedForDependencyException{ 3509 RespMetadata: v, 3510 } 3511 } 3512 3513 // Code returns the exception type name. 3514 func (s *AccessDeniedForDependencyException) Code() string { 3515 return "AccessDeniedForDependencyException" 3516 } 3517 3518 // Message returns the exception's message. 3519 func (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. 3527 func (s *AccessDeniedForDependencyException) OrigErr() error { 3528 return nil 3529 } 3530 3531 func (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. 3536 func (s *AccessDeniedForDependencyException) StatusCode() int { 3537 return s.RespMetadata.StatusCode 3538 } 3539 3540 // RequestID returns the service's response RequestID for request. 3541 func (s *AccessDeniedForDependencyException) RequestID() string { 3542 return s.RespMetadata.RequestID 3543 } 3544 3545 type 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". 3559 func (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". 3568 func (s AssociateDRTLogBucketInput) GoString() string { 3569 return s.String() 3570 } 3571 3572 // Validate inspects the fields of the type to determine if they are valid. 3573 func (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. 3589 func (s *AssociateDRTLogBucketInput) SetLogBucket(v string) *AssociateDRTLogBucketInput { 3590 s.LogBucket = &v 3591 return s 3592 } 3593 3594 type 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". 3603 func (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". 3612 func (s AssociateDRTLogBucketOutput) GoString() string { 3613 return s.String() 3614 } 3615 3616 type 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". 3636 func (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". 3645 func (s AssociateDRTRoleInput) GoString() string { 3646 return s.String() 3647 } 3648 3649 // Validate inspects the fields of the type to determine if they are valid. 3650 func (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. 3666 func (s *AssociateDRTRoleInput) SetRoleArn(v string) *AssociateDRTRoleInput { 3667 s.RoleArn = &v 3668 return s 3669 } 3670 3671 type 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". 3680 func (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". 3689 func (s AssociateDRTRoleOutput) GoString() string { 3690 return s.String() 3691 } 3692 3693 type 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". 3714 func (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". 3723 func (s AssociateHealthCheckInput) GoString() string { 3724 return s.String() 3725 } 3726 3727 // Validate inspects the fields of the type to determine if they are valid. 3728 func (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. 3750 func (s *AssociateHealthCheckInput) SetHealthCheckArn(v string) *AssociateHealthCheckInput { 3751 s.HealthCheckArn = &v 3752 return s 3753 } 3754 3755 // SetProtectionId sets the ProtectionId field's value. 3756 func (s *AssociateHealthCheckInput) SetProtectionId(v string) *AssociateHealthCheckInput { 3757 s.ProtectionId = &v 3758 return s 3759 } 3760 3761 type 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". 3770 func (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". 3779 func (s AssociateHealthCheckOutput) GoString() string { 3780 return s.String() 3781 } 3782 3783 type 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". 3806 func (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". 3815 func (s AssociateProactiveEngagementDetailsInput) GoString() string { 3816 return s.String() 3817 } 3818 3819 // Validate inspects the fields of the type to determine if they are valid. 3820 func (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. 3843 func (s *AssociateProactiveEngagementDetailsInput) SetEmergencyContactList(v []*EmergencyContact) *AssociateProactiveEngagementDetailsInput { 3844 s.EmergencyContactList = v 3845 return s 3846 } 3847 3848 type 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". 3857 func (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". 3866 func (s AssociateProactiveEngagementDetailsOutput) GoString() string { 3867 return s.String() 3868 } 3869 3870 // The details of a DDoS attack. 3871 type 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". 3912 func (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". 3921 func (s AttackDetail) GoString() string { 3922 return s.String() 3923 } 3924 3925 // SetAttackCounters sets the AttackCounters field's value. 3926 func (s *AttackDetail) SetAttackCounters(v []*SummarizedCounter) *AttackDetail { 3927 s.AttackCounters = v 3928 return s 3929 } 3930 3931 // SetAttackId sets the AttackId field's value. 3932 func (s *AttackDetail) SetAttackId(v string) *AttackDetail { 3933 s.AttackId = &v 3934 return s 3935 } 3936 3937 // SetAttackProperties sets the AttackProperties field's value. 3938 func (s *AttackDetail) SetAttackProperties(v []*AttackProperty) *AttackDetail { 3939 s.AttackProperties = v 3940 return s 3941 } 3942 3943 // SetEndTime sets the EndTime field's value. 3944 func (s *AttackDetail) SetEndTime(v time.Time) *AttackDetail { 3945 s.EndTime = &v 3946 return s 3947 } 3948 3949 // SetMitigations sets the Mitigations field's value. 3950 func (s *AttackDetail) SetMitigations(v []*Mitigation) *AttackDetail { 3951 s.Mitigations = v 3952 return s 3953 } 3954 3955 // SetResourceArn sets the ResourceArn field's value. 3956 func (s *AttackDetail) SetResourceArn(v string) *AttackDetail { 3957 s.ResourceArn = &v 3958 return s 3959 } 3960 3961 // SetStartTime sets the StartTime field's value. 3962 func (s *AttackDetail) SetStartTime(v time.Time) *AttackDetail { 3963 s.StartTime = &v 3964 return s 3965 } 3966 3967 // SetSubResources sets the SubResources field's value. 3968 func (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. 3974 type 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". 4006 func (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". 4015 func (s AttackProperty) GoString() string { 4016 return s.String() 4017 } 4018 4019 // SetAttackLayer sets the AttackLayer field's value. 4020 func (s *AttackProperty) SetAttackLayer(v string) *AttackProperty { 4021 s.AttackLayer = &v 4022 return s 4023 } 4024 4025 // SetAttackPropertyIdentifier sets the AttackPropertyIdentifier field's value. 4026 func (s *AttackProperty) SetAttackPropertyIdentifier(v string) *AttackProperty { 4027 s.AttackPropertyIdentifier = &v 4028 return s 4029 } 4030 4031 // SetTopContributors sets the TopContributors field's value. 4032 func (s *AttackProperty) SetTopContributors(v []*Contributor) *AttackProperty { 4033 s.TopContributors = v 4034 return s 4035 } 4036 4037 // SetTotal sets the Total field's value. 4038 func (s *AttackProperty) SetTotal(v int64) *AttackProperty { 4039 s.Total = &v 4040 return s 4041 } 4042 4043 // SetUnit sets the Unit field's value. 4044 func (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. 4052 type 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". 4071 func (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". 4080 func (s AttackStatisticsDataItem) GoString() string { 4081 return s.String() 4082 } 4083 4084 // SetAttackCount sets the AttackCount field's value. 4085 func (s *AttackStatisticsDataItem) SetAttackCount(v int64) *AttackStatisticsDataItem { 4086 s.AttackCount = &v 4087 return s 4088 } 4089 4090 // SetAttackVolume sets the AttackVolume field's value. 4091 func (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. 4097 type 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". 4123 func (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". 4132 func (s AttackSummary) GoString() string { 4133 return s.String() 4134 } 4135 4136 // SetAttackId sets the AttackId field's value. 4137 func (s *AttackSummary) SetAttackId(v string) *AttackSummary { 4138 s.AttackId = &v 4139 return s 4140 } 4141 4142 // SetAttackVectors sets the AttackVectors field's value. 4143 func (s *AttackSummary) SetAttackVectors(v []*AttackVectorDescription) *AttackSummary { 4144 s.AttackVectors = v 4145 return s 4146 } 4147 4148 // SetEndTime sets the EndTime field's value. 4149 func (s *AttackSummary) SetEndTime(v time.Time) *AttackSummary { 4150 s.EndTime = &v 4151 return s 4152 } 4153 4154 // SetResourceArn sets the ResourceArn field's value. 4155 func (s *AttackSummary) SetResourceArn(v string) *AttackSummary { 4156 s.ResourceArn = &v 4157 return s 4158 } 4159 4160 // SetStartTime sets the StartTime field's value. 4161 func (s *AttackSummary) SetStartTime(v time.Time) *AttackSummary { 4162 s.StartTime = &v 4163 return s 4164 } 4165 4166 // Describes the attack. 4167 type 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". 4217 func (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". 4226 func (s AttackVectorDescription) GoString() string { 4227 return s.String() 4228 } 4229 4230 // SetVectorType sets the VectorType field's value. 4231 func (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. 4239 type 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". 4261 func (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". 4270 func (s AttackVolume) GoString() string { 4271 return s.String() 4272 } 4273 4274 // SetBitsPerSecond sets the BitsPerSecond field's value. 4275 func (s *AttackVolume) SetBitsPerSecond(v *AttackVolumeStatistics) *AttackVolume { 4276 s.BitsPerSecond = v 4277 return s 4278 } 4279 4280 // SetPacketsPerSecond sets the PacketsPerSecond field's value. 4281 func (s *AttackVolume) SetPacketsPerSecond(v *AttackVolumeStatistics) *AttackVolume { 4282 s.PacketsPerSecond = v 4283 return s 4284 } 4285 4286 // SetRequestsPerSecond sets the RequestsPerSecond field's value. 4287 func (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. 4293 type 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". 4307 func (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". 4316 func (s AttackVolumeStatistics) GoString() string { 4317 return s.String() 4318 } 4319 4320 // SetMax sets the Max field's value. 4321 func (s *AttackVolumeStatistics) SetMax(v float64) *AttackVolumeStatistics { 4322 s.Max = &v 4323 return s 4324 } 4325 4326 // A contributor to the attack and their contribution. 4327 type 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". 4345 func (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". 4354 func (s Contributor) GoString() string { 4355 return s.String() 4356 } 4357 4358 // SetName sets the Name field's value. 4359 func (s *Contributor) SetName(v string) *Contributor { 4360 s.Name = &v 4361 return s 4362 } 4363 4364 // SetValue sets the Value field's value. 4365 func (s *Contributor) SetValue(v int64) *Contributor { 4366 s.Value = &v 4367 return s 4368 } 4369 4370 type 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". 4428 func (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". 4437 func (s CreateProtectionGroupInput) GoString() string { 4438 return s.String() 4439 } 4440 4441 // Validate inspects the fields of the type to determine if they are valid. 4442 func (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. 4474 func (s *CreateProtectionGroupInput) SetAggregation(v string) *CreateProtectionGroupInput { 4475 s.Aggregation = &v 4476 return s 4477 } 4478 4479 // SetMembers sets the Members field's value. 4480 func (s *CreateProtectionGroupInput) SetMembers(v []*string) *CreateProtectionGroupInput { 4481 s.Members = v 4482 return s 4483 } 4484 4485 // SetPattern sets the Pattern field's value. 4486 func (s *CreateProtectionGroupInput) SetPattern(v string) *CreateProtectionGroupInput { 4487 s.Pattern = &v 4488 return s 4489 } 4490 4491 // SetProtectionGroupId sets the ProtectionGroupId field's value. 4492 func (s *CreateProtectionGroupInput) SetProtectionGroupId(v string) *CreateProtectionGroupInput { 4493 s.ProtectionGroupId = &v 4494 return s 4495 } 4496 4497 // SetResourceType sets the ResourceType field's value. 4498 func (s *CreateProtectionGroupInput) SetResourceType(v string) *CreateProtectionGroupInput { 4499 s.ResourceType = &v 4500 return s 4501 } 4502 4503 // SetTags sets the Tags field's value. 4504 func (s *CreateProtectionGroupInput) SetTags(v []*Tag) *CreateProtectionGroupInput { 4505 s.Tags = v 4506 return s 4507 } 4508 4509 type 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". 4518 func (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". 4527 func (s CreateProtectionGroupOutput) GoString() string { 4528 return s.String() 4529 } 4530 4531 type 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". 4567 func (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". 4576 func (s CreateProtectionInput) GoString() string { 4577 return s.String() 4578 } 4579 4580 // Validate inspects the fields of the type to determine if they are valid. 4581 func (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. 4613 func (s *CreateProtectionInput) SetName(v string) *CreateProtectionInput { 4614 s.Name = &v 4615 return s 4616 } 4617 4618 // SetResourceArn sets the ResourceArn field's value. 4619 func (s *CreateProtectionInput) SetResourceArn(v string) *CreateProtectionInput { 4620 s.ResourceArn = &v 4621 return s 4622 } 4623 4624 // SetTags sets the Tags field's value. 4625 func (s *CreateProtectionInput) SetTags(v []*Tag) *CreateProtectionInput { 4626 s.Tags = v 4627 return s 4628 } 4629 4630 type 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". 4642 func (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". 4651 func (s CreateProtectionOutput) GoString() string { 4652 return s.String() 4653 } 4654 4655 // SetProtectionId sets the ProtectionId field's value. 4656 func (s *CreateProtectionOutput) SetProtectionId(v string) *CreateProtectionOutput { 4657 s.ProtectionId = &v 4658 return s 4659 } 4660 4661 type 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". 4670 func (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". 4679 func (s CreateSubscriptionInput) GoString() string { 4680 return s.String() 4681 } 4682 4683 type 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". 4692 func (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". 4701 func (s CreateSubscriptionOutput) GoString() string { 4702 return s.String() 4703 } 4704 4705 type 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". 4721 func (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". 4730 func (s DeleteProtectionGroupInput) GoString() string { 4731 return s.String() 4732 } 4733 4734 // Validate inspects the fields of the type to determine if they are valid. 4735 func (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. 4751 func (s *DeleteProtectionGroupInput) SetProtectionGroupId(v string) *DeleteProtectionGroupInput { 4752 s.ProtectionGroupId = &v 4753 return s 4754 } 4755 4756 type 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". 4765 func (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". 4774 func (s DeleteProtectionGroupOutput) GoString() string { 4775 return s.String() 4776 } 4777 4778 type 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". 4792 func (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". 4801 func (s DeleteProtectionInput) GoString() string { 4802 return s.String() 4803 } 4804 4805 // Validate inspects the fields of the type to determine if they are valid. 4806 func (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. 4822 func (s *DeleteProtectionInput) SetProtectionId(v string) *DeleteProtectionInput { 4823 s.ProtectionId = &v 4824 return s 4825 } 4826 4827 type 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". 4836 func (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". 4845 func (s DeleteProtectionOutput) GoString() string { 4846 return s.String() 4847 } 4848 4849 // Deprecated: DeleteSubscriptionInput has been deprecated 4850 type 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". 4859 func (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". 4868 func (s DeleteSubscriptionInput) GoString() string { 4869 return s.String() 4870 } 4871 4872 // Deprecated: DeleteSubscriptionOutput has been deprecated 4873 type 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". 4882 func (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". 4891 func (s DeleteSubscriptionOutput) GoString() string { 4892 return s.String() 4893 } 4894 4895 type 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". 4909 func (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". 4918 func (s DescribeAttackInput) GoString() string { 4919 return s.String() 4920 } 4921 4922 // Validate inspects the fields of the type to determine if they are valid. 4923 func (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. 4939 func (s *DescribeAttackInput) SetAttackId(v string) *DescribeAttackInput { 4940 s.AttackId = &v 4941 return s 4942 } 4943 4944 type 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". 4956 func (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". 4965 func (s DescribeAttackOutput) GoString() string { 4966 return s.String() 4967 } 4968 4969 // SetAttack sets the Attack field's value. 4970 func (s *DescribeAttackOutput) SetAttack(v *AttackDetail) *DescribeAttackOutput { 4971 s.Attack = v 4972 return s 4973 } 4974 4975 type 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". 4984 func (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". 4993 func (s DescribeAttackStatisticsInput) GoString() string { 4994 return s.String() 4995 } 4996 4997 type 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". 5016 func (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". 5025 func (s DescribeAttackStatisticsOutput) GoString() string { 5026 return s.String() 5027 } 5028 5029 // SetDataItems sets the DataItems field's value. 5030 func (s *DescribeAttackStatisticsOutput) SetDataItems(v []*AttackStatisticsDataItem) *DescribeAttackStatisticsOutput { 5031 s.DataItems = v 5032 return s 5033 } 5034 5035 // SetTimeRange sets the TimeRange field's value. 5036 func (s *DescribeAttackStatisticsOutput) SetTimeRange(v *TimeRange) *DescribeAttackStatisticsOutput { 5037 s.TimeRange = v 5038 return s 5039 } 5040 5041 type 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". 5050 func (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". 5059 func (s DescribeDRTAccessInput) GoString() string { 5060 return s.String() 5061 } 5062 5063 type 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". 5079 func (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". 5088 func (s DescribeDRTAccessOutput) GoString() string { 5089 return s.String() 5090 } 5091 5092 // SetLogBucketList sets the LogBucketList field's value. 5093 func (s *DescribeDRTAccessOutput) SetLogBucketList(v []*string) *DescribeDRTAccessOutput { 5094 s.LogBucketList = v 5095 return s 5096 } 5097 5098 // SetRoleArn sets the RoleArn field's value. 5099 func (s *DescribeDRTAccessOutput) SetRoleArn(v string) *DescribeDRTAccessOutput { 5100 s.RoleArn = &v 5101 return s 5102 } 5103 5104 type 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". 5113 func (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". 5122 func (s DescribeEmergencyContactSettingsInput) GoString() string { 5123 return s.String() 5124 } 5125 5126 type 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". 5140 func (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". 5149 func (s DescribeEmergencyContactSettingsOutput) GoString() string { 5150 return s.String() 5151 } 5152 5153 // SetEmergencyContactList sets the EmergencyContactList field's value. 5154 func (s *DescribeEmergencyContactSettingsOutput) SetEmergencyContactList(v []*EmergencyContact) *DescribeEmergencyContactSettingsOutput { 5155 s.EmergencyContactList = v 5156 return s 5157 } 5158 5159 type 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". 5175 func (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". 5184 func (s DescribeProtectionGroupInput) GoString() string { 5185 return s.String() 5186 } 5187 5188 // Validate inspects the fields of the type to determine if they are valid. 5189 func (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. 5205 func (s *DescribeProtectionGroupInput) SetProtectionGroupId(v string) *DescribeProtectionGroupInput { 5206 s.ProtectionGroupId = &v 5207 return s 5208 } 5209 5210 type 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". 5226 func (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". 5235 func (s DescribeProtectionGroupOutput) GoString() string { 5236 return s.String() 5237 } 5238 5239 // SetProtectionGroup sets the ProtectionGroup field's value. 5240 func (s *DescribeProtectionGroupOutput) SetProtectionGroup(v *ProtectionGroup) *DescribeProtectionGroupOutput { 5241 s.ProtectionGroup = v 5242 return s 5243 } 5244 5245 type 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". 5265 func (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". 5274 func (s DescribeProtectionInput) GoString() string { 5275 return s.String() 5276 } 5277 5278 // Validate inspects the fields of the type to determine if they are valid. 5279 func (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. 5295 func (s *DescribeProtectionInput) SetProtectionId(v string) *DescribeProtectionInput { 5296 s.ProtectionId = &v 5297 return s 5298 } 5299 5300 // SetResourceArn sets the ResourceArn field's value. 5301 func (s *DescribeProtectionInput) SetResourceArn(v string) *DescribeProtectionInput { 5302 s.ResourceArn = &v 5303 return s 5304 } 5305 5306 type 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". 5318 func (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". 5327 func (s DescribeProtectionOutput) GoString() string { 5328 return s.String() 5329 } 5330 5331 // SetProtection sets the Protection field's value. 5332 func (s *DescribeProtectionOutput) SetProtection(v *Protection) *DescribeProtectionOutput { 5333 s.Protection = v 5334 return s 5335 } 5336 5337 type 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". 5346 func (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". 5355 func (s DescribeSubscriptionInput) GoString() string { 5356 return s.String() 5357 } 5358 5359 type 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". 5371 func (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". 5380 func (s DescribeSubscriptionOutput) GoString() string { 5381 return s.String() 5382 } 5383 5384 // SetSubscription sets the Subscription field's value. 5385 func (s *DescribeSubscriptionOutput) SetSubscription(v *Subscription) *DescribeSubscriptionOutput { 5386 s.Subscription = v 5387 return s 5388 } 5389 5390 type 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". 5399 func (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". 5408 func (s DisableProactiveEngagementInput) GoString() string { 5409 return s.String() 5410 } 5411 5412 type 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". 5421 func (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". 5430 func (s DisableProactiveEngagementOutput) GoString() string { 5431 return s.String() 5432 } 5433 5434 type 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". 5448 func (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". 5457 func (s DisassociateDRTLogBucketInput) GoString() string { 5458 return s.String() 5459 } 5460 5461 // Validate inspects the fields of the type to determine if they are valid. 5462 func (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. 5478 func (s *DisassociateDRTLogBucketInput) SetLogBucket(v string) *DisassociateDRTLogBucketInput { 5479 s.LogBucket = &v 5480 return s 5481 } 5482 5483 type 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". 5492 func (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". 5501 func (s DisassociateDRTLogBucketOutput) GoString() string { 5502 return s.String() 5503 } 5504 5505 type 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". 5514 func (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". 5523 func (s DisassociateDRTRoleInput) GoString() string { 5524 return s.String() 5525 } 5526 5527 type 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". 5536 func (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". 5545 func (s DisassociateDRTRoleOutput) GoString() string { 5546 return s.String() 5547 } 5548 5549 type 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". 5570 func (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". 5579 func (s DisassociateHealthCheckInput) GoString() string { 5580 return s.String() 5581 } 5582 5583 // Validate inspects the fields of the type to determine if they are valid. 5584 func (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. 5606 func (s *DisassociateHealthCheckInput) SetHealthCheckArn(v string) *DisassociateHealthCheckInput { 5607 s.HealthCheckArn = &v 5608 return s 5609 } 5610 5611 // SetProtectionId sets the ProtectionId field's value. 5612 func (s *DisassociateHealthCheckInput) SetProtectionId(v string) *DisassociateHealthCheckInput { 5613 s.ProtectionId = &v 5614 return s 5615 } 5616 5617 type 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". 5626 func (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". 5635 func (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. 5642 type 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". 5662 func (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". 5671 func (s EmergencyContact) GoString() string { 5672 return s.String() 5673 } 5674 5675 // Validate inspects the fields of the type to determine if they are valid. 5676 func (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. 5698 func (s *EmergencyContact) SetContactNotes(v string) *EmergencyContact { 5699 s.ContactNotes = &v 5700 return s 5701 } 5702 5703 // SetEmailAddress sets the EmailAddress field's value. 5704 func (s *EmergencyContact) SetEmailAddress(v string) *EmergencyContact { 5705 s.EmailAddress = &v 5706 return s 5707 } 5708 5709 // SetPhoneNumber sets the PhoneNumber field's value. 5710 func (s *EmergencyContact) SetPhoneNumber(v string) *EmergencyContact { 5711 s.PhoneNumber = &v 5712 return s 5713 } 5714 5715 type 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". 5724 func (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". 5733 func (s EnableProactiveEngagementInput) GoString() string { 5734 return s.String() 5735 } 5736 5737 type 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". 5746 func (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". 5755 func (s EnableProactiveEngagementOutput) GoString() string { 5756 return s.String() 5757 } 5758 5759 type 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". 5768 func (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". 5777 func (s GetSubscriptionStateInput) GoString() string { 5778 return s.String() 5779 } 5780 5781 type 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". 5795 func (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". 5804 func (s GetSubscriptionStateOutput) GoString() string { 5805 return s.String() 5806 } 5807 5808 // SetSubscriptionState sets the SubscriptionState field's value. 5809 func (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. 5816 type 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". 5828 func (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". 5837 func (s InternalErrorException) GoString() string { 5838 return s.String() 5839 } 5840 5841 func newErrorInternalErrorException(v protocol.ResponseMetadata) error { 5842 return &InternalErrorException{ 5843 RespMetadata: v, 5844 } 5845 } 5846 5847 // Code returns the exception type name. 5848 func (s *InternalErrorException) Code() string { 5849 return "InternalErrorException" 5850 } 5851 5852 // Message returns the exception's message. 5853 func (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. 5861 func (s *InternalErrorException) OrigErr() error { 5862 return nil 5863 } 5864 5865 func (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. 5870 func (s *InternalErrorException) StatusCode() int { 5871 return s.RespMetadata.StatusCode 5872 } 5873 5874 // RequestID returns the service's response RequestID for request. 5875 func (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. 5881 type 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". 5893 func (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". 5902 func (s InvalidOperationException) GoString() string { 5903 return s.String() 5904 } 5905 5906 func newErrorInvalidOperationException(v protocol.ResponseMetadata) error { 5907 return &InvalidOperationException{ 5908 RespMetadata: v, 5909 } 5910 } 5911 5912 // Code returns the exception type name. 5913 func (s *InvalidOperationException) Code() string { 5914 return "InvalidOperationException" 5915 } 5916 5917 // Message returns the exception's message. 5918 func (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. 5926 func (s *InvalidOperationException) OrigErr() error { 5927 return nil 5928 } 5929 5930 func (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. 5935 func (s *InvalidOperationException) StatusCode() int { 5936 return s.RespMetadata.StatusCode 5937 } 5938 5939 // RequestID returns the service's response RequestID for request. 5940 func (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. 5946 type 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". 5958 func (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". 5967 func (s InvalidPaginationTokenException) GoString() string { 5968 return s.String() 5969 } 5970 5971 func newErrorInvalidPaginationTokenException(v protocol.ResponseMetadata) error { 5972 return &InvalidPaginationTokenException{ 5973 RespMetadata: v, 5974 } 5975 } 5976 5977 // Code returns the exception type name. 5978 func (s *InvalidPaginationTokenException) Code() string { 5979 return "InvalidPaginationTokenException" 5980 } 5981 5982 // Message returns the exception's message. 5983 func (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. 5991 func (s *InvalidPaginationTokenException) OrigErr() error { 5992 return nil 5993 } 5994 5995 func (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. 6000 func (s *InvalidPaginationTokenException) StatusCode() int { 6001 return s.RespMetadata.StatusCode 6002 } 6003 6004 // RequestID returns the service's response RequestID for request. 6005 func (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. 6011 type 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". 6029 func (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". 6038 func (s InvalidParameterException) GoString() string { 6039 return s.String() 6040 } 6041 6042 func newErrorInvalidParameterException(v protocol.ResponseMetadata) error { 6043 return &InvalidParameterException{ 6044 RespMetadata: v, 6045 } 6046 } 6047 6048 // Code returns the exception type name. 6049 func (s *InvalidParameterException) Code() string { 6050 return "InvalidParameterException" 6051 } 6052 6053 // Message returns the exception's message. 6054 func (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. 6062 func (s *InvalidParameterException) OrigErr() error { 6063 return nil 6064 } 6065 6066 func (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. 6071 func (s *InvalidParameterException) StatusCode() int { 6072 return s.RespMetadata.StatusCode 6073 } 6074 6075 // RequestID returns the service's response RequestID for request. 6076 func (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. 6082 type 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". 6094 func (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". 6103 func (s InvalidResourceException) GoString() string { 6104 return s.String() 6105 } 6106 6107 func newErrorInvalidResourceException(v protocol.ResponseMetadata) error { 6108 return &InvalidResourceException{ 6109 RespMetadata: v, 6110 } 6111 } 6112 6113 // Code returns the exception type name. 6114 func (s *InvalidResourceException) Code() string { 6115 return "InvalidResourceException" 6116 } 6117 6118 // Message returns the exception's message. 6119 func (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. 6127 func (s *InvalidResourceException) OrigErr() error { 6128 return nil 6129 } 6130 6131 func (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. 6136 func (s *InvalidResourceException) StatusCode() int { 6137 return s.RespMetadata.StatusCode 6138 } 6139 6140 // RequestID returns the service's response RequestID for request. 6141 func (s *InvalidResourceException) RequestID() string { 6142 return s.RespMetadata.RequestID 6143 } 6144 6145 // Specifies how many protections of a given type you can create. 6146 type 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". 6161 func (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". 6170 func (s Limit) GoString() string { 6171 return s.String() 6172 } 6173 6174 // SetMax sets the Max field's value. 6175 func (s *Limit) SetMax(v int64) *Limit { 6176 s.Max = &v 6177 return s 6178 } 6179 6180 // SetType sets the Type field's value. 6181 func (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. 6187 type 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". 6205 func (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". 6214 func (s LimitsExceededException) GoString() string { 6215 return s.String() 6216 } 6217 6218 func newErrorLimitsExceededException(v protocol.ResponseMetadata) error { 6219 return &LimitsExceededException{ 6220 RespMetadata: v, 6221 } 6222 } 6223 6224 // Code returns the exception type name. 6225 func (s *LimitsExceededException) Code() string { 6226 return "LimitsExceededException" 6227 } 6228 6229 // Message returns the exception's message. 6230 func (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. 6238 func (s *LimitsExceededException) OrigErr() error { 6239 return nil 6240 } 6241 6242 func (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. 6247 func (s *LimitsExceededException) StatusCode() int { 6248 return s.RespMetadata.StatusCode 6249 } 6250 6251 // RequestID returns the service's response RequestID for request. 6252 func (s *LimitsExceededException) RequestID() string { 6253 return s.RespMetadata.RequestID 6254 } 6255 6256 type 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". 6295 func (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". 6304 func (s ListAttacksInput) GoString() string { 6305 return s.String() 6306 } 6307 6308 // Validate inspects the fields of the type to determine if they are valid. 6309 func (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. 6322 func (s *ListAttacksInput) SetEndTime(v *TimeRange) *ListAttacksInput { 6323 s.EndTime = v 6324 return s 6325 } 6326 6327 // SetMaxResults sets the MaxResults field's value. 6328 func (s *ListAttacksInput) SetMaxResults(v int64) *ListAttacksInput { 6329 s.MaxResults = &v 6330 return s 6331 } 6332 6333 // SetNextToken sets the NextToken field's value. 6334 func (s *ListAttacksInput) SetNextToken(v string) *ListAttacksInput { 6335 s.NextToken = &v 6336 return s 6337 } 6338 6339 // SetResourceArns sets the ResourceArns field's value. 6340 func (s *ListAttacksInput) SetResourceArns(v []*string) *ListAttacksInput { 6341 s.ResourceArns = v 6342 return s 6343 } 6344 6345 // SetStartTime sets the StartTime field's value. 6346 func (s *ListAttacksInput) SetStartTime(v *TimeRange) *ListAttacksInput { 6347 s.StartTime = v 6348 return s 6349 } 6350 6351 type 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". 6373 func (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". 6382 func (s ListAttacksOutput) GoString() string { 6383 return s.String() 6384 } 6385 6386 // SetAttackSummaries sets the AttackSummaries field's value. 6387 func (s *ListAttacksOutput) SetAttackSummaries(v []*AttackSummary) *ListAttacksOutput { 6388 s.AttackSummaries = v 6389 return s 6390 } 6391 6392 // SetNextToken sets the NextToken field's value. 6393 func (s *ListAttacksOutput) SetNextToken(v string) *ListAttacksOutput { 6394 s.NextToken = &v 6395 return s 6396 } 6397 6398 type 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". 6421 func (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". 6430 func (s ListProtectionGroupsInput) GoString() string { 6431 return s.String() 6432 } 6433 6434 // Validate inspects the fields of the type to determine if they are valid. 6435 func (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. 6448 func (s *ListProtectionGroupsInput) SetMaxResults(v int64) *ListProtectionGroupsInput { 6449 s.MaxResults = &v 6450 return s 6451 } 6452 6453 // SetNextToken sets the NextToken field's value. 6454 func (s *ListProtectionGroupsInput) SetNextToken(v string) *ListProtectionGroupsInput { 6455 s.NextToken = &v 6456 return s 6457 } 6458 6459 type 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". 6476 func (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". 6485 func (s ListProtectionGroupsOutput) GoString() string { 6486 return s.String() 6487 } 6488 6489 // SetNextToken sets the NextToken field's value. 6490 func (s *ListProtectionGroupsOutput) SetNextToken(v string) *ListProtectionGroupsOutput { 6491 s.NextToken = &v 6492 return s 6493 } 6494 6495 // SetProtectionGroups sets the ProtectionGroups field's value. 6496 func (s *ListProtectionGroupsOutput) SetProtectionGroups(v []*ProtectionGroup) *ListProtectionGroupsOutput { 6497 s.ProtectionGroups = v 6498 return s 6499 } 6500 6501 type 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". 6524 func (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". 6533 func (s ListProtectionsInput) GoString() string { 6534 return s.String() 6535 } 6536 6537 // Validate inspects the fields of the type to determine if they are valid. 6538 func (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. 6551 func (s *ListProtectionsInput) SetMaxResults(v int64) *ListProtectionsInput { 6552 s.MaxResults = &v 6553 return s 6554 } 6555 6556 // SetNextToken sets the NextToken field's value. 6557 func (s *ListProtectionsInput) SetNextToken(v string) *ListProtectionsInput { 6558 s.NextToken = &v 6559 return s 6560 } 6561 6562 type 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". 6585 func (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". 6594 func (s ListProtectionsOutput) GoString() string { 6595 return s.String() 6596 } 6597 6598 // SetNextToken sets the NextToken field's value. 6599 func (s *ListProtectionsOutput) SetNextToken(v string) *ListProtectionsOutput { 6600 s.NextToken = &v 6601 return s 6602 } 6603 6604 // SetProtections sets the Protections field's value. 6605 func (s *ListProtectionsOutput) SetProtections(v []*Protection) *ListProtectionsOutput { 6606 s.Protections = v 6607 return s 6608 } 6609 6610 type 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". 6640 func (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". 6649 func (s ListResourcesInProtectionGroupInput) GoString() string { 6650 return s.String() 6651 } 6652 6653 // Validate inspects the fields of the type to determine if they are valid. 6654 func (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. 6673 func (s *ListResourcesInProtectionGroupInput) SetMaxResults(v int64) *ListResourcesInProtectionGroupInput { 6674 s.MaxResults = &v 6675 return s 6676 } 6677 6678 // SetNextToken sets the NextToken field's value. 6679 func (s *ListResourcesInProtectionGroupInput) SetNextToken(v string) *ListResourcesInProtectionGroupInput { 6680 s.NextToken = &v 6681 return s 6682 } 6683 6684 // SetProtectionGroupId sets the ProtectionGroupId field's value. 6685 func (s *ListResourcesInProtectionGroupInput) SetProtectionGroupId(v string) *ListResourcesInProtectionGroupInput { 6686 s.ProtectionGroupId = &v 6687 return s 6688 } 6689 6690 type 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". 6710 func (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". 6719 func (s ListResourcesInProtectionGroupOutput) GoString() string { 6720 return s.String() 6721 } 6722 6723 // SetNextToken sets the NextToken field's value. 6724 func (s *ListResourcesInProtectionGroupOutput) SetNextToken(v string) *ListResourcesInProtectionGroupOutput { 6725 s.NextToken = &v 6726 return s 6727 } 6728 6729 // SetResourceArns sets the ResourceArns field's value. 6730 func (s *ListResourcesInProtectionGroupOutput) SetResourceArns(v []*string) *ListResourcesInProtectionGroupOutput { 6731 s.ResourceArns = v 6732 return s 6733 } 6734 6735 type 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". 6749 func (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". 6758 func (s ListTagsForResourceInput) GoString() string { 6759 return s.String() 6760 } 6761 6762 // Validate inspects the fields of the type to determine if they are valid. 6763 func (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. 6779 func (s *ListTagsForResourceInput) SetResourceARN(v string) *ListTagsForResourceInput { 6780 s.ResourceARN = &v 6781 return s 6782 } 6783 6784 type 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". 6796 func (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". 6805 func (s ListTagsForResourceOutput) GoString() string { 6806 return s.String() 6807 } 6808 6809 // SetTags sets the Tags field's value. 6810 func (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. 6819 type 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". 6831 func (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". 6840 func (s LockedSubscriptionException) GoString() string { 6841 return s.String() 6842 } 6843 6844 func newErrorLockedSubscriptionException(v protocol.ResponseMetadata) error { 6845 return &LockedSubscriptionException{ 6846 RespMetadata: v, 6847 } 6848 } 6849 6850 // Code returns the exception type name. 6851 func (s *LockedSubscriptionException) Code() string { 6852 return "LockedSubscriptionException" 6853 } 6854 6855 // Message returns the exception's message. 6856 func (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. 6864 func (s *LockedSubscriptionException) OrigErr() error { 6865 return nil 6866 } 6867 6868 func (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. 6873 func (s *LockedSubscriptionException) StatusCode() int { 6874 return s.RespMetadata.StatusCode 6875 } 6876 6877 // RequestID returns the service's response RequestID for request. 6878 func (s *LockedSubscriptionException) RequestID() string { 6879 return s.RespMetadata.RequestID 6880 } 6881 6882 // The mitigation applied to a DDoS attack. 6883 type 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". 6895 func (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". 6904 func (s Mitigation) GoString() string { 6905 return s.String() 6906 } 6907 6908 // SetMitigationName sets the MitigationName field's value. 6909 func (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. 6915 type 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". 6927 func (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". 6936 func (s NoAssociatedRoleException) GoString() string { 6937 return s.String() 6938 } 6939 6940 func newErrorNoAssociatedRoleException(v protocol.ResponseMetadata) error { 6941 return &NoAssociatedRoleException{ 6942 RespMetadata: v, 6943 } 6944 } 6945 6946 // Code returns the exception type name. 6947 func (s *NoAssociatedRoleException) Code() string { 6948 return "NoAssociatedRoleException" 6949 } 6950 6951 // Message returns the exception's message. 6952 func (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. 6960 func (s *NoAssociatedRoleException) OrigErr() error { 6961 return nil 6962 } 6963 6964 func (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. 6969 func (s *NoAssociatedRoleException) StatusCode() int { 6970 return s.RespMetadata.StatusCode 6971 } 6972 6973 // RequestID returns the service's response RequestID for request. 6974 func (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. 6980 type 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". 6992 func (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". 7001 func (s OptimisticLockException) GoString() string { 7002 return s.String() 7003 } 7004 7005 func newErrorOptimisticLockException(v protocol.ResponseMetadata) error { 7006 return &OptimisticLockException{ 7007 RespMetadata: v, 7008 } 7009 } 7010 7011 // Code returns the exception type name. 7012 func (s *OptimisticLockException) Code() string { 7013 return "OptimisticLockException" 7014 } 7015 7016 // Message returns the exception's message. 7017 func (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. 7025 func (s *OptimisticLockException) OrigErr() error { 7026 return nil 7027 } 7028 7029 func (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. 7034 func (s *OptimisticLockException) StatusCode() int { 7035 return s.RespMetadata.StatusCode 7036 } 7037 7038 // RequestID returns the service's response RequestID for request. 7039 func (s *OptimisticLockException) RequestID() string { 7040 return s.RespMetadata.RequestID 7041 } 7042 7043 // An object that represents a resource that is under DDoS protection. 7044 type 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". 7070 func (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". 7079 func (s Protection) GoString() string { 7080 return s.String() 7081 } 7082 7083 // SetHealthCheckIds sets the HealthCheckIds field's value. 7084 func (s *Protection) SetHealthCheckIds(v []*string) *Protection { 7085 s.HealthCheckIds = v 7086 return s 7087 } 7088 7089 // SetId sets the Id field's value. 7090 func (s *Protection) SetId(v string) *Protection { 7091 s.Id = &v 7092 return s 7093 } 7094 7095 // SetName sets the Name field's value. 7096 func (s *Protection) SetName(v string) *Protection { 7097 s.Name = &v 7098 return s 7099 } 7100 7101 // SetProtectionArn sets the ProtectionArn field's value. 7102 func (s *Protection) SetProtectionArn(v string) *Protection { 7103 s.ProtectionArn = &v 7104 return s 7105 } 7106 7107 // SetResourceArn sets the ResourceArn field's value. 7108 func (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. 7116 type 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". 7175 func (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". 7184 func (s ProtectionGroup) GoString() string { 7185 return s.String() 7186 } 7187 7188 // SetAggregation sets the Aggregation field's value. 7189 func (s *ProtectionGroup) SetAggregation(v string) *ProtectionGroup { 7190 s.Aggregation = &v 7191 return s 7192 } 7193 7194 // SetMembers sets the Members field's value. 7195 func (s *ProtectionGroup) SetMembers(v []*string) *ProtectionGroup { 7196 s.Members = v 7197 return s 7198 } 7199 7200 // SetPattern sets the Pattern field's value. 7201 func (s *ProtectionGroup) SetPattern(v string) *ProtectionGroup { 7202 s.Pattern = &v 7203 return s 7204 } 7205 7206 // SetProtectionGroupArn sets the ProtectionGroupArn field's value. 7207 func (s *ProtectionGroup) SetProtectionGroupArn(v string) *ProtectionGroup { 7208 s.ProtectionGroupArn = &v 7209 return s 7210 } 7211 7212 // SetProtectionGroupId sets the ProtectionGroupId field's value. 7213 func (s *ProtectionGroup) SetProtectionGroupId(v string) *ProtectionGroup { 7214 s.ProtectionGroupId = &v 7215 return s 7216 } 7217 7218 // SetResourceType sets the ResourceType field's value. 7219 func (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. 7225 type 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". 7240 func (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". 7249 func (s ProtectionGroupArbitraryPatternLimits) GoString() string { 7250 return s.String() 7251 } 7252 7253 // SetMaxMembers sets the MaxMembers field's value. 7254 func (s *ProtectionGroupArbitraryPatternLimits) SetMaxMembers(v int64) *ProtectionGroupArbitraryPatternLimits { 7255 s.MaxMembers = &v 7256 return s 7257 } 7258 7259 // Limits settings on protection groups for your subscription. 7260 type 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". 7279 func (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". 7288 func (s ProtectionGroupLimits) GoString() string { 7289 return s.String() 7290 } 7291 7292 // SetMaxProtectionGroups sets the MaxProtectionGroups field's value. 7293 func (s *ProtectionGroupLimits) SetMaxProtectionGroups(v int64) *ProtectionGroupLimits { 7294 s.MaxProtectionGroups = &v 7295 return s 7296 } 7297 7298 // SetPatternTypeLimits sets the PatternTypeLimits field's value. 7299 func (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. 7305 type 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". 7319 func (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". 7328 func (s ProtectionGroupPatternTypeLimits) GoString() string { 7329 return s.String() 7330 } 7331 7332 // SetArbitraryPatternLimits sets the ArbitraryPatternLimits field's value. 7333 func (s *ProtectionGroupPatternTypeLimits) SetArbitraryPatternLimits(v *ProtectionGroupArbitraryPatternLimits) *ProtectionGroupPatternTypeLimits { 7334 s.ArbitraryPatternLimits = v 7335 return s 7336 } 7337 7338 // Limits settings on protections for your subscription. 7339 type 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". 7353 func (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". 7362 func (s ProtectionLimits) GoString() string { 7363 return s.String() 7364 } 7365 7366 // SetProtectedResourceTypeLimits sets the ProtectedResourceTypeLimits field's value. 7367 func (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. 7374 type 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". 7389 func (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". 7398 func (s ResourceAlreadyExistsException) GoString() string { 7399 return s.String() 7400 } 7401 7402 func newErrorResourceAlreadyExistsException(v protocol.ResponseMetadata) error { 7403 return &ResourceAlreadyExistsException{ 7404 RespMetadata: v, 7405 } 7406 } 7407 7408 // Code returns the exception type name. 7409 func (s *ResourceAlreadyExistsException) Code() string { 7410 return "ResourceAlreadyExistsException" 7411 } 7412 7413 // Message returns the exception's message. 7414 func (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. 7422 func (s *ResourceAlreadyExistsException) OrigErr() error { 7423 return nil 7424 } 7425 7426 func (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. 7431 func (s *ResourceAlreadyExistsException) StatusCode() int { 7432 return s.RespMetadata.StatusCode 7433 } 7434 7435 // RequestID returns the service's response RequestID for request. 7436 func (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. 7442 type 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". 7457 func (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". 7466 func (s ResourceNotFoundException) GoString() string { 7467 return s.String() 7468 } 7469 7470 func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 7471 return &ResourceNotFoundException{ 7472 RespMetadata: v, 7473 } 7474 } 7475 7476 // Code returns the exception type name. 7477 func (s *ResourceNotFoundException) Code() string { 7478 return "ResourceNotFoundException" 7479 } 7480 7481 // Message returns the exception's message. 7482 func (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. 7490 func (s *ResourceNotFoundException) OrigErr() error { 7491 return nil 7492 } 7493 7494 func (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. 7499 func (s *ResourceNotFoundException) StatusCode() int { 7500 return s.RespMetadata.StatusCode 7501 } 7502 7503 // RequestID returns the service's response RequestID for request. 7504 func (s *ResourceNotFoundException) RequestID() string { 7505 return s.RespMetadata.RequestID 7506 } 7507 7508 // The attack information for the specified SubResource. 7509 type 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". 7530 func (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". 7539 func (s SubResourceSummary) GoString() string { 7540 return s.String() 7541 } 7542 7543 // SetAttackVectors sets the AttackVectors field's value. 7544 func (s *SubResourceSummary) SetAttackVectors(v []*SummarizedAttackVector) *SubResourceSummary { 7545 s.AttackVectors = v 7546 return s 7547 } 7548 7549 // SetCounters sets the Counters field's value. 7550 func (s *SubResourceSummary) SetCounters(v []*SummarizedCounter) *SubResourceSummary { 7551 s.Counters = v 7552 return s 7553 } 7554 7555 // SetId sets the Id field's value. 7556 func (s *SubResourceSummary) SetId(v string) *SubResourceSummary { 7557 s.Id = &v 7558 return s 7559 } 7560 7561 // SetType sets the Type field's value. 7562 func (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. 7568 type 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". 7618 func (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". 7627 func (s Subscription) GoString() string { 7628 return s.String() 7629 } 7630 7631 // SetAutoRenew sets the AutoRenew field's value. 7632 func (s *Subscription) SetAutoRenew(v string) *Subscription { 7633 s.AutoRenew = &v 7634 return s 7635 } 7636 7637 // SetEndTime sets the EndTime field's value. 7638 func (s *Subscription) SetEndTime(v time.Time) *Subscription { 7639 s.EndTime = &v 7640 return s 7641 } 7642 7643 // SetLimits sets the Limits field's value. 7644 func (s *Subscription) SetLimits(v []*Limit) *Subscription { 7645 s.Limits = v 7646 return s 7647 } 7648 7649 // SetProactiveEngagementStatus sets the ProactiveEngagementStatus field's value. 7650 func (s *Subscription) SetProactiveEngagementStatus(v string) *Subscription { 7651 s.ProactiveEngagementStatus = &v 7652 return s 7653 } 7654 7655 // SetStartTime sets the StartTime field's value. 7656 func (s *Subscription) SetStartTime(v time.Time) *Subscription { 7657 s.StartTime = &v 7658 return s 7659 } 7660 7661 // SetSubscriptionArn sets the SubscriptionArn field's value. 7662 func (s *Subscription) SetSubscriptionArn(v string) *Subscription { 7663 s.SubscriptionArn = &v 7664 return s 7665 } 7666 7667 // SetSubscriptionLimits sets the SubscriptionLimits field's value. 7668 func (s *Subscription) SetSubscriptionLimits(v *SubscriptionLimits) *Subscription { 7669 s.SubscriptionLimits = v 7670 return s 7671 } 7672 7673 // SetTimeCommitmentInSeconds sets the TimeCommitmentInSeconds field's value. 7674 func (s *Subscription) SetTimeCommitmentInSeconds(v int64) *Subscription { 7675 s.TimeCommitmentInSeconds = &v 7676 return s 7677 } 7678 7679 // Limits settings for your subscription. 7680 type 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". 7699 func (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". 7708 func (s SubscriptionLimits) GoString() string { 7709 return s.String() 7710 } 7711 7712 // SetProtectionGroupLimits sets the ProtectionGroupLimits field's value. 7713 func (s *SubscriptionLimits) SetProtectionGroupLimits(v *ProtectionGroupLimits) *SubscriptionLimits { 7714 s.ProtectionGroupLimits = v 7715 return s 7716 } 7717 7718 // SetProtectionLimits sets the ProtectionLimits field's value. 7719 func (s *SubscriptionLimits) SetProtectionLimits(v *ProtectionLimits) *SubscriptionLimits { 7720 s.ProtectionLimits = v 7721 return s 7722 } 7723 7724 // A summary of information about the attack. 7725 type 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". 7742 func (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". 7751 func (s SummarizedAttackVector) GoString() string { 7752 return s.String() 7753 } 7754 7755 // SetVectorCounters sets the VectorCounters field's value. 7756 func (s *SummarizedAttackVector) SetVectorCounters(v []*SummarizedCounter) *SummarizedAttackVector { 7757 s.VectorCounters = v 7758 return s 7759 } 7760 7761 // SetVectorType sets the VectorType field's value. 7762 func (s *SummarizedAttackVector) SetVectorType(v string) *SummarizedAttackVector { 7763 s.VectorType = &v 7764 return s 7765 } 7766 7767 // The counter that describes a DDoS attack. 7768 type 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". 7795 func (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". 7804 func (s SummarizedCounter) GoString() string { 7805 return s.String() 7806 } 7807 7808 // SetAverage sets the Average field's value. 7809 func (s *SummarizedCounter) SetAverage(v float64) *SummarizedCounter { 7810 s.Average = &v 7811 return s 7812 } 7813 7814 // SetMax sets the Max field's value. 7815 func (s *SummarizedCounter) SetMax(v float64) *SummarizedCounter { 7816 s.Max = &v 7817 return s 7818 } 7819 7820 // SetN sets the N field's value. 7821 func (s *SummarizedCounter) SetN(v int64) *SummarizedCounter { 7822 s.N = &v 7823 return s 7824 } 7825 7826 // SetName sets the Name field's value. 7827 func (s *SummarizedCounter) SetName(v string) *SummarizedCounter { 7828 s.Name = &v 7829 return s 7830 } 7831 7832 // SetSum sets the Sum field's value. 7833 func (s *SummarizedCounter) SetSum(v float64) *SummarizedCounter { 7834 s.Sum = &v 7835 return s 7836 } 7837 7838 // SetUnit sets the Unit field's value. 7839 func (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. 7852 type 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". 7870 func (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". 7879 func (s Tag) GoString() string { 7880 return s.String() 7881 } 7882 7883 // Validate inspects the fields of the type to determine if they are valid. 7884 func (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. 7897 func (s *Tag) SetKey(v string) *Tag { 7898 s.Key = &v 7899 return s 7900 } 7901 7902 // SetValue sets the Value field's value. 7903 func (s *Tag) SetValue(v string) *Tag { 7904 s.Value = &v 7905 return s 7906 } 7907 7908 type 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". 7928 func (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". 7937 func (s TagResourceInput) GoString() string { 7938 return s.String() 7939 } 7940 7941 // Validate inspects the fields of the type to determine if they are valid. 7942 func (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. 7971 func (s *TagResourceInput) SetResourceARN(v string) *TagResourceInput { 7972 s.ResourceARN = &v 7973 return s 7974 } 7975 7976 // SetTags sets the Tags field's value. 7977 func (s *TagResourceInput) SetTags(v []*Tag) *TagResourceInput { 7978 s.Tags = v 7979 return s 7980 } 7981 7982 type 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". 7991 func (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". 8000 func (s TagResourceOutput) GoString() string { 8001 return s.String() 8002 } 8003 8004 // The time range. 8005 type 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". 8022 func (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". 8031 func (s TimeRange) GoString() string { 8032 return s.String() 8033 } 8034 8035 // SetFromInclusive sets the FromInclusive field's value. 8036 func (s *TimeRange) SetFromInclusive(v time.Time) *TimeRange { 8037 s.FromInclusive = &v 8038 return s 8039 } 8040 8041 // SetToExclusive sets the ToExclusive field's value. 8042 func (s *TimeRange) SetToExclusive(v time.Time) *TimeRange { 8043 s.ToExclusive = &v 8044 return s 8045 } 8046 8047 type 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". 8067 func (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". 8076 func (s UntagResourceInput) GoString() string { 8077 return s.String() 8078 } 8079 8080 // Validate inspects the fields of the type to determine if they are valid. 8081 func (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. 8100 func (s *UntagResourceInput) SetResourceARN(v string) *UntagResourceInput { 8101 s.ResourceARN = &v 8102 return s 8103 } 8104 8105 // SetTagKeys sets the TagKeys field's value. 8106 func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 8107 s.TagKeys = v 8108 return s 8109 } 8110 8111 type 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". 8120 func (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". 8129 func (s UntagResourceOutput) GoString() string { 8130 return s.String() 8131 } 8132 8133 type 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". 8150 func (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". 8159 func (s UpdateEmergencyContactSettingsInput) GoString() string { 8160 return s.String() 8161 } 8162 8163 // Validate inspects the fields of the type to determine if they are valid. 8164 func (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. 8184 func (s *UpdateEmergencyContactSettingsInput) SetEmergencyContactList(v []*EmergencyContact) *UpdateEmergencyContactSettingsInput { 8185 s.EmergencyContactList = v 8186 return s 8187 } 8188 8189 type 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". 8198 func (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". 8207 func (s UpdateEmergencyContactSettingsOutput) GoString() string { 8208 return s.String() 8209 } 8210 8211 type 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". 8265 func (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". 8274 func (s UpdateProtectionGroupInput) GoString() string { 8275 return s.String() 8276 } 8277 8278 // Validate inspects the fields of the type to determine if they are valid. 8279 func (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. 8301 func (s *UpdateProtectionGroupInput) SetAggregation(v string) *UpdateProtectionGroupInput { 8302 s.Aggregation = &v 8303 return s 8304 } 8305 8306 // SetMembers sets the Members field's value. 8307 func (s *UpdateProtectionGroupInput) SetMembers(v []*string) *UpdateProtectionGroupInput { 8308 s.Members = v 8309 return s 8310 } 8311 8312 // SetPattern sets the Pattern field's value. 8313 func (s *UpdateProtectionGroupInput) SetPattern(v string) *UpdateProtectionGroupInput { 8314 s.Pattern = &v 8315 return s 8316 } 8317 8318 // SetProtectionGroupId sets the ProtectionGroupId field's value. 8319 func (s *UpdateProtectionGroupInput) SetProtectionGroupId(v string) *UpdateProtectionGroupInput { 8320 s.ProtectionGroupId = &v 8321 return s 8322 } 8323 8324 // SetResourceType sets the ResourceType field's value. 8325 func (s *UpdateProtectionGroupInput) SetResourceType(v string) *UpdateProtectionGroupInput { 8326 s.ResourceType = &v 8327 return s 8328 } 8329 8330 type 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". 8339 func (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". 8348 func (s UpdateProtectionGroupOutput) GoString() string { 8349 return s.String() 8350 } 8351 8352 type 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". 8368 func (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". 8377 func (s UpdateSubscriptionInput) GoString() string { 8378 return s.String() 8379 } 8380 8381 // SetAutoRenew sets the AutoRenew field's value. 8382 func (s *UpdateSubscriptionInput) SetAutoRenew(v string) *UpdateSubscriptionInput { 8383 s.AutoRenew = &v 8384 return s 8385 } 8386 8387 type 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". 8396 func (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". 8405 func (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. 8411 type 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". 8430 func (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". 8439 func (s ValidationExceptionField) GoString() string { 8440 return s.String() 8441 } 8442 8443 // SetMessage sets the Message field's value. 8444 func (s *ValidationExceptionField) SetMessage(v string) *ValidationExceptionField { 8445 s.Message = &v 8446 return s 8447 } 8448 8449 // SetName sets the Name field's value. 8450 func (s *ValidationExceptionField) SetName(v string) *ValidationExceptionField { 8451 s.Name = &v 8452 return s 8453 } 8454 8455 const ( 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 8464 func AttackLayer_Values() []string { 8465 return []string{ 8466 AttackLayerNetwork, 8467 AttackLayerApplication, 8468 } 8469 } 8470 8471 const ( 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 8498 func 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 8511 const ( 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 8520 func AutoRenew_Values() []string { 8521 return []string{ 8522 AutoRenewEnabled, 8523 AutoRenewDisabled, 8524 } 8525 } 8526 8527 const ( 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 8539 func ProactiveEngagementStatus_Values() []string { 8540 return []string{ 8541 ProactiveEngagementStatusEnabled, 8542 ProactiveEngagementStatusDisabled, 8543 ProactiveEngagementStatusPending, 8544 } 8545 } 8546 8547 const ( 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 8568 func ProtectedResourceType_Values() []string { 8569 return []string{ 8570 ProtectedResourceTypeCloudfrontDistribution, 8571 ProtectedResourceTypeRoute53HostedZone, 8572 ProtectedResourceTypeElasticIpAllocation, 8573 ProtectedResourceTypeClassicLoadBalancer, 8574 ProtectedResourceTypeApplicationLoadBalancer, 8575 ProtectedResourceTypeGlobalAccelerator, 8576 } 8577 } 8578 8579 const ( 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 8591 func ProtectionGroupAggregation_Values() []string { 8592 return []string{ 8593 ProtectionGroupAggregationSum, 8594 ProtectionGroupAggregationMean, 8595 ProtectionGroupAggregationMax, 8596 } 8597 } 8598 8599 const ( 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 8611 func ProtectionGroupPattern_Values() []string { 8612 return []string{ 8613 ProtectionGroupPatternAll, 8614 ProtectionGroupPatternArbitrary, 8615 ProtectionGroupPatternByResourceType, 8616 } 8617 } 8618 8619 const ( 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 8628 func SubResourceType_Values() []string { 8629 return []string{ 8630 SubResourceTypeIp, 8631 SubResourceTypeUrl, 8632 } 8633 } 8634 8635 const ( 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 8644 func SubscriptionState_Values() []string { 8645 return []string{ 8646 SubscriptionStateActive, 8647 SubscriptionStateInactive, 8648 } 8649 } 8650 8651 const ( 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 8666 func Unit_Values() []string { 8667 return []string{ 8668 UnitBits, 8669 UnitBytes, 8670 UnitPackets, 8671 UnitRequests, 8672 } 8673 } 8674 8675 const ( 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 8684 func ValidationExceptionReason_Values() []string { 8685 return []string{ 8686 ValidationExceptionReasonFieldValidationFailed, 8687 ValidationExceptionReasonOther, 8688 } 8689 }