networkfirewall

package
v1.8.0 Latest Latest
Warning

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

Go to latest
Published: Oct 19, 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