Help us shape the future of Go! Take the 2026 Go Developer Survey

networkfirewall

package
v1.9.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2026 License: MIT Imports: 27 Imported by: 0

README

Networkfirewall

Parity grade: B · SDK aws-sdk-go-v2/service/networkfirewall@v1.76.1 · last audited 2026-10-17 (8e8351102)

Coverage

Metric Value
PARITY entries audited 85 (85 ok)
Feature families 7 (7 ok)
Known gaps 4
Structural gaps (can't be emulated) 3
Deferred items 0
Resource leaks clean
Known gaps
  • CreateFirewall NatGatewayMappings and VpcEndpoint: UnsupportedOperationException (bd: gopherstack-cefu7.79)
  • Transit gateway attachments start PENDING_ACCEPTANCE only when a TransitGatewayResolver reports another owner account; internal/app does not wire one to EC2, so standalone attachments auto-accept (bd: gopherstack-cefu7.79)
  • FirewallStatus.CapacityUsageSummary and NatGatewayAttachments never populated (bd: gopherstack-cefu7.79)
  • Firewall, VPC endpoint association and proxy endpoints are generated IDs; no EC2 VPC endpoint is created or removed (bd: gopherstack-cefu7.79)
Structural gaps

These do not block an A grade — no implementation could produce real data here because the underlying data source cannot exist in an emulator.

  • Rule evaluation: no packets flow, so stateless/stateful rules, TLS inspection and logging never act on traffic.
  • AnalysisResults on DescribeRuleGroup need a rule-analysis engine; none exists.
  • Managed rule groups (AWS_MANAGED_*, partner) have no catalog to list.

More

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrResourceNotFound      = awserr.New("ResourceNotFoundException", awserr.ErrNotFound)
	ErrInvalidRequest        = awserr.New("InvalidRequestException", awserr.ErrInvalidParameter)
	ErrInvalidToken          = awserr.New("InvalidTokenException", awserr.ErrConflict)
	ErrInvalidOperation      = awserr.New("InvalidOperationException", awserr.ErrConflict)
	ErrInvalidResourcePolicy = awserr.New("InvalidResourcePolicyException", awserr.ErrInvalidParameter)
	ErrLimitExceeded         = awserr.New("LimitExceededException", awserr.ErrInvalidParameter)
	ErrUnsupportedOperation  = awserr.New("UnsupportedOperationException", awserr.ErrInvalidParameter)
	ErrThrottling            = awserr.New("ThrottlingException", awserr.ErrConflict)
)

Sentinel errors; each message starts with the AWS exception name.

Functions

This section is empty.

Types

type AZSyncState

type AZSyncState struct {
	Attachment *Attachment `json:"Attachment,omitempty"`
}

AZSyncState is the endpoint attachment in one Availability Zone.

type ActionDefinition

type ActionDefinition struct {
	PublishMetricAction *PublishMetricAction `json:"PublishMetricAction,omitempty"`
}

ActionDefinition defines a custom action.

type Address

type Address struct {
	AddressDefinition string `json:"AddressDefinition"`
}

Address is a CIDR.

type AnalysisReport

type AnalysisReport struct {
	ReportTime       *float64 `json:"ReportTime,omitempty"`
	AnalysisReportID string   `json:"AnalysisReportId"`
	AnalysisType     string   `json:"AnalysisType"`
	Status           string   `json:"Status"`
}

AnalysisReport is a ListAnalysisReports entry.

type AnalysisTypeReportResult

type AnalysisTypeReportResult struct {
	Domain string `json:"Domain,omitempty"`
}

AnalysisTypeReportResult is one domain row of a report.

type AssociateAvailabilityZonesInput

type AssociateAvailabilityZonesInput struct {
	AvailabilityZoneMappings []AvailabilityZoneMapping `json:"AvailabilityZoneMappings"`
	// contains filtered or unexported fields
}

AssociateAvailabilityZonesInput is the AssociateAvailabilityZones request.

type AssociateFirewallPolicyInput

type AssociateFirewallPolicyInput struct {
	FirewallPolicyArn string `json:"FirewallPolicyArn"`
	// contains filtered or unexported fields
}

AssociateFirewallPolicyInput is the AssociateFirewallPolicy request.

type AssociateFirewallPolicyOutput

type AssociateFirewallPolicyOutput struct {
	FirewallArn       string `json:"FirewallArn"`
	FirewallName      string `json:"FirewallName"`
	FirewallPolicyArn string `json:"FirewallPolicyArn"`
	UpdateToken       string `json:"UpdateToken"`
}

AssociateFirewallPolicyOutput is the AssociateFirewallPolicy response.

type AssociateSubnetsInput

type AssociateSubnetsInput struct {
	SubnetMappings []SubnetMapping `json:"SubnetMappings"`
	// contains filtered or unexported fields
}

AssociateSubnetsInput is the AssociateSubnets request.

type AttachRuleGroupsToProxyConfigurationInput

type AttachRuleGroupsToProxyConfigurationInput struct {
	ProxyConfigurationArn  string                     `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string                     `json:"ProxyConfigurationName"`
	UpdateToken            string                     `json:"UpdateToken"`
	RuleGroups             []ProxyRuleGroupAttachment `json:"RuleGroups"`
}

AttachRuleGroupsToProxyConfigurationInput is the AttachRuleGroupsToProxyConfiguration request.

type Attachment

type Attachment struct {
	EndpointID    string `json:"EndpointId"`
	Status        string `json:"Status"`
	StatusMessage string `json:"StatusMessage,omitempty"`
	SubnetID      string `json:"SubnetId,omitempty"`
}

Attachment is a firewall endpoint attachment.

type AvailabilityZoneMapping

type AvailabilityZoneMapping struct {
	AvailabilityZone string `json:"AvailabilityZone"`
}

AvailabilityZoneMapping is a transit-gateway firewall zone.

type AvailabilityZoneMetadata

type AvailabilityZoneMetadata struct {
	IPAddressType string `json:"IPAddressType,omitempty"`
}

AvailabilityZoneMetadata is a supported zone entry.

type AvailabilityZonesOutput

type AvailabilityZonesOutput struct {
	FirewallArn              string                    `json:"FirewallArn"`
	FirewallName             string                    `json:"FirewallName"`
	UpdateToken              string                    `json:"UpdateToken"`
	AvailabilityZoneMappings []AvailabilityZoneMapping `json:"AvailabilityZoneMappings"`
}

AvailabilityZonesOutput is the Associate/DisassociateAvailabilityZones response.

type CheckCertificateRevocationStatusActions

type CheckCertificateRevocationStatusActions struct {
	RevokedStatusAction string `json:"RevokedStatusAction,omitempty"`
	UnknownStatusAction string `json:"UnknownStatusAction,omitempty"`
}

CheckCertificateRevocationStatusActions sets revocation behaviour.

type ContainerAssociationOutput

type ContainerAssociationOutput struct {
	ContainerAssociationArn           string                             `json:"ContainerAssociationArn"`
	ContainerAssociationName          string                             `json:"ContainerAssociationName"`
	Description                       string                             `json:"Description,omitempty"`
	Status                            string                             `json:"Status"`
	Type                              string                             `json:"Type"`
	UpdateToken                       string                             `json:"UpdateToken"`
	ContainerMonitoringConfigurations []ContainerMonitoringConfiguration `json:"ContainerMonitoringConfigurations"`
	Tags                              []Tag                              `json:"Tags,omitempty"`
}

ContainerAssociationOutput is the Create/UpdateContainerAssociation response.

type ContainerAssociationSummary

type ContainerAssociationSummary struct {
	Arn  string `json:"Arn"`
	Name string `json:"Name"`
}

ContainerAssociationSummary is a ListContainerAssociations entry.

type ContainerAttribute

type ContainerAttribute struct {
	Key   string `json:"Key"`
	Value string `json:"Value"`
}

ContainerAttribute is one attribute filter.

type ContainerMonitoringConfiguration

type ContainerMonitoringConfiguration struct {
	ClusterArn       string               `json:"ClusterArn"`
	AttributeFilters []ContainerAttribute `json:"AttributeFilters,omitempty"`
}

ContainerMonitoringConfiguration selects the containers of one cluster.

type CreateContainerAssociationInput

type CreateContainerAssociationInput struct {
	ContainerAssociationName          string                             `json:"ContainerAssociationName"`
	Type                              string                             `json:"Type"`
	Description                       string                             `json:"Description"`
	ContainerMonitoringConfigurations []ContainerMonitoringConfiguration `json:"ContainerMonitoringConfigurations"`
	Tags                              []Tag                              `json:"Tags"`
}

CreateContainerAssociationInput is the CreateContainerAssociation request.

type CreateFirewallInput

type CreateFirewallInput struct {
	EncryptionConfiguration          *EncryptionConfiguration  `json:"EncryptionConfiguration,omitempty"`
	ProxySettings                    *ProxySettings            `json:"ProxySettings,omitempty"`
	VpcEndpoint                      *VpcEndpoint              `json:"VpcEndpoint,omitempty"`
	FirewallName                     string                    `json:"FirewallName"`
	FirewallPolicyArn                string                    `json:"FirewallPolicyArn"`
	VpcID                            string                    `json:"VpcId"`
	Description                      string                    `json:"Description"`
	TransitGatewayID                 string                    `json:"TransitGatewayId"`
	SubnetMappings                   []SubnetMapping           `json:"SubnetMappings"`
	AvailabilityZoneMappings         []AvailabilityZoneMapping `json:"AvailabilityZoneMappings"`
	NatGatewayMappings               []NatGatewayMapping       `json:"NatGatewayMappings"`
	EnabledAnalysisTypes             []string                  `json:"EnabledAnalysisTypes"`
	Tags                             []Tag                     `json:"Tags"`
	DeleteProtection                 bool                      `json:"DeleteProtection"`
	SubnetChangeProtection           bool                      `json:"SubnetChangeProtection"`
	FirewallPolicyChangeProtection   bool                      `json:"FirewallPolicyChangeProtection"`
	AvailabilityZoneChangeProtection bool                      `json:"AvailabilityZoneChangeProtection"`
}

CreateFirewallInput is the CreateFirewall request.

type CreateFirewallPolicyInput

type CreateFirewallPolicyInput struct {
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration"`
	FirewallPolicy          *FirewallPolicy          `json:"FirewallPolicy"`
	FirewallPolicyName      string                   `json:"FirewallPolicyName"`
	Description             string                   `json:"Description"`
	Tags                    []Tag                    `json:"Tags"`
	DryRun                  bool                     `json:"DryRun"`
}

CreateFirewallPolicyInput is the CreateFirewallPolicy request.

type CreateProxyConfigurationInput

type CreateProxyConfigurationInput struct {
	DefaultRulePhaseActions *ProxyConfigDefaultRulePhaseActions `json:"DefaultRulePhaseActions"`
	ProxyConfigurationName  string                              `json:"ProxyConfigurationName"`
	Description             string                              `json:"Description"`
	RuleGroupArns           []string                            `json:"RuleGroupArns"`
	RuleGroupNames          []string                            `json:"RuleGroupNames"`
	Tags                    []Tag                               `json:"Tags"`
}

CreateProxyConfigurationInput is the CreateProxyConfiguration request.

type CreateProxyInput

type CreateProxyInput struct {
	TLSInterceptProperties *TLSInterceptProperties `json:"TlsInterceptProperties"`
	ProxyName              string                  `json:"ProxyName"`
	NatGatewayID           string                  `json:"NatGatewayId"`
	ProxyConfigurationArn  string                  `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string                  `json:"ProxyConfigurationName"`
	ListenerProperties     []ListenerProperty      `json:"ListenerProperties"`
	Tags                   []Tag                   `json:"Tags"`
}

CreateProxyInput is the CreateProxy request.

type CreateProxyRule

type CreateProxyRule struct {
	InsertPosition *int32 `json:"InsertPosition,omitempty"`
	ProxyRule
}

CreateProxyRule is a proxy rule with an insert position.

type CreateProxyRuleGroupInput

type CreateProxyRuleGroupInput struct {
	Rules              *ProxyRulesByRequestPhase `json:"Rules"`
	ProxyRuleGroupName string                    `json:"ProxyRuleGroupName"`
	Description        string                    `json:"Description"`
	Tags               []Tag                     `json:"Tags"`
}

CreateProxyRuleGroupInput is the CreateProxyRuleGroup request.

type CreateProxyRulesByRequestPhase

type CreateProxyRulesByRequestPhase struct {
	PostRESPONSE []CreateProxyRule `json:"PostRESPONSE,omitempty"`
	PreDNS       []CreateProxyRule `json:"PreDNS,omitempty"`
	PreREQUEST   []CreateProxyRule `json:"PreREQUEST,omitempty"`
}

CreateProxyRulesByRequestPhase groups new proxy rules by request phase.

type CreateProxyRulesInput

type CreateProxyRulesInput struct {
	Rules              *CreateProxyRulesByRequestPhase `json:"Rules"`
	ProxyRuleGroupArn  string                          `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string                          `json:"ProxyRuleGroupName"`
}

CreateProxyRulesInput is the CreateProxyRules request.

type CreateRuleGroupInput

