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// A DNS Firewall rule group that Firewall Manager tried to associate with a 3404// VPC is already associated with the VPC and can't be associated again. 3405type DnsDuplicateRuleGroupViolation struct { 3406 _ struct{} `type:"structure"` 3407 3408 // The ID of the VPC. 3409 ViolationTarget *string `type:"string"` 3410 3411 // A description of the violation that specifies the rule group and VPC. 3412 ViolationTargetDescription *string `type:"string"` 3413} 3414 3415// String returns the string representation 3416func (s DnsDuplicateRuleGroupViolation) String() string { 3417 return awsutil.Prettify(s) 3418} 3419 3420// GoString returns the string representation 3421func (s DnsDuplicateRuleGroupViolation) GoString() string { 3422 return s.String() 3423} 3424 3425// SetViolationTarget sets the ViolationTarget field's value. 3426func (s *DnsDuplicateRuleGroupViolation) SetViolationTarget(v string) *DnsDuplicateRuleGroupViolation { 3427 s.ViolationTarget = &v 3428 return s 3429} 3430 3431// SetViolationTargetDescription sets the ViolationTargetDescription field's value. 3432func (s *DnsDuplicateRuleGroupViolation) SetViolationTargetDescription(v string) *DnsDuplicateRuleGroupViolation { 3433 s.ViolationTargetDescription = &v 3434 return s 3435} 3436 3437// The VPC that Firewall Manager was applying a DNS Fireall policy to reached 3438// the limit for associated DNS Firewall rule groups. Firewall Manager tried 3439// to associate another rule group with the VPC and failed due to the limit. 3440type DnsRuleGroupLimitExceededViolation struct { 3441 _ struct{} `type:"structure"` 3442 3443 // The number of rule groups currently associated with the VPC. 3444 NumberOfRuleGroupsAlreadyAssociated *int64 `type:"integer"` 3445 3446 // The ID of the VPC. 3447 ViolationTarget *string `type:"string"` 3448 3449 // A description of the violation that specifies the rule group and VPC. 3450 ViolationTargetDescription *string `type:"string"` 3451} 3452 3453// String returns the string representation 3454func (s DnsRuleGroupLimitExceededViolation) String() string { 3455 return awsutil.Prettify(s) 3456} 3457 3458// GoString returns the string representation 3459func (s DnsRuleGroupLimitExceededViolation) GoString() string { 3460 return s.String() 3461} 3462 3463// SetNumberOfRuleGroupsAlreadyAssociated sets the NumberOfRuleGroupsAlreadyAssociated field's value. 3464func (s *DnsRuleGroupLimitExceededViolation) SetNumberOfRuleGroupsAlreadyAssociated(v int64) *DnsRuleGroupLimitExceededViolation { 3465 s.NumberOfRuleGroupsAlreadyAssociated = &v 3466 return s 3467} 3468 3469// SetViolationTarget sets the ViolationTarget field's value. 3470func (s *DnsRuleGroupLimitExceededViolation) SetViolationTarget(v string) *DnsRuleGroupLimitExceededViolation { 3471 s.ViolationTarget = &v 3472 return s 3473} 3474 3475// SetViolationTargetDescription sets the ViolationTargetDescription field's value. 3476func (s *DnsRuleGroupLimitExceededViolation) SetViolationTargetDescription(v string) *DnsRuleGroupLimitExceededViolation { 3477 s.ViolationTargetDescription = &v 3478 return s 3479} 3480 3481// A rule group that Firewall Manager tried to associate with a VPC has the 3482// same priority as a rule group that's already associated. 3483type DnsRuleGroupPriorityConflictViolation struct { 3484 _ struct{} `type:"structure"` 3485 3486 // The ID of the Firewall Manager DNS Firewall policy that was already applied 3487 // to the VPC. This policy contains the rule group that's already associated 3488 // with the VPC. 3489 ConflictingPolicyId *string `min:"36" type:"string"` 3490 3491 // The priority setting of the two conflicting rule groups. 3492 ConflictingPriority *int64 `type:"integer"` 3493 3494 // The priorities of rule groups that are already associated with the VPC. To 3495 // retry your operation, choose priority settings that aren't in this list for 3496 // the rule groups in your new DNS Firewall policy. 3497 UnavailablePriorities []*int64 `type:"list"` 3498 3499 // The ID of the VPC. 3500 ViolationTarget *string `type:"string"` 3501 3502 // A description of the violation that specifies the VPC and the rule group 3503 // that's already associated with it. 3504 ViolationTargetDescription *string `type:"string"` 3505} 3506 3507// String returns the string representation 3508func (s DnsRuleGroupPriorityConflictViolation) String() string { 3509 return awsutil.Prettify(s) 3510} 3511 3512// GoString returns the string representation 3513func (s DnsRuleGroupPriorityConflictViolation) GoString() string { 3514 return s.String() 3515} 3516 3517// SetConflictingPolicyId sets the ConflictingPolicyId field's value. 3518func (s *DnsRuleGroupPriorityConflictViolation) SetConflictingPolicyId(v string) *DnsRuleGroupPriorityConflictViolation { 3519 s.ConflictingPolicyId = &v 3520 return s 3521} 3522 3523// SetConflictingPriority sets the ConflictingPriority field's value. 3524func (s *DnsRuleGroupPriorityConflictViolation) SetConflictingPriority(v int64) *DnsRuleGroupPriorityConflictViolation { 3525 s.ConflictingPriority = &v 3526 return s 3527} 3528 3529// SetUnavailablePriorities sets the UnavailablePriorities field's value. 3530func (s *DnsRuleGroupPriorityConflictViolation) SetUnavailablePriorities(v []*int64) *DnsRuleGroupPriorityConflictViolation { 3531 s.UnavailablePriorities = v 3532 return s 3533} 3534 3535// SetViolationTarget sets the ViolationTarget field's value. 3536func (s *DnsRuleGroupPriorityConflictViolation) SetViolationTarget(v string) *DnsRuleGroupPriorityConflictViolation { 3537 s.ViolationTarget = &v 3538 return s 3539} 3540 3541// SetViolationTargetDescription sets the ViolationTargetDescription field's value. 3542func (s *DnsRuleGroupPriorityConflictViolation) SetViolationTargetDescription(v string) *DnsRuleGroupPriorityConflictViolation { 3543 s.ViolationTargetDescription = &v 3544 return s 3545} 3546 3547// Describes the compliance status for the account. An account is considered 3548// noncompliant if it includes resources that are not protected by the specified 3549// policy or that don't comply with the policy. 3550type EvaluationResult struct { 3551 _ struct{} `type:"structure"` 3552 3553 // Describes an AWS account's compliance with the AWS Firewall Manager policy. 3554 ComplianceStatus *string `type:"string" enum:"PolicyComplianceStatusType"` 3555 3556 // Indicates that over 100 resources are noncompliant with the AWS Firewall 3557 // Manager policy. 3558 EvaluationLimitExceeded *bool `type:"boolean"` 3559 3560 // The number of resources that are noncompliant with the specified policy. 3561 // For AWS WAF and Shield Advanced policies, a resource is considered noncompliant 3562 // if it is not associated with the policy. For security group policies, a resource 3563 // is considered noncompliant if it doesn't comply with the rules of the policy 3564 // and remediation is disabled or not possible. 3565 ViolatorCount *int64 `type:"long"` 3566} 3567 3568// String returns the string representation 3569func (s EvaluationResult) String() string { 3570 return awsutil.Prettify(s) 3571} 3572 3573// GoString returns the string representation 3574func (s EvaluationResult) GoString() string { 3575 return s.String() 3576} 3577 3578// SetComplianceStatus sets the ComplianceStatus field's value. 3579func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult { 3580 s.ComplianceStatus = &v 3581 return s 3582} 3583 3584// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. 3585func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult { 3586 s.EvaluationLimitExceeded = &v 3587 return s 3588} 3589 3590// SetViolatorCount sets the ViolatorCount field's value. 3591func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult { 3592 s.ViolatorCount = &v 3593 return s 3594} 3595 3596type GetAdminAccountInput struct { 3597 _ struct{} `type:"structure"` 3598} 3599 3600// String returns the string representation 3601func (s GetAdminAccountInput) String() string { 3602 return awsutil.Prettify(s) 3603} 3604 3605// GoString returns the string representation 3606func (s GetAdminAccountInput) GoString() string { 3607 return s.String() 3608} 3609 3610type GetAdminAccountOutput struct { 3611 _ struct{} `type:"structure"` 3612 3613 // The AWS account that is set as the AWS Firewall Manager administrator. 3614 AdminAccount *string `min:"1" type:"string"` 3615 3616 // The status of the AWS account that you set as the AWS Firewall Manager administrator. 3617 RoleStatus *string `type:"string" enum:"AccountRoleStatus"` 3618} 3619 3620// String returns the string representation 3621func (s GetAdminAccountOutput) String() string { 3622 return awsutil.Prettify(s) 3623} 3624 3625// GoString returns the string representation 3626func (s GetAdminAccountOutput) GoString() string { 3627 return s.String() 3628} 3629 3630// SetAdminAccount sets the AdminAccount field's value. 3631func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput { 3632 s.AdminAccount = &v 3633 return s 3634} 3635 3636// SetRoleStatus sets the RoleStatus field's value. 3637func (s *GetAdminAccountOutput) SetRoleStatus(v string) *GetAdminAccountOutput { 3638 s.RoleStatus = &v 3639 return s 3640} 3641 3642type GetAppsListInput struct { 3643 _ struct{} `type:"structure"` 3644 3645 // Specifies whether the list to retrieve is a default list owned by AWS Firewall 3646 // Manager. 3647 DefaultList *bool `type:"boolean"` 3648 3649 // The ID of the AWS Firewall Manager applications list that you want the details 3650 // for. 3651 // 3652 // ListId is a required field 3653 ListId *string `min:"36" type:"string" required:"true"` 3654} 3655 3656// String returns the string representation 3657func (s GetAppsListInput) String() string { 3658 return awsutil.Prettify(s) 3659} 3660 3661// GoString returns the string representation 3662func (s GetAppsListInput) GoString() string { 3663 return s.String() 3664} 3665 3666// Validate inspects the fields of the type to determine if they are valid. 3667func (s *GetAppsListInput) Validate() error { 3668 invalidParams := request.ErrInvalidParams{Context: "GetAppsListInput"} 3669 if s.ListId == nil { 3670 invalidParams.Add(request.NewErrParamRequired("ListId")) 3671 } 3672 if s.ListId != nil && len(*s.ListId) < 36 { 3673 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 3674 } 3675 3676 if invalidParams.Len() > 0 { 3677 return invalidParams 3678 } 3679 return nil 3680} 3681 3682// SetDefaultList sets the DefaultList field's value. 3683func (s *GetAppsListInput) SetDefaultList(v bool) *GetAppsListInput { 3684 s.DefaultList = &v 3685 return s 3686} 3687 3688// SetListId sets the ListId field's value. 3689func (s *GetAppsListInput) SetListId(v string) *GetAppsListInput { 3690 s.ListId = &v 3691 return s 3692} 3693 3694type GetAppsListOutput struct { 3695 _ struct{} `type:"structure"` 3696 3697 // Information about the specified AWS Firewall Manager applications list. 3698 AppsList *AppsListData `type:"structure"` 3699 3700 // The Amazon Resource Name (ARN) of the applications list. 3701 AppsListArn *string `min:"1" type:"string"` 3702} 3703 3704// String returns the string representation 3705func (s GetAppsListOutput) String() string { 3706 return awsutil.Prettify(s) 3707} 3708 3709// GoString returns the string representation 3710func (s GetAppsListOutput) GoString() string { 3711 return s.String() 3712} 3713 3714// SetAppsList sets the AppsList field's value. 3715func (s *GetAppsListOutput) SetAppsList(v *AppsListData) *GetAppsListOutput { 3716 s.AppsList = v 3717 return s 3718} 3719 3720// SetAppsListArn sets the AppsListArn field's value. 3721func (s *GetAppsListOutput) SetAppsListArn(v string) *GetAppsListOutput { 3722 s.AppsListArn = &v 3723 return s 3724} 3725 3726type GetComplianceDetailInput struct { 3727 _ struct{} `type:"structure"` 3728 3729 // The AWS account that owns the resources that you want to get the details 3730 // for. 3731 // 3732 // MemberAccount is a required field 3733 MemberAccount *string `min:"1" type:"string" required:"true"` 3734 3735 // The ID of the policy that you want to get the details for. PolicyId is returned 3736 // by PutPolicy and by ListPolicies. 3737 // 3738 // PolicyId is a required field 3739 PolicyId *string `min:"36" type:"string" required:"true"` 3740} 3741 3742// String returns the string representation 3743func (s GetComplianceDetailInput) String() string { 3744 return awsutil.Prettify(s) 3745} 3746 3747// GoString returns the string representation 3748func (s GetComplianceDetailInput) GoString() string { 3749 return s.String() 3750} 3751 3752// Validate inspects the fields of the type to determine if they are valid. 3753func (s *GetComplianceDetailInput) Validate() error { 3754 invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailInput"} 3755 if s.MemberAccount == nil { 3756 invalidParams.Add(request.NewErrParamRequired("MemberAccount")) 3757 } 3758 if s.MemberAccount != nil && len(*s.MemberAccount) < 1 { 3759 invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1)) 3760 } 3761 if s.PolicyId == nil { 3762 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3763 } 3764 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3765 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3766 } 3767 3768 if invalidParams.Len() > 0 { 3769 return invalidParams 3770 } 3771 return nil 3772} 3773 3774// SetMemberAccount sets the MemberAccount field's value. 3775func (s *GetComplianceDetailInput) SetMemberAccount(v string) *GetComplianceDetailInput { 3776 s.MemberAccount = &v 3777 return s 3778} 3779 3780// SetPolicyId sets the PolicyId field's value. 3781func (s *GetComplianceDetailInput) SetPolicyId(v string) *GetComplianceDetailInput { 3782 s.PolicyId = &v 3783 return s 3784} 3785 3786type GetComplianceDetailOutput struct { 3787 _ struct{} `type:"structure"` 3788 3789 // Information about the resources and the policy that you specified in the 3790 // GetComplianceDetail request. 3791 PolicyComplianceDetail *PolicyComplianceDetail `type:"structure"` 3792} 3793 3794// String returns the string representation 3795func (s GetComplianceDetailOutput) String() string { 3796 return awsutil.Prettify(s) 3797} 3798 3799// GoString returns the string representation 3800func (s GetComplianceDetailOutput) GoString() string { 3801 return s.String() 3802} 3803 3804// SetPolicyComplianceDetail sets the PolicyComplianceDetail field's value. 3805func (s *GetComplianceDetailOutput) SetPolicyComplianceDetail(v *PolicyComplianceDetail) *GetComplianceDetailOutput { 3806 s.PolicyComplianceDetail = v 3807 return s 3808} 3809 3810type GetNotificationChannelInput struct { 3811 _ struct{} `type:"structure"` 3812} 3813 3814// String returns the string representation 3815func (s GetNotificationChannelInput) String() string { 3816 return awsutil.Prettify(s) 3817} 3818 3819// GoString returns the string representation 3820func (s GetNotificationChannelInput) GoString() string { 3821 return s.String() 3822} 3823 3824type GetNotificationChannelOutput struct { 3825 _ struct{} `type:"structure"` 3826 3827 // The IAM role that is used by AWS Firewall Manager to record activity to SNS. 3828 SnsRoleName *string `min:"1" type:"string"` 3829 3830 // The SNS topic that records AWS Firewall Manager activity. 3831 SnsTopicArn *string `min:"1" type:"string"` 3832} 3833 3834// String returns the string representation 3835func (s GetNotificationChannelOutput) String() string { 3836 return awsutil.Prettify(s) 3837} 3838 3839// GoString returns the string representation 3840func (s GetNotificationChannelOutput) GoString() string { 3841 return s.String() 3842} 3843 3844// SetSnsRoleName sets the SnsRoleName field's value. 3845func (s *GetNotificationChannelOutput) SetSnsRoleName(v string) *GetNotificationChannelOutput { 3846 s.SnsRoleName = &v 3847 return s 3848} 3849 3850// SetSnsTopicArn sets the SnsTopicArn field's value. 3851func (s *GetNotificationChannelOutput) SetSnsTopicArn(v string) *GetNotificationChannelOutput { 3852 s.SnsTopicArn = &v 3853 return s 3854} 3855 3856type GetPolicyInput struct { 3857 _ struct{} `type:"structure"` 3858 3859 // The ID of the AWS Firewall Manager policy that you want the details for. 3860 // 3861 // PolicyId is a required field 3862 PolicyId *string `min:"36" type:"string" required:"true"` 3863} 3864 3865// String returns the string representation 3866func (s GetPolicyInput) String() string { 3867 return awsutil.Prettify(s) 3868} 3869 3870// GoString returns the string representation 3871func (s GetPolicyInput) GoString() string { 3872 return s.String() 3873} 3874 3875// Validate inspects the fields of the type to determine if they are valid. 3876func (s *GetPolicyInput) Validate() error { 3877 invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"} 3878 if s.PolicyId == nil { 3879 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3880 } 3881 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3882 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3883 } 3884 3885 if invalidParams.Len() > 0 { 3886 return invalidParams 3887 } 3888 return nil 3889} 3890 3891// SetPolicyId sets the PolicyId field's value. 3892func (s *GetPolicyInput) SetPolicyId(v string) *GetPolicyInput { 3893 s.PolicyId = &v 3894 return s 3895} 3896 3897type GetPolicyOutput struct { 3898 _ struct{} `type:"structure"` 3899 3900 // Information about the specified AWS Firewall Manager policy. 3901 Policy *Policy `type:"structure"` 3902 3903 // The Amazon Resource Name (ARN) of the specified policy. 3904 PolicyArn *string `min:"1" type:"string"` 3905} 3906 3907// String returns the string representation 3908func (s GetPolicyOutput) String() string { 3909 return awsutil.Prettify(s) 3910} 3911 3912// GoString returns the string representation 3913func (s GetPolicyOutput) GoString() string { 3914 return s.String() 3915} 3916 3917// SetPolicy sets the Policy field's value. 3918func (s *GetPolicyOutput) SetPolicy(v *Policy) *GetPolicyOutput { 3919 s.Policy = v 3920 return s 3921} 3922 3923// SetPolicyArn sets the PolicyArn field's value. 3924func (s *GetPolicyOutput) SetPolicyArn(v string) *GetPolicyOutput { 3925 s.PolicyArn = &v 3926 return s 3927} 3928 3929type GetProtectionStatusInput struct { 3930 _ struct{} `type:"structure"` 3931 3932 // The end of the time period to query for the attacks. This is a timestamp 3933 // type. The request syntax listing indicates a number type because the default 3934 // used by AWS Firewall Manager is Unix time in seconds. However, any valid 3935 // timestamp format is allowed. 3936 EndTime *time.Time `type:"timestamp"` 3937 3938 // Specifies the number of objects that you want AWS Firewall Manager to return 3939 // for this request. If you have more objects than the number that you specify 3940 // for MaxResults, the response includes a NextToken value that you can use 3941 // to get another batch of objects. 3942 MaxResults *int64 `min:"1" type:"integer"` 3943 3944 // The AWS account that is in scope of the policy that you want to get the details 3945 // for. 3946 MemberAccountId *string `min:"1" type:"string"` 3947 3948 // If you specify a value for MaxResults and you have more objects than the 3949 // number that you specify for MaxResults, AWS Firewall Manager returns a NextToken 3950 // value in the response, which you can use to retrieve another group of objects. 3951 // For the second and subsequent GetProtectionStatus requests, specify the value 3952 // of NextToken from the previous response to get information about another 3953 // batch of objects. 3954 NextToken *string `min:"1" type:"string"` 3955 3956 // The ID of the policy for which you want to get the attack information. 3957 // 3958 // PolicyId is a required field 3959 PolicyId *string `min:"36" type:"string" required:"true"` 3960 3961 // The start of the time period to query for the attacks. This is a timestamp 3962 // type. The request syntax listing indicates a number type because the default 3963 // used by AWS Firewall Manager is Unix time in seconds. However, any valid 3964 // timestamp format is allowed. 3965 StartTime *time.Time `type:"timestamp"` 3966} 3967 3968// String returns the string representation 3969func (s GetProtectionStatusInput) String() string { 3970 return awsutil.Prettify(s) 3971} 3972 3973// GoString returns the string representation 3974func (s GetProtectionStatusInput) GoString() string { 3975 return s.String() 3976} 3977 3978// Validate inspects the fields of the type to determine if they are valid. 3979func (s *GetProtectionStatusInput) Validate() error { 3980 invalidParams := request.ErrInvalidParams{Context: "GetProtectionStatusInput"} 3981 if s.MaxResults != nil && *s.MaxResults < 1 { 3982 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 3983 } 3984 if s.MemberAccountId != nil && len(*s.MemberAccountId) < 1 { 3985 invalidParams.Add(request.NewErrParamMinLen("MemberAccountId", 1)) 3986 } 3987 if s.NextToken != nil && len(*s.NextToken) < 1 { 3988 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 3989 } 3990 if s.PolicyId == nil { 3991 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 3992 } 3993 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 3994 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 3995 } 3996 3997 if invalidParams.Len() > 0 { 3998 return invalidParams 3999 } 4000 return nil 4001} 4002 4003// SetEndTime sets the EndTime field's value. 4004func (s *GetProtectionStatusInput) SetEndTime(v time.Time) *GetProtectionStatusInput { 4005 s.EndTime = &v 4006 return s 4007} 4008 4009// SetMaxResults sets the MaxResults field's value. 4010func (s *GetProtectionStatusInput) SetMaxResults(v int64) *GetProtectionStatusInput { 4011 s.MaxResults = &v 4012 return s 4013} 4014 4015// SetMemberAccountId sets the MemberAccountId field's value. 4016func (s *GetProtectionStatusInput) SetMemberAccountId(v string) *GetProtectionStatusInput { 4017 s.MemberAccountId = &v 4018 return s 4019} 4020 4021// SetNextToken sets the NextToken field's value. 4022func (s *GetProtectionStatusInput) SetNextToken(v string) *GetProtectionStatusInput { 4023 s.NextToken = &v 4024 return s 4025} 4026 4027// SetPolicyId sets the PolicyId field's value. 4028func (s *GetProtectionStatusInput) SetPolicyId(v string) *GetProtectionStatusInput { 4029 s.PolicyId = &v 4030 return s 4031} 4032 4033// SetStartTime sets the StartTime field's value. 4034func (s *GetProtectionStatusInput) SetStartTime(v time.Time) *GetProtectionStatusInput { 4035 s.StartTime = &v 4036 return s 4037} 4038 4039type GetProtectionStatusOutput struct { 4040 _ struct{} `type:"structure"` 4041 4042 // The ID of the AWS Firewall administrator account for this policy. 4043 AdminAccountId *string `min:"1" type:"string"` 4044 4045 // Details about the attack, including the following: 4046 // 4047 // * Attack type 4048 // 4049 // * Account ID 4050 // 4051 // * ARN of the resource attacked 4052 // 4053 // * Start time of the attack 4054 // 4055 // * End time of the attack (ongoing attacks will not have an end time) 4056 // 4057 // The details are in JSON format. 4058 Data *string `type:"string"` 4059 4060 // If you have more objects than the number that you specified for MaxResults 4061 // in the request, the response includes a NextToken value. To list more objects, 4062 // submit another GetProtectionStatus request, and specify the NextToken value 4063 // from the response in the NextToken value in the next request. 4064 // 4065 // AWS SDKs provide auto-pagination that identify NextToken in a response and 4066 // make subsequent request calls automatically on your behalf. However, this 4067 // feature is not supported by GetProtectionStatus. You must submit subsequent 4068 // requests with NextToken using your own processes. 4069 NextToken *string `min:"1" type:"string"` 4070 4071 // The service type that is protected by the policy. Currently, this is always 4072 // SHIELD_ADVANCED. 4073 ServiceType *string `type:"string" enum:"SecurityServiceType"` 4074} 4075 4076// String returns the string representation 4077func (s GetProtectionStatusOutput) String() string { 4078 return awsutil.Prettify(s) 4079} 4080 4081// GoString returns the string representation 4082func (s GetProtectionStatusOutput) GoString() string { 4083 return s.String() 4084} 4085 4086// SetAdminAccountId sets the AdminAccountId field's value. 4087func (s *GetProtectionStatusOutput) SetAdminAccountId(v string) *GetProtectionStatusOutput { 4088 s.AdminAccountId = &v 4089 return s 4090} 4091 4092// SetData sets the Data field's value. 4093func (s *GetProtectionStatusOutput) SetData(v string) *GetProtectionStatusOutput { 4094 s.Data = &v 4095 return s 4096} 4097 4098// SetNextToken sets the NextToken field's value. 4099func (s *GetProtectionStatusOutput) SetNextToken(v string) *GetProtectionStatusOutput { 4100 s.NextToken = &v 4101 return s 4102} 4103 4104// SetServiceType sets the ServiceType field's value. 4105func (s *GetProtectionStatusOutput) SetServiceType(v string) *GetProtectionStatusOutput { 4106 s.ServiceType = &v 4107 return s 4108} 4109 4110type GetProtocolsListInput struct { 4111 _ struct{} `type:"structure"` 4112 4113 // Specifies whether the list to retrieve is a default list owned by AWS Firewall 4114 // Manager. 4115 DefaultList *bool `type:"boolean"` 4116 4117 // The ID of the AWS Firewall Manager protocols list that you want the details 4118 // for. 4119 // 4120 // ListId is a required field 4121 ListId *string `min:"36" type:"string" required:"true"` 4122} 4123 4124// String returns the string representation 4125func (s GetProtocolsListInput) String() string { 4126 return awsutil.Prettify(s) 4127} 4128 4129// GoString returns the string representation 4130func (s GetProtocolsListInput) GoString() string { 4131 return s.String() 4132} 4133 4134// Validate inspects the fields of the type to determine if they are valid. 4135func (s *GetProtocolsListInput) Validate() error { 4136 invalidParams := request.ErrInvalidParams{Context: "GetProtocolsListInput"} 4137 if s.ListId == nil { 4138 invalidParams.Add(request.NewErrParamRequired("ListId")) 4139 } 4140 if s.ListId != nil && len(*s.ListId) < 36 { 4141 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 4142 } 4143 4144 if invalidParams.Len() > 0 { 4145 return invalidParams 4146 } 4147 return nil 4148} 4149 4150// SetDefaultList sets the DefaultList field's value. 4151func (s *GetProtocolsListInput) SetDefaultList(v bool) *GetProtocolsListInput { 4152 s.DefaultList = &v 4153 return s 4154} 4155 4156// SetListId sets the ListId field's value. 4157func (s *GetProtocolsListInput) SetListId(v string) *GetProtocolsListInput { 4158 s.ListId = &v 4159 return s 4160} 4161 4162type GetProtocolsListOutput struct { 4163 _ struct{} `type:"structure"` 4164 4165 // Information about the specified AWS Firewall Manager protocols list. 4166 ProtocolsList *ProtocolsListData `type:"structure"` 4167 4168 // The Amazon Resource Name (ARN) of the specified protocols list. 4169 ProtocolsListArn *string `min:"1" type:"string"` 4170} 4171 4172// String returns the string representation 4173func (s GetProtocolsListOutput) String() string { 4174 return awsutil.Prettify(s) 4175} 4176 4177// GoString returns the string representation 4178func (s GetProtocolsListOutput) GoString() string { 4179 return s.String() 4180} 4181 4182// SetProtocolsList sets the ProtocolsList field's value. 4183func (s *GetProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *GetProtocolsListOutput { 4184 s.ProtocolsList = v 4185 return s 4186} 4187 4188// SetProtocolsListArn sets the ProtocolsListArn field's value. 4189func (s *GetProtocolsListOutput) SetProtocolsListArn(v string) *GetProtocolsListOutput { 4190 s.ProtocolsListArn = &v 4191 return s 4192} 4193 4194type GetViolationDetailsInput struct { 4195 _ struct{} `type:"structure"` 4196 4197 // The AWS account ID that you want the details for. 4198 // 4199 // MemberAccount is a required field 4200 MemberAccount *string `min:"1" type:"string" required:"true"` 4201 4202 // The ID of the AWS Firewall Manager policy that you want the details for. 4203 // This currently only supports security group content audit policies. 4204 // 4205 // PolicyId is a required field 4206 PolicyId *string `min:"36" type:"string" required:"true"` 4207 4208 // The ID of the resource that has violations. 4209 // 4210 // ResourceId is a required field 4211 ResourceId *string `min:"1" type:"string" required:"true"` 4212 4213 // The resource type. This is in the format shown in the AWS Resource Types 4214 // Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 4215 // Supported resource types are: AWS::EC2::Instance, AWS::EC2::NetworkInterface, 4216 // AWS::EC2::SecurityGroup, AWS::NetworkFirewall::FirewallPolicy, and AWS::EC2::Subnet. 4217 // 4218 // ResourceType is a required field 4219 ResourceType *string `min:"1" type:"string" required:"true"` 4220} 4221 4222// String returns the string representation 4223func (s GetViolationDetailsInput) String() string { 4224 return awsutil.Prettify(s) 4225} 4226 4227// GoString returns the string representation 4228func (s GetViolationDetailsInput) GoString() string { 4229 return s.String() 4230} 4231 4232// Validate inspects the fields of the type to determine if they are valid. 4233func (s *GetViolationDetailsInput) Validate() error { 4234 invalidParams := request.ErrInvalidParams{Context: "GetViolationDetailsInput"} 4235 if s.MemberAccount == nil { 4236 invalidParams.Add(request.NewErrParamRequired("MemberAccount")) 4237 } 4238 if s.MemberAccount != nil && len(*s.MemberAccount) < 1 { 4239 invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1)) 4240 } 4241 if s.PolicyId == nil { 4242 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 4243 } 4244 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 4245 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 4246 } 4247 if s.ResourceId == nil { 4248 invalidParams.Add(request.NewErrParamRequired("ResourceId")) 4249 } 4250 if s.ResourceId != nil && len(*s.ResourceId) < 1 { 4251 invalidParams.Add(request.NewErrParamMinLen("ResourceId", 1)) 4252 } 4253 if s.ResourceType == nil { 4254 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 4255 } 4256 if s.ResourceType != nil && len(*s.ResourceType) < 1 { 4257 invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) 4258 } 4259 4260 if invalidParams.Len() > 0 { 4261 return invalidParams 4262 } 4263 return nil 4264} 4265 4266// SetMemberAccount sets the MemberAccount field's value. 4267func (s *GetViolationDetailsInput) SetMemberAccount(v string) *GetViolationDetailsInput { 4268 s.MemberAccount = &v 4269 return s 4270} 4271 4272// SetPolicyId sets the PolicyId field's value. 4273func (s *GetViolationDetailsInput) SetPolicyId(v string) *GetViolationDetailsInput { 4274 s.PolicyId = &v 4275 return s 4276} 4277 4278// SetResourceId sets the ResourceId field's value. 4279func (s *GetViolationDetailsInput) SetResourceId(v string) *GetViolationDetailsInput { 4280 s.ResourceId = &v 4281 return s 4282} 4283 4284// SetResourceType sets the ResourceType field's value. 4285func (s *GetViolationDetailsInput) SetResourceType(v string) *GetViolationDetailsInput { 4286 s.ResourceType = &v 4287 return s 4288} 4289 4290type GetViolationDetailsOutput struct { 4291 _ struct{} `type:"structure"` 4292 4293 // Violation detail for a resource. 4294 ViolationDetail *ViolationDetail `type:"structure"` 4295} 4296 4297// String returns the string representation 4298func (s GetViolationDetailsOutput) String() string { 4299 return awsutil.Prettify(s) 4300} 4301 4302// GoString returns the string representation 4303func (s GetViolationDetailsOutput) GoString() string { 4304 return s.String() 4305} 4306 4307// SetViolationDetail sets the ViolationDetail field's value. 4308func (s *GetViolationDetailsOutput) SetViolationDetail(v *ViolationDetail) *GetViolationDetailsOutput { 4309 s.ViolationDetail = v 4310 return s 4311} 4312 4313// The operation failed because of a system problem, even though the request 4314// was valid. Retry your request. 4315type InternalErrorException struct { 4316 _ struct{} `type:"structure"` 4317 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4318 4319 Message_ *string `locationName:"Message" type:"string"` 4320} 4321 4322// String returns the string representation 4323func (s InternalErrorException) String() string { 4324 return awsutil.Prettify(s) 4325} 4326 4327// GoString returns the string representation 4328func (s InternalErrorException) GoString() string { 4329 return s.String() 4330} 4331 4332func newErrorInternalErrorException(v protocol.ResponseMetadata) error { 4333 return &InternalErrorException{ 4334 RespMetadata: v, 4335 } 4336} 4337 4338// Code returns the exception type name. 4339func (s *InternalErrorException) Code() string { 4340 return "InternalErrorException" 4341} 4342 4343// Message returns the exception's message. 4344func (s *InternalErrorException) Message() string { 4345 if s.Message_ != nil { 4346 return *s.Message_ 4347 } 4348 return "" 4349} 4350 4351// OrigErr always returns nil, satisfies awserr.Error interface. 4352func (s *InternalErrorException) OrigErr() error { 4353 return nil 4354} 4355 4356func (s *InternalErrorException) Error() string { 4357 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4358} 4359 4360// Status code returns the HTTP status code for the request's response error. 4361func (s *InternalErrorException) StatusCode() int { 4362 return s.RespMetadata.StatusCode 4363} 4364 4365// RequestID returns the service's response RequestID for request. 4366func (s *InternalErrorException) RequestID() string { 4367 return s.RespMetadata.RequestID 4368} 4369 4370// The parameters of the request were invalid. 4371type InvalidInputException struct { 4372 _ struct{} `type:"structure"` 4373 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4374 4375 Message_ *string `locationName:"Message" type:"string"` 4376} 4377 4378// String returns the string representation 4379func (s InvalidInputException) String() string { 4380 return awsutil.Prettify(s) 4381} 4382 4383// GoString returns the string representation 4384func (s InvalidInputException) GoString() string { 4385 return s.String() 4386} 4387 4388func newErrorInvalidInputException(v protocol.ResponseMetadata) error { 4389 return &InvalidInputException{ 4390 RespMetadata: v, 4391 } 4392} 4393 4394// Code returns the exception type name. 4395func (s *InvalidInputException) Code() string { 4396 return "InvalidInputException" 4397} 4398 4399// Message returns the exception's message. 4400func (s *InvalidInputException) Message() string { 4401 if s.Message_ != nil { 4402 return *s.Message_ 4403 } 4404 return "" 4405} 4406 4407// OrigErr always returns nil, satisfies awserr.Error interface. 4408func (s *InvalidInputException) OrigErr() error { 4409 return nil 4410} 4411 4412func (s *InvalidInputException) Error() string { 4413 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4414} 4415 4416// Status code returns the HTTP status code for the request's response error. 4417func (s *InvalidInputException) StatusCode() int { 4418 return s.RespMetadata.StatusCode 4419} 4420 4421// RequestID returns the service's response RequestID for request. 4422func (s *InvalidInputException) RequestID() string { 4423 return s.RespMetadata.RequestID 4424} 4425 4426// The operation failed because there was nothing to do or the operation wasn't 4427// possible. For example, you might have submitted an AssociateAdminAccount 4428// request for an account ID that was already set as the AWS Firewall Manager 4429// administrator. Or you might have tried to access a Region that's disabled 4430// by default, and that you need to enable for the Firewall Manager administrator 4431// account and for AWS Organizations before you can access it. 4432type InvalidOperationException struct { 4433 _ struct{} `type:"structure"` 4434 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4435 4436 Message_ *string `locationName:"Message" type:"string"` 4437} 4438 4439// String returns the string representation 4440func (s InvalidOperationException) String() string { 4441 return awsutil.Prettify(s) 4442} 4443 4444// GoString returns the string representation 4445func (s InvalidOperationException) GoString() string { 4446 return s.String() 4447} 4448 4449func newErrorInvalidOperationException(v protocol.ResponseMetadata) error { 4450 return &InvalidOperationException{ 4451 RespMetadata: v, 4452 } 4453} 4454 4455// Code returns the exception type name. 4456func (s *InvalidOperationException) Code() string { 4457 return "InvalidOperationException" 4458} 4459 4460// Message returns the exception's message. 4461func (s *InvalidOperationException) Message() string { 4462 if s.Message_ != nil { 4463 return *s.Message_ 4464 } 4465 return "" 4466} 4467 4468// OrigErr always returns nil, satisfies awserr.Error interface. 4469func (s *InvalidOperationException) OrigErr() error { 4470 return nil 4471} 4472 4473func (s *InvalidOperationException) Error() string { 4474 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4475} 4476 4477// Status code returns the HTTP status code for the request's response error. 4478func (s *InvalidOperationException) StatusCode() int { 4479 return s.RespMetadata.StatusCode 4480} 4481 4482// RequestID returns the service's response RequestID for request. 4483func (s *InvalidOperationException) RequestID() string { 4484 return s.RespMetadata.RequestID 4485} 4486 4487// The value of the Type parameter is invalid. 4488type InvalidTypeException struct { 4489 _ struct{} `type:"structure"` 4490 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4491 4492 Message_ *string `locationName:"Message" type:"string"` 4493} 4494 4495// String returns the string representation 4496func (s InvalidTypeException) String() string { 4497 return awsutil.Prettify(s) 4498} 4499 4500// GoString returns the string representation 4501func (s InvalidTypeException) GoString() string { 4502 return s.String() 4503} 4504 4505func newErrorInvalidTypeException(v protocol.ResponseMetadata) error { 4506 return &InvalidTypeException{ 4507 RespMetadata: v, 4508 } 4509} 4510 4511// Code returns the exception type name. 4512func (s *InvalidTypeException) Code() string { 4513 return "InvalidTypeException" 4514} 4515 4516// Message returns the exception's message. 4517func (s *InvalidTypeException) Message() string { 4518 if s.Message_ != nil { 4519 return *s.Message_ 4520 } 4521 return "" 4522} 4523 4524// OrigErr always returns nil, satisfies awserr.Error interface. 4525func (s *InvalidTypeException) OrigErr() error { 4526 return nil 4527} 4528 4529func (s *InvalidTypeException) Error() string { 4530 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4531} 4532 4533// Status code returns the HTTP status code for the request's response error. 4534func (s *InvalidTypeException) StatusCode() int { 4535 return s.RespMetadata.StatusCode 4536} 4537 4538// RequestID returns the service's response RequestID for request. 4539func (s *InvalidTypeException) RequestID() string { 4540 return s.RespMetadata.RequestID 4541} 4542 4543// The operation exceeds a resource limit, for example, the maximum number of 4544// policy objects that you can create for an AWS account. For more information, 4545// see Firewall Manager Limits (https://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html) 4546// in the AWS WAF Developer Guide. 4547type LimitExceededException struct { 4548 _ struct{} `type:"structure"` 4549 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 4550 4551 Message_ *string `locationName:"Message" type:"string"` 4552} 4553 4554// String returns the string representation 4555func (s LimitExceededException) String() string { 4556 return awsutil.Prettify(s) 4557} 4558 4559// GoString returns the string representation 4560func (s LimitExceededException) GoString() string { 4561 return s.String() 4562} 4563 4564func newErrorLimitExceededException(v protocol.ResponseMetadata) error { 4565 return &LimitExceededException{ 4566 RespMetadata: v, 4567 } 4568} 4569 4570// Code returns the exception type name. 4571func (s *LimitExceededException) Code() string { 4572 return "LimitExceededException" 4573} 4574 4575// Message returns the exception's message. 4576func (s *LimitExceededException) Message() string { 4577 if s.Message_ != nil { 4578 return *s.Message_ 4579 } 4580 return "" 4581} 4582 4583// OrigErr always returns nil, satisfies awserr.Error interface. 4584func (s *LimitExceededException) OrigErr() error { 4585 return nil 4586} 4587 4588func (s *LimitExceededException) Error() string { 4589 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 4590} 4591 4592// Status code returns the HTTP status code for the request's response error. 4593func (s *LimitExceededException) StatusCode() int { 4594 return s.RespMetadata.StatusCode 4595} 4596 4597// RequestID returns the service's response RequestID for request. 4598func (s *LimitExceededException) RequestID() string { 4599 return s.RespMetadata.RequestID 4600} 4601 4602type ListAppsListsInput struct { 4603 _ struct{} `type:"structure"` 4604 4605 // Specifies whether the lists to retrieve are default lists owned by AWS Firewall 4606 // Manager. 4607 DefaultLists *bool `type:"boolean"` 4608 4609 // The maximum number of objects that you want AWS Firewall Manager to return 4610 // for this request. If more objects are available, in the response, AWS Firewall 4611 // Manager provides a NextToken value that you can use in a subsequent call 4612 // to get the next batch of objects. 4613 // 4614 // If you don't specify this, AWS Firewall Manager returns all available objects. 4615 // 4616 // MaxResults is a required field 4617 MaxResults *int64 `min:"1" type:"integer" required:"true"` 4618 4619 // If you specify a value for MaxResults in your list request, and you have 4620 // more objects than the maximum, AWS Firewall Manager returns this token in 4621 // the response. For all but the first request, you provide the token returned 4622 // by the prior request in the request parameters, to retrieve the next batch 4623 // of objects. 4624 NextToken *string `min:"1" type:"string"` 4625} 4626 4627// String returns the string representation 4628func (s ListAppsListsInput) String() string { 4629 return awsutil.Prettify(s) 4630} 4631 4632// GoString returns the string representation 4633func (s ListAppsListsInput) GoString() string { 4634 return s.String() 4635} 4636 4637// Validate inspects the fields of the type to determine if they are valid. 4638func (s *ListAppsListsInput) Validate() error { 4639 invalidParams := request.ErrInvalidParams{Context: "ListAppsListsInput"} 4640 if s.MaxResults == nil { 4641 invalidParams.Add(request.NewErrParamRequired("MaxResults")) 4642 } 4643 if s.MaxResults != nil && *s.MaxResults < 1 { 4644 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4645 } 4646 if s.NextToken != nil && len(*s.NextToken) < 1 { 4647 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4648 } 4649 4650 if invalidParams.Len() > 0 { 4651 return invalidParams 4652 } 4653 return nil 4654} 4655 4656// SetDefaultLists sets the DefaultLists field's value. 4657func (s *ListAppsListsInput) SetDefaultLists(v bool) *ListAppsListsInput { 4658 s.DefaultLists = &v 4659 return s 4660} 4661 4662// SetMaxResults sets the MaxResults field's value. 4663func (s *ListAppsListsInput) SetMaxResults(v int64) *ListAppsListsInput { 4664 s.MaxResults = &v 4665 return s 4666} 4667 4668// SetNextToken sets the NextToken field's value. 4669func (s *ListAppsListsInput) SetNextToken(v string) *ListAppsListsInput { 4670 s.NextToken = &v 4671 return s 4672} 4673 4674type ListAppsListsOutput struct { 4675 _ struct{} `type:"structure"` 4676 4677 // An array of AppsListDataSummary objects. 4678 AppsLists []*AppsListDataSummary `type:"list"` 4679 4680 // If you specify a value for MaxResults in your list request, and you have 4681 // more objects than the maximum, AWS Firewall Manager returns this token in 4682 // the response. You can use this token in subsequent requests to retrieve the 4683 // next batch of objects. 4684 NextToken *string `min:"1" type:"string"` 4685} 4686 4687// String returns the string representation 4688func (s ListAppsListsOutput) String() string { 4689 return awsutil.Prettify(s) 4690} 4691 4692// GoString returns the string representation 4693func (s ListAppsListsOutput) GoString() string { 4694 return s.String() 4695} 4696 4697// SetAppsLists sets the AppsLists field's value. 4698func (s *ListAppsListsOutput) SetAppsLists(v []*AppsListDataSummary) *ListAppsListsOutput { 4699 s.AppsLists = v 4700 return s 4701} 4702 4703// SetNextToken sets the NextToken field's value. 4704func (s *ListAppsListsOutput) SetNextToken(v string) *ListAppsListsOutput { 4705 s.NextToken = &v 4706 return s 4707} 4708 4709type ListComplianceStatusInput struct { 4710 _ struct{} `type:"structure"` 4711 4712 // Specifies the number of PolicyComplianceStatus objects that you want AWS 4713 // Firewall Manager to return for this request. If you have more PolicyComplianceStatus 4714 // objects than the number that you specify for MaxResults, the response includes 4715 // a NextToken value that you can use to get another batch of PolicyComplianceStatus 4716 // objects. 4717 MaxResults *int64 `min:"1" type:"integer"` 4718 4719 // If you specify a value for MaxResults and you have more PolicyComplianceStatus 4720 // objects than the number that you specify for MaxResults, AWS Firewall Manager 4721 // returns a NextToken value in the response that allows you to list another 4722 // group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus 4723 // requests, specify the value of NextToken from the previous response to get 4724 // information about another batch of PolicyComplianceStatus objects. 4725 NextToken *string `min:"1" type:"string"` 4726 4727 // The ID of the AWS Firewall Manager policy that you want the details for. 4728 // 4729 // PolicyId is a required field 4730 PolicyId *string `min:"36" type:"string" required:"true"` 4731} 4732 4733// String returns the string representation 4734func (s ListComplianceStatusInput) String() string { 4735 return awsutil.Prettify(s) 4736} 4737 4738// GoString returns the string representation 4739func (s ListComplianceStatusInput) GoString() string { 4740 return s.String() 4741} 4742 4743// Validate inspects the fields of the type to determine if they are valid. 4744func (s *ListComplianceStatusInput) Validate() error { 4745 invalidParams := request.ErrInvalidParams{Context: "ListComplianceStatusInput"} 4746 if s.MaxResults != nil && *s.MaxResults < 1 { 4747 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4748 } 4749 if s.NextToken != nil && len(*s.NextToken) < 1 { 4750 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4751 } 4752 if s.PolicyId == nil { 4753 invalidParams.Add(request.NewErrParamRequired("PolicyId")) 4754 } 4755 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 4756 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 4757 } 4758 4759 if invalidParams.Len() > 0 { 4760 return invalidParams 4761 } 4762 return nil 4763} 4764 4765// SetMaxResults sets the MaxResults field's value. 4766func (s *ListComplianceStatusInput) SetMaxResults(v int64) *ListComplianceStatusInput { 4767 s.MaxResults = &v 4768 return s 4769} 4770 4771// SetNextToken sets the NextToken field's value. 4772func (s *ListComplianceStatusInput) SetNextToken(v string) *ListComplianceStatusInput { 4773 s.NextToken = &v 4774 return s 4775} 4776 4777// SetPolicyId sets the PolicyId field's value. 4778func (s *ListComplianceStatusInput) SetPolicyId(v string) *ListComplianceStatusInput { 4779 s.PolicyId = &v 4780 return s 4781} 4782 4783type ListComplianceStatusOutput struct { 4784 _ struct{} `type:"structure"` 4785 4786 // If you have more PolicyComplianceStatus objects than the number that you 4787 // specified for MaxResults in the request, the response includes a NextToken 4788 // value. To list more PolicyComplianceStatus objects, submit another ListComplianceStatus 4789 // request, and specify the NextToken value from the response in the NextToken 4790 // value in the next request. 4791 NextToken *string `min:"1" type:"string"` 4792 4793 // An array of PolicyComplianceStatus objects. 4794 PolicyComplianceStatusList []*PolicyComplianceStatus `type:"list"` 4795} 4796 4797// String returns the string representation 4798func (s ListComplianceStatusOutput) String() string { 4799 return awsutil.Prettify(s) 4800} 4801 4802// GoString returns the string representation 4803func (s ListComplianceStatusOutput) GoString() string { 4804 return s.String() 4805} 4806 4807// SetNextToken sets the NextToken field's value. 4808func (s *ListComplianceStatusOutput) SetNextToken(v string) *ListComplianceStatusOutput { 4809 s.NextToken = &v 4810 return s 4811} 4812 4813// SetPolicyComplianceStatusList sets the PolicyComplianceStatusList field's value. 4814func (s *ListComplianceStatusOutput) SetPolicyComplianceStatusList(v []*PolicyComplianceStatus) *ListComplianceStatusOutput { 4815 s.PolicyComplianceStatusList = v 4816 return s 4817} 4818 4819type ListMemberAccountsInput struct { 4820 _ struct{} `type:"structure"` 4821 4822 // Specifies the number of member account IDs that you want AWS Firewall Manager 4823 // to return for this request. If you have more IDs than the number that you 4824 // specify for MaxResults, the response includes a NextToken value that you 4825 // can use to get another batch of member account IDs. 4826 MaxResults *int64 `min:"1" type:"integer"` 4827 4828 // If you specify a value for MaxResults and you have more account IDs than 4829 // the number that you specify for MaxResults, AWS Firewall Manager returns 4830 // a NextToken value in the response that allows you to list another group of 4831 // IDs. For the second and subsequent ListMemberAccountsRequest requests, specify 4832 // the value of NextToken from the previous response to get information about 4833 // another batch of member account IDs. 4834 NextToken *string `min:"1" type:"string"` 4835} 4836 4837// String returns the string representation 4838func (s ListMemberAccountsInput) String() string { 4839 return awsutil.Prettify(s) 4840} 4841 4842// GoString returns the string representation 4843func (s ListMemberAccountsInput) GoString() string { 4844 return s.String() 4845} 4846 4847// Validate inspects the fields of the type to determine if they are valid. 4848func (s *ListMemberAccountsInput) Validate() error { 4849 invalidParams := request.ErrInvalidParams{Context: "ListMemberAccountsInput"} 4850 if s.MaxResults != nil && *s.MaxResults < 1 { 4851 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4852 } 4853 if s.NextToken != nil && len(*s.NextToken) < 1 { 4854 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4855 } 4856 4857 if invalidParams.Len() > 0 { 4858 return invalidParams 4859 } 4860 return nil 4861} 4862 4863// SetMaxResults sets the MaxResults field's value. 4864func (s *ListMemberAccountsInput) SetMaxResults(v int64) *ListMemberAccountsInput { 4865 s.MaxResults = &v 4866 return s 4867} 4868 4869// SetNextToken sets the NextToken field's value. 4870func (s *ListMemberAccountsInput) SetNextToken(v string) *ListMemberAccountsInput { 4871 s.NextToken = &v 4872 return s 4873} 4874 4875type ListMemberAccountsOutput struct { 4876 _ struct{} `type:"structure"` 4877 4878 // An array of account IDs. 4879 MemberAccounts []*string `type:"list"` 4880 4881 // If you have more member account IDs than the number that you specified for 4882 // MaxResults in the request, the response includes a NextToken value. To list 4883 // more IDs, submit another ListMemberAccounts request, and specify the NextToken 4884 // value from the response in the NextToken value in the next request. 4885 NextToken *string `min:"1" type:"string"` 4886} 4887 4888// String returns the string representation 4889func (s ListMemberAccountsOutput) String() string { 4890 return awsutil.Prettify(s) 4891} 4892 4893// GoString returns the string representation 4894func (s ListMemberAccountsOutput) GoString() string { 4895 return s.String() 4896} 4897 4898// SetMemberAccounts sets the MemberAccounts field's value. 4899func (s *ListMemberAccountsOutput) SetMemberAccounts(v []*string) *ListMemberAccountsOutput { 4900 s.MemberAccounts = v 4901 return s 4902} 4903 4904// SetNextToken sets the NextToken field's value. 4905func (s *ListMemberAccountsOutput) SetNextToken(v string) *ListMemberAccountsOutput { 4906 s.NextToken = &v 4907 return s 4908} 4909 4910type ListPoliciesInput struct { 4911 _ struct{} `type:"structure"` 4912 4913 // Specifies the number of PolicySummary objects that you want AWS Firewall 4914 // Manager to return for this request. If you have more PolicySummary objects 4915 // than the number that you specify for MaxResults, the response includes a 4916 // NextToken value that you can use to get another batch of PolicySummary objects. 4917 MaxResults *int64 `min:"1" type:"integer"` 4918 4919 // If you specify a value for MaxResults and you have more PolicySummary objects 4920 // than the number that you specify for MaxResults, AWS Firewall Manager returns 4921 // a NextToken value in the response that allows you to list another group of 4922 // PolicySummary objects. For the second and subsequent ListPolicies requests, 4923 // specify the value of NextToken from the previous response to get information 4924 // about another batch of PolicySummary objects. 4925 NextToken *string `min:"1" type:"string"` 4926} 4927 4928// String returns the string representation 4929func (s ListPoliciesInput) String() string { 4930 return awsutil.Prettify(s) 4931} 4932 4933// GoString returns the string representation 4934func (s ListPoliciesInput) GoString() string { 4935 return s.String() 4936} 4937 4938// Validate inspects the fields of the type to determine if they are valid. 4939func (s *ListPoliciesInput) Validate() error { 4940 invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"} 4941 if s.MaxResults != nil && *s.MaxResults < 1 { 4942 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 4943 } 4944 if s.NextToken != nil && len(*s.NextToken) < 1 { 4945 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 4946 } 4947 4948 if invalidParams.Len() > 0 { 4949 return invalidParams 4950 } 4951 return nil 4952} 4953 4954// SetMaxResults sets the MaxResults field's value. 4955func (s *ListPoliciesInput) SetMaxResults(v int64) *ListPoliciesInput { 4956 s.MaxResults = &v 4957 return s 4958} 4959 4960// SetNextToken sets the NextToken field's value. 4961func (s *ListPoliciesInput) SetNextToken(v string) *ListPoliciesInput { 4962 s.NextToken = &v 4963 return s 4964} 4965 4966type ListPoliciesOutput struct { 4967 _ struct{} `type:"structure"` 4968 4969 // If you have more PolicySummary objects than the number that you specified 4970 // for MaxResults in the request, the response includes a NextToken value. To 4971 // list more PolicySummary objects, submit another ListPolicies request, and 4972 // specify the NextToken value from the response in the NextToken value in the 4973 // next request. 4974 NextToken *string `min:"1" type:"string"` 4975 4976 // An array of PolicySummary objects. 4977 PolicyList []*PolicySummary `type:"list"` 4978} 4979 4980// String returns the string representation 4981func (s ListPoliciesOutput) String() string { 4982 return awsutil.Prettify(s) 4983} 4984 4985// GoString returns the string representation 4986func (s ListPoliciesOutput) GoString() string { 4987 return s.String() 4988} 4989 4990// SetNextToken sets the NextToken field's value. 4991func (s *ListPoliciesOutput) SetNextToken(v string) *ListPoliciesOutput { 4992 s.NextToken = &v 4993 return s 4994} 4995 4996// SetPolicyList sets the PolicyList field's value. 4997func (s *ListPoliciesOutput) SetPolicyList(v []*PolicySummary) *ListPoliciesOutput { 4998 s.PolicyList = v 4999 return s 5000} 5001 5002type ListProtocolsListsInput struct { 5003 _ struct{} `type:"structure"` 5004 5005 // Specifies whether the lists to retrieve are default lists owned by AWS Firewall 5006 // Manager. 5007 DefaultLists *bool `type:"boolean"` 5008 5009 // The maximum number of objects that you want AWS Firewall Manager to return 5010 // for this request. If more objects are available, in the response, AWS Firewall 5011 // Manager provides a NextToken value that you can use in a subsequent call 5012 // to get the next batch of objects. 5013 // 5014 // If you don't specify this, AWS Firewall Manager returns all available objects. 5015 // 5016 // MaxResults is a required field 5017 MaxResults *int64 `min:"1" type:"integer" required:"true"` 5018 5019 // If you specify a value for MaxResults in your list request, and you have 5020 // more objects than the maximum, AWS Firewall Manager returns this token in 5021 // the response. For all but the first request, you provide the token returned 5022 // by the prior request in the request parameters, to retrieve the next batch 5023 // of objects. 5024 NextToken *string `min:"1" type:"string"` 5025} 5026 5027// String returns the string representation 5028func (s ListProtocolsListsInput) String() string { 5029 return awsutil.Prettify(s) 5030} 5031 5032// GoString returns the string representation 5033func (s ListProtocolsListsInput) GoString() string { 5034 return s.String() 5035} 5036 5037// Validate inspects the fields of the type to determine if they are valid. 5038func (s *ListProtocolsListsInput) Validate() error { 5039 invalidParams := request.ErrInvalidParams{Context: "ListProtocolsListsInput"} 5040 if s.MaxResults == nil { 5041 invalidParams.Add(request.NewErrParamRequired("MaxResults")) 5042 } 5043 if s.MaxResults != nil && *s.MaxResults < 1 { 5044 invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1)) 5045 } 5046 if s.NextToken != nil && len(*s.NextToken) < 1 { 5047 invalidParams.Add(request.NewErrParamMinLen("NextToken", 1)) 5048 } 5049 5050 if invalidParams.Len() > 0 { 5051 return invalidParams 5052 } 5053 return nil 5054} 5055 5056// SetDefaultLists sets the DefaultLists field's value. 5057func (s *ListProtocolsListsInput) SetDefaultLists(v bool) *ListProtocolsListsInput { 5058 s.DefaultLists = &v 5059 return s 5060} 5061 5062// SetMaxResults sets the MaxResults field's value. 5063func (s *ListProtocolsListsInput) SetMaxResults(v int64) *ListProtocolsListsInput { 5064 s.MaxResults = &v 5065 return s 5066} 5067 5068// SetNextToken sets the NextToken field's value. 5069func (s *ListProtocolsListsInput) SetNextToken(v string) *ListProtocolsListsInput { 5070 s.NextToken = &v 5071 return s 5072} 5073 5074type ListProtocolsListsOutput struct { 5075 _ struct{} `type:"structure"` 5076 5077 // If you specify a value for MaxResults in your list request, and you have 5078 // more objects than the maximum, AWS Firewall Manager returns this token in 5079 // the response. You can use this token in subsequent requests to retrieve the 5080 // next batch of objects. 5081 NextToken *string `min:"1" type:"string"` 5082 5083 // An array of ProtocolsListDataSummary objects. 5084 ProtocolsLists []*ProtocolsListDataSummary `type:"list"` 5085} 5086 5087// String returns the string representation 5088func (s ListProtocolsListsOutput) String() string { 5089 return awsutil.Prettify(s) 5090} 5091 5092// GoString returns the string representation 5093func (s ListProtocolsListsOutput) GoString() string { 5094 return s.String() 5095} 5096 5097// SetNextToken sets the NextToken field's value. 5098func (s *ListProtocolsListsOutput) SetNextToken(v string) *ListProtocolsListsOutput { 5099 s.NextToken = &v 5100 return s 5101} 5102 5103// SetProtocolsLists sets the ProtocolsLists field's value. 5104func (s *ListProtocolsListsOutput) SetProtocolsLists(v []*ProtocolsListDataSummary) *ListProtocolsListsOutput { 5105 s.ProtocolsLists = v 5106 return s 5107} 5108 5109type ListTagsForResourceInput struct { 5110 _ struct{} `type:"structure"` 5111 5112 // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS 5113 // Firewall Manager resources that support tagging are policies, applications 5114 // lists, and protocols lists. 5115 // 5116 // ResourceArn is a required field 5117 ResourceArn *string `min:"1" type:"string" required:"true"` 5118} 5119 5120// String returns the string representation 5121func (s ListTagsForResourceInput) String() string { 5122 return awsutil.Prettify(s) 5123} 5124 5125// GoString returns the string representation 5126func (s ListTagsForResourceInput) GoString() string { 5127 return s.String() 5128} 5129 5130// Validate inspects the fields of the type to determine if they are valid. 5131func (s *ListTagsForResourceInput) Validate() error { 5132 invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"} 5133 if s.ResourceArn == nil { 5134 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 5135 } 5136 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 5137 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 5138 } 5139 5140 if invalidParams.Len() > 0 { 5141 return invalidParams 5142 } 5143 return nil 5144} 5145 5146// SetResourceArn sets the ResourceArn field's value. 5147func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput { 5148 s.ResourceArn = &v 5149 return s 5150} 5151 5152type ListTagsForResourceOutput struct { 5153 _ struct{} `type:"structure"` 5154 5155 // The tags associated with the resource. 5156 TagList []*Tag `type:"list"` 5157} 5158 5159// String returns the string representation 5160func (s ListTagsForResourceOutput) String() string { 5161 return awsutil.Prettify(s) 5162} 5163 5164// GoString returns the string representation 5165func (s ListTagsForResourceOutput) GoString() string { 5166 return s.String() 5167} 5168 5169// SetTagList sets the TagList field's value. 5170func (s *ListTagsForResourceOutput) SetTagList(v []*Tag) *ListTagsForResourceOutput { 5171 s.TagList = v 5172 return s 5173} 5174 5175// Violation details for AWS Network Firewall for a subnet that's not associated 5176// to the expected Firewall Manager managed route table. 5177type NetworkFirewallMissingExpectedRTViolation struct { 5178 _ struct{} `type:"structure"` 5179 5180 // The Availability Zone of a violating subnet. 5181 AvailabilityZone *string `type:"string"` 5182 5183 // The resource ID of the current route table that's associated with the subnet, 5184 // if one is available. 5185 CurrentRouteTable *string `min:"1" type:"string"` 5186 5187 // The resource ID of the route table that should be associated with the subnet. 5188 ExpectedRouteTable *string `min:"1" type:"string"` 5189 5190 // The resource ID of the VPC associated with a violating subnet. 5191 VPC *string `min:"1" type:"string"` 5192 5193 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5194 ViolationTarget *string `type:"string"` 5195} 5196 5197// String returns the string representation 5198func (s NetworkFirewallMissingExpectedRTViolation) String() string { 5199 return awsutil.Prettify(s) 5200} 5201 5202// GoString returns the string representation 5203func (s NetworkFirewallMissingExpectedRTViolation) GoString() string { 5204 return s.String() 5205} 5206 5207// SetAvailabilityZone sets the AvailabilityZone field's value. 5208func (s *NetworkFirewallMissingExpectedRTViolation) SetAvailabilityZone(v string) *NetworkFirewallMissingExpectedRTViolation { 5209 s.AvailabilityZone = &v 5210 return s 5211} 5212 5213// SetCurrentRouteTable sets the CurrentRouteTable field's value. 5214func (s *NetworkFirewallMissingExpectedRTViolation) SetCurrentRouteTable(v string) *NetworkFirewallMissingExpectedRTViolation { 5215 s.CurrentRouteTable = &v 5216 return s 5217} 5218 5219// SetExpectedRouteTable sets the ExpectedRouteTable field's value. 5220func (s *NetworkFirewallMissingExpectedRTViolation) SetExpectedRouteTable(v string) *NetworkFirewallMissingExpectedRTViolation { 5221 s.ExpectedRouteTable = &v 5222 return s 5223} 5224 5225// SetVPC sets the VPC field's value. 5226func (s *NetworkFirewallMissingExpectedRTViolation) SetVPC(v string) *NetworkFirewallMissingExpectedRTViolation { 5227 s.VPC = &v 5228 return s 5229} 5230 5231// SetViolationTarget sets the ViolationTarget field's value. 5232func (s *NetworkFirewallMissingExpectedRTViolation) SetViolationTarget(v string) *NetworkFirewallMissingExpectedRTViolation { 5233 s.ViolationTarget = &v 5234 return s 5235} 5236 5237// Violation details for AWS Network Firewall for a subnet that doesn't have 5238// a Firewall Manager managed firewall in its VPC. 5239type NetworkFirewallMissingFirewallViolation struct { 5240 _ struct{} `type:"structure"` 5241 5242 // The Availability Zone of a violating subnet. 5243 AvailabilityZone *string `type:"string"` 5244 5245 // The reason the resource has this violation, if one is available. 5246 TargetViolationReason *string `type:"string"` 5247 5248 // The resource ID of the VPC associated with a violating subnet. 5249 VPC *string `min:"1" type:"string"` 5250 5251 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5252 ViolationTarget *string `type:"string"` 5253} 5254 5255// String returns the string representation 5256func (s NetworkFirewallMissingFirewallViolation) String() string { 5257 return awsutil.Prettify(s) 5258} 5259 5260// GoString returns the string representation 5261func (s NetworkFirewallMissingFirewallViolation) GoString() string { 5262 return s.String() 5263} 5264 5265// SetAvailabilityZone sets the AvailabilityZone field's value. 5266func (s *NetworkFirewallMissingFirewallViolation) SetAvailabilityZone(v string) *NetworkFirewallMissingFirewallViolation { 5267 s.AvailabilityZone = &v 5268 return s 5269} 5270 5271// SetTargetViolationReason sets the TargetViolationReason field's value. 5272func (s *NetworkFirewallMissingFirewallViolation) SetTargetViolationReason(v string) *NetworkFirewallMissingFirewallViolation { 5273 s.TargetViolationReason = &v 5274 return s 5275} 5276 5277// SetVPC sets the VPC field's value. 5278func (s *NetworkFirewallMissingFirewallViolation) SetVPC(v string) *NetworkFirewallMissingFirewallViolation { 5279 s.VPC = &v 5280 return s 5281} 5282 5283// SetViolationTarget sets the ViolationTarget field's value. 5284func (s *NetworkFirewallMissingFirewallViolation) SetViolationTarget(v string) *NetworkFirewallMissingFirewallViolation { 5285 s.ViolationTarget = &v 5286 return s 5287} 5288 5289// Violation details for AWS Network Firewall for an Availability Zone that's 5290// missing the expected Firewall Manager managed subnet. 5291type NetworkFirewallMissingSubnetViolation struct { 5292 _ struct{} `type:"structure"` 5293 5294 // The Availability Zone of a violating subnet. 5295 AvailabilityZone *string `type:"string"` 5296 5297 // The reason the resource has this violation, if one is available. 5298 TargetViolationReason *string `type:"string"` 5299 5300 // The resource ID of the VPC associated with a violating subnet. 5301 VPC *string `min:"1" type:"string"` 5302 5303 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5304 ViolationTarget *string `type:"string"` 5305} 5306 5307// String returns the string representation 5308func (s NetworkFirewallMissingSubnetViolation) String() string { 5309 return awsutil.Prettify(s) 5310} 5311 5312// GoString returns the string representation 5313func (s NetworkFirewallMissingSubnetViolation) GoString() string { 5314 return s.String() 5315} 5316 5317// SetAvailabilityZone sets the AvailabilityZone field's value. 5318func (s *NetworkFirewallMissingSubnetViolation) SetAvailabilityZone(v string) *NetworkFirewallMissingSubnetViolation { 5319 s.AvailabilityZone = &v 5320 return s 5321} 5322 5323// SetTargetViolationReason sets the TargetViolationReason field's value. 5324func (s *NetworkFirewallMissingSubnetViolation) SetTargetViolationReason(v string) *NetworkFirewallMissingSubnetViolation { 5325 s.TargetViolationReason = &v 5326 return s 5327} 5328 5329// SetVPC sets the VPC field's value. 5330func (s *NetworkFirewallMissingSubnetViolation) SetVPC(v string) *NetworkFirewallMissingSubnetViolation { 5331 s.VPC = &v 5332 return s 5333} 5334 5335// SetViolationTarget sets the ViolationTarget field's value. 5336func (s *NetworkFirewallMissingSubnetViolation) SetViolationTarget(v string) *NetworkFirewallMissingSubnetViolation { 5337 s.ViolationTarget = &v 5338 return s 5339} 5340 5341// The definition of the AWS Network Firewall firewall policy. 5342type NetworkFirewallPolicyDescription struct { 5343 _ struct{} `type:"structure"` 5344 5345 // The stateful rule groups that are used in the Network Firewall firewall policy. 5346 StatefulRuleGroups []*StatefulRuleGroup `type:"list"` 5347 5348 // Names of custom actions that are available for use in the stateless default 5349 // actions settings. 5350 StatelessCustomActions []*string `type:"list"` 5351 5352 // The actions to take on packets that don't match any of the stateless rule 5353 // groups. 5354 StatelessDefaultActions []*string `type:"list"` 5355 5356 // The actions to take on packet fragments that don't match any of the stateless 5357 // rule groups. 5358 StatelessFragmentDefaultActions []*string `type:"list"` 5359 5360 // The stateless rule groups that are used in the Network Firewall firewall 5361 // policy. 5362 StatelessRuleGroups []*StatelessRuleGroup `type:"list"` 5363} 5364 5365// String returns the string representation 5366func (s NetworkFirewallPolicyDescription) String() string { 5367 return awsutil.Prettify(s) 5368} 5369 5370// GoString returns the string representation 5371func (s NetworkFirewallPolicyDescription) GoString() string { 5372 return s.String() 5373} 5374 5375// SetStatefulRuleGroups sets the StatefulRuleGroups field's value. 5376func (s *NetworkFirewallPolicyDescription) SetStatefulRuleGroups(v []*StatefulRuleGroup) *NetworkFirewallPolicyDescription { 5377 s.StatefulRuleGroups = v 5378 return s 5379} 5380 5381// SetStatelessCustomActions sets the StatelessCustomActions field's value. 5382func (s *NetworkFirewallPolicyDescription) SetStatelessCustomActions(v []*string) *NetworkFirewallPolicyDescription { 5383 s.StatelessCustomActions = v 5384 return s 5385} 5386 5387// SetStatelessDefaultActions sets the StatelessDefaultActions field's value. 5388func (s *NetworkFirewallPolicyDescription) SetStatelessDefaultActions(v []*string) *NetworkFirewallPolicyDescription { 5389 s.StatelessDefaultActions = v 5390 return s 5391} 5392 5393// SetStatelessFragmentDefaultActions sets the StatelessFragmentDefaultActions field's value. 5394func (s *NetworkFirewallPolicyDescription) SetStatelessFragmentDefaultActions(v []*string) *NetworkFirewallPolicyDescription { 5395 s.StatelessFragmentDefaultActions = v 5396 return s 5397} 5398 5399// SetStatelessRuleGroups sets the StatelessRuleGroups field's value. 5400func (s *NetworkFirewallPolicyDescription) SetStatelessRuleGroups(v []*StatelessRuleGroup) *NetworkFirewallPolicyDescription { 5401 s.StatelessRuleGroups = v 5402 return s 5403} 5404 5405// Violation details for AWS Network Firewall for a firewall policy that has 5406// a different NetworkFirewallPolicyDescription than is required by the Firewall 5407// Manager policy. 5408type NetworkFirewallPolicyModifiedViolation struct { 5409 _ struct{} `type:"structure"` 5410 5411 // The policy that's currently in use in the individual account. 5412 CurrentPolicyDescription *NetworkFirewallPolicyDescription `type:"structure"` 5413 5414 // The policy that should be in use in the individual account in order to be 5415 // compliant. 5416 ExpectedPolicyDescription *NetworkFirewallPolicyDescription `type:"structure"` 5417 5418 // The ID of the AWS Network Firewall or VPC resource that's in violation. 5419 ViolationTarget *string `type:"string"` 5420} 5421 5422// String returns the string representation 5423func (s NetworkFirewallPolicyModifiedViolation) String() string { 5424 return awsutil.Prettify(s) 5425} 5426 5427// GoString returns the string representation 5428func (s NetworkFirewallPolicyModifiedViolation) GoString() string { 5429 return s.String() 5430} 5431 5432// SetCurrentPolicyDescription sets the CurrentPolicyDescription field's value. 5433func (s *NetworkFirewallPolicyModifiedViolation) SetCurrentPolicyDescription(v *NetworkFirewallPolicyDescription) *NetworkFirewallPolicyModifiedViolation { 5434 s.CurrentPolicyDescription = v 5435 return s 5436} 5437 5438// SetExpectedPolicyDescription sets the ExpectedPolicyDescription field's value. 5439func (s *NetworkFirewallPolicyModifiedViolation) SetExpectedPolicyDescription(v *NetworkFirewallPolicyDescription) *NetworkFirewallPolicyModifiedViolation { 5440 s.ExpectedPolicyDescription = v 5441 return s 5442} 5443 5444// SetViolationTarget sets the ViolationTarget field's value. 5445func (s *NetworkFirewallPolicyModifiedViolation) SetViolationTarget(v string) *NetworkFirewallPolicyModifiedViolation { 5446 s.ViolationTarget = &v 5447 return s 5448} 5449 5450// The reference rule that partially matches the ViolationTarget rule and violation 5451// reason. 5452type PartialMatch struct { 5453 _ struct{} `type:"structure"` 5454 5455 // The reference rule from the master security group of the AWS Firewall Manager 5456 // policy. 5457 Reference *string `type:"string"` 5458 5459 // The violation reason. 5460 TargetViolationReasons []*string `type:"list"` 5461} 5462 5463// String returns the string representation 5464func (s PartialMatch) String() string { 5465 return awsutil.Prettify(s) 5466} 5467 5468// GoString returns the string representation 5469func (s PartialMatch) GoString() string { 5470 return s.String() 5471} 5472 5473// SetReference sets the Reference field's value. 5474func (s *PartialMatch) SetReference(v string) *PartialMatch { 5475 s.Reference = &v 5476 return s 5477} 5478 5479// SetTargetViolationReasons sets the TargetViolationReasons field's value. 5480func (s *PartialMatch) SetTargetViolationReasons(v []*string) *PartialMatch { 5481 s.TargetViolationReasons = v 5482 return s 5483} 5484 5485// An AWS Firewall Manager policy. 5486type Policy struct { 5487 _ struct{} `type:"structure"` 5488 5489 // Specifies the AWS account IDs and AWS Organizations organizational units 5490 // (OUs) to exclude from the policy. Specifying an OU is the equivalent of specifying 5491 // all accounts in the OU and in any of its child OUs, including any child OUs 5492 // and accounts that are added at a later time. 5493 // 5494 // You can specify inclusions or exclusions, but not both. If you specify an 5495 // IncludeMap, AWS Firewall Manager applies the policy to all accounts specified 5496 // by the IncludeMap, and does not evaluate any ExcludeMap specifications. If 5497 // you do not specify an IncludeMap, then Firewall Manager applies the policy 5498 // to all accounts except for those specified by the ExcludeMap. 5499 // 5500 // You can specify account IDs, OUs, or a combination: 5501 // 5502 // * Specify account IDs by setting the key to ACCOUNT. For example, the 5503 // following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”]}. 5504 // 5505 // * Specify OUs by setting the key to ORG_UNIT. For example, the following 5506 // is a valid map: {“ORG_UNIT” : [“ouid111”, “ouid112”]}. 5507 // 5508 // * Specify accounts and OUs together in a single map, separated with a 5509 // comma. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, 5510 // “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}. 5511 ExcludeMap map[string][]*string `type:"map"` 5512 5513 // If set to True, resources with the tags that are specified in the ResourceTag 5514 // array are not in scope of the policy. If set to False, and the ResourceTag 5515 // array is not null, only resources with the specified tags are in scope of 5516 // the policy. 5517 // 5518 // ExcludeResourceTags is a required field 5519 ExcludeResourceTags *bool `type:"boolean" required:"true"` 5520 5521 // Specifies the AWS account IDs and AWS Organizations organizational units 5522 // (OUs) to include in the policy. Specifying an OU is the equivalent of specifying 5523 // all accounts in the OU and in any of its child OUs, including any child OUs 5524 // and accounts that are added at a later time. 5525 // 5526 // You can specify inclusions or exclusions, but not both. If you specify an 5527 // IncludeMap, AWS Firewall Manager applies the policy to all accounts specified 5528 // by the IncludeMap, and does not evaluate any ExcludeMap specifications. If 5529 // you do not specify an IncludeMap, then Firewall Manager applies the policy 5530 // to all accounts except for those specified by the ExcludeMap. 5531 // 5532 // You can specify account IDs, OUs, or a combination: 5533 // 5534 // * Specify account IDs by setting the key to ACCOUNT. For example, the 5535 // following is a valid map: {“ACCOUNT” : [“accountID1”, “accountID2”]}. 5536 // 5537 // * Specify OUs by setting the key to ORG_UNIT. For example, the following 5538 // is a valid map: {“ORG_UNIT” : [“ouid111”, “ouid112”]}. 5539 // 5540 // * Specify accounts and OUs together in a single map, separated with a 5541 // comma. For example, the following is a valid map: {“ACCOUNT” : [“accountID1”, 5542 // “accountID2”], “ORG_UNIT” : [“ouid111”, “ouid112”]}. 5543 IncludeMap map[string][]*string `type:"map"` 5544 5545 // The ID of the AWS Firewall Manager policy. 5546 PolicyId *string `min:"36" type:"string"` 5547 5548 // The name of the AWS Firewall Manager policy. 5549 // 5550 // PolicyName is a required field 5551 PolicyName *string `min:"1" type:"string" required:"true"` 5552 5553 // A unique identifier for each update to the policy. When issuing a PutPolicy 5554 // request, the PolicyUpdateToken in the request must match the PolicyUpdateToken 5555 // of the current policy version. To get the PolicyUpdateToken of the current 5556 // policy version, use a GetPolicy request. 5557 PolicyUpdateToken *string `min:"1" type:"string"` 5558 5559 // Indicates if the policy should be automatically applied to new resources. 5560 // 5561 // RemediationEnabled is a required field 5562 RemediationEnabled *bool `type:"boolean" required:"true"` 5563 5564 // An array of ResourceTag objects. 5565 ResourceTags []*ResourceTag `type:"list"` 5566 5567 // The type of resource protected by or in scope of the policy. This is in the 5568 // format shown in the AWS Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 5569 // For AWS WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer 5570 // and AWS::CloudFront::Distribution. For a security group common policy, valid 5571 // values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security 5572 // group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, 5573 // and AWS::EC2::Instance. For a security group usage audit policy, the value 5574 // is AWS::EC2::SecurityGroup. For an AWS Network Firewall policy, the value 5575 // is AWS::EC2::VPC. 5576 // 5577 // ResourceType is a required field 5578 ResourceType *string `min:"1" type:"string" required:"true"` 5579 5580 // An array of ResourceType. 5581 ResourceTypeList []*string `type:"list"` 5582 5583 // Details about the security service that is being used to protect the resources. 5584 // 5585 // SecurityServicePolicyData is a required field 5586 SecurityServicePolicyData *SecurityServicePolicyData `type:"structure" required:"true"` 5587} 5588 5589// String returns the string representation 5590func (s Policy) String() string { 5591 return awsutil.Prettify(s) 5592} 5593 5594// GoString returns the string representation 5595func (s Policy) GoString() string { 5596 return s.String() 5597} 5598 5599// Validate inspects the fields of the type to determine if they are valid. 5600func (s *Policy) Validate() error { 5601 invalidParams := request.ErrInvalidParams{Context: "Policy"} 5602 if s.ExcludeResourceTags == nil { 5603 invalidParams.Add(request.NewErrParamRequired("ExcludeResourceTags")) 5604 } 5605 if s.PolicyId != nil && len(*s.PolicyId) < 36 { 5606 invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36)) 5607 } 5608 if s.PolicyName == nil { 5609 invalidParams.Add(request.NewErrParamRequired("PolicyName")) 5610 } 5611 if s.PolicyName != nil && len(*s.PolicyName) < 1 { 5612 invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1)) 5613 } 5614 if s.PolicyUpdateToken != nil && len(*s.PolicyUpdateToken) < 1 { 5615 invalidParams.Add(request.NewErrParamMinLen("PolicyUpdateToken", 1)) 5616 } 5617 if s.RemediationEnabled == nil { 5618 invalidParams.Add(request.NewErrParamRequired("RemediationEnabled")) 5619 } 5620 if s.ResourceType == nil { 5621 invalidParams.Add(request.NewErrParamRequired("ResourceType")) 5622 } 5623 if s.ResourceType != nil && len(*s.ResourceType) < 1 { 5624 invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1)) 5625 } 5626 if s.SecurityServicePolicyData == nil { 5627 invalidParams.Add(request.NewErrParamRequired("SecurityServicePolicyData")) 5628 } 5629 if s.ResourceTags != nil { 5630 for i, v := range s.ResourceTags { 5631 if v == nil { 5632 continue 5633 } 5634 if err := v.Validate(); err != nil { 5635 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceTags", i), err.(request.ErrInvalidParams)) 5636 } 5637 } 5638 } 5639 if s.SecurityServicePolicyData != nil { 5640 if err := s.SecurityServicePolicyData.Validate(); err != nil { 5641 invalidParams.AddNested("SecurityServicePolicyData", err.(request.ErrInvalidParams)) 5642 } 5643 } 5644 5645 if invalidParams.Len() > 0 { 5646 return invalidParams 5647 } 5648 return nil 5649} 5650 5651// SetExcludeMap sets the ExcludeMap field's value. 5652func (s *Policy) SetExcludeMap(v map[string][]*string) *Policy { 5653 s.ExcludeMap = v 5654 return s 5655} 5656 5657// SetExcludeResourceTags sets the ExcludeResourceTags field's value. 5658func (s *Policy) SetExcludeResourceTags(v bool) *Policy { 5659 s.ExcludeResourceTags = &v 5660 return s 5661} 5662 5663// SetIncludeMap sets the IncludeMap field's value. 5664func (s *Policy) SetIncludeMap(v map[string][]*string) *Policy { 5665 s.IncludeMap = v 5666 return s 5667} 5668 5669// SetPolicyId sets the PolicyId field's value. 5670func (s *Policy) SetPolicyId(v string) *Policy { 5671 s.PolicyId = &v 5672 return s 5673} 5674 5675// SetPolicyName sets the PolicyName field's value. 5676func (s *Policy) SetPolicyName(v string) *Policy { 5677 s.PolicyName = &v 5678 return s 5679} 5680 5681// SetPolicyUpdateToken sets the PolicyUpdateToken field's value. 5682func (s *Policy) SetPolicyUpdateToken(v string) *Policy { 5683 s.PolicyUpdateToken = &v 5684 return s 5685} 5686 5687// SetRemediationEnabled sets the RemediationEnabled field's value. 5688func (s *Policy) SetRemediationEnabled(v bool) *Policy { 5689 s.RemediationEnabled = &v 5690 return s 5691} 5692 5693// SetResourceTags sets the ResourceTags field's value. 5694func (s *Policy) SetResourceTags(v []*ResourceTag) *Policy { 5695 s.ResourceTags = v 5696 return s 5697} 5698 5699// SetResourceType sets the ResourceType field's value. 5700func (s *Policy) SetResourceType(v string) *Policy { 5701 s.ResourceType = &v 5702 return s 5703} 5704 5705// SetResourceTypeList sets the ResourceTypeList field's value. 5706func (s *Policy) SetResourceTypeList(v []*string) *Policy { 5707 s.ResourceTypeList = v 5708 return s 5709} 5710 5711// SetSecurityServicePolicyData sets the SecurityServicePolicyData field's value. 5712func (s *Policy) SetSecurityServicePolicyData(v *SecurityServicePolicyData) *Policy { 5713 s.SecurityServicePolicyData = v 5714 return s 5715} 5716 5717// Describes the noncompliant resources in a member account for a specific AWS 5718// Firewall Manager policy. A maximum of 100 entries are displayed. If more 5719// than 100 resources are noncompliant, EvaluationLimitExceeded is set to True. 5720type PolicyComplianceDetail struct { 5721 _ struct{} `type:"structure"` 5722 5723 // Indicates if over 100 resources are noncompliant with the AWS Firewall Manager 5724 // policy. 5725 EvaluationLimitExceeded *bool `type:"boolean"` 5726 5727 // A timestamp that indicates when the returned information should be considered 5728 // out of date. 5729 ExpiredAt *time.Time `type:"timestamp"` 5730 5731 // Details about problems with dependent services, such as AWS WAF or AWS Config, 5732 // that are causing a resource to be noncompliant. The details include the name 5733 // of the dependent service and the error message received that indicates the 5734 // problem with the service. 5735 IssueInfoMap map[string]*string `type:"map"` 5736 5737 // The AWS account ID. 5738 MemberAccount *string `min:"1" type:"string"` 5739 5740 // The ID of the AWS Firewall Manager policy. 5741 PolicyId *string `min:"36" type:"string"` 5742 5743 // The AWS account that created the AWS Firewall Manager policy. 5744 PolicyOwner *string `min:"1" type:"string"` 5745 5746 // An array of resources that aren't protected by the AWS WAF or Shield Advanced 5747 // policy or that aren't in compliance with the security group policy. 5748 Violators []*ComplianceViolator `type:"list"` 5749} 5750 5751// String returns the string representation 5752func (s PolicyComplianceDetail) String() string { 5753 return awsutil.Prettify(s) 5754} 5755 5756// GoString returns the string representation 5757func (s PolicyComplianceDetail) GoString() string { 5758 return s.String() 5759} 5760 5761// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value. 5762func (s *PolicyComplianceDetail) SetEvaluationLimitExceeded(v bool) *PolicyComplianceDetail { 5763 s.EvaluationLimitExceeded = &v 5764 return s 5765} 5766 5767// SetExpiredAt sets the ExpiredAt field's value. 5768func (s *PolicyComplianceDetail) SetExpiredAt(v time.Time) *PolicyComplianceDetail { 5769 s.ExpiredAt = &v 5770 return s 5771} 5772 5773// SetIssueInfoMap sets the IssueInfoMap field's value. 5774func (s *PolicyComplianceDetail) SetIssueInfoMap(v map[string]*string) *PolicyComplianceDetail { 5775 s.IssueInfoMap = v 5776 return s 5777} 5778 5779// SetMemberAccount sets the MemberAccount field's value. 5780func (s *PolicyComplianceDetail) SetMemberAccount(v string) *PolicyComplianceDetail { 5781 s.MemberAccount = &v 5782 return s 5783} 5784 5785// SetPolicyId sets the PolicyId field's value. 5786func (s *PolicyComplianceDetail) SetPolicyId(v string) *PolicyComplianceDetail { 5787 s.PolicyId = &v 5788 return s 5789} 5790 5791// SetPolicyOwner sets the PolicyOwner field's value. 5792func (s *PolicyComplianceDetail) SetPolicyOwner(v string) *PolicyComplianceDetail { 5793 s.PolicyOwner = &v 5794 return s 5795} 5796 5797// SetViolators sets the Violators field's value. 5798func (s *PolicyComplianceDetail) SetViolators(v []*ComplianceViolator) *PolicyComplianceDetail { 5799 s.Violators = v 5800 return s 5801} 5802 5803// Indicates whether the account is compliant with the specified policy. An 5804// account is considered noncompliant if it includes resources that are not 5805// protected by the policy, for AWS WAF and Shield Advanced policies, or that 5806// are noncompliant with the policy, for security group policies. 5807type PolicyComplianceStatus struct { 5808 _ struct{} `type:"structure"` 5809 5810 // An array of EvaluationResult objects. 5811 EvaluationResults []*EvaluationResult `type:"list"` 5812 5813 // Details about problems with dependent services, such as AWS WAF or AWS Config, 5814 // that are causing a resource to be noncompliant. The details include the name 5815 // of the dependent service and the error message received that indicates the 5816 // problem with the service. 5817 IssueInfoMap map[string]*string `type:"map"` 5818 5819 // Timestamp of the last update to the EvaluationResult objects. 5820 LastUpdated *time.Time `type:"timestamp"` 5821 5822 // The member account ID. 5823 MemberAccount *string `min:"1" type:"string"` 5824 5825 // The ID of the AWS Firewall Manager policy. 5826 PolicyId *string `min:"36" type:"string"` 5827 5828 // The name of the AWS Firewall Manager policy. 5829 PolicyName *string `min:"1" type:"string"` 5830 5831 // The AWS account that created the AWS Firewall Manager policy. 5832 PolicyOwner *string `min:"1" type:"string"` 5833} 5834 5835// String returns the string representation 5836func (s PolicyComplianceStatus) String() string { 5837 return awsutil.Prettify(s) 5838} 5839 5840// GoString returns the string representation 5841func (s PolicyComplianceStatus) GoString() string { 5842 return s.String() 5843} 5844 5845// SetEvaluationResults sets the EvaluationResults field's value. 5846func (s *PolicyComplianceStatus) SetEvaluationResults(v []*EvaluationResult) *PolicyComplianceStatus { 5847 s.EvaluationResults = v 5848 return s 5849} 5850 5851// SetIssueInfoMap sets the IssueInfoMap field's value. 5852func (s *PolicyComplianceStatus) SetIssueInfoMap(v map[string]*string) *PolicyComplianceStatus { 5853 s.IssueInfoMap = v 5854 return s 5855} 5856 5857// SetLastUpdated sets the LastUpdated field's value. 5858func (s *PolicyComplianceStatus) SetLastUpdated(v time.Time) *PolicyComplianceStatus { 5859 s.LastUpdated = &v 5860 return s 5861} 5862 5863// SetMemberAccount sets the MemberAccount field's value. 5864func (s *PolicyComplianceStatus) SetMemberAccount(v string) *PolicyComplianceStatus { 5865 s.MemberAccount = &v 5866 return s 5867} 5868 5869// SetPolicyId sets the PolicyId field's value. 5870func (s *PolicyComplianceStatus) SetPolicyId(v string) *PolicyComplianceStatus { 5871 s.PolicyId = &v 5872 return s 5873} 5874 5875// SetPolicyName sets the PolicyName field's value. 5876func (s *PolicyComplianceStatus) SetPolicyName(v string) *PolicyComplianceStatus { 5877 s.PolicyName = &v 5878 return s 5879} 5880 5881// SetPolicyOwner sets the PolicyOwner field's value. 5882func (s *PolicyComplianceStatus) SetPolicyOwner(v string) *PolicyComplianceStatus { 5883 s.PolicyOwner = &v 5884 return s 5885} 5886 5887// Details of the AWS Firewall Manager policy. 5888type PolicySummary struct { 5889 _ struct{} `type:"structure"` 5890 5891 // The Amazon Resource Name (ARN) of the specified policy. 5892 PolicyArn *string `min:"1" type:"string"` 5893 5894 // The ID of the specified policy. 5895 PolicyId *string `min:"36" type:"string"` 5896 5897 // The name of the specified policy. 5898 PolicyName *string `min:"1" type:"string"` 5899 5900 // Indicates if the policy should be automatically applied to new resources. 5901 RemediationEnabled *bool `type:"boolean"` 5902 5903 // The type of resource protected by or in scope of the policy. This is in the 5904 // format shown in the AWS Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html). 5905 // For AWS WAF and Shield Advanced, examples include AWS::ElasticLoadBalancingV2::LoadBalancer 5906 // and AWS::CloudFront::Distribution. For a security group common policy, valid 5907 // values are AWS::EC2::NetworkInterface and AWS::EC2::Instance. For a security 5908 // group content audit policy, valid values are AWS::EC2::SecurityGroup, AWS::EC2::NetworkInterface, 5909 // and AWS::EC2::Instance. For a security group usage audit policy, the value 5910 // is AWS::EC2::SecurityGroup. For an AWS Network Firewall policy, the value 5911 // is AWS::EC2::VPC. 5912 ResourceType *string `min:"1" type:"string"` 5913 5914 // The service that the policy is using to protect the resources. This specifies 5915 // the type of policy that is created, either an AWS WAF policy, a Shield Advanced 5916 // policy, or a security group policy. 5917 SecurityServiceType *string `type:"string" enum:"SecurityServiceType"` 5918} 5919 5920// String returns the string representation 5921func (s PolicySummary) String() string { 5922 return awsutil.Prettify(s) 5923} 5924 5925// GoString returns the string representation 5926func (s PolicySummary) GoString() string { 5927 return s.String() 5928} 5929 5930// SetPolicyArn sets the PolicyArn field's value. 5931func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary { 5932 s.PolicyArn = &v 5933 return s 5934} 5935 5936// SetPolicyId sets the PolicyId field's value. 5937func (s *PolicySummary) SetPolicyId(v string) *PolicySummary { 5938 s.PolicyId = &v 5939 return s 5940} 5941 5942// SetPolicyName sets the PolicyName field's value. 5943func (s *PolicySummary) SetPolicyName(v string) *PolicySummary { 5944 s.PolicyName = &v 5945 return s 5946} 5947 5948// SetRemediationEnabled sets the RemediationEnabled field's value. 5949func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary { 5950 s.RemediationEnabled = &v 5951 return s 5952} 5953 5954// SetResourceType sets the ResourceType field's value. 5955func (s *PolicySummary) SetResourceType(v string) *PolicySummary { 5956 s.ResourceType = &v 5957 return s 5958} 5959 5960// SetSecurityServiceType sets the SecurityServiceType field's value. 5961func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary { 5962 s.SecurityServiceType = &v 5963 return s 5964} 5965 5966// An AWS Firewall Manager protocols list. 5967type ProtocolsListData struct { 5968 _ struct{} `type:"structure"` 5969 5970 // The time that the AWS Firewall Manager protocols list was created. 5971 CreateTime *time.Time `type:"timestamp"` 5972 5973 // The time that the AWS Firewall Manager protocols list was last updated. 5974 LastUpdateTime *time.Time `type:"timestamp"` 5975 5976 // The ID of the AWS Firewall Manager protocols list. 5977 ListId *string `min:"36" type:"string"` 5978 5979 // The name of the AWS Firewall Manager protocols list. 5980 // 5981 // ListName is a required field 5982 ListName *string `min:"1" type:"string" required:"true"` 5983 5984 // A unique identifier for each update to the list. When you update the list, 5985 // the update token must match the token of the current version of the application 5986 // list. You can retrieve the update token by getting the list. 5987 ListUpdateToken *string `min:"1" type:"string"` 5988 5989 // A map of previous version numbers to their corresponding protocol arrays. 5990 PreviousProtocolsList map[string][]*string `type:"map"` 5991 5992 // An array of protocols in the AWS Firewall Manager protocols list. 5993 // 5994 // ProtocolsList is a required field 5995 ProtocolsList []*string `type:"list" required:"true"` 5996} 5997 5998// String returns the string representation 5999func (s ProtocolsListData) String() string { 6000 return awsutil.Prettify(s) 6001} 6002 6003// GoString returns the string representation 6004func (s ProtocolsListData) GoString() string { 6005 return s.String() 6006} 6007 6008// Validate inspects the fields of the type to determine if they are valid. 6009func (s *ProtocolsListData) Validate() error { 6010 invalidParams := request.ErrInvalidParams{Context: "ProtocolsListData"} 6011 if s.ListId != nil && len(*s.ListId) < 36 { 6012 invalidParams.Add(request.NewErrParamMinLen("ListId", 36)) 6013 } 6014 if s.ListName == nil { 6015 invalidParams.Add(request.NewErrParamRequired("ListName")) 6016 } 6017 if s.ListName != nil && len(*s.ListName) < 1 { 6018 invalidParams.Add(request.NewErrParamMinLen("ListName", 1)) 6019 } 6020 if s.ListUpdateToken != nil && len(*s.ListUpdateToken) < 1 { 6021 invalidParams.Add(request.NewErrParamMinLen("ListUpdateToken", 1)) 6022 } 6023 if s.ProtocolsList == nil { 6024 invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) 6025 } 6026 6027 if invalidParams.Len() > 0 { 6028 return invalidParams 6029 } 6030 return nil 6031} 6032 6033// SetCreateTime sets the CreateTime field's value. 6034func (s *ProtocolsListData) SetCreateTime(v time.Time) *ProtocolsListData { 6035 s.CreateTime = &v 6036 return s 6037} 6038 6039// SetLastUpdateTime sets the LastUpdateTime field's value. 6040func (s *ProtocolsListData) SetLastUpdateTime(v time.Time) *ProtocolsListData { 6041 s.LastUpdateTime = &v 6042 return s 6043} 6044 6045// SetListId sets the ListId field's value. 6046func (s *ProtocolsListData) SetListId(v string) *ProtocolsListData { 6047 s.ListId = &v 6048 return s 6049} 6050 6051// SetListName sets the ListName field's value. 6052func (s *ProtocolsListData) SetListName(v string) *ProtocolsListData { 6053 s.ListName = &v 6054 return s 6055} 6056 6057// SetListUpdateToken sets the ListUpdateToken field's value. 6058func (s *ProtocolsListData) SetListUpdateToken(v string) *ProtocolsListData { 6059 s.ListUpdateToken = &v 6060 return s 6061} 6062 6063// SetPreviousProtocolsList sets the PreviousProtocolsList field's value. 6064func (s *ProtocolsListData) SetPreviousProtocolsList(v map[string][]*string) *ProtocolsListData { 6065 s.PreviousProtocolsList = v 6066 return s 6067} 6068 6069// SetProtocolsList sets the ProtocolsList field's value. 6070func (s *ProtocolsListData) SetProtocolsList(v []*string) *ProtocolsListData { 6071 s.ProtocolsList = v 6072 return s 6073} 6074 6075// Details of the AWS Firewall Manager protocols list. 6076type ProtocolsListDataSummary struct { 6077 _ struct{} `type:"structure"` 6078 6079 // The Amazon Resource Name (ARN) of the specified protocols list. 6080 ListArn *string `min:"1" type:"string"` 6081 6082 // The ID of the specified protocols list. 6083 ListId *string `min:"36" type:"string"` 6084 6085 // The name of the specified protocols list. 6086 ListName *string `min:"1" type:"string"` 6087 6088 // An array of protocols in the AWS Firewall Manager protocols list. 6089 ProtocolsList []*string `type:"list"` 6090} 6091 6092// String returns the string representation 6093func (s ProtocolsListDataSummary) String() string { 6094 return awsutil.Prettify(s) 6095} 6096 6097// GoString returns the string representation 6098func (s ProtocolsListDataSummary) GoString() string { 6099 return s.String() 6100} 6101 6102// SetListArn sets the ListArn field's value. 6103func (s *ProtocolsListDataSummary) SetListArn(v string) *ProtocolsListDataSummary { 6104 s.ListArn = &v 6105 return s 6106} 6107 6108// SetListId sets the ListId field's value. 6109func (s *ProtocolsListDataSummary) SetListId(v string) *ProtocolsListDataSummary { 6110 s.ListId = &v 6111 return s 6112} 6113 6114// SetListName sets the ListName field's value. 6115func (s *ProtocolsListDataSummary) SetListName(v string) *ProtocolsListDataSummary { 6116 s.ListName = &v 6117 return s 6118} 6119 6120// SetProtocolsList sets the ProtocolsList field's value. 6121func (s *ProtocolsListDataSummary) SetProtocolsList(v []*string) *ProtocolsListDataSummary { 6122 s.ProtocolsList = v 6123 return s 6124} 6125 6126type PutAppsListInput struct { 6127 _ struct{} `type:"structure"` 6128 6129 // The details of the AWS Firewall Manager applications list to be created. 6130 // 6131 // AppsList is a required field 6132 AppsList *AppsListData `type:"structure" required:"true"` 6133 6134 // The tags associated with the resource. 6135 TagList []*Tag `type:"list"` 6136} 6137 6138// String returns the string representation 6139func (s PutAppsListInput) String() string { 6140 return awsutil.Prettify(s) 6141} 6142 6143// GoString returns the string representation 6144func (s PutAppsListInput) GoString() string { 6145 return s.String() 6146} 6147 6148// Validate inspects the fields of the type to determine if they are valid. 6149func (s *PutAppsListInput) Validate() error { 6150 invalidParams := request.ErrInvalidParams{Context: "PutAppsListInput"} 6151 if s.AppsList == nil { 6152 invalidParams.Add(request.NewErrParamRequired("AppsList")) 6153 } 6154 if s.AppsList != nil { 6155 if err := s.AppsList.Validate(); err != nil { 6156 invalidParams.AddNested("AppsList", err.(request.ErrInvalidParams)) 6157 } 6158 } 6159 if s.TagList != nil { 6160 for i, v := range s.TagList { 6161 if v == nil { 6162 continue 6163 } 6164 if err := v.Validate(); err != nil { 6165 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6166 } 6167 } 6168 } 6169 6170 if invalidParams.Len() > 0 { 6171 return invalidParams 6172 } 6173 return nil 6174} 6175 6176// SetAppsList sets the AppsList field's value. 6177func (s *PutAppsListInput) SetAppsList(v *AppsListData) *PutAppsListInput { 6178 s.AppsList = v 6179 return s 6180} 6181 6182// SetTagList sets the TagList field's value. 6183func (s *PutAppsListInput) SetTagList(v []*Tag) *PutAppsListInput { 6184 s.TagList = v 6185 return s 6186} 6187 6188type PutAppsListOutput struct { 6189 _ struct{} `type:"structure"` 6190 6191 // The details of the AWS Firewall Manager applications list. 6192 AppsList *AppsListData `type:"structure"` 6193 6194 // The Amazon Resource Name (ARN) of the applications list. 6195 AppsListArn *string `min:"1" type:"string"` 6196} 6197 6198// String returns the string representation 6199func (s PutAppsListOutput) String() string { 6200 return awsutil.Prettify(s) 6201} 6202 6203// GoString returns the string representation 6204func (s PutAppsListOutput) GoString() string { 6205 return s.String() 6206} 6207 6208// SetAppsList sets the AppsList field's value. 6209func (s *PutAppsListOutput) SetAppsList(v *AppsListData) *PutAppsListOutput { 6210 s.AppsList = v 6211 return s 6212} 6213 6214// SetAppsListArn sets the AppsListArn field's value. 6215func (s *PutAppsListOutput) SetAppsListArn(v string) *PutAppsListOutput { 6216 s.AppsListArn = &v 6217 return s 6218} 6219 6220type PutNotificationChannelInput struct { 6221 _ struct{} `type:"structure"` 6222 6223 // The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to 6224 // record AWS Firewall Manager activity. 6225 // 6226 // SnsRoleName is a required field 6227 SnsRoleName *string `min:"1" type:"string" required:"true"` 6228 6229 // The Amazon Resource Name (ARN) of the SNS topic that collects notifications 6230 // from AWS Firewall Manager. 6231 // 6232 // SnsTopicArn is a required field 6233 SnsTopicArn *string `min:"1" type:"string" required:"true"` 6234} 6235 6236// String returns the string representation 6237func (s PutNotificationChannelInput) String() string { 6238 return awsutil.Prettify(s) 6239} 6240 6241// GoString returns the string representation 6242func (s PutNotificationChannelInput) GoString() string { 6243 return s.String() 6244} 6245 6246// Validate inspects the fields of the type to determine if they are valid. 6247func (s *PutNotificationChannelInput) Validate() error { 6248 invalidParams := request.ErrInvalidParams{Context: "PutNotificationChannelInput"} 6249 if s.SnsRoleName == nil { 6250 invalidParams.Add(request.NewErrParamRequired("SnsRoleName")) 6251 } 6252 if s.SnsRoleName != nil && len(*s.SnsRoleName) < 1 { 6253 invalidParams.Add(request.NewErrParamMinLen("SnsRoleName", 1)) 6254 } 6255 if s.SnsTopicArn == nil { 6256 invalidParams.Add(request.NewErrParamRequired("SnsTopicArn")) 6257 } 6258 if s.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 { 6259 invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 1)) 6260 } 6261 6262 if invalidParams.Len() > 0 { 6263 return invalidParams 6264 } 6265 return nil 6266} 6267 6268// SetSnsRoleName sets the SnsRoleName field's value. 6269func (s *PutNotificationChannelInput) SetSnsRoleName(v string) *PutNotificationChannelInput { 6270 s.SnsRoleName = &v 6271 return s 6272} 6273 6274// SetSnsTopicArn sets the SnsTopicArn field's value. 6275func (s *PutNotificationChannelInput) SetSnsTopicArn(v string) *PutNotificationChannelInput { 6276 s.SnsTopicArn = &v 6277 return s 6278} 6279 6280type PutNotificationChannelOutput struct { 6281 _ struct{} `type:"structure"` 6282} 6283 6284// String returns the string representation 6285func (s PutNotificationChannelOutput) String() string { 6286 return awsutil.Prettify(s) 6287} 6288 6289// GoString returns the string representation 6290func (s PutNotificationChannelOutput) GoString() string { 6291 return s.String() 6292} 6293 6294type PutPolicyInput struct { 6295 _ struct{} `type:"structure"` 6296 6297 // The details of the AWS Firewall Manager policy to be created. 6298 // 6299 // Policy is a required field 6300 Policy *Policy `type:"structure" required:"true"` 6301 6302 // The tags to add to the AWS resource. 6303 TagList []*Tag `type:"list"` 6304} 6305 6306// String returns the string representation 6307func (s PutPolicyInput) String() string { 6308 return awsutil.Prettify(s) 6309} 6310 6311// GoString returns the string representation 6312func (s PutPolicyInput) GoString() string { 6313 return s.String() 6314} 6315 6316// Validate inspects the fields of the type to determine if they are valid. 6317func (s *PutPolicyInput) Validate() error { 6318 invalidParams := request.ErrInvalidParams{Context: "PutPolicyInput"} 6319 if s.Policy == nil { 6320 invalidParams.Add(request.NewErrParamRequired("Policy")) 6321 } 6322 if s.Policy != nil { 6323 if err := s.Policy.Validate(); err != nil { 6324 invalidParams.AddNested("Policy", err.(request.ErrInvalidParams)) 6325 } 6326 } 6327 if s.TagList != nil { 6328 for i, v := range s.TagList { 6329 if v == nil { 6330 continue 6331 } 6332 if err := v.Validate(); err != nil { 6333 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6334 } 6335 } 6336 } 6337 6338 if invalidParams.Len() > 0 { 6339 return invalidParams 6340 } 6341 return nil 6342} 6343 6344// SetPolicy sets the Policy field's value. 6345func (s *PutPolicyInput) SetPolicy(v *Policy) *PutPolicyInput { 6346 s.Policy = v 6347 return s 6348} 6349 6350// SetTagList sets the TagList field's value. 6351func (s *PutPolicyInput) SetTagList(v []*Tag) *PutPolicyInput { 6352 s.TagList = v 6353 return s 6354} 6355 6356type PutPolicyOutput struct { 6357 _ struct{} `type:"structure"` 6358 6359 // The details of the AWS Firewall Manager policy. 6360 Policy *Policy `type:"structure"` 6361 6362 // The Amazon Resource Name (ARN) of the policy. 6363 PolicyArn *string `min:"1" type:"string"` 6364} 6365 6366// String returns the string representation 6367func (s PutPolicyOutput) String() string { 6368 return awsutil.Prettify(s) 6369} 6370 6371// GoString returns the string representation 6372func (s PutPolicyOutput) GoString() string { 6373 return s.String() 6374} 6375 6376// SetPolicy sets the Policy field's value. 6377func (s *PutPolicyOutput) SetPolicy(v *Policy) *PutPolicyOutput { 6378 s.Policy = v 6379 return s 6380} 6381 6382// SetPolicyArn sets the PolicyArn field's value. 6383func (s *PutPolicyOutput) SetPolicyArn(v string) *PutPolicyOutput { 6384 s.PolicyArn = &v 6385 return s 6386} 6387 6388type PutProtocolsListInput struct { 6389 _ struct{} `type:"structure"` 6390 6391 // The details of the AWS Firewall Manager protocols list to be created. 6392 // 6393 // ProtocolsList is a required field 6394 ProtocolsList *ProtocolsListData `type:"structure" required:"true"` 6395 6396 // The tags associated with the resource. 6397 TagList []*Tag `type:"list"` 6398} 6399 6400// String returns the string representation 6401func (s PutProtocolsListInput) String() string { 6402 return awsutil.Prettify(s) 6403} 6404 6405// GoString returns the string representation 6406func (s PutProtocolsListInput) GoString() string { 6407 return s.String() 6408} 6409 6410// Validate inspects the fields of the type to determine if they are valid. 6411func (s *PutProtocolsListInput) Validate() error { 6412 invalidParams := request.ErrInvalidParams{Context: "PutProtocolsListInput"} 6413 if s.ProtocolsList == nil { 6414 invalidParams.Add(request.NewErrParamRequired("ProtocolsList")) 6415 } 6416 if s.ProtocolsList != nil { 6417 if err := s.ProtocolsList.Validate(); err != nil { 6418 invalidParams.AddNested("ProtocolsList", err.(request.ErrInvalidParams)) 6419 } 6420 } 6421 if s.TagList != nil { 6422 for i, v := range s.TagList { 6423 if v == nil { 6424 continue 6425 } 6426 if err := v.Validate(); err != nil { 6427 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 6428 } 6429 } 6430 } 6431 6432 if invalidParams.Len() > 0 { 6433 return invalidParams 6434 } 6435 return nil 6436} 6437 6438// SetProtocolsList sets the ProtocolsList field's value. 6439func (s *PutProtocolsListInput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListInput { 6440 s.ProtocolsList = v 6441 return s 6442} 6443 6444// SetTagList sets the TagList field's value. 6445func (s *PutProtocolsListInput) SetTagList(v []*Tag) *PutProtocolsListInput { 6446 s.TagList = v 6447 return s 6448} 6449 6450type PutProtocolsListOutput struct { 6451 _ struct{} `type:"structure"` 6452 6453 // The details of the AWS Firewall Manager protocols list. 6454 ProtocolsList *ProtocolsListData `type:"structure"` 6455 6456 // The Amazon Resource Name (ARN) of the protocols list. 6457 ProtocolsListArn *string `min:"1" type:"string"` 6458} 6459 6460// String returns the string representation 6461func (s PutProtocolsListOutput) String() string { 6462 return awsutil.Prettify(s) 6463} 6464 6465// GoString returns the string representation 6466func (s PutProtocolsListOutput) GoString() string { 6467 return s.String() 6468} 6469 6470// SetProtocolsList sets the ProtocolsList field's value. 6471func (s *PutProtocolsListOutput) SetProtocolsList(v *ProtocolsListData) *PutProtocolsListOutput { 6472 s.ProtocolsList = v 6473 return s 6474} 6475 6476// SetProtocolsListArn sets the ProtocolsListArn field's value. 6477func (s *PutProtocolsListOutput) SetProtocolsListArn(v string) *PutProtocolsListOutput { 6478 s.ProtocolsListArn = &v 6479 return s 6480} 6481 6482// The specified resource was not found. 6483type ResourceNotFoundException struct { 6484 _ struct{} `type:"structure"` 6485 RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"` 6486 6487 Message_ *string `locationName:"Message" type:"string"` 6488} 6489 6490// String returns the string representation 6491func (s ResourceNotFoundException) String() string { 6492 return awsutil.Prettify(s) 6493} 6494 6495// GoString returns the string representation 6496func (s ResourceNotFoundException) GoString() string { 6497 return s.String() 6498} 6499 6500func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error { 6501 return &ResourceNotFoundException{ 6502 RespMetadata: v, 6503 } 6504} 6505 6506// Code returns the exception type name. 6507func (s *ResourceNotFoundException) Code() string { 6508 return "ResourceNotFoundException" 6509} 6510 6511// Message returns the exception's message. 6512func (s *ResourceNotFoundException) Message() string { 6513 if s.Message_ != nil { 6514 return *s.Message_ 6515 } 6516 return "" 6517} 6518 6519// OrigErr always returns nil, satisfies awserr.Error interface. 6520func (s *ResourceNotFoundException) OrigErr() error { 6521 return nil 6522} 6523 6524func (s *ResourceNotFoundException) Error() string { 6525 return fmt.Sprintf("%s: %s", s.Code(), s.Message()) 6526} 6527 6528// Status code returns the HTTP status code for the request's response error. 6529func (s *ResourceNotFoundException) StatusCode() int { 6530 return s.RespMetadata.StatusCode 6531} 6532 6533// RequestID returns the service's response RequestID for request. 6534func (s *ResourceNotFoundException) RequestID() string { 6535 return s.RespMetadata.RequestID 6536} 6537 6538// The resource tags that AWS Firewall Manager uses to determine if a particular 6539// resource should be included or excluded from the AWS Firewall Manager policy. 6540// Tags enable you to categorize your AWS resources in different ways, for example, 6541// by purpose, owner, or environment. Each tag consists of a key and an optional 6542// value. Firewall Manager combines the tags with "AND" so that, if you add 6543// more than one tag to a policy scope, a resource must have all the specified 6544// tags to be included or excluded. For more information, see Working with Tag 6545// Editor (https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html). 6546type ResourceTag struct { 6547 _ struct{} `type:"structure"` 6548 6549 // The resource tag key. 6550 // 6551 // Key is a required field 6552 Key *string `min:"1" type:"string" required:"true"` 6553 6554 // The resource tag value. 6555 Value *string `type:"string"` 6556} 6557 6558// String returns the string representation 6559func (s ResourceTag) String() string { 6560 return awsutil.Prettify(s) 6561} 6562 6563// GoString returns the string representation 6564func (s ResourceTag) GoString() string { 6565 return s.String() 6566} 6567 6568// Validate inspects the fields of the type to determine if they are valid. 6569func (s *ResourceTag) Validate() error { 6570 invalidParams := request.ErrInvalidParams{Context: "ResourceTag"} 6571 if s.Key == nil { 6572 invalidParams.Add(request.NewErrParamRequired("Key")) 6573 } 6574 if s.Key != nil && len(*s.Key) < 1 { 6575 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 6576 } 6577 6578 if invalidParams.Len() > 0 { 6579 return invalidParams 6580 } 6581 return nil 6582} 6583 6584// SetKey sets the Key field's value. 6585func (s *ResourceTag) SetKey(v string) *ResourceTag { 6586 s.Key = &v 6587 return s 6588} 6589 6590// SetValue sets the Value field's value. 6591func (s *ResourceTag) SetValue(v string) *ResourceTag { 6592 s.Value = &v 6593 return s 6594} 6595 6596// Violation detail based on resource type. 6597type ResourceViolation struct { 6598 _ struct{} `type:"structure"` 6599 6600 // Violation details for an EC2 instance. 6601 AwsEc2InstanceViolation *AwsEc2InstanceViolation `type:"structure"` 6602 6603 // Violation details for network interface. 6604 AwsEc2NetworkInterfaceViolation *AwsEc2NetworkInterfaceViolation `type:"structure"` 6605 6606 // Violation details for security groups. 6607 AwsVPCSecurityGroupViolation *AwsVPCSecurityGroupViolation `type:"structure"` 6608 6609 // Violation detail for a DNS Firewall policy that indicates that a rule group 6610 // that Firewall Manager tried to associate with a VPC is already associated 6611 // with the VPC and can't be associated again. 6612 DnsDuplicateRuleGroupViolation *DnsDuplicateRuleGroupViolation `type:"structure"` 6613 6614 // Violation details for a DNS Firewall policy that indicates that the VPC reached 6615 // the limit for associated DNS Firewall rule groups. Firewall Manager tried 6616 // to associate another rule group with the VPC and failed. 6617 DnsRuleGroupLimitExceededViolation *DnsRuleGroupLimitExceededViolation `type:"structure"` 6618 6619 // Violation detail for a DNS Firewall policy that indicates that a rule group 6620 // that Firewall Manager tried to associate with a VPC has the same priority 6621 // as a rule group that's already associated. 6622 DnsRuleGroupPriorityConflictViolation *DnsRuleGroupPriorityConflictViolation `type:"structure"` 6623 6624 // Violation detail for an Network Firewall policy that indicates that a subnet 6625 // is not associated with the expected Firewall Manager managed route table. 6626 NetworkFirewallMissingExpectedRTViolation *NetworkFirewallMissingExpectedRTViolation `type:"structure"` 6627 6628 // Violation detail for an Network Firewall policy that indicates that a subnet 6629 // has no Firewall Manager managed firewall in its VPC. 6630 NetworkFirewallMissingFirewallViolation *NetworkFirewallMissingFirewallViolation `type:"structure"` 6631 6632 // Violation detail for an Network Firewall policy that indicates that an Availability 6633 // Zone is missing the expected Firewall Manager managed subnet. 6634 NetworkFirewallMissingSubnetViolation *NetworkFirewallMissingSubnetViolation `type:"structure"` 6635 6636 // Violation detail for an Network Firewall policy that indicates that a firewall 6637 // policy in an individual account has been modified in a way that makes it 6638 // noncompliant. For example, the individual account owner might have deleted 6639 // a rule group, changed the priority of a stateless rule group, or changed 6640 // a policy default action. 6641 NetworkFirewallPolicyModifiedViolation *NetworkFirewallPolicyModifiedViolation `type:"structure"` 6642} 6643 6644// String returns the string representation 6645func (s ResourceViolation) String() string { 6646 return awsutil.Prettify(s) 6647} 6648 6649// GoString returns the string representation 6650func (s ResourceViolation) GoString() string { 6651 return s.String() 6652} 6653 6654// SetAwsEc2InstanceViolation sets the AwsEc2InstanceViolation field's value. 6655func (s *ResourceViolation) SetAwsEc2InstanceViolation(v *AwsEc2InstanceViolation) *ResourceViolation { 6656 s.AwsEc2InstanceViolation = v 6657 return s 6658} 6659 6660// SetAwsEc2NetworkInterfaceViolation sets the AwsEc2NetworkInterfaceViolation field's value. 6661func (s *ResourceViolation) SetAwsEc2NetworkInterfaceViolation(v *AwsEc2NetworkInterfaceViolation) *ResourceViolation { 6662 s.AwsEc2NetworkInterfaceViolation = v 6663 return s 6664} 6665 6666// SetAwsVPCSecurityGroupViolation sets the AwsVPCSecurityGroupViolation field's value. 6667func (s *ResourceViolation) SetAwsVPCSecurityGroupViolation(v *AwsVPCSecurityGroupViolation) *ResourceViolation { 6668 s.AwsVPCSecurityGroupViolation = v 6669 return s 6670} 6671 6672// SetDnsDuplicateRuleGroupViolation sets the DnsDuplicateRuleGroupViolation field's value. 6673func (s *ResourceViolation) SetDnsDuplicateRuleGroupViolation(v *DnsDuplicateRuleGroupViolation) *ResourceViolation { 6674 s.DnsDuplicateRuleGroupViolation = v 6675 return s 6676} 6677 6678// SetDnsRuleGroupLimitExceededViolation sets the DnsRuleGroupLimitExceededViolation field's value. 6679func (s *ResourceViolation) SetDnsRuleGroupLimitExceededViolation(v *DnsRuleGroupLimitExceededViolation) *ResourceViolation { 6680 s.DnsRuleGroupLimitExceededViolation = v 6681 return s 6682} 6683 6684// SetDnsRuleGroupPriorityConflictViolation sets the DnsRuleGroupPriorityConflictViolation field's value. 6685func (s *ResourceViolation) SetDnsRuleGroupPriorityConflictViolation(v *DnsRuleGroupPriorityConflictViolation) *ResourceViolation { 6686 s.DnsRuleGroupPriorityConflictViolation = v 6687 return s 6688} 6689 6690// SetNetworkFirewallMissingExpectedRTViolation sets the NetworkFirewallMissingExpectedRTViolation field's value. 6691func (s *ResourceViolation) SetNetworkFirewallMissingExpectedRTViolation(v *NetworkFirewallMissingExpectedRTViolation) *ResourceViolation { 6692 s.NetworkFirewallMissingExpectedRTViolation = v 6693 return s 6694} 6695 6696// SetNetworkFirewallMissingFirewallViolation sets the NetworkFirewallMissingFirewallViolation field's value. 6697func (s *ResourceViolation) SetNetworkFirewallMissingFirewallViolation(v *NetworkFirewallMissingFirewallViolation) *ResourceViolation { 6698 s.NetworkFirewallMissingFirewallViolation = v 6699 return s 6700} 6701 6702// SetNetworkFirewallMissingSubnetViolation sets the NetworkFirewallMissingSubnetViolation field's value. 6703func (s *ResourceViolation) SetNetworkFirewallMissingSubnetViolation(v *NetworkFirewallMissingSubnetViolation) *ResourceViolation { 6704 s.NetworkFirewallMissingSubnetViolation = v 6705 return s 6706} 6707 6708// SetNetworkFirewallPolicyModifiedViolation sets the NetworkFirewallPolicyModifiedViolation field's value. 6709func (s *ResourceViolation) SetNetworkFirewallPolicyModifiedViolation(v *NetworkFirewallPolicyModifiedViolation) *ResourceViolation { 6710 s.NetworkFirewallPolicyModifiedViolation = v 6711 return s 6712} 6713 6714// Remediation option for the rule specified in the ViolationTarget. 6715type SecurityGroupRemediationAction struct { 6716 _ struct{} `type:"structure"` 6717 6718 // Brief description of the action that will be performed. 6719 Description *string `type:"string"` 6720 6721 // Indicates if the current action is the default action. 6722 IsDefaultAction *bool `type:"boolean"` 6723 6724 // The remediation action that will be performed. 6725 RemediationActionType *string `type:"string" enum:"RemediationActionType"` 6726 6727 // The final state of the rule specified in the ViolationTarget after it is 6728 // remediated. 6729 RemediationResult *SecurityGroupRuleDescription `type:"structure"` 6730} 6731 6732// String returns the string representation 6733func (s SecurityGroupRemediationAction) String() string { 6734 return awsutil.Prettify(s) 6735} 6736 6737// GoString returns the string representation 6738func (s SecurityGroupRemediationAction) GoString() string { 6739 return s.String() 6740} 6741 6742// SetDescription sets the Description field's value. 6743func (s *SecurityGroupRemediationAction) SetDescription(v string) *SecurityGroupRemediationAction { 6744 s.Description = &v 6745 return s 6746} 6747 6748// SetIsDefaultAction sets the IsDefaultAction field's value. 6749func (s *SecurityGroupRemediationAction) SetIsDefaultAction(v bool) *SecurityGroupRemediationAction { 6750 s.IsDefaultAction = &v 6751 return s 6752} 6753 6754// SetRemediationActionType sets the RemediationActionType field's value. 6755func (s *SecurityGroupRemediationAction) SetRemediationActionType(v string) *SecurityGroupRemediationAction { 6756 s.RemediationActionType = &v 6757 return s 6758} 6759 6760// SetRemediationResult sets the RemediationResult field's value. 6761func (s *SecurityGroupRemediationAction) SetRemediationResult(v *SecurityGroupRuleDescription) *SecurityGroupRemediationAction { 6762 s.RemediationResult = v 6763 return s 6764} 6765 6766// Describes a set of permissions for a security group rule. 6767type SecurityGroupRuleDescription struct { 6768 _ struct{} `type:"structure"` 6769 6770 // The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 6771 // type number. A value of -1 indicates all ICMP/ICMPv6 types. 6772 FromPort *int64 `type:"long"` 6773 6774 // The IPv4 ranges for the security group rule. 6775 IPV4Range *string `type:"string"` 6776 6777 // The IPv6 ranges for the security group rule. 6778 IPV6Range *string `type:"string"` 6779 6780 // The ID of the prefix list for the security group rule. 6781 PrefixListId *string `min:"1" type:"string"` 6782 6783 // The IP protocol name (tcp, udp, icmp, icmpv6) or number. 6784 Protocol *string `type:"string"` 6785 6786 // The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6 6787 // code. A value of -1 indicates all ICMP/ICMPv6 codes. 6788 ToPort *int64 `type:"long"` 6789} 6790 6791// String returns the string representation 6792func (s SecurityGroupRuleDescription) String() string { 6793 return awsutil.Prettify(s) 6794} 6795 6796// GoString returns the string representation 6797func (s SecurityGroupRuleDescription) GoString() string { 6798 return s.String() 6799} 6800 6801// SetFromPort sets the FromPort field's value. 6802func (s *SecurityGroupRuleDescription) SetFromPort(v int64) *SecurityGroupRuleDescription { 6803 s.FromPort = &v 6804 return s 6805} 6806 6807// SetIPV4Range sets the IPV4Range field's value. 6808func (s *SecurityGroupRuleDescription) SetIPV4Range(v string) *SecurityGroupRuleDescription { 6809 s.IPV4Range = &v 6810 return s 6811} 6812 6813// SetIPV6Range sets the IPV6Range field's value. 6814func (s *SecurityGroupRuleDescription) SetIPV6Range(v string) *SecurityGroupRuleDescription { 6815 s.IPV6Range = &v 6816 return s 6817} 6818 6819// SetPrefixListId sets the PrefixListId field's value. 6820func (s *SecurityGroupRuleDescription) SetPrefixListId(v string) *SecurityGroupRuleDescription { 6821 s.PrefixListId = &v 6822 return s 6823} 6824 6825// SetProtocol sets the Protocol field's value. 6826func (s *SecurityGroupRuleDescription) SetProtocol(v string) *SecurityGroupRuleDescription { 6827 s.Protocol = &v 6828 return s 6829} 6830 6831// SetToPort sets the ToPort field's value. 6832func (s *SecurityGroupRuleDescription) SetToPort(v int64) *SecurityGroupRuleDescription { 6833 s.ToPort = &v 6834 return s 6835} 6836 6837// Details about the security service that is being used to protect the resources. 6838type SecurityServicePolicyData struct { 6839 _ struct{} `type:"structure"` 6840 6841 // Details about the service that are specific to the service type, in JSON 6842 // format. For service type SHIELD_ADVANCED, this is an empty string. 6843 // 6844 // * 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\"]} 6845 // }" 6846 // 6847 // * 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\"}]}}" 6848 // In the loggingConfiguration, you can specify one logDestinationConfigs, 6849 // you can optionally provide up to 20 redactedFields, and the RedactedFieldType 6850 // must be one of URI, QUERY_STRING, HEADER, or METHOD. 6851 // 6852 // * Example: WAF Classic "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\":\"12345678-1bcd-9012-efga-0987654321ab\", 6853 // \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\": 6854 // \"BLOCK\"}}" 6855 // 6856 // * Example: SECURITY_GROUPS_COMMON "{\"type\":\"SECURITY_GROUPS_COMMON\",\"revertManualSecurityGroupChanges\":false,\"exclusiveResourceSecurityGroupManagement\":false, 6857 // \"applyToAllEC2InstanceENIs\":false,\"securityGroups\":[{\"id\":\" sg-000e55995d61a06bd\"}]}" 6858 // 6859 // * Example: SECURITY_GROUPS_CONTENT_AUDIT "{\"type\":\"SECURITY_GROUPS_CONTENT_AUDIT\",\"securityGroups\":[{\"id\":\"sg-000e55995d61a06bd\"}],\"securityGroupAction\":{\"type\":\"ALLOW\"}}" 6860 // The security group action for content audit can be ALLOW or DENY. For 6861 // ALLOW, all in-scope security group rules must be within the allowed range 6862 // of the policy's security group rules. For DENY, all in-scope security 6863 // group rules must not contain a value or a range that matches a rule value 6864 // or range in the policy security group. 6865 // 6866 // * Example: SECURITY_GROUPS_USAGE_AUDIT "{\"type\":\"SECURITY_GROUPS_USAGE_AUDIT\",\"deleteUnusedSecurityGroups\":true,\"coalesceRedundantSecurityGroups\":true}" 6867 ManagedServiceData *string `min:"1" type:"string"` 6868 6869 // The service that the policy is using to protect the resources. This specifies 6870 // the type of policy that is created, either an AWS WAF policy, a Shield Advanced 6871 // policy, or a security group policy. For security group policies, Firewall 6872 // Manager supports one security group for each common policy and for each content 6873 // audit policy. This is an adjustable limit that you can increase by contacting 6874 // AWS Support. 6875 // 6876 // Type is a required field 6877 Type *string `type:"string" required:"true" enum:"SecurityServiceType"` 6878} 6879 6880// String returns the string representation 6881func (s SecurityServicePolicyData) String() string { 6882 return awsutil.Prettify(s) 6883} 6884 6885// GoString returns the string representation 6886func (s SecurityServicePolicyData) GoString() string { 6887 return s.String() 6888} 6889 6890// Validate inspects the fields of the type to determine if they are valid. 6891func (s *SecurityServicePolicyData) Validate() error { 6892 invalidParams := request.ErrInvalidParams{Context: "SecurityServicePolicyData"} 6893 if s.ManagedServiceData != nil && len(*s.ManagedServiceData) < 1 { 6894 invalidParams.Add(request.NewErrParamMinLen("ManagedServiceData", 1)) 6895 } 6896 if s.Type == nil { 6897 invalidParams.Add(request.NewErrParamRequired("Type")) 6898 } 6899 6900 if invalidParams.Len() > 0 { 6901 return invalidParams 6902 } 6903 return nil 6904} 6905 6906// SetManagedServiceData sets the ManagedServiceData field's value. 6907func (s *SecurityServicePolicyData) SetManagedServiceData(v string) *SecurityServicePolicyData { 6908 s.ManagedServiceData = &v 6909 return s 6910} 6911 6912// SetType sets the Type field's value. 6913func (s *SecurityServicePolicyData) SetType(v string) *SecurityServicePolicyData { 6914 s.Type = &v 6915 return s 6916} 6917 6918// AWS Network Firewall stateful rule group, used in a NetworkFirewallPolicyDescription. 6919type StatefulRuleGroup struct { 6920 _ struct{} `type:"structure"` 6921 6922 // The resource ID of the rule group. 6923 ResourceId *string `min:"1" type:"string"` 6924 6925 // The name of the rule group. 6926 RuleGroupName *string `min:"1" type:"string"` 6927} 6928 6929// String returns the string representation 6930func (s StatefulRuleGroup) String() string { 6931 return awsutil.Prettify(s) 6932} 6933 6934// GoString returns the string representation 6935func (s StatefulRuleGroup) GoString() string { 6936 return s.String() 6937} 6938 6939// SetResourceId sets the ResourceId field's value. 6940func (s *StatefulRuleGroup) SetResourceId(v string) *StatefulRuleGroup { 6941 s.ResourceId = &v 6942 return s 6943} 6944 6945// SetRuleGroupName sets the RuleGroupName field's value. 6946func (s *StatefulRuleGroup) SetRuleGroupName(v string) *StatefulRuleGroup { 6947 s.RuleGroupName = &v 6948 return s 6949} 6950 6951// AWS Network Firewall stateless rule group, used in a NetworkFirewallPolicyDescription. 6952type StatelessRuleGroup struct { 6953 _ struct{} `type:"structure"` 6954 6955 // The priority of the rule group. AWS Network Firewall evaluates the stateless 6956 // rule groups in a firewall policy starting from the lowest priority setting. 6957 Priority *int64 `min:"1" type:"integer"` 6958 6959 // The resource ID of the rule group. 6960 ResourceId *string `min:"1" type:"string"` 6961 6962 // The name of the rule group. 6963 RuleGroupName *string `min:"1" type:"string"` 6964} 6965 6966// String returns the string representation 6967func (s StatelessRuleGroup) String() string { 6968 return awsutil.Prettify(s) 6969} 6970 6971// GoString returns the string representation 6972func (s StatelessRuleGroup) GoString() string { 6973 return s.String() 6974} 6975 6976// SetPriority sets the Priority field's value. 6977func (s *StatelessRuleGroup) SetPriority(v int64) *StatelessRuleGroup { 6978 s.Priority = &v 6979 return s 6980} 6981 6982// SetResourceId sets the ResourceId field's value. 6983func (s *StatelessRuleGroup) SetResourceId(v string) *StatelessRuleGroup { 6984 s.ResourceId = &v 6985 return s 6986} 6987 6988// SetRuleGroupName sets the RuleGroupName field's value. 6989func (s *StatelessRuleGroup) SetRuleGroupName(v string) *StatelessRuleGroup { 6990 s.RuleGroupName = &v 6991 return s 6992} 6993 6994// A collection of key:value pairs associated with an AWS resource. The key:value 6995// pair can be anything you define. Typically, the tag key represents a category 6996// (such as "environment") and the tag value represents a specific value within 6997// that category (such as "test," "development," or "production"). You can add 6998// up to 50 tags to each AWS resource. 6999type Tag struct { 7000 _ struct{} `type:"structure"` 7001 7002 // Part of the key:value pair that defines a tag. You can use a tag key to describe 7003 // a category of information, such as "customer." Tag keys are case-sensitive. 7004 // 7005 // Key is a required field 7006 Key *string `min:"1" type:"string" required:"true"` 7007 7008 // Part of the key:value pair that defines a tag. You can use a tag value to 7009 // describe a specific value within a category, such as "companyA" or "companyB." 7010 // Tag values are case-sensitive. 7011 // 7012 // Value is a required field 7013 Value *string `type:"string" required:"true"` 7014} 7015 7016// String returns the string representation 7017func (s Tag) String() string { 7018 return awsutil.Prettify(s) 7019} 7020 7021// GoString returns the string representation 7022func (s Tag) GoString() string { 7023 return s.String() 7024} 7025 7026// Validate inspects the fields of the type to determine if they are valid. 7027func (s *Tag) Validate() error { 7028 invalidParams := request.ErrInvalidParams{Context: "Tag"} 7029 if s.Key == nil { 7030 invalidParams.Add(request.NewErrParamRequired("Key")) 7031 } 7032 if s.Key != nil && len(*s.Key) < 1 { 7033 invalidParams.Add(request.NewErrParamMinLen("Key", 1)) 7034 } 7035 if s.Value == nil { 7036 invalidParams.Add(request.NewErrParamRequired("Value")) 7037 } 7038 7039 if invalidParams.Len() > 0 { 7040 return invalidParams 7041 } 7042 return nil 7043} 7044 7045// SetKey sets the Key field's value. 7046func (s *Tag) SetKey(v string) *Tag { 7047 s.Key = &v 7048 return s 7049} 7050 7051// SetValue sets the Value field's value. 7052func (s *Tag) SetValue(v string) *Tag { 7053 s.Value = &v 7054 return s 7055} 7056 7057type TagResourceInput struct { 7058 _ struct{} `type:"structure"` 7059 7060 // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS 7061 // Firewall Manager resources that support tagging are policies, applications 7062 // lists, and protocols lists. 7063 // 7064 // ResourceArn is a required field 7065 ResourceArn *string `min:"1" type:"string" required:"true"` 7066 7067 // The tags to add to the resource. 7068 // 7069 // TagList is a required field 7070 TagList []*Tag `type:"list" required:"true"` 7071} 7072 7073// String returns the string representation 7074func (s TagResourceInput) String() string { 7075 return awsutil.Prettify(s) 7076} 7077 7078// GoString returns the string representation 7079func (s TagResourceInput) GoString() string { 7080 return s.String() 7081} 7082 7083// Validate inspects the fields of the type to determine if they are valid. 7084func (s *TagResourceInput) Validate() error { 7085 invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"} 7086 if s.ResourceArn == nil { 7087 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7088 } 7089 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7090 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7091 } 7092 if s.TagList == nil { 7093 invalidParams.Add(request.NewErrParamRequired("TagList")) 7094 } 7095 if s.TagList != nil { 7096 for i, v := range s.TagList { 7097 if v == nil { 7098 continue 7099 } 7100 if err := v.Validate(); err != nil { 7101 invalidParams.AddNested(fmt.Sprintf("%s[%v]", "TagList", i), err.(request.ErrInvalidParams)) 7102 } 7103 } 7104 } 7105 7106 if invalidParams.Len() > 0 { 7107 return invalidParams 7108 } 7109 return nil 7110} 7111 7112// SetResourceArn sets the ResourceArn field's value. 7113func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput { 7114 s.ResourceArn = &v 7115 return s 7116} 7117 7118// SetTagList sets the TagList field's value. 7119func (s *TagResourceInput) SetTagList(v []*Tag) *TagResourceInput { 7120 s.TagList = v 7121 return s 7122} 7123 7124type TagResourceOutput struct { 7125 _ struct{} `type:"structure"` 7126} 7127 7128// String returns the string representation 7129func (s TagResourceOutput) String() string { 7130 return awsutil.Prettify(s) 7131} 7132 7133// GoString returns the string representation 7134func (s TagResourceOutput) GoString() string { 7135 return s.String() 7136} 7137 7138type UntagResourceInput struct { 7139 _ struct{} `type:"structure"` 7140 7141 // The Amazon Resource Name (ARN) of the resource to return tags for. The AWS 7142 // Firewall Manager resources that support tagging are policies, applications 7143 // lists, and protocols lists. 7144 // 7145 // ResourceArn is a required field 7146 ResourceArn *string `min:"1" type:"string" required:"true"` 7147 7148 // The keys of the tags to remove from the resource. 7149 // 7150 // TagKeys is a required field 7151 TagKeys []*string `type:"list" required:"true"` 7152} 7153 7154// String returns the string representation 7155func (s UntagResourceInput) String() string { 7156 return awsutil.Prettify(s) 7157} 7158 7159// GoString returns the string representation 7160func (s UntagResourceInput) GoString() string { 7161 return s.String() 7162} 7163 7164// Validate inspects the fields of the type to determine if they are valid. 7165func (s *UntagResourceInput) Validate() error { 7166 invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"} 7167 if s.ResourceArn == nil { 7168 invalidParams.Add(request.NewErrParamRequired("ResourceArn")) 7169 } 7170 if s.ResourceArn != nil && len(*s.ResourceArn) < 1 { 7171 invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1)) 7172 } 7173 if s.TagKeys == nil { 7174 invalidParams.Add(request.NewErrParamRequired("TagKeys")) 7175 } 7176 7177 if invalidParams.Len() > 0 { 7178 return invalidParams 7179 } 7180 return nil 7181} 7182 7183// SetResourceArn sets the ResourceArn field's value. 7184func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput { 7185 s.ResourceArn = &v 7186 return s 7187} 7188 7189// SetTagKeys sets the TagKeys field's value. 7190func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput { 7191 s.TagKeys = v 7192 return s 7193} 7194 7195type UntagResourceOutput struct { 7196 _ struct{} `type:"structure"` 7197} 7198 7199// String returns the string representation 7200func (s UntagResourceOutput) String() string { 7201 return awsutil.Prettify(s) 7202} 7203 7204// GoString returns the string representation 7205func (s UntagResourceOutput) GoString() string { 7206 return s.String() 7207} 7208 7209// Violations for a resource based on the specified AWS Firewall Manager policy 7210// and AWS account. 7211type ViolationDetail struct { 7212 _ struct{} `type:"structure"` 7213 7214 // The AWS account that the violation details were requested for. 7215 // 7216 // MemberAccount is a required field 7217 MemberAccount *string `min:"1" type:"string" required:"true"` 7218 7219 // The ID of the AWS Firewall Manager policy that the violation details were 7220 // requested for. 7221 // 7222 // PolicyId is a required field 7223 PolicyId *string `min:"36" type:"string" required:"true"` 7224 7225 // Brief description for the requested resource. 7226 ResourceDescription *string `type:"string"` 7227 7228 // The resource ID that the violation details were requested for. 7229 // 7230 // ResourceId is a required field 7231 ResourceId *string `min:"1" type:"string" required:"true"` 7232 7233 // The ResourceTag objects associated with the resource. 7234 ResourceTags []*Tag `type:"list"` 7235 7236 // The resource type that the violation details were requested for. 7237 // 7238 // ResourceType is a required field 7239 ResourceType *string `min:"1" type:"string" required:"true"` 7240 7241 // List of violations for the requested resource. 7242 // 7243 // ResourceViolations is a required field 7244 ResourceViolations []*ResourceViolation `type:"list" required:"true"` 7245} 7246 7247// String returns the string representation 7248func (s ViolationDetail) String() string { 7249 return awsutil.Prettify(s) 7250} 7251 7252// GoString returns the string representation 7253func (s ViolationDetail) GoString() string { 7254 return s.String() 7255} 7256 7257// SetMemberAccount sets the MemberAccount field's value. 7258func (s *ViolationDetail) SetMemberAccount(v string) *ViolationDetail { 7259 s.MemberAccount = &v 7260 return s 7261} 7262 7263// SetPolicyId sets the PolicyId field's value. 7264func (s *ViolationDetail) SetPolicyId(v string) *ViolationDetail { 7265 s.PolicyId = &v 7266 return s 7267} 7268 7269// SetResourceDescription sets the ResourceDescription field's value. 7270func (s *ViolationDetail) SetResourceDescription(v string) *ViolationDetail { 7271 s.ResourceDescription = &v 7272 return s 7273} 7274 7275// SetResourceId sets the ResourceId field's value. 7276func (s *ViolationDetail) SetResourceId(v string) *ViolationDetail { 7277 s.ResourceId = &v 7278 return s 7279} 7280 7281// SetResourceTags sets the ResourceTags field's value. 7282func (s *ViolationDetail) SetResourceTags(v []*Tag) *ViolationDetail { 7283 s.ResourceTags = v 7284 return s 7285} 7286 7287// SetResourceType sets the ResourceType field's value. 7288func (s *ViolationDetail) SetResourceType(v string) *ViolationDetail { 7289 s.ResourceType = &v 7290 return s 7291} 7292 7293// SetResourceViolations sets the ResourceViolations field's value. 7294func (s *ViolationDetail) SetResourceViolations(v []*ResourceViolation) *ViolationDetail { 7295 s.ResourceViolations = v 7296 return s 7297} 7298 7299const ( 7300 // AccountRoleStatusReady is a AccountRoleStatus enum value 7301 AccountRoleStatusReady = "READY" 7302 7303 // AccountRoleStatusCreating is a AccountRoleStatus enum value 7304 AccountRoleStatusCreating = "CREATING" 7305 7306 // AccountRoleStatusPendingDeletion is a AccountRoleStatus enum value 7307 AccountRoleStatusPendingDeletion = "PENDING_DELETION" 7308 7309 // AccountRoleStatusDeleting is a AccountRoleStatus enum value 7310 AccountRoleStatusDeleting = "DELETING" 7311 7312 // AccountRoleStatusDeleted is a AccountRoleStatus enum value 7313 AccountRoleStatusDeleted = "DELETED" 7314) 7315 7316// AccountRoleStatus_Values returns all elements of the AccountRoleStatus enum 7317func AccountRoleStatus_Values() []string { 7318 return []string{ 7319 AccountRoleStatusReady, 7320 AccountRoleStatusCreating, 7321 AccountRoleStatusPendingDeletion, 7322 AccountRoleStatusDeleting, 7323 AccountRoleStatusDeleted, 7324 } 7325} 7326 7327const ( 7328 // CustomerPolicyScopeIdTypeAccount is a CustomerPolicyScopeIdType enum value 7329 CustomerPolicyScopeIdTypeAccount = "ACCOUNT" 7330 7331 // CustomerPolicyScopeIdTypeOrgUnit is a CustomerPolicyScopeIdType enum value 7332 CustomerPolicyScopeIdTypeOrgUnit = "ORG_UNIT" 7333) 7334 7335// CustomerPolicyScopeIdType_Values returns all elements of the CustomerPolicyScopeIdType enum 7336func CustomerPolicyScopeIdType_Values() []string { 7337 return []string{ 7338 CustomerPolicyScopeIdTypeAccount, 7339 CustomerPolicyScopeIdTypeOrgUnit, 7340 } 7341} 7342 7343const ( 7344 // DependentServiceNameAwsconfig is a DependentServiceName enum value 7345 DependentServiceNameAwsconfig = "AWSCONFIG" 7346 7347 // DependentServiceNameAwswaf is a DependentServiceName enum value 7348 DependentServiceNameAwswaf = "AWSWAF" 7349 7350 // DependentServiceNameAwsshieldAdvanced is a DependentServiceName enum value 7351 DependentServiceNameAwsshieldAdvanced = "AWSSHIELD_ADVANCED" 7352 7353 // DependentServiceNameAwsvpc is a DependentServiceName enum value 7354 DependentServiceNameAwsvpc = "AWSVPC" 7355) 7356 7357// DependentServiceName_Values returns all elements of the DependentServiceName enum 7358func DependentServiceName_Values() []string { 7359 return []string{ 7360 DependentServiceNameAwsconfig, 7361 DependentServiceNameAwswaf, 7362 DependentServiceNameAwsshieldAdvanced, 7363 DependentServiceNameAwsvpc, 7364 } 7365} 7366 7367const ( 7368 // PolicyComplianceStatusTypeCompliant is a PolicyComplianceStatusType enum value 7369 PolicyComplianceStatusTypeCompliant = "COMPLIANT" 7370 7371 // PolicyComplianceStatusTypeNonCompliant is a PolicyComplianceStatusType enum value 7372 PolicyComplianceStatusTypeNonCompliant = "NON_COMPLIANT" 7373) 7374 7375// PolicyComplianceStatusType_Values returns all elements of the PolicyComplianceStatusType enum 7376func PolicyComplianceStatusType_Values() []string { 7377 return []string{ 7378 PolicyComplianceStatusTypeCompliant, 7379 PolicyComplianceStatusTypeNonCompliant, 7380 } 7381} 7382 7383const ( 7384 // RemediationActionTypeRemove is a RemediationActionType enum value 7385 RemediationActionTypeRemove = "REMOVE" 7386 7387 // RemediationActionTypeModify is a RemediationActionType enum value 7388 RemediationActionTypeModify = "MODIFY" 7389) 7390 7391// RemediationActionType_Values returns all elements of the RemediationActionType enum 7392func RemediationActionType_Values() []string { 7393 return []string{ 7394 RemediationActionTypeRemove, 7395 RemediationActionTypeModify, 7396 } 7397} 7398 7399const ( 7400 // SecurityServiceTypeWaf is a SecurityServiceType enum value 7401 SecurityServiceTypeWaf = "WAF" 7402 7403 // SecurityServiceTypeWafv2 is a SecurityServiceType enum value 7404 SecurityServiceTypeWafv2 = "WAFV2" 7405 7406 // SecurityServiceTypeShieldAdvanced is a SecurityServiceType enum value 7407 SecurityServiceTypeShieldAdvanced = "SHIELD_ADVANCED" 7408 7409 // SecurityServiceTypeSecurityGroupsCommon is a SecurityServiceType enum value 7410 SecurityServiceTypeSecurityGroupsCommon = "SECURITY_GROUPS_COMMON" 7411 7412 // SecurityServiceTypeSecurityGroupsContentAudit is a SecurityServiceType enum value 7413 SecurityServiceTypeSecurityGroupsContentAudit = "SECURITY_GROUPS_CONTENT_AUDIT" 7414 7415 // SecurityServiceTypeSecurityGroupsUsageAudit is a SecurityServiceType enum value 7416 SecurityServiceTypeSecurityGroupsUsageAudit = "SECURITY_GROUPS_USAGE_AUDIT" 7417 7418 // SecurityServiceTypeNetworkFirewall is a SecurityServiceType enum value 7419 SecurityServiceTypeNetworkFirewall = "NETWORK_FIREWALL" 7420 7421 // SecurityServiceTypeDnsFirewall is a SecurityServiceType enum value 7422 SecurityServiceTypeDnsFirewall = "DNS_FIREWALL" 7423) 7424 7425// SecurityServiceType_Values returns all elements of the SecurityServiceType enum 7426func SecurityServiceType_Values() []string { 7427 return []string{ 7428 SecurityServiceTypeWaf, 7429 SecurityServiceTypeWafv2, 7430 SecurityServiceTypeShieldAdvanced, 7431 SecurityServiceTypeSecurityGroupsCommon, 7432 SecurityServiceTypeSecurityGroupsContentAudit, 7433 SecurityServiceTypeSecurityGroupsUsageAudit, 7434 SecurityServiceTypeNetworkFirewall, 7435 SecurityServiceTypeDnsFirewall, 7436 } 7437} 7438 7439const ( 7440 // ViolationReasonWebAclMissingRuleGroup is a ViolationReason enum value 7441 ViolationReasonWebAclMissingRuleGroup = "WEB_ACL_MISSING_RULE_GROUP" 7442 7443 // ViolationReasonResourceMissingWebAcl is a ViolationReason enum value 7444 ViolationReasonResourceMissingWebAcl = "RESOURCE_MISSING_WEB_ACL" 7445 7446 // ViolationReasonResourceIncorrectWebAcl is a ViolationReason enum value 7447 ViolationReasonResourceIncorrectWebAcl = "RESOURCE_INCORRECT_WEB_ACL" 7448 7449 // ViolationReasonResourceMissingShieldProtection is a ViolationReason enum value 7450 ViolationReasonResourceMissingShieldProtection = "RESOURCE_MISSING_SHIELD_PROTECTION" 7451 7452 // ViolationReasonResourceMissingWebAclOrShieldProtection is a ViolationReason enum value 7453 ViolationReasonResourceMissingWebAclOrShieldProtection = "RESOURCE_MISSING_WEB_ACL_OR_SHIELD_PROTECTION" 7454 7455 // ViolationReasonResourceMissingSecurityGroup is a ViolationReason enum value 7456 ViolationReasonResourceMissingSecurityGroup = "RESOURCE_MISSING_SECURITY_GROUP" 7457 7458 // ViolationReasonResourceViolatesAuditSecurityGroup is a ViolationReason enum value 7459 ViolationReasonResourceViolatesAuditSecurityGroup = "RESOURCE_VIOLATES_AUDIT_SECURITY_GROUP" 7460 7461 // ViolationReasonSecurityGroupUnused is a ViolationReason enum value 7462 ViolationReasonSecurityGroupUnused = "SECURITY_GROUP_UNUSED" 7463 7464 // ViolationReasonSecurityGroupRedundant is a ViolationReason enum value 7465 ViolationReasonSecurityGroupRedundant = "SECURITY_GROUP_REDUNDANT" 7466 7467 // ViolationReasonFmsCreatedSecurityGroupEdited is a ViolationReason enum value 7468 ViolationReasonFmsCreatedSecurityGroupEdited = "FMS_CREATED_SECURITY_GROUP_EDITED" 7469 7470 // ViolationReasonMissingFirewall is a ViolationReason enum value 7471 ViolationReasonMissingFirewall = "MISSING_FIREWALL" 7472 7473 // ViolationReasonMissingFirewallSubnetInAz is a ViolationReason enum value 7474 ViolationReasonMissingFirewallSubnetInAz = "MISSING_FIREWALL_SUBNET_IN_AZ" 7475 7476 // ViolationReasonMissingExpectedRouteTable is a ViolationReason enum value 7477 ViolationReasonMissingExpectedRouteTable = "MISSING_EXPECTED_ROUTE_TABLE" 7478 7479 // ViolationReasonNetworkFirewallPolicyModified is a ViolationReason enum value 7480 ViolationReasonNetworkFirewallPolicyModified = "NETWORK_FIREWALL_POLICY_MODIFIED" 7481 7482 // ViolationReasonResourceMissingDnsFirewall is a ViolationReason enum value 7483 ViolationReasonResourceMissingDnsFirewall = "RESOURCE_MISSING_DNS_FIREWALL" 7484) 7485 7486// ViolationReason_Values returns all elements of the ViolationReason enum 7487func ViolationReason_Values() []string { 7488 return []string{ 7489 ViolationReasonWebAclMissingRuleGroup, 7490 ViolationReasonResourceMissingWebAcl, 7491 ViolationReasonResourceIncorrectWebAcl, 7492 ViolationReasonResourceMissingShieldProtection, 7493 ViolationReasonResourceMissingWebAclOrShieldProtection, 7494 ViolationReasonResourceMissingSecurityGroup, 7495 ViolationReasonResourceViolatesAuditSecurityGroup, 7496 ViolationReasonSecurityGroupUnused, 7497 ViolationReasonSecurityGroupRedundant, 7498 ViolationReasonFmsCreatedSecurityGroupEdited, 7499 ViolationReasonMissingFirewall, 7500 ViolationReasonMissingFirewallSubnetInAz, 7501 ViolationReasonMissingExpectedRouteTable, 7502 ViolationReasonNetworkFirewallPolicyModified, 7503 ViolationReasonResourceMissingDnsFirewall, 7504 } 7505} 7506