Documentation
¶
Index ¶
- Constants
- Variables
- type CreateFirewallRuleParams
- type FirewallConfig
- type FirewallDomainList
- type FirewallRule
- type FirewallRuleGroup
- type FirewallRuleGroupAssociation
- type Handler
- func (h *Handler) ChaosOperations() []string
- func (h *Handler) ChaosRegions() []string
- func (h *Handler) ChaosServiceName() string
- func (h *Handler) ExtractOperation(c *echo.Context) string
- func (h *Handler) ExtractResource(c *echo.Context) string
- func (h *Handler) GetSupportedOperations() []string
- func (h *Handler) Handler() echo.HandlerFunc
- func (h *Handler) MatchPriority() int
- func (h *Handler) Name() string
- func (h *Handler) Reset()
- func (h *Handler) Restore(ctx context.Context, data []byte) error
- func (h *Handler) RouteMatcher() service.Matcher
- func (h *Handler) Snapshot(ctx context.Context) []byte
- type IPAddress
- type InMemoryBackend
- func (b *InMemoryBackend) AccountID() string
- func (b *InMemoryBackend) AddEndpointInternal(name, direction string) *ResolverEndpoint
- func (b *InMemoryBackend) AddFirewallDomainListInternal(name string) *FirewallDomainList
- func (b *InMemoryBackend) AddFirewallRuleGroupInternal(name string) *FirewallRuleGroup
- func (b *InMemoryBackend) AddFirewallRuleInternal(groupID, name, action, domainListID string, priority int32) *FirewallRule
- func (b *InMemoryBackend) AddOutpostResolverInternal(name, outpostARN string) *OutpostResolver
- func (b *InMemoryBackend) AddQueryLogConfigInternal(name, destinationARN string) *ResolverQueryLogConfig
- func (b *InMemoryBackend) AddRuleInternal(name, domainName, ruleType string) *ResolverRule
- func (b *InMemoryBackend) AddRuleInternalWithEndpoint(name, domainName, ruleType, endpointID string) *ResolverRule
- func (b *InMemoryBackend) AssociateFirewallRuleGroup(ctx context.Context, ...) (*FirewallRuleGroupAssociation, error)
- func (b *InMemoryBackend) AssociateResolverEndpointIPAddress(ctx context.Context, endpointID, subnetID, ip, ipv6 string) (*ResolverEndpoint, error)
- func (b *InMemoryBackend) AssociateResolverQueryLogConfig(ctx context.Context, queryLogConfigID, resourceID string) (*ResolverQueryLogConfigAssociation, error)
- func (b *InMemoryBackend) AssociateResolverRule(ctx context.Context, resolverRuleID, vpcID, name string) (*ResolverRuleAssociation, error)
- func (b *InMemoryBackend) CreateFirewallDomainList(ctx context.Context, name, creatorRequestID string) (*FirewallDomainList, error)
- func (b *InMemoryBackend) CreateFirewallRule(ctx context.Context, p CreateFirewallRuleParams) (*FirewallRule, error)
- func (b *InMemoryBackend) CreateFirewallRuleGroup(ctx context.Context, name, creatorRequestID string) (*FirewallRuleGroup, error)
- func (b *InMemoryBackend) CreateOutpostResolver(ctx context.Context, ...) (*OutpostResolver, error)
- func (b *InMemoryBackend) CreateResolverEndpoint(ctx context.Context, name, direction, vpcID string, ips []IPAddress, ...) (*ResolverEndpoint, error)
- func (b *InMemoryBackend) CreateResolverQueryLogConfig(ctx context.Context, name, creatorRequestID, destinationARN string) (*ResolverQueryLogConfig, error)
- func (b *InMemoryBackend) CreateResolverRule(ctx context.Context, ...) (*ResolverRule, error)
- func (b *InMemoryBackend) DeleteFirewallDomainList(ctx context.Context, id string) (*FirewallDomainList, error)
- func (b *InMemoryBackend) DeleteFirewallRule(ctx context.Context, ...) (*FirewallRule, error)
- func (b *InMemoryBackend) DeleteFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroup, error)
- func (b *InMemoryBackend) DeleteOutpostResolver(ctx context.Context, id string) (*OutpostResolver, error)
- func (b *InMemoryBackend) DeleteResolverEndpoint(ctx context.Context, id string) error
- func (b *InMemoryBackend) DeleteResolverQueryLogConfig(ctx context.Context, id string) (*ResolverQueryLogConfig, error)
- func (b *InMemoryBackend) DeleteResolverRule(ctx context.Context, id string) error
- func (b *InMemoryBackend) DisassociateFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroupAssociation, error)
- func (b *InMemoryBackend) DisassociateResolverEndpointIPAddress(ctx context.Context, endpointID, ipID string) (*ResolverEndpoint, error)
- func (b *InMemoryBackend) DisassociateResolverQueryLogConfig(ctx context.Context, queryLogConfigID, resourceID string) (*ResolverQueryLogConfigAssociation, error)
- func (b *InMemoryBackend) DisassociateResolverRule(ctx context.Context, resolverRuleID, vpcID string) (*ResolverRuleAssociation, error)
- func (b *InMemoryBackend) GetFirewallConfig(ctx context.Context, resourceID string) *FirewallConfig
- func (b *InMemoryBackend) GetFirewallDomainList(ctx context.Context, id string) (*FirewallDomainList, error)
- func (b *InMemoryBackend) GetFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroup, error)
- func (b *InMemoryBackend) GetFirewallRuleGroupAssociation(ctx context.Context, id string) (*FirewallRuleGroupAssociation, error)
- func (b *InMemoryBackend) GetFirewallRuleGroupPolicy(ctx context.Context, arnStr string) string
- func (b *InMemoryBackend) GetOutpostResolver(ctx context.Context, id string) (*OutpostResolver, error)
- func (b *InMemoryBackend) GetResolverConfig(ctx context.Context, resourceID string) *ResolverConfig
- func (b *InMemoryBackend) GetResolverDnssecConfig(ctx context.Context, resourceID string) *ResolverDnssecConfig
- func (b *InMemoryBackend) GetResolverEndpoint(ctx context.Context, id string) (*ResolverEndpoint, error)
- func (b *InMemoryBackend) GetResolverQueryLogConfig(ctx context.Context, id string) (*ResolverQueryLogConfig, error)
- func (b *InMemoryBackend) GetResolverQueryLogConfigAssociation(ctx context.Context, id string) (*ResolverQueryLogConfigAssociation, error)
- func (b *InMemoryBackend) GetResolverQueryLogConfigPolicy(ctx context.Context, arnStr string) string
- func (b *InMemoryBackend) GetResolverRule(ctx context.Context, id string) (*ResolverRule, error)
- func (b *InMemoryBackend) GetResolverRuleAssociation(ctx context.Context, id string) (*ResolverRuleAssociation, error)
- func (b *InMemoryBackend) GetResolverRulePolicy(ctx context.Context, arnStr string) string
- func (b *InMemoryBackend) ImportFirewallDomains(ctx context.Context, id, operation, domainFileURL string) (*FirewallDomainList, error)
- func (b *InMemoryBackend) ListFirewallConfigs(ctx context.Context) []*FirewallConfig
- func (b *InMemoryBackend) ListFirewallDomainLists(ctx context.Context) []*FirewallDomainList
- func (b *InMemoryBackend) ListFirewallDomains(ctx context.Context, id string) ([]string, error)
- func (b *InMemoryBackend) ListFirewallRuleGroupAssociations(ctx context.Context, vpcID, firewallRuleGroupID string) []*FirewallRuleGroupAssociation
- func (b *InMemoryBackend) ListFirewallRuleGroups(ctx context.Context) []*FirewallRuleGroup
- func (b *InMemoryBackend) ListFirewallRules(ctx context.Context, firewallRuleGroupID string) []*FirewallRule
- func (b *InMemoryBackend) ListOutpostResolvers(ctx context.Context) []*OutpostResolver
- func (b *InMemoryBackend) ListResolverConfigs(ctx context.Context) []*ResolverConfig
- func (b *InMemoryBackend) ListResolverDnssecConfigs(ctx context.Context) []*ResolverDnssecConfig
- func (b *InMemoryBackend) ListResolverEndpointIPAddresses(ctx context.Context, endpointID string) ([]IPAddress, error)
- func (b *InMemoryBackend) ListResolverEndpoints(ctx context.Context) []*ResolverEndpoint
- func (b *InMemoryBackend) ListResolverQueryLogConfigAssociations(ctx context.Context) []*ResolverQueryLogConfigAssociation
- func (b *InMemoryBackend) ListResolverQueryLogConfigs(ctx context.Context) []*ResolverQueryLogConfig
- func (b *InMemoryBackend) ListResolverRuleAssociations(ctx context.Context) []*ResolverRuleAssociation
- func (b *InMemoryBackend) ListResolverRules(ctx context.Context) []*ResolverRule
- func (b *InMemoryBackend) ListTagsForResource(ctx context.Context, resourceARN string) []svcTags.KV
- func (b *InMemoryBackend) PutFirewallRuleGroupPolicy(ctx context.Context, arnStr, policy string) error
- func (b *InMemoryBackend) PutResolverQueryLogConfigPolicy(ctx context.Context, arnStr, policy string) error
- func (b *InMemoryBackend) PutResolverRulePolicy(ctx context.Context, arnStr, policy string) error
- func (b *InMemoryBackend) Region() string
- func (b *InMemoryBackend) Reset()
- func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
- func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
- func (b *InMemoryBackend) TagResource(ctx context.Context, resourceARN string, kvs []svcTags.KV) error
- func (b *InMemoryBackend) UntagResource(ctx context.Context, resourceARN string, keys []string) error
- func (b *InMemoryBackend) UpdateFirewallConfig(ctx context.Context, resourceID, firewallFailOpen string) (*FirewallConfig, error)
- func (b *InMemoryBackend) UpdateFirewallDomains(ctx context.Context, id, operation string, domains []string) (*FirewallDomainList, error)
- func (b *InMemoryBackend) UpdateFirewallRule(ctx context.Context, p UpdateFirewallRuleParams) (*FirewallRule, error)
- func (b *InMemoryBackend) UpdateFirewallRuleGroupAssociation(ctx context.Context, id, name, mutationProtection string, priority int32) (*FirewallRuleGroupAssociation, error)
- func (b *InMemoryBackend) UpdateOutpostResolver(ctx context.Context, id, name, preferredInstanceType string, ...) (*OutpostResolver, error)
- func (b *InMemoryBackend) UpdateResolverConfig(ctx context.Context, resourceID, autodefinedReverse string) (*ResolverConfig, error)
- func (b *InMemoryBackend) UpdateResolverDnssecConfig(ctx context.Context, resourceID, validation string) (*ResolverDnssecConfig, error)
- func (b *InMemoryBackend) UpdateResolverEndpoint(ctx context.Context, id, name, resolverEndpointType string, protocols []string, ...) (*ResolverEndpoint, error)
- func (b *InMemoryBackend) UpdateResolverRule(ctx context.Context, id, name, resolverEndpointID string, targetIps []TargetIP) (*ResolverRule, error)
- type OutpostResolver
- type Provider
- type ResolverConfig
- type ResolverDnssecConfig
- type ResolverEndpoint
- type ResolverQueryLogConfig
- type ResolverQueryLogConfigAssociation
- type ResolverRule
- type ResolverRuleAssociation
- type StorageBackend
- type TargetIP
- type UpdateFirewallRuleParams
Constants ¶
const ( DirectionInbound = directionInbound DirectionOutbound = directionOutbound RuleTypeForward = ruleTypeForward FirewallPriorityDefault = firewallPriorityAutoIncrement )
Exported constants for use in demo seeding.
Variables ¶
var ( ErrNotFound = awserr.New("ResourceNotFoundException", awserr.ErrNotFound) ErrAlreadyExists = awserr.New("ResourceExistsException", awserr.ErrAlreadyExists) ErrValidation = awserr.New("InvalidRequestException", awserr.ErrInvalidParameter) ErrInvalidParameter = awserr.New("InvalidParameterException", awserr.ErrInvalidParameter) // ErrBatchValidation is used for envelope-level required-field validation on // BatchCreateFirewallRule/BatchUpdateFirewallRule/BatchDeleteFirewallRule. // Unlike every singular Firewall Rule op in this service (which raises // InvalidRequestException, see ErrValidation), AWS's own API reference // documents ValidationException as the error class for these three batch // operations specifically -- verified: the Errors sections of // API_route53resolver_Batch{Create,Update,Delete}FirewallRule.html each list // AccessDeniedException/InternalServiceErrorException/LimitExceededException/ // ThrottlingException/ValidationException, with no InvalidRequestException. ErrBatchValidation = awserr.New("ValidationException", awserr.ErrInvalidParameter) )
var ErrNilAppContext = errors.New("nil AppContext passed to Route53Resolver Provider.Init")
ErrNilAppContext is returned by Init when a nil AppContext is passed.
Functions ¶
This section is empty.
Types ¶
type CreateFirewallRuleParams ¶
type CreateFirewallRuleParams struct {
FirewallRuleGroupID string
Name string
Action string
BlockResponse string
BlockOverrideDomain string
BlockOverrideDNSType string
Qtype string
ConfidenceThreshold string
CreatorRequestID string
FirewallDomainListID string
DNSThreatProtection string
FirewallDomainRedirectionAction string
BlockOverrideTTL int32
Priority int32
}
CreateFirewallRuleParams holds all parameters for creating a firewall rule.
DnsThreatProtection and FirewallDomainListID are mutually exclusive match sources (verified against CreateFirewallRuleInput's doc comment in aws-sdk-go-v2/service/route53resolver@v1.48.0: "they are mutually exclusive"); a rule created via DnsThreatProtection has no domain list and is identified on the wire by a system-generated FirewallThreatProtectionID instead (see FirewallRule.FirewallThreatProtectionID). The FirewallRuleType tagged union (FirewallAdvancedContentCategory/FirewallAdvancedThreatCategory/ PartnerThreatProtection) is intentionally not modeled -- see PARITY.md.
type FirewallConfig ¶
type FirewallConfig struct {
ID string `json:"id"`
OwnerID string `json:"ownerId"`
ResourceID string `json:"resourceId"`
FirewallFailOpen string `json:"firewallFailOpen"`
// Region -- see FirewallRuleGroup.Region doc comment. FirewallConfig is
// keyed by ResourceID (not ID) in the firewallConfigs table.
Region string `json:"region"`
}
FirewallConfig represents the DNS Firewall configuration for a VPC.
type FirewallDomainList ¶
type FirewallDomainList struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
CreatorRequestID string `json:"creatorRequestId"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
ManagedOwnerName string `json:"managedOwnerName,omitempty"`
CreationTime string `json:"creationTime,omitempty"`
ModificationTime string `json:"modificationTime,omitempty"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
Tags []svcTags.KV `json:"tags,omitempty"`
Domains []string `json:"domains,omitempty"`
DomainCount int32 `json:"domainCount"`
}
FirewallDomainList represents a DNS Firewall domain list.
type FirewallRule ¶
type FirewallRule struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
FirewallRuleGroupID string `json:"firewallRuleGroupId"`
FirewallDomainListID string `json:"firewallDomainListId"`
Action string `json:"action"`
BlockResponse string `json:"blockResponse,omitempty"`
BlockOverrideDomain string `json:"blockOverrideDomain,omitempty"`
BlockOverrideDNSType string `json:"blockOverrideDnsType,omitempty"`
Qtype string `json:"qtype,omitempty"`
ConfidenceThreshold string `json:"confidenceThreshold,omitempty"`
CreatorRequestID string `json:"creatorRequestId,omitempty"`
CreationTime string `json:"creationTime,omitempty"`
ModificationTime string `json:"modificationTime,omitempty"`
DNSThreatProtection string `json:"dnsThreatProtection,omitempty"`
FirewallThreatProtectionID string `json:"firewallThreatProtectionId,omitempty"`
FirewallDomainRedirectionAction string `json:"firewallDomainRedirectionAction,omitempty"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
BlockOverrideTTL int32 `json:"blockOverrideTtl,omitempty"`
Priority int32 `json:"priority"`
}
FirewallRule represents a single rule within a DNS Firewall rule group.
DnsThreatProtection/FirewallThreatProtectionID/FirewallDomainRedirectionAction back the DNS Firewall Advanced match source (verified against types.FirewallRule/CreateFirewallRuleInput/UpdateFirewallRuleInput/ DeleteFirewallRuleInput in aws-sdk-go-v2/service/route53resolver@v1.48.0). A rule matches EITHER a domain list (FirewallDomainListID, the original path) OR a DnsThreatProtection detector (DGA/DNS_TUNNELING/DICTIONARY_DGA) -- the two are mutually exclusive, matching the real API's documented match sources. A DnsThreatProtection rule has no domain list, so it's identified on the wire by the system-generated FirewallThreatProtectionID instead. The other two FirewallRuleType tagged-union variants (FirewallAdvancedContentCategory/FirewallAdvancedThreatCategory) and PartnerThreatProtection are intentionally NOT modeled here -- see PARITY.md; they are AWS-managed catalogs with no closed SDK enum to source concrete values from, so implementing them would mean inventing category/partner identifiers.
type FirewallRuleGroup ¶
type FirewallRuleGroup struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
CreatorRequestID string `json:"creatorRequestId"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
OwnerID string `json:"ownerId"`
CreationTime string `json:"creationTime,omitempty"`
ModificationTime string `json:"modificationTime,omitempty"`
// Region is the AWS region this rule group belongs to. It is not part of
// the wire response (handler.go builds a separate response type) -- it
// exists purely so store.Table's key function (see store_setup.go) can
// derive the region-scoped composite key ("<region>|<id>") that replaces
// the old map[region]map[id]*FirewallRuleGroup nesting.
Region string `json:"region"`
Tags []svcTags.KV `json:"tags,omitempty"`
RuleCount int32 `json:"ruleCount"`
}
FirewallRuleGroup represents a DNS Firewall rule group.
type FirewallRuleGroupAssociation ¶
type FirewallRuleGroupAssociation struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
FirewallRuleGroupID string `json:"firewallRuleGroupId"`
VpcID string `json:"vpcId"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
MutationProtection string `json:"mutationProtection"`
ManagedOwnerName string `json:"managedOwnerName,omitempty"`
CreatorRequestID string `json:"creatorRequestId,omitempty"`
CreationTime string `json:"creationTime,omitempty"`
ModificationTime string `json:"modificationTime,omitempty"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
Priority int32 `json:"priority"`
}
FirewallRuleGroupAssociation represents an association between a rule group and a VPC.
type Handler ¶
type Handler struct {
Backend StorageBackend
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(backend StorageBackend) *Handler
func (*Handler) ChaosOperations ¶
ChaosOperations returns all operations that can be fault-injected.
func (*Handler) ChaosRegions ¶
ChaosRegions returns all regions this Route53 Resolver instance handles.
func (*Handler) ChaosServiceName ¶
ChaosServiceName returns the lowercase AWS service name for fault rule matching.
func (*Handler) GetSupportedOperations ¶
func (*Handler) Handler ¶
func (h *Handler) Handler() echo.HandlerFunc
func (*Handler) MatchPriority ¶
func (*Handler) RouteMatcher ¶
type InMemoryBackend ¶
type InMemoryBackend struct {
// contains filtered or unexported fields
}
func NewInMemoryBackend ¶
func NewInMemoryBackend(accountID, region string) *InMemoryBackend
func (*InMemoryBackend) AccountID ¶
func (b *InMemoryBackend) AccountID() string
AccountID returns the AWS account ID this backend is configured for.
func (*InMemoryBackend) AddEndpointInternal ¶
func (b *InMemoryBackend) AddEndpointInternal(name, direction string) *ResolverEndpoint
AddEndpointInternal adds a resolver endpoint directly to the backend (test seed helper).
func (*InMemoryBackend) AddFirewallDomainListInternal ¶
func (b *InMemoryBackend) AddFirewallDomainListInternal(name string) *FirewallDomainList
AddFirewallDomainListInternal adds a firewall domain list directly to the backend (test seed helper).
func (*InMemoryBackend) AddFirewallRuleGroupInternal ¶
func (b *InMemoryBackend) AddFirewallRuleGroupInternal(name string) *FirewallRuleGroup
AddFirewallRuleGroupInternal adds a firewall rule group directly to the backend (test seed helper).
func (*InMemoryBackend) AddFirewallRuleInternal ¶
func (b *InMemoryBackend) AddFirewallRuleInternal( groupID, name, action, domainListID string, priority int32, ) *FirewallRule
AddFirewallRuleInternal adds a firewall rule directly to the backend (demo seed helper).
func (*InMemoryBackend) AddOutpostResolverInternal ¶
func (b *InMemoryBackend) AddOutpostResolverInternal(name, outpostARN string) *OutpostResolver
AddOutpostResolverInternal adds an outpost resolver directly to the backend (test seed helper).
func (*InMemoryBackend) AddQueryLogConfigInternal ¶
func (b *InMemoryBackend) AddQueryLogConfigInternal( name, destinationARN string, ) *ResolverQueryLogConfig
AddQueryLogConfigInternal adds a query log config directly to the backend (test seed helper).
func (*InMemoryBackend) AddRuleInternal ¶
func (b *InMemoryBackend) AddRuleInternal(name, domainName, ruleType string) *ResolverRule
AddRuleInternal adds a resolver rule directly to the backend (test seed helper).
func (*InMemoryBackend) AddRuleInternalWithEndpoint ¶
func (b *InMemoryBackend) AddRuleInternalWithEndpoint( name, domainName, ruleType, endpointID string, ) *ResolverRule
AddRuleInternalWithEndpoint adds a resolver rule with an endpoint ID directly to the backend (demo seed helper).
func (*InMemoryBackend) AssociateFirewallRuleGroup ¶
func (b *InMemoryBackend) AssociateFirewallRuleGroup( ctx context.Context, firewallRuleGroupID, vpcID, name, creatorRequestID, mutationProtection string, priority int32, ) (*FirewallRuleGroupAssociation, error)
AssociateFirewallRuleGroup associates a FirewallRuleGroup with a VPC.
func (*InMemoryBackend) AssociateResolverEndpointIPAddress ¶
func (b *InMemoryBackend) AssociateResolverEndpointIPAddress( ctx context.Context, endpointID, subnetID, ip, ipv6 string, ) (*ResolverEndpoint, error)
AssociateResolverEndpointIPAddress adds an IP address to a resolver endpoint.
func (*InMemoryBackend) AssociateResolverQueryLogConfig ¶
func (b *InMemoryBackend) AssociateResolverQueryLogConfig( ctx context.Context, queryLogConfigID, resourceID string, ) (*ResolverQueryLogConfigAssociation, error)
AssociateResolverQueryLogConfig associates a VPC with a query log config.
func (*InMemoryBackend) AssociateResolverRule ¶
func (b *InMemoryBackend) AssociateResolverRule( ctx context.Context, resolverRuleID, vpcID, name string, ) (*ResolverRuleAssociation, error)
AssociateResolverRule associates a resolver rule with a VPC.
func (*InMemoryBackend) CreateFirewallDomainList ¶
func (b *InMemoryBackend) CreateFirewallDomainList( ctx context.Context, name, creatorRequestID string, ) (*FirewallDomainList, error)
CreateFirewallDomainList creates a new DNS Firewall domain list.
func (*InMemoryBackend) CreateFirewallRule ¶
func (b *InMemoryBackend) CreateFirewallRule(ctx context.Context, p CreateFirewallRuleParams) (*FirewallRule, error)
CreateFirewallRule creates a new rule in a DNS Firewall rule group.
func (*InMemoryBackend) CreateFirewallRuleGroup ¶
func (b *InMemoryBackend) CreateFirewallRuleGroup( ctx context.Context, name, creatorRequestID string, ) (*FirewallRuleGroup, error)
CreateFirewallRuleGroup creates a new DNS Firewall rule group.
func (*InMemoryBackend) CreateOutpostResolver ¶
func (b *InMemoryBackend) CreateOutpostResolver( ctx context.Context, name, creatorRequestID, outpostARN, preferredInstanceType string, instanceCount int32, ) (*OutpostResolver, error)
CreateOutpostResolver creates a new Resolver on an Outpost.
func (*InMemoryBackend) CreateResolverEndpoint ¶
func (b *InMemoryBackend) CreateResolverEndpoint( ctx context.Context, name, direction, vpcID string, ips []IPAddress, securityGroupIDs []string, resolverEndpointType string, protocols []string, outpostArn, preferredInstanceType, creatorRequestID string, rniEnhancedMetricsEnabled, targetNameServerMetricsEnabled bool, ) (*ResolverEndpoint, error)
func (*InMemoryBackend) CreateResolverQueryLogConfig ¶
func (b *InMemoryBackend) CreateResolverQueryLogConfig( ctx context.Context, name, creatorRequestID, destinationARN string, ) (*ResolverQueryLogConfig, error)
CreateResolverQueryLogConfig creates a new query logging configuration.
func (*InMemoryBackend) CreateResolverRule ¶
func (b *InMemoryBackend) CreateResolverRule( ctx context.Context, name, domainName, ruleType, endpointID, creatorRequestID string, targetIps []TargetIP, ) (*ResolverRule, error)
func (*InMemoryBackend) DeleteFirewallDomainList ¶
func (b *InMemoryBackend) DeleteFirewallDomainList(ctx context.Context, id string) (*FirewallDomainList, error)
DeleteFirewallDomainList deletes a DNS Firewall domain list.
func (*InMemoryBackend) DeleteFirewallRule ¶
func (b *InMemoryBackend) DeleteFirewallRule( ctx context.Context, firewallRuleGroupID, firewallDomainListID, firewallThreatProtectionID string, ) (*FirewallRule, error)
DeleteFirewallRule deletes a firewall rule identified by FirewallRuleGroupID plus EITHER firewallDomainListID (domain-list rules) OR firewallThreatProtectionID (DnsThreatProtection rules) -- see resolveFirewallRuleIdentity.
func (*InMemoryBackend) DeleteFirewallRuleGroup ¶
func (b *InMemoryBackend) DeleteFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroup, error)
DeleteFirewallRuleGroup deletes a firewall rule group and cascades to its rules and associations.
func (*InMemoryBackend) DeleteOutpostResolver ¶
func (b *InMemoryBackend) DeleteOutpostResolver(ctx context.Context, id string) (*OutpostResolver, error)
DeleteOutpostResolver deletes an outpost resolver.
func (*InMemoryBackend) DeleteResolverEndpoint ¶
func (b *InMemoryBackend) DeleteResolverEndpoint(ctx context.Context, id string) error
func (*InMemoryBackend) DeleteResolverQueryLogConfig ¶
func (b *InMemoryBackend) DeleteResolverQueryLogConfig( ctx context.Context, id string, ) (*ResolverQueryLogConfig, error)
DeleteResolverQueryLogConfig deletes a query log config and its associations.
func (*InMemoryBackend) DeleteResolverRule ¶
func (b *InMemoryBackend) DeleteResolverRule(ctx context.Context, id string) error
func (*InMemoryBackend) DisassociateFirewallRuleGroup ¶
func (b *InMemoryBackend) DisassociateFirewallRuleGroup( ctx context.Context, id string, ) (*FirewallRuleGroupAssociation, error)
DisassociateFirewallRuleGroup removes a firewall rule group association.
func (*InMemoryBackend) DisassociateResolverEndpointIPAddress ¶
func (b *InMemoryBackend) DisassociateResolverEndpointIPAddress( ctx context.Context, endpointID, ipID string, ) (*ResolverEndpoint, error)
DisassociateResolverEndpointIPAddress removes an IP address from a resolver endpoint.
func (*InMemoryBackend) DisassociateResolverQueryLogConfig ¶
func (b *InMemoryBackend) DisassociateResolverQueryLogConfig( ctx context.Context, queryLogConfigID, resourceID string, ) (*ResolverQueryLogConfigAssociation, error)
DisassociateResolverQueryLogConfig removes a query log config association, looked up by the (queryLogConfigID, resourceID) pair -- this matches the real DisassociateResolverQueryLogConfig API, which takes ResolverQueryLogConfigId + ResourceId (not an opaque association ID; that only appears in Get/List responses).
func (*InMemoryBackend) DisassociateResolverRule ¶
func (b *InMemoryBackend) DisassociateResolverRule( ctx context.Context, resolverRuleID, vpcID string, ) (*ResolverRuleAssociation, error)
DisassociateResolverRule removes a resolver rule association, looked up by the (resolverRuleID, vpcID) pair -- this matches the real DisassociateResolverRule API, which takes ResolverRuleId + VPCId (not an opaque association ID; that only appears in Get/List responses).
func (*InMemoryBackend) GetFirewallConfig ¶
func (b *InMemoryBackend) GetFirewallConfig(ctx context.Context, resourceID string) *FirewallConfig
GetFirewallConfig returns or lazily creates the firewall config for a resource (VPC).
func (*InMemoryBackend) GetFirewallDomainList ¶
func (b *InMemoryBackend) GetFirewallDomainList(ctx context.Context, id string) (*FirewallDomainList, error)
GetFirewallDomainList retrieves a domain list by ID.
func (*InMemoryBackend) GetFirewallRuleGroup ¶
func (b *InMemoryBackend) GetFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroup, error)
GetFirewallRuleGroup retrieves a firewall rule group by ID.
func (*InMemoryBackend) GetFirewallRuleGroupAssociation ¶
func (b *InMemoryBackend) GetFirewallRuleGroupAssociation( ctx context.Context, id string, ) (*FirewallRuleGroupAssociation, error)
GetFirewallRuleGroupAssociation retrieves an association by ID.
func (*InMemoryBackend) GetFirewallRuleGroupPolicy ¶
func (b *InMemoryBackend) GetFirewallRuleGroupPolicy(ctx context.Context, arnStr string) string
GetFirewallRuleGroupPolicy retrieves the resource policy for a firewall rule group ARN.
func (*InMemoryBackend) GetOutpostResolver ¶
func (b *InMemoryBackend) GetOutpostResolver(ctx context.Context, id string) (*OutpostResolver, error)
GetOutpostResolver retrieves an outpost resolver by ID.
func (*InMemoryBackend) GetResolverConfig ¶
func (b *InMemoryBackend) GetResolverConfig(ctx context.Context, resourceID string) *ResolverConfig
GetResolverConfig returns or lazily creates the resolver config for a resource (VPC).
func (*InMemoryBackend) GetResolverDnssecConfig ¶
func (b *InMemoryBackend) GetResolverDnssecConfig(ctx context.Context, resourceID string) *ResolverDnssecConfig
GetResolverDnssecConfig returns or lazily creates the DNSSEC config for a resource.
func (*InMemoryBackend) GetResolverEndpoint ¶
func (b *InMemoryBackend) GetResolverEndpoint(ctx context.Context, id string) (*ResolverEndpoint, error)
func (*InMemoryBackend) GetResolverQueryLogConfig ¶
func (b *InMemoryBackend) GetResolverQueryLogConfig(ctx context.Context, id string) (*ResolverQueryLogConfig, error)
GetResolverQueryLogConfig retrieves a query log config by ID.
func (*InMemoryBackend) GetResolverQueryLogConfigAssociation ¶
func (b *InMemoryBackend) GetResolverQueryLogConfigAssociation( ctx context.Context, id string, ) (*ResolverQueryLogConfigAssociation, error)
GetResolverQueryLogConfigAssociation retrieves an association by ID.
func (*InMemoryBackend) GetResolverQueryLogConfigPolicy ¶
func (b *InMemoryBackend) GetResolverQueryLogConfigPolicy(ctx context.Context, arnStr string) string
GetResolverQueryLogConfigPolicy retrieves a resource policy for a query log config ARN.
func (*InMemoryBackend) GetResolverRule ¶
func (b *InMemoryBackend) GetResolverRule(ctx context.Context, id string) (*ResolverRule, error)
func (*InMemoryBackend) GetResolverRuleAssociation ¶
func (b *InMemoryBackend) GetResolverRuleAssociation(ctx context.Context, id string) (*ResolverRuleAssociation, error)
GetResolverRuleAssociation retrieves a rule association by ID.
func (*InMemoryBackend) GetResolverRulePolicy ¶
func (b *InMemoryBackend) GetResolverRulePolicy(ctx context.Context, arnStr string) string
GetResolverRulePolicy retrieves a resource policy for a resolver rule ARN.
func (*InMemoryBackend) ImportFirewallDomains ¶
func (b *InMemoryBackend) ImportFirewallDomains( ctx context.Context, id, operation, domainFileURL string, ) (*FirewallDomainList, error)
ImportFirewallDomains simulates importing domains from a URL into a domain list.
func (*InMemoryBackend) ListFirewallConfigs ¶
func (b *InMemoryBackend) ListFirewallConfigs(ctx context.Context) []*FirewallConfig
ListFirewallConfigs lists all firewall configs.
func (*InMemoryBackend) ListFirewallDomainLists ¶
func (b *InMemoryBackend) ListFirewallDomainLists(ctx context.Context) []*FirewallDomainList
ListFirewallDomainLists lists all firewall domain lists.
func (*InMemoryBackend) ListFirewallDomains ¶
ListFirewallDomains returns the domains stored in a domain list.
func (*InMemoryBackend) ListFirewallRuleGroupAssociations ¶
func (b *InMemoryBackend) ListFirewallRuleGroupAssociations( ctx context.Context, vpcID, firewallRuleGroupID string, ) []*FirewallRuleGroupAssociation
ListFirewallRuleGroupAssociations lists associations, optionally filtered by VPC or group.
func (*InMemoryBackend) ListFirewallRuleGroups ¶
func (b *InMemoryBackend) ListFirewallRuleGroups(ctx context.Context) []*FirewallRuleGroup
ListFirewallRuleGroups lists all firewall rule groups.
func (*InMemoryBackend) ListFirewallRules ¶
func (b *InMemoryBackend) ListFirewallRules(ctx context.Context, firewallRuleGroupID string) []*FirewallRule
ListFirewallRules lists firewall rules, optionally filtered by rule group ID.
func (*InMemoryBackend) ListOutpostResolvers ¶
func (b *InMemoryBackend) ListOutpostResolvers(ctx context.Context) []*OutpostResolver
ListOutpostResolvers lists all outpost resolvers.
func (*InMemoryBackend) ListResolverConfigs ¶
func (b *InMemoryBackend) ListResolverConfigs(ctx context.Context) []*ResolverConfig
ListResolverConfigs lists all resolver configs.
func (*InMemoryBackend) ListResolverDnssecConfigs ¶
func (b *InMemoryBackend) ListResolverDnssecConfigs(ctx context.Context) []*ResolverDnssecConfig
ListResolverDnssecConfigs lists all DNSSEC configs.
func (*InMemoryBackend) ListResolverEndpointIPAddresses ¶
func (b *InMemoryBackend) ListResolverEndpointIPAddresses(ctx context.Context, endpointID string) ([]IPAddress, error)
ListResolverEndpointIPAddresses returns the IP addresses associated with a resolver endpoint.
func (*InMemoryBackend) ListResolverEndpoints ¶
func (b *InMemoryBackend) ListResolverEndpoints(ctx context.Context) []*ResolverEndpoint
func (*InMemoryBackend) ListResolverQueryLogConfigAssociations ¶
func (b *InMemoryBackend) ListResolverQueryLogConfigAssociations( ctx context.Context, ) []*ResolverQueryLogConfigAssociation
ListResolverQueryLogConfigAssociations lists all query log config associations.
func (*InMemoryBackend) ListResolverQueryLogConfigs ¶
func (b *InMemoryBackend) ListResolverQueryLogConfigs(ctx context.Context) []*ResolverQueryLogConfig
ListResolverQueryLogConfigs lists all query log configs.
func (*InMemoryBackend) ListResolverRuleAssociations ¶
func (b *InMemoryBackend) ListResolverRuleAssociations(ctx context.Context) []*ResolverRuleAssociation
ListResolverRuleAssociations lists all resolver rule associations.
func (*InMemoryBackend) ListResolverRules ¶
func (b *InMemoryBackend) ListResolverRules(ctx context.Context) []*ResolverRule
func (*InMemoryBackend) ListTagsForResource ¶
ListTagsForResource returns the tags for a resource identified by its ARN.
func (*InMemoryBackend) PutFirewallRuleGroupPolicy ¶
func (b *InMemoryBackend) PutFirewallRuleGroupPolicy(ctx context.Context, arnStr, policy string) error
PutFirewallRuleGroupPolicy stores a resource policy for a firewall rule group ARN.
func (*InMemoryBackend) PutResolverQueryLogConfigPolicy ¶
func (b *InMemoryBackend) PutResolverQueryLogConfigPolicy(ctx context.Context, arnStr, policy string) error
PutResolverQueryLogConfigPolicy stores a resource policy for a query log config ARN.
func (*InMemoryBackend) PutResolverRulePolicy ¶
func (b *InMemoryBackend) PutResolverRulePolicy(ctx context.Context, arnStr, policy string) error
PutResolverRulePolicy stores a resource policy for a resolver rule ARN.
func (*InMemoryBackend) Region ¶
func (b *InMemoryBackend) Region() string
Region returns the AWS region this backend is configured for.
func (*InMemoryBackend) Reset ¶
func (b *InMemoryBackend) Reset()
Reset clears all backend state, returning it to an empty initial state.
func (*InMemoryBackend) Restore ¶
func (b *InMemoryBackend) Restore(ctx context.Context, data []byte) error
Restore loads backend state from a JSON snapshot. It implements persistence.Persistable.
func (*InMemoryBackend) Snapshot ¶
func (b *InMemoryBackend) Snapshot(ctx context.Context) []byte
Snapshot serialises the backend state to JSON. It implements persistence.Persistable.
func (*InMemoryBackend) TagResource ¶
func (b *InMemoryBackend) TagResource(ctx context.Context, resourceARN string, kvs []svcTags.KV) error
TagResource adds or updates tags on a resource identified by its ARN.
func (*InMemoryBackend) UntagResource ¶
func (b *InMemoryBackend) UntagResource(ctx context.Context, resourceARN string, keys []string) error
UntagResource removes tags from a resource identified by its ARN.
func (*InMemoryBackend) UpdateFirewallConfig ¶
func (b *InMemoryBackend) UpdateFirewallConfig( ctx context.Context, resourceID, firewallFailOpen string, ) (*FirewallConfig, error)
UpdateFirewallConfig updates the firewall fail-open setting for a resource.
func (*InMemoryBackend) UpdateFirewallDomains ¶
func (b *InMemoryBackend) UpdateFirewallDomains( ctx context.Context, id, operation string, domains []string, ) (*FirewallDomainList, error)
UpdateFirewallDomains replaces, adds, or removes domains in a domain list.
func (*InMemoryBackend) UpdateFirewallRule ¶
func (b *InMemoryBackend) UpdateFirewallRule(ctx context.Context, p UpdateFirewallRuleParams) (*FirewallRule, error)
UpdateFirewallRule updates an existing firewall rule.
func (*InMemoryBackend) UpdateFirewallRuleGroupAssociation ¶
func (b *InMemoryBackend) UpdateFirewallRuleGroupAssociation( ctx context.Context, id, name, mutationProtection string, priority int32, ) (*FirewallRuleGroupAssociation, error)
UpdateFirewallRuleGroupAssociation updates name, priority, or mutation protection of an association.
func (*InMemoryBackend) UpdateOutpostResolver ¶
func (b *InMemoryBackend) UpdateOutpostResolver( ctx context.Context, id, name, preferredInstanceType string, instanceCount int32, ) (*OutpostResolver, error)
UpdateOutpostResolver updates name, preferred instance type, or instance count.
func (*InMemoryBackend) UpdateResolverConfig ¶
func (b *InMemoryBackend) UpdateResolverConfig( ctx context.Context, resourceID, autodefinedReverse string, ) (*ResolverConfig, error)
UpdateResolverConfig updates the AutodefinedReverse setting for a resource.
func (*InMemoryBackend) UpdateResolverDnssecConfig ¶
func (b *InMemoryBackend) UpdateResolverDnssecConfig( ctx context.Context, resourceID, validation string, ) (*ResolverDnssecConfig, error)
UpdateResolverDnssecConfig updates DNSSEC validation for a resource.
func (*InMemoryBackend) UpdateResolverEndpoint ¶
func (b *InMemoryBackend) UpdateResolverEndpoint( ctx context.Context, id, name, resolverEndpointType string, protocols []string, rniEnhancedMetricsEnabled, targetNameServerMetricsEnabled *bool, ) (*ResolverEndpoint, error)
UpdateResolverEndpoint updates name, endpoint type, and/or protocols of a resolver endpoint.
func (*InMemoryBackend) UpdateResolverRule ¶
func (b *InMemoryBackend) UpdateResolverRule( ctx context.Context, id, name, resolverEndpointID string, targetIps []TargetIP, ) (*ResolverRule, error)
UpdateResolverRule updates fields of a resolver rule.
type OutpostResolver ¶
type OutpostResolver struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
CreatorRequestID string `json:"creatorRequestId"`
OutpostARN string `json:"outpostArn"`
PreferredInstanceType string `json:"preferredInstanceType"`
Status string `json:"status"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
Tags []svcTags.KV `json:"tags,omitempty"`
InstanceCount int32 `json:"instanceCount"`
}
OutpostResolver represents a Resolver on an Outpost.
type Provider ¶
type Provider struct{}
Provider implements service.Provider for Route 53 Resolver.
func (*Provider) Init ¶
func (p *Provider) Init(ctx *service.AppContext) (service.Registerable, error)
Init initializes the Route 53 Resolver service backend and handler.
type ResolverConfig ¶
type ResolverConfig struct {
ID string `json:"id"`
ARN string `json:"arn"`
OwnerID string `json:"ownerId"`
ResourceID string `json:"resourceId"`
AutodefinedReverse string `json:"autodefinedReverse"`
// Region -- see FirewallConfig.Region doc comment; also keyed by ResourceID.
Region string `json:"region"`
}
ResolverConfig represents the Resolver configuration for a VPC.
type ResolverDnssecConfig ¶
type ResolverDnssecConfig struct {
ID string `json:"id"`
OwnerID string `json:"ownerId"`
ResourceID string `json:"resourceId"`
ValidationStatus string `json:"validationStatus"`
// Region -- see FirewallConfig.Region doc comment; also keyed by ResourceID.
Region string `json:"region"`
}
ResolverDnssecConfig represents the DNSSEC configuration for a VPC.
type ResolverEndpoint ¶
type ResolverEndpoint struct {
ID string `json:"id"`
ARN string `json:"arn"`
Direction string `json:"direction"`
Name string `json:"name"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
VpcID string `json:"vpcID"`
HostVPCID string `json:"hostVpcId"`
AccountID string `json:"accountID"`
Region string `json:"region"`
ResolverEndpointType string `json:"resolverEndpointType"`
OutpostArn string `json:"outpostArn,omitempty"`
PreferredInstanceType string `json:"preferredInstanceType,omitempty"`
CreatorRequestID string `json:"creatorRequestId,omitempty"`
CreationTime string `json:"creationTime,omitempty"`
ModificationTime string `json:"modificationTime,omitempty"`
SecurityGroupIDs []string `json:"securityGroupIds"`
IPAddresses []IPAddress `json:"ipAddresses"`
Tags []svcTags.KV `json:"tags,omitempty"`
Protocols []string `json:"protocols,omitempty"`
RniEnhancedMetricsEnabled bool `json:"rniEnhancedMetricsEnabled"`
TargetNameServerMetricsEnabled bool `json:"targetNameServerMetricsEnabled"`
}
type ResolverQueryLogConfig ¶
type ResolverQueryLogConfig struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
CreatorRequestID string `json:"creatorRequestId"`
DestinationARN string `json:"destinationArn"`
Status string `json:"status"`
OwnerID string `json:"ownerId"`
CreationTime string `json:"creationTime,omitempty"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
Tags []svcTags.KV `json:"tags,omitempty"`
AssociationCount int32 `json:"associationCount"`
}
ResolverQueryLogConfig represents a query logging configuration.
type ResolverQueryLogConfigAssociation ¶
type ResolverQueryLogConfigAssociation struct {
ID string `json:"id"`
ResolverQueryLogConfigID string `json:"resolverQueryLogConfigId"`
ResourceID string `json:"resourceId"`
Status string `json:"status"`
Error string `json:"error,omitempty"`
ErrorMessage string `json:"errorMessage,omitempty"`
CreationTime string `json:"creationTime,omitempty"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
}
ResolverQueryLogConfigAssociation represents an association between a VPC and a query log config.
type ResolverRule ¶
type ResolverRule struct {
ID string `json:"id"`
ARN string `json:"arn"`
Name string `json:"name"`
DomainName string `json:"domainName"`
RuleType string `json:"ruleType"`
Status string `json:"status"`
StatusMessage string `json:"statusMessage,omitempty"`
ResolverEndpointID string `json:"resolverEndpointID"`
AccountID string `json:"accountID"`
Region string `json:"region"`
CreatorRequestID string `json:"creatorRequestId,omitempty"`
OwnerID string `json:"ownerId,omitempty"`
CreationTime string `json:"creationTime,omitempty"`
ModificationTime string `json:"modificationTime,omitempty"`
TargetIps []TargetIP `json:"targetIps,omitempty"`
}
type ResolverRuleAssociation ¶
type ResolverRuleAssociation struct {
ID string `json:"id"`
Name string `json:"name"`
ResolverRuleID string `json:"resolverRuleId"`
VPCID string `json:"vpcId"`
Status string `json:"status"`
// Region -- see FirewallRuleGroup.Region doc comment.
Region string `json:"region"`
}
ResolverRuleAssociation represents an association between a Resolver rule and a VPC.
type StorageBackend ¶
type StorageBackend interface {
// Endpoint operations
CreateResolverEndpoint(
ctx context.Context,
name, direction, vpcID string,
ips []IPAddress,
securityGroupIDs []string,
resolverEndpointType string,
protocols []string,
outpostArn, preferredInstanceType, creatorRequestID string,
rniEnhancedMetricsEnabled, targetNameServerMetricsEnabled bool,
) (*ResolverEndpoint, error)
GetResolverEndpoint(ctx context.Context, id string) (*ResolverEndpoint, error)
ListResolverEndpoints(ctx context.Context) []*ResolverEndpoint
DeleteResolverEndpoint(ctx context.Context, id string) error
ListResolverEndpointIPAddresses(ctx context.Context, endpointID string) ([]IPAddress, error)
AssociateResolverEndpointIPAddress(
ctx context.Context,
endpointID, subnetID, ip, ipv6 string,
) (*ResolverEndpoint, error)
UpdateResolverEndpoint(
ctx context.Context,
id, name, resolverEndpointType string,
protocols []string,
rniEnhancedMetricsEnabled, targetNameServerMetricsEnabled *bool,
) (*ResolverEndpoint, error)
DisassociateResolverEndpointIPAddress(ctx context.Context, endpointID, ipID string) (*ResolverEndpoint, error)
// Rule operations
CreateResolverRule(
ctx context.Context,
name, domainName, ruleType, endpointID, creatorRequestID string,
targetIps []TargetIP,
) (*ResolverRule, error)
GetResolverRule(ctx context.Context, id string) (*ResolverRule, error)
ListResolverRules(ctx context.Context) []*ResolverRule
DeleteResolverRule(ctx context.Context, id string) error
UpdateResolverRule(
ctx context.Context,
id, name, resolverEndpointID string,
targetIps []TargetIP,
) (*ResolverRule, error)
AssociateResolverRule(ctx context.Context, resolverRuleID, vpcID, name string) (*ResolverRuleAssociation, error)
GetResolverRuleAssociation(ctx context.Context, id string) (*ResolverRuleAssociation, error)
DisassociateResolverRule(
ctx context.Context,
resolverRuleID, vpcID string,
) (*ResolverRuleAssociation, error)
ListResolverRuleAssociations(ctx context.Context) []*ResolverRuleAssociation
GetResolverRulePolicy(ctx context.Context, arn string) string
PutResolverRulePolicy(ctx context.Context, arn, policy string) error
// Firewall rule group operations
CreateFirewallRuleGroup(ctx context.Context, name, creatorRequestID string) (*FirewallRuleGroup, error)
GetFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroup, error)
ListFirewallRuleGroups(ctx context.Context) []*FirewallRuleGroup
DeleteFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroup, error)
GetFirewallRuleGroupPolicy(ctx context.Context, arn string) string
PutFirewallRuleGroupPolicy(ctx context.Context, arn, policy string) error
AssociateFirewallRuleGroup(
ctx context.Context,
firewallRuleGroupID, vpcID, name, creatorRequestID, mutationProtection string,
priority int32,
) (*FirewallRuleGroupAssociation, error)
GetFirewallRuleGroupAssociation(ctx context.Context, id string) (*FirewallRuleGroupAssociation, error)
ListFirewallRuleGroupAssociations(
ctx context.Context,
vpcID, firewallRuleGroupID string,
) []*FirewallRuleGroupAssociation
DisassociateFirewallRuleGroup(ctx context.Context, id string) (*FirewallRuleGroupAssociation, error)
UpdateFirewallRuleGroupAssociation(
ctx context.Context,
id, name, mutationProtection string,
priority int32,
) (*FirewallRuleGroupAssociation, error)
// Firewall domain list operations
CreateFirewallDomainList(ctx context.Context, name, creatorRequestID string) (*FirewallDomainList, error)
GetFirewallDomainList(ctx context.Context, id string) (*FirewallDomainList, error)
ListFirewallDomainLists(ctx context.Context) []*FirewallDomainList
DeleteFirewallDomainList(ctx context.Context, id string) (*FirewallDomainList, error)
ListFirewallDomains(ctx context.Context, id string) ([]string, error)
UpdateFirewallDomains(ctx context.Context, id, operation string, domains []string) (*FirewallDomainList, error)
ImportFirewallDomains(ctx context.Context, id, operation, domainFileURL string) (*FirewallDomainList, error)
// Firewall rule operations
CreateFirewallRule(ctx context.Context, p CreateFirewallRuleParams) (*FirewallRule, error)
DeleteFirewallRule(
ctx context.Context,
firewallRuleGroupID, firewallDomainListID, firewallThreatProtectionID string,
) (*FirewallRule, error)
UpdateFirewallRule(ctx context.Context, p UpdateFirewallRuleParams) (*FirewallRule, error)
ListFirewallRules(ctx context.Context, firewallRuleGroupID string) []*FirewallRule
// Firewall config operations
GetFirewallConfig(ctx context.Context, resourceID string) *FirewallConfig
UpdateFirewallConfig(ctx context.Context, resourceID, firewallFailOpen string) (*FirewallConfig, error)
ListFirewallConfigs(ctx context.Context) []*FirewallConfig
// Outpost resolver operations
CreateOutpostResolver(
ctx context.Context,
name, creatorRequestID, outpostARN, preferredInstanceType string,
instanceCount int32,
) (*OutpostResolver, error)
GetOutpostResolver(ctx context.Context, id string) (*OutpostResolver, error)
ListOutpostResolvers(ctx context.Context) []*OutpostResolver
DeleteOutpostResolver(ctx context.Context, id string) (*OutpostResolver, error)
UpdateOutpostResolver(
ctx context.Context,
id, name, preferredInstanceType string,
instanceCount int32,
) (*OutpostResolver, error)
// Query log config operations
CreateResolverQueryLogConfig(
ctx context.Context,
name, creatorRequestID, destinationARN string,
) (*ResolverQueryLogConfig, error)
GetResolverQueryLogConfig(ctx context.Context, id string) (*ResolverQueryLogConfig, error)
ListResolverQueryLogConfigs(ctx context.Context) []*ResolverQueryLogConfig
DeleteResolverQueryLogConfig(ctx context.Context, id string) (*ResolverQueryLogConfig, error)
AssociateResolverQueryLogConfig(
ctx context.Context,
queryLogConfigID, resourceID string,
) (*ResolverQueryLogConfigAssociation, error)
GetResolverQueryLogConfigAssociation(ctx context.Context, id string) (*ResolverQueryLogConfigAssociation, error)
DisassociateResolverQueryLogConfig(
ctx context.Context,
queryLogConfigID, resourceID string,
) (*ResolverQueryLogConfigAssociation, error)
ListResolverQueryLogConfigAssociations(ctx context.Context) []*ResolverQueryLogConfigAssociation
GetResolverQueryLogConfigPolicy(ctx context.Context, arn string) string
PutResolverQueryLogConfigPolicy(ctx context.Context, arn, policy string) error
// Resolver config operations
GetResolverConfig(ctx context.Context, resourceID string) *ResolverConfig
UpdateResolverConfig(ctx context.Context, resourceID, autodefinedReverse string) (*ResolverConfig, error)
ListResolverConfigs(ctx context.Context) []*ResolverConfig
// Resolver DNSSEC config operations
GetResolverDnssecConfig(ctx context.Context, resourceID string) *ResolverDnssecConfig
UpdateResolverDnssecConfig(ctx context.Context, resourceID, validation string) (*ResolverDnssecConfig, error)
ListResolverDnssecConfigs(ctx context.Context) []*ResolverDnssecConfig
// Tag operations
TagResource(ctx context.Context, resourceARN string, kvs []svcTags.KV) error
UntagResource(ctx context.Context, resourceARN string, keys []string) error
ListTagsForResource(ctx context.Context, resourceARN string) []svcTags.KV
// Lifecycle
Reset()
Region() string
AccountID() string
Snapshot(ctx context.Context) []byte
Restore(ctx context.Context, data []byte) error
}
StorageBackend defines the interface for Route 53 Resolver backend implementations. All mutating methods must be safe for concurrent use.
Regional operations take a context.Context from which the target AWS region is resolved (see getRegion); same-named resources are isolated per region.
type TargetIP ¶
type TargetIP struct {
IP string `json:"ip"`
Ipv6 string `json:"ipv6,omitempty"`
Protocol string `json:"protocol,omitempty"`
Port int32 `json:"port"`
}
TargetIP represents a forwarding target IP for a resolver rule.
type UpdateFirewallRuleParams ¶
type UpdateFirewallRuleParams struct {
FirewallRuleGroupID string
FirewallDomainListID string
FirewallThreatProtectionID string
Name string
Action string
BlockResponse string
BlockOverrideDomain string
BlockOverrideDNSType string
Qtype string
ConfidenceThreshold string
FirewallDomainRedirectionAction string
BlockOverrideTTL int32
Priority int32
}
UpdateFirewallRuleParams holds all updatable fields for a firewall rule. FirewallRuleGroupID plus EITHER FirewallDomainListID (domain-list rules) OR FirewallThreatProtectionID (DnsThreatProtection rules) identify which rule to update -- per the real API, a rule's match source is part of its identity, not a mutable property (verified against api_op_UpdateFirewallRule.go). FirewallDomainRedirectionAction IS a genuinely mutable property of a domain-list rule and is applied like any other updatable field below.
Source Files
¶
- dnssec_configs.go
- errors.go
- firewall_configs.go
- firewall_domain_lists.go
- firewall_rule_groups.go
- firewall_rules.go
- handler.go
- handler_configs.go
- handler_firewall_domain_lists.go
- handler_firewall_rule_groups.go
- handler_firewall_rules.go
- handler_outpost_resolvers.go
- handler_query_log_associations.go
- handler_query_log_configs.go
- handler_resolver_endpoints.go
- handler_resolver_rules.go
- handler_rule_associations.go
- handler_tags.go
- interfaces.go
- models.go
- outpost_resolvers.go
- persistence.go
- provider.go
- query_log_associations.go
- query_log_configs.go
- resolver_configs.go
- resolver_endpoints.go
- resolver_rules.go
- rule_associations.go
- store.go
- store_setup.go
- tags.go