type CreateRuleGroupInput struct {
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration"`
	RuleGroup               *RuleGroup               `json:"RuleGroup"`
	SourceMetadata          *SourceMetadata          `json:"SourceMetadata"`
	SummaryConfiguration    *SummaryConfiguration    `json:"SummaryConfiguration"`
	Capacity                *int32                   `json:"Capacity"`
	RuleGroupName           string                   `json:"RuleGroupName"`
	Type                    string                   `json:"Type"`
	Description             string                   `json:"Description"`
	Rules                   string                   `json:"Rules"`
	Tags                    []Tag                    `json:"Tags"`
	AnalyzeRuleGroup        bool                     `json:"AnalyzeRuleGroup"`
	DryRun                  bool                     `json:"DryRun"`
}

CreateRuleGroupInput is the CreateRuleGroup request.

type CreateTLSInspectionConfigurationInput

type CreateTLSInspectionConfigurationInput struct {
	EncryptionConfiguration        *EncryptionConfiguration    `json:"EncryptionConfiguration"`
	TLSInspectionConfiguration     *TLSInspectionConfiguration `json:"TLSInspectionConfiguration"`
	TLSInspectionConfigurationName string                      `json:"TLSInspectionConfigurationName"`
	Description                    string                      `json:"Description"`
	Tags                           []Tag                       `json:"Tags"`
}

CreateTLSInspectionConfigurationInput is the CreateTLSInspectionConfiguration request.

type CreateVpcEndpointAssociationInput

type CreateVpcEndpointAssociationInput struct {
	SubnetMapping *SubnetMapping `json:"SubnetMapping"`
	FirewallArn   string         `json:"FirewallArn"`
	VpcID         string         `json:"VpcId"`
	Description   string         `json:"Description"`
	Tags          []Tag          `json:"Tags"`
}

CreateVpcEndpointAssociationInput is the CreateVpcEndpointAssociation request.

type CustomAction

type CustomAction struct {
	ActionDefinition ActionDefinition `json:"ActionDefinition"`
	ActionName       string           `json:"ActionName"`
}

CustomAction is a named custom stateless action.

type DeleteContainerAssociationInput

type DeleteContainerAssociationInput = DescribeContainerAssociationInput

DeleteContainerAssociationInput is the DeleteContainerAssociation request.

type DeleteContainerAssociationOutput

type DeleteContainerAssociationOutput struct {
	ContainerAssociationArn  string `json:"ContainerAssociationArn"`
	ContainerAssociationName string `json:"ContainerAssociationName"`
	Status                   string `json:"Status"`
}

DeleteContainerAssociationOutput is the DeleteContainerAssociation response.

type DeleteFirewallInput

type DeleteFirewallInput = DescribeFirewallInput

DeleteFirewallInput is the DeleteFirewall request.

type DeleteFirewallPolicyInput

type DeleteFirewallPolicyInput = DescribeFirewallPolicyInput

DeleteFirewallPolicyInput is the DeleteFirewallPolicy request.

type DeleteFirewallPolicyOutput

type DeleteFirewallPolicyOutput struct {
	FirewallPolicyResponse FirewallPolicyResponse `json:"FirewallPolicyResponse"`
}

DeleteFirewallPolicyOutput is the DeleteFirewallPolicy response.

type DeleteProxyConfigurationInput

type DeleteProxyConfigurationInput = DescribeProxyConfigurationInput

DeleteProxyConfigurationInput is the DeleteProxyConfiguration request.

type DeleteProxyConfigurationOutput

type DeleteProxyConfigurationOutput struct {
	ProxyConfigurationArn  string `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string `json:"ProxyConfigurationName"`
}

DeleteProxyConfigurationOutput is the DeleteProxyConfiguration response.

type DeleteProxyInput

type DeleteProxyInput struct {
	NatGatewayID string `json:"NatGatewayId"`
	ProxyArn     string `json:"ProxyArn"`
	ProxyName    string `json:"ProxyName"`
}

DeleteProxyInput is the DeleteProxy request.

type DeleteProxyOutput

type DeleteProxyOutput struct {
	NatGatewayID string `json:"NatGatewayId"`
	ProxyArn     string `json:"ProxyArn"`
	ProxyName    string `json:"ProxyName"`
}

DeleteProxyOutput is the DeleteProxy response.

type DeleteProxyRuleGroupInput

type DeleteProxyRuleGroupInput = DescribeProxyRuleGroupInput

DeleteProxyRuleGroupInput is the DeleteProxyRuleGroup request.

type DeleteProxyRuleGroupOutput

type DeleteProxyRuleGroupOutput struct {
	ProxyRuleGroupArn  string `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
}

DeleteProxyRuleGroupOutput is the DeleteProxyRuleGroup response.

type DeleteProxyRulesInput

type DeleteProxyRulesInput struct {
	ProxyRuleGroupArn  string   `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string   `json:"ProxyRuleGroupName"`
	Rules              []string `json:"Rules"`
}

DeleteProxyRulesInput is the DeleteProxyRules request.

type DeleteProxyRulesOutput

type DeleteProxyRulesOutput struct {
	ProxyRuleGroup ProxyRuleGroup `json:"ProxyRuleGroup"`
}

DeleteProxyRulesOutput is the DeleteProxyRules response.

type DeleteResourcePolicyInput

type DeleteResourcePolicyInput = DescribeResourcePolicyInput

DeleteResourcePolicyInput is the DeleteResourcePolicy request.

type DeleteRuleGroupInput

type DeleteRuleGroupInput = DescribeRuleGroupMetadataInput

DeleteRuleGroupInput is the DeleteRuleGroup request.

type DeleteRuleGroupOutput

type DeleteRuleGroupOutput struct {
	RuleGroupResponse RuleGroupResponse `json:"RuleGroupResponse"`
}

DeleteRuleGroupOutput is the DeleteRuleGroup response.

type DeleteTLSInspectionConfigurationInput

type DeleteTLSInspectionConfigurationInput = DescribeTLSInspectionConfigurationInput

DeleteTLSInspectionConfigurationInput is the Delete request.

type DeleteTLSInspectionConfigurationOutput

type DeleteTLSInspectionConfigurationOutput struct {
	TLSInspectionConfigurationResponse TLSInspectionConfigurationResponse `json:"TLSInspectionConfigurationResponse"`
}

DeleteTLSInspectionConfigurationOutput is the Delete response.

type DeleteVpcEndpointAssociationInput

type DeleteVpcEndpointAssociationInput = DescribeVpcEndpointAssociationInput

DeleteVpcEndpointAssociationInput is the DeleteVpcEndpointAssociation request.

type DescribeContainerAssociationInput

type DescribeContainerAssociationInput struct {
	ContainerAssociationArn  string `json:"ContainerAssociationArn"`
	ContainerAssociationName string `json:"ContainerAssociationName"`
}

DescribeContainerAssociationInput is the DescribeContainerAssociation request.

type DescribeContainerAssociationOutput

type DescribeContainerAssociationOutput struct {
	LastUpdatedTime *float64 `json:"LastUpdatedTime,omitempty"`
	ContainerAssociationOutput
	ResolvedCidrCount int32 `json:"ResolvedCidrCount"`
}

DescribeContainerAssociationOutput is the DescribeContainerAssociation response.

type DescribeFirewallInput

type DescribeFirewallInput struct {
	FirewallArn  string `json:"FirewallArn"`
	FirewallName string `json:"FirewallName"`
}

DescribeFirewallInput is the DescribeFirewall request.

type DescribeFirewallMetadataInput

type DescribeFirewallMetadataInput struct {
	FirewallArn string `json:"FirewallArn"`
}

DescribeFirewallMetadataInput is the DescribeFirewallMetadata request.

type DescribeFirewallMetadataOutput

type DescribeFirewallMetadataOutput struct {
	Description       string `json:"Description,omitempty"`
	FirewallArn       string `json:"FirewallArn"`
	FirewallPolicyArn string `json:"FirewallPolicyArn"`
	Status            string `json:"Status"`

	SupportedAvailabilityZones map[string]AvailabilityZoneMetadata `json:"SupportedAvailabilityZones,omitempty"`
	TransitGatewayAttachmentID string                              `json:"TransitGatewayAttachmentId,omitempty"`
}

DescribeFirewallMetadataOutput is the DescribeFirewallMetadata response.

type DescribeFirewallOutput

type DescribeFirewallOutput struct {
	FirewallStatus FirewallStatus `json:"FirewallStatus"`
	UpdateToken    string         `json:"UpdateToken"`
	Firewall       Firewall       `json:"Firewall"`
}

DescribeFirewallOutput is the DescribeFirewall response.

type DescribeFirewallPolicyInput

type DescribeFirewallPolicyInput struct {
	FirewallPolicyArn  string `json:"FirewallPolicyArn"`
	FirewallPolicyName string `json:"FirewallPolicyName"`
}

DescribeFirewallPolicyInput is the DescribeFirewallPolicy request.

type DescribeFirewallPolicyOutput

type DescribeFirewallPolicyOutput struct {
	FirewallPolicy         *FirewallPolicy        `json:"FirewallPolicy,omitempty"`
	UpdateToken            string                 `json:"UpdateToken"`
	FirewallPolicyResponse FirewallPolicyResponse `json:"FirewallPolicyResponse"`
}

DescribeFirewallPolicyOutput is the DescribeFirewallPolicy response.

type DescribeFlowOperationInput

type DescribeFlowOperationInput struct {
	FlowOperationID string `json:"FlowOperationId"`
	// contains filtered or unexported fields
}

DescribeFlowOperationInput is the DescribeFlowOperation request.

type DescribeFlowOperationOutput

type DescribeFlowOperationOutput struct {
	FlowRequestTimestamp      *float64      `json:"FlowRequestTimestamp,omitempty"`
	AvailabilityZone          string        `json:"AvailabilityZone,omitempty"`
	FirewallArn               string        `json:"FirewallArn"`
	FlowOperationID           string        `json:"FlowOperationId"`
	FlowOperationStatus       string        `json:"FlowOperationStatus"`
	FlowOperationType         string        `json:"FlowOperationType"`
	VpcEndpointAssociationArn string        `json:"VpcEndpointAssociationArn,omitempty"`
	VpcEndpointID             string        `json:"VpcEndpointId,omitempty"`
	StatusMessage             string        `json:"StatusMessage,omitempty"`
	FlowOperation             FlowOperation `json:"FlowOperation"`
}

DescribeFlowOperationOutput is the DescribeFlowOperation response.

type DescribeLoggingConfigurationInput

type DescribeLoggingConfigurationInput = DescribeFirewallInput

DescribeLoggingConfigurationInput is the DescribeLoggingConfiguration request.

type DescribeProxyConfigurationInput

type DescribeProxyConfigurationInput struct {
	ProxyConfigurationArn  string `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string `json:"ProxyConfigurationName"`
}

DescribeProxyConfigurationInput is the DescribeProxyConfiguration request.

type DescribeProxyInput

type DescribeProxyInput struct {
	ProxyArn  string `json:"ProxyArn"`
	ProxyName string `json:"ProxyName"`
}

DescribeProxyInput is the DescribeProxy request.

type DescribeProxyOutput

type DescribeProxyOutput struct {
	UpdateToken string                `json:"UpdateToken"`
	Proxy       DescribeProxyResource `json:"Proxy"`
}

DescribeProxyOutput is the DescribeProxy response.

type DescribeProxyResource

type DescribeProxyResource struct {
	PrivateDNSName         string `json:"PrivateDNSName,omitempty"`
	VpcEndpointServiceName string `json:"VpcEndpointServiceName,omitempty"`
	Proxy
}

DescribeProxyResource is the DescribeProxy response shape.

type DescribeProxyRuleGroupInput

type DescribeProxyRuleGroupInput struct {
	ProxyRuleGroupArn  string `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
}

DescribeProxyRuleGroupInput is the DescribeProxyRuleGroup request.

type DescribeProxyRuleInput

type DescribeProxyRuleInput struct {
	ProxyRuleGroupArn  string `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
	ProxyRuleName      string `json:"ProxyRuleName"`
}

DescribeProxyRuleInput is the DescribeProxyRule request.

type DescribeProxyRuleOutput

type DescribeProxyRuleOutput struct {
	UpdateToken string    `json:"UpdateToken"`
	ProxyRule   ProxyRule `json:"ProxyRule"`
}

DescribeProxyRuleOutput is the DescribeProxyRule response.

type DescribeResourcePolicyInput

type DescribeResourcePolicyInput struct {
	ResourceArn string `json:"ResourceArn"`
}

DescribeResourcePolicyInput is the DescribeResourcePolicy request.

type DescribeResourcePolicyOutput

type DescribeResourcePolicyOutput struct {
	Policy string `json:"Policy"`
}

DescribeResourcePolicyOutput is the DescribeResourcePolicy response.

type DescribeRuleGroupInput

type DescribeRuleGroupInput struct {
	RuleGroupArn     string `json:"RuleGroupArn"`
	RuleGroupName    string `json:"RuleGroupName"`
	Type             string `json:"Type"`
	AnalyzeRuleGroup bool   `json:"AnalyzeRuleGroup"`
}

DescribeRuleGroupInput is the DescribeRuleGroup request.

