1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT. 2 3package fms 4 5import ( 6 "fmt" 7 "time" 8 9 "github.com/aws/aws-sdk-go/aws" 10 "github.com/aws/aws-sdk-go/aws/awsutil" 11 "github.com/aws/aws-sdk-go/aws/request" 12 "github.com/aws/aws-sdk-go/private/protocol" 13 "github.com/aws/aws-sdk-go/private/protocol/jsonrpc" 14) 15 16const opAssociateAdminAccount = "AssociateAdminAccount" 17 18// AssociateAdminAccountRequest generates a "aws/request.Request" representing the 19// client's request for the AssociateAdminAccount 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 AssociateAdminAccount for more information on using the AssociateAdminAccount 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 AssociateAdminAccountRequest method. 34// req, resp := client.AssociateAdminAccountRequest(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/fms-2018-01-01/AssociateAdminAccount 42func (c *FMS) AssociateAdminAccountRequest(input *AssociateAdminAccountInput) (req *request.Request, output *AssociateAdminAccountOutput) { 43 op := &request.Operation{ 44 Name: opAssociateAdminAccount, 45 HTTPMethod: "POST", 46 HTTPPath: "/", 47 } 48 49 if input == nil { 50 input = &AssociateAdminAccountInput{} 51 } 52 53 output = &AssociateAdminAccountOutput{} 54 req = c.newRequest(op, input, output) 55 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 56 return 57} 58 59// AssociateAdminAccount API operation for Firewall Management Service. 60// 61// Sets the AWS Firewall Manager administrator account. AWS Firewall Manager 62// must be associated with the master account of your AWS organization or associated 63// with a member account that has the appropriate permissions. If the account 64// ID that you submit is not an AWS Organizations master account, AWS Firewall 65// Manager will set the appropriate permissions for the given member account. 66// 67// The account that you associate with AWS Firewall Manager is called the AWS 68// Firewall Manager administrator account. 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 Firewall Management Service's 75// API operation AssociateAdminAccount for usage and error information. 76// 77// Returned Error Types: 78// * InvalidOperationException 79// The operation failed because there was nothing to do or the operation wasn't 80// possible. For example, you might have submitted an AssociateAdminAccount 81// request for an account ID that was already set as the AWS Firewall Manager 82// administrator. Or you might have tried to access a Region that's disabled 83// by default, and that you need to enable for the Firewall Manager administrator 84// account and for AWS Organizations before you can access it. 85// 86// * InvalidInputException 87// The parameters of the request were invalid. 88// 89// * ResourceNotFoundException 90// The specified resource was not found. 91// 92// * InternalErrorException 93// The operation failed because of a system problem, even though the request 94// was valid. Retry your request. 95// 96// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccount 97func (c *FMS) AssociateAdminAccount(input *AssociateAdminAccountInput) (*AssociateAdminAccountOutput, error) { 98 req, out := c.AssociateAdminAccountRequest(input) 99 return out, req.Send() 100} 101 102// AssociateAdminAccountWithContext is the same as AssociateAdminAccount with the addition of 103// the ability to pass a context and additional request options. 104// 105// See AssociateAdminAccount for details on how to use this API operation. 106// 107// The context must be non-nil and will be used for request cancellation. If 108// the context is nil a panic will occur. In the future the SDK may create 109// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 110// for more information on using Contexts. 111func (c *FMS) AssociateAdminAccountWithContext(ctx aws.Context, input *AssociateAdminAccountInput, opts ...request.Option) (*AssociateAdminAccountOutput, error) { 112 req, out := c.AssociateAdminAccountRequest(input) 113 req.SetContext(ctx) 114 req.ApplyOptions(opts...) 115 return out, req.Send() 116} 117 118const opDeleteAppsList = "DeleteAppsList" 119 120// DeleteAppsListRequest generates a "aws/request.Request" representing the 121// client's request for the DeleteAppsList operation. The "output" return 122// value will be populated with the request's response once the request completes 123// successfully. 124// 125// Use "Send" method on the returned Request to send the API call to the service. 126// the "output" return value is not valid until after Send returns without error. 127// 128// See DeleteAppsList for more information on using the DeleteAppsList 129// API call, and error handling. 130// 131// This method is useful when you want to inject custom logic or configuration 132// into the SDK's request lifecycle. Such as custom headers, or retry logic. 133// 134// 135// // Example sending a request using the DeleteAppsListRequest method. 136// req, resp := client.DeleteAppsListRequest(params) 137// 138// err := req.Send() 139// if err == nil { // resp is now filled 140// fmt.Println(resp) 141// } 142// 143// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList 144func (c *FMS) DeleteAppsListRequest(input *DeleteAppsListInput) (req *request.Request, output *DeleteAppsListOutput) { 145 op := &request.Operation{ 146 Name: opDeleteAppsList, 147 HTTPMethod: "POST", 148 HTTPPath: "/", 149 } 150 151 if input == nil { 152 input = &DeleteAppsListInput{} 153 } 154 155 output = &DeleteAppsListOutput{} 156 req = c.newRequest(op, input, output) 157 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 158 return 159} 160 161// DeleteAppsList API operation for Firewall Management Service. 162// 163// Permanently deletes an AWS Firewall Manager applications list. 164// 165// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 166// with awserr.Error's Code and Message methods to get detailed information about 167// the error. 168// 169// See the AWS API reference guide for Firewall Management Service's 170// API operation DeleteAppsList for usage and error information. 171// 172// Returned Error Types: 173// * ResourceNotFoundException 174// The specified resource was not found. 175// 176// * InvalidOperationException 177// The operation failed because there was nothing to do or the operation wasn't 178// possible. For example, you might have submitted an AssociateAdminAccount 179// request for an account ID that was already set as the AWS Firewall Manager 180// administrator. Or you might have tried to access a Region that's disabled 181// by default, and that you need to enable for the Firewall Manager administrator 182// account and for AWS Organizations before you can access it. 183// 184// * InternalErrorException 185// The operation failed because of a system problem, even though the request 186// was valid. Retry your request. 187// 188// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteAppsList 189func (c *FMS) DeleteAppsList(input *DeleteAppsListInput) (*DeleteAppsListOutput, error) { 190 req, out := c.DeleteAppsListRequest(input) 191 return out, req.Send() 192} 193 194// DeleteAppsListWithContext is the same as DeleteAppsList with the addition of 195// the ability to pass a context and additional request options. 196// 197// See DeleteAppsList for details on how to use this API operation. 198// 199// The context must be non-nil and will be used for request cancellation. If 200// the context is nil a panic will occur. In the future the SDK may create 201// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 202// for more information on using Contexts. 203func (c *FMS) DeleteAppsListWithContext(ctx aws.Context, input *DeleteAppsListInput, opts ...request.Option) (*DeleteAppsListOutput, error) { 204 req, out := c.DeleteAppsListRequest(input) 205 req.SetContext(ctx) 206 req.ApplyOptions(opts...) 207 return out, req.Send() 208} 209 210const opDeleteNotificationChannel = "DeleteNotificationChannel" 211 212// DeleteNotificationChannelRequest generates a "aws/request.Request" representing the 213// client's request for the DeleteNotificationChannel operation. The "output" return 214// value will be populated with the request's response once the request completes 215// successfully. 216// 217// Use "Send" method on the returned Request to send the API call to the service. 218// the "output" return value is not valid until after Send returns without error. 219// 220// See DeleteNotificationChannel for more information on using the DeleteNotificationChannel 221// API call, and error handling. 222// 223// This method is useful when you want to inject custom logic or configuration 224// into the SDK's request lifecycle. Such as custom headers, or retry logic. 225// 226// 227// // Example sending a request using the DeleteNotificationChannelRequest method. 228// req, resp := client.DeleteNotificationChannelRequest(params) 229// 230// err := req.Send() 231// if err == nil { // resp is now filled 232// fmt.Println(resp) 233// } 234// 235// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel 236func (c *FMS) DeleteNotificationChannelRequest(input *DeleteNotificationChannelInput) (req *request.Request, output *DeleteNotificationChannelOutput) { 237 op := &request.Operation{ 238 Name: opDeleteNotificationChannel, 239 HTTPMethod: "POST", 240 HTTPPath: "/", 241 } 242 243 if input == nil { 244 input = &DeleteNotificationChannelInput{} 245 } 246 247 output = &DeleteNotificationChannelOutput{} 248 req = c.newRequest(op, input, output) 249 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 250 return 251} 252 253// DeleteNotificationChannel API operation for Firewall Management Service. 254// 255// Deletes an AWS Firewall Manager association with the IAM role and the Amazon 256// Simple Notification Service (SNS) topic that is used to record AWS Firewall 257// Manager SNS logs. 258// 259// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 260// with awserr.Error's Code and Message methods to get detailed information about 261// the error. 262// 263// See the AWS API reference guide for Firewall Management Service's 264// API operation DeleteNotificationChannel for usage and error information. 265// 266// Returned Error Types: 267// * ResourceNotFoundException 268// The specified resource was not found. 269// 270// * InvalidOperationException 271// The operation failed because there was nothing to do or the operation wasn't 272// possible. For example, you might have submitted an AssociateAdminAccount 273// request for an account ID that was already set as the AWS Firewall Manager 274// administrator. Or you might have tried to access a Region that's disabled 275// by default, and that you need to enable for the Firewall Manager administrator 276// account and for AWS Organizations before you can access it. 277// 278// * InternalErrorException 279// The operation failed because of a system problem, even though the request 280// was valid. Retry your request. 281// 282// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel 283func (c *FMS) DeleteNotificationChannel(input *DeleteNotificationChannelInput) (*DeleteNotificationChannelOutput, error) { 284 req, out := c.DeleteNotificationChannelRequest(input) 285 return out, req.Send() 286} 287 288// DeleteNotificationChannelWithContext is the same as DeleteNotificationChannel with the addition of 289// the ability to pass a context and additional request options. 290// 291// See DeleteNotificationChannel for details on how to use this API operation. 292// 293// The context must be non-nil and will be used for request cancellation. If 294// the context is nil a panic will occur. In the future the SDK may create 295// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 296// for more information on using Contexts. 297func (c *FMS) DeleteNotificationChannelWithContext(ctx aws.Context, input *DeleteNotificationChannelInput, opts ...request.Option) (*DeleteNotificationChannelOutput, error) { 298 req, out := c.DeleteNotificationChannelRequest(input) 299 req.SetContext(ctx) 300 req.ApplyOptions(opts...) 301 return out, req.Send() 302} 303 304const opDeletePolicy = "DeletePolicy" 305 306// DeletePolicyRequest generates a "aws/request.Request" representing the 307// client's request for the DeletePolicy operation. The "output" return 308// value will be populated with the request's response once the request completes 309// successfully. 310// 311// Use "Send" method on the returned Request to send the API call to the service. 312// the "output" return value is not valid until after Send returns without error. 313// 314// See DeletePolicy for more information on using the DeletePolicy 315// API call, and error handling. 316// 317// This method is useful when you want to inject custom logic or configuration 318// into the SDK's request lifecycle. Such as custom headers, or retry logic. 319// 320// 321// // Example sending a request using the DeletePolicyRequest method. 322// req, resp := client.DeletePolicyRequest(params) 323// 324// err := req.Send() 325// if err == nil { // resp is now filled 326// fmt.Println(resp) 327// } 328// 329// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy 330func (c *FMS) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) { 331 op := &request.Operation{ 332 Name: opDeletePolicy, 333 HTTPMethod: "POST", 334 HTTPPath: "/", 335 } 336 337 if input == nil { 338 input = &DeletePolicyInput{} 339 } 340 341 output = &DeletePolicyOutput{} 342 req = c.newRequest(op, input, output) 343 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 344 return 345} 346 347// DeletePolicy API operation for Firewall Management Service. 348// 349// Permanently deletes an AWS Firewall Manager policy. 350// 351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 352// with awserr.Error's Code and Message methods to get detailed information about 353// the error. 354// 355// See the AWS API reference guide for Firewall Management Service's 356// API operation DeletePolicy for usage and error information. 357// 358// Returned Error Types: 359// * ResourceNotFoundException 360// The specified resource was not found. 361// 362// * InvalidOperationException 363// The operation failed because there was nothing to do or the operation wasn't 364// possible. For example, you might have submitted an AssociateAdminAccount 365// request for an account ID that was already set as the AWS Firewall Manager 366// administrator. Or you might have tried to access a Region that's disabled 367// by default, and that you need to enable for the Firewall Manager administrator 368// account and for AWS Organizations before you can access it. 369// 370// * InternalErrorException 371// The operation failed because of a system problem, even though the request 372// was valid. Retry your request. 373// 374// * InvalidInputException 375// The parameters of the request were invalid. 376// 377// * LimitExceededException 378// The operation exceeds a resource limit, for example, the maximum number of 379// policy objects that you can create for an AWS account. For more information, 380// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 381// in the AWS WAF Developer Guide. 382// 383// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy 384func (c *FMS) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) { 385 req, out := c.DeletePolicyRequest(input) 386 return out, req.Send() 387} 388 389// DeletePolicyWithContext is the same as DeletePolicy with the addition of 390// the ability to pass a context and additional request options. 391// 392// See DeletePolicy for details on how to use this API operation. 393// 394// The context must be non-nil and will be used for request cancellation. If 395// the context is nil a panic will occur. In the future the SDK may create 396// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 397// for more information on using Contexts. 398func (c *FMS) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) { 399 req, out := c.DeletePolicyRequest(input) 400 req.SetContext(ctx) 401 req.ApplyOptions(opts...) 402 return out, req.Send() 403} 404 405const opDeleteProtocolsList = "DeleteProtocolsList" 406 407// DeleteProtocolsListRequest generates a "aws/request.Request" representing the 408// client's request for the DeleteProtocolsList operation. The "output" return 409// value will be populated with the request's response once the request completes 410// successfully. 411// 412// Use "Send" method on the returned Request to send the API call to the service. 413// the "output" return value is not valid until after Send returns without error. 414// 415// See DeleteProtocolsList for more information on using the DeleteProtocolsList 416// API call, and error handling. 417// 418// This method is useful when you want to inject custom logic or configuration 419// into the SDK's request lifecycle. Such as custom headers, or retry logic. 420// 421// 422// // Example sending a request using the DeleteProtocolsListRequest method. 423// req, resp := client.DeleteProtocolsListRequest(params) 424// 425// err := req.Send() 426// if err == nil { // resp is now filled 427// fmt.Println(resp) 428// } 429// 430// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList 431func (c *FMS) DeleteProtocolsListRequest(input *DeleteProtocolsListInput) (req *request.Request, output *DeleteProtocolsListOutput) { 432 op := &request.Operation{ 433 Name: opDeleteProtocolsList, 434 HTTPMethod: "POST", 435 HTTPPath: "/", 436 } 437 438 if input == nil { 439 input = &DeleteProtocolsListInput{} 440 } 441 442 output = &DeleteProtocolsListOutput{} 443 req = c.newRequest(op, input, output) 444 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 445 return 446} 447 448// DeleteProtocolsList API operation for Firewall Management Service. 449// 450// Permanently deletes an AWS Firewall Manager protocols list. 451// 452// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 453// with awserr.Error's Code and Message methods to get detailed information about 454// the error. 455// 456// See the AWS API reference guide for Firewall Management Service's 457// API operation DeleteProtocolsList for usage and error information. 458// 459// Returned Error Types: 460// * ResourceNotFoundException 461// The specified resource was not found. 462// 463// * InvalidOperationException 464// The operation failed because there was nothing to do or the operation wasn't 465// possible. For example, you might have submitted an AssociateAdminAccount 466// request for an account ID that was already set as the AWS Firewall Manager 467// administrator. Or you might have tried to access a Region that's disabled 468// by default, and that you need to enable for the Firewall Manager administrator 469// account and for AWS Organizations before you can access it. 470// 471// * InternalErrorException 472// The operation failed because of a system problem, even though the request 473// was valid. Retry your request. 474// 475// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteProtocolsList 476func (c *FMS) DeleteProtocolsList(input *DeleteProtocolsListInput) (*DeleteProtocolsListOutput, error) { 477 req, out := c.DeleteProtocolsListRequest(input) 478 return out, req.Send() 479} 480 481// DeleteProtocolsListWithContext is the same as DeleteProtocolsList with the addition of 482// the ability to pass a context and additional request options. 483// 484// See DeleteProtocolsList for details on how to use this API operation. 485// 486// The context must be non-nil and will be used for request cancellation. If 487// the context is nil a panic will occur. In the future the SDK may create 488// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 489// for more information on using Contexts. 490func (c *FMS) DeleteProtocolsListWithContext(ctx aws.Context, input *DeleteProtocolsListInput, opts ...request.Option) (*DeleteProtocolsListOutput, error) { 491 req, out := c.DeleteProtocolsListRequest(input) 492 req.SetContext(ctx) 493 req.ApplyOptions(opts...) 494 return out, req.Send() 495} 496 497const opDisassociateAdminAccount = "DisassociateAdminAccount" 498 499// DisassociateAdminAccountRequest generates a "aws/request.Request" representing the 500// client's request for the DisassociateAdminAccount operation. The "output" return 501// value will be populated with the request's response once the request completes 502// successfully. 503// 504// Use "Send" method on the returned Request to send the API call to the service. 505// the "output" return value is not valid until after Send returns without error. 506// 507// See DisassociateAdminAccount for more information on using the DisassociateAdminAccount 508// API call, and error handling. 509// 510// This method is useful when you want to inject custom logic or configuration 511// into the SDK's request lifecycle. Such as custom headers, or retry logic. 512// 513// 514// // Example sending a request using the DisassociateAdminAccountRequest method. 515// req, resp := client.DisassociateAdminAccountRequest(params) 516// 517// err := req.Send() 518// if err == nil { // resp is now filled 519// fmt.Println(resp) 520// } 521// 522// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount 523func (c *FMS) DisassociateAdminAccountRequest(input *DisassociateAdminAccountInput) (req *request.Request, output *DisassociateAdminAccountOutput) { 524 op := &request.Operation{ 525 Name: opDisassociateAdminAccount, 526 HTTPMethod: "POST", 527 HTTPPath: "/", 528 } 529 530 if input == nil { 531 input = &DisassociateAdminAccountInput{} 532 } 533 534 output = &DisassociateAdminAccountOutput{} 535 req = c.newRequest(op, input, output) 536 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 537 return 538} 539 540// DisassociateAdminAccount API operation for Firewall Management Service. 541// 542// Disassociates the account that has been set as the AWS Firewall Manager administrator 543// account. To set a different account as the administrator account, you must 544// submit an AssociateAdminAccount request. 545// 546// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 547// with awserr.Error's Code and Message methods to get detailed information about 548// the error. 549// 550// See the AWS API reference guide for Firewall Management Service's 551// API operation DisassociateAdminAccount for usage and error information. 552// 553// Returned Error Types: 554// * InvalidOperationException 555// The operation failed because there was nothing to do or the operation wasn't 556// possible. For example, you might have submitted an AssociateAdminAccount 557// request for an account ID that was already set as the AWS Firewall Manager 558// administrator. Or you might have tried to access a Region that's disabled 559// by default, and that you need to enable for the Firewall Manager administrator 560// account and for AWS Organizations before you can access it. 561// 562// * ResourceNotFoundException 563// The specified resource was not found. 564// 565// * InternalErrorException 566// The operation failed because of a system problem, even though the request 567// was valid. Retry your request. 568// 569// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount 570func (c *FMS) DisassociateAdminAccount(input *DisassociateAdminAccountInput) (*DisassociateAdminAccountOutput, error) { 571 req, out := c.DisassociateAdminAccountRequest(input) 572 return out, req.Send() 573} 574 575// DisassociateAdminAccountWithContext is the same as DisassociateAdminAccount with the addition of 576// the ability to pass a context and additional request options. 577// 578// See DisassociateAdminAccount for details on how to use this API operation. 579// 580// The context must be non-nil and will be used for request cancellation. If 581// the context is nil a panic will occur. In the future the SDK may create 582// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 583// for more information on using Contexts. 584func (c *FMS) DisassociateAdminAccountWithContext(ctx aws.Context, input *DisassociateAdminAccountInput, opts ...request.Option) (*DisassociateAdminAccountOutput, error) { 585 req, out := c.DisassociateAdminAccountRequest(input) 586 req.SetContext(ctx) 587 req.ApplyOptions(opts...) 588 return out, req.Send() 589} 590 591const opGetAdminAccount = "GetAdminAccount" 592 593// GetAdminAccountRequest generates a "aws/request.Request" representing the 594// client's request for the GetAdminAccount operation. The "output" return 595// value will be populated with the request's response once the request completes 596// successfully. 597// 598// Use "Send" method on the returned Request to send the API call to the service. 599// the "output" return value is not valid until after Send returns without error. 600// 601// See GetAdminAccount for more information on using the GetAdminAccount 602// API call, and error handling. 603// 604// This method is useful when you want to inject custom logic or configuration 605// into the SDK's request lifecycle. Such as custom headers, or retry logic. 606// 607// 608// // Example sending a request using the GetAdminAccountRequest method. 609// req, resp := client.GetAdminAccountRequest(params) 610// 611// err := req.Send() 612// if err == nil { // resp is now filled 613// fmt.Println(resp) 614// } 615// 616// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount 617func (c *FMS) GetAdminAccountRequest(input *GetAdminAccountInput) (req *request.Request, output *GetAdminAccountOutput) { 618 op := &request.Operation{ 619 Name: opGetAdminAccount, 620 HTTPMethod: "POST", 621 HTTPPath: "/", 622 } 623 624 if input == nil { 625 input = &GetAdminAccountInput{} 626 } 627 628 output = &GetAdminAccountOutput{} 629 req = c.newRequest(op, input, output) 630 return 631} 632 633// GetAdminAccount API operation for Firewall Management Service. 634// 635// Returns the AWS Organizations master account that is associated with AWS 636// Firewall Manager as the AWS Firewall Manager administrator. 637// 638// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 639// with awserr.Error's Code and Message methods to get detailed information about 640// the error. 641// 642// See the AWS API reference guide for Firewall Management Service's 643// API operation GetAdminAccount for usage and error information. 644// 645// Returned Error Types: 646// * InvalidOperationException 647// The operation failed because there was nothing to do or the operation wasn't 648// possible. For example, you might have submitted an AssociateAdminAccount 649// request for an account ID that was already set as the AWS Firewall Manager 650// administrator. Or you might have tried to access a Region that's disabled 651// by default, and that you need to enable for the Firewall Manager administrator 652// account and for AWS Organizations before you can access it. 653// 654// * ResourceNotFoundException 655// The specified resource was not found. 656// 657// * InternalErrorException 658// The operation failed because of a system problem, even though the request 659// was valid. Retry your request. 660// 661// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount 662func (c *FMS) GetAdminAccount(input *GetAdminAccountInput) (*GetAdminAccountOutput, error) { 663 req, out := c.GetAdminAccountRequest(input) 664 return out, req.Send() 665} 666 667// GetAdminAccountWithContext is the same as GetAdminAccount with the addition of 668// the ability to pass a context and additional request options. 669// 670// See GetAdminAccount for details on how to use this API operation. 671// 672// The context must be non-nil and will be used for request cancellation. If 673// the context is nil a panic will occur. In the future the SDK may create 674// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 675// for more information on using Contexts. 676func (c *FMS) GetAdminAccountWithContext(ctx aws.Context, input *GetAdminAccountInput, opts ...request.Option) (*GetAdminAccountOutput, error) { 677 req, out := c.GetAdminAccountRequest(input) 678 req.SetContext(ctx) 679 req.ApplyOptions(opts...) 680 return out, req.Send() 681} 682 683const opGetAppsList = "GetAppsList" 684 685// GetAppsListRequest generates a "aws/request.Request" representing the 686// client's request for the GetAppsList operation. The "output" return 687// value will be populated with the request's response once the request completes 688// successfully. 689// 690// Use "Send" method on the returned Request to send the API call to the service. 691// the "output" return value is not valid until after Send returns without error. 692// 693// See GetAppsList for more information on using the GetAppsList 694// API call, and error handling. 695// 696// This method is useful when you want to inject custom logic or configuration 697// into the SDK's request lifecycle. Such as custom headers, or retry logic. 698// 699// 700// // Example sending a request using the GetAppsListRequest method. 701// req, resp := client.GetAppsListRequest(params) 702// 703// err := req.Send() 704// if err == nil { // resp is now filled 705// fmt.Println(resp) 706// } 707// 708// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList 709func (c *FMS) GetAppsListRequest(input *GetAppsListInput) (req *request.Request, output *GetAppsListOutput) { 710 op := &request.Operation{ 711 Name: opGetAppsList, 712 HTTPMethod: "POST", 713 HTTPPath: "/", 714 } 715 716 if input == nil { 717 input = &GetAppsListInput{} 718 } 719 720 output = &GetAppsListOutput{} 721 req = c.newRequest(op, input, output) 722 return 723} 724 725// GetAppsList API operation for Firewall Management Service. 726// 727// Returns information about the specified AWS Firewall Manager applications 728// list. 729// 730// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 731// with awserr.Error's Code and Message methods to get detailed information about 732// the error. 733// 734// See the AWS API reference guide for Firewall Management Service's 735// API operation GetAppsList for usage and error information. 736// 737// Returned Error Types: 738// * ResourceNotFoundException 739// The specified resource was not found. 740// 741// * InvalidOperationException 742// The operation failed because there was nothing to do or the operation wasn't 743// possible. For example, you might have submitted an AssociateAdminAccount 744// request for an account ID that was already set as the AWS Firewall Manager 745// administrator. Or you might have tried to access a Region that's disabled 746// by default, and that you need to enable for the Firewall Manager administrator 747// account and for AWS Organizations before you can access it. 748// 749// * InternalErrorException 750// The operation failed because of a system problem, even though the request 751// was valid. Retry your request. 752// 753// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAppsList 754func (c *FMS) GetAppsList(input *GetAppsListInput) (*GetAppsListOutput, error) { 755 req, out := c.GetAppsListRequest(input) 756 return out, req.Send() 757} 758 759// GetAppsListWithContext is the same as GetAppsList with the addition of 760// the ability to pass a context and additional request options. 761// 762// See GetAppsList for details on how to use this API operation. 763// 764// The context must be non-nil and will be used for request cancellation. If 765// the context is nil a panic will occur. In the future the SDK may create 766// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 767// for more information on using Contexts. 768func (c *FMS) GetAppsListWithContext(ctx aws.Context, input *GetAppsListInput, opts ...request.Option) (*GetAppsListOutput, error) { 769 req, out := c.GetAppsListRequest(input) 770 req.SetContext(ctx) 771 req.ApplyOptions(opts...) 772 return out, req.Send() 773} 774 775const opGetComplianceDetail = "GetComplianceDetail" 776 777// GetComplianceDetailRequest generates a "aws/request.Request" representing the 778// client's request for the GetComplianceDetail operation. The "output" return 779// value will be populated with the request's response once the request completes 780// successfully. 781// 782// Use "Send" method on the returned Request to send the API call to the service. 783// the "output" return value is not valid until after Send returns without error. 784// 785// See GetComplianceDetail for more information on using the GetComplianceDetail 786// API call, and error handling. 787// 788// This method is useful when you want to inject custom logic or configuration 789// into the SDK's request lifecycle. Such as custom headers, or retry logic. 790// 791// 792// // Example sending a request using the GetComplianceDetailRequest method. 793// req, resp := client.GetComplianceDetailRequest(params) 794// 795// err := req.Send() 796// if err == nil { // resp is now filled 797// fmt.Println(resp) 798// } 799// 800// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail 801func (c *FMS) GetComplianceDetailRequest(input *GetComplianceDetailInput) (req *request.Request, output *GetComplianceDetailOutput) { 802 op := &request.Operation{ 803 Name: opGetComplianceDetail, 804 HTTPMethod: "POST", 805 HTTPPath: "/", 806 } 807 808 if input == nil { 809 input = &GetComplianceDetailInput{} 810 } 811 812 output = &GetComplianceDetailOutput{} 813 req = c.newRequest(op, input, output) 814 return 815} 816 817// GetComplianceDetail API operation for Firewall Management Service. 818// 819// Returns detailed compliance information about the specified member account. 820// Details include resources that are in and out of compliance with the specified 821// policy. Resources are considered noncompliant for AWS WAF and Shield Advanced 822// policies if the specified policy has not been applied to them. Resources 823// are considered noncompliant for security group policies if they are in scope 824// of the policy, they violate one or more of the policy rules, and remediation 825// is disabled or not possible. Resources are considered noncompliant for Network 826// Firewall policies if a firewall is missing in the VPC, if the firewall endpoint 827// isn't set up in an expected Availability Zone and subnet, if a subnet created 828// by the Firewall Manager doesn't have the expected route table, and for modifications 829// to a firewall policy that violate the Firewall Manager policy's rules. 830// 831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 832// with awserr.Error's Code and Message methods to get detailed information about 833// the error. 834// 835// See the AWS API reference guide for Firewall Management Service's 836// API operation GetComplianceDetail for usage and error information. 837// 838// Returned Error Types: 839// * ResourceNotFoundException 840// The specified resource was not found. 841// 842// * InternalErrorException 843// The operation failed because of a system problem, even though the request 844// was valid. Retry your request. 845// 846// * InvalidInputException 847// The parameters of the request were invalid. 848// 849// * InvalidOperationException 850// The operation failed because there was nothing to do or the operation wasn't 851// possible. For example, you might have submitted an AssociateAdminAccount 852// request for an account ID that was already set as the AWS Firewall Manager 853// administrator. Or you might have tried to access a Region that's disabled 854// by default, and that you need to enable for the Firewall Manager administrator 855// account and for AWS Organizations before you can access it. 856// 857// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail 858func (c *FMS) GetComplianceDetail(input *GetComplianceDetailInput) (*GetComplianceDetailOutput, error) { 859 req, out := c.GetComplianceDetailRequest(input) 860 return out, req.Send() 861} 862 863// GetComplianceDetailWithContext is the same as GetComplianceDetail with the addition of 864// the ability to pass a context and additional request options. 865// 866// See GetComplianceDetail for details on how to use this API operation. 867// 868// The context must be non-nil and will be used for request cancellation. If 869// the context is nil a panic will occur. In the future the SDK may create 870// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 871// for more information on using Contexts. 872func (c *FMS) GetComplianceDetailWithContext(ctx aws.Context, input *GetComplianceDetailInput, opts ...request.Option) (*GetComplianceDetailOutput, error) { 873 req, out := c.GetComplianceDetailRequest(input) 874 req.SetContext(ctx) 875 req.ApplyOptions(opts...) 876 return out, req.Send() 877} 878 879const opGetNotificationChannel = "GetNotificationChannel" 880 881// GetNotificationChannelRequest generates a "aws/request.Request" representing the 882// client's request for the GetNotificationChannel operation. The "output" return 883// value will be populated with the request's response once the request completes 884// successfully. 885// 886// Use "Send" method on the returned Request to send the API call to the service. 887// the "output" return value is not valid until after Send returns without error. 888// 889// See GetNotificationChannel for more information on using the GetNotificationChannel 890// API call, and error handling. 891// 892// This method is useful when you want to inject custom logic or configuration 893// into the SDK's request lifecycle. Such as custom headers, or retry logic. 894// 895// 896// // Example sending a request using the GetNotificationChannelRequest method. 897// req, resp := client.GetNotificationChannelRequest(params) 898// 899// err := req.Send() 900// if err == nil { // resp is now filled 901// fmt.Println(resp) 902// } 903// 904// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel 905func (c *FMS) GetNotificationChannelRequest(input *GetNotificationChannelInput) (req *request.Request, output *GetNotificationChannelOutput) { 906 op := &request.Operation{ 907 Name: opGetNotificationChannel, 908 HTTPMethod: "POST", 909 HTTPPath: "/", 910 } 911 912 if input == nil { 913 input = &GetNotificationChannelInput{} 914 } 915 916 output = &GetNotificationChannelOutput{} 917 req = c.newRequest(op, input, output) 918 return 919} 920 921// GetNotificationChannel API operation for Firewall Management Service. 922// 923// Information about the Amazon Simple Notification Service (SNS) topic that 924// is used to record AWS Firewall Manager SNS logs. 925// 926// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 927// with awserr.Error's Code and Message methods to get detailed information about 928// the error. 929// 930// See the AWS API reference guide for Firewall Management Service's 931// API operation GetNotificationChannel for usage and error information. 932// 933// Returned Error Types: 934// * ResourceNotFoundException 935// The specified resource was not found. 936// 937// * InvalidOperationException 938// The operation failed because there was nothing to do or the operation wasn't 939// possible. For example, you might have submitted an AssociateAdminAccount 940// request for an account ID that was already set as the AWS Firewall Manager 941// administrator. Or you might have tried to access a Region that's disabled 942// by default, and that you need to enable for the Firewall Manager administrator 943// account and for AWS Organizations before you can access it. 944// 945// * InternalErrorException 946// The operation failed because of a system problem, even though the request 947// was valid. Retry your request. 948// 949// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel 950func (c *FMS) GetNotificationChannel(input *GetNotificationChannelInput) (*GetNotificationChannelOutput, error) { 951 req, out := c.GetNotificationChannelRequest(input) 952 return out, req.Send() 953} 954 955// GetNotificationChannelWithContext is the same as GetNotificationChannel with the addition of 956// the ability to pass a context and additional request options. 957// 958// See GetNotificationChannel for details on how to use this API operation. 959// 960// The context must be non-nil and will be used for request cancellation. If 961// the context is nil a panic will occur. In the future the SDK may create 962// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 963// for more information on using Contexts. 964func (c *FMS) GetNotificationChannelWithContext(ctx aws.Context, input *GetNotificationChannelInput, opts ...request.Option) (*GetNotificationChannelOutput, error) { 965 req, out := c.GetNotificationChannelRequest(input) 966 req.SetContext(ctx) 967 req.ApplyOptions(opts...) 968 return out, req.Send() 969} 970 971const opGetPolicy = "GetPolicy" 972 973// GetPolicyRequest generates a "aws/request.Request" representing the 974// client's request for the GetPolicy operation. The "output" return 975// value will be populated with the request's response once the request completes 976// successfully. 977// 978// Use "Send" method on the returned Request to send the API call to the service. 979// the "output" return value is not valid until after Send returns without error. 980// 981// See GetPolicy for more information on using the GetPolicy 982// API call, and error handling. 983// 984// This method is useful when you want to inject custom logic or configuration 985// into the SDK's request lifecycle. Such as custom headers, or retry logic. 986// 987// 988// // Example sending a request using the GetPolicyRequest method. 989// req, resp := client.GetPolicyRequest(params) 990// 991// err := req.Send() 992// if err == nil { // resp is now filled 993// fmt.Println(resp) 994// } 995// 996// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy 997func (c *FMS) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) { 998 op := &request.Operation{ 999 Name: opGetPolicy, 1000 HTTPMethod: "POST", 1001 HTTPPath: "/", 1002 } 1003 1004 if input == nil { 1005 input = &GetPolicyInput{} 1006 } 1007 1008 output = &GetPolicyOutput{} 1009 req = c.newRequest(op, input, output) 1010 return 1011} 1012 1013// GetPolicy API operation for Firewall Management Service. 1014// 1015// Returns information about the specified AWS Firewall Manager policy. 1016// 1017// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1018// with awserr.Error's Code and Message methods to get detailed information about 1019// the error. 1020// 1021// See the AWS API reference guide for Firewall Management Service's 1022// API operation GetPolicy for usage and error information. 1023// 1024// Returned Error Types: 1025// * ResourceNotFoundException 1026// The specified resource was not found. 1027// 1028// * InvalidOperationException 1029// The operation failed because there was nothing to do or the operation wasn't 1030// possible. For example, you might have submitted an AssociateAdminAccount 1031// request for an account ID that was already set as the AWS Firewall Manager 1032// administrator. Or you might have tried to access a Region that's disabled 1033// by default, and that you need to enable for the Firewall Manager administrator 1034// account and for AWS Organizations before you can access it. 1035// 1036// * InternalErrorException 1037// The operation failed because of a system problem, even though the request 1038// was valid. Retry your request. 1039// 1040// * InvalidTypeException 1041// The value of the Type parameter is invalid. 1042// 1043// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy 1044func (c *FMS) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) { 1045 req, out := c.GetPolicyRequest(input) 1046 return out, req.Send() 1047} 1048 1049// GetPolicyWithContext is the same as GetPolicy with the addition of 1050// the ability to pass a context and additional request options. 1051// 1052// See GetPolicy for details on how to use this API operation. 1053// 1054// The context must be non-nil and will be used for request cancellation. If 1055// the context is nil a panic will occur. In the future the SDK may create 1056// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1057// for more information on using Contexts. 1058func (c *FMS) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) { 1059 req, out := c.GetPolicyRequest(input) 1060 req.SetContext(ctx) 1061 req.ApplyOptions(opts...) 1062 return out, req.Send() 1063} 1064 1065const opGetProtectionStatus = "GetProtectionStatus" 1066 1067// GetProtectionStatusRequest generates a "aws/request.Request" representing the 1068// client's request for the GetProtectionStatus operation. The "output" return 1069// value will be populated with the request's response once the request completes 1070// successfully. 1071// 1072// Use "Send" method on the returned Request to send the API call to the service. 1073// the "output" return value is not valid until after Send returns without error. 1074// 1075// See GetProtectionStatus for more information on using the GetProtectionStatus 1076// API call, and error handling. 1077// 1078// This method is useful when you want to inject custom logic or configuration 1079// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1080// 1081// 1082// // Example sending a request using the GetProtectionStatusRequest method. 1083// req, resp := client.GetProtectionStatusRequest(params) 1084// 1085// err := req.Send() 1086// if err == nil { // resp is now filled 1087// fmt.Println(resp) 1088// } 1089// 1090// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus 1091func (c *FMS) GetProtectionStatusRequest(input *GetProtectionStatusInput) (req *request.Request, output *GetProtectionStatusOutput) { 1092 op := &request.Operation{ 1093 Name: opGetProtectionStatus, 1094 HTTPMethod: "POST", 1095 HTTPPath: "/", 1096 } 1097 1098 if input == nil { 1099 input = &GetProtectionStatusInput{} 1100 } 1101 1102 output = &GetProtectionStatusOutput{} 1103 req = c.newRequest(op, input, output) 1104 return 1105} 1106 1107// GetProtectionStatus API operation for Firewall Management Service. 1108// 1109// If you created a Shield Advanced policy, returns policy-level attack summary 1110// information in the event of a potential DDoS attack. Other policy types are 1111// currently unsupported. 1112// 1113// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1114// with awserr.Error's Code and Message methods to get detailed information about 1115// the error. 1116// 1117// See the AWS API reference guide for Firewall Management Service's 1118// API operation GetProtectionStatus for usage and error information. 1119// 1120// Returned Error Types: 1121// * InvalidInputException 1122// The parameters of the request were invalid. 1123// 1124// * ResourceNotFoundException 1125// The specified resource was not found. 1126// 1127// * InternalErrorException 1128// The operation failed because of a system problem, even though the request 1129// was valid. Retry your request. 1130// 1131// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtectionStatus 1132func (c *FMS) GetProtectionStatus(input *GetProtectionStatusInput) (*GetProtectionStatusOutput, error) { 1133 req, out := c.GetProtectionStatusRequest(input) 1134 return out, req.Send() 1135} 1136 1137// GetProtectionStatusWithContext is the same as GetProtectionStatus with the addition of 1138// the ability to pass a context and additional request options. 1139// 1140// See GetProtectionStatus for details on how to use this API operation. 1141// 1142// The context must be non-nil and will be used for request cancellation. If 1143// the context is nil a panic will occur. In the future the SDK may create 1144// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1145// for more information on using Contexts. 1146func (c *FMS) GetProtectionStatusWithContext(ctx aws.Context, input *GetProtectionStatusInput, opts ...request.Option) (*GetProtectionStatusOutput, error) { 1147 req, out := c.GetProtectionStatusRequest(input) 1148 req.SetContext(ctx) 1149 req.ApplyOptions(opts...) 1150 return out, req.Send() 1151} 1152 1153const opGetProtocolsList = "GetProtocolsList" 1154 1155// GetProtocolsListRequest generates a "aws/request.Request" representing the 1156// client's request for the GetProtocolsList operation. The "output" return 1157// value will be populated with the request's response once the request completes 1158// successfully. 1159// 1160// Use "Send" method on the returned Request to send the API call to the service. 1161// the "output" return value is not valid until after Send returns without error. 1162// 1163// See GetProtocolsList for more information on using the GetProtocolsList 1164// API call, and error handling. 1165// 1166// This method is useful when you want to inject custom logic or configuration 1167// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1168// 1169// 1170// // Example sending a request using the GetProtocolsListRequest method. 1171// req, resp := client.GetProtocolsListRequest(params) 1172// 1173// err := req.Send() 1174// if err == nil { // resp is now filled 1175// fmt.Println(resp) 1176// } 1177// 1178// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList 1179func (c *FMS) GetProtocolsListRequest(input *GetProtocolsListInput) (req *request.Request, output *GetProtocolsListOutput) { 1180 op := &request.Operation{ 1181 Name: opGetProtocolsList, 1182 HTTPMethod: "POST", 1183 HTTPPath: "/", 1184 } 1185 1186 if input == nil { 1187 input = &GetProtocolsListInput{} 1188 } 1189 1190 output = &GetProtocolsListOutput{} 1191 req = c.newRequest(op, input, output) 1192 return 1193} 1194 1195// GetProtocolsList API operation for Firewall Management Service. 1196// 1197// Returns information about the specified AWS Firewall Manager protocols list. 1198// 1199// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1200// with awserr.Error's Code and Message methods to get detailed information about 1201// the error. 1202// 1203// See the AWS API reference guide for Firewall Management Service's 1204// API operation GetProtocolsList for usage and error information. 1205// 1206// Returned Error Types: 1207// * ResourceNotFoundException 1208// The specified resource was not found. 1209// 1210// * InvalidOperationException 1211// The operation failed because there was nothing to do or the operation wasn't 1212// possible. For example, you might have submitted an AssociateAdminAccount 1213// request for an account ID that was already set as the AWS Firewall Manager 1214// administrator. Or you might have tried to access a Region that's disabled 1215// by default, and that you need to enable for the Firewall Manager administrator 1216// account and for AWS Organizations before you can access it. 1217// 1218// * InternalErrorException 1219// The operation failed because of a system problem, even though the request 1220// was valid. Retry your request. 1221// 1222// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetProtocolsList 1223func (c *FMS) GetProtocolsList(input *GetProtocolsListInput) (*GetProtocolsListOutput, error) { 1224 req, out := c.GetProtocolsListRequest(input) 1225 return out, req.Send() 1226} 1227 1228// GetProtocolsListWithContext is the same as GetProtocolsList with the addition of 1229// the ability to pass a context and additional request options. 1230// 1231// See GetProtocolsList for details on how to use this API operation. 1232// 1233// The context must be non-nil and will be used for request cancellation. If 1234// the context is nil a panic will occur. In the future the SDK may create 1235// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1236// for more information on using Contexts. 1237func (c *FMS) GetProtocolsListWithContext(ctx aws.Context, input *GetProtocolsListInput, opts ...request.Option) (*GetProtocolsListOutput, error) { 1238 req, out := c.GetProtocolsListRequest(input) 1239 req.SetContext(ctx) 1240 req.ApplyOptions(opts...) 1241 return out, req.Send() 1242} 1243 1244const opGetViolationDetails = "GetViolationDetails" 1245 1246// GetViolationDetailsRequest generates a "aws/request.Request" representing the 1247// client's request for the GetViolationDetails operation. The "output" return 1248// value will be populated with the request's response once the request completes 1249// successfully. 1250// 1251// Use "Send" method on the returned Request to send the API call to the service. 1252// the "output" return value is not valid until after Send returns without error. 1253// 1254// See GetViolationDetails for more information on using the GetViolationDetails 1255// API call, and error handling. 1256// 1257// This method is useful when you want to inject custom logic or configuration 1258// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1259// 1260// 1261// // Example sending a request using the GetViolationDetailsRequest method. 1262// req, resp := client.GetViolationDetailsRequest(params) 1263// 1264// err := req.Send() 1265// if err == nil { // resp is now filled 1266// fmt.Println(resp) 1267// } 1268// 1269// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails 1270func (c *FMS) GetViolationDetailsRequest(input *GetViolationDetailsInput) (req *request.Request, output *GetViolationDetailsOutput) { 1271 op := &request.Operation{ 1272 Name: opGetViolationDetails, 1273 HTTPMethod: "POST", 1274 HTTPPath: "/", 1275 } 1276 1277 if input == nil { 1278 input = &GetViolationDetailsInput{} 1279 } 1280 1281 output = &GetViolationDetailsOutput{} 1282 req = c.newRequest(op, input, output) 1283 return 1284} 1285 1286// GetViolationDetails API operation for Firewall Management Service. 1287// 1288// Retrieves violations for a resource based on the specified AWS Firewall Manager 1289// policy and AWS account. 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 Firewall Management Service's 1296// API operation GetViolationDetails for usage and error information. 1297// 1298// Returned Error Types: 1299// * ResourceNotFoundException 1300// The specified resource was not found. 1301// 1302// * InvalidInputException 1303// The parameters of the request were invalid. 1304// 1305// * InternalErrorException 1306// The operation failed because of a system problem, even though the request 1307// was valid. Retry your request. 1308// 1309// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetViolationDetails 1310func (c *FMS) GetViolationDetails(input *GetViolationDetailsInput) (*GetViolationDetailsOutput, error) { 1311 req, out := c.GetViolationDetailsRequest(input) 1312 return out, req.Send() 1313} 1314 1315// GetViolationDetailsWithContext is the same as GetViolationDetails with the addition of 1316// the ability to pass a context and additional request options. 1317// 1318// See GetViolationDetails for details on how to use this API operation. 1319// 1320// The context must be non-nil and will be used for request cancellation. If 1321// the context is nil a panic will occur. In the future the SDK may create 1322// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1323// for more information on using Contexts. 1324func (c *FMS) GetViolationDetailsWithContext(ctx aws.Context, input *GetViolationDetailsInput, opts ...request.Option) (*GetViolationDetailsOutput, error) { 1325 req, out := c.GetViolationDetailsRequest(input) 1326 req.SetContext(ctx) 1327 req.ApplyOptions(opts...) 1328 return out, req.Send() 1329} 1330 1331const opListAppsLists = "ListAppsLists" 1332 1333// ListAppsListsRequest generates a "aws/request.Request" representing the 1334// client's request for the ListAppsLists operation. The "output" return 1335// value will be populated with the request's response once the request completes 1336// successfully. 1337// 1338// Use "Send" method on the returned Request to send the API call to the service. 1339// the "output" return value is not valid until after Send returns without error. 1340// 1341// See ListAppsLists for more information on using the ListAppsLists 1342// API call, and error handling. 1343// 1344// This method is useful when you want to inject custom logic or configuration 1345// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1346// 1347// 1348// // Example sending a request using the ListAppsListsRequest method. 1349// req, resp := client.ListAppsListsRequest(params) 1350// 1351// err := req.Send() 1352// if err == nil { // resp is now filled 1353// fmt.Println(resp) 1354// } 1355// 1356// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists 1357func (c *FMS) ListAppsListsRequest(input *ListAppsListsInput) (req *request.Request, output *ListAppsListsOutput) { 1358 op := &request.Operation{ 1359 Name: opListAppsLists, 1360 HTTPMethod: "POST", 1361 HTTPPath: "/", 1362 } 1363 1364 if input == nil { 1365 input = &ListAppsListsInput{} 1366 } 1367 1368 output = &ListAppsListsOutput{} 1369 req = c.newRequest(op, input, output) 1370 return 1371} 1372 1373// ListAppsLists API operation for Firewall Management Service. 1374// 1375// Returns an array of AppsListDataSummary objects. 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 Firewall Management Service's 1382// API operation ListAppsLists for usage and error information. 1383// 1384// Returned Error Types: 1385// * ResourceNotFoundException 1386// The specified resource was not found. 1387// 1388// * InvalidOperationException 1389// The operation failed because there was nothing to do or the operation wasn't 1390// possible. For example, you might have submitted an AssociateAdminAccount 1391// request for an account ID that was already set as the AWS Firewall Manager 1392// administrator. Or you might have tried to access a Region that's disabled 1393// by default, and that you need to enable for the Firewall Manager administrator 1394// account and for AWS Organizations before you can access it. 1395// 1396// * LimitExceededException 1397// The operation exceeds a resource limit, for example, the maximum number of 1398// policy objects that you can create for an AWS account. For more information, 1399// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 1400// in the AWS WAF Developer Guide. 1401// 1402// * InternalErrorException 1403// The operation failed because of a system problem, even though the request 1404// was valid. Retry your request. 1405// 1406// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListAppsLists 1407func (c *FMS) ListAppsLists(input *ListAppsListsInput) (*ListAppsListsOutput, error) { 1408 req, out := c.ListAppsListsRequest(input) 1409 return out, req.Send() 1410} 1411 1412// ListAppsListsWithContext is the same as ListAppsLists with the addition of 1413// the ability to pass a context and additional request options. 1414// 1415// See ListAppsLists for details on how to use this API operation. 1416// 1417// The context must be non-nil and will be used for request cancellation. If 1418// the context is nil a panic will occur. In the future the SDK may create 1419// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1420// for more information on using Contexts. 1421func (c *FMS) ListAppsListsWithContext(ctx aws.Context, input *ListAppsListsInput, opts ...request.Option) (*ListAppsListsOutput, error) { 1422 req, out := c.ListAppsListsRequest(input) 1423 req.SetContext(ctx) 1424 req.ApplyOptions(opts...) 1425 return out, req.Send() 1426} 1427 1428const opListComplianceStatus = "ListComplianceStatus" 1429 1430// ListComplianceStatusRequest generates a "aws/request.Request" representing the 1431// client's request for the ListComplianceStatus operation. The "output" return 1432// value will be populated with the request's response once the request completes 1433// successfully. 1434// 1435// Use "Send" method on the returned Request to send the API call to the service. 1436// the "output" return value is not valid until after Send returns without error. 1437// 1438// See ListComplianceStatus for more information on using the ListComplianceStatus 1439// API call, and error handling. 1440// 1441// This method is useful when you want to inject custom logic or configuration 1442// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1443// 1444// 1445// // Example sending a request using the ListComplianceStatusRequest method. 1446// req, resp := client.ListComplianceStatusRequest(params) 1447// 1448// err := req.Send() 1449// if err == nil { // resp is now filled 1450// fmt.Println(resp) 1451// } 1452// 1453// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus 1454func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req *request.Request, output *ListComplianceStatusOutput) { 1455 op := &request.Operation{ 1456 Name: opListComplianceStatus, 1457 HTTPMethod: "POST", 1458 HTTPPath: "/", 1459 Paginator: &request.Paginator{ 1460 InputTokens: []string{"NextToken"}, 1461 OutputTokens: []string{"NextToken"}, 1462 LimitToken: "MaxResults", 1463 TruncationToken: "", 1464 }, 1465 } 1466 1467 if input == nil { 1468 input = &ListComplianceStatusInput{} 1469 } 1470 1471 output = &ListComplianceStatusOutput{} 1472 req = c.newRequest(op, input, output) 1473 return 1474} 1475 1476// ListComplianceStatus API operation for Firewall Management Service. 1477// 1478// Returns an array of PolicyComplianceStatus objects. Use PolicyComplianceStatus 1479// to get a summary of which member accounts are protected by the specified 1480// policy. 1481// 1482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1483// with awserr.Error's Code and Message methods to get detailed information about 1484// the error. 1485// 1486// See the AWS API reference guide for Firewall Management Service's 1487// API operation ListComplianceStatus for usage and error information. 1488// 1489// Returned Error Types: 1490// * ResourceNotFoundException 1491// The specified resource was not found. 1492// 1493// * InternalErrorException 1494// The operation failed because of a system problem, even though the request 1495// was valid. Retry your request. 1496// 1497// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus 1498func (c *FMS) ListComplianceStatus(input *ListComplianceStatusInput) (*ListComplianceStatusOutput, error) { 1499 req, out := c.ListComplianceStatusRequest(input) 1500 return out, req.Send() 1501} 1502 1503// ListComplianceStatusWithContext is the same as ListComplianceStatus with the addition of 1504// the ability to pass a context and additional request options. 1505// 1506// See ListComplianceStatus for details on how to use this API operation. 1507// 1508// The context must be non-nil and will be used for request cancellation. If 1509// the context is nil a panic will occur. In the future the SDK may create 1510// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1511// for more information on using Contexts. 1512func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListComplianceStatusInput, opts ...request.Option) (*ListComplianceStatusOutput, error) { 1513 req, out := c.ListComplianceStatusRequest(input) 1514 req.SetContext(ctx) 1515 req.ApplyOptions(opts...) 1516 return out, req.Send() 1517} 1518 1519// ListComplianceStatusPages iterates over the pages of a ListComplianceStatus operation, 1520// calling the "fn" function with the response data for each page. To stop 1521// iterating, return false from the fn function. 1522// 1523// See ListComplianceStatus method for more information on how to use this operation. 1524// 1525// Note: This operation can generate multiple requests to a service. 1526// 1527// // Example iterating over at most 3 pages of a ListComplianceStatus operation. 1528// pageNum := 0 1529// err := client.ListComplianceStatusPages(params, 1530// func(page *fms.ListComplianceStatusOutput, lastPage bool) bool { 1531// pageNum++ 1532// fmt.Println(page) 1533// return pageNum <= 3 1534// }) 1535// 1536func (c *FMS) ListComplianceStatusPages(input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool) error { 1537 return c.ListComplianceStatusPagesWithContext(aws.BackgroundContext(), input, fn) 1538} 1539 1540// ListComplianceStatusPagesWithContext same as ListComplianceStatusPages except 1541// it takes a Context and allows setting request options on the pages. 1542// 1543// The context must be non-nil and will be used for request cancellation. If 1544// the context is nil a panic will occur. In the future the SDK may create 1545// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1546// for more information on using Contexts. 1547func (c *FMS) ListComplianceStatusPagesWithContext(ctx aws.Context, input *ListComplianceStatusInput, fn func(*ListComplianceStatusOutput, bool) bool, opts ...request.Option) error { 1548 p := request.Pagination{ 1549 NewRequest: func() (*request.Request, error) { 1550 var inCpy *ListComplianceStatusInput 1551 if input != nil { 1552 tmp := *input 1553 inCpy = &tmp 1554 } 1555 req, _ := c.ListComplianceStatusRequest(inCpy) 1556 req.SetContext(ctx) 1557 req.ApplyOptions(opts...) 1558 return req, nil 1559 }, 1560 } 1561 1562 for p.Next() { 1563 if !fn(p.Page().(*ListComplianceStatusOutput), !p.HasNextPage()) { 1564 break 1565 } 1566 } 1567 1568 return p.Err() 1569} 1570 1571const opListMemberAccounts = "ListMemberAccounts" 1572 1573// ListMemberAccountsRequest generates a "aws/request.Request" representing the 1574// client's request for the ListMemberAccounts operation. The "output" return 1575// value will be populated with the request's response once the request completes 1576// successfully. 1577// 1578// Use "Send" method on the returned Request to send the API call to the service. 1579// the "output" return value is not valid until after Send returns without error. 1580// 1581// See ListMemberAccounts for more information on using the ListMemberAccounts 1582// API call, and error handling. 1583// 1584// This method is useful when you want to inject custom logic or configuration 1585// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1586// 1587// 1588// // Example sending a request using the ListMemberAccountsRequest method. 1589// req, resp := client.ListMemberAccountsRequest(params) 1590// 1591// err := req.Send() 1592// if err == nil { // resp is now filled 1593// fmt.Println(resp) 1594// } 1595// 1596// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListMemberAccounts 1597func (c *FMS) ListMemberAccountsRequest(input *ListMemberAccountsInput) (req *request.Request, output *ListMemberAccountsOutput) { 1598 op := &request.Operation{ 1599 Name: opListMemberAccounts, 1600 HTTPMethod: "POST", 1601 HTTPPath: "/", 1602 Paginator: &request.Paginator{ 1603 InputTokens: []string{"NextToken"}, 1604 OutputTokens: []string{"NextToken"}, 1605 LimitToken: "MaxResults", 1606 TruncationToken: "", 1607 }, 1608 } 1609 1610 if input == nil { 1611 input = &ListMemberAccountsInput{} 1612 } 1613 1614 output = &ListMemberAccountsOutput{} 1615 req = c.newRequest(op, input, output) 1616 return 1617} 1618 1619// ListMemberAccounts API operation for Firewall Management Service. 1620// 1621// Returns a MemberAccounts object that lists the member accounts in the administrator's 1622// AWS organization. 1623// 1624// The ListMemberAccounts must be submitted by the account that is set as the 1625// AWS Firewall Manager administrator. 1626// 1627// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1628// with awserr.Error's Code and Message methods to get detailed information about 1629// the error. 1630// 1631// See the AWS API reference guide for Firewall Management Service's 1632// API operation ListMemberAccounts for usage and error information. 1633// 1634// Returned Error Types: 1635// * ResourceNotFoundException 1636// The specified resource was not found. 1637// 1638// * InternalErrorException 1639// The operation failed because of a system problem, even though the request 1640// was valid. Retry your request. 1641// 1642// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListMemberAccounts 1643func (c *FMS) ListMemberAccounts(input *ListMemberAccountsInput) (*ListMemberAccountsOutput, error) { 1644 req, out := c.ListMemberAccountsRequest(input) 1645 return out, req.Send() 1646} 1647 1648// ListMemberAccountsWithContext is the same as ListMemberAccounts with the addition of 1649// the ability to pass a context and additional request options. 1650// 1651// See ListMemberAccounts for details on how to use this API operation. 1652// 1653// The context must be non-nil and will be used for request cancellation. If 1654// the context is nil a panic will occur. In the future the SDK may create 1655// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1656// for more information on using Contexts. 1657func (c *FMS) ListMemberAccountsWithContext(ctx aws.Context, input *ListMemberAccountsInput, opts ...request.Option) (*ListMemberAccountsOutput, error) { 1658 req, out := c.ListMemberAccountsRequest(input) 1659 req.SetContext(ctx) 1660 req.ApplyOptions(opts...) 1661 return out, req.Send() 1662} 1663 1664// ListMemberAccountsPages iterates over the pages of a ListMemberAccounts operation, 1665// calling the "fn" function with the response data for each page. To stop 1666// iterating, return false from the fn function. 1667// 1668// See ListMemberAccounts method for more information on how to use this operation. 1669// 1670// Note: This operation can generate multiple requests to a service. 1671// 1672// // Example iterating over at most 3 pages of a ListMemberAccounts operation. 1673// pageNum := 0 1674// err := client.ListMemberAccountsPages(params, 1675// func(page *fms.ListMemberAccountsOutput, lastPage bool) bool { 1676// pageNum++ 1677// fmt.Println(page) 1678// return pageNum <= 3 1679// }) 1680// 1681func (c *FMS) ListMemberAccountsPages(input *ListMemberAccountsInput, fn func(*ListMemberAccountsOutput, bool) bool) error { 1682 return c.ListMemberAccountsPagesWithContext(aws.BackgroundContext(), input, fn) 1683} 1684 1685// ListMemberAccountsPagesWithContext same as ListMemberAccountsPages except 1686// it takes a Context and allows setting request options on the pages. 1687// 1688// The context must be non-nil and will be used for request cancellation. If 1689// the context is nil a panic will occur. In the future the SDK may create 1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1691// for more information on using Contexts. 1692func (c *FMS) ListMemberAccountsPagesWithContext(ctx aws.Context, input *ListMemberAccountsInput, fn func(*ListMemberAccountsOutput, bool) bool, opts ...request.Option) error { 1693 p := request.Pagination{ 1694 NewRequest: func() (*request.Request, error) { 1695 var inCpy *ListMemberAccountsInput 1696 if input != nil { 1697 tmp := *input 1698 inCpy = &tmp 1699 } 1700 req, _ := c.ListMemberAccountsRequest(inCpy) 1701 req.SetContext(ctx) 1702 req.ApplyOptions(opts...) 1703 return req, nil 1704 }, 1705 } 1706 1707 for p.Next() { 1708 if !fn(p.Page().(*ListMemberAccountsOutput), !p.HasNextPage()) { 1709 break 1710 } 1711 } 1712 1713 return p.Err() 1714} 1715 1716const opListPolicies = "ListPolicies" 1717 1718// ListPoliciesRequest generates a "aws/request.Request" representing the 1719// client's request for the ListPolicies operation. The "output" return 1720// value will be populated with the request's response once the request completes 1721// successfully. 1722// 1723// Use "Send" method on the returned Request to send the API call to the service. 1724// the "output" return value is not valid until after Send returns without error. 1725// 1726// See ListPolicies for more information on using the ListPolicies 1727// API call, and error handling. 1728// 1729// This method is useful when you want to inject custom logic or configuration 1730// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1731// 1732// 1733// // Example sending a request using the ListPoliciesRequest method. 1734// req, resp := client.ListPoliciesRequest(params) 1735// 1736// err := req.Send() 1737// if err == nil { // resp is now filled 1738// fmt.Println(resp) 1739// } 1740// 1741// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies 1742func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) { 1743 op := &request.Operation{ 1744 Name: opListPolicies, 1745 HTTPMethod: "POST", 1746 HTTPPath: "/", 1747 Paginator: &request.Paginator{ 1748 InputTokens: []string{"NextToken"}, 1749 OutputTokens: []string{"NextToken"}, 1750 LimitToken: "MaxResults", 1751 TruncationToken: "", 1752 }, 1753 } 1754 1755 if input == nil { 1756 input = &ListPoliciesInput{} 1757 } 1758 1759 output = &ListPoliciesOutput{} 1760 req = c.newRequest(op, input, output) 1761 return 1762} 1763 1764// ListPolicies API operation for Firewall Management Service. 1765// 1766// Returns an array of PolicySummary objects. 1767// 1768// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1769// with awserr.Error's Code and Message methods to get detailed information about 1770// the error. 1771// 1772// See the AWS API reference guide for Firewall Management Service's 1773// API operation ListPolicies for usage and error information. 1774// 1775// Returned Error Types: 1776// * ResourceNotFoundException 1777// The specified resource was not found. 1778// 1779// * InvalidOperationException 1780// The operation failed because there was nothing to do or the operation wasn't 1781// possible. For example, you might have submitted an AssociateAdminAccount 1782// request for an account ID that was already set as the AWS Firewall Manager 1783// administrator. Or you might have tried to access a Region that's disabled 1784// by default, and that you need to enable for the Firewall Manager administrator 1785// account and for AWS Organizations before you can access it. 1786// 1787// * LimitExceededException 1788// The operation exceeds a resource limit, for example, the maximum number of 1789// policy objects that you can create for an AWS account. For more information, 1790// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 1791// in the AWS WAF Developer Guide. 1792// 1793// * InternalErrorException 1794// The operation failed because of a system problem, even though the request 1795// was valid. Retry your request. 1796// 1797// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies 1798func (c *FMS) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) { 1799 req, out := c.ListPoliciesRequest(input) 1800 return out, req.Send() 1801} 1802 1803// ListPoliciesWithContext is the same as ListPolicies with the addition of 1804// the ability to pass a context and additional request options. 1805// 1806// See ListPolicies for details on how to use this API operation. 1807// 1808// The context must be non-nil and will be used for request cancellation. If 1809// the context is nil a panic will occur. In the future the SDK may create 1810// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1811// for more information on using Contexts. 1812func (c *FMS) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, opts ...request.Option) (*ListPoliciesOutput, error) { 1813 req, out := c.ListPoliciesRequest(input) 1814 req.SetContext(ctx) 1815 req.ApplyOptions(opts...) 1816 return out, req.Send() 1817} 1818 1819// ListPoliciesPages iterates over the pages of a ListPolicies operation, 1820// calling the "fn" function with the response data for each page. To stop 1821// iterating, return false from the fn function. 1822// 1823// See ListPolicies method for more information on how to use this operation. 1824// 1825// Note: This operation can generate multiple requests to a service. 1826// 1827// // Example iterating over at most 3 pages of a ListPolicies operation. 1828// pageNum := 0 1829// err := client.ListPoliciesPages(params, 1830// func(page *fms.ListPoliciesOutput, lastPage bool) bool { 1831// pageNum++ 1832// fmt.Println(page) 1833// return pageNum <= 3 1834// }) 1835// 1836func (c *FMS) ListPoliciesPages(input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool) error { 1837 return c.ListPoliciesPagesWithContext(aws.BackgroundContext(), input, fn) 1838} 1839 1840// ListPoliciesPagesWithContext same as ListPoliciesPages except 1841// it takes a Context and allows setting request options on the pages. 1842// 1843// The context must be non-nil and will be used for request cancellation. If 1844// the context is nil a panic will occur. In the future the SDK may create 1845// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1846// for more information on using Contexts. 1847func (c *FMS) ListPoliciesPagesWithContext(ctx aws.Context, input *ListPoliciesInput, fn func(*ListPoliciesOutput, bool) bool, opts ...request.Option) error { 1848 p := request.Pagination{ 1849 NewRequest: func() (*request.Request, error) { 1850 var inCpy *ListPoliciesInput 1851 if input != nil { 1852 tmp := *input 1853 inCpy = &tmp 1854 } 1855 req, _ := c.ListPoliciesRequest(inCpy) 1856 req.SetContext(ctx) 1857 req.ApplyOptions(opts...) 1858 return req, nil 1859 }, 1860 } 1861 1862 for p.Next() { 1863 if !fn(p.Page().(*ListPoliciesOutput), !p.HasNextPage()) { 1864 break 1865 } 1866 } 1867 1868 return p.Err() 1869} 1870 1871const opListProtocolsLists = "ListProtocolsLists" 1872 1873// ListProtocolsListsRequest generates a "aws/request.Request" representing the 1874// client's request for the ListProtocolsLists operation. The "output" return 1875// value will be populated with the request's response once the request completes 1876// successfully. 1877// 1878// Use "Send" method on the returned Request to send the API call to the service. 1879// the "output" return value is not valid until after Send returns without error. 1880// 1881// See ListProtocolsLists for more information on using the ListProtocolsLists 1882// API call, and error handling. 1883// 1884// This method is useful when you want to inject custom logic or configuration 1885// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1886// 1887// 1888// // Example sending a request using the ListProtocolsListsRequest method. 1889// req, resp := client.ListProtocolsListsRequest(params) 1890// 1891// err := req.Send() 1892// if err == nil { // resp is now filled 1893// fmt.Println(resp) 1894// } 1895// 1896// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists 1897func (c *FMS) ListProtocolsListsRequest(input *ListProtocolsListsInput) (req *request.Request, output *ListProtocolsListsOutput) { 1898 op := &request.Operation{ 1899 Name: opListProtocolsLists, 1900 HTTPMethod: "POST", 1901 HTTPPath: "/", 1902 } 1903 1904 if input == nil { 1905 input = &ListProtocolsListsInput{} 1906 } 1907 1908 output = &ListProtocolsListsOutput{} 1909 req = c.newRequest(op, input, output) 1910 return 1911} 1912 1913// ListProtocolsLists API operation for Firewall Management Service. 1914// 1915// Returns an array of ProtocolsListDataSummary objects. 1916// 1917// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 1918// with awserr.Error's Code and Message methods to get detailed information about 1919// the error. 1920// 1921// See the AWS API reference guide for Firewall Management Service's 1922// API operation ListProtocolsLists for usage and error information. 1923// 1924// Returned Error Types: 1925// * ResourceNotFoundException 1926// The specified resource was not found. 1927// 1928// * InvalidOperationException 1929// The operation failed because there was nothing to do or the operation wasn't 1930// possible. For example, you might have submitted an AssociateAdminAccount 1931// request for an account ID that was already set as the AWS Firewall Manager 1932// administrator. Or you might have tried to access a Region that's disabled 1933// by default, and that you need to enable for the Firewall Manager administrator 1934// account and for AWS Organizations before you can access it. 1935// 1936// * InternalErrorException 1937// The operation failed because of a system problem, even though the request 1938// was valid. Retry your request. 1939// 1940// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListProtocolsLists 1941func (c *FMS) ListProtocolsLists(input *ListProtocolsListsInput) (*ListProtocolsListsOutput, error) { 1942 req, out := c.ListProtocolsListsRequest(input) 1943 return out, req.Send() 1944} 1945 1946// ListProtocolsListsWithContext is the same as ListProtocolsLists with the addition of 1947// the ability to pass a context and additional request options. 1948// 1949// See ListProtocolsLists for details on how to use this API operation. 1950// 1951// The context must be non-nil and will be used for request cancellation. If 1952// the context is nil a panic will occur. In the future the SDK may create 1953// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 1954// for more information on using Contexts. 1955func (c *FMS) ListProtocolsListsWithContext(ctx aws.Context, input *ListProtocolsListsInput, opts ...request.Option) (*ListProtocolsListsOutput, error) { 1956 req, out := c.ListProtocolsListsRequest(input) 1957 req.SetContext(ctx) 1958 req.ApplyOptions(opts...) 1959 return out, req.Send() 1960} 1961 1962const opListTagsForResource = "ListTagsForResource" 1963 1964// ListTagsForResourceRequest generates a "aws/request.Request" representing the 1965// client's request for the ListTagsForResource operation. The "output" return 1966// value will be populated with the request's response once the request completes 1967// successfully. 1968// 1969// Use "Send" method on the returned Request to send the API call to the service. 1970// the "output" return value is not valid until after Send returns without error. 1971// 1972// See ListTagsForResource for more information on using the ListTagsForResource 1973// API call, and error handling. 1974// 1975// This method is useful when you want to inject custom logic or configuration 1976// into the SDK's request lifecycle. Such as custom headers, or retry logic. 1977// 1978// 1979// // Example sending a request using the ListTagsForResourceRequest method. 1980// req, resp := client.ListTagsForResourceRequest(params) 1981// 1982// err := req.Send() 1983// if err == nil { // resp is now filled 1984// fmt.Println(resp) 1985// } 1986// 1987// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource 1988func (c *FMS) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) { 1989 op := &request.Operation{ 1990 Name: opListTagsForResource, 1991 HTTPMethod: "POST", 1992 HTTPPath: "/", 1993 } 1994 1995 if input == nil { 1996 input = &ListTagsForResourceInput{} 1997 } 1998 1999 output = &ListTagsForResourceOutput{} 2000 req = c.newRequest(op, input, output) 2001 return 2002} 2003 2004// ListTagsForResource API operation for Firewall Management Service. 2005// 2006// Retrieves the list of tags for the specified AWS resource. 2007// 2008// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2009// with awserr.Error's Code and Message methods to get detailed information about 2010// the error. 2011// 2012// See the AWS API reference guide for Firewall Management Service's 2013// API operation ListTagsForResource for usage and error information. 2014// 2015// Returned Error Types: 2016// * ResourceNotFoundException 2017// The specified resource was not found. 2018// 2019// * InvalidOperationException 2020// The operation failed because there was nothing to do or the operation wasn't 2021// possible. For example, you might have submitted an AssociateAdminAccount 2022// request for an account ID that was already set as the AWS Firewall Manager 2023// administrator. Or you might have tried to access a Region that's disabled 2024// by default, and that you need to enable for the Firewall Manager administrator 2025// account and for AWS Organizations before you can access it. 2026// 2027// * InternalErrorException 2028// The operation failed because of a system problem, even though the request 2029// was valid. Retry your request. 2030// 2031// * InvalidInputException 2032// The parameters of the request were invalid. 2033// 2034// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListTagsForResource 2035func (c *FMS) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) { 2036 req, out := c.ListTagsForResourceRequest(input) 2037 return out, req.Send() 2038} 2039 2040// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of 2041// the ability to pass a context and additional request options. 2042// 2043// See ListTagsForResource for details on how to use this API operation. 2044// 2045// The context must be non-nil and will be used for request cancellation. If 2046// the context is nil a panic will occur. In the future the SDK may create 2047// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2048// for more information on using Contexts. 2049func (c *FMS) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) { 2050 req, out := c.ListTagsForResourceRequest(input) 2051 req.SetContext(ctx) 2052 req.ApplyOptions(opts...) 2053 return out, req.Send() 2054} 2055 2056const opPutAppsList = "PutAppsList" 2057 2058// PutAppsListRequest generates a "aws/request.Request" representing the 2059// client's request for the PutAppsList operation. The "output" return 2060// value will be populated with the request's response once the request completes 2061// successfully. 2062// 2063// Use "Send" method on the returned Request to send the API call to the service. 2064// the "output" return value is not valid until after Send returns without error. 2065// 2066// See PutAppsList for more information on using the PutAppsList 2067// API call, and error handling. 2068// 2069// This method is useful when you want to inject custom logic or configuration 2070// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2071// 2072// 2073// // Example sending a request using the PutAppsListRequest method. 2074// req, resp := client.PutAppsListRequest(params) 2075// 2076// err := req.Send() 2077// if err == nil { // resp is now filled 2078// fmt.Println(resp) 2079// } 2080// 2081// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList 2082func (c *FMS) PutAppsListRequest(input *PutAppsListInput) (req *request.Request, output *PutAppsListOutput) { 2083 op := &request.Operation{ 2084 Name: opPutAppsList, 2085 HTTPMethod: "POST", 2086 HTTPPath: "/", 2087 } 2088 2089 if input == nil { 2090 input = &PutAppsListInput{} 2091 } 2092 2093 output = &PutAppsListOutput{} 2094 req = c.newRequest(op, input, output) 2095 return 2096} 2097 2098// PutAppsList API operation for Firewall Management Service. 2099// 2100// Creates an AWS Firewall Manager applications list. 2101// 2102// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2103// with awserr.Error's Code and Message methods to get detailed information about 2104// the error. 2105// 2106// See the AWS API reference guide for Firewall Management Service's 2107// API operation PutAppsList for usage and error information. 2108// 2109// Returned Error Types: 2110// * ResourceNotFoundException 2111// The specified resource was not found. 2112// 2113// * InvalidOperationException 2114// The operation failed because there was nothing to do or the operation wasn't 2115// possible. For example, you might have submitted an AssociateAdminAccount 2116// request for an account ID that was already set as the AWS Firewall Manager 2117// administrator. Or you might have tried to access a Region that's disabled 2118// by default, and that you need to enable for the Firewall Manager administrator 2119// account and for AWS Organizations before you can access it. 2120// 2121// * InvalidInputException 2122// The parameters of the request were invalid. 2123// 2124// * LimitExceededException 2125// The operation exceeds a resource limit, for example, the maximum number of 2126// policy objects that you can create for an AWS account. For more information, 2127// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 2128// in the AWS WAF Developer Guide. 2129// 2130// * InternalErrorException 2131// The operation failed because of a system problem, even though the request 2132// was valid. Retry your request. 2133// 2134// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutAppsList 2135func (c *FMS) PutAppsList(input *PutAppsListInput) (*PutAppsListOutput, error) { 2136 req, out := c.PutAppsListRequest(input) 2137 return out, req.Send() 2138} 2139 2140// PutAppsListWithContext is the same as PutAppsList with the addition of 2141// the ability to pass a context and additional request options. 2142// 2143// See PutAppsList for details on how to use this API operation. 2144// 2145// The context must be non-nil and will be used for request cancellation. If 2146// the context is nil a panic will occur. In the future the SDK may create 2147// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2148// for more information on using Contexts. 2149func (c *FMS) PutAppsListWithContext(ctx aws.Context, input *PutAppsListInput, opts ...request.Option) (*PutAppsListOutput, error) { 2150 req, out := c.PutAppsListRequest(input) 2151 req.SetContext(ctx) 2152 req.ApplyOptions(opts...) 2153 return out, req.Send() 2154} 2155 2156const opPutNotificationChannel = "PutNotificationChannel" 2157 2158// PutNotificationChannelRequest generates a "aws/request.Request" representing the 2159// client's request for the PutNotificationChannel operation. The "output" return 2160// value will be populated with the request's response once the request completes 2161// successfully. 2162// 2163// Use "Send" method on the returned Request to send the API call to the service. 2164// the "output" return value is not valid until after Send returns without error. 2165// 2166// See PutNotificationChannel for more information on using the PutNotificationChannel 2167// API call, and error handling. 2168// 2169// This method is useful when you want to inject custom logic or configuration 2170// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2171// 2172// 2173// // Example sending a request using the PutNotificationChannelRequest method. 2174// req, resp := client.PutNotificationChannelRequest(params) 2175// 2176// err := req.Send() 2177// if err == nil { // resp is now filled 2178// fmt.Println(resp) 2179// } 2180// 2181// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel 2182func (c *FMS) PutNotificationChannelRequest(input *PutNotificationChannelInput) (req *request.Request, output *PutNotificationChannelOutput) { 2183 op := &request.Operation{ 2184 Name: opPutNotificationChannel, 2185 HTTPMethod: "POST", 2186 HTTPPath: "/", 2187 } 2188 2189 if input == nil { 2190 input = &PutNotificationChannelInput{} 2191 } 2192 2193 output = &PutNotificationChannelOutput{} 2194 req = c.newRequest(op, input, output) 2195 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2196 return 2197} 2198 2199// PutNotificationChannel API operation for Firewall Management Service. 2200// 2201// Designates the IAM role and Amazon Simple Notification Service (SNS) topic 2202// that AWS Firewall Manager uses to record SNS logs. 2203// 2204// To perform this action outside of the console, you must configure the SNS 2205// topic to allow the Firewall Manager role AWSServiceRoleForFMS to publish 2206// SNS logs. For more information, see Firewall Manager required permissions 2207// for API actions (https://docs.aws.amazon.com/waf/latest/developerguide/fms-api-permissions-ref.html) 2208// in the AWS Firewall Manager Developer Guide. 2209// 2210// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2211// with awserr.Error's Code and Message methods to get detailed information about 2212// the error. 2213// 2214// See the AWS API reference guide for Firewall Management Service's 2215// API operation PutNotificationChannel for usage and error information. 2216// 2217// Returned Error Types: 2218// * ResourceNotFoundException 2219// The specified resource was not found. 2220// 2221// * InvalidOperationException 2222// The operation failed because there was nothing to do or the operation wasn't 2223// possible. For example, you might have submitted an AssociateAdminAccount 2224// request for an account ID that was already set as the AWS Firewall Manager 2225// administrator. Or you might have tried to access a Region that's disabled 2226// by default, and that you need to enable for the Firewall Manager administrator 2227// account and for AWS Organizations before you can access it. 2228// 2229// * InternalErrorException 2230// The operation failed because of a system problem, even though the request 2231// was valid. Retry your request. 2232// 2233// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel 2234func (c *FMS) PutNotificationChannel(input *PutNotificationChannelInput) (*PutNotificationChannelOutput, error) { 2235 req, out := c.PutNotificationChannelRequest(input) 2236 return out, req.Send() 2237} 2238 2239// PutNotificationChannelWithContext is the same as PutNotificationChannel with the addition of 2240// the ability to pass a context and additional request options. 2241// 2242// See PutNotificationChannel for details on how to use this API operation. 2243// 2244// The context must be non-nil and will be used for request cancellation. If 2245// the context is nil a panic will occur. In the future the SDK may create 2246// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2247// for more information on using Contexts. 2248func (c *FMS) PutNotificationChannelWithContext(ctx aws.Context, input *PutNotificationChannelInput, opts ...request.Option) (*PutNotificationChannelOutput, error) { 2249 req, out := c.PutNotificationChannelRequest(input) 2250 req.SetContext(ctx) 2251 req.ApplyOptions(opts...) 2252 return out, req.Send() 2253} 2254 2255const opPutPolicy = "PutPolicy" 2256 2257// PutPolicyRequest generates a "aws/request.Request" representing the 2258// client's request for the PutPolicy operation. The "output" return 2259// value will be populated with the request's response once the request completes 2260// successfully. 2261// 2262// Use "Send" method on the returned Request to send the API call to the service. 2263// the "output" return value is not valid until after Send returns without error. 2264// 2265// See PutPolicy for more information on using the PutPolicy 2266// API call, and error handling. 2267// 2268// This method is useful when you want to inject custom logic or configuration 2269// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2270// 2271// 2272// // Example sending a request using the PutPolicyRequest method. 2273// req, resp := client.PutPolicyRequest(params) 2274// 2275// err := req.Send() 2276// if err == nil { // resp is now filled 2277// fmt.Println(resp) 2278// } 2279// 2280// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy 2281func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, output *PutPolicyOutput) { 2282 op := &request.Operation{ 2283 Name: opPutPolicy, 2284 HTTPMethod: "POST", 2285 HTTPPath: "/", 2286 } 2287 2288 if input == nil { 2289 input = &PutPolicyInput{} 2290 } 2291 2292 output = &PutPolicyOutput{} 2293 req = c.newRequest(op, input, output) 2294 return 2295} 2296 2297// PutPolicy API operation for Firewall Management Service. 2298// 2299// Creates an AWS Firewall Manager policy. 2300// 2301// Firewall Manager provides the following types of policies: 2302// 2303// * An AWS WAF policy (type WAFV2), which defines rule groups to run first 2304// in the corresponding AWS WAF web ACL and rule groups to run last in the 2305// web ACL. 2306// 2307// * An AWS WAF Classic policy (type WAF), which defines a rule group. 2308// 2309// * A Shield Advanced policy, which applies Shield Advanced protection to 2310// specified accounts and resources. 2311// 2312// * A security group policy, which manages VPC security groups across your 2313// AWS organization. 2314// 2315// * An AWS Network Firewall policy, which provides firewall rules to filter 2316// network traffic in specified Amazon VPCs. 2317// 2318// Each policy is specific to one of the types. If you want to enforce more 2319// than one policy type across accounts, create multiple policies. You can create 2320// multiple policies for each type. 2321// 2322// You must be subscribed to Shield Advanced to create a Shield Advanced policy. 2323// For more information about subscribing to Shield Advanced, see CreateSubscription 2324// (https://docs.aws.amazon.com/waf/latest/DDOSAPIReference/API_CreateSubscription.html). 2325// 2326// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2327// with awserr.Error's Code and Message methods to get detailed information about 2328// the error. 2329// 2330// See the AWS API reference guide for Firewall Management Service's 2331// API operation PutPolicy for usage and error information. 2332// 2333// Returned Error Types: 2334// * ResourceNotFoundException 2335// The specified resource was not found. 2336// 2337// * InvalidOperationException 2338// The operation failed because there was nothing to do or the operation wasn't 2339// possible. For example, you might have submitted an AssociateAdminAccount 2340// request for an account ID that was already set as the AWS Firewall Manager 2341// administrator. Or you might have tried to access a Region that's disabled 2342// by default, and that you need to enable for the Firewall Manager administrator 2343// account and for AWS Organizations before you can access it. 2344// 2345// * InvalidInputException 2346// The parameters of the request were invalid. 2347// 2348// * LimitExceededException 2349// The operation exceeds a resource limit, for example, the maximum number of 2350// policy objects that you can create for an AWS account. For more information, 2351// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 2352// in the AWS WAF Developer Guide. 2353// 2354// * InternalErrorException 2355// The operation failed because of a system problem, even though the request 2356// was valid. Retry your request. 2357// 2358// * InvalidTypeException 2359// The value of the Type parameter is invalid. 2360// 2361// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy 2362func (c *FMS) PutPolicy(input *PutPolicyInput) (*PutPolicyOutput, error) { 2363 req, out := c.PutPolicyRequest(input) 2364 return out, req.Send() 2365} 2366 2367// PutPolicyWithContext is the same as PutPolicy with the addition of 2368// the ability to pass a context and additional request options. 2369// 2370// See PutPolicy for details on how to use this API operation. 2371// 2372// The context must be non-nil and will be used for request cancellation. If 2373// the context is nil a panic will occur. In the future the SDK may create 2374// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2375// for more information on using Contexts. 2376func (c *FMS) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts ...request.Option) (*PutPolicyOutput, error) { 2377 req, out := c.PutPolicyRequest(input) 2378 req.SetContext(ctx) 2379 req.ApplyOptions(opts...) 2380 return out, req.Send() 2381} 2382 2383const opPutProtocolsList = "PutProtocolsList" 2384 2385// PutProtocolsListRequest generates a "aws/request.Request" representing the 2386// client's request for the PutProtocolsList operation. The "output" return 2387// value will be populated with the request's response once the request completes 2388// successfully. 2389// 2390// Use "Send" method on the returned Request to send the API call to the service. 2391// the "output" return value is not valid until after Send returns without error. 2392// 2393// See PutProtocolsList for more information on using the PutProtocolsList 2394// API call, and error handling. 2395// 2396// This method is useful when you want to inject custom logic or configuration 2397// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2398// 2399// 2400// // Example sending a request using the PutProtocolsListRequest method. 2401// req, resp := client.PutProtocolsListRequest(params) 2402// 2403// err := req.Send() 2404// if err == nil { // resp is now filled 2405// fmt.Println(resp) 2406// } 2407// 2408// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList 2409func (c *FMS) PutProtocolsListRequest(input *PutProtocolsListInput) (req *request.Request, output *PutProtocolsListOutput) { 2410 op := &request.Operation{ 2411 Name: opPutProtocolsList, 2412 HTTPMethod: "POST", 2413 HTTPPath: "/", 2414 } 2415 2416 if input == nil { 2417 input = &PutProtocolsListInput{} 2418 } 2419 2420 output = &PutProtocolsListOutput{} 2421 req = c.newRequest(op, input, output) 2422 return 2423} 2424 2425// PutProtocolsList API operation for Firewall Management Service. 2426// 2427// Creates an AWS Firewall Manager protocols list. 2428// 2429// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2430// with awserr.Error's Code and Message methods to get detailed information about 2431// the error. 2432// 2433// See the AWS API reference guide for Firewall Management Service's 2434// API operation PutProtocolsList for usage and error information. 2435// 2436// Returned Error Types: 2437// * ResourceNotFoundException 2438// The specified resource was not found. 2439// 2440// * InvalidOperationException 2441// The operation failed because there was nothing to do or the operation wasn't 2442// possible. For example, you might have submitted an AssociateAdminAccount 2443// request for an account ID that was already set as the AWS Firewall Manager 2444// administrator. Or you might have tried to access a Region that's disabled 2445// by default, and that you need to enable for the Firewall Manager administrator 2446// account and for AWS Organizations before you can access it. 2447// 2448// * InvalidInputException 2449// The parameters of the request were invalid. 2450// 2451// * LimitExceededException 2452// The operation exceeds a resource limit, for example, the maximum number of 2453// policy objects that you can create for an AWS account. For more information, 2454// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 2455// in the AWS WAF Developer Guide. 2456// 2457// * InternalErrorException 2458// The operation failed because of a system problem, even though the request 2459// was valid. Retry your request. 2460// 2461// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutProtocolsList 2462func (c *FMS) PutProtocolsList(input *PutProtocolsListInput) (*PutProtocolsListOutput, error) { 2463 req, out := c.PutProtocolsListRequest(input) 2464 return out, req.Send() 2465} 2466 2467// PutProtocolsListWithContext is the same as PutProtocolsList with the addition of 2468// the ability to pass a context and additional request options. 2469// 2470// See PutProtocolsList for details on how to use this API operation. 2471// 2472// The context must be non-nil and will be used for request cancellation. If 2473// the context is nil a panic will occur. In the future the SDK may create 2474// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2475// for more information on using Contexts. 2476func (c *FMS) PutProtocolsListWithContext(ctx aws.Context, input *PutProtocolsListInput, opts ...request.Option) (*PutProtocolsListOutput, error) { 2477 req, out := c.PutProtocolsListRequest(input) 2478 req.SetContext(ctx) 2479 req.ApplyOptions(opts...) 2480 return out, req.Send() 2481} 2482 2483const opTagResource = "TagResource" 2484 2485// TagResourceRequest generates a "aws/request.Request" representing the 2486// client's request for the TagResource operation. The "output" return 2487// value will be populated with the request's response once the request completes 2488// successfully. 2489// 2490// Use "Send" method on the returned Request to send the API call to the service. 2491// the "output" return value is not valid until after Send returns without error. 2492// 2493// See TagResource for more information on using the TagResource 2494// API call, and error handling. 2495// 2496// This method is useful when you want to inject custom logic or configuration 2497// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2498// 2499// 2500// // Example sending a request using the TagResourceRequest method. 2501// req, resp := client.TagResourceRequest(params) 2502// 2503// err := req.Send() 2504// if err == nil { // resp is now filled 2505// fmt.Println(resp) 2506// } 2507// 2508// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/TagResource 2509func (c *FMS) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) { 2510 op := &request.Operation{ 2511 Name: opTagResource, 2512 HTTPMethod: "POST", 2513 HTTPPath: "/", 2514 } 2515 2516 if input == nil { 2517 input = &TagResourceInput{} 2518 } 2519 2520 output = &TagResourceOutput{} 2521 req = c.newRequest(op, input, output) 2522 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2523 return 2524} 2525 2526// TagResource API operation for Firewall Management Service. 2527// 2528// Adds one or more tags to an AWS resource. 2529// 2530// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2531// with awserr.Error's Code and Message methods to get detailed information about 2532// the error. 2533// 2534// See the AWS API reference guide for Firewall Management Service's 2535// API operation TagResource for usage and error information. 2536// 2537// Returned Error Types: 2538// * ResourceNotFoundException 2539// The specified resource was not found. 2540// 2541// * InvalidOperationException 2542// The operation failed because there was nothing to do or the operation wasn't 2543// possible. For example, you might have submitted an AssociateAdminAccount 2544// request for an account ID that was already set as the AWS Firewall Manager 2545// administrator. Or you might have tried to access a Region that's disabled 2546// by default, and that you need to enable for the Firewall Manager administrator 2547// account and for AWS Organizations before you can access it. 2548// 2549// * InternalErrorException 2550// The operation failed because of a system problem, even though the request 2551// was valid. Retry your request. 2552// 2553// * InvalidInputException 2554// The parameters of the request were invalid. 2555// 2556// * LimitExceededException 2557// The operation exceeds a resource limit, for example, the maximum number of 2558// policy objects that you can create for an AWS account. For more information, 2559// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 2560// in the AWS WAF Developer Guide. 2561// 2562// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/TagResource 2563func (c *FMS) TagResource(input *TagResourceInput) (*TagResourceOutput, error) { 2564 req, out := c.TagResourceRequest(input) 2565 return out, req.Send() 2566} 2567 2568// TagResourceWithContext is the same as TagResource with the addition of 2569// the ability to pass a context and additional request options. 2570// 2571// See TagResource for details on how to use this API operation. 2572// 2573// The context must be non-nil and will be used for request cancellation. If 2574// the context is nil a panic will occur. In the future the SDK may create 2575// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2576// for more information on using Contexts. 2577func (c *FMS) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) { 2578 req, out := c.TagResourceRequest(input) 2579 req.SetContext(ctx) 2580 req.ApplyOptions(opts...) 2581 return out, req.Send() 2582} 2583 2584const opUntagResource = "UntagResource" 2585 2586// UntagResourceRequest generates a "aws/request.Request" representing the 2587// client's request for the UntagResource operation. The "output" return 2588// value will be populated with the request's response once the request completes 2589// successfully. 2590// 2591// Use "Send" method on the returned Request to send the API call to the service. 2592// the "output" return value is not valid until after Send returns without error. 2593// 2594// See UntagResource for more information on using the UntagResource 2595// API call, and error handling. 2596// 2597// This method is useful when you want to inject custom logic or configuration 2598// into the SDK's request lifecycle. Such as custom headers, or retry logic. 2599// 2600// 2601// // Example sending a request using the UntagResourceRequest method. 2602// req, resp := client.UntagResourceRequest(params) 2603// 2604// err := req.Send() 2605// if err == nil { // resp is now filled 2606// fmt.Println(resp) 2607// } 2608// 2609// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/UntagResource 2610func (c *FMS) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) { 2611 op := &request.Operation{ 2612 Name: opUntagResource, 2613 HTTPMethod: "POST", 2614 HTTPPath: "/", 2615 } 2616 2617 if input == nil { 2618 input = &UntagResourceInput{} 2619 } 2620 2621 output = &UntagResourceOutput{} 2622 req = c.newRequest(op, input, output) 2623 req.Handlers.Unmarshal.Swap(jsonrpc.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler) 2624 return 2625} 2626 2627// UntagResource API operation for Firewall Management Service. 2628// 2629// Removes one or more tags from an AWS resource. 2630// 2631// Returns awserr.Error for service API and SDK errors. Use runtime type assertions 2632// with awserr.Error's Code and Message methods to get detailed information about 2633// the error. 2634// 2635// See the AWS API reference guide for Firewall Management Service's 2636// API operation UntagResource for usage and error information. 2637// 2638// Returned Error Types: 2639// * ResourceNotFoundException 2640// The specified resource was not found. 2641// 2642// * InvalidOperationException 2643// The operation failed because there was nothing to do or the operation wasn't 2644// possible. For example, you might have submitted an AssociateAdminAccount 2645// request for an account ID that was already set as the AWS Firewall Manager 2646// administrator. Or you might have tried to access a Region that's disabled 2647// by default, and that you need to enable for the Firewall Manager administrator 2648// account and for AWS Organizations before you can access it. 2649// 2650// * InternalErrorException 2651// The operation failed because of a system problem, even though the request 2652// was valid. Retry your request. 2653// 2654// * InvalidInputException 2655// The parameters of the request were invalid. 2656// 2657// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/UntagResource 2658func (c *FMS) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) { 2659 req, out := c.UntagResourceRequest(input) 2660 return out, req.Send() 2661} 2662 2663// UntagResourceWithContext is the same as UntagResource with the addition of 2664// the ability to pass a context and additional request options. 2665// 2666// See UntagResource for details on how to use this API operation. 2667// 2668// The context must be non-nil and will be used for request cancellation. If 2669// the context is nil a panic will occur. In the future the SDK may create 2670// sub-contexts for http.Requests. See https://golang.org/pkg/context/ 2671// for more information on using Contexts. 2672func (c *FMS) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) { 2673 req, out := c.UntagResourceRequest(input) 2674 req.SetContext(ctx) 2675 req.ApplyOptions(opts...) 2676 return out, req.Send() 2677} 2678 2679// An individual AWS Firewall Manager application. 2680type App struct { 2681 _ struct{} `type:"structure"` 2682 2683 // The application's name. 2684 // 2685 // AppName is a required field 2686 AppName *string `min:"1" type:"string" required:"true"` 2687 2688 // The application's port number, for example 80. 2689 // 2690 // Port is a required field 2691 Port *int64 `type:"long" required:"true"` 2692 2693 // The IP protocol name or number. The name can be one of tcp, udp, or icmp. 2694 // For information on possible numbers, see Protocol Numbers (https://www.iana.org/assignments/protocol-numbers/protocol-numbers.xhtml). 2695 // 2696 // Protocol is a required field 2697 Protocol *string `min:"1" type:"string" required:"true"` 2698} 2699 2700// String returns the string representation 2701func (s App) String() string { 2702 return awsutil.Prettify(s) 2703} 2704 2705// GoString returns the string representation 2706func (s App) GoString() string { 2707 return s.String() 2708} 2709 2710// Validate inspects the fields of the type to determine if they are valid. 2711func (s *App) Validate() error { 2712 invalidParams := request.ErrInvalidParams{Context: "App"} 2713 if s.AppName == nil { 2714 invalidParams.Add(request.NewErrParamRequired("AppName")) 2715 } 2716 if s.AppName != nil && len(*s.AppName) < 1 { 2717 invalidParams.Add(request.NewErrParamMinLen("AppName", 1)) 2718 } 2719 if s.Port == nil { 2720 invalidParams.Add(request.NewErrParamRequired("Port")) 2721 } 2722 if s.Protocol == nil { 2723 invalidParams.Add(request.NewErrParamRequired("Protocol")) 2724 } 2725 if s.Protocol != nil && len(*s.Protocol) < 1 { 2726 invalidParams.Add(request.NewErrParamMinLen("Protocol", 1)) 2727 } 2728 2729 if invalidParams.Len() > 0 { 2730 return invalidParams 2731 } 2732 return nil 2733} 2734 2735// SetAppName sets the AppName field's value. 2736func (s *App) SetAppName(v string) *App { 2737 s.AppName = &v 2738 return s 2739} 2740 2741// SetPort sets the Port field's value. 2742func (s *App) SetPort(v int64) *App { 2743 s.Port = &v 2744 return s 2745} 2746 2747// SetProtocol sets the Protocol field's value. 2748func (s *App) SetProtocol(v string) *App { 2749 s.Protocol = &v 2750 return s 2751} 2752 2753// An AWS Firewall Manager applications list. 2754type AppsListData struct { 2755 _ struct{} `type:"structure"` 2756 2757 // An array of applications in the AWS Firewall Manager applications list. 2758 // 2759 // AppsList is a required field 2760 AppsList []*App `type:"list" required:"true"` 2761 2762 // The time that the AWS Firewall Manager applications list was created. 2763 CreateTime *time.Time `type:"timestamp"` 2764 2765 // The time that the AWS Firewall Manager applications list was last updated. 2766 LastUpdateTime *time.Time `type:"timestamp"` 2767 2768 // The ID of the AWS Firewall Manager applications list. 2769 ListId *string `min:"36" type:"string"` 2770 2771 // The name of the AWS Firewall Manager applications list. 2772 // 2773 // ListName is a required field 2774 ListName *string `min:"1" type:"string" required:"true"` 2775 2776 // A unique identifier for each update to the list. When you update the list, 2777 // the update token must match the token of the current version of the application 2778 // list. You can retrieve the update token by getting the list. 2779 ListUpdateToken *string `min:"1" type:"string"` 2780 2781 // A map of previous version numbers to their corresponding App object arrays. 2782 PreviousAppsList map[string][]*App `type:"map"` 2783} 2784 2785// String returns the string representation 2786func (s AppsListData) String() string { 2787 return awsutil.Prettify(s) 2788} 2789 2790// GoString returns the string representation 2791func (s AppsListData) GoString() string { 2792 return s.String() 2793} 2794 2795// Validate inspects the fields of the type to determine if they are valid. 2796func (s *AppsListData) Validate() error { 2797 invalidParams := request.ErrInvalidParams{Context: "AppsListData"} 2798 if s.AppsList == nil { 2799 invalidParams.Add(request.NewErrParamRequired("AppsList")) 2800 } 2801 if s.ListId != nil && len(*s.ListId) < 36 { 2802 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 2803 } 2804 if s.ListName == nil { 2805 invalidParams.Add(request.NewErrParamRequired("ListName")) 2806 } 2807 if s.ListName != nil && len(*s.ListName) < 1 { 2808 invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) 2809 } 2810 if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { 2811 invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) 2812 } 2813 if s.AppsList != nil { 2814 for i, v := range s.AppsList { 2815 if v == nil { 2816 continue 2817 } 2818 if err := v.Validate(); err != nil { 2819 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AppsList", i), err.(request.ErrInvalidParams)) 2820 } 2821 } 2822 } 2823 2824 if invalidParams.Len() > 0 { 2825 return invalidParams 2826 } 2827 return nil 2828} 2829 2830// SetAppsList sets the AppsList field's value. 2831func (s *AppsListData) SetAppsList(v []*App) *AppsListData { 2832 s.AppsList = v 2833 return s 2834} 2835 2836// SetCreateTime sets the CreateTime field's value. 2837func (s *AppsListData) SetCreateTime(v time.Time) *AppsListData { 2838 s.CreateTime = &v 2839 return s 2840} 2841 2842// SetLastUpdateTime sets the LastUpdateTime field's value. 2843func (s *AppsListData) SetLastUpdateTime(v time.Time) *AppsListData { 2844 s.LastUpdateTime = &v 2845 return s 2846} 2847 2848// SetListId sets the ListId field's value. 2849func (s *AppsListData) SetListId(v string) *AppsListData { 2850 s.ListId = &v 2851 return s 2852} 2853 2854// SetListName sets the ListName field's value. 2855func (s *AppsListData) SetListName(v string) *AppsListData { 2856 s.ListName = &v 2857 return s 2858} 2859 2860// SetListUpdateToken sets the ListUpdateToken field's value. 2861func (s *AppsListData) SetListUpdateToken(v string) *AppsListData { 2862 s.ListUpdateToken = &v 2863 return s 2864} 2865 2866// SetPreviousAppsList sets the PreviousAppsList field's value. 2867func (s *AppsListData) SetPreviousAppsList(v map[string][]*App) *AppsListData { 2868 s.PreviousAppsList = v 2869 return s 2870} 2871 2872// Details of the AWS Firewall Manager applications list. 2873type AppsListDataSummary struct { 2874 _ struct{} `type:"structure"` 2875 2876 // An array of App objects in the AWS Firewall Manager applications list. 2877 AppsList []*App `type:"list"` 2878 2879 // The Amazon Resource Name (ARN) of the applications list. 2880 ListArn *string `min:"1" type:"string"` 2881 2882 // The ID of the applications list. 2883 ListId *string `min:"36" type:"string"` 2884 2885 // The name of the applications list. 2886 ListName *string `min:"1" type:"string"` 2887} 2888 2889// String returns the string representation 2890func (s AppsListDataSummary) String() string { 2891 return awsutil.Prettify(s) 2892} 2893 2894// GoString returns the string representation 2895func (s AppsListDataSummary) GoString() string { 2896 return s.String() 2897} 2898 2899// SetAppsList sets the AppsList field's value. 2900func (s *AppsListDataSummary) SetAppsList(v []*App) *AppsListDataSummary { 2901 s.AppsList = v 2902 return s 2903} 2904 2905// SetListArn sets the ListArn field's value. 2906func (s *AppsListDataSummary) SetListArn(v string) *AppsListDataSummary { 2907 s.ListArn = &v 2908 return s 2909} 2910 2911// SetListId sets the ListId field's value. 2912func (s *AppsListDataSummary) SetListId(v string) *AppsListDataSummary { 2913 s.ListId = &v 2914 return s 2915} 2916 2917// SetListName sets the ListName field's value. 2918func (s *AppsListDataSummary) SetListName(v string) *AppsListDataSummary { 2919 s.ListName = &v 2920 return s 2921} 2922 2923type AssociateAdminAccountInput struct { 2924 _ struct{} `type:"structure"` 2925 2926 // The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall 2927 // Manager administrator account. This can be an AWS Organizations master account 2928 // or a member account. For more information about AWS Organizations and master 2929 // accounts, see Managing the AWS Accounts in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html). 2930 // 2931 // AdminAccount is a required field 2932 AdminAccount *string `min:"1" type:"string" required:"true"` 2933} 2934 2935// String returns the string representation 2936func (s AssociateAdminAccountInput) String() string { 2937 return awsutil.Prettify(s) 2938} 2939 2940// GoString returns the string representation 2941func (s AssociateAdminAccountInput) GoString() string { 2942 return s.String() 2943} 2944 2945// Validate inspects the fields of the type to determine if they are valid. 2946func (s *AssociateAdminAccountInput) Validate() error { 2947 invalidParams := request.ErrInvalidParams{Context: "AssociateAdminAccountInput"} 2948 if s.AdminAccount == nil { 2949 invalidParams.Add(request.NewErrParamRequired("AdminAccount")) 2950 } 2951 if s.AdminAccount != nil && len(*s.AdminAccount) < 1 { 2952 invalidParams.Add(request.NewErrParamMinLen("AdminAccount", 1)) 2953 } 2954 2955 if invalidParams.Len() > 0 { 2956 return invalidParams 2957 } 2958 return nil 2959} 2960 2961// SetAdminAccount sets the AdminAccount field's value. 2962func (s *AssociateAdminAccountInput) SetAdminAccount(v string) *AssociateAdminAccountInput { 2963 s.AdminAccount = &v 2964 return s 2965} 2966 2967type AssociateAdminAccountOutput struct { 2968 _ struct{} `type:"structure"` 2969} 2970 2971// String returns the string representation 2972func (s AssociateAdminAccountOutput) String() string { 2973 return awsutil.Prettify(s) 2974} 2975 2976// GoString returns the string representation 2977func (s AssociateAdminAccountOutput) GoString() string { 2978 return s.String() 2979} 2980 2981// Violations for an EC2 instance resource. 2982type AwsEc2InstanceViolation struct { 2983 _ struct{} `type:"structure"` 2984 2985 // Violations for network interfaces associated with the EC2 instance. 2986 AwsEc2NetworkInterfaceViolations []*AwsEc2NetworkInterfaceViolation `type:"list"` 2987 2988 // The resource ID of the EC2 instance. 2989 ViolationTarget *string `type:"string"` 2990} 2991 2992// String returns the string representation 2993func (s AwsEc2InstanceViolation) String() string { 2994 return awsutil.Prettify(s) 2995} 2996 2997// GoString returns the string representation 2998func (s AwsEc2InstanceViolation) GoString() string { 2999 return s.String() 3000} 3001 3002// SetAwsEc2NetworkInterfaceViolations sets the AwsEc2NetworkInterfaceViolations field's value. 3003func (s *AwsEc2InstanceViolation) SetAwsEc2NetworkInterfaceViolations(v []*AwsEc2NetworkInterfaceViolation) *AwsEc2InstanceViolation { 3004 s.AwsEc2NetworkInterfaceViolations = v 3005 return s 3006} 3007 3008// SetViolationTarget sets the ViolationTarget field's value. 3009func (s *AwsEc2InstanceViolation) SetViolationTarget(v string) *AwsEc2InstanceViolation { 3010 s.ViolationTarget = &v 3011 return s 3012} 3013 3014// Violations for network interfaces associated with an EC2 instance. 3015type AwsEc2NetworkInterfaceViolation struct { 3016 _ struct{} `type:"structure"` 3017 3018 // List of security groups that violate the rules specified in the master security 3019 // group of the AWS Firewall Manager policy. 3020 ViolatingSecurityGroups []*string `type:"list"` 3021 3022 // The resource ID of the network interface. 3023 ViolationTarget *string `type:"string"` 3024} 3025 3026// String returns the string representation 3027func (s AwsEc2NetworkInterfaceViolation) String() string { 3028 return awsutil.Prettify(s) 3029} 3030 3031// GoString returns the string representation 3032func (s AwsEc2NetworkInterfaceViolation) GoString() string { 3033 return s.String() 3034} 3035 3036// SetViolatingSecurityGroups sets the ViolatingSecurityGroups field's value. 3037func (s *AwsEc2NetworkInterfaceViolation) SetViolatingSecurityGroups(v []*string) *AwsEc2NetworkInterfaceViolation { 3038 s.ViolatingSecurityGroups = v 3039 return s 3040} 3041 3042// SetViolationTarget sets the ViolationTarget field's value. 3043func (s *AwsEc2NetworkInterfaceViolation) SetViolationTarget(v string) *AwsEc2NetworkInterfaceViolation { 3044 s.ViolationTarget = &v 3045 return s 3046} 3047 3048// Details of the rule violation in a security group when compared to the master 3049// security group of the AWS Firewall Manager policy. 3050type AwsVPCSecurityGroupViolation struct { 3051 _ struct{} `type:"structure"` 3052 3053 // List of rules specified in the security group of the AWS Firewall Manager 3054 // policy that partially match the ViolationTarget rule. 3055 PartialMatches []*PartialMatch `type:"list"` 3056 3057 // Remediation options for the rule specified in the ViolationTarget. 3058 PossibleSecurityGroupRemediationActions []*SecurityGroupRemediationAction `type:"list"` 3059 3060 // The security group rule that is being evaluated. 3061 ViolationTarget *string `type:"string"` 3062 3063 // A description of the security group that violates the policy. 3064 ViolationTargetDescription *string `type:"string"` 3065} 3066 3067// String returns the string representation 3068func (s AwsVPCSecurityGroupViolation) String() string { 3069 return awsutil.Prettify(s) 3070} 3071 3072// GoString returns the string representation 3073func (s AwsVPCSecurityGroupViolation) GoString() string { 3074 return s.String() 3075} 3076 3077// SetPartialMatches sets the PartialMatches field's value. 3078func (s *AwsVPCSecurityGroupViolation) SetPartialMatches(v []*PartialMatch) *AwsVPCSecurityGroupViolation { 3079 s.PartialMatches = v 3080 return s 3081} 3082 3083// SetPossibleSecurityGroupRemediationActions sets the PossibleSecurityGroupRemediationActions field's value. 3084func (s *AwsVPCSecurityGroupViolation) SetPossibleSecurityGroupRemediationActions(v []*SecurityGroupRemediationAction) *AwsVPCSecurityGroupViolation { 3085 s.PossibleSecurityGroupRemediationActions = v 3086 return s 3087} 3088 3089// SetViolationTarget sets the ViolationTarget field's value. 3090func (s *AwsVPCSecurityGroupViolation) SetViolationTarget(v string) *AwsVPCSecurityGroupViolation { 3091 s.ViolationTarget = &v 3092 return s 3093} 3094 3095// SetViolationTargetDescription sets the ViolationTargetDescription field's value. 3096func (s *AwsVPCSecurityGroupViolation) SetViolationTargetDescription(v string) *AwsVPCSecurityGroupViolation { 3097 s.ViolationTargetDescription = &v 3098 return s 3099} 3100 3101// Details of the resource that is not protected by the policy. 3102type ComplianceViolator struct { 3103 _ struct{} `type:"structure"` 3104 3105 // The resource ID. 3106 ResourceId *string `min:"1" type:"string"` 3107 3108 // The resource type. This is in the format shown in the AWS Resource Types 3109 // Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 3110 // For example: AWS::ElasticLoadBalancingV2::LoadBalancer, AWS::CloudFront::Distribution, 3111 // or AWS::NetworkFirewall::FirewallPolicy. 3112 ResourceType *string `min:"1" type:"string"` 3113 3114 // The reason that the resource is not protected by the policy. 3115 ViolationReason *string `type:"string" enum:"ViolationReason"` 3116} 3117 3118// String returns the string representation 3119func (s ComplianceViolator) String() string { 3120 return awsutil.Prettify(s) 3121} 3122 3123// GoString returns the string representation 3124func (s ComplianceViolator) GoString() string { 3125 return s.String() 3126} 3127 3128// SetResourceId sets the ResourceId field's value. 3129func (s *ComplianceViolator) SetResourceId(v string) *ComplianceViolator { 3130 s.ResourceId = &v 3131 return s 3132} 3133 3134// SetResourceType sets the ResourceType field's value. 3135func (s *ComplianceViolator) SetResourceType(v string) *ComplianceViolator { 3136 s.ResourceType = &v 3137 return s 3138} 3139 3140// SetViolationReason sets the ViolationReason field's value. 3141func (s *ComplianceViolator) SetViolationReason(v string) *ComplianceViolator { 3142 s.ViolationReason = &v 3143 return s 3144} 3145 3146type DeleteAppsListInput struct { 3147 _ struct{} `type:"structure"` 3148 3149 // The ID of the applications list that you want to delete. You can retrieve 3150 // this ID from PutAppsList, ListAppsLists, and GetAppsList. 3151 // 3152 // ListId is a required field 3153 ListId *string `min:"36" type:"string" required:"true"` 3154} 3155 3156// String returns the string representation 3157func (s DeleteAppsListInput) String() string { 3158 return awsutil.Prettify(s) 3159} 3160 3161// GoString returns the string representation 3162func (s DeleteAppsListInput) GoString() string { 3163 return s.String() 3164} 3165 3166// Validate inspects the fields of the type to determine if they are valid. 3167func (s *DeleteAppsListInput) Validate() error { 3168 invalidParams := request.ErrInvalidParams{Context: "DeleteAppsListInput"} 3169 if s.ListId == nil { 3170 invalidParams.Add(request.NewErrParamRequired("ListId")) 3171 } 3172 if s.ListId != nil && len(*s.ListId) < 36 { 3173 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 3174 } 3175 3176 if invalidParams.Len() > 0 { 3177 return invalidParams 3178 } 3179 return nil 3180} 3181 3182// SetListId sets the ListId field's value. 3183func (s *DeleteAppsListInput) SetListId(v string) *DeleteAppsListInput { 3184 s.ListId = &v 3185 return s 3186} 3187 3188type DeleteAppsListOutput struct { 3189 _ struct{} `type:"structure"` 3190} 3191 3192// String returns the string representation 3193func (s DeleteAppsListOutput) String() string { 3194 return awsutil.Prettify(s) 3195} 3196 3197// GoString returns the string representation 3198func (s DeleteAppsListOutput) GoString() string { 3199 return s.String() 3200} 3201 3202type DeleteNotificationChannelInput struct { 3203 _ struct{} `type:"structure"` 3204} 3205 3206// String returns the string representation 3207func (s DeleteNotificationChannelInput) String() string { 3208 return awsutil.Prettify(s) 3209} 3210 3211// GoString returns the string representation 3212func (s DeleteNotificationChannelInput) GoString() string { 3213 return s.String() 3214} 3215 3216type DeleteNotificationChannelOutput struct { 3217 _ struct{} `type:"structure"` 3218} 3219 3220// String returns the string representation 3221func (s DeleteNotificationChannelOutput) String() string { 3222 return awsutil.Prettify(s) 3223} 3224 3225// GoString returns the string representation 3226func (s DeleteNotificationChannelOutput) GoString() string { 3227 return s.String() 3228} 3229 3230type DeletePolicyInput struct { 3231 _ struct{} `type:"structure"` 3232 3233 // If True, the request performs cleanup according to the policy type. 3234 // 3235 // For AWS WAF and Shield Advanced policies, the cleanup does the following: 3236 // 3237 // * Deletes rule groups created by AWS Firewall Manager 3238 // 3239 // * Removes web ACLs from in-scope resources 3240 // 3241 // * Deletes web ACLs that contain no rules or rule groups 3242 // 3243 // For security group policies, the cleanup does the following for each security 3244 // group in the policy: 3245 // 3246 // * Disassociates the security group from in-scope resources 3247 // 3248 // * Deletes the security group if it was created through Firewall Manager 3249 // and if it's no longer associated with any resources through another policy 3250 // 3251 // After the cleanup, in-scope resources are no longer protected by web ACLs 3252 // in this policy. Protection of out-of-scope resources remains unchanged. Scope 3253 // is determined by tags that you create and accounts that you associate with 3254 // the policy. When creating the policy, if you specify that only resources 3255 // in specific accounts or with specific tags are in scope of the policy, those 3256 // accounts and resources are handled by the policy. All others are out of scope. 3257 // If you don't specify tags or accounts, all resources are in scope. 3258 DeleteAllPolicyResources *bool `type:"boolean"` 3259 3260 // The ID of the policy that you want to delete. You can retrieve this ID from 3261 // PutPolicy and ListPolicies. 3262 // 3263 // PolicyId is a required field 3264 PolicyId *string `min:"36" type:"string" required:"true"` 3265} 3266 3267// String returns the string representation 3268func (s DeletePolicyInput) String() string { 3269 return awsutil.Prettify(s) 3270} 3271 3272// GoString returns the string representation 3273func (s DeletePolicyInput) GoString() string { 3274 return s.String() 3275} 3276 3277// Validate inspects the fields of the type to determine if they are valid. 3278func (s *DeletePolicyInput) Validate() error { 3279 invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"} 3280 if s.PolicyId == nil { 3281 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3282 } 3283 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3284 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3285 } 3286 3287 if invalidParams.Len() > 0 { 3288 return invalidParams 3289 } 3290 return nil 3291} 3292 3293// SetDeleteAllPolicyResources sets the DeleteAllPolicyResources field's value. 3294func (s *DeletePolicyInput) SetDeleteAllPolicyResources(v bool) *DeletePolicyInput { 3295 s.DeleteAllPolicyResources = &v 3296 return s 3297} 3298 3299// SetPolicyId sets the PolicyId field's value. 3300func (s *DeletePolicyInput) SetPolicyId(v string) *DeletePolicyInput { 3301 s.PolicyId = &v 3302 return s 3303} 3304 3305type DeletePolicyOutput struct { 3306 _ struct{} `type:"structure"` 3307} 3308 3309// String returns the string representation 3310func (s DeletePolicyOutput) String() string { 3311 return awsutil.Prettify(s) 3312} 3313 3314// GoString returns the string representation 3315func (s DeletePolicyOutput) GoString() string { 3316 return s.String() 3317} 3318 3319type DeleteProtocolsListInput struct { 3320 _ struct{} `type:"structure"` 3321 3322 // The ID of the protocols list that you want to delete. You can retrieve this 3323 // ID from PutProtocolsList, ListProtocolsLists, and GetProtocolsLost. 3324 // 3325 // ListId is a required field 3326 ListId *string `min:"36" type:"string" required:"true"` 3327} 3328 3329// String returns the string representation 3330func (s DeleteProtocolsListInput) String() string { 3331 return awsutil.Prettify(s) 3332} 3333 3334// GoString returns the string representation 3335func (s DeleteProtocolsListInput) GoString() string { 3336 return s.String() 3337} 3338 3339// Validate inspects the fields of the type to determine if they are valid. 3340func (s *DeleteProtocolsListInput) Validate() error { 3341 invalidParams := request.ErrInvalidParams{Context: "DeleteProtocolsListInput"} 3342 if s.ListId == nil { 3343 invalidParams.Add(request.NewErrParamRequired("ListId")) 3344 } 3345 if s.ListId != nil && len(*s.ListId) < 36 { 3346 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 3347 } 3348 3349 if invalidParams.Len() > 0 { 3350 return invalidParams 3351 } 3352 return nil 3353} 3354 3355// SetListId sets the ListId field's value. 3356func (s *DeleteProtocolsListInput) SetListId(v string) *DeleteProtocolsListInput { 3357 s.ListId = &v 3358 return s 3359} 3360 3361type DeleteProtocolsListOutput struct { 3362 _ struct{} `type:"structure"` 3363} 3364 3365// String returns the string representation 3366func (s DeleteProtocolsListOutput) String() string { 3367 return awsutil.Prettify(s) 3368} 3369 3370// GoString returns the string representation 3371func (s DeleteProtocolsListOutput) GoString() string { 3372 return s.String() 3373} 3374 3375type DisassociateAdminAccountInput struct { 3376 _ struct{} `type:"structure"` 3377} 3378 3379// String returns the string representation 3380func (s DisassociateAdminAccountInput) String() string { 3381 return awsutil.Prettify(s) 3382} 3383 3384// GoString returns the string representation 3385func (s DisassociateAdminAccountInput) GoString() string { 3386 return s.String() 3387} 3388 3389type DisassociateAdminAccountOutput struct { 3390 _ struct{} `type:"structure"` 3391} 3392 3393// String returns the string representation 3394func (s DisassociateAdminAccountOutput) String() string { 3395 return awsutil.Prettify(s) 3396} 3397 3398// GoString returns the string representation 3399func (s DisassociateAdminAccountOutput) GoString() string { 3400 return s.String() 3401} 3402 3403// Describes the compliance status for the account. An account is considered 3404// noncompliant if it includes resources that are not protected by the specified 3405// policy or that don't comply with the policy. 3406type EvaluationResult struct { 3407 _ struct{} `type:"structure"` 3408 3409 // Describes an AWS account's compliance with the AWS Firewall Manager policy. 3410 ComplianceStatus *string `type:"string" enum:"PolicyComplianceStatusType"` 3411 3412 // Indicates that over 100 resources are noncompliant with the AWS Firewall 3413 // Manager policy. 3414 EvaluationLimitExceeded *bool `type:"boolean"` 3415 3416 // The number of resources that are noncompliant with the specified policy. 3417 // For AWS WAF and Shield Advanced policies, a resource is considered noncompliant 3418 // if it is not associated with the policy. For security group policies, a resource 3419 // is considered noncompliant if it doesn't comply with the rules of the policy 3420 // and remediation is disabled or not possible. 3421 ViolatorCount *int64 `type:"long"` 3422} 3423 3424// String returns the string representation 3425func (s EvaluationResult) String() string { 3426 return awsutil.Prettify(s) 3427} 3428 3429// GoString returns the string representation 3430func (s EvaluationResult) GoString() string { 3431 return s.String() 3432} 3433 3434// SetComplianceStatus sets the ComplianceStatus field's value. 3435func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult { 3436 s.ComplianceStatus = &v 3437 return s 3438} 3439 3440// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. 3441func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult { 3442 s.EvaluationLimitExceeded = &v 3443 return s 3444} 3445 3446// SetViolatorCount sets the ViolatorCount field's value. 3447func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult { 3448 s.ViolatorCount = &v 3449 return s 3450} 3451 3452type GetAdminAccountInput struct { 3453 _ struct{} `type:"structure"` 3454} 3455 3456// String returns the string representation 3457func (s GetAdminAccountInput) String() string { 3458 return awsutil.Prettify(s) 3459} 3460 3461// GoString returns the string representation 3462func (s GetAdminAccountInput) GoString() string { 3463 return s.String() 3464} 3465 3466type GetAdminAccountOutput struct { 3467 _ struct{} `type:"structure"` 3468 3469 // The AWS account that is set as the AWS Firewall Manager administrator. 3470 AdminAccount *string `min:"1" type:"string"` 3471 3472 // The status of the AWS account that you set as the AWS Firewall Manager administrator. 3473 RoleStatus *string `type:"string" enum:"AccountRoleStatus"` 3474} 3475 3476// String returns the string representation 3477func (s GetAdminAccountOutput) String() string { 3478 return awsutil.Prettify(s) 3479} 3480 3481// GoString returns the string representation 3482func (s GetAdminAccountOutput) GoString() string { 3483 return s.String() 3484} 3485 3486// SetAdminAccount sets the AdminAccount field's value. 3487func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput { 3488 s.AdminAccount = &v 3489 return s 3490} 3491 3492// SetRoleStatus sets the RoleStatus field's value. 3493func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { 3494 s.RoleStatus = &v 3495 return s 3496} 3497 3498type GetAppsListInput struct { 3499 _ struct{} `type:"structure"` 3500 3501 // Specifies whether the list to retrieve is a default list owned by AWS Firewall 3502 // Manager. 3503 DefaultList *bool `type:"boolean"` 3504 3505 // The ID of the AWS Firewall Manager applications list that you want the details 3506 // for. 3507 // 3508 // ListId is a required field 3509 ListId *string `min:"36" type:"string" required:"true"` 3510} 3511 3512// String returns the string representation 3513func (s GetAppsListInput) String() string { 3514 return awsutil.Prettify(s) 3515} 3516 3517// GoString returns the string representation 3518func (s GetAppsListInput) GoString() string { 3519 return s.String() 3520} 3521 3522// Validate inspects the fields of the type to determine if they are valid. 3523func (s *GetAppsListInput) Validate() error { 3524 invalidParams := request.ErrInvalidParams{Context: "GetAppsListInput"} 3525 if s.ListId == nil { 3526 invalidParams.Add(request.NewErrParamRequired("ListId")) 3527 } 3528 if s.ListId != nil && len(*s.ListId) < 36 { 3529 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 3530 } 3531 3532 if invalidParams.Len() > 0 { 3533 return invalidParams 3534 } 3535 return nil 3536} 3537 3538// SetDefaultList sets the DefaultList field's value. 3539func (s *GetAppsListInput) SetDefaultList(v bool) *GetAppsListInput { 3540 s.DefaultList = &v 3541 return s 3542} 3543 3544// SetListId sets the ListId field's value. 3545func (s *GetAppsListInput) SetListId(v string) *GetAppsListInput { 3546 s.ListId = &v 3547 return s 3548} 3549 3550type GetAppsListOutput struct { 3551 _ struct{} `type:"structure"` 3552 3553 // Information about the specified AWS Firewall Manager applications list. 3554 AppsList *AppsListData `type:"structure"` 3555 3556 // The Amazon Resource Name (ARN) of the applications list. 3557 AppsListArn *string `min:"1" type:"string"` 3558} 3559 3560// String returns the string representation 3561func (s GetAppsListOutput) String() string { 3562 return awsutil.Prettify(s) 3563} 3564 3565// GoString returns the string representation 3566func (s GetAppsListOutput) GoString() string { 3567 return s.String() 3568} 3569 3570// SetAppsList sets the AppsList field's value. 3571func (s *GetAppsListOutput) SetAppsList(v *AppsListData) *GetAppsListOutput { 3572 s.AppsList = v 3573 return s 3574} 3575 3576// SetAppsListArn sets the AppsListArn field's value. 3577func (s *GetAppsListOutput) SetAppsListArn(v string) *GetAppsListOutput { 3578 s.AppsListArn = &v 3579 return s 3580} 3581 3582type GetComplianceDetailInput struct { 3583 _ struct{} `type:"structure"` 3584 3585 // The AWS account that owns the resources that you want to get the details 3586 // for. 3587 // 3588 // MemberAccount is a required field 3589 MemberAccount *string `min:"1" type:"string" required:"true"` 3590 3591 // The ID of the policy that you want to get the details for. PolicyId is returned 3592 // by PutPolicy and by ListPolicies. 3593 // 3594 // PolicyId is a required field 3595 PolicyId *string `min:"36" type:"string" required:"true"` 3596} 3597 3598// String returns the string representation 3599func (s GetComplianceDetailInput) String() string { 3600 return awsutil.Prettify(s) 3601} 3602 3603// GoString returns the string representation 3604func (s GetComplianceDetailInput) GoString() string { 3605 return s.String() 3606} 3607 3608// Validate inspects the fields of the type to determine if they are valid. 3609func (s *GetComplianceDetailInput) Validate() error { 3610 invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailInput"} 3611 if s.MemberAccount == nil { 3612 invalidParams.Add(request.NewErrParamRequired("MemberAccount")) 3613 } 3614 if s.MemberAccount != nil && len(*s.MemberAccount) < 1 { 3615 invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1)) 3616 } 3617 if s.PolicyId == nil { 3618 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3619 } 3620 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3621 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3622 } 3623 3624 if invalidParams.Len() > 0 { 3625 return invalidParams 3626 } 3627 return nil 3628} 3629 3630// SetMemberAccount sets the MemberAccount field's value. 3631func (s *GetComplianceDetailInput) SetMemberAccount(v string) *GetComplianceDetailInput { 3632 s.MemberAccount = &v 3633 return s 3634} 3635 3636// SetPolicyId sets the PolicyId field's value. 3637func (s *GetComplianceDetailInput) SetPolicyId(v string) *GetComplianceDetailInput { 3638 s.PolicyId = &v 3639 return s 3640} 3641 3642type GetComplianceDetailOutput struct { 3643 _ struct{} `type:"structure"` 3644 3645 // Information about the resources and the policy that you specified in the 3646 // GetComplianceDetail request. 3647 PolicyComplianceDetail *PolicyComplianceDetail `type:"structure"` 3648} 3649 3650// String returns the string representation 3651func (s GetComplianceDetailOutput) String() string { 3652 return awsutil.Prettify(s) 3653} 3654 3655// GoString returns the string representation 3656func (s GetComplianceDetailOutput) GoString() string { 3657 return s.String() 3658} 3659 3660// SetPolicyComplianceDetail sets the PolicyComplianceDetail field's value. 3661func (s *GetComplianceDetailOutput) SetPolicyComplianceDetail(v *PolicyComplianceDetail) *GetComplianceDetailOutput { 3662 s.PolicyComplianceDetail = v 3663 return s 3664} 3665 3666type GetNotificationChannelInput struct { 3667 _ struct{} `type:"structure"` 3668} 3669 3670// String returns the string representation 3671func (s GetNotificationChannelInput) String() string { 3672 return awsutil.Prettify(s) 3673} 3674 3675// GoString returns the string representation 3676func (s GetNotificationChannelInput) GoString() string { 3677 return s.String() 3678} 3679 3680type GetNotificationChannelOutput struct { 3681 _ struct{} `type:"structure"` 3682 3683 // The IAM role that is used by AWS Firewall Manager to record activity to SNS. 3684 SnsRoleName *string `min:"1" type:"string"` 3685 3686 // The SNS topic that records AWS Firewall Manager activity. 3687 SnsTopicArn *string `min:"1" type:"string"` 3688} 3689 3690// String returns the string representation 3691func (s GetNotificationChannelOutput) String() string { 3692 return awsutil.Prettify(s) 3693} 3694 3695// GoString returns the string representation 3696func (s GetNotificationChannelOutput) GoString() string { 3697 return s.String() 3698} 3699 3700// SetSnsRoleName sets the SnsRoleName field's value. 3701func (s *GetNotificationChannelOutput) SetSnsRoleName(v string) *GetNotificationChannelOutput { 3702 s.SnsRoleName = &v 3703 return s 3704} 3705 3706// SetSnsTopicArn sets the SnsTopicArn field's value. 3707func (s *GetNotificationChannelOutput) SetSnsTopicArn(v string) *GetNotificationChannelOutput { 3708 s.SnsTopicArn = &v 3709 return s 3710} 3711 3712type GetPolicyInput struct { 3713 _ struct{} `type:"structure"` 3714 3715 // The ID of the AWS Firewall Manager policy that you want the details for. 3716 // 3717 // PolicyId is a required field 3718 PolicyId *string `min:"36" type:"string" required:"true"` 3719} 3720 3721// String returns the string representation 3722func (s GetPolicyInput) String() string { 3723 return awsutil.Prettify(s) 3724} 3725 3726// GoString returns the string representation 3727func (s GetPolicyInput) GoString() string { 3728 return s.String() 3729} 3730 3731// Validate inspects the fields of the type to determine if they are valid. 3732func (s *GetPolicyInput) Validate() error { 3733 invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} 3734 if s.PolicyId == nil { 3735 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3736 } 3737 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3738 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3739 } 3740 3741 if invalidParams.Len() > 0 { 3742 return invalidParams 3743 } 3744 return nil 3745} 3746 3747// SetPolicyId sets the PolicyId field's value. 3748func (s *GetPolicyInput) SetPolicyId(v string) *GetPolicyInput { 3749 s.PolicyId = &v 3750 return s 3751} 3752 3753type GetPolicyOutput struct { 3754 _ struct{} `type:"structure"` 3755 3756 // Information about the specified AWS Firewall Manager policy. 3757 Policy *Policy `type:"structure"` 3758 3759 // The Amazon Resource Name (ARN) of the specified policy. 3760 PolicyArn *string `min:"1" type:"string"` 3761} 3762 3763// String returns the string representation 3764func (s GetPolicyOutput) String() string { 3765 return awsutil.Prettify(s) 3766} 3767 3768// GoString returns the string representation 3769func (s GetPolicyOutput) GoString() string { 3770 return s.String() 3771} 3772 3773// SetPolicy sets the Policy field's value. 3774func (s *GetPolicyOutput) SetPolicy(v *Policy) *GetPolicyOutput { 3775 s.Policy = v 3776 return s 3777} 3778 3779// SetPolicyArn sets the PolicyArn field's value. 3780func (s *GetPolicyOutput) SetPolicyArn(v string) *GetPolicyOutput { 3781 s.PolicyArn = &v 3782 return s 3783} 3784 3785type GetProtectionStatusInput struct { 3786 _ struct{} `type:"structure"` 3787 3788 // The end of the time period to query for the attacks. This is a timestamp 3789 // type. The request syntax listing indicates a number type because the default 3790 // used by AWS Firewall Manager is Unix time in seconds. However, any valid 3791 // timestamp format is allowed. 3792 EndTime *time.Time `type:"timestamp"` 3793 3794 // Specifies the number of objects that you want AWS Firewall Manager to return 3795 // for this request. If you have more objects than the number that you specify 3796 // for MaxResults, the response includes a NextToken value that you can use 3797 // to get another batch of objects. 3798 MaxResults *int64 `min:"1" type:"integer"` 3799 3800 // The AWS account that is in scope of the policy that you want to get the details 3801 // for. 3802 MemberAccountId *string `min:"1" type:"string"` 3803 3804 // If you specify a value for MaxResults and you have more objects than the 3805 // number that you specify for MaxResults, AWS Firewall Manager returns a NextToken 3806 // value in the response, which you can use to retrieve another group of objects. 3807 // For the second and subsequent GetProtectionStatus requests, specify the value 3808 // of NextToken from the previous response to get information about another 3809 // batch of objects. 3810 NextToken *string `min:"1" type:"string"` 3811 3812 // The ID of the policy for which you want to get the attack information. 3813 // 3814 // PolicyId is a required field 3815 PolicyId *string `min:"36" type:"string" required:"true"` 3816 3817 // The start of the time period to query for the attacks. This is a timestamp 3818 // type. The request syntax listing indicates a number type because the default 3819 // used by AWS Firewall Manager is Unix time in seconds. However, any valid 3820 // timestamp format is allowed. 3821 StartTime *time.Time `type:"timestamp"` 3822} 3823 3824// String returns the string representation 3825func (s GetProtectionStatusInput) String() string { 3826 return awsutil.Prettify(s) 3827} 3828 3829// GoString returns the string representation 3830func (s GetProtectionStatusInput) GoString() string { 3831 return s.String() 3832} 3833 3834// Validate inspects the fields of the type to determine if they are valid. 3835func (s *GetProtectionStatusInput) Validate() error { 3836 invalidParams := request.ErrInvalidParams{Context: "GetProtectionStatusInput"} 3837 if s.MaxResults != nil && *s.MaxResults < 1 { 3838 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3839 } 3840 if s.MemberAccountId != nil && len(*s.MemberAccountId) < 1 { 3841 invalidParams.Add(request.NewErrParamMinLen("MemberAccountId", 1)) 3842 } 3843 if s.NextToken != nil && len(*s.NextToken) < 1 { 3844 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3845 } 3846 if s.PolicyId == nil { 3847 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3848 } 3849 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3850 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3851 } 3852 3853 if invalidParams.Len() > 0 { 3854 return invalidParams 3855 } 3856 return nil 3857} 3858 3859// SetEndTime sets the EndTime field's value. 3860func (s *GetProtectionStatusInput) SetEndTime(v time.Time) *GetProtectionStatusInput { 3861 s.EndTime = &v 3862 return s 3863} 3864 3865// SetMaxResults sets the MaxResults field's value. 3866func (s *GetProtectionStatusInput) SetMaxResults(v int64) *GetProtectionStatusInput { 3867 s.MaxResults = &v 3868 return s 3869} 3870 3871// SetMemberAccountId sets the MemberAccountId field's value. 3872func (s *GetProtectionStatusInput) SetMemberAccountId(v string) *GetProtectionStatusInput { 3873 s.MemberAccountId = &v 3874 return s 3875} 3876 3877// SetNextToken sets the NextToken field's value. 3878func (s *GetProtectionStatusInput) SetNextToken(v string) *GetProtectionStatusInput { 3879 s.NextToken = &v 3880 return s 3881} 3882 3883// SetPolicyId sets the PolicyId field's value. 3884func (s *GetProtectionStatusInput) SetPolicyId(v string) *GetProtectionStatusInput { 3885 s.PolicyId = &v 3886 return s 3887} 3888 3889// SetStartTime sets the StartTime field's value. 3890func (s *GetProtectionStatusInput) SetStartTime(v time.Time) *GetProtectionStatusInput { 3891 s.StartTime = &v 3892 return s 3893} 3894 3895type GetProtectionStatusOutput struct { 3896 _ struct{} `type:"structure"` 3897 3898 // The ID of the AWS Firewall administrator account for this policy. 3899 AdminAccountId *string `min:"1" type:"string"` 3900 3901 // Details about the attack, including the following: 3902 // 3903 // * Attack type 3904 // 3905 // * Account ID 3906 // 3907 // * ARN of the resource attacked 3908 // 3909 // * Start time of the attack 3910 // 3911 // * End time of the attack (ongoing attacks will not have an end time) 3912 // 3913 // The details are in JSON format. 3914 Data *string `type:"string"` 3915 3916 // If you have more objects than the number that you specified for MaxResults 3917 // in the request, the response includes a NextToken value. To list more objects, 3918 // submit another GetProtectionStatus request, and specify the NextToken value 3919 // from the response in the NextToken value in the next request. 3920 // 3921 // AWS SDKs provide auto-pagination that identify NextToken in a response and 3922 // make subsequent request calls automatically on your behalf. However, this 3923 // feature is not supported by GetProtectionStatus. You must submit subsequent 3924 // requests with NextToken using your own processes. 3925 NextToken *string `min:"1" type:"string"` 3926 3927 // The service type that is protected by the policy. Currently, this is always 3928 // SHIELD_ADVANCED. 3929 ServiceType *string `type:"string" enum:"SecurityServiceType"` 3930} 3931 3932// String returns the string representation 3933func (s GetProtectionStatusOutput) String() string { 3934 return awsutil.Prettify(s) 3935} 3936 3937// GoString returns the string representation 3938func (s GetProtectionStatusOutput) GoString() string { 3939 return s.String() 3940} 3941 3942// SetAdminAccountId sets the AdminAccountId field's value. 3943func (s *GetProtectionStatusOutput) SetAdminAccountId(v string) *GetProtectionStatusOutput { 3944 s.AdminAccountId = &v 3945 return s 3946} 3947 3948// SetData sets the Data field's value. 3949func (s *GetProtectionStatusOutput) SetData(v string) *GetProtectionStatusOutput { 3950 s.Data = &v 3951 return s 3952} 3953 3954// SetNextToken sets the NextToken field's value. 3955func (s *GetProtectionStatusOutput) SetNextToken(v string) *GetProtectionStatusOutput { 3956 s.NextToken = &v 3957 return s 3958} 3959 3960// SetServiceType sets the ServiceType field's value. 3961func (s *GetProtectionStatusOutput) SetServiceType(v string) *GetProtectionStatusOutput { 3962 s.ServiceType = &v 3963 return s 3964} 3965 3966type GetProtocolsListInput struct { 3967 _ struct{} `type:"structure"` 3968 3969 // Specifies whether the list to retrieve is a default list owned by AWS Firewall 3970 // Manager. 3971 DefaultList *bool `type:"boolean"` 3972 3973 // The ID of the AWS Firewall Manager protocols list that you want the details 3974 // for. 3975 // 3976 // ListId is a required field 3977 ListId *string `min:"36" type:"string" required:"true"` 3978} 3979 3980// String returns the string representation 3981func (s GetProtocolsListInput) String() string { 3982 return awsutil.Prettify(s) 3983} 3984 3985// GoString returns the string representation 3986func (s GetProtocolsListInput) GoString() string { 3987 return s.String() 3988} 3989 3990// Validate inspects the fields of the type to determine if they are valid. 3991func (s *GetProtocolsListInput) Validate() error { 3992 invalidParams := request.ErrInvalidParams{Context: "GetProtocolsListInput"} 3993 if s.ListId == nil { 3994 invalidParams.Add(request.NewErrParamRequired("ListId")) 3995 } 3996 if s.ListId != nil && len(*s.ListId) < 36 { 3997 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 3998 } 3999 4000 if invalidParams.Len() > 0 { 4001 return invalidParams 4002 } 4003 return nil 4004} 4005 4006// SetDefaultList sets the DefaultList field's value. 4007func (s *GetProtocolsListInput) SetDefaultList(v bool) *GetProtocolsListInput { 4008 s.DefaultList = &v 4009 return s 4010} 4011 4012// SetListId sets the ListId field's value. 4013func (s *GetProtocolsListInput) SetListId(v string) *GetProtocolsListInput { 4014 s.ListId = &v 4015 return s 4016} 4017 4018type GetProtocolsListOutput struct { 4019 _ struct{} `type:"structure"` 4020 4021 // Information about the specified AWS Firewall Manager protocols list. 4022 ProtocolsList *ProtocolsListData `type:"structure"` 4023 4024 // The Amazon Resource Name (ARN) of the specified protocols list. 4025 ProtocolsListArn *string `min:"1" type:"string"` 4026} 4027 4028// String returns the string representation 4029func (s GetProtocolsListOutput) String() string { 4030 return awsutil.Prettify(s) 4031} 4032 4033// GoString returns the string representation 4034func (s GetProtocolsListOutput) GoString() string { 4035 return s.String() 4036} 4037 4038// SetProtocolsList sets the ProtocolsList field's value. 4039func (s *GetProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *GetProtocolsListOutput { 4040 s.ProtocolsList = v 4041 return s 4042} 4043 4044// SetProtocolsListArn sets the ProtocolsListArn field's value. 4045func (s *GetProtocolsListOutput) SetProtocolsListArn(v string) *GetProtocolsListOutput { 4046 s.ProtocolsListArn = &v 4047 return s 4048} 4049 4050type GetViolationDetailsInput struct { 4051 _ struct{} `type:"structure"` 4052 4053 // The AWS account ID that you want the details for. 4054 // 4055 // MemberAccount is a required field 4056 MemberAccount *string `min:"1" type:"string" required:"true"` 4057 4058 // The ID of the AWS Firewall Manager policy that you want the details for. 4059 // This currently only supports security group content audit policies. 4060 // 4061 // PolicyId is a required field 4062 PolicyId *string `min:"36" type:"string" required:"true"` 4063 4064 // The ID of the resource that has violations. 4065 // 4066 // ResourceId is a required field 4067 ResourceId *string `min:"1" type:"string" required:"true"` 4068 4069 // The resource type. This is in the format shown in the AWS Resource Types 4070 // Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 4071 // Supported resource types are: AWS::EC2::Instance, AWS::EC2::NetworkInterface, 4072 // AWS::EC2::SecurityGroup, AWS::NetworkFirewall::FirewallPolicy, and AWS::EC2::Subnet. 4073 // 4074 // ResourceType is a required field 4075 ResourceType *string `min:"1" type:"string" required:"true"` 4076} 4077 4078// String returns the string representation 4079func (s GetViolationDetailsInput) String() string { 4080 return awsutil.Prettify(s) 4081} 4082 4083// GoString returns the string representation 4084func (s GetViolationDetailsInput) GoString() string { 4085 return s.String() 4086} 4087 4088// Validate inspects the fields of the type to determine if they are valid. 4089func (s *GetViolationDetailsInput) Validate() error { 4090 invalidParams := request.ErrInvalidParams{Context: "GetViolationDetailsInput"} 4091 if s.MemberAccount == nil { 4092 invalidParams.Add(request.NewErrParamRequired("MemberAccount")) 4093 } 4094 if s.MemberAccount != nil && len(*s.MemberAccount) < 1 { 4095 invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1)) 4096 } 4097 if s.PolicyId == nil { 4098 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 4099 } 4100 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 4101 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 4102 } 4103 if s.ResourceId == nil { 4104 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 4105 } 4106 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 4107 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 4108 } 4109 if s.ResourceType == nil { 4110 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 4111 } 4112 if s.ResourceType != nil && len(*s.ResourceType) < 1 { 4113 invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) 4114 } 4115 4116 if invalidParams.Len() > 0 { 4117 return invalidParams 4118 } 4119 return nil 4120} 4121 4122// SetMemberAccount sets the MemberAccount field's value. 4123func (s *GetViolationDetailsInput) SetMemberAccount(v string) *GetViolationDetailsInput { 4124 s.MemberAccount = &v 4125 return s 4126} 4127 4128// SetPolicyId sets the PolicyId field's value. 4129func (s *GetViolationDetailsInput) SetPolicyId(v string) *GetViolationDetailsInput { 4130 s.PolicyId = &v 4131 return s 4132} 4133 4134// SetResourceId sets the ResourceId field's value. 4135func (s *GetViolationDetailsInput) SetResourceId(v string) *GetViolationDetailsInput { 4136 s.ResourceId = &v 4137 return s 4138} 4139 4140// SetResourceType sets the ResourceType field's value. 4141func (s *GetViolationDetailsInput) SetResourceType(v string) *GetViolationDetailsInput { 4142 s.ResourceType = &v 4143 return s 4144} 4145 4146type GetViolationDetailsOutput struct { 4147 _ struct{} `type:"structure"` 4148 4149 // Violation detail for a resource. 4150 ViolationDetail *ViolationDetail `type:"structure"` 4151} 4152 4153// String returns the string representation 4154func (s GetViolationDetailsOutput) String() string { 4155 return awsutil.Prettify(s) 4156} 4157 4158// GoString returns the string representation 4159func (s GetViolationDetailsOutput) GoString() string { 4160 return s.String() 4161} 4162 4163// SetViolationDetail sets the ViolationDetail field's value. 4164func (s *GetViolationDetailsOutput) SetViolationDetail(v *ViolationDetail) *GetViolationDetailsOutput { 4165 s.ViolationDetail = v 4166 return s 4167} 4168 4169// The operation failed because of a system problem, even though the request 4170// was valid. Retry your request. 4171type InternalErrorException struct { 4172 _ struct{} `type:"structure"` 4173 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4174 4175 Message_ *string `locationName:"Message" type:"string"` 4176} 4177 4178// String returns the string representation 4179func (s InternalErrorException) String() string { 4180 return awsutil.Prettify(s) 4181} 4182 4183// GoString returns the string representation 4184func (s InternalErrorException) GoString() string { 4185 return s.String() 4186} 4187 4188func newErrorInternalErrorException(v protocol.ResponseMetadata) error { 4189 return &InternalErrorException{ 4190 RespMetadata: v, 4191 } 4192} 4193 4194// Code returns the exception type name. 4195func (s *InternalErrorException) Code() string { 4196 return "InternalErrorException" 4197} 4198 4199// Message returns the exception's message. 4200func (s *InternalErrorException) Message() string { 4201 if s.Message_ != nil { 4202 return *s.Message_ 4203 } 4204 return "" 4205} 4206 4207// OrigErr always returns nil, satisfies awserr.Error interface. 4208func (s *InternalErrorException) OrigErr() error { 4209 return nil 4210} 4211 4212func (s *InternalErrorException) Error() string { 4213 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4214} 4215 4216// Status code returns the HTTP status code for the request's response error. 4217func (s *InternalErrorException) StatusCode() int { 4218 return s.RespMetadata.StatusCode 4219} 4220 4221// RequestID returns the service's response RequestID for request. 4222func (s *InternalErrorException) RequestID() string { 4223 return s.RespMetadata.RequestID 4224} 4225 4226// The parameters of the request were invalid. 4227type InvalidInputException struct { 4228 _ struct{} `type:"structure"` 4229 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4230 4231 Message_ *string `locationName:"Message" type:"string"` 4232} 4233 4234// String returns the string representation 4235func (s InvalidInputException) String() string { 4236 return awsutil.Prettify(s) 4237} 4238 4239// GoString returns the string representation 4240func (s InvalidInputException) GoString() string { 4241 return s.String() 4242} 4243 4244func newErrorInvalidInputException(v protocol.ResponseMetadata) error { 4245 return &InvalidInputException{ 4246 RespMetadata: v, 4247 } 4248} 4249 4250// Code returns the exception type name. 4251func (s *InvalidInputException) Code() string { 4252 return "InvalidInputException" 4253} 4254 4255// Message returns the exception's message. 4256func (s *InvalidInputException) Message() string { 4257 if s.Message_ != nil { 4258 return *s.Message_ 4259 } 4260 return "" 4261} 4262 4263// OrigErr always returns nil, satisfies awserr.Error interface. 4264func (s *InvalidInputException) OrigErr() error { 4265 return nil 4266} 4267 4268func (s *InvalidInputException) Error() string { 4269 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4270} 4271 4272// Status code returns the HTTP status code for the request's response error. 4273func (s *InvalidInputException) StatusCode() int { 4274 return s.RespMetadata.StatusCode 4275} 4276 4277// RequestID returns the service's response RequestID for request. 4278func (s *InvalidInputException) RequestID() string { 4279 return s.RespMetadata.RequestID 4280} 4281 4282// The operation failed because there was nothing to do or the operation wasn't 4283// possible. For example, you might have submitted an AssociateAdminAccount 4284// request for an account ID that was already set as the AWS Firewall Manager 4285// administrator. Or you might have tried to access a Region that's disabled 4286// by default, and that you need to enable for the Firewall Manager administrator 4287// account and for AWS Organizations before you can access it. 4288type InvalidOperationException struct { 4289 _ struct{} `type:"structure"` 4290 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4291 4292 Message_ *string `locationName:"Message" type:"string"` 4293} 4294 4295// String returns the string representation 4296func (s InvalidOperationException) String() string { 4297 return awsutil.Prettify(s) 4298} 4299 4300// GoString returns the string representation 4301func (s InvalidOperationException) GoString() string { 4302 return s.String() 4303} 4304 4305func newErrorInvalidOperationException(v protocol.ResponseMetadata) error { 4306 return &InvalidOperationException{ 4307 RespMetadata: v, 4308 } 4309} 4310 4311// Code returns the exception type name. 4312func (s *InvalidOperationException) Code() string { 4313 return "InvalidOperationException" 4314} 4315 4316// Message returns the exception's message. 4317func (s *InvalidOperationException) Message() string { 4318 if s.Message_ != nil { 4319 return *s.Message_ 4320 } 4321 return "" 4322} 4323 4324// OrigErr always returns nil, satisfies awserr.Error interface. 4325func (s *InvalidOperationException) OrigErr() error { 4326 return nil 4327} 4328 4329func (s *InvalidOperationException) Error() string { 4330 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4331} 4332 4333// Status code returns the HTTP status code for the request's response error. 4334func (s *InvalidOperationException) StatusCode() int { 4335 return s.RespMetadata.StatusCode 4336} 4337 4338// RequestID returns the service's response RequestID for request. 4339func (s *InvalidOperationException) RequestID() string { 4340 return s.RespMetadata.RequestID 4341} 4342 4343// The value of the Type parameter is invalid. 4344type InvalidTypeException struct { 4345 _ struct{} `type:"structure"` 4346 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4347 4348 Message_ *string `locationName:"Message" type:"string"` 4349} 4350 4351// String returns the string representation 4352func (s InvalidTypeException) String() string { 4353 return awsutil.Prettify(s) 4354} 4355 4356// GoString returns the string representation 4357func (s InvalidTypeException) GoString() string { 4358 return s.String() 4359} 4360 4361func newErrorInvalidTypeException(v protocol.ResponseMetadata) error { 4362 return &InvalidTypeException{ 4363 RespMetadata: v, 4364 } 4365} 4366 4367// Code returns the exception type name. 4368func (s *InvalidTypeException) Code() string { 4369 return "InvalidTypeException" 4370} 4371 4372// Message returns the exception's message. 4373func (s *InvalidTypeException) Message() string { 4374 if s.Message_ != nil { 4375 return *s.Message_ 4376 } 4377 return "" 4378} 4379 4380// OrigErr always returns nil, satisfies awserr.Error interface. 4381func (s *InvalidTypeException) OrigErr() error { 4382 return nil 4383} 4384 4385func (s *InvalidTypeException) Error() string { 4386 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4387} 4388 4389// Status code returns the HTTP status code for the request's response error. 4390func (s *InvalidTypeException) StatusCode() int { 4391 return s.RespMetadata.StatusCode 4392} 4393 4394// RequestID returns the service's response RequestID for request. 4395func (s *InvalidTypeException) RequestID() string { 4396 return s.RespMetadata.RequestID 4397} 4398 4399// The operation exceeds a resource limit, for example, the maximum number of 4400// policy objects that you can create for an AWS account. For more information, 4401// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 4402// in the AWS WAF Developer Guide. 4403type LimitExceededException struct { 4404 _ struct{} `type:"structure"` 4405 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4406 4407 Message_ *string `locationName:"Message" type:"string"` 4408} 4409 4410// String returns the string representation 4411func (s LimitExceededException) String() string { 4412 return awsutil.Prettify(s) 4413} 4414 4415// GoString returns the string representation 4416func (s LimitExceededException) GoString() string { 4417 return s.String() 4418} 4419 4420func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 4421 return &LimitExceededException{ 4422 RespMetadata: v, 4423 } 4424} 4425 4426// Code returns the exception type name. 4427func (s *LimitExceededException) Code() string { 4428 return "LimitExceededException" 4429} 4430 4431// Message returns the exception's message. 4432func (s *LimitExceededException) Message() string { 4433 if s.Message_ != nil { 4434 return *s.Message_ 4435 } 4436 return "" 4437} 4438 4439// OrigErr always returns nil, satisfies awserr.Error interface. 4440func (s *LimitExceededException) OrigErr() error { 4441 return nil 4442} 4443 4444func (s *LimitExceededException) Error() string { 4445 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4446} 4447 4448// Status code returns the HTTP status code for the request's response error. 4449func (s *LimitExceededException) StatusCode() int { 4450 return s.RespMetadata.StatusCode 4451} 4452 4453// RequestID returns the service's response RequestID for request. 4454func (s *LimitExceededException) RequestID() string { 4455 return s.RespMetadata.RequestID 4456} 4457 4458type ListAppsListsInput struct { 4459 _ struct{} `type:"structure"` 4460 4461 // Specifies whether the lists to retrieve are default lists owned by AWS Firewall 4462 // Manager. 4463 DefaultLists *bool `type:"boolean"` 4464 4465 // The maximum number of objects that you want AWS Firewall Manager to return 4466 // for this request. If more objects are available, in the response, AWS Firewall 4467 // Manager provides a NextToken value that you can use in a subsequent call 4468 // to get the next batch of objects. 4469 // 4470 // If you don't specify this, AWS Firewall Manager returns all available objects. 4471 // 4472 // MaxResults is a required field 4473 MaxResults *int64 `min:"1" type:"integer" required:"true"` 4474 4475 // If you specify a value for MaxResults in your list request, and you have 4476 // more objects than the maximum, AWS Firewall Manager returns this token in 4477 // the response. For all but the first request, you provide the token returned 4478 // by the prior request in the request parameters, to retrieve the next batch 4479 // of objects. 4480 NextToken *string `min:"1" type:"string"` 4481} 4482 4483// String returns the string representation 4484func (s ListAppsListsInput) String() string { 4485 return awsutil.Prettify(s) 4486} 4487 4488// GoString returns the string representation 4489func (s ListAppsListsInput) GoString() string { 4490 return s.String() 4491} 4492 4493// Validate inspects the fields of the type to determine if they are valid. 4494func (s *ListAppsListsInput) Validate() error { 4495 invalidParams := request.ErrInvalidParams{Context: "ListAppsListsInput"} 4496 if s.MaxResults == nil { 4497 invalidParams.Add(request.NewErrParamRequired("MaxResults")) 4498 } 4499 if s.MaxResults != nil && *s.MaxResults < 1 { 4500 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4501 } 4502 if s.NextToken != nil && len(*s.NextToken) < 1 { 4503 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4504 } 4505 4506 if invalidParams.Len() > 0 { 4507 return invalidParams 4508 } 4509 return nil 4510} 4511 4512// SetDefaultLists sets the DefaultLists field's value. 4513func (s *ListAppsListsInput) SetDefaultLists(v bool) *ListAppsListsInput { 4514 s.DefaultLists = &v 4515 return s 4516} 4517 4518// SetMaxResults sets the MaxResults field's value. 4519func (s *ListAppsListsInput) SetMaxResults(v int64) *ListAppsListsInput { 4520 s.MaxResults = &v 4521 return s 4522} 4523 4524// SetNextToken sets the NextToken field's value. 4525func (s *ListAppsListsInput) SetNextToken(v string) *ListAppsListsInput { 4526 s.NextToken = &v 4527 return s 4528} 4529 4530type ListAppsListsOutput struct { 4531 _ struct{} `type:"structure"` 4532 4533 // An array of AppsListDataSummary objects. 4534 AppsLists []*AppsListDataSummary `type:"list"` 4535 4536 // If you specify a value for MaxResults in your list request, and you have 4537 // more objects than the maximum, AWS Firewall Manager returns this token in 4538 // the response. You can use this token in subsequent requests to retrieve the 4539 // next batch of objects. 4540 NextToken *string `min:"1" type:"string"` 4541} 4542 4543// String returns the string representation 4544func (s ListAppsListsOutput) String() string { 4545 return awsutil.Prettify(s) 4546} 4547 4548// GoString returns the string representation 4549func (s ListAppsListsOutput) GoString() string { 4550 return s.String() 4551} 4552 4553// SetAppsLists sets the AppsLists field's value. 4554func (s *ListAppsListsOutput) SetAppsLists(v []*AppsListDataSummary) *ListAppsListsOutput { 4555 s.AppsLists = v 4556 return s 4557} 4558 4559// SetNextToken sets the NextToken field's value. 4560func (s *ListAppsListsOutput) SetNextToken(v string) *ListAppsListsOutput { 4561 s.NextToken = &v 4562 return s 4563} 4564 4565type ListComplianceStatusInput struct { 4566 _ struct{} `type:"structure"` 4567 4568 // Specifies the number of PolicyComplianceStatus objects that you want AWS 4569 // Firewall Manager to return for this request. If you have more PolicyComplianceStatus 4570 // objects than the number that you specify for MaxResults, the response includes 4571 // a NextToken value that you can use to get another batch of PolicyComplianceStatus 4572 // objects. 4573 MaxResults *int64 `min:"1" type:"integer"` 4574 4575 // If you specify a value for MaxResults and you have more PolicyComplianceStatus 4576 // objects than the number that you specify for MaxResults, AWS Firewall Manager 4577 // returns a NextToken value in the response that allows you to list another 4578 // group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus 4579 // requests, specify the value of NextToken from the previous response to get 4580 // information about another batch of PolicyComplianceStatus objects. 4581 NextToken *string `min:"1" type:"string"` 4582 4583 // The ID of the AWS Firewall Manager policy that you want the details for. 4584 // 4585 // PolicyId is a required field 4586 PolicyId *string `min:"36" type:"string" required:"true"` 4587} 4588 4589// String returns the string representation 4590func (s ListComplianceStatusInput) String() string { 4591 return awsutil.Prettify(s) 4592} 4593 4594// GoString returns the string representation 4595func (s ListComplianceStatusInput) GoString() string { 4596 return s.String() 4597} 4598 4599// Validate inspects the fields of the type to determine if they are valid. 4600func (s *ListComplianceStatusInput) Validate() error { 4601 invalidParams := request.ErrInvalidParams{Context: "ListComplianceStatusInput"} 4602 if s.MaxResults != nil && *s.MaxResults < 1 { 4603 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4604 } 4605 if s.NextToken != nil && len(*s.NextToken) < 1 { 4606 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4607 } 4608 if s.PolicyId == nil { 4609 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 4610 } 4611 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 4612 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 4613 } 4614 4615 if invalidParams.Len() > 0 { 4616 return invalidParams 4617 } 4618 return nil 4619} 4620 4621// SetMaxResults sets the MaxResults field's value. 4622func (s *ListComplianceStatusInput) SetMaxResults(v int64) *ListComplianceStatusInput { 4623 s.MaxResults = &v 4624 return s 4625} 4626 4627// SetNextToken sets the NextToken field's value. 4628func (s *ListComplianceStatusInput) SetNextToken(v string) *ListComplianceStatusInput { 4629 s.NextToken = &v 4630 return s 4631} 4632 4633// SetPolicyId sets the PolicyId field's value. 4634func (s *ListComplianceStatusInput) SetPolicyId(v string) *ListComplianceStatusInput { 4635 s.PolicyId = &v 4636 return s 4637} 4638 4639type ListComplianceStatusOutput struct { 4640 _ struct{} `type:"structure"` 4641 4642 // If you have more PolicyComplianceStatus objects than the number that you 4643 // specified for MaxResults in the request, the response includes a NextToken 4644 // value. To list more PolicyComplianceStatus objects, submit another ListComplianceStatus 4645 // request, and specify the NextToken value from the response in the NextToken 4646 // value in the next request. 4647 NextToken *string `min:"1" type:"string"` 4648 4649 // An array of PolicyComplianceStatus objects. 4650 PolicyComplianceStatusList []*PolicyComplianceStatus `type:"list"` 4651} 4652 4653// String returns the string representation 4654func (s ListComplianceStatusOutput) String() string { 4655 return awsutil.Prettify(s) 4656} 4657 4658// GoString returns the string representation 4659func (s ListComplianceStatusOutput) GoString() string { 4660 return s.String() 4661} 4662 4663// SetNextToken sets the NextToken field's value. 4664func (s *ListComplianceStatusOutput) SetNextToken(v string) *ListComplianceStatusOutput { 4665 s.NextToken = &v 4666 return s 4667} 4668 4669// SetPolicyComplianceStatusList sets the PolicyComplianceStatusList field's value. 4670func (s *ListComplianceStatusOutput) SetPolicyComplianceStatusList(v []*PolicyComplianceStatus) *ListComplianceStatusOutput { 4671 s.PolicyComplianceStatusList = v 4672 return s 4673} 4674 4675type ListMemberAccountsInput struct { 4676 _ struct{} `type:"structure"` 4677 4678 // Specifies the number of member account IDs that you want AWS Firewall Manager 4679 // to return for this request. If you have more IDs than the number that you 4680 // specify for MaxResults, the response includes a NextToken value that you 4681 // can use to get another batch of member account IDs. 4682 MaxResults *int64 `min:"1" type:"integer"` 4683 4684 // If you specify a value for MaxResults and you have more account IDs than 4685 // the number that you specify for MaxResults, AWS Firewall Manager returns 4686 // a NextToken value in the response that allows you to list another group of 4687 // IDs. For the second and subsequent ListMemberAccountsRequest requests, specify 4688 // the value of NextToken from the previous response to get information about 4689 // another batch of member account IDs. 4690 NextToken *string `min:"1" type:"string"` 4691} 4692 4693// String returns the string representation 4694func (s ListMemberAccountsInput) String() string { 4695 return awsutil.Prettify(s) 4696} 4697 4698// GoString returns the string representation 4699func (s ListMemberAccountsInput) GoString() string { 4700 return s.String() 4701} 4702 4703// Validate inspects the fields of the type to determine if they are valid. 4704func (s *ListMemberAccountsInput) Validate() error { 4705 invalidParams := request.ErrInvalidParams{Context: "ListMemberAccountsInput"} 4706 if s.MaxResults != nil && *s.MaxResults < 1 { 4707 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4708 } 4709 if s.NextToken != nil && len(*s.NextToken) < 1 { 4710 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4711 } 4712 4713 if invalidParams.Len() > 0 { 4714 return invalidParams 4715 } 4716 return nil 4717} 4718 4719// SetMaxResults sets the MaxResults field's value. 4720func (s *ListMemberAccountsInput) SetMaxResults(v int64) *ListMemberAccountsInput { 4721 s.MaxResults = &v 4722 return s 4723} 4724 4725// SetNextToken sets the NextToken field's value. 4726func (s *ListMemberAccountsInput) SetNextToken(v string) *ListMemberAccountsInput { 4727 s.NextToken = &v 4728 return s 4729} 4730 4731type ListMemberAccountsOutput struct { 4732 _ struct{} `type:"structure"` 4733 4734 // An array of account IDs. 4735 MemberAccounts []*string `type:"list"` 4736 4737 // If you have more member account IDs than the number that you specified for 4738 // MaxResults in the request, the response includes a NextToken value. To list 4739 // more IDs, submit another ListMemberAccounts request, and specify the NextToken 4740 // value from the response in the NextToken value in the next request. 4741 NextToken *string `min:"1" type:"string"` 4742} 4743 4744// String returns the string representation 4745func (s ListMemberAccountsOutput) String() string { 4746 return awsutil.Prettify(s) 4747} 4748 4749// GoString returns the string representation 4750func (s ListMemberAccountsOutput) GoString() string { 4751 return s.String() 4752} 4753 4754// SetMemberAccounts sets the MemberAccounts field's value. 4755func (s *ListMemberAccountsOutput) SetMemberAccounts(v []*string) *ListMemberAccountsOutput { 4756 s.MemberAccounts = v 4757 return s 4758} 4759 4760// SetNextToken sets the NextToken field's value. 4761func (s *ListMemberAccountsOutput) SetNextToken(v string) *ListMemberAccountsOutput { 4762 s.NextToken = &v 4763 return s 4764} 4765 4766type ListPoliciesInput struct { 4767 _ struct{} `type:"structure"` 4768 4769 // Specifies the number of PolicySummary objects that you want AWS Firewall 4770 // Manager to return for this request. If you have more PolicySummary objects 4771 // than the number that you specify for MaxResults, the response includes a 4772 // NextToken value that you can use to get another batch of PolicySummary objects. 4773 MaxResults *int64 `min:"1" type:"integer"` 4774 4775 // If you specify a value for MaxResults and you have more PolicySummary objects 4776 // than the number that you specify for MaxResults, AWS Firewall Manager returns 4777 // a NextToken value in the response that allows you to list another group of 4778 // PolicySummary objects. For the second and subsequent ListPolicies requests, 4779 // specify the value of NextToken from the previous response to get information 4780 // about another batch of PolicySummary objects. 4781 NextToken *string `min:"1" type:"string"` 4782} 4783 4784// String returns the string representation 4785func (s ListPoliciesInput) String() string { 4786 return awsutil.Prettify(s) 4787} 4788 4789// GoString returns the string representation 4790func (s ListPoliciesInput) GoString() string { 4791 return s.String() 4792} 4793 4794// Validate inspects the fields of the type to determine if they are valid. 4795func (s *ListPoliciesInput) Validate() error { 4796 invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"} 4797 if s.MaxResults != nil && *s.MaxResults < 1 { 4798 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4799 } 4800 if s.NextToken != nil && len(*s.NextToken) < 1 { 4801 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4802 } 4803 4804 if invalidParams.Len() > 0 { 4805 return invalidParams 4806 } 4807 return nil 4808} 4809 4810// SetMaxResults sets the MaxResults field's value. 4811func (s *ListPoliciesInput) SetMaxResults(v int64) *ListPoliciesInput { 4812 s.MaxResults = &v 4813 return s 4814} 4815 4816// SetNextToken sets the NextToken field's value. 4817func (s *ListPoliciesInput) SetNextToken(v string) *ListPoliciesInput { 4818 s.NextToken = &v 4819 return s 4820} 4821 4822type ListPoliciesOutput struct { 4823 _ struct{} `type:"structure"` 4824 4825 // If you have more PolicySummary objects than the number that you specified 4826 // for MaxResults in the request, the response includes a NextToken value. To 4827 // list more PolicySummary objects, submit another ListPolicies request, and 4828 // specify the NextToken value from the response in the NextToken value in the 4829 // next request. 4830 NextToken *string `min:"1" type:"string"` 4831 4832 // An array of PolicySummary objects. 4833 PolicyList []*PolicySummary `type:"list"` 4834} 4835 4836// String returns the string representation 4837func (s ListPoliciesOutput) String() string { 4838 return awsutil.Prettify(s) 4839} 4840 4841// GoString returns the string representation 4842func (s ListPoliciesOutput) GoString() string { 4843 return s.String() 4844} 4845 4846// SetNextToken sets the NextToken field's value. 4847func (s *ListPoliciesOutput) SetNextToken(v string) *ListPoliciesOutput { 4848 s.NextToken = &v 4849 return s 4850} 4851 4852// SetPolicyList sets the PolicyList field's value. 4853func (s *ListPoliciesOutput) SetPolicyList(v []*PolicySummary) *ListPoliciesOutput { 4854 s.PolicyList = v 4855 return s 4856} 4857 4858type ListProtocolsListsInput struct { 4859 _ struct{} `type:"structure"` 4860 4861 // Specifies whether the lists to retrieve are default lists owned by AWS Firewall 4862 // Manager. 4863 DefaultLists *bool `type:"boolean"` 4864 4865 // The maximum number of objects that you want AWS Firewall Manager to return 4866 // for this request. If more objects are available, in the response, AWS Firewall 4867 // Manager provides a NextToken value that you can use in a subsequent call 4868 // to get the next batch of objects. 4869 // 4870 // If you don't specify this, AWS Firewall Manager returns all available objects. 4871 // 4872 // MaxResults is a required field 4873 MaxResults *int64 `min:"1" type:"integer" required:"true"` 4874 4875 // If you specify a value for MaxResults in your list request, and you have 4876 // more objects than the maximum, AWS Firewall Manager returns this token in 4877 // the response. For all but the first request, you provide the token returned 4878 // by the prior request in the request parameters, to retrieve the next batch 4879 // of objects. 4880 NextToken *string `min:"1" type:"string"` 4881} 4882 4883// String returns the string representation 4884func (s ListProtocolsListsInput) String() string { 4885 return awsutil.Prettify(s) 4886} 4887 4888// GoString returns the string representation 4889func (s ListProtocolsListsInput) GoString() string { 4890 return s.String() 4891} 4892 4893// Validate inspects the fields of the type to determine if they are valid. 4894func (s *ListProtocolsListsInput) Validate() error { 4895 invalidParams := request.ErrInvalidParams{Context: "ListProtocolsListsInput"} 4896 if s.MaxResults == nil { 4897 invalidParams.Add(request.NewErrParamRequired("MaxResults")) 4898 } 4899 if s.MaxResults != nil && *s.MaxResults < 1 { 4900 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4901 } 4902 if s.NextToken != nil && len(*s.NextToken) < 1 { 4903 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4904 } 4905 4906 if invalidParams.Len() > 0 { 4907 return invalidParams 4908 } 4909 return nil 4910} 4911 4912// SetDefaultLists sets the DefaultLists field's value. 4913func (s *ListProtocolsListsInput) SetDefaultLists(v bool) *ListProtocolsListsInput { 4914 s.DefaultLists = &v 4915 return s 4916} 4917 4918// SetMaxResults sets the MaxResults field's value. 4919func (s *ListProtocolsListsInput) SetMaxResults(v int64) *ListProtocolsListsInput { 4920 s.MaxResults = &v 4921 return s 4922} 4923 4924// SetNextToken sets the NextToken field's value. 4925func (s *ListProtocolsListsInput) SetNextToken(v string) *ListProtocolsListsInput { 4926 s.NextToken = &v 4927 return s 4928} 4929 4930type ListProtocolsListsOutput struct { 4931 _ struct{} `type:"structure"` 4932 4933 // If you specify a value for MaxResults in your list request, and you have 4934 // more objects than the maximum, AWS Firewall Manager returns this token in 4935 // the response. You can use this token in subsequent requests to retrieve the 4936 // next batch of objects. 4937 NextToken *string `min:"1" type:"string"` 4938 4939 // An array of ProtocolsListDataSummary objects. 4940 ProtocolsLists []*ProtocolsListDataSummary `type:"list"` 4941} 4942 4943// String returns the string representation 4944func (s ListProtocolsListsOutput) String() string { 4945 return awsutil.Prettify(s) 4946} 4947 4948// GoString returns the string representation 4949func (s ListProtocolsListsOutput) GoString() string { 4950 return s.String() 4951} 4952 4953// SetNextToken sets the NextToken field's value. 4954func (s *ListProtocolsListsOutput) SetNextToken(v string) *ListProtocolsListsOutput { 4955 s.NextToken = &v 4956 return s 4957} 4958 4959// SetProtocolsLists sets the ProtocolsLists field's value. 4960func (s *ListProtocolsListsOutput) SetProtocolsLists(v []*ProtocolsListDataSummary) *ListProtocolsListsOutput { 4961 s.ProtocolsLists = v 4962 return s 4963} 4964 4965type ListTagsForResourceInput struct { 4966 _ struct{} `type:"structure"` 4967 4968 // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS 4969 // Firewall Manager resources that support tagging are policies, applications 4970 // lists, and protocols lists. 4971 // 4972 // ResourceArn is a required field 4973 ResourceArn *string `min:"1" type:"string" required:"true"` 4974} 4975 4976// String returns the string representation 4977func (s ListTagsForResourceInput) String() string { 4978 return awsutil.Prettify(s) 4979} 4980 4981// GoString returns the string representation 4982func (s ListTagsForResourceInput) GoString() string { 4983 return s.String() 4984} 4985 4986// Validate inspects the fields of the type to determine if they are valid. 4987func (s *ListTagsForResourceInput) Validate() error { 4988 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 4989 if s.ResourceArn == nil { 4990 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 4991 } 4992 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 4993 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 4994 } 4995 4996 if invalidParams.Len() > 0 { 4997 return invalidParams 4998 } 4999 return nil 5000} 5001 5002// SetResourceArn sets the ResourceArn field's value. 5003func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 5004 s.ResourceArn = &v 5005 return s 5006} 5007 5008type ListTagsForResourceOutput struct { 5009 _ struct{} `type:"structure"` 5010 5011 // The tags associated with the resource. 5012 TagList []*Tag `type:"list"` 5013} 5014 5015// String returns the string representation 5016func (s ListTagsForResourceOutput) String() string { 5017 return awsutil.Prettify(s) 5018} 5019 5020// GoString returns the string representation 5021func (s ListTagsForResourceOutput) GoString() string { 5022 return s.String() 5023} 5024 5025// SetTagList sets the TagList field's value. 5026func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput { 5027 s.TagList = v 5028 return s 5029} 5030 5031// Violation details for AWS Network Firewall for a subnet that's not associated 5032// to the expected Firewall Manager managed route table. 5033type NetworkFirewallMissingExpectedRTViolation struct { 5034 _ struct{} `type:"structure"` 5035 5036 // The Availability Zone of a violating subnet. 5037 AvailabilityZone *string `type:"string"` 5038 5039 // The resource ID of the current route table that's associated with the subnet, 5040 // if one is available. 5041 CurrentRouteTable *string `min:"1" type:"string"` 5042 5043 // The resource ID of the route table that should be associated with the subnet. 5044 ExpectedRouteTable *string `min:"1" type:"string"` 5045 5046 // The resource ID of the VPC associated with a violating subnet. 5047 VPC *string `min:"1" type:"string"` 5048 5049 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5050 ViolationTarget *string `type:"string"` 5051} 5052 5053// String returns the string representation 5054func (s NetworkFirewallMissingExpectedRTViolation) String() string { 5055 return awsutil.Prettify(s) 5056} 5057 5058// GoString returns the string representation 5059func (s NetworkFirewallMissingExpectedRTViolation) GoString() string { 5060 return s.String() 5061} 5062 5063// SetAvailabilityZone sets the AvailabilityZone field's value. 5064func (s *NetworkFirewallMissingExpectedRTViolation) SetAvailabilityZone(v string) *NetworkFirewallMissingExpectedRTViolation { 5065 s.AvailabilityZone = &v 5066 return s 5067} 5068 5069// SetCurrentRouteTable sets the CurrentRouteTable field's value. 5070func (s *NetworkFirewallMissingExpectedRTViolation) SetCurrentRouteTable(v string) *NetworkFirewallMissingExpectedRTViolation { 5071 s.CurrentRouteTable = &v 5072 return s 5073} 5074 5075// SetExpectedRouteTable sets the ExpectedRouteTable field's value. 5076func (s *NetworkFirewallMissingExpectedRTViolation) SetExpectedRouteTable(v string) *NetworkFirewallMissingExpectedRTViolation { 5077 s.ExpectedRouteTable = &v 5078 return s 5079} 5080 5081// SetVPC sets the VPC field's value. 5082func (s *NetworkFirewallMissingExpectedRTViolation) SetVPC(v string) *NetworkFirewallMissingExpectedRTViolation { 5083 s.VPC = &v 5084 return s 5085} 5086 5087// SetViolationTarget sets the ViolationTarget field's value. 5088func (s *NetworkFirewallMissingExpectedRTViolation) SetViolationTarget(v string) *NetworkFirewallMissingExpectedRTViolation { 5089 s.ViolationTarget = &v 5090 return s 5091} 5092 5093// Violation details for AWS Network Firewall for a subnet that doesn't have 5094// a Firewall Manager managed firewall in its VPC. 5095type NetworkFirewallMissingFirewallViolation struct { 5096 _ struct{} `type:"structure"` 5097 5098 // The Availability Zone of a violating subnet. 5099 AvailabilityZone *string `type:"string"` 5100 5101 // The reason the resource has this violation, if one is available. 5102 TargetViolationReason *string `type:"string"` 5103 5104 // The resource ID of the VPC associated with a violating subnet. 5105 VPC *string `min:"1" type:"string"` 5106 5107 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5108 ViolationTarget *string `type:"string"` 5109} 5110 5111// String returns the string representation 5112func (s NetworkFirewallMissingFirewallViolation) String() string { 5113 return awsutil.Prettify(s) 5114} 5115 5116// GoString returns the string representation 5117func (s NetworkFirewallMissingFirewallViolation) GoString() string { 5118 return s.String() 5119} 5120 5121// SetAvailabilityZone sets the AvailabilityZone field's value. 5122func (s *NetworkFirewallMissingFirewallViolation) SetAvailabilityZone(v string) *NetworkFirewallMissingFirewallViolation { 5123 s.AvailabilityZone = &v 5124 return s 5125} 5126 5127// SetTargetViolationReason sets the TargetViolationReason field's value. 5128func (s *NetworkFirewallMissingFirewallViolation) SetTargetViolationReason(v string) *NetworkFirewallMissingFirewallViolation { 5129 s.TargetViolationReason = &v 5130 return s 5131} 5132 5133// SetVPC sets the VPC field's value. 5134func (s *NetworkFirewallMissingFirewallViolation) SetVPC(v string) *NetworkFirewallMissingFirewallViolation { 5135 s.VPC = &v 5136 return s 5137} 5138 5139// SetViolationTarget sets the ViolationTarget field's value. 5140func (s *NetworkFirewallMissingFirewallViolation) SetViolationTarget(v string) *NetworkFirewallMissingFirewallViolation { 5141 s.ViolationTarget = &v 5142 return s 5143} 5144 5145// Violation details for AWS Network Firewall for an Availability Zone that's 5146// missing the expected Firewall Manager managed subnet. 5147type NetworkFirewallMissingSubnetViolation struct { 5148 _ struct{} `type:"structure"` 5149 5150 // The Availability Zone of a violating subnet. 5151 AvailabilityZone *string `type:"string"` 5152 5153 // The reason the resource has this violation, if one is available. 5154 TargetViolationReason *string `type:"string"` 5155 5156 // The resource ID of the VPC associated with a violating subnet. 5157 VPC *string `min:"1" type:"string"` 5158 5159 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5160 ViolationTarget *string `type:"string"` 5161} 5162 5163// String returns the string representation 5164func (s NetworkFirewallMissingSubnetViolation) String() string { 5165 return awsutil.Prettify(s) 5166} 5167 5168// GoString returns the string representation 5169func (s NetworkFirewallMissingSubnetViolation) GoString() string { 5170 return s.String() 5171} 5172 5173// SetAvailabilityZone sets the AvailabilityZone field's value. 5174func (s *NetworkFirewallMissingSubnetViolation) SetAvailabilityZone(v string) *NetworkFirewallMissingSubnetViolation { 5175 s.AvailabilityZone = &v 5176 return s 5177} 5178 5179// SetTargetViolationReason sets the TargetViolationReason field's value. 5180func (s *NetworkFirewallMissingSubnetViolation) SetTargetViolationReason(v string) *NetworkFirewallMissingSubnetViolation { 5181 s.TargetViolationReason = &v 5182 return s 5183} 5184 5185// SetVPC sets the VPC field's value. 5186func (s *NetworkFirewallMissingSubnetViolation) SetVPC(v string) *NetworkFirewallMissingSubnetViolation { 5187 s.VPC = &v 5188 return s 5189} 5190 5191// SetViolationTarget sets the ViolationTarget field's value. 5192func (s *NetworkFirewallMissingSubnetViolation) SetViolationTarget(v string) *NetworkFirewallMissingSubnetViolation { 5193 s.ViolationTarget = &v 5194 return s 5195} 5196 5197// The definition of the AWS Network Firewall firewall policy. 5198type NetworkFirewallPolicyDescription struct { 5199 _ struct{} `type:"structure"` 5200 5201 // The stateful rule groups that are used in the Network Firewall firewall policy. 5202 StatefulRuleGroups []*StatefulRuleGroup `type:"list"` 5203 5204 // Names of custom actions that are available for use in the stateless default 5205 // actions settings. 5206 StatelessCustomActions []*string `type:"list"` 5207 5208 // The actions to take on packets that don't match any of the stateless rule 5209 // groups. 5210 StatelessDefaultActions []*string `type:"list"` 5211 5212 // The actions to take on packet fragments that don't match any of the stateless 5213 // rule groups. 5214 StatelessFragmentDefaultActions []*string `type:"list"` 5215 5216 // The stateless rule groups that are used in the Network Firewall firewall 5217 // policy. 5218 StatelessRuleGroups []*StatelessRuleGroup `type:"list"` 5219} 5220 5221// String returns the string representation 5222func (s NetworkFirewallPolicyDescription) String() string { 5223 return awsutil.Prettify(s) 5224} 5225 5226// GoString returns the string representation 5227func (s NetworkFirewallPolicyDescription) GoString() string { 5228 return s.String() 5229} 5230 5231// SetStatefulRuleGroups sets the StatefulRuleGroups field's value. 5232func (s *NetworkFirewallPolicyDescription) SetStatefulRuleGroups(v []*StatefulRuleGroup) *NetworkFirewallPolicyDescription { 5233 s.StatefulRuleGroups = v 5234 return s 5235} 5236 5237// SetStatelessCustomActions sets the StatelessCustomActions field's value. 5238func (s *NetworkFirewallPolicyDescription) SetStatelessCustomActions(v []*string) *NetworkFirewallPolicyDescription { 5239 s.StatelessCustomActions = v 5240 return s 5241} 5242 5243// SetStatelessDefaultActions sets the StatelessDefaultActions field's value. 5244func (s *NetworkFirewallPolicyDescription) SetStatelessDefaultActions(v []*string) *NetworkFirewallPolicyDescription { 5245 s.StatelessDefaultActions = v 5246 return s 5247} 5248 5249// SetStatelessFragmentDefaultActions sets the StatelessFragmentDefaultActions field's value. 5250func (s *NetworkFirewallPolicyDescription) SetStatelessFragmentDefaultActions(v []*string) *NetworkFirewallPolicyDescription { 5251 s.StatelessFragmentDefaultActions = v 5252 return s 5253} 5254 5255// SetStatelessRuleGroups sets the StatelessRuleGroups field's value. 5256func (s *NetworkFirewallPolicyDescription) SetStatelessRuleGroups(v []*StatelessRuleGroup) *NetworkFirewallPolicyDescription { 5257 s.StatelessRuleGroups = v 5258 return s 5259} 5260 5261// Violation details for AWS Network Firewall for a firewall policy that has 5262// a different NetworkFirewallPolicyDescription than is required by the Firewall 5263// Manager policy. 5264type NetworkFirewallPolicyModifiedViolation struct { 5265 _ struct{} `type:"structure"` 5266 5267 // The policy that's currently in use in the individual account. 5268 CurrentPolicyDescription *NetworkFirewallPolicyDescription `type:"structure"` 5269 5270 // The policy that should be in use in the individual account in order to be 5271 // compliant. 5272 ExpectedPolicyDescription *NetworkFirewallPolicyDescription `type:"structure"` 5273 5274 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5275 ViolationTarget *string `type:"string"` 5276} 5277 5278// String returns the string representation 5279func (s NetworkFirewallPolicyModifiedViolation) String() string { 5280 return awsutil.Prettify(s) 5281} 5282 5283// GoString returns the string representation 5284func (s NetworkFirewallPolicyModifiedViolation) GoString() string { 5285 return s.String() 5286} 5287 5288// SetCurrentPolicyDescription sets the CurrentPolicyDescription field's value. 5289func (s *NetworkFirewallPolicyModifiedViolation) SetCurrentPolicyDescription(v *NetworkFirewallPolicyDescription) *NetworkFirewallPolicyModifiedViolation { 5290 s.CurrentPolicyDescription = v 5291 return s 5292} 5293 5294// SetExpectedPolicyDescription sets the ExpectedPolicyDescription field's value. 5295func (s *NetworkFirewallPolicyModifiedViolation) SetExpectedPolicyDescription(v *NetworkFirewallPolicyDescription) *NetworkFirewallPolicyModifiedViolation { 5296 s.ExpectedPolicyDescription = v 5297 return s 5298} 5299 5300// SetViolationTarget sets the ViolationTarget field's value. 5301func (s *NetworkFirewallPolicyModifiedViolation) SetViolationTarget(v string) *NetworkFirewallPolicyModifiedViolation { 5302 s.ViolationTarget = &v 5303 return s 5304} 5305 5306// The reference rule that partially matches the ViolationTarget rule and violation 5307// reason. 5308type PartialMatch struct { 5309 _ struct{} `type:"structure"` 5310 5311 // The reference rule from the master security group of the AWS Firewall Manager 5312 // policy. 5313 Reference *string `type:"string"` 5314 5315 // The violation reason. 5316 TargetViolationReasons []*string `type:"list"` 5317} 5318 5319// String returns the string representation 5320func (s PartialMatch) String() string { 5321 return awsutil.Prettify(s) 5322} 5323 5324// GoString returns the string representation 5325func (s PartialMatch) GoString() string { 5326 return s.String() 5327} 5328 5329// SetReference sets the Reference field's value. 5330func (s *PartialMatch) SetReference(v string) *PartialMatch { 5331 s.Reference = &v 5332 return s 5333} 5334 5335// SetTargetViolationReasons sets the TargetViolationReasons field's value. 5336func (s *PartialMatch) SetTargetViolationReasons(v []*string) *PartialMatch { 5337 s.TargetViolationReasons = v 5338 return s 5339} 5340 5341// An AWS Firewall Manager policy. 5342type Policy struct { 5343 _ struct{} `type:"structure"` 5344 5345 // Specifies the AWS account IDs and AWS Organizations organizational units 5346 // (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying 5347 // all accounts in the OU and in any of its child OUs, including any child OUs 5348 // and accounts that are added at a later time. 5349 // 5350 // You can specify inclusions or exclusions, but not both. If you specify an 5351 // IncludeMap, AWS Firewall Manager applies the policy to all accounts specified 5352 // by the IncludeMap, and does not evaluate any ExcludeMap specifications. If 5353 // you do not specify an IncludeMap, then Firewall Manager applies the policy 5354 // to all accounts except for those specified by the ExcludeMap. 5355 // 5356 // You can specify account IDs, OUs, or a combination: 5357 // 5358 // * Specify account IDs by setting the key to ACCOUNT. For example, the 5359 // following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”]}. 5360 // 5361 // * Specify OUs by setting the key to ORG_UNIT. For example, the following 5362 // is a valid map: {“ORG_UNIT” : [“ouid111”, “ouid112”]}. 5363 // 5364 // * Specify accounts and OUs together in a single map, separated with a 5365 // comma. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, 5366 // “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}. 5367 ExcludeMap map[string][]*string `type:"map"` 5368 5369 // If set to True, resources with the tags that are specified in the ResourceTag 5370 // array are not in scope of the policy. If set to False, and the ResourceTag 5371 // array is not null, only resources with the specified tags are in scope of 5372 // the policy. 5373 // 5374 // ExcludeResourceTags is a required field 5375 ExcludeResourceTags *bool `type:"boolean" required:"true"` 5376 5377 // Specifies the AWS account IDs and AWS Organizations organizational units 5378 // (OUs) to include in the policy. Specifying an OU is the equivalent of specifying 5379 // all accounts in the OU and in any of its child OUs, including any child OUs 5380 // and accounts that are added at a later time. 5381 // 5382 // You can specify inclusions or exclusions, but not both. If you specify an 5383 // IncludeMap, AWS Firewall Manager applies the policy to all accounts specified 5384 // by the IncludeMap, and does not evaluate any ExcludeMap specifications. If 5385 // you do not specify an IncludeMap, then Firewall Manager applies the policy 5386 // to all accounts except for those specified by the ExcludeMap. 5387 // 5388 // You can specify account IDs, OUs, or a combination: 5389 // 5390 // * Specify account IDs by setting the key to ACCOUNT. For example, the 5391 // following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”]}. 5392 // 5393 // * Specify OUs by setting the key to ORG_UNIT. For example, the following 5394 // is a valid map: {“ORG_UNIT” : [“ouid111”, “ouid112”]}. 5395 // 5396 // * Specify accounts and OUs together in a single map, separated with a 5397 // comma. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, 5398 // “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}. 5399 IncludeMap map[string][]*string `type:"map"` 5400 5401 // The ID of the AWS Firewall Manager policy. 5402 PolicyId *string `min:"36" type:"string"` 5403 5404 // The name of the AWS Firewall Manager policy. 5405 // 5406 // PolicyName is a required field 5407 PolicyName *string `min:"1" type:"string" required:"true"` 5408 5409 // A unique identifier for each update to the policy. When issuing a PutPolicy 5410 // request, the PolicyUpdateToken in the request must match the PolicyUpdateToken 5411 // of the current policy version. To get the PolicyUpdateToken of the current 5412 // policy version, use a GetPolicy request. 5413 PolicyUpdateToken *string `min:"1" type:"string"` 5414 5415 // Indicates if the policy should be automatically applied to new resources. 5416 // 5417 // RemediationEnabled is a required field 5418 RemediationEnabled *bool `type:"boolean" required:"true"` 5419 5420 // An array of ResourceTag objects. 5421 ResourceTags []*ResourceTag `type:"list"` 5422 5423 // The type of resource protected by or in scope of the policy. This is in the 5424 // format shown in the AWS Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 5425 // For AWS WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer 5426 // and AWS::CloudFront::Distribution. For a security group common policy, valid 5427 // values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security 5428 // group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, 5429 // and AWS::EC2::Instance. For a security group usage audit policy, the value 5430 // is AWS::EC2::SecurityGroup. For an AWS Network Firewall policy, the value 5431 // is AWS::EC2::VPC. 5432 // 5433 // ResourceType is a required field 5434 ResourceType *string `min:"1" type:"string" required:"true"` 5435 5436 // An array of ResourceType. 5437 ResourceTypeList []*string `type:"list"` 5438 5439 // Details about the security service that is being used to protect the resources. 5440 // 5441 // SecurityServicePolicyData is a required field 5442 SecurityServicePolicyData *SecurityServicePolicyData `type:"structure" required:"true"` 5443} 5444 5445// String returns the string representation 5446func (s Policy) String() string { 5447 return awsutil.Prettify(s) 5448} 5449 5450// GoString returns the string representation 5451func (s Policy) GoString() string { 5452 return s.String() 5453} 5454 5455// Validate inspects the fields of the type to determine if they are valid. 5456func (s *Policy) Validate() error { 5457 invalidParams := request.ErrInvalidParams{Context: "Policy"} 5458 if s.ExcludeResourceTags == nil { 5459 invalidParams.Add(request.NewErrParamRequired("ExcludeResourceTags")) 5460 } 5461 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 5462 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 5463 } 5464 if s.PolicyName == nil { 5465 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 5466 } 5467 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 5468 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 5469 } 5470 if s.PolicyUpdateToken != nil && len(*s.PolicyUpdateToken) < 1 { 5471 invalidParams.Add(request.NewErrParamMinLen("PolicyUpdateToken", 1)) 5472 } 5473 if s.RemediationEnabled == nil { 5474 invalidParams.Add(request.NewErrParamRequired("RemediationEnabled")) 5475 } 5476 if s.ResourceType == nil { 5477 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 5478 } 5479 if s.ResourceType != nil && len(*s.ResourceType) < 1 { 5480 invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) 5481 } 5482 if s.SecurityServicePolicyData == nil { 5483 invalidParams.Add(request.NewErrParamRequired("SecurityServicePolicyData")) 5484 } 5485 if s.ResourceTags != nil { 5486 for i, v := range s.ResourceTags { 5487 if v == nil { 5488 continue 5489 } 5490 if err := v.Validate(); err != nil { 5491 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceTags", i), err.(request.ErrInvalidParams)) 5492 } 5493 } 5494 } 5495 if s.SecurityServicePolicyData != nil { 5496 if err := s.SecurityServicePolicyData.Validate(); err != nil { 5497 invalidParams.AddNested("SecurityServicePolicyData", err.(request.ErrInvalidParams)) 5498 } 5499 } 5500 5501 if invalidParams.Len() > 0 { 5502 return invalidParams 5503 } 5504 return nil 5505} 5506 5507// SetExcludeMap sets the ExcludeMap field's value. 5508func (s *Policy) SetExcludeMap(v map[string][]*string) *Policy { 5509 s.ExcludeMap = v 5510 return s 5511} 5512 5513// SetExcludeResourceTags sets the ExcludeResourceTags field's value. 5514func (s *Policy) SetExcludeResourceTags(v bool) *Policy { 5515 s.ExcludeResourceTags = &v 5516 return s 5517} 5518 5519// SetIncludeMap sets the IncludeMap field's value. 5520func (s *Policy) SetIncludeMap(v map[string][]*string) *Policy { 5521 s.IncludeMap = v 5522 return s 5523} 5524 5525// SetPolicyId sets the PolicyId field's value. 5526func (s *Policy) SetPolicyId(v string) *Policy { 5527 s.PolicyId = &v 5528 return s 5529} 5530 5531// SetPolicyName sets the PolicyName field's value. 5532func (s *Policy) SetPolicyName(v string) *Policy { 5533 s.PolicyName = &v 5534 return s 5535} 5536 5537// SetPolicyUpdateToken sets the PolicyUpdateToken field's value. 5538func (s *Policy) SetPolicyUpdateToken(v string) *Policy { 5539 s.PolicyUpdateToken = &v 5540 return s 5541} 5542 5543// SetRemediationEnabled sets the RemediationEnabled field's value. 5544func (s *Policy) SetRemediationEnabled(v bool) *Policy { 5545 s.RemediationEnabled = &v 5546 return s 5547} 5548 5549// SetResourceTags sets the ResourceTags field's value. 5550func (s *Policy) SetResourceTags(v []*ResourceTag) *Policy { 5551 s.ResourceTags = v 5552 return s 5553} 5554 5555// SetResourceType sets the ResourceType field's value. 5556func (s *Policy) SetResourceType(v string) *Policy { 5557 s.ResourceType = &v 5558 return s 5559} 5560 5561// SetResourceTypeList sets the ResourceTypeList field's value. 5562func (s *Policy) SetResourceTypeList(v []*string) *Policy { 5563 s.ResourceTypeList = v 5564 return s 5565} 5566 5567// SetSecurityServicePolicyData sets the SecurityServicePolicyData field's value. 5568func (s *Policy) SetSecurityServicePolicyData(v *SecurityServicePolicyData) *Policy { 5569 s.SecurityServicePolicyData = v 5570 return s 5571} 5572 5573// Describes the noncompliant resources in a member account for a specific AWS 5574// Firewall Manager policy. A maximum of 100 entries are displayed. If more 5575// than 100 resources are noncompliant, EvaluationLimitExceeded is set to True. 5576type PolicyComplianceDetail struct { 5577 _ struct{} `type:"structure"` 5578 5579 // Indicates if over 100 resources are noncompliant with the AWS Firewall Manager 5580 // policy. 5581 EvaluationLimitExceeded *bool `type:"boolean"` 5582 5583 // A timestamp that indicates when the returned information should be considered 5584 // out of date. 5585 ExpiredAt *time.Time `type:"timestamp"` 5586 5587 // Details about problems with dependent services, such as AWS WAF or AWS Config, 5588 // that are causing a resource to be noncompliant. The details include the name 5589 // of the dependent service and the error message received that indicates the 5590 // problem with the service. 5591 IssueInfoMap map[string]*string `type:"map"` 5592 5593 // The AWS account ID. 5594 MemberAccount *string `min:"1" type:"string"` 5595 5596 // The ID of the AWS Firewall Manager policy. 5597 PolicyId *string `min:"36" type:"string"` 5598 5599 // The AWS account that created the AWS Firewall Manager policy. 5600 PolicyOwner *string `min:"1" type:"string"` 5601 5602 // An array of resources that aren't protected by the AWS WAF or Shield Advanced 5603 // policy or that aren't in compliance with the security group policy. 5604 Violators []*ComplianceViolator `type:"list"` 5605} 5606 5607// String returns the string representation 5608func (s PolicyComplianceDetail) String() string { 5609 return awsutil.Prettify(s) 5610} 5611 5612// GoString returns the string representation 5613func (s PolicyComplianceDetail) GoString() string { 5614 return s.String() 5615} 5616 5617// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. 5618func (s *PolicyComplianceDetail) SetEvaluationLimitExceeded(v bool) *PolicyComplianceDetail { 5619 s.EvaluationLimitExceeded = &v 5620 return s 5621} 5622 5623// SetExpiredAt sets the ExpiredAt field's value. 5624func (s *PolicyComplianceDetail) SetExpiredAt(v time.Time) *PolicyComplianceDetail { 5625 s.ExpiredAt = &v 5626 return s 5627} 5628 5629// SetIssueInfoMap sets the IssueInfoMap field's value. 5630func (s *PolicyComplianceDetail) SetIssueInfoMap(v map[string]*string) *PolicyComplianceDetail { 5631 s.IssueInfoMap = v 5632 return s 5633} 5634 5635// SetMemberAccount sets the MemberAccount field's value. 5636func (s *PolicyComplianceDetail) SetMemberAccount(v string) *PolicyComplianceDetail { 5637 s.MemberAccount = &v 5638 return s 5639} 5640 5641// SetPolicyId sets the PolicyId field's value. 5642func (s *PolicyComplianceDetail) SetPolicyId(v string) *PolicyComplianceDetail { 5643 s.PolicyId = &v 5644 return s 5645} 5646 5647// SetPolicyOwner sets the PolicyOwner field's value. 5648func (s *PolicyComplianceDetail) SetPolicyOwner(v string) *PolicyComplianceDetail { 5649 s.PolicyOwner = &v 5650 return s 5651} 5652 5653// SetViolators sets the Violators field's value. 5654func (s *PolicyComplianceDetail) SetViolators(v []*ComplianceViolator) *PolicyComplianceDetail { 5655 s.Violators = v 5656 return s 5657} 5658 5659// Indicates whether the account is compliant with the specified policy. An 5660// account is considered noncompliant if it includes resources that are not 5661// protected by the policy, for AWS WAF and Shield Advanced policies, or that 5662// are noncompliant with the policy, for security group policies. 5663type PolicyComplianceStatus struct { 5664 _ struct{} `type:"structure"` 5665 5666 // An array of EvaluationResult objects. 5667 EvaluationResults []*EvaluationResult `type:"list"` 5668 5669 // Details about problems with dependent services, such as AWS WAF or AWS Config, 5670 // that are causing a resource to be noncompliant. The details include the name 5671 // of the dependent service and the error message received that indicates the 5672 // problem with the service. 5673 IssueInfoMap map[string]*string `type:"map"` 5674 5675 // Timestamp of the last update to the EvaluationResult objects. 5676 LastUpdated *time.Time `type:"timestamp"` 5677 5678 // The member account ID. 5679 MemberAccount *string `min:"1" type:"string"` 5680 5681 // The ID of the AWS Firewall Manager policy. 5682 PolicyId *string `min:"36" type:"string"` 5683 5684 // The name of the AWS Firewall Manager policy. 5685 PolicyName *string `min:"1" type:"string"` 5686 5687 // The AWS account that created the AWS Firewall Manager policy. 5688 PolicyOwner *string `min:"1" type:"string"` 5689} 5690 5691// String returns the string representation 5692func (s PolicyComplianceStatus) String() string { 5693 return awsutil.Prettify(s) 5694} 5695 5696// GoString returns the string representation 5697func (s PolicyComplianceStatus) GoString() string { 5698 return s.String() 5699} 5700 5701// SetEvaluationResults sets the EvaluationResults field's value. 5702func (s *PolicyComplianceStatus) SetEvaluationResults(v []*EvaluationResult) *PolicyComplianceStatus { 5703 s.EvaluationResults = v 5704 return s 5705} 5706 5707// SetIssueInfoMap sets the IssueInfoMap field's value. 5708func (s *PolicyComplianceStatus) SetIssueInfoMap(v map[string]*string) *PolicyComplianceStatus { 5709 s.IssueInfoMap = v 5710 return s 5711} 5712 5713// SetLastUpdated sets the LastUpdated field's value. 5714func (s *PolicyComplianceStatus) SetLastUpdated(v time.Time) *PolicyComplianceStatus { 5715 s.LastUpdated = &v 5716 return s 5717} 5718 5719// SetMemberAccount sets the MemberAccount field's value. 5720func (s *PolicyComplianceStatus) SetMemberAccount(v string) *PolicyComplianceStatus { 5721 s.MemberAccount = &v 5722 return s 5723} 5724 5725// SetPolicyId sets the PolicyId field's value. 5726func (s *PolicyComplianceStatus) SetPolicyId(v string) *PolicyComplianceStatus { 5727 s.PolicyId = &v 5728 return s 5729} 5730 5731// SetPolicyName sets the PolicyName field's value. 5732func (s *PolicyComplianceStatus) SetPolicyName(v string) *PolicyComplianceStatus { 5733 s.PolicyName = &v 5734 return s 5735} 5736 5737// SetPolicyOwner sets the PolicyOwner field's value. 5738func (s *PolicyComplianceStatus) SetPolicyOwner(v string) *PolicyComplianceStatus { 5739 s.PolicyOwner = &v 5740 return s 5741} 5742 5743// Details of the AWS Firewall Manager policy. 5744type PolicySummary struct { 5745 _ struct{} `type:"structure"` 5746 5747 // The Amazon Resource Name (ARN) of the specified policy. 5748 PolicyArn *string `min:"1" type:"string"` 5749 5750 // The ID of the specified policy. 5751 PolicyId *string `min:"36" type:"string"` 5752 5753 // The name of the specified policy. 5754 PolicyName *string `min:"1" type:"string"` 5755 5756 // Indicates if the policy should be automatically applied to new resources. 5757 RemediationEnabled *bool `type:"boolean"` 5758 5759 // The type of resource protected by or in scope of the policy. This is in the 5760 // format shown in the AWS Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 5761 // For AWS WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer 5762 // and AWS::CloudFront::Distribution. For a security group common policy, valid 5763 // values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security 5764 // group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, 5765 // and AWS::EC2::Instance. For a security group usage audit policy, the value 5766 // is AWS::EC2::SecurityGroup. For an AWS Network Firewall policy, the value 5767 // is AWS::EC2::VPC. 5768 ResourceType *string `min:"1" type:"string"` 5769 5770 // The service that the policy is using to protect the resources. This specifies 5771 // the type of policy that is created, either an AWS WAF policy, a Shield Advanced 5772 // policy, or a security group policy. 5773 SecurityServiceType *string `type:"string" enum:"SecurityServiceType"` 5774} 5775 5776// String returns the string representation 5777func (s PolicySummary) String() string { 5778 return awsutil.Prettify(s) 5779} 5780 5781// GoString returns the string representation 5782func (s PolicySummary) GoString() string { 5783 return s.String() 5784} 5785 5786// SetPolicyArn sets the PolicyArn field's value. 5787func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary { 5788 s.PolicyArn = &v 5789 return s 5790} 5791 5792// SetPolicyId sets the PolicyId field's value. 5793func (s *PolicySummary) SetPolicyId(v string) *PolicySummary { 5794 s.PolicyId = &v 5795 return s 5796} 5797 5798// SetPolicyName sets the PolicyName field's value. 5799func (s *PolicySummary) SetPolicyName(v string) *PolicySummary { 5800 s.PolicyName = &v 5801 return s 5802} 5803 5804// SetRemediationEnabled sets the RemediationEnabled field's value. 5805func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary { 5806 s.RemediationEnabled = &v 5807 return s 5808} 5809 5810// SetResourceType sets the ResourceType field's value. 5811func (s *PolicySummary) SetResourceType(v string) *PolicySummary { 5812 s.ResourceType = &v 5813 return s 5814} 5815 5816// SetSecurityServiceType sets the SecurityServiceType field's value. 5817func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary { 5818 s.SecurityServiceType = &v 5819 return s 5820} 5821 5822// An AWS Firewall Manager protocols list. 5823type ProtocolsListData struct { 5824 _ struct{} `type:"structure"` 5825 5826 // The time that the AWS Firewall Manager protocols list was created. 5827 CreateTime *time.Time `type:"timestamp"` 5828 5829 // The time that the AWS Firewall Manager protocols list was last updated. 5830 LastUpdateTime *time.Time `type:"timestamp"` 5831 5832 // The ID of the AWS Firewall Manager protocols list. 5833 ListId *string `min:"36" type:"string"` 5834 5835 // The name of the AWS Firewall Manager protocols list. 5836 // 5837 // ListName is a required field 5838 ListName *string `min:"1" type:"string" required:"true"` 5839 5840 // A unique identifier for each update to the list. When you update the list, 5841 // the update token must match the token of the current version of the application 5842 // list. You can retrieve the update token by getting the list. 5843 ListUpdateToken *string `min:"1" type:"string"` 5844 5845 // A map of previous version numbers to their corresponding protocol arrays. 5846 PreviousProtocolsList map[string][]*string `type:"map"` 5847 5848 // An array of protocols in the AWS Firewall Manager protocols list. 5849 // 5850 // ProtocolsList is a required field 5851 ProtocolsList []*string `type:"list" required:"true"` 5852} 5853 5854// String returns the string representation 5855func (s ProtocolsListData) String() string { 5856 return awsutil.Prettify(s) 5857} 5858 5859// GoString returns the string representation 5860func (s ProtocolsListData) GoString() string { 5861 return s.String() 5862} 5863 5864// Validate inspects the fields of the type to determine if they are valid. 5865func (s *ProtocolsListData) Validate() error { 5866 invalidParams := request.ErrInvalidParams{Context: "ProtocolsListData"} 5867 if s.ListId != nil && len(*s.ListId) < 36 { 5868 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 5869 } 5870 if s.ListName == nil { 5871 invalidParams.Add(request.NewErrParamRequired("ListName")) 5872 } 5873 if s.ListName != nil && len(*s.ListName) < 1 { 5874 invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) 5875 } 5876 if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { 5877 invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) 5878 } 5879 if s.ProtocolsList == nil { 5880 invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) 5881 } 5882 5883 if invalidParams.Len() > 0 { 5884 return invalidParams 5885 } 5886 return nil 5887} 5888 5889// SetCreateTime sets the CreateTime field's value. 5890func (s *ProtocolsListData) SetCreateTime(v time.Time) *ProtocolsListData { 5891 s.CreateTime = &v 5892 return s 5893} 5894 5895// SetLastUpdateTime sets the LastUpdateTime field's value. 5896func (s *ProtocolsListData) SetLastUpdateTime(v time.Time) *ProtocolsListData { 5897 s.LastUpdateTime = &v 5898 return s 5899} 5900 5901// SetListId sets the ListId field's value. 5902func (s *ProtocolsListData) SetListId(v string) *ProtocolsListData { 5903 s.ListId = &v 5904 return s 5905} 5906 5907// SetListName sets the ListName field's value. 5908func (s *ProtocolsListData) SetListName(v string) *ProtocolsListData { 5909 s.ListName = &v 5910 return s 5911} 5912 5913// SetListUpdateToken sets the ListUpdateToken field's value. 5914func (s *ProtocolsListData) SetListUpdateToken(v string) *ProtocolsListData { 5915 s.ListUpdateToken = &v 5916 return s 5917} 5918 5919// SetPreviousProtocolsList sets the PreviousProtocolsList field's value. 5920func (s *ProtocolsListData) SetPreviousProtocolsList(v map[string][]*string) *ProtocolsListData { 5921 s.PreviousProtocolsList = v 5922 return s 5923} 5924 5925// SetProtocolsList sets the ProtocolsList field's value. 5926func (s *ProtocolsListData) SetProtocolsList(v []*string) *ProtocolsListData { 5927 s.ProtocolsList = v 5928 return s 5929} 5930 5931// Details of the AWS Firewall Manager protocols list. 5932type ProtocolsListDataSummary struct { 5933 _ struct{} `type:"structure"` 5934 5935 // The Amazon Resource Name (ARN) of the specified protocols list. 5936 ListArn *string `min:"1" type:"string"` 5937 5938 // The ID of the specified protocols list. 5939 ListId *string `min:"36" type:"string"` 5940 5941 // The name of the specified protocols list. 5942 ListName *string `min:"1" type:"string"` 5943 5944 // An array of protocols in the AWS Firewall Manager protocols list. 5945 ProtocolsList []*string `type:"list"` 5946} 5947 5948// String returns the string representation 5949func (s ProtocolsListDataSummary) String() string { 5950 return awsutil.Prettify(s) 5951} 5952 5953// GoString returns the string representation 5954func (s ProtocolsListDataSummary) GoString() string { 5955 return s.String() 5956} 5957 5958// SetListArn sets the ListArn field's value. 5959func (s *ProtocolsListDataSummary) SetListArn(v string) *ProtocolsListDataSummary { 5960 s.ListArn = &v 5961 return s 5962} 5963 5964// SetListId sets the ListId field's value. 5965func (s *ProtocolsListDataSummary) SetListId(v string) *ProtocolsListDataSummary { 5966 s.ListId = &v 5967 return s 5968} 5969 5970// SetListName sets the ListName field's value. 5971func (s *ProtocolsListDataSummary) SetListName(v string) *ProtocolsListDataSummary { 5972 s.ListName = &v 5973 return s 5974} 5975 5976// SetProtocolsList sets the ProtocolsList field's value. 5977func (s *ProtocolsListDataSummary) SetProtocolsList(v []*string) *ProtocolsListDataSummary { 5978 s.ProtocolsList = v 5979 return s 5980} 5981 5982type PutAppsListInput struct { 5983 _ struct{} `type:"structure"` 5984 5985 // The details of the AWS Firewall Manager applications list to be created. 5986 // 5987 // AppsList is a required field 5988 AppsList *AppsListData `type:"structure" required:"true"` 5989 5990 // The tags associated with the resource. 5991 TagList []*Tag `type:"list"` 5992} 5993 5994// String returns the string representation 5995func (s PutAppsListInput) String() string { 5996 return awsutil.Prettify(s) 5997} 5998 5999// GoString returns the string representation 6000func (s PutAppsListInput) GoString() string { 6001 return s.String() 6002} 6003 6004// Validate inspects the fields of the type to determine if they are valid. 6005func (s *PutAppsListInput) Validate() error { 6006 invalidParams := request.ErrInvalidParams{Context: "PutAppsListInput"} 6007 if s.AppsList == nil { 6008 invalidParams.Add(request.NewErrParamRequired("AppsList")) 6009 } 6010 if s.AppsList != nil { 6011 if err := s.AppsList.Validate(); err != nil { 6012 invalidParams.AddNested("AppsList", err.(request.ErrInvalidParams)) 6013 } 6014 } 6015 if s.TagList != nil { 6016 for i, v := range s.TagList { 6017 if v == nil { 6018 continue 6019 } 6020 if err := v.Validate(); err != nil { 6021 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6022 } 6023 } 6024 } 6025 6026 if invalidParams.Len() > 0 { 6027 return invalidParams 6028 } 6029 return nil 6030} 6031 6032// SetAppsList sets the AppsList field's value. 6033func (s *PutAppsListInput) SetAppsList(v *AppsListData) *PutAppsListInput { 6034 s.AppsList = v 6035 return s 6036} 6037 6038// SetTagList sets the TagList field's value. 6039func (s *PutAppsListInput) SetTagList(v []*Tag) *PutAppsListInput { 6040 s.TagList = v 6041 return s 6042} 6043 6044type PutAppsListOutput struct { 6045 _ struct{} `type:"structure"` 6046 6047 // The details of the AWS Firewall Manager applications list. 6048 AppsList *AppsListData `type:"structure"` 6049 6050 // The Amazon Resource Name (ARN) of the applications list. 6051 AppsListArn *string `min:"1" type:"string"` 6052} 6053 6054// String returns the string representation 6055func (s PutAppsListOutput) String() string { 6056 return awsutil.Prettify(s) 6057} 6058 6059// GoString returns the string representation 6060func (s PutAppsListOutput) GoString() string { 6061 return s.String() 6062} 6063 6064// SetAppsList sets the AppsList field's value. 6065func (s *PutAppsListOutput) SetAppsList(v *AppsListData) *PutAppsListOutput { 6066 s.AppsList = v 6067 return s 6068} 6069 6070// SetAppsListArn sets the AppsListArn field's value. 6071func (s *PutAppsListOutput) SetAppsListArn(v string) *PutAppsListOutput { 6072 s.AppsListArn = &v 6073 return s 6074} 6075 6076type PutNotificationChannelInput struct { 6077 _ struct{} `type:"structure"` 6078 6079 // The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to 6080 // record AWS Firewall Manager activity. 6081 // 6082 // SnsRoleName is a required field 6083 SnsRoleName *string `min:"1" type:"string" required:"true"` 6084 6085 // The Amazon Resource Name (ARN) of the SNS topic that collects notifications 6086 // from AWS Firewall Manager. 6087 // 6088 // SnsTopicArn is a required field 6089 SnsTopicArn *string `min:"1" type:"string" required:"true"` 6090} 6091 6092// String returns the string representation 6093func (s PutNotificationChannelInput) String() string { 6094 return awsutil.Prettify(s) 6095} 6096 6097// GoString returns the string representation 6098func (s PutNotificationChannelInput) GoString() string { 6099 return s.String() 6100} 6101 6102// Validate inspects the fields of the type to determine if they are valid. 6103func (s *PutNotificationChannelInput) Validate() error { 6104 invalidParams := request.ErrInvalidParams{Context: "PutNotificationChannelInput"} 6105 if s.SnsRoleName == nil { 6106 invalidParams.Add(request.NewErrParamRequired("SnsRoleName")) 6107 } 6108 if s.SnsRoleName != nil && len(*s.SnsRoleName) < 1 { 6109 invalidParams.Add(request.NewErrParamMinLen("SnsRoleName", 1)) 6110 } 6111 if s.SnsTopicArn == nil { 6112 invalidParams.Add(request.NewErrParamRequired("SnsTopicArn")) 6113 } 6114 if s.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 { 6115 invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 1)) 6116 } 6117 6118 if invalidParams.Len() > 0 { 6119 return invalidParams 6120 } 6121 return nil 6122} 6123 6124// SetSnsRoleName sets the SnsRoleName field's value. 6125func (s *PutNotificationChannelInput) SetSnsRoleName(v string) *PutNotificationChannelInput { 6126 s.SnsRoleName = &v 6127 return s 6128} 6129 6130// SetSnsTopicArn sets the SnsTopicArn field's value. 6131func (s *PutNotificationChannelInput) SetSnsTopicArn(v string) *PutNotificationChannelInput { 6132 s.SnsTopicArn = &v 6133 return s 6134} 6135 6136type PutNotificationChannelOutput struct { 6137 _ struct{} `type:"structure"` 6138} 6139 6140// String returns the string representation 6141func (s PutNotificationChannelOutput) String() string { 6142 return awsutil.Prettify(s) 6143} 6144 6145// GoString returns the string representation 6146func (s PutNotificationChannelOutput) GoString() string { 6147 return s.String() 6148} 6149 6150type PutPolicyInput struct { 6151 _ struct{} `type:"structure"` 6152 6153 // The details of the AWS Firewall Manager policy to be created. 6154 // 6155 // Policy is a required field 6156 Policy *Policy `type:"structure" required:"true"` 6157 6158 // The tags to add to the AWS resource. 6159 TagList []*Tag `type:"list"` 6160} 6161 6162// String returns the string representation 6163func (s PutPolicyInput) String() string { 6164 return awsutil.Prettify(s) 6165} 6166 6167// GoString returns the string representation 6168func (s PutPolicyInput) GoString() string { 6169 return s.String() 6170} 6171 6172// Validate inspects the fields of the type to determine if they are valid. 6173func (s *PutPolicyInput) Validate() error { 6174 invalidParams := request.ErrInvalidParams{Context: "PutPolicyInput"} 6175 if s.Policy == nil { 6176 invalidParams.Add(request.NewErrParamRequired("Policy")) 6177 } 6178 if s.Policy != nil { 6179 if err := s.Policy.Validate(); err != nil { 6180 invalidParams.AddNested("Policy", err.(request.ErrInvalidParams)) 6181 } 6182 } 6183 if s.TagList != nil { 6184 for i, v := range s.TagList { 6185 if v == nil { 6186 continue 6187 } 6188 if err := v.Validate(); err != nil { 6189 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6190 } 6191 } 6192 } 6193 6194 if invalidParams.Len() > 0 { 6195 return invalidParams 6196 } 6197 return nil 6198} 6199 6200// SetPolicy sets the Policy field's value. 6201func (s *PutPolicyInput) SetPolicy(v *Policy) *PutPolicyInput { 6202 s.Policy = v 6203 return s 6204} 6205 6206// SetTagList sets the TagList field's value. 6207func (s *PutPolicyInput) SetTagList(v []*Tag) *PutPolicyInput { 6208 s.TagList = v 6209 return s 6210} 6211 6212type PutPolicyOutput struct { 6213 _ struct{} `type:"structure"` 6214 6215 // The details of the AWS Firewall Manager policy. 6216 Policy *Policy `type:"structure"` 6217 6218 // The Amazon Resource Name (ARN) of the policy. 6219 PolicyArn *string `min:"1" type:"string"` 6220} 6221 6222// String returns the string representation 6223func (s PutPolicyOutput) String() string { 6224 return awsutil.Prettify(s) 6225} 6226 6227// GoString returns the string representation 6228func (s PutPolicyOutput) GoString() string { 6229 return s.String() 6230} 6231 6232// SetPolicy sets the Policy field's value. 6233func (s *PutPolicyOutput) SetPolicy(v *Policy) *PutPolicyOutput { 6234 s.Policy = v 6235 return s 6236} 6237 6238// SetPolicyArn sets the PolicyArn field's value. 6239func (s *PutPolicyOutput) SetPolicyArn(v string) *PutPolicyOutput { 6240 s.PolicyArn = &v 6241 return s 6242} 6243 6244type PutProtocolsListInput struct { 6245 _ struct{} `type:"structure"` 6246 6247 // The details of the AWS Firewall Manager protocols list to be created. 6248 // 6249 // ProtocolsList is a required field 6250 ProtocolsList *ProtocolsListData `type:"structure" required:"true"` 6251 6252 // The tags associated with the resource. 6253 TagList []*Tag `type:"list"` 6254} 6255 6256// String returns the string representation 6257func (s PutProtocolsListInput) String() string { 6258 return awsutil.Prettify(s) 6259} 6260 6261// GoString returns the string representation 6262func (s PutProtocolsListInput) GoString() string { 6263 return s.String() 6264} 6265 6266// Validate inspects the fields of the type to determine if they are valid. 6267func (s *PutProtocolsListInput) Validate() error { 6268 invalidParams := request.ErrInvalidParams{Context: "PutProtocolsListInput"} 6269 if s.ProtocolsList == nil { 6270 invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) 6271 } 6272 if s.ProtocolsList != nil { 6273 if err := s.ProtocolsList.Validate(); err != nil { 6274 invalidParams.AddNested("ProtocolsList", err.(request.ErrInvalidParams)) 6275 } 6276 } 6277 if s.TagList != nil { 6278 for i, v := range s.TagList { 6279 if v == nil { 6280 continue 6281 } 6282 if err := v.Validate(); err != nil { 6283 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6284 } 6285 } 6286 } 6287 6288 if invalidParams.Len() > 0 { 6289 return invalidParams 6290 } 6291 return nil 6292} 6293 6294// SetProtocolsList sets the ProtocolsList field's value. 6295func (s *PutProtocolsListInput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListInput { 6296 s.ProtocolsList = v 6297 return s 6298} 6299 6300// SetTagList sets the TagList field's value. 6301func (s *PutProtocolsListInput) SetTagList(v []*Tag) *PutProtocolsListInput { 6302 s.TagList = v 6303 return s 6304} 6305 6306type PutProtocolsListOutput struct { 6307 _ struct{} `type:"structure"` 6308 6309 // The details of the AWS Firewall Manager protocols list. 6310 ProtocolsList *ProtocolsListData `type:"structure"` 6311 6312 // The Amazon Resource Name (ARN) of the protocols list. 6313 ProtocolsListArn *string `min:"1" type:"string"` 6314} 6315 6316// String returns the string representation 6317func (s PutProtocolsListOutput) String() string { 6318 return awsutil.Prettify(s) 6319} 6320 6321// GoString returns the string representation 6322func (s PutProtocolsListOutput) GoString() string { 6323 return s.String() 6324} 6325 6326// SetProtocolsList sets the ProtocolsList field's value. 6327func (s *PutProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListOutput { 6328 s.ProtocolsList = v 6329 return s 6330} 6331 6332// SetProtocolsListArn sets the ProtocolsListArn field's value. 6333func (s *PutProtocolsListOutput) SetProtocolsListArn(v string) *PutProtocolsListOutput { 6334 s.ProtocolsListArn = &v 6335 return s 6336} 6337 6338// The specified resource was not found. 6339type ResourceNotFoundException struct { 6340 _ struct{} `type:"structure"` 6341 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6342 6343 Message_ *string `locationName:"Message" type:"string"` 6344} 6345 6346// String returns the string representation 6347func (s ResourceNotFoundException) String() string { 6348 return awsutil.Prettify(s) 6349} 6350 6351// GoString returns the string representation 6352func (s ResourceNotFoundException) GoString() string { 6353 return s.String() 6354} 6355 6356func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 6357 return &ResourceNotFoundException{ 6358 RespMetadata: v, 6359 } 6360} 6361 6362// Code returns the exception type name. 6363func (s *ResourceNotFoundException) Code() string { 6364 return "ResourceNotFoundException" 6365} 6366 6367// Message returns the exception's message. 6368func (s *ResourceNotFoundException) Message() string { 6369 if s.Message_ != nil { 6370 return *s.Message_ 6371 } 6372 return "" 6373} 6374 6375// OrigErr always returns nil, satisfies awserr.Error interface. 6376func (s *ResourceNotFoundException) OrigErr() error { 6377 return nil 6378} 6379 6380func (s *ResourceNotFoundException) Error() string { 6381 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6382} 6383 6384// Status code returns the HTTP status code for the request's response error. 6385func (s *ResourceNotFoundException) StatusCode() int { 6386 return s.RespMetadata.StatusCode 6387} 6388 6389// RequestID returns the service's response RequestID for request. 6390func (s *ResourceNotFoundException) RequestID() string { 6391 return s.RespMetadata.RequestID 6392} 6393 6394// The resource tags that AWS Firewall Manager uses to determine if a particular 6395// resource should be included or excluded from the AWS Firewall Manager policy. 6396// Tags enable you to categorize your AWS resources in different ways, for example, 6397// by purpose, owner, or environment. Each tag consists of a key and an optional 6398// value. Firewall Manager combines the tags with "AND" so that, if you add 6399// more than one tag to a policy scope, a resource must have all the specified 6400// tags to be included or excluded. For more information, see Working with Tag 6401// Editor (https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html). 6402type ResourceTag struct { 6403 _ struct{} `type:"structure"` 6404 6405 // The resource tag key. 6406 // 6407 // Key is a required field 6408 Key *string `min:"1" type:"string" required:"true"` 6409 6410 // The resource tag value. 6411 Value *string `type:"string"` 6412} 6413 6414// String returns the string representation 6415func (s ResourceTag) String() string { 6416 return awsutil.Prettify(s) 6417} 6418 6419// GoString returns the string representation 6420func (s ResourceTag) GoString() string { 6421 return s.String() 6422} 6423 6424// Validate inspects the fields of the type to determine if they are valid. 6425func (s *ResourceTag) Validate() error { 6426 invalidParams := request.ErrInvalidParams{Context: "ResourceTag"} 6427 if s.Key == nil { 6428 invalidParams.Add(request.NewErrParamRequired("Key")) 6429 } 6430 if s.Key != nil && len(*s.Key) < 1 { 6431 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 6432 } 6433 6434 if invalidParams.Len() > 0 { 6435 return invalidParams 6436 } 6437 return nil 6438} 6439 6440// SetKey sets the Key field's value. 6441func (s *ResourceTag) SetKey(v string) *ResourceTag { 6442 s.Key = &v 6443 return s 6444} 6445 6446// SetValue sets the Value field's value. 6447func (s *ResourceTag) SetValue(v string) *ResourceTag { 6448 s.Value = &v 6449 return s 6450} 6451 6452// Violation detail based on resource type. 6453type ResourceViolation struct { 6454 _ struct{} `type:"structure"` 6455 6456 // Violation details for an EC2 instance. 6457 AwsEc2InstanceViolation *AwsEc2InstanceViolation `type:"structure"` 6458 6459 // Violation details for network interface. 6460 AwsEc2NetworkInterfaceViolation *AwsEc2NetworkInterfaceViolation `type:"structure"` 6461 6462 // Violation details for security groups. 6463 AwsVPCSecurityGroupViolation *AwsVPCSecurityGroupViolation `type:"structure"` 6464 6465 // Violation detail for an Network Firewall policy that indicates that a subnet 6466 // is not associated with the expected Firewall Manager managed route table. 6467 NetworkFirewallMissingExpectedRTViolation *NetworkFirewallMissingExpectedRTViolation `type:"structure"` 6468 6469 // Violation detail for an Network Firewall policy that indicates that a subnet 6470 // has no Firewall Manager managed firewall in its VPC. 6471 NetworkFirewallMissingFirewallViolation *NetworkFirewallMissingFirewallViolation `type:"structure"` 6472 6473 // Violation detail for an Network Firewall policy that indicates that an Availability 6474 // Zone is missing the expected Firewall Manager managed subnet. 6475 NetworkFirewallMissingSubnetViolation *NetworkFirewallMissingSubnetViolation `type:"structure"` 6476 6477 // Violation detail for an Network Firewall policy that indicates that a firewall 6478 // policy in an individual account has been modified in a way that makes it 6479 // noncompliant. For example, the individual account owner might have deleted 6480 // a rule group, changed the priority of a stateless rule group, or changed 6481 // a policy default action. 6482 NetworkFirewallPolicyModifiedViolation *NetworkFirewallPolicyModifiedViolation `type:"structure"` 6483} 6484 6485// String returns the string representation 6486func (s ResourceViolation) String() string { 6487 return awsutil.Prettify(s) 6488} 6489 6490// GoString returns the string representation 6491func (s ResourceViolation) GoString() string { 6492 return s.String() 6493} 6494 6495// SetAwsEc2InstanceViolation sets the AwsEc2InstanceViolation field's value. 6496func (s *ResourceViolation) SetAwsEc2InstanceViolation(v *AwsEc2InstanceViolation) *ResourceViolation { 6497 s.AwsEc2InstanceViolation = v 6498 return s 6499} 6500 6501// SetAwsEc2NetworkInterfaceViolation sets the AwsEc2NetworkInterfaceViolation field's value. 6502func (s *ResourceViolation) SetAwsEc2NetworkInterfaceViolation(v *AwsEc2NetworkInterfaceViolation) *ResourceViolation { 6503 s.AwsEc2NetworkInterfaceViolation = v 6504 return s 6505} 6506 6507// SetAwsVPCSecurityGroupViolation sets the AwsVPCSecurityGroupViolation field's value. 6508func (s *ResourceViolation) SetAwsVPCSecurityGroupViolation(v *AwsVPCSecurityGroupViolation) *ResourceViolation { 6509 s.AwsVPCSecurityGroupViolation = v 6510 return s 6511} 6512 6513// SetNetworkFirewallMissingExpectedRTViolation sets the NetworkFirewallMissingExpectedRTViolation field's value. 6514func (s *ResourceViolation) SetNetworkFirewallMissingExpectedRTViolation(v *NetworkFirewallMissingExpectedRTViolation) *ResourceViolation { 6515 s.NetworkFirewallMissingExpectedRTViolation = v 6516 return s 6517} 6518 6519// SetNetworkFirewallMissingFirewallViolation sets the NetworkFirewallMissingFirewallViolation field's value. 6520func (s *ResourceViolation) SetNetworkFirewallMissingFirewallViolation(v *NetworkFirewallMissingFirewallViolation) *ResourceViolation { 6521 s.NetworkFirewallMissingFirewallViolation = v 6522 return s 6523} 6524 6525// SetNetworkFirewallMissingSubnetViolation sets the NetworkFirewallMissingSubnetViolation field's value. 6526func (s *ResourceViolation) SetNetworkFirewallMissingSubnetViolation(v *NetworkFirewallMissingSubnetViolation) *ResourceViolation { 6527 s.NetworkFirewallMissingSubnetViolation = v 6528 return s 6529} 6530 6531// SetNetworkFirewallPolicyModifiedViolation sets the NetworkFirewallPolicyModifiedViolation field's value. 6532func (s *ResourceViolation) SetNetworkFirewallPolicyModifiedViolation(v *NetworkFirewallPolicyModifiedViolation) *ResourceViolation { 6533 s.NetworkFirewallPolicyModifiedViolation = v 6534 return s 6535} 6536 6537// Remediation option for the rule specified in the ViolationTarget. 6538type SecurityGroupRemediationAction struct { 6539 _ struct{} `type:"structure"` 6540 6541 // Brief description of the action that will be performed. 6542 Description *string `type:"string"` 6543 6544 // Indicates if the current action is the default action. 6545 IsDefaultAction *bool `type:"boolean"` 6546 6547 // The remediation action that will be performed. 6548 RemediationActionType *string `type:"string" enum:"RemediationActionType"` 6549 6550 // The final state of the rule specified in the ViolationTarget after it is 6551 // remediated. 6552 RemediationResult *SecurityGroupRuleDescription `type:"structure"` 6553} 6554 6555// String returns the string representation 6556func (s SecurityGroupRemediationAction) String() string { 6557 return awsutil.Prettify(s) 6558} 6559 6560// GoString returns the string representation 6561func (s SecurityGroupRemediationAction) GoString() string { 6562 return s.String() 6563} 6564 6565// SetDescription sets the Description field's value. 6566func (s *SecurityGroupRemediationAction) SetDescription(v string) *SecurityGroupRemediationAction { 6567 s.Description = &v 6568 return s 6569} 6570 6571// SetIsDefaultAction sets the IsDefaultAction field's value. 6572func (s *SecurityGroupRemediationAction) SetIsDefaultAction(v bool) *SecurityGroupRemediationAction { 6573 s.IsDefaultAction = &v 6574 return s 6575} 6576 6577// SetRemediationActionType sets the RemediationActionType field's value. 6578func (s *SecurityGroupRemediationAction) SetRemediationActionType(v string) *SecurityGroupRemediationAction { 6579 s.RemediationActionType = &v 6580 return s 6581} 6582 6583// SetRemediationResult sets the RemediationResult field's value. 6584func (s *SecurityGroupRemediationAction) SetRemediationResult(v *SecurityGroupRuleDescription) *SecurityGroupRemediationAction { 6585 s.RemediationResult = v 6586 return s 6587} 6588 6589// Describes a set of permissions for a security group rule. 6590type SecurityGroupRuleDescription struct { 6591 _ struct{} `type:"structure"` 6592 6593 // The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 6594 // type number. A value of -1 indicates all ICMP/ICMPv6 types. 6595 FromPort *int64 `type:"long"` 6596 6597 // The IPv4 ranges for the security group rule. 6598 IPV4Range *string `type:"string"` 6599 6600 // The IPv6 ranges for the security group rule. 6601 IPV6Range *string `type:"string"` 6602 6603 // The ID of the prefix list for the security group rule. 6604 PrefixListId *string `min:"1" type:"string"` 6605 6606 // The IP protocol name (tcp, udp, icmp, icmpv6) or number. 6607 Protocol *string `type:"string"` 6608 6609 // The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 6610 // code. A value of -1 indicates all ICMP/ICMPv6 codes. 6611 ToPort *int64 `type:"long"` 6612} 6613 6614// String returns the string representation 6615func (s SecurityGroupRuleDescription) String() string { 6616 return awsutil.Prettify(s) 6617} 6618 6619// GoString returns the string representation 6620func (s SecurityGroupRuleDescription) GoString() string { 6621 return s.String() 6622} 6623 6624// SetFromPort sets the FromPort field's value. 6625func (s *SecurityGroupRuleDescription) SetFromPort(v int64) *SecurityGroupRuleDescription { 6626 s.FromPort = &v 6627 return s 6628} 6629 6630// SetIPV4Range sets the IPV4Range field's value. 6631func (s *SecurityGroupRuleDescription) SetIPV4Range(v string) *SecurityGroupRuleDescription { 6632 s.IPV4Range = &v 6633 return s 6634} 6635 6636// SetIPV6Range sets the IPV6Range field's value. 6637func (s *SecurityGroupRuleDescription) SetIPV6Range(v string) *SecurityGroupRuleDescription { 6638 s.IPV6Range = &v 6639 return s 6640} 6641 6642// SetPrefixListId sets the PrefixListId field's value. 6643func (s *SecurityGroupRuleDescription) SetPrefixListId(v string) *SecurityGroupRuleDescription { 6644 s.PrefixListId = &v 6645 return s 6646} 6647 6648// SetProtocol sets the Protocol field's value. 6649func (s *SecurityGroupRuleDescription) SetProtocol(v string) *SecurityGroupRuleDescription { 6650 s.Protocol = &v 6651 return s 6652} 6653 6654// SetToPort sets the ToPort field's value. 6655func (s *SecurityGroupRuleDescription) SetToPort(v int64) *SecurityGroupRuleDescription { 6656 s.ToPort = &v 6657 return s 6658} 6659 6660// Details about the security service that is being used to protect the resources. 6661type SecurityServicePolicyData struct { 6662 _ struct{} `type:"structure"` 6663 6664 // Details about the service that are specific to the service type, in JSON 6665 // format. For service type SHIELD_ADVANCED, this is an empty string. 6666 // 6667 // * Example: NETWORK_FIREWALL "{\"type\":\"NETWORK_FIREWALL\",\"networkFirewallStatelessRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-west-1:1234567891011:stateless-rulegroup/rulegroup2\",\"priority\":10}],\"networkFirewallStatelessDefaultActions\":[\"aws:pass\",\"custom1\"],\"networkFirewallStatelessFragmentDefaultActions\":[\"custom2\",\"aws:pass\"],\"networkFirewallStatelessCustomActions\":[{\"actionName\":\"custom1\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"dimension1\"}]}}},{\"actionName\":\"custom2\",\"actionDefinition\":{\"publishMetricAction\":{\"dimensions\":[{\"value\":\"dimension2\"}]}}}],\"networkFirewallStatefulRuleGroupReferences\":[{\"resourceARN\":\"arn:aws:network-firewall:us-west-1:1234567891011:stateful-rulegroup/rulegroup1\"}],\"networkFirewallOrchestrationConfig\":{\"singleFirewallEndpointPerVPC\":true,\"allowedIPV4CidrList\":[\"10.24.34.0/28\"]} 6668 // }" 6669 // 6670 // * Example: WAFV2 "{\"type\":\"WAFV2\",\"preProcessRuleGroups\":[{\"ruleGroupArn\":null,\"overrideAction\":{\"type\":\"NONE\"},\"managedRuleGroupIdentifier\":{\"version\":null,\"vendorName\":\"AWS\",\"managedRuleGroupName\":\"AWSManagedRulesAmazonIpReputationList\"},\"ruleGroupType\":\"ManagedRuleGroup\",\"excludeRules\":[]}],\"postProcessRuleGroups\":[],\"defaultAction\":{\"type\":\"ALLOW\"},\"overrideCustomerWebACLAssociation\":false,\"loggingConfiguration\":{\"logDestinationConfigs\":[\"arn:aws:firehose:us-west-2:12345678912:deliverystream/aws-waf-logs-fms-admin-destination\"],\"redactedFields\":[{\"redactedFieldType\":\"SingleHeader\",\"redactedFieldValue\":\"Cookies\"},{\"redactedFieldType\":\"Method\"}]}}" 6671 // In the loggingConfiguration, you can specify one logDestinationConfigs, 6672 // you can optionally provide up to 20 redactedFields, and the RedactedFieldType 6673 // must be one of URI, QUERY_STRING, HEADER, or METHOD. 6674 // 6675 // * Example: WAF Classic "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\":\"12345678-1bcd-9012-efga-0987654321ab\", 6676 // \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": 6677 // \"BLOCK\"}}" 6678 // 6679 // * Example: SECURITY_GROUPS_COMMON "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":false,\"exclusiveResourceSecurityGroupManagement\":false, 6680 // \"applyToAllEC2InstanceENIs\":false,\"securityGroups\":[{\"id\":\" sg-000e55995d61a06bd\"}]}" 6681 // 6682 // * Example: SECURITY_GROUPS_CONTENT_AUDIT "{\"type\":\"SECURITY_GROUPS_CONTENT_AUDIT\",\"securityGroups\":[{\"id\":\"sg-000e55995d61a06bd\"}],\"securityGroupAction\":{\"type\":\"ALLOW\"}}" 6683 // The security group action for content audit can be ALLOW or DENY. For 6684 // ALLOW, all in-scope security group rules must be within the allowed range 6685 // of the policy's security group rules. For DENY, all in-scope security 6686 // group rules must not contain a value or a range that matches a rule value 6687 // or range in the policy security group. 6688 // 6689 // * Example: SECURITY_GROUPS_USAGE_AUDIT "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":true,\"coalesceRedundantSecurityGroups\":true}" 6690 ManagedServiceData *string `min:"1" type:"string"` 6691 6692 // The service that the policy is using to protect the resources. This specifies 6693 // the type of policy that is created, either an AWS WAF policy, a Shield Advanced 6694 // policy, or a security group policy. For security group policies, Firewall 6695 // Manager supports one security group for each common policy and for each content 6696 // audit policy. This is an adjustable limit that you can increase by contacting 6697 // AWS Support. 6698 // 6699 // Type is a required field 6700 Type *string `type:"string" required:"true" enum:"SecurityServiceType"` 6701} 6702 6703// String returns the string representation 6704func (s SecurityServicePolicyData) String() string { 6705 return awsutil.Prettify(s) 6706} 6707 6708// GoString returns the string representation 6709func (s SecurityServicePolicyData) GoString() string { 6710 return s.String() 6711} 6712 6713// Validate inspects the fields of the type to determine if they are valid. 6714func (s *SecurityServicePolicyData) Validate() error { 6715 invalidParams := request.ErrInvalidParams{Context: "SecurityServicePolicyData"} 6716 if s.ManagedServiceData != nil && len(*s.ManagedServiceData) < 1 { 6717 invalidParams.Add(request.NewErrParamMinLen("ManagedServiceData", 1)) 6718 } 6719 if s.Type == nil { 6720 invalidParams.Add(request.NewErrParamRequired("Type")) 6721 } 6722 6723 if invalidParams.Len() > 0 { 6724 return invalidParams 6725 } 6726 return nil 6727} 6728 6729// SetManagedServiceData sets the ManagedServiceData field's value. 6730func (s *SecurityServicePolicyData) SetManagedServiceData(v string) *SecurityServicePolicyData { 6731 s.ManagedServiceData = &v 6732 return s 6733} 6734 6735// SetType sets the Type field's value. 6736func (s *SecurityServicePolicyData) SetType(v string) *SecurityServicePolicyData { 6737 s.Type = &v 6738 return s 6739} 6740 6741// AWS Network Firewall stateful rule group, used in a NetworkFirewallPolicyDescription. 6742type StatefulRuleGroup struct { 6743 _ struct{} `type:"structure"` 6744 6745 // The resource ID of the rule group. 6746 ResourceId *string `min:"1" type:"string"` 6747 6748 // The name of the rule group. 6749 RuleGroupName *string `min:"1" type:"string"` 6750} 6751 6752// String returns the string representation 6753func (s StatefulRuleGroup) String() string { 6754 return awsutil.Prettify(s) 6755} 6756 6757// GoString returns the string representation 6758func (s StatefulRuleGroup) GoString() string { 6759 return s.String() 6760} 6761 6762// SetResourceId sets the ResourceId field's value. 6763func (s *StatefulRuleGroup) SetResourceId(v string) *StatefulRuleGroup { 6764 s.ResourceId = &v 6765 return s 6766} 6767 6768// SetRuleGroupName sets the RuleGroupName field's value. 6769func (s *StatefulRuleGroup) SetRuleGroupName(v string) *StatefulRuleGroup { 6770 s.RuleGroupName = &v 6771 return s 6772} 6773 6774// AWS Network Firewall stateless rule group, used in a NetworkFirewallPolicyDescription. 6775type StatelessRuleGroup struct { 6776 _ struct{} `type:"structure"` 6777 6778 // The priority of the rule group. AWS Network Firewall evaluates the stateless 6779 // rule groups in a firewall policy starting from the lowest priority setting. 6780 Priority *int64 `min:"1" type:"integer"` 6781 6782 // The resource ID of the rule group. 6783 ResourceId *string `min:"1" type:"string"` 6784 6785 // The name of the rule group. 6786 RuleGroupName *string `min:"1" type:"string"` 6787} 6788 6789// String returns the string representation 6790func (s StatelessRuleGroup) String() string { 6791 return awsutil.Prettify(s) 6792} 6793 6794// GoString returns the string representation 6795func (s StatelessRuleGroup) GoString() string { 6796 return s.String() 6797} 6798 6799// SetPriority sets the Priority field's value. 6800func (s *StatelessRuleGroup) SetPriority(v int64) *StatelessRuleGroup { 6801 s.Priority = &v 6802 return s 6803} 6804 6805// SetResourceId sets the ResourceId field's value. 6806func (s *StatelessRuleGroup) SetResourceId(v string) *StatelessRuleGroup { 6807 s.ResourceId = &v 6808 return s 6809} 6810 6811// SetRuleGroupName sets the RuleGroupName field's value. 6812func (s *StatelessRuleGroup) SetRuleGroupName(v string) *StatelessRuleGroup { 6813 s.RuleGroupName = &v 6814 return s 6815} 6816 6817// A collection of key:value pairs associated with an AWS resource. The key:value 6818// pair can be anything you define. Typically, the tag key represents a category 6819// (such as "environment") and the tag value represents a specific value within 6820// that category (such as "test," "development," or "production"). You can add 6821// up to 50 tags to each AWS resource. 6822type Tag struct { 6823 _ struct{} `type:"structure"` 6824 6825 // Part of the key:value pair that defines a tag. You can use a tag key to describe 6826 // a category of information, such as "customer." Tag keys are case-sensitive. 6827 // 6828 // Key is a required field 6829 Key *string `min:"1" type:"string" required:"true"` 6830 6831 // Part of the key:value pair that defines a tag. You can use a tag value to 6832 // describe a specific value within a category, such as "companyA" or "companyB." 6833 // Tag values are case-sensitive. 6834 // 6835 // Value is a required field 6836 Value *string `type:"string" required:"true"` 6837} 6838 6839// String returns the string representation 6840func (s Tag) String() string { 6841 return awsutil.Prettify(s) 6842} 6843 6844// GoString returns the string representation 6845func (s Tag) GoString() string { 6846 return s.String() 6847} 6848 6849// Validate inspects the fields of the type to determine if they are valid. 6850func (s *Tag) Validate() error { 6851 invalidParams := request.ErrInvalidParams{Context: "Tag"} 6852 if s.Key == nil { 6853 invalidParams.Add(request.NewErrParamRequired("Key")) 6854 } 6855 if s.Key != nil && len(*s.Key) < 1 { 6856 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 6857 } 6858 if s.Value == nil { 6859 invalidParams.Add(request.NewErrParamRequired("Value")) 6860 } 6861 6862 if invalidParams.Len() > 0 { 6863 return invalidParams 6864 } 6865 return nil 6866} 6867 6868// SetKey sets the Key field's value. 6869func (s *Tag) SetKey(v string) *Tag { 6870 s.Key = &v 6871 return s 6872} 6873 6874// SetValue sets the Value field's value. 6875func (s *Tag) SetValue(v string) *Tag { 6876 s.Value = &v 6877 return s 6878} 6879 6880type TagResourceInput struct { 6881 _ struct{} `type:"structure"` 6882 6883 // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS 6884 // Firewall Manager resources that support tagging are policies, applications 6885 // lists, and protocols lists. 6886 // 6887 // ResourceArn is a required field 6888 ResourceArn *string `min:"1" type:"string" required:"true"` 6889 6890 // The tags to add to the resource. 6891 // 6892 // TagList is a required field 6893 TagList []*Tag `type:"list" required:"true"` 6894} 6895 6896// String returns the string representation 6897func (s TagResourceInput) String() string { 6898 return awsutil.Prettify(s) 6899} 6900 6901// GoString returns the string representation 6902func (s TagResourceInput) GoString() string { 6903 return s.String() 6904} 6905 6906// Validate inspects the fields of the type to determine if they are valid. 6907func (s *TagResourceInput) Validate() error { 6908 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 6909 if s.ResourceArn == nil { 6910 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6911 } 6912 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6913 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6914 } 6915 if s.TagList == nil { 6916 invalidParams.Add(request.NewErrParamRequired("TagList")) 6917 } 6918 if s.TagList != nil { 6919 for i, v := range s.TagList { 6920 if v == nil { 6921 continue 6922 } 6923 if err := v.Validate(); err != nil { 6924 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6925 } 6926 } 6927 } 6928 6929 if invalidParams.Len() > 0 { 6930 return invalidParams 6931 } 6932 return nil 6933} 6934 6935// SetResourceArn sets the ResourceArn field's value. 6936func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 6937 s.ResourceArn = &v 6938 return s 6939} 6940 6941// SetTagList sets the TagList field's value. 6942func (s *TagResourceInput) SetTagList(v []*Tag) *TagResourceInput { 6943 s.TagList = v 6944 return s 6945} 6946 6947type TagResourceOutput struct { 6948 _ struct{} `type:"structure"` 6949} 6950 6951// String returns the string representation 6952func (s TagResourceOutput) String() string { 6953 return awsutil.Prettify(s) 6954} 6955 6956// GoString returns the string representation 6957func (s TagResourceOutput) GoString() string { 6958 return s.String() 6959} 6960 6961type UntagResourceInput struct { 6962 _ struct{} `type:"structure"` 6963 6964 // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS 6965 // Firewall Manager resources that support tagging are policies, applications 6966 // lists, and protocols lists. 6967 // 6968 // ResourceArn is a required field 6969 ResourceArn *string `min:"1" type:"string" required:"true"` 6970 6971 // The keys of the tags to remove from the resource. 6972 // 6973 // TagKeys is a required field 6974 TagKeys []*string `type:"list" required:"true"` 6975} 6976 6977// String returns the string representation 6978func (s UntagResourceInput) String() string { 6979 return awsutil.Prettify(s) 6980} 6981 6982// GoString returns the string representation 6983func (s UntagResourceInput) GoString() string { 6984 return s.String() 6985} 6986 6987// Validate inspects the fields of the type to determine if they are valid. 6988func (s *UntagResourceInput) Validate() error { 6989 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 6990 if s.ResourceArn == nil { 6991 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 6992 } 6993 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 6994 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 6995 } 6996 if s.TagKeys == nil { 6997 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 6998 } 6999 7000 if invalidParams.Len() > 0 { 7001 return invalidParams 7002 } 7003 return nil 7004} 7005 7006// SetResourceArn sets the ResourceArn field's value. 7007func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 7008 s.ResourceArn = &v 7009 return s 7010} 7011 7012// SetTagKeys sets the TagKeys field's value. 7013func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 7014 s.TagKeys = v 7015 return s 7016} 7017 7018type UntagResourceOutput struct { 7019 _ struct{} `type:"structure"` 7020} 7021 7022// String returns the string representation 7023func (s UntagResourceOutput) String() string { 7024 return awsutil.Prettify(s) 7025} 7026 7027// GoString returns the string representation 7028func (s UntagResourceOutput) GoString() string { 7029 return s.String() 7030} 7031 7032// Violations for a resource based on the specified AWS Firewall Manager policy 7033// and AWS account. 7034type ViolationDetail struct { 7035 _ struct{} `type:"structure"` 7036 7037 // The AWS account that the violation details were requested for. 7038 // 7039 // MemberAccount is a required field 7040 MemberAccount *string `min:"1" type:"string" required:"true"` 7041 7042 // The ID of the AWS Firewall Manager policy that the violation details were 7043 // requested for. 7044 // 7045 // PolicyId is a required field 7046 PolicyId *string `min:"36" type:"string" required:"true"` 7047 7048 // Brief description for the requested resource. 7049 ResourceDescription *string `type:"string"` 7050 7051 // The resource ID that the violation details were requested for. 7052 // 7053 // ResourceId is a required field 7054 ResourceId *string `min:"1" type:"string" required:"true"` 7055 7056 // The ResourceTag objects associated with the resource. 7057 ResourceTags []*Tag `type:"list"` 7058 7059 // The resource type that the violation details were requested for. 7060 // 7061 // ResourceType is a required field 7062 ResourceType *string `min:"1" type:"string" required:"true"` 7063 7064 // List of violations for the requested resource. 7065 // 7066 // ResourceViolations is a required field 7067 ResourceViolations []*ResourceViolation `type:"list" required:"true"` 7068} 7069 7070// String returns the string representation 7071func (s ViolationDetail) String() string { 7072 return awsutil.Prettify(s) 7073} 7074 7075// GoString returns the string representation 7076func (s ViolationDetail) GoString() string { 7077 return s.String() 7078} 7079 7080// SetMemberAccount sets the MemberAccount field's value. 7081func (s *ViolationDetail) SetMemberAccount(v string) *ViolationDetail { 7082 s.MemberAccount = &v 7083 return s 7084} 7085 7086// SetPolicyId sets the PolicyId field's value. 7087func (s *ViolationDetail) SetPolicyId(v string) *ViolationDetail { 7088 s.PolicyId = &v 7089 return s 7090} 7091 7092// SetResourceDescription sets the ResourceDescription field's value. 7093func (s *ViolationDetail) SetResourceDescription(v string) *ViolationDetail { 7094 s.ResourceDescription = &v 7095 return s 7096} 7097 7098// SetResourceId sets the ResourceId field's value. 7099func (s *ViolationDetail) SetResourceId(v string) *ViolationDetail { 7100 s.ResourceId = &v 7101 return s 7102} 7103 7104// SetResourceTags sets the ResourceTags field's value. 7105func (s *ViolationDetail) SetResourceTags(v []*Tag) *ViolationDetail { 7106 s.ResourceTags = v 7107 return s 7108} 7109 7110// SetResourceType sets the ResourceType field's value. 7111func (s *ViolationDetail) SetResourceType(v string) *ViolationDetail { 7112 s.ResourceType = &v 7113 return s 7114} 7115 7116// SetResourceViolations sets the ResourceViolations field's value. 7117func (s *ViolationDetail) SetResourceViolations(v []*ResourceViolation) *ViolationDetail { 7118 s.ResourceViolations = v 7119 return s 7120} 7121 7122const ( 7123 // AccountRoleStatusReady is a AccountRoleStatus enum value 7124 AccountRoleStatusReady = "READY" 7125 7126 // AccountRoleStatusCreating is a AccountRoleStatus enum value 7127 AccountRoleStatusCreating = "CREATING" 7128 7129 // AccountRoleStatusPendingDeletion is a AccountRoleStatus enum value 7130 AccountRoleStatusPendingDeletion = "PENDING_DELETION" 7131 7132 // AccountRoleStatusDeleting is a AccountRoleStatus enum value 7133 AccountRoleStatusDeleting = "DELETING" 7134 7135 // AccountRoleStatusDeleted is a AccountRoleStatus enum value 7136 AccountRoleStatusDeleted = "DELETED" 7137) 7138 7139// AccountRoleStatus_Values returns all elements of the AccountRoleStatus enum 7140func AccountRoleStatus_Values() []string { 7141 return []string{ 7142 AccountRoleStatusReady, 7143 AccountRoleStatusCreating, 7144 AccountRoleStatusPendingDeletion, 7145 AccountRoleStatusDeleting, 7146 AccountRoleStatusDeleted, 7147 } 7148} 7149 7150const ( 7151 // CustomerPolicyScopeIdTypeAccount is a CustomerPolicyScopeIdType enum value 7152 CustomerPolicyScopeIdTypeAccount = "ACCOUNT" 7153 7154 // CustomerPolicyScopeIdTypeOrgUnit is a CustomerPolicyScopeIdType enum value 7155 CustomerPolicyScopeIdTypeOrgUnit = "ORG_UNIT" 7156) 7157 7158// CustomerPolicyScopeIdType_Values returns all elements of the CustomerPolicyScopeIdType enum 7159func CustomerPolicyScopeIdType_Values() []string { 7160 return []string{ 7161 CustomerPolicyScopeIdTypeAccount, 7162 CustomerPolicyScopeIdTypeOrgUnit, 7163 } 7164} 7165 7166const ( 7167 // DependentServiceNameAwsconfig is a DependentServiceName enum value 7168 DependentServiceNameAwsconfig = "AWSCONFIG" 7169 7170 // DependentServiceNameAwswaf is a DependentServiceName enum value 7171 DependentServiceNameAwswaf = "AWSWAF" 7172 7173 // DependentServiceNameAwsshieldAdvanced is a DependentServiceName enum value 7174 DependentServiceNameAwsshieldAdvanced = "AWSSHIELD_ADVANCED" 7175 7176 // DependentServiceNameAwsvpc is a DependentServiceName enum value 7177 DependentServiceNameAwsvpc = "AWSVPC" 7178) 7179 7180// DependentServiceName_Values returns all elements of the DependentServiceName enum 7181func DependentServiceName_Values() []string { 7182 return []string{ 7183 DependentServiceNameAwsconfig, 7184 DependentServiceNameAwswaf, 7185 DependentServiceNameAwsshieldAdvanced, 7186 DependentServiceNameAwsvpc, 7187 } 7188} 7189 7190const ( 7191 // PolicyComplianceStatusTypeCompliant is a PolicyComplianceStatusType enum value 7192 PolicyComplianceStatusTypeCompliant = "COMPLIANT" 7193 7194 // PolicyComplianceStatusTypeNonCompliant is a PolicyComplianceStatusType enum value 7195 PolicyComplianceStatusTypeNonCompliant = "NON_COMPLIANT" 7196) 7197 7198// PolicyComplianceStatusType_Values returns all elements of the PolicyComplianceStatusType enum 7199func PolicyComplianceStatusType_Values() []string { 7200 return []string{ 7201 PolicyComplianceStatusTypeCompliant, 7202 PolicyComplianceStatusTypeNonCompliant, 7203 } 7204} 7205 7206const ( 7207 // RemediationActionTypeRemove is a RemediationActionType enum value 7208 RemediationActionTypeRemove = "REMOVE" 7209 7210 // RemediationActionTypeModify is a RemediationActionType enum value 7211 RemediationActionTypeModify = "MODIFY" 7212) 7213 7214// RemediationActionType_Values returns all elements of the RemediationActionType enum 7215func RemediationActionType_Values() []string { 7216 return []string{ 7217 RemediationActionTypeRemove, 7218 RemediationActionTypeModify, 7219 } 7220} 7221 7222const ( 7223 // SecurityServiceTypeWaf is a SecurityServiceType enum value 7224 SecurityServiceTypeWaf = "WAF" 7225 7226 // SecurityServiceTypeWafv2 is a SecurityServiceType enum value 7227 SecurityServiceTypeWafv2 = "WAFV2" 7228 7229 // SecurityServiceTypeShieldAdvanced is a SecurityServiceType enum value 7230 SecurityServiceTypeShieldAdvanced = "SHIELD_ADVANCED" 7231 7232 // SecurityServiceTypeSecurityGroupsCommon is a SecurityServiceType enum value 7233 SecurityServiceTypeSecurityGroupsCommon = "SECURITY_GROUPS_COMMON" 7234 7235 // SecurityServiceTypeSecurityGroupsContentAudit is a SecurityServiceType enum value 7236 SecurityServiceTypeSecurityGroupsContentAudit = "SECURITY_GROUPS_CONTENT_AUDIT" 7237 7238 // SecurityServiceTypeSecurityGroupsUsageAudit is a SecurityServiceType enum value 7239 SecurityServiceTypeSecurityGroupsUsageAudit = "SECURITY_GROUPS_USAGE_AUDIT" 7240 7241 // SecurityServiceTypeNetworkFirewall is a SecurityServiceType enum value 7242 SecurityServiceTypeNetworkFirewall = "NETWORK_FIREWALL" 7243) 7244 7245// SecurityServiceType_Values returns all elements of the SecurityServiceType enum 7246func SecurityServiceType_Values() []string { 7247 return []string{ 7248 SecurityServiceTypeWaf, 7249 SecurityServiceTypeWafv2, 7250 SecurityServiceTypeShieldAdvanced, 7251 SecurityServiceTypeSecurityGroupsCommon, 7252 SecurityServiceTypeSecurityGroupsContentAudit, 7253 SecurityServiceTypeSecurityGroupsUsageAudit, 7254 SecurityServiceTypeNetworkFirewall, 7255 } 7256} 7257 7258const ( 7259 // ViolationReasonWebAclMissingRuleGroup is a ViolationReason enum value 7260 ViolationReasonWebAclMissingRuleGroup = "WEB_ACL_MISSING_RULE_GROUP" 7261 7262 // ViolationReasonResourceMissingWebAcl is a ViolationReason enum value 7263 ViolationReasonResourceMissingWebAcl = "RESOURCE_MISSING_WEB_ACL" 7264 7265 // ViolationReasonResourceIncorrectWebAcl is a ViolationReason enum value 7266 ViolationReasonResourceIncorrectWebAcl = "RESOURCE_INCORRECT_WEB_ACL" 7267 7268 // ViolationReasonResourceMissingShieldProtection is a ViolationReason enum value 7269 ViolationReasonResourceMissingShieldProtection = "RESOURCE_MISSING_SHIELD_PROTECTION" 7270 7271 // ViolationReasonResourceMissingWebAclOrShieldProtection is a ViolationReason enum value 7272 ViolationReasonResourceMissingWebAclOrShieldProtection = "RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION" 7273 7274 // ViolationReasonResourceMissingSecurityGroup is a ViolationReason enum value 7275 ViolationReasonResourceMissingSecurityGroup = "RESOURCE_MISSING_SECURITY_GROUP" 7276 7277 // ViolationReasonResourceViolatesAuditSecurityGroup is a ViolationReason enum value 7278 ViolationReasonResourceViolatesAuditSecurityGroup = "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP" 7279 7280 // ViolationReasonSecurityGroupUnused is a ViolationReason enum value 7281 ViolationReasonSecurityGroupUnused = "SECURITY_GROUP_UNUSED" 7282 7283 // ViolationReasonSecurityGroupRedundant is a ViolationReason enum value 7284 ViolationReasonSecurityGroupRedundant = "SECURITY_GROUP_REDUNDANT" 7285 7286 // ViolationReasonMissingFirewall is a ViolationReason enum value 7287 ViolationReasonMissingFirewall = "MISSING_FIREWALL" 7288 7289 // ViolationReasonMissingFirewallSubnetInAz is a ViolationReason enum value 7290 ViolationReasonMissingFirewallSubnetInAz = "MISSING_FIREWALL_SUBNET_IN_AZ" 7291 7292 // ViolationReasonMissingExpectedRouteTable is a ViolationReason enum value 7293 ViolationReasonMissingExpectedRouteTable = "MISSING_EXPECTED_ROUTE_TABLE" 7294 7295 // ViolationReasonNetworkFirewallPolicyModified is a ViolationReason enum value 7296 ViolationReasonNetworkFirewallPolicyModified = "NETWORK_FIREWALL_POLICY_MODIFIED" 7297) 7298 7299// ViolationReason_Values returns all elements of the ViolationReason enum 7300func ViolationReason_Values() []string { 7301 return []string{ 7302 ViolationReasonWebAclMissingRuleGroup, 7303 ViolationReasonResourceMissingWebAcl, 7304 ViolationReasonResourceIncorrectWebAcl, 7305 ViolationReasonResourceMissingShieldProtection, 7306 ViolationReasonResourceMissingWebAclOrShieldProtection, 7307 ViolationReasonResourceMissingSecurityGroup, 7308 ViolationReasonResourceViolatesAuditSecurityGroup, 7309 ViolationReasonSecurityGroupUnused, 7310 ViolationReasonSecurityGroupRedundant, 7311 ViolationReasonMissingFirewall, 7312 ViolationReasonMissingFirewallSubnetInAz, 7313 ViolationReasonMissingExpectedRouteTable, 7314 ViolationReasonNetworkFirewallPolicyModified, 7315 } 7316} 7317