2467 lines
85 KiB
Go
2467 lines
85 KiB
Go
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
|
|
|
|
package fms
|
|
|
|
import (
|
|
"fmt"
|
|
"time"
|
|
|
|
"github.com/aws/aws-sdk-go/aws"
|
|
"github.com/aws/aws-sdk-go/aws/awsutil"
|
|
"github.com/aws/aws-sdk-go/aws/request"
|
|
"github.com/aws/aws-sdk-go/private/protocol"
|
|
"github.com/aws/aws-sdk-go/private/protocol/jsonrpc"
|
|
)
|
|
|
|
const opAssociateAdminAccount = "AssociateAdminAccount"
|
|
|
|
// AssociateAdminAccountRequest generates a "aws/request.Request" representing the
|
|
// client's request for the AssociateAdminAccount operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See AssociateAdminAccount for more information on using the AssociateAdminAccount
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the AssociateAdminAccountRequest method.
|
|
// req, resp := client.AssociateAdminAccountRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccount
|
|
func (c *FMS) AssociateAdminAccountRequest(input *AssociateAdminAccountInput) (req *request.Request, output *AssociateAdminAccountOutput) {
|
|
op := &request.Operation{
|
|
Name: opAssociateAdminAccount,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &AssociateAdminAccountInput{}
|
|
}
|
|
|
|
output = &AssociateAdminAccountOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// AssociateAdminAccount API operation for Firewall Management Service.
|
|
//
|
|
// Sets the AWS Firewall Manager administrator account. AWS Firewall Manager
|
|
// must be associated with a master account in AWS Organizations or associated
|
|
// with a member account that has the appropriate permissions. If the account
|
|
// ID that you submit is not an AWS Organizations master account, AWS Firewall
|
|
// Manager will set the appropriate permissions for the given member account.
|
|
//
|
|
// The account that you associate with AWS Firewall Manager is called the AWS
|
|
// Firewall manager administrator account.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation AssociateAdminAccount for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInvalidInputException "InvalidInputException"
|
|
// The parameters of the request were invalid.
|
|
//
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/AssociateAdminAccount
|
|
func (c *FMS) AssociateAdminAccount(input *AssociateAdminAccountInput) (*AssociateAdminAccountOutput, error) {
|
|
req, out := c.AssociateAdminAccountRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// AssociateAdminAccountWithContext is the same as AssociateAdminAccount with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See AssociateAdminAccount for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) AssociateAdminAccountWithContext(ctx aws.Context, input *AssociateAdminAccountInput, opts ...request.Option) (*AssociateAdminAccountOutput, error) {
|
|
req, out := c.AssociateAdminAccountRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDeleteNotificationChannel = "DeleteNotificationChannel"
|
|
|
|
// DeleteNotificationChannelRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DeleteNotificationChannel operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DeleteNotificationChannel for more information on using the DeleteNotificationChannel
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DeleteNotificationChannelRequest method.
|
|
// req, resp := client.DeleteNotificationChannelRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel
|
|
func (c *FMS) DeleteNotificationChannelRequest(input *DeleteNotificationChannelInput) (req *request.Request, output *DeleteNotificationChannelOutput) {
|
|
op := &request.Operation{
|
|
Name: opDeleteNotificationChannel,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DeleteNotificationChannelInput{}
|
|
}
|
|
|
|
output = &DeleteNotificationChannelOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// DeleteNotificationChannel API operation for Firewall Management Service.
|
|
//
|
|
// Deletes an AWS Firewall Manager association with the IAM role and the Amazon
|
|
// Simple Notification Service (SNS) topic that is used to record AWS Firewall
|
|
// Manager SNS logs.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation DeleteNotificationChannel for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeleteNotificationChannel
|
|
func (c *FMS) DeleteNotificationChannel(input *DeleteNotificationChannelInput) (*DeleteNotificationChannelOutput, error) {
|
|
req, out := c.DeleteNotificationChannelRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DeleteNotificationChannelWithContext is the same as DeleteNotificationChannel with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DeleteNotificationChannel for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) DeleteNotificationChannelWithContext(ctx aws.Context, input *DeleteNotificationChannelInput, opts ...request.Option) (*DeleteNotificationChannelOutput, error) {
|
|
req, out := c.DeleteNotificationChannelRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDeletePolicy = "DeletePolicy"
|
|
|
|
// DeletePolicyRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DeletePolicy operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DeletePolicy for more information on using the DeletePolicy
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DeletePolicyRequest method.
|
|
// req, resp := client.DeletePolicyRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy
|
|
func (c *FMS) DeletePolicyRequest(input *DeletePolicyInput) (req *request.Request, output *DeletePolicyOutput) {
|
|
op := &request.Operation{
|
|
Name: opDeletePolicy,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DeletePolicyInput{}
|
|
}
|
|
|
|
output = &DeletePolicyOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// DeletePolicy API operation for Firewall Management Service.
|
|
//
|
|
// Permanently deletes an AWS Firewall Manager policy.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation DeletePolicy for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DeletePolicy
|
|
func (c *FMS) DeletePolicy(input *DeletePolicyInput) (*DeletePolicyOutput, error) {
|
|
req, out := c.DeletePolicyRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DeletePolicyWithContext is the same as DeletePolicy with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DeletePolicy for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) DeletePolicyWithContext(ctx aws.Context, input *DeletePolicyInput, opts ...request.Option) (*DeletePolicyOutput, error) {
|
|
req, out := c.DeletePolicyRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opDisassociateAdminAccount = "DisassociateAdminAccount"
|
|
|
|
// DisassociateAdminAccountRequest generates a "aws/request.Request" representing the
|
|
// client's request for the DisassociateAdminAccount operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See DisassociateAdminAccount for more information on using the DisassociateAdminAccount
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the DisassociateAdminAccountRequest method.
|
|
// req, resp := client.DisassociateAdminAccountRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount
|
|
func (c *FMS) DisassociateAdminAccountRequest(input *DisassociateAdminAccountInput) (req *request.Request, output *DisassociateAdminAccountOutput) {
|
|
op := &request.Operation{
|
|
Name: opDisassociateAdminAccount,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &DisassociateAdminAccountInput{}
|
|
}
|
|
|
|
output = &DisassociateAdminAccountOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// DisassociateAdminAccount API operation for Firewall Management Service.
|
|
//
|
|
// Disassociates the account that has been set as the AWS Firewall Manager administrator
|
|
// account. You will need to submit an AssociateAdminAccount request to set
|
|
// a new account as the AWS Firewall administrator.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation DisassociateAdminAccount for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/DisassociateAdminAccount
|
|
func (c *FMS) DisassociateAdminAccount(input *DisassociateAdminAccountInput) (*DisassociateAdminAccountOutput, error) {
|
|
req, out := c.DisassociateAdminAccountRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// DisassociateAdminAccountWithContext is the same as DisassociateAdminAccount with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See DisassociateAdminAccount for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) DisassociateAdminAccountWithContext(ctx aws.Context, input *DisassociateAdminAccountInput, opts ...request.Option) (*DisassociateAdminAccountOutput, error) {
|
|
req, out := c.DisassociateAdminAccountRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opGetAdminAccount = "GetAdminAccount"
|
|
|
|
// GetAdminAccountRequest generates a "aws/request.Request" representing the
|
|
// client's request for the GetAdminAccount operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See GetAdminAccount for more information on using the GetAdminAccount
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the GetAdminAccountRequest method.
|
|
// req, resp := client.GetAdminAccountRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount
|
|
func (c *FMS) GetAdminAccountRequest(input *GetAdminAccountInput) (req *request.Request, output *GetAdminAccountOutput) {
|
|
op := &request.Operation{
|
|
Name: opGetAdminAccount,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &GetAdminAccountInput{}
|
|
}
|
|
|
|
output = &GetAdminAccountOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// GetAdminAccount API operation for Firewall Management Service.
|
|
//
|
|
// Returns the AWS Organizations master account that is associated with AWS
|
|
// Firewall Manager as the AWS Firewall Manager administrator.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation GetAdminAccount for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetAdminAccount
|
|
func (c *FMS) GetAdminAccount(input *GetAdminAccountInput) (*GetAdminAccountOutput, error) {
|
|
req, out := c.GetAdminAccountRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// GetAdminAccountWithContext is the same as GetAdminAccount with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See GetAdminAccount for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) GetAdminAccountWithContext(ctx aws.Context, input *GetAdminAccountInput, opts ...request.Option) (*GetAdminAccountOutput, error) {
|
|
req, out := c.GetAdminAccountRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opGetComplianceDetail = "GetComplianceDetail"
|
|
|
|
// GetComplianceDetailRequest generates a "aws/request.Request" representing the
|
|
// client's request for the GetComplianceDetail operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See GetComplianceDetail for more information on using the GetComplianceDetail
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the GetComplianceDetailRequest method.
|
|
// req, resp := client.GetComplianceDetailRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail
|
|
func (c *FMS) GetComplianceDetailRequest(input *GetComplianceDetailInput) (req *request.Request, output *GetComplianceDetailOutput) {
|
|
op := &request.Operation{
|
|
Name: opGetComplianceDetail,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &GetComplianceDetailInput{}
|
|
}
|
|
|
|
output = &GetComplianceDetailOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// GetComplianceDetail API operation for Firewall Management Service.
|
|
//
|
|
// Returns detailed compliance information about the specified member account.
|
|
// Details include resources that are in and out of compliance with the specified
|
|
// policy. Resources are considered non-compliant if the specified policy has
|
|
// not been applied to them.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation GetComplianceDetail for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetComplianceDetail
|
|
func (c *FMS) GetComplianceDetail(input *GetComplianceDetailInput) (*GetComplianceDetailOutput, error) {
|
|
req, out := c.GetComplianceDetailRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// GetComplianceDetailWithContext is the same as GetComplianceDetail with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See GetComplianceDetail for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) GetComplianceDetailWithContext(ctx aws.Context, input *GetComplianceDetailInput, opts ...request.Option) (*GetComplianceDetailOutput, error) {
|
|
req, out := c.GetComplianceDetailRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opGetNotificationChannel = "GetNotificationChannel"
|
|
|
|
// GetNotificationChannelRequest generates a "aws/request.Request" representing the
|
|
// client's request for the GetNotificationChannel operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See GetNotificationChannel for more information on using the GetNotificationChannel
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the GetNotificationChannelRequest method.
|
|
// req, resp := client.GetNotificationChannelRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel
|
|
func (c *FMS) GetNotificationChannelRequest(input *GetNotificationChannelInput) (req *request.Request, output *GetNotificationChannelOutput) {
|
|
op := &request.Operation{
|
|
Name: opGetNotificationChannel,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &GetNotificationChannelInput{}
|
|
}
|
|
|
|
output = &GetNotificationChannelOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// GetNotificationChannel API operation for Firewall Management Service.
|
|
//
|
|
// Returns information about the Amazon Simple Notification Service (SNS) topic
|
|
// that is used to record AWS Firewall Manager SNS logs.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation GetNotificationChannel for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetNotificationChannel
|
|
func (c *FMS) GetNotificationChannel(input *GetNotificationChannelInput) (*GetNotificationChannelOutput, error) {
|
|
req, out := c.GetNotificationChannelRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// GetNotificationChannelWithContext is the same as GetNotificationChannel with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See GetNotificationChannel for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) GetNotificationChannelWithContext(ctx aws.Context, input *GetNotificationChannelInput, opts ...request.Option) (*GetNotificationChannelOutput, error) {
|
|
req, out := c.GetNotificationChannelRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opGetPolicy = "GetPolicy"
|
|
|
|
// GetPolicyRequest generates a "aws/request.Request" representing the
|
|
// client's request for the GetPolicy operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See GetPolicy for more information on using the GetPolicy
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the GetPolicyRequest method.
|
|
// req, resp := client.GetPolicyRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy
|
|
func (c *FMS) GetPolicyRequest(input *GetPolicyInput) (req *request.Request, output *GetPolicyOutput) {
|
|
op := &request.Operation{
|
|
Name: opGetPolicy,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &GetPolicyInput{}
|
|
}
|
|
|
|
output = &GetPolicyOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// GetPolicy API operation for Firewall Management Service.
|
|
//
|
|
// Returns information about the specified AWS Firewall Manager policy.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation GetPolicy for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/GetPolicy
|
|
func (c *FMS) GetPolicy(input *GetPolicyInput) (*GetPolicyOutput, error) {
|
|
req, out := c.GetPolicyRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// GetPolicyWithContext is the same as GetPolicy with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See GetPolicy for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) GetPolicyWithContext(ctx aws.Context, input *GetPolicyInput, opts ...request.Option) (*GetPolicyOutput, error) {
|
|
req, out := c.GetPolicyRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opListComplianceStatus = "ListComplianceStatus"
|
|
|
|
// ListComplianceStatusRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListComplianceStatus operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListComplianceStatus for more information on using the ListComplianceStatus
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListComplianceStatusRequest method.
|
|
// req, resp := client.ListComplianceStatusRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus
|
|
func (c *FMS) ListComplianceStatusRequest(input *ListComplianceStatusInput) (req *request.Request, output *ListComplianceStatusOutput) {
|
|
op := &request.Operation{
|
|
Name: opListComplianceStatus,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListComplianceStatusInput{}
|
|
}
|
|
|
|
output = &ListComplianceStatusOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListComplianceStatus API operation for Firewall Management Service.
|
|
//
|
|
// Returns an array of PolicyComplianceStatus objects in the response. Use PolicyComplianceStatus
|
|
// to get a summary of which member accounts are protected by the specified
|
|
// policy.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation ListComplianceStatus for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListComplianceStatus
|
|
func (c *FMS) ListComplianceStatus(input *ListComplianceStatusInput) (*ListComplianceStatusOutput, error) {
|
|
req, out := c.ListComplianceStatusRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListComplianceStatusWithContext is the same as ListComplianceStatus with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListComplianceStatus for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) ListComplianceStatusWithContext(ctx aws.Context, input *ListComplianceStatusInput, opts ...request.Option) (*ListComplianceStatusOutput, error) {
|
|
req, out := c.ListComplianceStatusRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opListPolicies = "ListPolicies"
|
|
|
|
// ListPoliciesRequest generates a "aws/request.Request" representing the
|
|
// client's request for the ListPolicies operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See ListPolicies for more information on using the ListPolicies
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the ListPoliciesRequest method.
|
|
// req, resp := client.ListPoliciesRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies
|
|
func (c *FMS) ListPoliciesRequest(input *ListPoliciesInput) (req *request.Request, output *ListPoliciesOutput) {
|
|
op := &request.Operation{
|
|
Name: opListPolicies,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &ListPoliciesInput{}
|
|
}
|
|
|
|
output = &ListPoliciesOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// ListPolicies API operation for Firewall Management Service.
|
|
//
|
|
// Returns an array of PolicySummary objects in the response.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation ListPolicies for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeLimitExceededException "LimitExceededException"
|
|
// The operation exceeds a resource limit, for example, the maximum number of
|
|
// policy objects that you can create for an AWS account. For more information,
|
|
// see Firewall Manager Limits (http://docs.aws.amazon.com/waf/latest/developerguide/fms-limits.html)
|
|
// in the AWS WAF Developer Guide.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/ListPolicies
|
|
func (c *FMS) ListPolicies(input *ListPoliciesInput) (*ListPoliciesOutput, error) {
|
|
req, out := c.ListPoliciesRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// ListPoliciesWithContext is the same as ListPolicies with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See ListPolicies for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) ListPoliciesWithContext(ctx aws.Context, input *ListPoliciesInput, opts ...request.Option) (*ListPoliciesOutput, error) {
|
|
req, out := c.ListPoliciesRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opPutNotificationChannel = "PutNotificationChannel"
|
|
|
|
// PutNotificationChannelRequest generates a "aws/request.Request" representing the
|
|
// client's request for the PutNotificationChannel operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See PutNotificationChannel for more information on using the PutNotificationChannel
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the PutNotificationChannelRequest method.
|
|
// req, resp := client.PutNotificationChannelRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel
|
|
func (c *FMS) PutNotificationChannelRequest(input *PutNotificationChannelInput) (req *request.Request, output *PutNotificationChannelOutput) {
|
|
op := &request.Operation{
|
|
Name: opPutNotificationChannel,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &PutNotificationChannelInput{}
|
|
}
|
|
|
|
output = &PutNotificationChannelOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
req.Handlers.Unmarshal.Remove(jsonrpc.UnmarshalHandler)
|
|
req.Handlers.Unmarshal.PushBackNamed(protocol.UnmarshalDiscardBodyHandler)
|
|
return
|
|
}
|
|
|
|
// PutNotificationChannel API operation for Firewall Management Service.
|
|
//
|
|
// Designates the IAM role and Amazon Simple Notification Service (SNS) topic
|
|
// that AWS Firewall Manager uses to record SNS logs.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation PutNotificationChannel for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutNotificationChannel
|
|
func (c *FMS) PutNotificationChannel(input *PutNotificationChannelInput) (*PutNotificationChannelOutput, error) {
|
|
req, out := c.PutNotificationChannelRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// PutNotificationChannelWithContext is the same as PutNotificationChannel with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See PutNotificationChannel for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) PutNotificationChannelWithContext(ctx aws.Context, input *PutNotificationChannelInput, opts ...request.Option) (*PutNotificationChannelOutput, error) {
|
|
req, out := c.PutNotificationChannelRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
const opPutPolicy = "PutPolicy"
|
|
|
|
// PutPolicyRequest generates a "aws/request.Request" representing the
|
|
// client's request for the PutPolicy operation. The "output" return
|
|
// value will be populated with the request's response once the request completes
|
|
// successfuly.
|
|
//
|
|
// Use "Send" method on the returned Request to send the API call to the service.
|
|
// the "output" return value is not valid until after Send returns without error.
|
|
//
|
|
// See PutPolicy for more information on using the PutPolicy
|
|
// API call, and error handling.
|
|
//
|
|
// This method is useful when you want to inject custom logic or configuration
|
|
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
|
|
//
|
|
//
|
|
// // Example sending a request using the PutPolicyRequest method.
|
|
// req, resp := client.PutPolicyRequest(params)
|
|
//
|
|
// err := req.Send()
|
|
// if err == nil { // resp is now filled
|
|
// fmt.Println(resp)
|
|
// }
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy
|
|
func (c *FMS) PutPolicyRequest(input *PutPolicyInput) (req *request.Request, output *PutPolicyOutput) {
|
|
op := &request.Operation{
|
|
Name: opPutPolicy,
|
|
HTTPMethod: "POST",
|
|
HTTPPath: "/",
|
|
}
|
|
|
|
if input == nil {
|
|
input = &PutPolicyInput{}
|
|
}
|
|
|
|
output = &PutPolicyOutput{}
|
|
req = c.newRequest(op, input, output)
|
|
return
|
|
}
|
|
|
|
// PutPolicy API operation for Firewall Management Service.
|
|
//
|
|
// Creates an AWS Firewall Manager policy.
|
|
//
|
|
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
|
|
// with awserr.Error's Code and Message methods to get detailed information about
|
|
// the error.
|
|
//
|
|
// See the AWS API reference guide for Firewall Management Service's
|
|
// API operation PutPolicy for usage and error information.
|
|
//
|
|
// Returned Error Codes:
|
|
// * ErrCodeResourceNotFoundException "ResourceNotFoundException"
|
|
// The specified resource was not found.
|
|
//
|
|
// * ErrCodeInvalidOperationException "InvalidOperationException"
|
|
// The operation failed because there was nothing to do. For example, you might
|
|
// have submitted an AssociateAdminAccount request, but the account ID that
|
|
// you submitted was already set as the AWS Firewall Manager administrator.
|
|
//
|
|
// * ErrCodeInvalidInputException "InvalidInputException"
|
|
// The parameters of the request were invalid.
|
|
//
|
|
// * ErrCodeInternalErrorException "InternalErrorException"
|
|
// The operation failed because of a system problem, even though the request
|
|
// was valid. Retry your request.
|
|
//
|
|
// See also, https://docs.aws.amazon.com/goto/WebAPI/fms-2018-01-01/PutPolicy
|
|
func (c *FMS) PutPolicy(input *PutPolicyInput) (*PutPolicyOutput, error) {
|
|
req, out := c.PutPolicyRequest(input)
|
|
return out, req.Send()
|
|
}
|
|
|
|
// PutPolicyWithContext is the same as PutPolicy with the addition of
|
|
// the ability to pass a context and additional request options.
|
|
//
|
|
// See PutPolicy for details on how to use this API operation.
|
|
//
|
|
// The context must be non-nil and will be used for request cancellation. If
|
|
// the context is nil a panic will occur. In the future the SDK may create
|
|
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
|
|
// for more information on using Contexts.
|
|
func (c *FMS) PutPolicyWithContext(ctx aws.Context, input *PutPolicyInput, opts ...request.Option) (*PutPolicyOutput, error) {
|
|
req, out := c.PutPolicyRequest(input)
|
|
req.SetContext(ctx)
|
|
req.ApplyOptions(opts...)
|
|
return out, req.Send()
|
|
}
|
|
|
|
type AssociateAdminAccountInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The AWS account ID to associate with AWS Firewall Manager as the AWS Firewall
|
|
// Manager administrator account. This can be an AWS Organizations master account
|
|
// or a member account. For more information about AWS Organizations and master
|
|
// accounts, see Managing the AWS Accounts in Your Organization (https://docs.aws.amazon.com/organizations/latest/userguide/orgs_manage_accounts.html).
|
|
//
|
|
// AdminAccount is a required field
|
|
AdminAccount *string `min:"1" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AssociateAdminAccountInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AssociateAdminAccountInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *AssociateAdminAccountInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "AssociateAdminAccountInput"}
|
|
if s.AdminAccount == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("AdminAccount"))
|
|
}
|
|
if s.AdminAccount != nil && len(*s.AdminAccount) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("AdminAccount", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetAdminAccount sets the AdminAccount field's value.
|
|
func (s *AssociateAdminAccountInput) SetAdminAccount(v string) *AssociateAdminAccountInput {
|
|
s.AdminAccount = &v
|
|
return s
|
|
}
|
|
|
|
type AssociateAdminAccountOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s AssociateAdminAccountOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s AssociateAdminAccountOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Details of the resource that is not protected by the policy.
|
|
type ComplianceViolator struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The resource ID.
|
|
ResourceId *string `min:"1" type:"string"`
|
|
|
|
// The resource type. This is in the format shown in AWS Resource Types Reference
|
|
// (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html).
|
|
// Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.
|
|
ResourceType *string `min:"1" type:"string"`
|
|
|
|
// The reason that the resource is not protected by the policy.
|
|
ViolationReason *string `type:"string" enum:"ViolationReason"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ComplianceViolator) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ComplianceViolator) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetResourceId sets the ResourceId field's value.
|
|
func (s *ComplianceViolator) SetResourceId(v string) *ComplianceViolator {
|
|
s.ResourceId = &v
|
|
return s
|
|
}
|
|
|
|
// SetResourceType sets the ResourceType field's value.
|
|
func (s *ComplianceViolator) SetResourceType(v string) *ComplianceViolator {
|
|
s.ResourceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetViolationReason sets the ViolationReason field's value.
|
|
func (s *ComplianceViolator) SetViolationReason(v string) *ComplianceViolator {
|
|
s.ViolationReason = &v
|
|
return s
|
|
}
|
|
|
|
type DeleteNotificationChannelInput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DeleteNotificationChannelInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DeleteNotificationChannelInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type DeleteNotificationChannelOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DeleteNotificationChannelOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DeleteNotificationChannelOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type DeletePolicyInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The ID of the policy that you want to delete. PolicyId is returned by PutPolicy
|
|
// and by ListPolicies.
|
|
//
|
|
// PolicyId is a required field
|
|
PolicyId *string `min:"36" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DeletePolicyInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DeletePolicyInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *DeletePolicyInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "DeletePolicyInput"}
|
|
if s.PolicyId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
|
|
}
|
|
if s.PolicyId != nil && len(*s.PolicyId) < 36 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *DeletePolicyInput) SetPolicyId(v string) *DeletePolicyInput {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
type DeletePolicyOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DeletePolicyOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DeletePolicyOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type DisassociateAdminAccountInput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DisassociateAdminAccountInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DisassociateAdminAccountInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type DisassociateAdminAccountOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s DisassociateAdminAccountOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s DisassociateAdminAccountOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Describes the compliance status for the account. An account is considered
|
|
// non-compliant if it includes resources that are not protected by the specified
|
|
// policy.
|
|
type EvaluationResult struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Describes an AWS account's compliance with the AWS Firewall Manager policy.
|
|
ComplianceStatus *string `type:"string" enum:"PolicyComplianceStatusType"`
|
|
|
|
// Indicates that over 100 resources are non-compliant with the AWS Firewall
|
|
// Manager policy.
|
|
EvaluationLimitExceeded *bool `type:"boolean"`
|
|
|
|
// Number of resources that are non-compliant with the specified policy. A resource
|
|
// is considered non-compliant if it is not associated with the specified policy.
|
|
ViolatorCount *int64 `type:"long"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s EvaluationResult) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s EvaluationResult) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetComplianceStatus sets the ComplianceStatus field's value.
|
|
func (s *EvaluationResult) SetComplianceStatus(v string) *EvaluationResult {
|
|
s.ComplianceStatus = &v
|
|
return s
|
|
}
|
|
|
|
// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value.
|
|
func (s *EvaluationResult) SetEvaluationLimitExceeded(v bool) *EvaluationResult {
|
|
s.EvaluationLimitExceeded = &v
|
|
return s
|
|
}
|
|
|
|
// SetViolatorCount sets the ViolatorCount field's value.
|
|
func (s *EvaluationResult) SetViolatorCount(v int64) *EvaluationResult {
|
|
s.ViolatorCount = &v
|
|
return s
|
|
}
|
|
|
|
type GetAdminAccountInput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetAdminAccountInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetAdminAccountInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type GetAdminAccountOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The AWS account that is set as the AWS Firewall Manager administrator.
|
|
AdminAccount *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetAdminAccountOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetAdminAccountOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetAdminAccount sets the AdminAccount field's value.
|
|
func (s *GetAdminAccountOutput) SetAdminAccount(v string) *GetAdminAccountOutput {
|
|
s.AdminAccount = &v
|
|
return s
|
|
}
|
|
|
|
type GetComplianceDetailInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The AWS account that owns the resources that you want to get the details
|
|
// for.
|
|
//
|
|
// MemberAccount is a required field
|
|
MemberAccount *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The ID of the policy that you want to get the details for. PolicyId is returned
|
|
// by PutPolicy and by ListPolicies.
|
|
//
|
|
// PolicyId is a required field
|
|
PolicyId *string `min:"36" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetComplianceDetailInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetComplianceDetailInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *GetComplianceDetailInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "GetComplianceDetailInput"}
|
|
if s.MemberAccount == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("MemberAccount"))
|
|
}
|
|
if s.MemberAccount != nil && len(*s.MemberAccount) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("MemberAccount", 1))
|
|
}
|
|
if s.PolicyId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
|
|
}
|
|
if s.PolicyId != nil && len(*s.PolicyId) < 36 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetMemberAccount sets the MemberAccount field's value.
|
|
func (s *GetComplianceDetailInput) SetMemberAccount(v string) *GetComplianceDetailInput {
|
|
s.MemberAccount = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *GetComplianceDetailInput) SetPolicyId(v string) *GetComplianceDetailInput {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
type GetComplianceDetailOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Information about the resources and the policy that you specified in the
|
|
// GetComplianceDetail request.
|
|
PolicyComplianceDetail *PolicyComplianceDetail `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetComplianceDetailOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetComplianceDetailOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetPolicyComplianceDetail sets the PolicyComplianceDetail field's value.
|
|
func (s *GetComplianceDetailOutput) SetPolicyComplianceDetail(v *PolicyComplianceDetail) *GetComplianceDetailOutput {
|
|
s.PolicyComplianceDetail = v
|
|
return s
|
|
}
|
|
|
|
type GetNotificationChannelInput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetNotificationChannelInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetNotificationChannelInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type GetNotificationChannelOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The IAM role that is used by AWS Firewall Manager to record activity to SNS.
|
|
SnsRoleName *string `min:"1" type:"string"`
|
|
|
|
// The SNS topic that records AWS Firewall Manager activity.
|
|
SnsTopicArn *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetNotificationChannelOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetNotificationChannelOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetSnsRoleName sets the SnsRoleName field's value.
|
|
func (s *GetNotificationChannelOutput) SetSnsRoleName(v string) *GetNotificationChannelOutput {
|
|
s.SnsRoleName = &v
|
|
return s
|
|
}
|
|
|
|
// SetSnsTopicArn sets the SnsTopicArn field's value.
|
|
func (s *GetNotificationChannelOutput) SetSnsTopicArn(v string) *GetNotificationChannelOutput {
|
|
s.SnsTopicArn = &v
|
|
return s
|
|
}
|
|
|
|
type GetPolicyInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The ID of the AWS Firewall Manager policy that you want the details for.
|
|
//
|
|
// PolicyId is a required field
|
|
PolicyId *string `min:"36" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetPolicyInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetPolicyInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *GetPolicyInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "GetPolicyInput"}
|
|
if s.PolicyId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
|
|
}
|
|
if s.PolicyId != nil && len(*s.PolicyId) < 36 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *GetPolicyInput) SetPolicyId(v string) *GetPolicyInput {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
type GetPolicyOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Information about the specified AWS Firewall Manager policy.
|
|
Policy *Policy `type:"structure"`
|
|
|
|
// The Amazon Resource Name (ARN) of the specified policy.
|
|
PolicyArn *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s GetPolicyOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s GetPolicyOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetPolicy sets the Policy field's value.
|
|
func (s *GetPolicyOutput) SetPolicy(v *Policy) *GetPolicyOutput {
|
|
s.Policy = v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyArn sets the PolicyArn field's value.
|
|
func (s *GetPolicyOutput) SetPolicyArn(v string) *GetPolicyOutput {
|
|
s.PolicyArn = &v
|
|
return s
|
|
}
|
|
|
|
type ListComplianceStatusInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Specifies the number of PolicyComplianceStatus objects that you want AWS
|
|
// Firewall Manager to return for this request. If you have more PolicyComplianceStatus
|
|
// objects than the number that you specify for MaxResults, the response includes
|
|
// a NextToken value that you can use to get another batch of PolicyComplianceStatus
|
|
// objects.
|
|
MaxResults *int64 `min:"1" type:"integer"`
|
|
|
|
// If you specify a value for MaxResults and you have more PolicyComplianceStatus
|
|
// objects than the number that you specify for MaxResults, AWS Firewall Manager
|
|
// returns a NextToken value in the response that allows you to list another
|
|
// group of PolicyComplianceStatus objects. For the second and subsequent ListComplianceStatus
|
|
// requests, specify the value of NextToken from the previous response to get
|
|
// information about another batch of PolicyComplianceStatus objects.
|
|
NextToken *string `min:"1" type:"string"`
|
|
|
|
// The ID of the AWS Firewall Manager policy that you want the details for.
|
|
//
|
|
// PolicyId is a required field
|
|
PolicyId *string `min:"36" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListComplianceStatusInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListComplianceStatusInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListComplianceStatusInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListComplianceStatusInput"}
|
|
if s.MaxResults != nil && *s.MaxResults < 1 {
|
|
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
|
|
}
|
|
if s.NextToken != nil && len(*s.NextToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
|
|
}
|
|
if s.PolicyId == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("PolicyId"))
|
|
}
|
|
if s.PolicyId != nil && len(*s.PolicyId) < 36 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetMaxResults sets the MaxResults field's value.
|
|
func (s *ListComplianceStatusInput) SetMaxResults(v int64) *ListComplianceStatusInput {
|
|
s.MaxResults = &v
|
|
return s
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *ListComplianceStatusInput) SetNextToken(v string) *ListComplianceStatusInput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *ListComplianceStatusInput) SetPolicyId(v string) *ListComplianceStatusInput {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
type ListComplianceStatusOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// If you have more PolicyComplianceStatus objects than the number that you
|
|
// specified for MaxResults in the request, the response includes a NextToken
|
|
// value. To list more PolicyComplianceStatus objects, submit another ListComplianceStatus
|
|
// request, and specify the NextToken value from the response in the NextToken
|
|
// value in the next request.
|
|
NextToken *string `min:"1" type:"string"`
|
|
|
|
// An array of PolicyComplianceStatus objects.
|
|
PolicyComplianceStatusList []*PolicyComplianceStatus `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListComplianceStatusOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListComplianceStatusOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *ListComplianceStatusOutput) SetNextToken(v string) *ListComplianceStatusOutput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyComplianceStatusList sets the PolicyComplianceStatusList field's value.
|
|
func (s *ListComplianceStatusOutput) SetPolicyComplianceStatusList(v []*PolicyComplianceStatus) *ListComplianceStatusOutput {
|
|
s.PolicyComplianceStatusList = v
|
|
return s
|
|
}
|
|
|
|
type ListPoliciesInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Specifies the number of PolicySummary objects that you want AWS Firewall
|
|
// Manager to return for this request. If you have more PolicySummary objects
|
|
// than the number that you specify for MaxResults, the response includes a
|
|
// NextToken value that you can use to get another batch of PolicySummary objects.
|
|
MaxResults *int64 `min:"1" type:"integer"`
|
|
|
|
// If you specify a value for MaxResults and you have more PolicySummary objects
|
|
// than the number that you specify for MaxResults, AWS Firewall Manager returns
|
|
// a NextToken value in the response that allows you to list another group of
|
|
// PolicySummary objects. For the second and subsequent ListPolicies requests,
|
|
// specify the value of NextToken from the previous response to get information
|
|
// about another batch of PolicySummary objects.
|
|
NextToken *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListPoliciesInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListPoliciesInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ListPoliciesInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ListPoliciesInput"}
|
|
if s.MaxResults != nil && *s.MaxResults < 1 {
|
|
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
|
|
}
|
|
if s.NextToken != nil && len(*s.NextToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetMaxResults sets the MaxResults field's value.
|
|
func (s *ListPoliciesInput) SetMaxResults(v int64) *ListPoliciesInput {
|
|
s.MaxResults = &v
|
|
return s
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *ListPoliciesInput) SetNextToken(v string) *ListPoliciesInput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
type ListPoliciesOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// If you have more PolicySummary objects than the number that you specified
|
|
// for MaxResults in the request, the response includes a NextToken value. To
|
|
// list more PolicySummary objects, submit another ListPolicies request, and
|
|
// specify the NextToken value from the response in the NextToken value in the
|
|
// next request.
|
|
NextToken *string `min:"1" type:"string"`
|
|
|
|
// An array of PolicySummary objects.
|
|
PolicyList []*PolicySummary `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ListPoliciesOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ListPoliciesOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetNextToken sets the NextToken field's value.
|
|
func (s *ListPoliciesOutput) SetNextToken(v string) *ListPoliciesOutput {
|
|
s.NextToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyList sets the PolicyList field's value.
|
|
func (s *ListPoliciesOutput) SetPolicyList(v []*PolicySummary) *ListPoliciesOutput {
|
|
s.PolicyList = v
|
|
return s
|
|
}
|
|
|
|
// An AWS Firewall Manager policy.
|
|
type Policy struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// If set to True, resources with the tags that are specified in the ResourceTag
|
|
// array are not protected by the policy. If set to False, and the ResourceTag
|
|
// array is not null, only resources with the specified tags are associated
|
|
// with the policy.
|
|
//
|
|
// ExcludeResourceTags is a required field
|
|
ExcludeResourceTags *bool `type:"boolean" required:"true"`
|
|
|
|
// The ID of the AWS Firewall Manager policy.
|
|
PolicyId *string `min:"36" type:"string"`
|
|
|
|
// The friendly name of the AWS Firewall Manager policy.
|
|
//
|
|
// PolicyName is a required field
|
|
PolicyName *string `min:"1" type:"string" required:"true"`
|
|
|
|
// A unique identifier for each update to the policy. When issuing a PutPolicy
|
|
// request, the PolicyUpdateToken in the request must match the PolicyUpdateToken
|
|
// of the current policy version. To get the PolicyUpdateToken of the current
|
|
// policy version, use a GetPolicy request.
|
|
PolicyUpdateToken *string `min:"1" type:"string"`
|
|
|
|
// Indicates if the policy should be automatically applied to new resources.
|
|
//
|
|
// RemediationEnabled is a required field
|
|
RemediationEnabled *bool `type:"boolean" required:"true"`
|
|
|
|
// An array of ResourceTag objects.
|
|
ResourceTags []*ResourceTag `type:"list"`
|
|
|
|
// The type of resource to protect with the policy, either an Application Load
|
|
// Balancer or a CloudFront distribution. This is in the format shown in AWS
|
|
// Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html).
|
|
// Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.
|
|
//
|
|
// ResourceType is a required field
|
|
ResourceType *string `min:"1" type:"string" required:"true"`
|
|
|
|
// Details about the security service that is being used to protect the resources.
|
|
//
|
|
// SecurityServicePolicyData is a required field
|
|
SecurityServicePolicyData *SecurityServicePolicyData `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s Policy) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s Policy) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *Policy) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "Policy"}
|
|
if s.ExcludeResourceTags == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ExcludeResourceTags"))
|
|
}
|
|
if s.PolicyId != nil && len(*s.PolicyId) < 36 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyId", 36))
|
|
}
|
|
if s.PolicyName == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("PolicyName"))
|
|
}
|
|
if s.PolicyName != nil && len(*s.PolicyName) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyName", 1))
|
|
}
|
|
if s.PolicyUpdateToken != nil && len(*s.PolicyUpdateToken) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("PolicyUpdateToken", 1))
|
|
}
|
|
if s.RemediationEnabled == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("RemediationEnabled"))
|
|
}
|
|
if s.ResourceType == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("ResourceType"))
|
|
}
|
|
if s.ResourceType != nil && len(*s.ResourceType) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("ResourceType", 1))
|
|
}
|
|
if s.SecurityServicePolicyData == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SecurityServicePolicyData"))
|
|
}
|
|
if s.ResourceTags != nil {
|
|
for i, v := range s.ResourceTags {
|
|
if v == nil {
|
|
continue
|
|
}
|
|
if err := v.Validate(); err != nil {
|
|
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "ResourceTags", i), err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
}
|
|
if s.SecurityServicePolicyData != nil {
|
|
if err := s.SecurityServicePolicyData.Validate(); err != nil {
|
|
invalidParams.AddNested("SecurityServicePolicyData", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetExcludeResourceTags sets the ExcludeResourceTags field's value.
|
|
func (s *Policy) SetExcludeResourceTags(v bool) *Policy {
|
|
s.ExcludeResourceTags = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *Policy) SetPolicyId(v string) *Policy {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyName sets the PolicyName field's value.
|
|
func (s *Policy) SetPolicyName(v string) *Policy {
|
|
s.PolicyName = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyUpdateToken sets the PolicyUpdateToken field's value.
|
|
func (s *Policy) SetPolicyUpdateToken(v string) *Policy {
|
|
s.PolicyUpdateToken = &v
|
|
return s
|
|
}
|
|
|
|
// SetRemediationEnabled sets the RemediationEnabled field's value.
|
|
func (s *Policy) SetRemediationEnabled(v bool) *Policy {
|
|
s.RemediationEnabled = &v
|
|
return s
|
|
}
|
|
|
|
// SetResourceTags sets the ResourceTags field's value.
|
|
func (s *Policy) SetResourceTags(v []*ResourceTag) *Policy {
|
|
s.ResourceTags = v
|
|
return s
|
|
}
|
|
|
|
// SetResourceType sets the ResourceType field's value.
|
|
func (s *Policy) SetResourceType(v string) *Policy {
|
|
s.ResourceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityServicePolicyData sets the SecurityServicePolicyData field's value.
|
|
func (s *Policy) SetSecurityServicePolicyData(v *SecurityServicePolicyData) *Policy {
|
|
s.SecurityServicePolicyData = v
|
|
return s
|
|
}
|
|
|
|
// Describes the non-compliant resources in a member account for a specific
|
|
// AWS Firewall Manager policy. A maximum of 100 entries are displayed. If more
|
|
// than 100 resources are non-compliant, EvaluationLimitExceeded is set to True.
|
|
type PolicyComplianceDetail struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Indicates if over 100 resources are non-compliant with the AWS Firewall Manager
|
|
// policy.
|
|
EvaluationLimitExceeded *bool `type:"boolean"`
|
|
|
|
// A time stamp that indicates when the returned information should be considered
|
|
// out-of-date.
|
|
ExpiredAt *time.Time `type:"timestamp"`
|
|
|
|
// The AWS account ID.
|
|
MemberAccount *string `min:"1" type:"string"`
|
|
|
|
// The ID of the AWS Firewall Manager policy.
|
|
PolicyId *string `min:"36" type:"string"`
|
|
|
|
// The AWS account that created the AWS Firewall Manager policy.
|
|
PolicyOwner *string `min:"1" type:"string"`
|
|
|
|
// An array of resources that are not protected by the policy.
|
|
Violators []*ComplianceViolator `type:"list"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PolicyComplianceDetail) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PolicyComplianceDetail) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetEvaluationLimitExceeded sets the EvaluationLimitExceeded field's value.
|
|
func (s *PolicyComplianceDetail) SetEvaluationLimitExceeded(v bool) *PolicyComplianceDetail {
|
|
s.EvaluationLimitExceeded = &v
|
|
return s
|
|
}
|
|
|
|
// SetExpiredAt sets the ExpiredAt field's value.
|
|
func (s *PolicyComplianceDetail) SetExpiredAt(v time.Time) *PolicyComplianceDetail {
|
|
s.ExpiredAt = &v
|
|
return s
|
|
}
|
|
|
|
// SetMemberAccount sets the MemberAccount field's value.
|
|
func (s *PolicyComplianceDetail) SetMemberAccount(v string) *PolicyComplianceDetail {
|
|
s.MemberAccount = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *PolicyComplianceDetail) SetPolicyId(v string) *PolicyComplianceDetail {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyOwner sets the PolicyOwner field's value.
|
|
func (s *PolicyComplianceDetail) SetPolicyOwner(v string) *PolicyComplianceDetail {
|
|
s.PolicyOwner = &v
|
|
return s
|
|
}
|
|
|
|
// SetViolators sets the Violators field's value.
|
|
func (s *PolicyComplianceDetail) SetViolators(v []*ComplianceViolator) *PolicyComplianceDetail {
|
|
s.Violators = v
|
|
return s
|
|
}
|
|
|
|
// Indicates whether the account is compliant with the specified policy. An
|
|
// account is considered non-compliant if it includes resources that are not
|
|
// protected by the policy.
|
|
type PolicyComplianceStatus struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// An array of EvaluationResult objects.
|
|
EvaluationResults []*EvaluationResult `type:"list"`
|
|
|
|
// Time stamp of the last update to the EvaluationResult objects.
|
|
LastUpdated *time.Time `type:"timestamp"`
|
|
|
|
// The member account ID.
|
|
MemberAccount *string `min:"1" type:"string"`
|
|
|
|
// The ID of the AWS Firewall Manager policy.
|
|
PolicyId *string `min:"36" type:"string"`
|
|
|
|
// The friendly name of the AWS Firewall Manager policy.
|
|
PolicyName *string `min:"1" type:"string"`
|
|
|
|
// The AWS account that created the AWS Firewall Manager policy.
|
|
PolicyOwner *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PolicyComplianceStatus) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PolicyComplianceStatus) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetEvaluationResults sets the EvaluationResults field's value.
|
|
func (s *PolicyComplianceStatus) SetEvaluationResults(v []*EvaluationResult) *PolicyComplianceStatus {
|
|
s.EvaluationResults = v
|
|
return s
|
|
}
|
|
|
|
// SetLastUpdated sets the LastUpdated field's value.
|
|
func (s *PolicyComplianceStatus) SetLastUpdated(v time.Time) *PolicyComplianceStatus {
|
|
s.LastUpdated = &v
|
|
return s
|
|
}
|
|
|
|
// SetMemberAccount sets the MemberAccount field's value.
|
|
func (s *PolicyComplianceStatus) SetMemberAccount(v string) *PolicyComplianceStatus {
|
|
s.MemberAccount = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *PolicyComplianceStatus) SetPolicyId(v string) *PolicyComplianceStatus {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyName sets the PolicyName field's value.
|
|
func (s *PolicyComplianceStatus) SetPolicyName(v string) *PolicyComplianceStatus {
|
|
s.PolicyName = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyOwner sets the PolicyOwner field's value.
|
|
func (s *PolicyComplianceStatus) SetPolicyOwner(v string) *PolicyComplianceStatus {
|
|
s.PolicyOwner = &v
|
|
return s
|
|
}
|
|
|
|
// Details of the AWS Firewall Manager policy.
|
|
type PolicySummary struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon Resource Name (ARN) of the specified policy.
|
|
PolicyArn *string `min:"1" type:"string"`
|
|
|
|
// The ID of the specified policy.
|
|
PolicyId *string `min:"36" type:"string"`
|
|
|
|
// The friendly name of the specified policy.
|
|
PolicyName *string `min:"1" type:"string"`
|
|
|
|
// Indicates if the policy should be automatically applied to new resources.
|
|
RemediationEnabled *bool `type:"boolean"`
|
|
|
|
// The type of resource to protect with the policy, either an Application Load
|
|
// Balancer or a CloudFront distribution. This is in the format shown in AWS
|
|
// Resource Types Reference (https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-template-resource-type-ref.html).
|
|
// Valid values are AWS::ElasticLoadBalancingV2::LoadBalancer or AWS::CloudFront::Distribution.
|
|
ResourceType *string `min:"1" type:"string"`
|
|
|
|
// The service that the policy is using to protect the resources. This value
|
|
// is WAF.
|
|
SecurityServiceType *string `type:"string" enum:"SecurityServiceType"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PolicySummary) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PolicySummary) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetPolicyArn sets the PolicyArn field's value.
|
|
func (s *PolicySummary) SetPolicyArn(v string) *PolicySummary {
|
|
s.PolicyArn = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyId sets the PolicyId field's value.
|
|
func (s *PolicySummary) SetPolicyId(v string) *PolicySummary {
|
|
s.PolicyId = &v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyName sets the PolicyName field's value.
|
|
func (s *PolicySummary) SetPolicyName(v string) *PolicySummary {
|
|
s.PolicyName = &v
|
|
return s
|
|
}
|
|
|
|
// SetRemediationEnabled sets the RemediationEnabled field's value.
|
|
func (s *PolicySummary) SetRemediationEnabled(v bool) *PolicySummary {
|
|
s.RemediationEnabled = &v
|
|
return s
|
|
}
|
|
|
|
// SetResourceType sets the ResourceType field's value.
|
|
func (s *PolicySummary) SetResourceType(v string) *PolicySummary {
|
|
s.ResourceType = &v
|
|
return s
|
|
}
|
|
|
|
// SetSecurityServiceType sets the SecurityServiceType field's value.
|
|
func (s *PolicySummary) SetSecurityServiceType(v string) *PolicySummary {
|
|
s.SecurityServiceType = &v
|
|
return s
|
|
}
|
|
|
|
type PutNotificationChannelInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The Amazon Resource Name (ARN) of the IAM role that allows Amazon SNS to
|
|
// record AWS Firewall Manager activity.
|
|
//
|
|
// SnsRoleName is a required field
|
|
SnsRoleName *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The Amazon Resource Name (ARN) of the SNS topic that collects notifications
|
|
// from AWS Firewall Manager.
|
|
//
|
|
// SnsTopicArn is a required field
|
|
SnsTopicArn *string `min:"1" type:"string" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PutNotificationChannelInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PutNotificationChannelInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *PutNotificationChannelInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "PutNotificationChannelInput"}
|
|
if s.SnsRoleName == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SnsRoleName"))
|
|
}
|
|
if s.SnsRoleName != nil && len(*s.SnsRoleName) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("SnsRoleName", 1))
|
|
}
|
|
if s.SnsTopicArn == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("SnsTopicArn"))
|
|
}
|
|
if s.SnsTopicArn != nil && len(*s.SnsTopicArn) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("SnsTopicArn", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetSnsRoleName sets the SnsRoleName field's value.
|
|
func (s *PutNotificationChannelInput) SetSnsRoleName(v string) *PutNotificationChannelInput {
|
|
s.SnsRoleName = &v
|
|
return s
|
|
}
|
|
|
|
// SetSnsTopicArn sets the SnsTopicArn field's value.
|
|
func (s *PutNotificationChannelInput) SetSnsTopicArn(v string) *PutNotificationChannelInput {
|
|
s.SnsTopicArn = &v
|
|
return s
|
|
}
|
|
|
|
type PutNotificationChannelOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PutNotificationChannelOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PutNotificationChannelOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
type PutPolicyInput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The details of the AWS Firewall Manager policy to be created.
|
|
//
|
|
// Policy is a required field
|
|
Policy *Policy `type:"structure" required:"true"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PutPolicyInput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PutPolicyInput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *PutPolicyInput) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "PutPolicyInput"}
|
|
if s.Policy == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Policy"))
|
|
}
|
|
if s.Policy != nil {
|
|
if err := s.Policy.Validate(); err != nil {
|
|
invalidParams.AddNested("Policy", err.(request.ErrInvalidParams))
|
|
}
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetPolicy sets the Policy field's value.
|
|
func (s *PutPolicyInput) SetPolicy(v *Policy) *PutPolicyInput {
|
|
s.Policy = v
|
|
return s
|
|
}
|
|
|
|
type PutPolicyOutput struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The details of the AWS Firewall Manager policy that was created.
|
|
Policy *Policy `type:"structure"`
|
|
|
|
// The Amazon Resource Name (ARN) of the policy that was created.
|
|
PolicyArn *string `min:"1" type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s PutPolicyOutput) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s PutPolicyOutput) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// SetPolicy sets the Policy field's value.
|
|
func (s *PutPolicyOutput) SetPolicy(v *Policy) *PutPolicyOutput {
|
|
s.Policy = v
|
|
return s
|
|
}
|
|
|
|
// SetPolicyArn sets the PolicyArn field's value.
|
|
func (s *PutPolicyOutput) SetPolicyArn(v string) *PutPolicyOutput {
|
|
s.PolicyArn = &v
|
|
return s
|
|
}
|
|
|
|
// The resource tags that AWS Firewall Manager uses to determine if a particular
|
|
// resource should be included or excluded from protection by the AWS Firewall
|
|
// Manager policy. Tags enable you to categorize your AWS resources in different
|
|
// ways, for example, by purpose, owner, or environment. Each tag consists of
|
|
// a key and an optional value, both of which you define. Tags are combined
|
|
// with an "OR." That is, if you add more than one tag, if any of the tags matches,
|
|
// the resource is considered a match for the include or exclude. Working with
|
|
// Tag Editor (https://docs.aws.amazon.com/awsconsolehelpdocs/latest/gsg/tag-editor.html).
|
|
type ResourceTag struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// The resource tag key.
|
|
//
|
|
// Key is a required field
|
|
Key *string `min:"1" type:"string" required:"true"`
|
|
|
|
// The resource tag value.
|
|
Value *string `type:"string"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s ResourceTag) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s ResourceTag) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *ResourceTag) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "ResourceTag"}
|
|
if s.Key == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Key"))
|
|
}
|
|
if s.Key != nil && len(*s.Key) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("Key", 1))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetKey sets the Key field's value.
|
|
func (s *ResourceTag) SetKey(v string) *ResourceTag {
|
|
s.Key = &v
|
|
return s
|
|
}
|
|
|
|
// SetValue sets the Value field's value.
|
|
func (s *ResourceTag) SetValue(v string) *ResourceTag {
|
|
s.Value = &v
|
|
return s
|
|
}
|
|
|
|
// Details about the security service that is being used to protect the resources.
|
|
type SecurityServicePolicyData struct {
|
|
_ struct{} `type:"structure"`
|
|
|
|
// Details about the service. This contains WAF data in JSON format, as shown
|
|
// in the following example:
|
|
//
|
|
// ManagedServiceData": "{\"type\": \"WAF\", \"ruleGroups\": [{\"id\": \"12345678-1bcd-9012-efga-0987654321ab\",
|
|
// \"overrideAction\" : {\"type\": \"COUNT\"}}], \"defaultAction\": {\"type\":
|
|
// \"BLOCK\"}}
|
|
ManagedServiceData *string `min:"1" type:"string"`
|
|
|
|
// The service that the policy is using to protect the resources. This value
|
|
// is WAF.
|
|
//
|
|
// Type is a required field
|
|
Type *string `type:"string" required:"true" enum:"SecurityServiceType"`
|
|
}
|
|
|
|
// String returns the string representation
|
|
func (s SecurityServicePolicyData) String() string {
|
|
return awsutil.Prettify(s)
|
|
}
|
|
|
|
// GoString returns the string representation
|
|
func (s SecurityServicePolicyData) GoString() string {
|
|
return s.String()
|
|
}
|
|
|
|
// Validate inspects the fields of the type to determine if they are valid.
|
|
func (s *SecurityServicePolicyData) Validate() error {
|
|
invalidParams := request.ErrInvalidParams{Context: "SecurityServicePolicyData"}
|
|
if s.ManagedServiceData != nil && len(*s.ManagedServiceData) < 1 {
|
|
invalidParams.Add(request.NewErrParamMinLen("ManagedServiceData", 1))
|
|
}
|
|
if s.Type == nil {
|
|
invalidParams.Add(request.NewErrParamRequired("Type"))
|
|
}
|
|
|
|
if invalidParams.Len() > 0 {
|
|
return invalidParams
|
|
}
|
|
return nil
|
|
}
|
|
|
|
// SetManagedServiceData sets the ManagedServiceData field's value.
|
|
func (s *SecurityServicePolicyData) SetManagedServiceData(v string) *SecurityServicePolicyData {
|
|
s.ManagedServiceData = &v
|
|
return s
|
|
}
|
|
|
|
// SetType sets the Type field's value.
|
|
func (s *SecurityServicePolicyData) SetType(v string) *SecurityServicePolicyData {
|
|
s.Type = &v
|
|
return s
|
|
}
|
|
|
|
const (
|
|
// PolicyComplianceStatusTypeCompliant is a PolicyComplianceStatusType enum value
|
|
PolicyComplianceStatusTypeCompliant = "COMPLIANT"
|
|
|
|
// PolicyComplianceStatusTypeNonCompliant is a PolicyComplianceStatusType enum value
|
|
PolicyComplianceStatusTypeNonCompliant = "NON_COMPLIANT"
|
|
)
|
|
|
|
const (
|
|
// SecurityServiceTypeWaf is a SecurityServiceType enum value
|
|
SecurityServiceTypeWaf = "WAF"
|
|
)
|
|
|
|
const (
|
|
// ViolationReasonWebAclMissingRuleGroup is a ViolationReason enum value
|
|
ViolationReasonWebAclMissingRuleGroup = "WEB_ACL_MISSING_RULE_GROUP"
|
|
|
|
// ViolationReasonResourceMissingWebAcl is a ViolationReason enum value
|
|
ViolationReasonResourceMissingWebAcl = "RESOURCE_MISSING_WEB_ACL"
|
|
|
|
// ViolationReasonResourceIncorrectWebAcl is a ViolationReason enum value
|
|
ViolationReasonResourceIncorrectWebAcl = "RESOURCE_INCORRECT_WEB_ACL"
|
|
)
|