type DescribeRuleGroupMetadataInput

type DescribeRuleGroupMetadataInput struct {
	RuleGroupArn  string `json:"RuleGroupArn"`
	RuleGroupName string `json:"RuleGroupName"`
	Type          string `json:"Type"`
}

DescribeRuleGroupMetadataInput is the DescribeRuleGroupMetadata request.

type DescribeRuleGroupMetadataOutput

type DescribeRuleGroupMetadataOutput struct {
	Capacity            *int32               `json:"Capacity,omitempty"`
	LastModifiedTime    *float64             `json:"LastModifiedTime,omitempty"`
	StatefulRuleOptions *StatefulRuleOptions `json:"StatefulRuleOptions,omitempty"`
	RuleGroupArn        string               `json:"RuleGroupArn"`
	RuleGroupName       string               `json:"RuleGroupName"`
	Description         string               `json:"Description,omitempty"`
	Type                string               `json:"Type,omitempty"`
}

DescribeRuleGroupMetadataOutput is the DescribeRuleGroupMetadata response.

type DescribeRuleGroupOutput

type DescribeRuleGroupOutput struct {
	RuleGroup         *RuleGroup        `json:"RuleGroup,omitempty"`
	UpdateToken       string            `json:"UpdateToken"`
	RuleGroupResponse RuleGroupResponse `json:"RuleGroupResponse"`
}

DescribeRuleGroupOutput is the DescribeRuleGroup response.

type DescribeRuleGroupSummaryInput

type DescribeRuleGroupSummaryInput = DescribeRuleGroupMetadataInput

DescribeRuleGroupSummaryInput is the DescribeRuleGroupSummary request.

type DescribeRuleGroupSummaryOutput

type DescribeRuleGroupSummaryOutput struct {
	RuleGroupName string  `json:"RuleGroupName"`
	Description   string  `json:"Description,omitempty"`
	Summary       Summary `json:"Summary"`
}

DescribeRuleGroupSummaryOutput is the DescribeRuleGroupSummary response.

type DescribeTLSInspectionConfigurationInput

type DescribeTLSInspectionConfigurationInput struct {
	TLSInspectionConfigurationArn  string `json:"TLSInspectionConfigurationArn"`
	TLSInspectionConfigurationName string `json:"TLSInspectionConfigurationName"`
}

DescribeTLSInspectionConfigurationInput is the Describe request.

type DescribeTLSInspectionConfigurationOutput

type DescribeTLSInspectionConfigurationOutput struct {
	TLSInspectionConfiguration         *TLSInspectionConfiguration        `json:"TLSInspectionConfiguration,omitempty"`
	UpdateToken                        string                             `json:"UpdateToken"`
	TLSInspectionConfigurationResponse TLSInspectionConfigurationResponse `json:"TLSInspectionConfigurationResponse"`
}

DescribeTLSInspectionConfigurationOutput is the Describe response.

type DescribeVpcEndpointAssociationInput

type DescribeVpcEndpointAssociationInput struct {
	VpcEndpointAssociationArn string `json:"VpcEndpointAssociationArn"`
}

DescribeVpcEndpointAssociationInput is the DescribeVpcEndpointAssociation request.

type DetachRuleGroupsFromProxyConfigurationInput

type DetachRuleGroupsFromProxyConfigurationInput struct {
	ProxyConfigurationArn  string   `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string   `json:"ProxyConfigurationName"`
	UpdateToken            string   `json:"UpdateToken"`
	RuleGroupArns          []string `json:"RuleGroupArns"`
	RuleGroupNames         []string `json:"RuleGroupNames"`
}

DetachRuleGroupsFromProxyConfigurationInput is the DetachRuleGroupsFromProxyConfiguration request.

type Dimension

type Dimension struct {
	Value string `json:"Value"`
}

Dimension is a CloudWatch dimension value.

type DisassociateAvailabilityZonesInput

type DisassociateAvailabilityZonesInput = AssociateAvailabilityZonesInput

DisassociateAvailabilityZonesInput is the DisassociateAvailabilityZones request.

type DisassociateSubnetsInput

type DisassociateSubnetsInput struct {
	SubnetIDs []string `json:"SubnetIds"`
	// contains filtered or unexported fields
}

DisassociateSubnetsInput is the DisassociateSubnets request.

type EmptyOutput

type EmptyOutput struct{}

EmptyOutput is an empty JSON object response.

type EncryptionConfiguration

type EncryptionConfiguration struct {
	KeyID string `json:"KeyId,omitempty"`
	Type  string `json:"Type"`
}

EncryptionConfiguration selects the KMS key for a resource.

type Firewall

type Firewall struct {
	ProxySettings                    *ProxySettings            `json:"ProxySettings,omitempty"`
	EncryptionConfiguration          *EncryptionConfiguration  `json:"EncryptionConfiguration,omitempty"`
	TransitGatewayID                 string                    `json:"TransitGatewayId,omitempty"`
	FirewallArn                      string                    `json:"FirewallArn"`
	FirewallPolicyArn                string                    `json:"FirewallPolicyArn"`
	Description                      string                    `json:"Description,omitempty"`
	VpcID                            string                    `json:"VpcId"`
	TransitGatewayOwnerAccountID     string                    `json:"TransitGatewayOwnerAccountId,omitempty"`
	FirewallName                     string                    `json:"FirewallName"`
	FirewallID                       string                    `json:"FirewallId"`
	AvailabilityZoneMappings         []AvailabilityZoneMapping `json:"AvailabilityZoneMappings,omitempty"`
	Tags                             []Tag                     `json:"Tags,omitempty"`
	EnabledAnalysisTypes             []string                  `json:"EnabledAnalysisTypes,omitempty"`
	SubnetMappings                   []SubnetMapping           `json:"SubnetMappings"`
	DeleteProtection                 bool                      `json:"DeleteProtection"`
	SubnetChangeProtection           bool                      `json:"SubnetChangeProtection"`
	FirewallPolicyChangeProtection   bool                      `json:"FirewallPolicyChangeProtection"`
	AvailabilityZoneChangeProtection bool                      `json:"AvailabilityZoneChangeProtection"`
}

Firewall is the Firewall response shape.

type FirewallMetadata

type FirewallMetadata struct {
	FirewallArn  string `json:"FirewallArn"`
	FirewallName string `json:"FirewallName"`
}

FirewallMetadata is a ListFirewalls entry.

type FirewallOutput

type FirewallOutput struct {
	FirewallStatus FirewallStatus `json:"FirewallStatus"`
	Firewall       Firewall       `json:"Firewall"`
}

FirewallOutput is the CreateFirewall and DeleteFirewall response.

type FirewallPolicy

type FirewallPolicy struct {
	StatefulEngineOptions           *StatefulEngineOptions        `json:"StatefulEngineOptions,omitempty"`
	PolicyVariables                 *PolicyVariables              `json:"PolicyVariables,omitempty"`
	EnableTLSSessionHolding         *bool                         `json:"EnableTLSSessionHolding,omitempty"`
	TLSInspectionConfigurationArn   string                        `json:"TLSInspectionConfigurationArn,omitempty"`
	StatelessDefaultActions         []string                      `json:"StatelessDefaultActions"`
	StatelessFragmentDefaultActions []string                      `json:"StatelessFragmentDefaultActions"`
	StatelessCustomActions          []CustomAction                `json:"StatelessCustomActions,omitempty"`
	StatelessRuleGroupReferences    []StatelessRuleGroupReference `json:"StatelessRuleGroupReferences,omitempty"`
	StatefulRuleGroupReferences     []StatefulRuleGroupReference  `json:"StatefulRuleGroupReferences,omitempty"`
	StatefulDefaultActions          []string                      `json:"StatefulDefaultActions,omitempty"`
}

FirewallPolicy is the policy body.

type FirewallPolicyOutput

type FirewallPolicyOutput struct {
	UpdateToken            string                 `json:"UpdateToken"`
	FirewallPolicyResponse FirewallPolicyResponse `json:"FirewallPolicyResponse"`
}

FirewallPolicyOutput is the Create/Update FirewallPolicy response.

type FirewallPolicyResponse

type FirewallPolicyResponse struct {
	ConsumedStatelessRuleCapacity  *int32                   `json:"ConsumedStatelessRuleCapacity,omitempty"`
	ConsumedStatefulRuleCapacity   *int32                   `json:"ConsumedStatefulRuleCapacity,omitempty"`
	ConsumedStatefulDomainCapacity *int32                   `json:"ConsumedStatefulDomainCapacity,omitempty"`
	NumberOfAssociations           *int32                   `json:"NumberOfAssociations,omitempty"`
	LastModifiedTime               *float64                 `json:"LastModifiedTime,omitempty"`
	EncryptionConfiguration        *EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"`
	FirewallPolicyArn              string                   `json:"FirewallPolicyArn"`
	FirewallPolicyID               string                   `json:"FirewallPolicyId"`
	FirewallPolicyName             string                   `json:"FirewallPolicyName"`
	Description                    string                   `json:"Description,omitempty"`
	FirewallPolicyStatus           string                   `json:"FirewallPolicyStatus,omitempty"`
	Tags                           []Tag                    `json:"Tags,omitempty"`
}

FirewallPolicyResponse is the FirewallPolicyResponse shape.

type FirewallStatus

type FirewallStatus struct {
	TGWAttachmentSyncState *TransitGatewayAttachmentSyncState `json:"TransitGatewayAttachmentSyncState,omitempty"`

	SyncStates                    map[string]SyncState `json:"SyncStates,omitempty"`
	ConfigurationSyncStateSummary string               `json:"ConfigurationSyncStateSummary"`
	Status                        string               `json:"Status"`
}

FirewallStatus is the FirewallStatus response shape.

type Flow

type Flow struct {
	DestinationAddress *Address `json:"DestinationAddress,omitempty"`
	SourceAddress      *Address `json:"SourceAddress,omitempty"`
	Age                *int32   `json:"Age,omitempty"`
	PacketCount        *int32   `json:"PacketCount,omitempty"`
	DestinationPort    string   `json:"DestinationPort,omitempty"`
	SourcePort         string   `json:"SourcePort,omitempty"`
	Protocol           string   `json:"Protocol,omitempty"`
	ByteCount          int64    `json:"ByteCount"`
}

Flow is one captured flow.

type FlowFilter

type FlowFilter struct {
	DestinationAddress *Address `json:"DestinationAddress,omitempty"`
	SourceAddress      *Address `json:"SourceAddress,omitempty"`
	DestinationPort    string   `json:"DestinationPort,omitempty"`
	SourcePort         string   `json:"SourcePort,omitempty"`
	Protocols          []string `json:"Protocols,omitempty"`
}

FlowFilter selects the flows a flow operation applies to.

type FlowOperation

type FlowOperation struct {
	MinimumFlowAgeInSeconds *int32       `json:"MinimumFlowAgeInSeconds,omitempty"`
	FlowFilters             []FlowFilter `json:"FlowFilters"`
}

FlowOperation is the filter set a flow operation was started with.

type FlowOperationMetadata

type FlowOperationMetadata struct {
	FlowRequestTimestamp *float64 `json:"FlowRequestTimestamp,omitempty"`
	FlowOperationID      string   `json:"FlowOperationId"`
	FlowOperationStatus  string   `json:"FlowOperationStatus"`
	FlowOperationType    string   `json:"FlowOperationType"`
}

FlowOperationMetadata is a ListFlowOperations entry.

type FlowTimeouts

type FlowTimeouts struct {
	TCPIdleTimeoutSeconds *int32 `json:"TcpIdleTimeoutSeconds,omitempty"`
}

FlowTimeouts configures stateful flow timeouts.

type GetAnalysisReportResultsInput

type GetAnalysisReportResultsInput struct {
	MaxResults       *int32 `json:"MaxResults"`
	AnalysisReportID string `json:"AnalysisReportId"`
	FirewallArn      string `json:"FirewallArn"`
	FirewallName     string `json:"FirewallName"`
	NextToken        string `json:"NextToken"`
}

GetAnalysisReportResultsInput is the GetAnalysisReportResults request.

type GetAnalysisReportResultsOutput

type GetAnalysisReportResultsOutput struct {
	StartTime             *float64                   `json:"StartTime,omitempty"`
	EndTime               *float64                   `json:"EndTime,omitempty"`
	ReportTime            *float64                   `json:"ReportTime,omitempty"`
	AnalysisType          string                     `json:"AnalysisType"`
	NextToken             string                     `json:"NextToken,omitempty"`
	Status                string                     `json:"Status"`
	AnalysisReportResults []AnalysisTypeReportResult `json:"AnalysisReportResults"`
}

GetAnalysisReportResultsOutput is the GetAnalysisReportResults response.

type Handler

type Handler struct {
	Backend *InMemoryBackend

	AccountID     string
	DefaultRegion string
	// contains filtered or unexported fields
}

Handler is the HTTP handler for the AWS Network Firewall API.

func NewHandler

func NewHandler(backend *InMemoryBackend) *Handler

NewHandler creates a Network Firewall handler over backend.

func (*Handler) BackendFor

func (h *Handler) BackendFor(region string) *InMemoryBackend

BackendFor returns the backend serving region.

func (*Handler) ChaosOperations

func (h *Handler) ChaosOperations() []string

ChaosOperations returns all operations that can be fault-injected.

func (*Handler) ChaosRegions

func (h *Handler) ChaosRegions() []string

ChaosRegions returns the regions this handler serves.

func (*Handler) ChaosServiceName

func (h *Handler) ChaosServiceName() string

ChaosServiceName returns the lowercase AWS service name for fault rule matching.

func (*Handler) EnableRegions

func (h *Handler) EnableRegions()

EnableRegions makes h serve every other region through lazily built per-region siblings.

func (*Handler) ExtractOperation

func (h *Handler) ExtractOperation(c *echo.Context) string

ExtractOperation extracts the action name from the X-Amz-Target header.

func (*Handler) ExtractResource

func (h *Handler) ExtractResource(c *echo.Context) string

ExtractResource extracts the firewall, policy, rule group or resource identifier from the body.

func (*Handler) GetSupportedOperations

func (h *Handler) GetSupportedOperations() []string

GetSupportedOperations returns the supported operation names.

func (*Handler) Handler

func (h *Handler) Handler() echo.HandlerFunc

Handler serves each request from the handler of its region.

func (*Handler) MatchPriority

func (h *Handler) MatchPriority() int

MatchPriority returns the routing priority for header-exact matching.

func (*Handler) Name

func (h *Handler) Name() string

Name returns the service name.

func (*Handler) RegionBackends

func (h *Handler) RegionBackends() []*InMemoryBackend

RegionBackends returns the home backend followed by every sibling built so far.

func (*Handler) RegionHandler

func (h *Handler) RegionHandler(region string) *Handler

RegionHandler returns the handler serving region: h itself for the home region, else its sibling.

func (*Handler) Reset

func (h *Handler) Reset()

Reset clears every region.

func (*Handler) Restore

func (h *Handler) Restore(ctx context.Context, data []byte) error

Restore implements persistence.Persistable.

func (*Handler) RouteMatcher

func (h *Handler) RouteMatcher() service.Matcher

RouteMatcher matches requests carrying the NetworkFirewall_20201112 X-Amz-Target prefix.

func (*Handler) SetSubnetResolver

func (h *Handler) SetSubnetResolver(r SubnetResolver)

SetSubnetResolver wires EC2 subnet lookups into the home backend and all current and future siblings.

func (*Handler) Snapshot

func (h *Handler) Snapshot(ctx context.Context) []byte

Snapshot implements persistence.Persistable; other regions ride in an additive "regions" key.

type Header struct {
	Protocol        string `json:"Protocol"`
	Source          string `json:"Source"`
	SourcePort      string `json:"SourcePort"`
	Direction       string `json:"Direction"`
	Destination     string `json:"Destination"`
	DestinationPort string `json:"DestinationPort"`
}

Header is a stateful rule header.

type IPSet

type IPSet struct {
	Definition []string `json:"Definition"`
}

IPSet is a list of CIDRs.

type IPSetReference

type IPSetReference struct {
	ReferenceArn string `json:"ReferenceArn,omitempty"`
}

IPSetReference references a managed IP set.

type InMemoryBackend

type InMemoryBackend struct {
	// contains filtered or unexported fields
}

InMemoryBackend is the in-memory Network Firewall backend for one account and region.

func NewInMemoryBackend

func NewInMemoryBackend(accountID, region string) *InMemoryBackend

NewInMemoryBackend creates a backend that mints ARNs for accountID and region.

func (*InMemoryBackend) AcceptNetworkFirewallTransitGatewayAttachment

func (b *InMemoryBackend) AcceptNetworkFirewallTransitGatewayAttachment(
	_ context.Context, in *TransitGatewayAttachmentInput,
) (*TransitGatewayAttachmentOutput, error)

AcceptNetworkFirewallTransitGatewayAttachment accepts a pending attachment.

func (*InMemoryBackend) AssociateAvailabilityZones

func (b *InMemoryBackend) AssociateAvailabilityZones(
	_ context.Context, in *AssociateAvailabilityZonesInput,
) (*AvailabilityZonesOutput, error)

AssociateAvailabilityZones adds Availability Zones to a transit gateway firewall.

func (*InMemoryBackend) AssociateFirewallPolicy

AssociateFirewallPolicy points a firewall at another policy.

func (*InMemoryBackend) AssociateSubnets

func (b *InMemoryBackend) AssociateSubnets(_ context.Context, in *AssociateSubnetsInput) (*SubnetsOutput, error)

AssociateSubnets adds subnets (one per Availability Zone) to a firewall.

func (*InMemoryBackend) AttachRuleGroupsToProxyConfiguration

func (b *InMemoryBackend) AttachRuleGroupsToProxyConfiguration(
	_ context.Context, in *AttachRuleGroupsToProxyConfigurationInput,
) (*ProxyConfigurationOutput, error)

AttachRuleGroupsToProxyConfiguration attaches rule groups at the requested positions.

func (*InMemoryBackend) CreateContainerAssociation

CreateContainerAssociation creates a container association.

func (*InMemoryBackend) CreateFirewall

CreateFirewall creates a firewall in PROVISIONING state.

func (*InMemoryBackend) CreateFirewallPolicy

func (b *InMemoryBackend) CreateFirewallPolicy(
	_ context.Context, in *CreateFirewallPolicyInput,
) (*FirewallPolicyOutput, error)

CreateFirewallPolicy creates a firewall policy.

func (*InMemoryBackend) CreateProxy

func (b *InMemoryBackend) CreateProxy(_ context.Context, in *CreateProxyInput) (*ProxyOutput, error)

CreateProxy creates a proxy attached to a NAT gateway under a proxy configuration.

func (*InMemoryBackend) CreateProxyConfiguration

CreateProxyConfiguration creates a proxy configuration.

func (*InMemoryBackend) CreateProxyRuleGroup

func (b *InMemoryBackend) CreateProxyRuleGroup(
	_ context.Context, in *CreateProxyRuleGroupInput,
) (*ProxyRuleGroupOutput, error)

CreateProxyRuleGroup creates a proxy rule group, optionally with initial rules.

func (*InMemoryBackend) CreateProxyRules

CreateProxyRules adds rules to a rule group at the requested positions.

func (*InMemoryBackend) CreateRuleGroup

CreateRuleGroup creates a stateless or stateful rule group.

func (*InMemoryBackend) CreateTLSInspectionConfiguration

CreateTLSInspectionConfiguration creates a TLS inspection configuration.

func (*InMemoryBackend) CreateVpcEndpointAssociation

CreateVpcEndpointAssociation creates an additional firewall endpoint in another VPC.

func (*InMemoryBackend) DeleteContainerAssociation

DeleteContainerAssociation starts deletion; the association disappears once DELETING passes.

func (*InMemoryBackend) DeleteFirewall

DeleteFirewall starts deletion; the firewall disappears once the DELETING window passes.

func (*InMemoryBackend) DeleteFirewallPolicy

DeleteFirewallPolicy deletes an unused policy.

func (*InMemoryBackend) DeleteNetworkFirewallTransitGatewayAttachment

func (b *InMemoryBackend) DeleteNetworkFirewallTransitGatewayAttachment(
	_ context.Context, in *TransitGatewayAttachmentInput,
) (*TransitGatewayAttachmentOutput, error)

DeleteNetworkFirewallTransitGatewayAttachment deletes a settled attachment.

func (*InMemoryBackend) DeleteProxy

DeleteProxy starts proxy deletion; it disappears once the DETACHING window passes.

func (*InMemoryBackend) DeleteProxyConfiguration

DeleteProxyConfiguration deletes a configuration no proxy uses.

func (*InMemoryBackend) DeleteProxyRuleGroup

DeleteProxyRuleGroup deletes a rule group no proxy configuration uses.

func (*InMemoryBackend) DeleteProxyRules

DeleteProxyRules removes rules by name from a rule group.

func (*InMemoryBackend) DeleteResourcePolicy

func (b *InMemoryBackend) DeleteResourcePolicy(_ context.Context, in *DeleteResourcePolicyInput) (*EmptyOutput, error)

DeleteResourcePolicy removes the policy attached to a resource.

func (*InMemoryBackend) DeleteRuleGroup

DeleteRuleGroup deletes a rule group that no policy references.

func (*InMemoryBackend) DeleteTLSInspectionConfiguration

DeleteTLSInspectionConfiguration deletes a configuration that no policy references.

func (*InMemoryBackend) DeleteVpcEndpointAssociation

DeleteVpcEndpointAssociation starts deletion; the association disappears once DELETING passes.

func (*InMemoryBackend) DescribeContainerAssociation

DescribeContainerAssociation returns a container association.

func (*InMemoryBackend) DescribeFirewall

DescribeFirewall returns a firewall, its status and its update token.

func (*InMemoryBackend) DescribeFirewallMetadata

DescribeFirewallMetadata returns summary information about a firewall.

func (*InMemoryBackend) DescribeFirewallPolicy

DescribeFirewallPolicy returns a policy and its body.

func (*InMemoryBackend) DescribeFlowOperation

DescribeFlowOperation returns the status of a flow operation.

func (*InMemoryBackend) DescribeLoggingConfiguration

func (b *InMemoryBackend) DescribeLoggingConfiguration(
	_ context.Context, in *DescribeLoggingConfigurationInput,
) (*LoggingOutput, error)

DescribeLoggingConfiguration returns a firewall's log destinations.

func (*InMemoryBackend) DescribeProxy

DescribeProxy returns a proxy and its update token.

func (*InMemoryBackend) DescribeProxyConfiguration

DescribeProxyConfiguration returns a proxy configuration and its update token.

func (*InMemoryBackend) DescribeProxyRule

DescribeProxyRule returns one rule of a rule group.

func (*InMemoryBackend) DescribeProxyRuleGroup

func (b *InMemoryBackend) DescribeProxyRuleGroup(
	_ context.Context, in *DescribeProxyRuleGroupInput,
) (*ProxyRuleGroupOutput, error)

DescribeProxyRuleGroup returns a rule group and its update token.

func (*InMemoryBackend) DescribeResourcePolicy

DescribeResourcePolicy returns the policy attached to a resource.

func (*InMemoryBackend) DescribeRuleGroup

DescribeRuleGroup returns a rule group and its body.

func (*InMemoryBackend) DescribeRuleGroupMetadata

DescribeRuleGroupMetadata returns summary information about a rule group.

func (*InMemoryBackend) DescribeRuleGroupSummary

DescribeRuleGroupSummary returns the selected options of each rule in a stateful rule group.

func (*InMemoryBackend) DescribeTLSInspectionConfiguration

DescribeTLSInspectionConfiguration returns a TLS configuration and its body.

func (*InMemoryBackend) DescribeVpcEndpointAssociation

DescribeVpcEndpointAssociation returns an association and its status.

func (*InMemoryBackend) DetachRuleGroupsFromProxyConfiguration

func (b *InMemoryBackend) DetachRuleGroupsFromProxyConfiguration(
	_ context.Context, in *DetachRuleGroupsFromProxyConfigurationInput,
) (*ProxyConfigurationOutput, error)

DetachRuleGroupsFromProxyConfiguration detaches rule groups; the rest keep their order.

func (*InMemoryBackend) DisassociateAvailabilityZones

func (b *InMemoryBackend) DisassociateAvailabilityZones(
	_ context.Context, in *DisassociateAvailabilityZonesInput,
) (*AvailabilityZonesOutput, error)

DisassociateAvailabilityZones removes Availability Zones; at least one must remain.

func (*InMemoryBackend) DisassociateSubnets

func (b *InMemoryBackend) DisassociateSubnets(_ context.Context, in *DisassociateSubnetsInput) (*SubnetsOutput, error)

DisassociateSubnets removes subnets from a firewall; at least one must remain.

func (*InMemoryBackend) GetAnalysisReportResults

GetAnalysisReportResults returns a report's rows; with no traffic through the emulator there are none.

func (*InMemoryBackend) ListAnalysisReports

ListAnalysisReports lists a firewall's reports, newest first.

func (*InMemoryBackend) ListContainerAssociations

ListContainerAssociations lists container associations.

func (*InMemoryBackend) ListFirewallPolicies

ListFirewallPolicies lists policies by name.

func (*InMemoryBackend) ListFirewalls

ListFirewalls lists firewalls, optionally filtered by VPC.

func (*InMemoryBackend) ListFlowOperationResults

ListFlowOperationResults returns the flows a capture found; no traffic crosses the emulator, so none.

func (*InMemoryBackend) ListFlowOperations

ListFlowOperations lists the flow operations of a firewall.

func (*InMemoryBackend) ListProxies

ListProxies lists proxies.

func (*InMemoryBackend) ListProxyConfigurations

ListProxyConfigurations lists proxy configurations.

func (*InMemoryBackend) ListProxyRuleGroups

ListProxyRuleGroups lists proxy rule groups.

func (*InMemoryBackend) ListRuleGroups

ListRuleGroups lists account rule groups; no managed groups exist.

func (*InMemoryBackend) ListTLSInspectionConfigurations

ListTLSInspectionConfigurations lists TLS configurations by name.

func (*InMemoryBackend) ListTagsForResource

ListTagsForResource lists a resource's tags.

func (*InMemoryBackend) ListVpcEndpointAssociations

ListVpcEndpointAssociations lists associations, optionally for one firewall.

func (*InMemoryBackend) PutResourcePolicy

func (b *InMemoryBackend) PutResourcePolicy(_ context.Context, in *PutResourcePolicyInput) (*EmptyOutput, error)

PutResourcePolicy attaches a sharing policy to a firewall policy or rule group.

func (*InMemoryBackend) RejectNetworkFirewallTransitGatewayAttachment

func (b *InMemoryBackend) RejectNetworkFirewallTransitGatewayAttachment(
	_ context.Context, in *TransitGatewayAttachmentInput,
) (*TransitGatewayAttachmentOutput, error)

RejectNetworkFirewallTransitGatewayAttachment rejects a pending attachment.

func (*InMemoryBackend) Reset

func (b *InMemoryBackend) Reset()

Reset clears all backend state.

func (*InMemoryBackend) Restore

func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error

Restore deserializes backend state from a JSON snapshot.

func (*InMemoryBackend) SetLifecycleDelay

func (b *InMemoryBackend) SetLifecycleDelay(d time.Duration)

SetLifecycleDelay sets the PROVISIONING/DELETING/sync window; d <= 0 keeps the built-in 500ms.

func (*InMemoryBackend) SetSubnetResolver

func (b *InMemoryBackend) SetSubnetResolver(r SubnetResolver)

SetSubnetResolver wires EC2 subnet lookups; nil keeps standalone behaviour.

func (*InMemoryBackend) SetTransitGatewayResolver

func (b *InMemoryBackend) SetTransitGatewayResolver(r TransitGatewayResolver)

SetTransitGatewayResolver wires EC2 transit gateway lookups; nil keeps standalone behaviour.

func (*InMemoryBackend) SetTransitionDelay

func (b *InMemoryBackend) SetTransitionDelay(d time.Duration)

SetTransitionDelay overrides the PROVISIONING/DELETING/sync window; zero makes transitions instant.

func (*InMemoryBackend) Snapshot

func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte

Snapshot serializes backend state to JSON.

func (*InMemoryBackend) StartAnalysisReport

StartAnalysisReport starts a report for an analysis type the firewall has enabled.

func (*InMemoryBackend) StartFlowCapture

func (b *InMemoryBackend) StartFlowCapture(_ context.Context, in *StartFlowInput) (*StartFlowOutput, error)

StartFlowCapture starts capturing the flows that match the filters.

func (*InMemoryBackend) StartFlowFlush

func (b *InMemoryBackend) StartFlowFlush(_ context.Context, in *StartFlowInput) (*StartFlowOutput, error)

StartFlowFlush starts flushing the flows that match the filters.

func (*InMemoryBackend) TagResource

func (b *InMemoryBackend) TagResource(_ context.Context, in *TagResourceInput) (*EmptyOutput, error)

TagResource adds or overwrites tags on a resource.

func (*InMemoryBackend) UntagResource

func (b *InMemoryBackend) UntagResource(_ context.Context, in *UntagResourceInput) (*EmptyOutput, error)

UntagResource removes tags by key.

func (*InMemoryBackend) UpdateAvailabilityZoneChangeProtection

UpdateAvailabilityZoneChangeProtection toggles Availability Zone change protection.

func (*InMemoryBackend) UpdateContainerAssociation

UpdateContainerAssociation replaces the monitoring configuration of an association.

func (*InMemoryBackend) UpdateFirewallAnalysisSettings

UpdateFirewallAnalysisSettings sets the analysis types a firewall collects.

func (*InMemoryBackend) UpdateFirewallDeleteProtection

UpdateFirewallDeleteProtection toggles delete protection.

func (*InMemoryBackend) UpdateFirewallDescription

UpdateFirewallDescription replaces a firewall's description.

func (*InMemoryBackend) UpdateFirewallEncryptionConfiguration

UpdateFirewallEncryptionConfiguration replaces a firewall's encryption settings.

func (*InMemoryBackend) UpdateFirewallPolicy

func (b *InMemoryBackend) UpdateFirewallPolicy(
	_ context.Context, in *UpdateFirewallPolicyInput,
) (*FirewallPolicyOutput, error)

UpdateFirewallPolicy replaces a policy body, guarded by the update token.

func (*InMemoryBackend) UpdateFirewallPolicyChangeProtection

UpdateFirewallPolicyChangeProtection toggles policy change protection.

func (*InMemoryBackend) UpdateLoggingConfiguration

UpdateLoggingConfiguration changes one log destination at a time, as AWS requires.

func (*InMemoryBackend) UpdateProxy

func (b *InMemoryBackend) UpdateProxy(_ context.Context, in *UpdateProxyInput) (*ProxyOutput, error)

UpdateProxy changes listeners and TLS interception of a proxy.

func (*InMemoryBackend) UpdateProxyConfiguration

UpdateProxyConfiguration replaces the default rule phase actions.

func (*InMemoryBackend) UpdateProxyRule

UpdateProxyRule changes a rule's action, description and conditions.

func (*InMemoryBackend) UpdateProxyRuleGroupPriorities

UpdateProxyRuleGroupPriorities moves attached rule groups to new positions.

func (*InMemoryBackend) UpdateProxyRulePriorities

UpdateProxyRulePriorities moves rules within one request phase.

func (*InMemoryBackend) UpdateProxySettings

UpdateProxySettings replaces the proxy listeners of a firewall.

func (*InMemoryBackend) UpdateRuleGroup

UpdateRuleGroup replaces a rule group body, guarded by the update token.

func (*InMemoryBackend) UpdateSubnetChangeProtection

UpdateSubnetChangeProtection toggles subnet change protection.

func (*InMemoryBackend) UpdateTLSInspectionConfiguration

UpdateTLSInspectionConfiguration replaces a TLS configuration body, guarded by the update token.

type ListAnalysisReportsInput

type ListAnalysisReportsInput struct {
	MaxResults   *int32 `json:"MaxResults"`
	FirewallArn  string `json:"FirewallArn"`
	FirewallName string `json:"FirewallName"`
	NextToken    string `json:"NextToken"`
}

ListAnalysisReportsInput is the ListAnalysisReports request.

type ListAnalysisReportsOutput

type ListAnalysisReportsOutput struct {
	NextToken       string           `json:"NextToken,omitempty"`
	AnalysisReports []AnalysisReport `json:"AnalysisReports"`
}

ListAnalysisReportsOutput is the ListAnalysisReports response.

type ListContainerAssociationsInput

type ListContainerAssociationsInput = ListProxiesInput

ListContainerAssociationsInput is the ListContainerAssociations request.

type ListContainerAssociationsOutput

type ListContainerAssociationsOutput struct {
	NextToken             string                        `json:"NextToken,omitempty"`
	ContainerAssociations []ContainerAssociationSummary `json:"ContainerAssociations"`
}

ListContainerAssociationsOutput is the ListContainerAssociations response.

type ListFirewallPoliciesInput

type ListFirewallPoliciesInput struct {
	MaxResults *int32 `json:"MaxResults"`
	NextToken  string `json:"NextToken"`
}

ListFirewallPoliciesInput is the ListFirewallPolicies request.

type ListFirewallPoliciesOutput

type ListFirewallPoliciesOutput struct {
	NextToken        string             `json:"NextToken,omitempty"`
	FirewallPolicies []ResourceMetadata `json:"FirewallPolicies"`
}

ListFirewallPoliciesOutput is the ListFirewallPolicies response.

type ListFirewallsInput

type ListFirewallsInput struct {
	MaxResults *int32   `json:"MaxResults"`
	NextToken  string   `json:"NextToken"`
	VpcIDs     []string `json:"VpcIds"`
}

ListFirewallsInput is the ListFirewalls request.

type ListFirewallsOutput

type ListFirewallsOutput struct {
	NextToken string             `json:"NextToken,omitempty"`
	Firewalls []FirewallMetadata `json:"Firewalls"`
}

ListFirewallsOutput is the ListFirewalls response.

type ListFlowOperationResultsInput

type ListFlowOperationResultsInput struct {
	MaxResults      *int32 `json:"MaxResults"`
	FlowOperationID string `json:"FlowOperationId"`
	NextToken       string `json:"NextToken"`
	// contains filtered or unexported fields
}

ListFlowOperationResultsInput is the ListFlowOperationResults request.

type ListFlowOperationResultsOutput

type ListFlowOperationResultsOutput struct {
	FlowRequestTimestamp      *float64 `json:"FlowRequestTimestamp,omitempty"`
	AvailabilityZone          string   `json:"AvailabilityZone,omitempty"`
	FirewallArn               string   `json:"FirewallArn"`
	FlowOperationID           string   `json:"FlowOperationId"`
	FlowOperationStatus       string   `json:"FlowOperationStatus"`
	NextToken                 string   `json:"NextToken,omitempty"`
	StatusMessage             string   `json:"StatusMessage,omitempty"`
	VpcEndpointAssociationArn string   `json:"VpcEndpointAssociationArn,omitempty"`
	VpcEndpointID             string   `json:"VpcEndpointId,omitempty"`
	Flows                     []Flow   `json:"Flows"`
}

ListFlowOperationResultsOutput is the ListFlowOperationResults response.

type ListFlowOperationsInput

type ListFlowOperationsInput struct {
	MaxResults        *int32 `json:"MaxResults"`
	FlowOperationType string `json:"FlowOperationType"`
	NextToken         string `json:"NextToken"`
	// contains filtered or unexported fields
}

ListFlowOperationsInput is the ListFlowOperations request.

type ListFlowOperationsOutput

type ListFlowOperationsOutput struct {
	NextToken      string                  `json:"NextToken,omitempty"`
	FlowOperations []FlowOperationMetadata `json:"FlowOperations"`
}

ListFlowOperationsOutput is the ListFlowOperations response.

type ListProxiesInput

type ListProxiesInput struct {
	MaxResults *int32 `json:"MaxResults"`
	NextToken  string `json:"NextToken"`
}

ListProxiesInput is the ListProxies request.

type ListProxiesOutput

type ListProxiesOutput struct {
	NextToken string             `json:"NextToken,omitempty"`
	Proxies   []ResourceMetadata `json:"Proxies"`
}

ListProxiesOutput is the ListProxies response.

type ListProxyConfigurationsInput

type ListProxyConfigurationsInput = ListProxiesInput

ListProxyConfigurationsInput is the ListProxyConfigurations request.

type ListProxyConfigurationsOutput

type ListProxyConfigurationsOutput struct {
	NextToken           string             `json:"NextToken,omitempty"`
	ProxyConfigurations []ResourceMetadata `json:"ProxyConfigurations"`
}

ListProxyConfigurationsOutput is the ListProxyConfigurations response.

type ListProxyRuleGroupsInput

type ListProxyRuleGroupsInput = ListProxiesInput

ListProxyRuleGroupsInput is the ListProxyRuleGroups request.

type ListProxyRuleGroupsOutput

type ListProxyRuleGroupsOutput struct {
	NextToken       string             `json:"NextToken,omitempty"`
	ProxyRuleGroups []ResourceMetadata `json:"ProxyRuleGroups"`
}

ListProxyRuleGroupsOutput is the ListProxyRuleGroups response.

type ListRuleGroupsInput

type ListRuleGroupsInput struct {
	MaxResults         *int32 `json:"MaxResults"`
	ManagedType        string `json:"ManagedType"`
	NextToken          string `json:"NextToken"`
	Scope              string `json:"Scope"`
	SubscriptionStatus string `json:"SubscriptionStatus"`
	Type               string `json:"Type"`
}

ListRuleGroupsInput is the ListRuleGroups request.

type ListRuleGroupsOutput

type ListRuleGroupsOutput struct {
	NextToken  string             `json:"NextToken,omitempty"`
	RuleGroups []ResourceMetadata `json:"RuleGroups"`
}

ListRuleGroupsOutput is the ListRuleGroups response.

type ListTLSInspectionConfigurationsInput

type ListTLSInspectionConfigurationsInput struct {
	MaxResults *int32 `json:"MaxResults"`
	NextToken  string `json:"NextToken"`
}

ListTLSInspectionConfigurationsInput is the List request.

type ListTLSInspectionConfigurationsOutput

type ListTLSInspectionConfigurationsOutput struct {
	NextToken                   string             `json:"NextToken,omitempty"`
	TLSInspectionConfigurations []ResourceMetadata `json:"TLSInspectionConfigurations"`
}

ListTLSInspectionConfigurationsOutput is the List response.

type ListTagsForResourceInput

type ListTagsForResourceInput struct {
	MaxResults  *int32 `json:"MaxResults"`
	ResourceArn string `json:"ResourceArn"`
	NextToken   string `json:"NextToken"`
}

ListTagsForResourceInput is the ListTagsForResource request.

type ListTagsForResourceOutput

type ListTagsForResourceOutput struct {
	NextToken string `json:"NextToken,omitempty"`
	Tags      []Tag  `json:"Tags"`
}

ListTagsForResourceOutput is the ListTagsForResource response.

type ListVpcEndpointAssociationsInput

type ListVpcEndpointAssociationsInput struct {
	MaxResults  *int32 `json:"MaxResults"`
	FirewallArn string `json:"FirewallArn"`
	NextToken   string `json:"NextToken"`
}

ListVpcEndpointAssociationsInput is the ListVpcEndpointAssociations request.

type ListVpcEndpointAssociationsOutput

type ListVpcEndpointAssociationsOutput struct {
	NextToken               string                           `json:"NextToken,omitempty"`
	VpcEndpointAssociations []VpcEndpointAssociationMetadata `json:"VpcEndpointAssociations"`
}

ListVpcEndpointAssociationsOutput is the ListVpcEndpointAssociations response.

type ListenerProperty

type ListenerProperty struct {
	Port *int32 `json:"Port,omitempty"`
	Type string `json:"Type,omitempty"`
}

ListenerProperty is a proxy listener.

type LogDestinationConfig

type LogDestinationConfig struct {
	LogDestination     map[string]string `json:"LogDestination"`
	LogDestinationType string            `json:"LogDestinationType"`
	LogType            string            `json:"LogType"`
}

LogDestinationConfig is one log destination.

type LoggingConfiguration

type LoggingConfiguration struct {
	LogDestinationConfigs []LogDestinationConfig `json:"LogDestinationConfigs"`
}

LoggingConfiguration is the set of log destinations.

type LoggingOutput

type LoggingOutput struct {
	EnableMonitoringDashboard *bool                `json:"EnableMonitoringDashboard,omitempty"`
	FirewallArn               string               `json:"FirewallArn"`
	LoggingConfiguration      LoggingConfiguration `json:"LoggingConfiguration"`
}

LoggingOutput is the DescribeLoggingConfiguration response.

type MatchAttributes

type MatchAttributes struct {
	Sources          []Address      `json:"Sources,omitempty"`
	Destinations     []Address      `json:"Destinations,omitempty"`
	SourcePorts      []PortRange    `json:"SourcePorts,omitempty"`
	DestinationPorts []PortRange    `json:"DestinationPorts,omitempty"`
	Protocols        []int32        `json:"Protocols,omitempty"`
	TCPFlags         []TCPFlagField `json:"TCPFlags,omitempty"`
}

MatchAttributes are stateless match criteria.

type NatGatewayMapping

type NatGatewayMapping struct {
	NatGatewayID string `json:"NatGatewayId,omitempty"`
}

NatGatewayMapping is a NAT gateway reference.

type PerObjectStatus

type PerObjectStatus struct {
	SyncStatus  string `json:"SyncStatus"`
	UpdateToken string `json:"UpdateToken,omitempty"`
}

PerObjectStatus is the sync state of one policy or rule group.

type PolicyVariables

type PolicyVariables struct {
	RuleVariables map[string]IPSet `json:"RuleVariables,omitempty"`
}

PolicyVariables are policy-wide IP sets.

type PortRange

type PortRange struct {
	FromPort int32 `json:"FromPort"`
	ToPort   int32 `json:"ToPort"`
}

PortRange is an inclusive port range.

type PortSet

type PortSet struct {
	Definition []string `json:"Definition"`
}

PortSet is a list of ports.

type Provider

type Provider struct{}

Provider implements service.Provider for AWS Network Firewall.

func (*Provider) Init

Init initializes the Network Firewall backend and handler.

func (*Provider) Name

func (p *Provider) Name() string

Name returns the provider name.

type Proxy

type Proxy struct {
	CreateTime             *float64                `json:"CreateTime,omitempty"`
	DeleteTime             *float64                `json:"DeleteTime,omitempty"`
	UpdateTime             *float64                `json:"UpdateTime,omitempty"`
	TLSInterceptProperties *TLSInterceptProperties `json:"TlsInterceptProperties,omitempty"`
	NatGatewayID           string                  `json:"NatGatewayId"`
	ProxyArn               string                  `json:"ProxyArn"`
	ProxyConfigurationArn  string                  `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string                  `json:"ProxyConfigurationName"`
	ProxyModifyState       string                  `json:"ProxyModifyState"`
	ProxyName              string                  `json:"ProxyName"`
	ProxyState             string                  `json:"ProxyState"`
	ListenerProperties     []ListenerProperty      `json:"ListenerProperties"`
	Tags                   []Tag                   `json:"Tags,omitempty"`
}

Proxy is the Proxy response shape.

type ProxyConfigDefaultRulePhaseActions

type ProxyConfigDefaultRulePhaseActions struct {
	PostRESPONSE string `json:"PostRESPONSE,omitempty"`
	PreDNS       string `json:"PreDNS,omitempty"`
	PreREQUEST   string `json:"PreREQUEST,omitempty"`
}

ProxyConfigDefaultRulePhaseActions are the default actions per request phase.

type ProxyConfigRuleGroup

type ProxyConfigRuleGroup struct {
	Priority           *int32 `json:"Priority,omitempty"`
	ProxyRuleGroupArn  string `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
}

ProxyConfigRuleGroup is a rule group attached to a proxy configuration.

type ProxyConfiguration

type ProxyConfiguration struct {
	CreateTime              *float64                            `json:"CreateTime,omitempty"`
	DefaultRulePhaseActions *ProxyConfigDefaultRulePhaseActions `json:"DefaultRulePhaseActions,omitempty"`
	Description             string                              `json:"Description,omitempty"`
	ProxyConfigurationArn   string                              `json:"ProxyConfigurationArn"`
	ProxyConfigurationName  string                              `json:"ProxyConfigurationName"`
	RuleGroups              []ProxyConfigRuleGroup              `json:"RuleGroups"`
	Tags                    []Tag                               `json:"Tags,omitempty"`
}

ProxyConfiguration is the ProxyConfiguration response shape.

type ProxyConfigurationOutput

type ProxyConfigurationOutput struct {
	UpdateToken        string             `json:"UpdateToken"`
	ProxyConfiguration ProxyConfiguration `json:"ProxyConfiguration"`
}

ProxyConfigurationOutput is the response of every call that returns a configuration and token.

type ProxyOutput

type ProxyOutput struct {
	UpdateToken string `json:"UpdateToken"`
	Proxy       Proxy  `json:"Proxy"`
}

ProxyOutput is the Create/UpdateProxy response.

type ProxyRule

type ProxyRule struct {
	Action        string               `json:"Action,omitempty"`
	Description   string               `json:"Description,omitempty"`
	ProxyRuleName string               `json:"ProxyRuleName"`
	Conditions    []ProxyRuleCondition `json:"Conditions,omitempty"`
}

ProxyRule is a proxy rule.

type ProxyRuleCondition

type ProxyRuleCondition struct {
	ConditionKey      string   `json:"ConditionKey,omitempty"`
	ConditionOperator string   `json:"ConditionOperator,omitempty"`
	ConditionValues   []string `json:"ConditionValues,omitempty"`
}

ProxyRuleCondition is one match condition of a proxy rule.

type ProxyRuleGroup

type ProxyRuleGroup struct {
	CreateTime         *float64                  `json:"CreateTime,omitempty"`
	Rules              *ProxyRulesByRequestPhase `json:"Rules,omitempty"`
	Description        string                    `json:"Description,omitempty"`
	ProxyRuleGroupArn  string                    `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string                    `json:"ProxyRuleGroupName"`
	Tags               []Tag                     `json:"Tags,omitempty"`
}

ProxyRuleGroup is the ProxyRuleGroup response shape.

type ProxyRuleGroupAttachment

type ProxyRuleGroupAttachment struct {
	InsertPosition     *int32 `json:"InsertPosition,omitempty"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
}

ProxyRuleGroupAttachment names a rule group to attach and where to put it.

type ProxyRuleGroupOutput

type ProxyRuleGroupOutput struct {
	UpdateToken    string         `json:"UpdateToken"`
	ProxyRuleGroup ProxyRuleGroup `json:"ProxyRuleGroup"`
}

ProxyRuleGroupOutput is the response of calls that return a rule group and token.

type ProxyRuleGroupPriority

type ProxyRuleGroupPriority struct {
	NewPosition        *int32 `json:"NewPosition,omitempty"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
}

ProxyRuleGroupPriority moves a rule group within a proxy configuration.

type ProxyRuleGroupPriorityResult

type ProxyRuleGroupPriorityResult struct {
	Priority           *int32 `json:"Priority,omitempty"`
	ProxyRuleGroupName string `json:"ProxyRuleGroupName"`
}

ProxyRuleGroupPriorityResult is a rule group and its resulting priority.

type ProxyRulePriority

type ProxyRulePriority struct {
	NewPosition   *int32 `json:"NewPosition,omitempty"`
	ProxyRuleName string `json:"ProxyRuleName"`
}

ProxyRulePriority moves a rule within its phase.

type ProxyRulesByRequestPhase

type ProxyRulesByRequestPhase struct {
	PostRESPONSE []ProxyRule `json:"PostRESPONSE,omitempty"`
	PreDNS       []ProxyRule `json:"PreDNS,omitempty"`
	PreREQUEST   []ProxyRule `json:"PreREQUEST,omitempty"`
}

ProxyRulesByRequestPhase groups proxy rules by request phase.

type ProxySettings

type ProxySettings struct {
	ListenerProperties []ListenerProperty `json:"ListenerProperties,omitempty"`
}

ProxySettings holds proxy listeners.

type PublishMetricAction

type PublishMetricAction struct {
	Dimensions []Dimension `json:"Dimensions"`
}

PublishMetricAction publishes CloudWatch metrics.

type PutResourcePolicyInput

type PutResourcePolicyInput struct {
	ResourceArn string `json:"ResourceArn"`
	Policy      string `json:"Policy"`
}

PutResourcePolicyInput is the PutResourcePolicy request.

type ReferenceSets

type ReferenceSets struct {
	IPSetReferences map[string]IPSetReference `json:"IPSetReferences,omitempty"`
}

ReferenceSets holds IP set references.

type ResourceMetadata

type ResourceMetadata struct {
	Arn  string `json:"Arn"`
	Name string `json:"Name"`
}

ResourceMetadata is a list entry for policies, rule groups and TLS configurations.

type RuleDefinition

type RuleDefinition struct {
	MatchAttributes MatchAttributes `json:"MatchAttributes"`
	Actions         []string        `json:"Actions"`
}

RuleDefinition is a stateless rule body.

type RuleGroup

type RuleGroup struct {
	RuleVariables       *RuleVariables       `json:"RuleVariables,omitempty"`
	ReferenceSets       *ReferenceSets       `json:"ReferenceSets,omitempty"`
	StatefulRuleOptions *StatefulRuleOptions `json:"StatefulRuleOptions,omitempty"`
	RulesSource         RulesSource          `json:"RulesSource"`
}

RuleGroup is the RuleGroup body.

type RuleGroupOutput

type RuleGroupOutput struct {
	UpdateToken       string            `json:"UpdateToken"`
	RuleGroupResponse RuleGroupResponse `json:"RuleGroupResponse"`
}

RuleGroupOutput is the Create/Update RuleGroup response.

type RuleGroupResponse

type RuleGroupResponse struct {
	Capacity                *int32                   `json:"Capacity,omitempty"`
	ConsumedCapacity        *int32                   `json:"ConsumedCapacity,omitempty"`
	NumberOfAssociations    *int32                   `json:"NumberOfAssociations,omitempty"`
	LastModifiedTime        *float64                 `json:"LastModifiedTime,omitempty"`
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"`
	SourceMetadata          *SourceMetadata          `json:"SourceMetadata,omitempty"`
	SummaryConfiguration    *SummaryConfiguration    `json:"SummaryConfiguration,omitempty"`
	RuleGroupArn            string                   `json:"RuleGroupArn"`
	RuleGroupID             string                   `json:"RuleGroupId"`
	RuleGroupName           string                   `json:"RuleGroupName"`
	Description             string                   `json:"Description,omitempty"`
	RuleGroupStatus         string                   `json:"RuleGroupStatus,omitempty"`
	Type                    string                   `json:"Type,omitempty"`
	Tags                    []Tag                    `json:"Tags,omitempty"`
}

RuleGroupResponse is the RuleGroupResponse shape.

type RuleOption

type RuleOption struct {
	Keyword  string   `json:"Keyword"`
	Settings []string `json:"Settings,omitempty"`
}

RuleOption is a Suricata rule option.

type RuleSummary

type RuleSummary struct {
	Metadata string `json:"Metadata,omitempty"`
	Msg      string `json:"Msg,omitempty"`
	SID      string `json:"SID,omitempty"`
}

RuleSummary is one rule's selected options.

type RuleVariables

type RuleVariables struct {
	IPSets   map[string]IPSet   `json:"IPSets,omitempty"`
	PortSets map[string]PortSet `json:"PortSets,omitempty"`
}

RuleVariables are named IP and port sets.

type RulesSource

type RulesSource struct {
	RulesSourceList                *RulesSourceList                `json:"RulesSourceList,omitempty"`
	StatelessRulesAndCustomActions *StatelessRulesAndCustomActions `json:"StatelessRulesAndCustomActions,omitempty"`
	RulesString                    string                          `json:"RulesString,omitempty"`
	StatefulRules                  []StatefulRule                  `json:"StatefulRules,omitempty"`
}

RulesSource is where rules come from.

type RulesSourceList

type RulesSourceList struct {
	GeneratedRulesType string   `json:"GeneratedRulesType"`
	TargetTypes        []string `json:"TargetTypes"`
	Targets            []string `json:"Targets"`
}

RulesSourceList is a domain list.

type ServerCertificate

type ServerCertificate struct {
	ResourceArn string `json:"ResourceArn,omitempty"`
}

ServerCertificate references an ACM certificate.

type ServerCertificateConfiguration

type ServerCertificateConfiguration struct {
	CheckCertificateRevocationStatus *CheckCertificateRevocationStatusActions `json:"CheckCertificateRevocationStatus,omitempty"` //nolint:lll // wire name
	CertificateAuthorityArn          string                                   `json:"CertificateAuthorityArn,omitempty"`
	ServerCertificates               []ServerCertificate                      `json:"ServerCertificates,omitempty"`
	Scopes                           []ServerCertificateScope                 `json:"Scopes,omitempty"`
}

ServerCertificateConfiguration is one TLS inspection entry.

type ServerCertificateScope

type ServerCertificateScope struct {
	Sources          []Address   `json:"Sources,omitempty"`
	Destinations     []Address   `json:"Destinations,omitempty"`
	SourcePorts      []PortRange `json:"SourcePorts,omitempty"`
	DestinationPorts []PortRange `json:"DestinationPorts,omitempty"`
	Protocols        []int32     `json:"Protocols,omitempty"`
}

ServerCertificateScope scopes TLS inspection.

type SourceMetadata

type SourceMetadata struct {
	SourceArn         string `json:"SourceArn,omitempty"`
	SourceUpdateToken string `json:"SourceUpdateToken,omitempty"`
}

SourceMetadata records rule group provenance.

type StartAnalysisReportInput

type StartAnalysisReportInput struct {
	AnalysisType string `json:"AnalysisType"`
	// contains filtered or unexported fields
}

StartAnalysisReportInput is the StartAnalysisReport request.

type StartAnalysisReportOutput

type StartAnalysisReportOutput struct {
	AnalysisReportID string `json:"AnalysisReportId"`
}

StartAnalysisReportOutput is the StartAnalysisReport response.

type StartFlowInput

type StartFlowInput struct {
	MinimumFlowAgeInSeconds *int32       `json:"MinimumFlowAgeInSeconds"`
	FlowFilters             []FlowFilter `json:"FlowFilters"`
	// contains filtered or unexported fields
}

StartFlowInput is the StartFlowCapture and StartFlowFlush request.

type StartFlowOutput

type StartFlowOutput struct {
	FirewallArn         string `json:"FirewallArn"`
	FlowOperationID     string `json:"FlowOperationId"`
	FlowOperationStatus string `json:"FlowOperationStatus"`
}

StartFlowOutput is the StartFlowCapture and StartFlowFlush response.

type StatefulEngineOptions

type StatefulEngineOptions struct {
	FlowTimeouts          *FlowTimeouts `json:"FlowTimeouts,omitempty"`
	RuleOrder             string        `json:"RuleOrder,omitempty"`
	StreamExceptionPolicy string        `json:"StreamExceptionPolicy,omitempty"`
}

StatefulEngineOptions configures the stateful engine.

type StatefulRule

type StatefulRule struct {
	Action      string       `json:"Action"`
	Header      Header       `json:"Header"`
	RuleOptions []RuleOption `json:"RuleOptions"`
}

StatefulRule is a 5-tuple stateful rule.

type StatefulRuleGroupOverride

type StatefulRuleGroupOverride struct {
	Action string `json:"Action,omitempty"`
}

StatefulRuleGroupOverride overrides group actions.

type StatefulRuleGroupReference

type StatefulRuleGroupReference struct {
	Override             *StatefulRuleGroupOverride `json:"Override,omitempty"`
	Priority             *int32                     `json:"Priority,omitempty"`
	DeepThreatInspection *bool                      `json:"DeepThreatInspection,omitempty"`
	ResourceArn          string                     `json:"ResourceArn"`
}

StatefulRuleGroupReference references a stateful group.

type StatefulRuleOptions

type StatefulRuleOptions struct {
	RuleOrder string `json:"RuleOrder,omitempty"`
}

StatefulRuleOptions configures stateful evaluation order.

type StatelessRule

type StatelessRule struct {
	RuleDefinition RuleDefinition `json:"RuleDefinition"`
	Priority       int32          `json:"Priority"`
}

StatelessRule is a prioritized stateless rule.

type StatelessRuleGroupReference

type StatelessRuleGroupReference struct {
	ResourceArn string `json:"ResourceArn"`
	Priority    int32  `json:"Priority"`
}

StatelessRuleGroupReference references a stateless group.

type StatelessRulesAndCustomActions

type StatelessRulesAndCustomActions struct {
	StatelessRules []StatelessRule `json:"StatelessRules"`
	CustomActions  []CustomAction  `json:"CustomActions,omitempty"`
}

StatelessRulesAndCustomActions holds stateless rules.

type SubnetMapping

type SubnetMapping struct {
	SubnetID      string `json:"SubnetId"`
	IPAddressType string `json:"IPAddressType,omitempty"`
}

SubnetMapping is one firewall subnet.

type SubnetResolver

type SubnetResolver interface {
	SubnetAZ(id string) (string, bool)
	SubnetNetwork(id string) (vpcID string, ipv6 bool, ok bool)
}

SubnetResolver looks up EC2 subnets so firewall endpoints get real zones and VPCs.

type SubnetsOutput

type SubnetsOutput struct {
	FirewallArn    string          `json:"FirewallArn"`
	FirewallName   string          `json:"FirewallName"`
	UpdateToken    string          `json:"UpdateToken"`
	SubnetMappings []SubnetMapping `json:"SubnetMappings"`
}

SubnetsOutput is the AssociateSubnets and DisassociateSubnets response.

type Summary

type Summary struct {
	RuleSummaries []RuleSummary `json:"RuleSummaries"`
}

Summary is the DescribeRuleGroupSummary body.

type SummaryConfiguration

type SummaryConfiguration struct {
	RuleOptions []string `json:"RuleOptions,omitempty"`
}

SummaryConfiguration selects summary rule options.

type SyncState

type SyncState struct {
	Attachment *Attachment                `json:"Attachment,omitempty"`
	Config     map[string]PerObjectStatus `json:"Config,omitempty"`
}

SyncState is the per-zone sync state.

type TCPFlagField

type TCPFlagField struct {
	Flags []string `json:"Flags"`
	Masks []string `json:"Masks,omitempty"`
}

TCPFlagField matches TCP flags.

type TLSCertificateData

type TLSCertificateData struct {
	CertificateArn string `json:"CertificateArn,omitempty"`
	Status         string `json:"Status,omitempty"`
}

TLSCertificateData describes a referenced certificate.

type TLSInspectionConfiguration

type TLSInspectionConfiguration struct {
	ServerCertificateConfigurations []ServerCertificateConfiguration `json:"ServerCertificateConfigurations,omitempty"`
}

TLSInspectionConfiguration is the TLS configuration body.

type TLSInspectionConfigurationOutput

type TLSInspectionConfigurationOutput struct {
	UpdateToken                        string                             `json:"UpdateToken"`
	TLSInspectionConfigurationResponse TLSInspectionConfigurationResponse `json:"TLSInspectionConfigurationResponse"`
}

TLSInspectionConfigurationOutput is the Create/Update response.

type TLSInspectionConfigurationResponse

type TLSInspectionConfigurationResponse struct {
	NumberOfAssociations             *int32                   `json:"NumberOfAssociations,omitempty"`
	LastModifiedTime                 *float64                 `json:"LastModifiedTime,omitempty"`
	EncryptionConfiguration          *EncryptionConfiguration `json:"EncryptionConfiguration,omitempty"`
	CertificateAuthority             *TLSCertificateData      `json:"CertificateAuthority,omitempty"`
	TLSInspectionConfigurationArn    string                   `json:"TLSInspectionConfigurationArn"`
	TLSInspectionConfigurationID     string                   `json:"TLSInspectionConfigurationId"`
	TLSInspectionConfigurationName   string                   `json:"TLSInspectionConfigurationName"`
	Description                      string                   `json:"Description,omitempty"`
	TLSInspectionConfigurationStatus string                   `json:"TLSInspectionConfigurationStatus,omitempty"`
	Certificates                     []TLSCertificateData     `json:"Certificates,omitempty"`
	Tags                             []Tag                    `json:"Tags,omitempty"`
}

TLSInspectionConfigurationResponse is the response shape.

type TLSInterceptProperties

type TLSInterceptProperties struct {
	PcaArn           string `json:"PcaArn,omitempty"`
	TLSInterceptMode string `json:"TlsInterceptMode,omitempty"`
}

TLSInterceptProperties configures TLS interception on a proxy.

type Tag

type Tag = tags.KV

Tag is a key/value resource tag.

type TagResourceInput

type TagResourceInput struct {
	ResourceArn string `json:"ResourceArn"`
	Tags        []Tag  `json:"Tags"`
}

TagResourceInput is the TagResource request.

type TransitGatewayAttachmentInput

type TransitGatewayAttachmentInput struct {
	TransitGatewayAttachmentID string `json:"TransitGatewayAttachmentId"`
}

TransitGatewayAttachmentInput is the Accept/Reject/DeleteNetworkFirewallTransitGatewayAttachment request.

type TransitGatewayAttachmentOutput

type TransitGatewayAttachmentOutput struct {
	TransitGatewayAttachmentID     string `json:"TransitGatewayAttachmentId"`
	TransitGatewayAttachmentStatus string `json:"TransitGatewayAttachmentStatus"`
}

TransitGatewayAttachmentOutput is the Accept/Reject/DeleteNetworkFirewallTransitGatewayAttachment response.

type TransitGatewayAttachmentSyncState

type TransitGatewayAttachmentSyncState struct {
	AttachmentID                   string `json:"AttachmentId,omitempty"`
	StatusMessage                  string `json:"StatusMessage,omitempty"`
	TransitGatewayAttachmentStatus string `json:"TransitGatewayAttachmentStatus,omitempty"`
}

TransitGatewayAttachmentSyncState is the transit gateway attachment status of a firewall.

type TransitGatewayResolver

type TransitGatewayResolver interface {
	TransitGatewayOwner(id string) (ownerAccountID string, ok bool)
}

TransitGatewayResolver looks up the owner account of an EC2 transit gateway.

type UntagResourceInput

type UntagResourceInput struct {
	ResourceArn string   `json:"ResourceArn"`
	TagKeys     []string `json:"TagKeys"`
}

UntagResourceInput is the UntagResource request.

type UpdateAvailabilityZoneChangeProtectionInput

type UpdateAvailabilityZoneChangeProtectionInput struct {
	AvailabilityZoneChangeProtection bool `json:"AvailabilityZoneChangeProtection"`
	// contains filtered or unexported fields
}

UpdateAvailabilityZoneChangeProtectionInput is the UpdateAvailabilityZoneChangeProtection request.

type UpdateAvailabilityZoneChangeProtectionOutput

type UpdateAvailabilityZoneChangeProtectionOutput struct {
	FirewallArn                      string `json:"FirewallArn"`
	FirewallName                     string `json:"FirewallName"`
	UpdateToken                      string `json:"UpdateToken"`
	AvailabilityZoneChangeProtection bool   `json:"AvailabilityZoneChangeProtection"`
}

UpdateAvailabilityZoneChangeProtectionOutput is the UpdateAvailabilityZoneChangeProtection response.

type UpdateContainerAssociationInput

type UpdateContainerAssociationInput struct {
	ContainerAssociationArn           string                             `json:"ContainerAssociationArn"`
	ContainerAssociationName          string                             `json:"ContainerAssociationName"`
	Type                              string                             `json:"Type"`
	UpdateToken                       string                             `json:"UpdateToken"`
	Description                       *string                            `json:"Description"`
	ContainerMonitoringConfigurations []ContainerMonitoringConfiguration `json:"ContainerMonitoringConfigurations"`
	Tags                              []Tag                              `json:"Tags"`
}

UpdateContainerAssociationInput is the UpdateContainerAssociation request.

type UpdateFirewallAnalysisSettingsInput

type UpdateFirewallAnalysisSettingsInput struct {
	EnabledAnalysisTypes []string `json:"EnabledAnalysisTypes"`
	// contains filtered or unexported fields
}

UpdateFirewallAnalysisSettingsInput is the UpdateFirewallAnalysisSettings request.

type UpdateFirewallAnalysisSettingsOutput

type UpdateFirewallAnalysisSettingsOutput struct {
	FirewallArn          string   `json:"FirewallArn"`
	FirewallName         string   `json:"FirewallName"`
	UpdateToken          string   `json:"UpdateToken"`
	EnabledAnalysisTypes []string `json:"EnabledAnalysisTypes"`
}

UpdateFirewallAnalysisSettingsOutput is the UpdateFirewallAnalysisSettings response.

type UpdateFirewallDeleteProtectionInput

type UpdateFirewallDeleteProtectionInput struct {
	DeleteProtection bool `json:"DeleteProtection"`
	// contains filtered or unexported fields
}

UpdateFirewallDeleteProtectionInput is the UpdateFirewallDeleteProtection request.

type UpdateFirewallDeleteProtectionOutput

type UpdateFirewallDeleteProtectionOutput struct {
	FirewallArn      string `json:"FirewallArn"`
	FirewallName     string `json:"FirewallName"`
	UpdateToken      string `json:"UpdateToken"`
	DeleteProtection bool   `json:"DeleteProtection"`
}

UpdateFirewallDeleteProtectionOutput is the UpdateFirewallDeleteProtection response.

type UpdateFirewallDescriptionInput

type UpdateFirewallDescriptionInput struct {
	Description string `json:"Description"`
	// contains filtered or unexported fields
}

UpdateFirewallDescriptionInput is the UpdateFirewallDescription request.

type UpdateFirewallDescriptionOutput

type UpdateFirewallDescriptionOutput struct {
	Description  string `json:"Description"`
	FirewallArn  string `json:"FirewallArn"`
	FirewallName string `json:"FirewallName"`
	UpdateToken  string `json:"UpdateToken"`
}

UpdateFirewallDescriptionOutput is the UpdateFirewallDescription response.

type UpdateFirewallEncryptionConfigurationInput

type UpdateFirewallEncryptionConfigurationInput struct {
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration"`
	// contains filtered or unexported fields
}

UpdateFirewallEncryptionConfigurationInput is the UpdateFirewallEncryptionConfiguration request.

type UpdateFirewallEncryptionConfigurationOutput

type UpdateFirewallEncryptionConfigurationOutput struct {
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration"`
	FirewallArn             string                   `json:"FirewallArn"`
	FirewallName            string                   `json:"FirewallName"`
	UpdateToken             string                   `json:"UpdateToken"`
}

UpdateFirewallEncryptionConfigurationOutput is the UpdateFirewallEncryptionConfiguration response.

type UpdateFirewallPolicyChangeProtectionInput

type UpdateFirewallPolicyChangeProtectionInput struct {
	FirewallPolicyChangeProtection bool `json:"FirewallPolicyChangeProtection"`
	// contains filtered or unexported fields
}

UpdateFirewallPolicyChangeProtectionInput is the UpdateFirewallPolicyChangeProtection request.

type UpdateFirewallPolicyChangeProtectionOutput

type UpdateFirewallPolicyChangeProtectionOutput struct {
	FirewallArn                    string `json:"FirewallArn"`
	FirewallName                   string `json:"FirewallName"`
	UpdateToken                    string `json:"UpdateToken"`
	FirewallPolicyChangeProtection bool   `json:"FirewallPolicyChangeProtection"`
}

UpdateFirewallPolicyChangeProtectionOutput is the UpdateFirewallPolicyChangeProtection response.

type UpdateFirewallPolicyInput

type UpdateFirewallPolicyInput struct {
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration"`
	FirewallPolicy          *FirewallPolicy          `json:"FirewallPolicy"`
	UpdateToken             string                   `json:"UpdateToken"`
	FirewallPolicyArn       string                   `json:"FirewallPolicyArn"`
	FirewallPolicyName      string                   `json:"FirewallPolicyName"`
	Description             string                   `json:"Description"`
	DryRun                  bool                     `json:"DryRun"`
}

UpdateFirewallPolicyInput is the UpdateFirewallPolicy request.

type UpdateLoggingConfigurationInput

type UpdateLoggingConfigurationInput struct {
	EnableMonitoringDashboard *bool                 `json:"EnableMonitoringDashboard"`
	LoggingConfiguration      *LoggingConfiguration `json:"LoggingConfiguration"`
	FirewallArn               string                `json:"FirewallArn"`
	FirewallName              string                `json:"FirewallName"`
}

UpdateLoggingConfigurationInput is the UpdateLoggingConfiguration request.

type UpdateLoggingConfigurationOutput

type UpdateLoggingConfigurationOutput struct {
	FirewallName string `json:"FirewallName"`
	LoggingOutput
}

UpdateLoggingConfigurationOutput is the UpdateLoggingConfiguration response.

type UpdateProxyConfigurationInput

type UpdateProxyConfigurationInput struct {
	DefaultRulePhaseActions *ProxyConfigDefaultRulePhaseActions `json:"DefaultRulePhaseActions"`
	ProxyConfigurationArn   string                              `json:"ProxyConfigurationArn"`
	ProxyConfigurationName  string                              `json:"ProxyConfigurationName"`
	UpdateToken             string                              `json:"UpdateToken"`
}

UpdateProxyConfigurationInput is the UpdateProxyConfiguration request.

type UpdateProxyInput

type UpdateProxyInput struct {
	TLSInterceptProperties     *TLSInterceptProperties `json:"TlsInterceptProperties"`
	ProxyArn                   string                  `json:"ProxyArn"`
	ProxyName                  string                  `json:"ProxyName"`
	NatGatewayID               string                  `json:"NatGatewayId"`
	UpdateToken                string                  `json:"UpdateToken"`
	ListenerPropertiesToAdd    []ListenerProperty      `json:"ListenerPropertiesToAdd"`
	ListenerPropertiesToRemove []ListenerProperty      `json:"ListenerPropertiesToRemove"`
}

UpdateProxyInput is the UpdateProxy request.

type UpdateProxyRuleGroupPrioritiesInput

type UpdateProxyRuleGroupPrioritiesInput struct {
	ProxyConfigurationArn  string                   `json:"ProxyConfigurationArn"`
	ProxyConfigurationName string                   `json:"ProxyConfigurationName"`
	UpdateToken            string                   `json:"UpdateToken"`
	RuleGroups             []ProxyRuleGroupPriority `json:"RuleGroups"`
}

UpdateProxyRuleGroupPrioritiesInput is the UpdateProxyRuleGroupPriorities request.

type UpdateProxyRuleGroupPrioritiesOutput

type UpdateProxyRuleGroupPrioritiesOutput struct {
	UpdateToken     string                         `json:"UpdateToken"`
	ProxyRuleGroups []ProxyRuleGroupPriorityResult `json:"ProxyRuleGroups"`
}

UpdateProxyRuleGroupPrioritiesOutput is the UpdateProxyRuleGroupPriorities response.

type UpdateProxyRuleInput

type UpdateProxyRuleInput struct {
	ProxyRuleGroupArn  string               `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName string               `json:"ProxyRuleGroupName"`
	ProxyRuleName      string               `json:"ProxyRuleName"`
	UpdateToken        string               `json:"UpdateToken"`
	Action             string               `json:"Action"`
	Description        *string              `json:"Description"`
	AddConditions      []ProxyRuleCondition `json:"AddConditions"`
	RemoveConditions   []ProxyRuleCondition `json:"RemoveConditions"`
}

UpdateProxyRuleInput is the UpdateProxyRule request.

type UpdateProxyRuleOutput

type UpdateProxyRuleOutput struct {
	UpdateToken       string               `json:"UpdateToken"`
	ProxyRule         ProxyRule            `json:"ProxyRule"`
	RemovedConditions []ProxyRuleCondition `json:"RemovedConditions,omitempty"`
}

UpdateProxyRuleOutput is the UpdateProxyRule response.

type UpdateProxyRulePrioritiesInput

type UpdateProxyRulePrioritiesInput struct {
	ProxyRuleGroupArn     string              `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName    string              `json:"ProxyRuleGroupName"`
	RuleGroupRequestPhase string              `json:"RuleGroupRequestPhase"`
	UpdateToken           string              `json:"UpdateToken"`
	Rules                 []ProxyRulePriority `json:"Rules"`
}

UpdateProxyRulePrioritiesInput is the UpdateProxyRulePriorities request.

type UpdateProxyRulePrioritiesOutput

type UpdateProxyRulePrioritiesOutput struct {
	ProxyRuleGroupArn     string              `json:"ProxyRuleGroupArn"`
	ProxyRuleGroupName    string              `json:"ProxyRuleGroupName"`
	RuleGroupRequestPhase string              `json:"RuleGroupRequestPhase"`
	UpdateToken           string              `json:"UpdateToken"`
	Rules                 []ProxyRulePriority `json:"Rules"`
}

UpdateProxyRulePrioritiesOutput is the UpdateProxyRulePriorities response.

type UpdateProxySettingsInput

type UpdateProxySettingsInput struct {
	ProxySettings *ProxySettings `json:"ProxySettings"`
	// contains filtered or unexported fields
}

UpdateProxySettingsInput is the UpdateProxySettings request.

type UpdateProxySettingsOutput

type UpdateProxySettingsOutput struct {
	ProxySettings *ProxySettings `json:"ProxySettings,omitempty"`
	FirewallArn   string         `json:"FirewallArn"`
	FirewallName  string         `json:"FirewallName"`
	UpdateToken   string         `json:"UpdateToken"`
}

UpdateProxySettingsOutput is the UpdateProxySettings response.

type UpdateRuleGroupInput

type UpdateRuleGroupInput struct {
	EncryptionConfiguration *EncryptionConfiguration `json:"EncryptionConfiguration"`
	RuleGroup               *RuleGroup               `json:"RuleGroup"`
	SourceMetadata          *SourceMetadata          `json:"SourceMetadata"`
	SummaryConfiguration    *SummaryConfiguration    `json:"SummaryConfiguration"`
	UpdateToken             string                   `json:"UpdateToken"`
	RuleGroupArn            string                   `json:"RuleGroupArn"`
	RuleGroupName           string                   `json:"RuleGroupName"`
	Type                    string                   `json:"Type"`
	Description             string                   `json:"Description"`
	Rules                   string                   `json:"Rules"`
	AnalyzeRuleGroup        bool                     `json:"AnalyzeRuleGroup"`
	DryRun                  bool                     `json:"DryRun"`
}

UpdateRuleGroupInput is the UpdateRuleGroup request.

type UpdateSubnetChangeProtectionInput

type UpdateSubnetChangeProtectionInput struct {
	SubnetChangeProtection bool `json:"SubnetChangeProtection"`
	// contains filtered or unexported fields
}

UpdateSubnetChangeProtectionInput is the UpdateSubnetChangeProtection request.

type UpdateSubnetChangeProtectionOutput

type UpdateSubnetChangeProtectionOutput struct {
	FirewallArn            string `json:"FirewallArn"`
	FirewallName           string `json:"FirewallName"`
	UpdateToken            string `json:"UpdateToken"`
	SubnetChangeProtection bool   `json:"SubnetChangeProtection"`
}

UpdateSubnetChangeProtectionOutput is the UpdateSubnetChangeProtection response.

type UpdateTLSInspectionConfigurationInput

type UpdateTLSInspectionConfigurationInput struct {
	EncryptionConfiguration        *EncryptionConfiguration    `json:"EncryptionConfiguration"`
	TLSInspectionConfiguration     *TLSInspectionConfiguration `json:"TLSInspectionConfiguration"`
	UpdateToken                    string                      `json:"UpdateToken"`
	TLSInspectionConfigurationArn  string                      `json:"TLSInspectionConfigurationArn"`
	TLSInspectionConfigurationName string                      `json:"TLSInspectionConfigurationName"`
	Description                    string                      `json:"Description"`
}

UpdateTLSInspectionConfigurationInput is the Update request.

type VpcEndpoint

type VpcEndpoint struct {
	VpcID          string          `json:"VpcId,omitempty"`
	SubnetMappings []SubnetMapping `json:"SubnetMappings,omitempty"`
}

VpcEndpoint is a VPC endpoint description.

type VpcEndpointAssociation

type VpcEndpointAssociation struct {
	SubnetMapping             *SubnetMapping `json:"SubnetMapping,omitempty"`
	FirewallArn               string         `json:"FirewallArn"`
	VpcEndpointAssociationArn string         `json:"VpcEndpointAssociationArn"`
	VpcEndpointAssociationID  string         `json:"VpcEndpointAssociationId,omitempty"`
	VpcID                     string         `json:"VpcId"`
	Description               string         `json:"Description,omitempty"`
	Tags                      []Tag          `json:"Tags,omitempty"`
}

VpcEndpointAssociation is the VpcEndpointAssociation response shape.

type VpcEndpointAssociationMetadata

type VpcEndpointAssociationMetadata struct {
	VpcEndpointAssociationArn string `json:"VpcEndpointAssociationArn"`
}

VpcEndpointAssociationMetadata is a ListVpcEndpointAssociations entry.

type VpcEndpointAssociationOutput

type VpcEndpointAssociationOutput struct {
	VpcEndpointAssociationStatus VpcEndpointAssociationStatus `json:"VpcEndpointAssociationStatus"`
	VpcEndpointAssociation       VpcEndpointAssociation       `json:"VpcEndpointAssociation"`
}

VpcEndpointAssociationOutput is the Create/Describe/DeleteVpcEndpointAssociation response.

type VpcEndpointAssociationStatus

type VpcEndpointAssociationStatus struct {
	AssociationSyncState map[string]AZSyncState `json:"AssociationSyncState,omitempty"`
	Status               string                 `json:"Status"`
}

VpcEndpointAssociationStatus is the VpcEndpointAssociationStatus response shape.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL