SYMBOL INDEX (3730 symbols across 316 files) FILE: apis/v1alpha1/dnsendpoint.go type DNSEndpoint (line 36) | type DNSEndpoint struct type DNSEndpointList (line 46) | type DNSEndpointList struct type DNSEndpointSpec (line 53) | type DNSEndpointSpec struct type DNSEndpointStatus (line 58) | type DNSEndpointStatus struct FILE: apis/v1alpha1/groupversion_info.go constant DNSEndpointKind (line 29) | DNSEndpointKind = "DNSEndpoint" function init (line 43) | func init() { FILE: apis/v1alpha1/zz_generated.deepcopy.go method DeepCopyInto (line 13) | func (in *DNSEndpoint) DeepCopyInto(out *DNSEndpoint) { method DeepCopy (line 22) | func (in *DNSEndpoint) DeepCopy() *DNSEndpoint { method DeepCopyObject (line 32) | func (in *DNSEndpoint) DeepCopyObject() runtime.Object { method DeepCopyInto (line 40) | func (in *DNSEndpointList) DeepCopyInto(out *DNSEndpointList) { method DeepCopy (line 54) | func (in *DNSEndpointList) DeepCopy() *DNSEndpointList { method DeepCopyObject (line 64) | func (in *DNSEndpointList) DeepCopyObject() runtime.Object { method DeepCopyInto (line 72) | func (in *DNSEndpointSpec) DeepCopyInto(out *DNSEndpointSpec) { method DeepCopy (line 88) | func (in *DNSEndpointSpec) DeepCopy() *DNSEndpointSpec { method DeepCopyInto (line 98) | func (in *DNSEndpointStatus) DeepCopyInto(out *DNSEndpointStatus) { method DeepCopy (line 103) | func (in *DNSEndpointStatus) DeepCopy() *DNSEndpointStatus { FILE: controller/controller.go type Controller (line 42) | type Controller struct method RunOnce (line 69) | func (c *Controller) RunOnce(ctx context.Context) error { method ScheduleRunOnce (line 158) | func (c *Controller) ScheduleRunOnce(now time.Time) { method ShouldRunOnce (line 170) | func (c *Controller) ShouldRunOnce(now time.Time) bool { method Run (line 181) | func (c *Controller) Run(ctx context.Context) { function earliest (line 139) | func earliest(r time.Time, times ...time.Time) time.Time { function latest (line 148) | func latest(r time.Time, times ...time.Time) time.Time { FILE: controller/controller_test.go type mockProvider (line 45) | type mockProvider struct method Records (line 76) | func (p *mockProvider) Records(_ context.Context) ([]*endpoint.Endpoin... method ApplyChanges (line 81) | func (p *mockProvider) ApplyChanges(ctx context.Context, changes *plan... type filteredMockProvider (line 51) | type filteredMockProvider struct method GetDomainFilter (line 59) | func (p *filteredMockProvider) GetDomainFilter() endpoint.DomainFilter... method Records (line 64) | func (p *filteredMockProvider) Records(_ context.Context) ([]*endpoint... method ApplyChanges (line 70) | func (p *filteredMockProvider) ApplyChanges(_ context.Context, changes... function verifyEndpoints (line 104) | func verifyEndpoints(actual, expected []*endpoint.Endpoint) error { function newMockProvider (line 120) | func newMockProvider(endpoints []*endpoint.Endpoint, changes *plan.Chang... function getTestSource (line 129) | func getTestSource() *testutils.MockSource { function getTestConfig (line 158) | func getTestConfig() *externaldns.Config { function getTestProvider (line 165) | func getTestProvider() provider.Provider { function TestRunOnce (line 212) | func TestRunOnce(t *testing.T) { function TestRun (line 244) | func TestRun(t *testing.T) { function TestShouldRunOnce (line 277) | func TestShouldRunOnce(t *testing.T) { function testControllerFiltersDomains (line 334) | func testControllerFiltersDomains(t *testing.T, configuredEndpoints []*e... function TestControllerSkipsEmptyChanges (line 366) | func TestControllerSkipsEmptyChanges(t *testing.T) { function TestWhenNoFilterControllerConsidersAllDomains (line 393) | func TestWhenNoFilterControllerConsidersAllDomains(t *testing.T) { function TestWhenMultipleControllerConsidersAllFilteredComain (line 430) | func TestWhenMultipleControllerConsidersAllFilteredComain(t *testing.T) { type toggleRegistry (line 490) | type toggleRegistry struct method Records (line 498) | func (r *toggleRegistry) Records(_ context.Context) ([]*endpoint.Endpo... method ApplyChanges (line 508) | func (r *toggleRegistry) ApplyChanges(_ context.Context, _ *plan.Chang... constant toggleRegistryFailureCount (line 496) | toggleRegistryFailureCount = 3 function TestToggleRegistry (line 512) | func TestToggleRegistry(t *testing.T) { function TestRunOnce_EmitChangeEvent (line 560) | func TestRunOnce_EmitChangeEvent(t *testing.T) { FILE: controller/events.go function emitChangeEvent (line 26) | func emitChangeEvent(e events.EventEmitter, ch *plan.Changes, reason eve... FILE: controller/events_test.go function TestEmit_RecordReady (line 31) | func TestEmit_RecordReady(t *testing.T) { function TestEmit_NilEmitter (line 103) | func TestEmit_NilEmitter(t *testing.T) { function TestEmit_RecordError (line 109) | func TestEmit_RecordError(t *testing.T) { FILE: controller/execute.go function Execute (line 48) | func Execute() { function buildController (line 132) | func buildController( function configureLogger (line 180) | func configureLogger(cfg *externaldns.Config) { function buildSource (line 194) | func buildSource(ctx context.Context, cfg *source.Config) (source.Source... function handleSigterm (line 213) | func handleSigterm(cancel func()) { function serveMetrics (line 225) | func serveMetrics(address string) { FILE: controller/execute_test.go function TestConfigureLogger (line 41) | func TestConfigureLogger(t *testing.T) { function TestBuildSourceWithWrappers (line 122) | func TestBuildSourceWithWrappers(t *testing.T) { function TestHelperProcess (line 167) | func TestHelperProcess(_ *testing.T) { function runExecuteSubprocess (line 188) | func runExecuteSubprocess(t *testing.T, args []string) (int, error) { function TestExecuteOnceDryRunExitsZero (line 215) | func TestExecuteOnceDryRunExitsZero(t *testing.T) { function TestExecuteUnknownProviderExitsNonZero (line 228) | func TestExecuteUnknownProviderExitsNonZero(t *testing.T) { function TestExecuteValidationErrorNoSources (line 238) | func TestExecuteValidationErrorNoSources(t *testing.T) { function TestExecuteFlagParsingErrorInvalidLogFormat (line 247) | func TestExecuteFlagParsingErrorInvalidLogFormat(t *testing.T) { function TestExecuteConfigValidationErrorExitsNonZero (line 260) | func TestExecuteConfigValidationErrorExitsNonZero(t *testing.T) { function TestExecuteBuildSourceErrorExitsNonZero (line 273) | func TestExecuteBuildSourceErrorExitsNonZero(t *testing.T) { function TestExecuteRunOnceErrorExitsNonZero (line 287) | func TestExecuteRunOnceErrorExitsNonZero(t *testing.T) { function TestExecuteRunLoopErrorExitsNonZero (line 301) | func TestExecuteRunLoopErrorExitsNonZero(t *testing.T) { function TestExecuteBuildControllerErrorExitsNonZero (line 313) | func TestExecuteBuildControllerErrorExitsNonZero(t *testing.T) { function TestControllerRunCancelContextStopsLoop (line 327) | func TestControllerRunCancelContextStopsLoop(t *testing.T) { FILE: controller/metrics.go function init (line 127) | func init() { type dnsKey (line 145) | type dnsKey struct function countMatchingAddressRecords (line 151) | func countMatchingAddressRecords(endpoints []*endpoint.Endpoint, registr... function countAddressRecords (line 172) | func countAddressRecords(endpoints []*endpoint.Endpoint, metric metrics.... FILE: controller/metrics_test.go function TestVerifyARecords (line 31) | func TestVerifyARecords(t *testing.T) { function TestVerifyAAAARecords (line 111) | func TestVerifyAAAARecords(t *testing.T) { function TestARecords (line 191) | func TestARecords(t *testing.T) { function TestAAAARecords (line 238) | func TestAAAARecords(t *testing.T) { function TestGaugeMetricsWithMixedRecords (line 289) | func TestGaugeMetricsWithMixedRecords(t *testing.T) { function newMixedRecordsFixture (line 305) | func newMixedRecordsFixture() *Controller { function BenchmarkGaugeMetricsWithMixedRecords (line 346) | func BenchmarkGaugeMetricsWithMixedRecords(b *testing.B) { FILE: endpoint/crypto.go constant standardGcmNonceSize (line 30) | standardGcmNonceSize = 12 function GenerateNonce (line 33) | func GenerateNonce() (string, error) { function EncryptText (line 43) | func EncryptText(text string, aesKey []byte, nonceEncoded string) (strin... function DecryptText (line 74) | func DecryptText(text string, aesKey []byte) (string, string, error) { function decompressData (line 104) | func decompressData(data []byte) ([]byte, error) { function compressData (line 119) | func compressData(data []byte) ([]byte, error) { FILE: endpoint/crypto_test.go function TestEncrypt (line 29) | func TestEncrypt(t *testing.T) { function TestGenerateNonceSuccess (line 70) | func TestGenerateNonceSuccess(t *testing.T) { function TestGenerateNonceError (line 81) | func TestGenerateNonceError(t *testing.T) { type faultyReader (line 94) | type faultyReader struct method Read (line 96) | func (f *faultyReader) Read(_ []byte) (int, error) { FILE: endpoint/domain_filter.go type MatchAllDomainFilters (line 32) | type MatchAllDomainFilters method Match (line 34) | func (f MatchAllDomainFilters) Match(domain string) bool { type DomainFilterInterface (line 46) | type DomainFilterInterface interface type DomainFilter (line 51) | type DomainFilter struct method Match (line 120) | func (df *DomainFilter) Match(domain string) bool { method IsConfigured (line 184) | func (df *DomainFilter) IsConfigured() bool { method MarshalJSON (line 196) | func (df *DomainFilter) MarshalJSON() ([]byte, error) { method UnmarshalJSON (line 225) | func (df *DomainFilter) UnmarshalJSON(b []byte) error { method MatchParent (line 258) | func (df *DomainFilter) MatchParent(domain string) bool { type domainFilterSerde (line 65) | type domainFilterSerde struct function prepareFilters (line 73) | func prepareFilters(filters []string) []string { function NewDomainFilterWithExclusions (line 84) | func NewDomainFilterWithExclusions(domainFilters []string, excludeDomain... function NewDomainFilter (line 89) | func NewDomainFilter(domainFilters []string) *DomainFilter { function NewRegexDomainFilter (line 94) | func NewRegexDomainFilter(regexDomainFilter *regexp.Regexp, regexDomainE... function NewDomainFilterWithOptions (line 107) | func NewDomainFilterWithOptions(opts ...DomainFilterOption) *DomainFilter { function matchFilter (line 134) | func matchFilter(filters []string, domain string, emptyval bool) bool { function matchRegex (line 163) | func matchRegex(regex *regexp.Regexp, negativeRegex *regexp.Regexp, doma... function normalizeDomain (line 284) | func normalizeDomain(domain string) string { type DomainFilterOption (line 292) | type DomainFilterOption type domainFilterConfig (line 293) | type domainFilterConfig struct function WithDomainFilter (line 301) | func WithDomainFilter(filters []string) DomainFilterOption { function WithDomainExclude (line 307) | func WithDomainExclude(exclude []string) DomainFilterOption { function WithRegexDomainFilter (line 313) | func WithRegexDomainFilter(regex *regexp.Regexp) DomainFilterOption { function WithRegexDomainExclude (line 322) | func WithRegexDomainExclude(regex *regexp.Regexp) DomainFilterOption { FILE: endpoint/domain_filter_test.go type domainFilterTest (line 30) | type domainFilterTest struct type regexDomainFilterTest (line 38) | type regexDomainFilterTest struct function TestDomainFilterMatch (line 480) | func TestDomainFilterMatch(t *testing.T) { function TestDomainFilterWithExclusions (line 505) | func TestDomainFilterWithExclusions(t *testing.T) { function TestDomainFilterMatchWithEmptyFilter (line 532) | func TestDomainFilterMatchWithEmptyFilter(t *testing.T) { function TestNewDomainFilterWithExclusionsHandlesEmptyInputs (line 542) | func TestNewDomainFilterWithExclusionsHandlesEmptyInputs(t *testing.T) { function TestRegexDomainFilter (line 577) | func TestRegexDomainFilter(t *testing.T) { function TestPrepareFiltersStripsWhitespaceAndDotSuffix (line 600) | func TestPrepareFiltersStripsWhitespaceAndDotSuffix(t *testing.T) { function TestMatchFilterReturnsProperEmptyVal (line 632) | func TestMatchFilterReturnsProperEmptyVal(t *testing.T) { function TestDomainFilterIsConfigured (line 638) | func TestDomainFilterIsConfigured(t *testing.T) { function TestRegexDomainFilterIsConfigured (line 687) | func TestRegexDomainFilterIsConfigured(t *testing.T) { function TestDomainFilterDeserializeError (line 723) | func TestDomainFilterDeserializeError(t *testing.T) { function assertSerializes (line 792) | func assertSerializes[T any](t *testing.T, domainFilter *DomainFilter, e... function deserialize (line 800) | func deserialize[T any](t *testing.T, serialized map[string]T) *DomainFi... function TestDomainFilterMatchParent (line 810) | func TestDomainFilterMatchParent(t *testing.T) { function TestSimpleDomainFilterWithExclusion (line 930) | func TestSimpleDomainFilterWithExclusion(t *testing.T) { function TestDomainFilterNormalizeDomain (line 979) | func TestDomainFilterNormalizeDomain(t *testing.T) { function TestMatchTargetFilterReturnsProperEmptyVal (line 1043) | func TestMatchTargetFilterReturnsProperEmptyVal(t *testing.T) { function TestNewDomainFilterFromConfig (line 1049) | func TestNewDomainFilterFromConfig(t *testing.T) { function TestRegexDomainFilterZoneNames (line 1174) | func TestRegexDomainFilterZoneNames(t *testing.T) { FILE: endpoint/endpoint.go constant RecordTypeA (line 37) | RecordTypeA = "A" constant RecordTypeAAAA (line 39) | RecordTypeAAAA = "AAAA" constant RecordTypeCNAME (line 41) | RecordTypeCNAME = "CNAME" constant RecordTypeTXT (line 43) | RecordTypeTXT = "TXT" constant RecordTypeSRV (line 45) | RecordTypeSRV = "SRV" constant RecordTypeNS (line 47) | RecordTypeNS = "NS" constant RecordTypePTR (line 49) | RecordTypePTR = "PTR" constant RecordTypeMX (line 51) | RecordTypeMX = "MX" constant RecordTypeNAPTR (line 53) | RecordTypeNAPTR = "NAPTR" constant providerSpecificAlias (line 57) | providerSpecificAlias = "alias" constant ProviderSpecificRecordType (line 61) | ProviderSpecificRecordType = "record-type" type TTL (line 79) | type TTL method IsConfigured (line 82) | func (ttl TTL) IsConfigured() bool { type Targets (line 87) | type Targets method String (line 101) | func (t Targets) String() string { method Len (line 105) | func (t Targets) Len() int { method Less (line 109) | func (t Targets) Less(i, j int) bool { method Swap (line 123) | func (t Targets) Swap(i, j int) { method Same (line 128) | func (t Targets) Same(o Targets) bool { method IsLess (line 169) | func (t Targets) IsLess(o Targets) bool { method ValidateIPRecord (line 600) | func (t Targets) ValidateIPRecord(recordType string) bool { method ValidateMXRecord (line 619) | func (t Targets) ValidateMXRecord() bool { method ValidateSRVRecord (line 631) | func (t Targets) ValidateSRVRecord() bool { type MXTarget (line 90) | type MXTarget struct method GetPriority (line 591) | func (m *MXTarget) GetPriority() *uint16 { method GetHost (line 596) | func (m *MXTarget) GetHost() *string { function NewTargets (line 97) | func NewTargets(target ...string) Targets { type ProviderSpecificProperty (line 222) | type ProviderSpecificProperty struct type ProviderSpecific (line 228) | type ProviderSpecific type EndpointKey (line 231) | type EndpointKey struct type Endpoint (line 243) | type Endpoint struct method WithSetIdentifier (line 303) | func (e *Endpoint) WithSetIdentifier(setIdentifier string) *Endpoint { method WithProviderSpecific (line 313) | func (e *Endpoint) WithProviderSpecific(key, value string) *Endpoint { method GetProviderSpecificProperty (line 319) | func (e *Endpoint) GetProviderSpecificProperty(key string) (string, bo... method GetBoolProviderSpecificProperty (line 332) | func (e *Endpoint) GetBoolProviderSpecificProperty(key string) (bool, ... method SetProviderSpecificProperty (line 348) | func (e *Endpoint) SetProviderSpecificProperty(key string, value strin... method DeleteProviderSpecificProperty (line 370) | func (e *Endpoint) DeleteProviderSpecificProperty(key string) { method RetainProviderProperties (line 390) | func (e *Endpoint) RetainProviderProperties(provider string) { method WithLabel (line 410) | func (e *Endpoint) WithLabel(key, value string) *Endpoint { method WithRefObject (line 420) | func (e *Endpoint) WithRefObject(obj *events.ObjectReference) *Endpoint { method RefObject (line 425) | func (e *Endpoint) RefObject() *events.ObjectReference { method Key (line 430) | func (e *Endpoint) Key() EndpointKey { method IsOwnedBy (line 439) | func (e *Endpoint) IsOwnedBy(ownerID string) bool { method GetNakedDomain (line 447) | func (e *Endpoint) GetNakedDomain() string { method String (line 469) | func (e *Endpoint) String() string { method Describe (line 473) | func (e *Endpoint) Describe() string { method RequestedRecordType (line 519) | func (e *Endpoint) RequestedRecordType() (string, bool) { method CheckEndpoint (line 525) | func (e *Endpoint) CheckEndpoint() bool { method isAlias (line 549) | func (e *Endpoint) isAlias() bool { method supportsAlias (line 554) | func (e *Endpoint) supportsAlias() bool { method WithMinTTL (line 564) | func (e *Endpoint) WithMinTTL(ttl int64) { method ValidatePTRRecord (line 658) | func (e *Endpoint) ValidatePTRRecord() bool { method GetDNSName (line 693) | func (e *Endpoint) GetDNSName() string { method GetRecordType (line 698) | func (e *Endpoint) GetRecordType() string { method GetRecordTTL (line 703) | func (e *Endpoint) GetRecordTTL() int64 { method GetTargets (line 708) | func (e *Endpoint) GetTargets() []string { method GetOwner (line 713) | func (e *Endpoint) GetOwner() string { function NewEndpoint (line 267) | func NewEndpoint(dnsName, recordType string, targets ...string) *Endpoint { function NewEndpointWithTTL (line 272) | func NewEndpointWithTTL(dnsName, recordType string, ttl TTL, targets ...... function NewPTREndpoint (line 460) | func NewPTREndpoint(target string, ttl TTL, hostnames ...string) (*Endpo... function FilterEndpointsByOwnerID (line 479) | func FilterEndpointsByOwnerID(ownerID string, eps []*Endpoint) []*Endpoi... function RemoveDuplicates (line 499) | func RemoveDuplicates(endpoints []*Endpoint) []*Endpoint { function NewMXRecord (line 573) | func NewMXRecord(target string) (*MXTarget, error) { function isReverseDNSName (line 683) | func isReverseDNSName(name string) bool { FILE: endpoint/endpoint_benchmark_test.go function TestEndpointGeneration (line 49) | func TestEndpointGeneration(t *testing.T) { function BenchmarkProviderSpecificRandomAccess (line 64) | func BenchmarkProviderSpecificRandomAccess(b *testing.B) { function BenchmarkProviderSpecificDelete (line 94) | func BenchmarkProviderSpecificDelete(b *testing.B) { function generateBenchmarkEndpoints (line 125) | func generateBenchmarkEndpoints(count, setPropsCount int) []*Endpoint { FILE: endpoint/endpoint_test.go function TestNewEndpoint (line 33) | func TestNewEndpoint(t *testing.T) { function TestNewTargets (line 48) | func TestNewTargets(t *testing.T) { function TestTargetsSame (line 80) | func TestTargetsSame(t *testing.T) { function TestSameSuccess (line 96) | func TestSameSuccess(t *testing.T) { function TestSameFailures (line 127) | func TestSameFailures(t *testing.T) { function TestIsLess (line 158) | func TestIsLess(t *testing.T) { function TestGetProviderSpecificProperty (line 197) | func TestGetProviderSpecificProperty(t *testing.T) { function TestSetProviderSpecficProperty (line 228) | func TestSetProviderSpecficProperty(t *testing.T) { function TestDeleteProviderSpecificProperty (line 367) | func TestDeleteProviderSpecificProperty(t *testing.T) { function TestRetainProviderProperties (line 453) | func TestRetainProviderProperties(t *testing.T) { function TestFilterEndpointsByOwnerIDWithRecordTypeA (line 589) | func TestFilterEndpointsByOwnerIDWithRecordTypeA(t *testing.T) { function TestFilterEndpointsByOwnerIDWithRecordTypeCNAME (line 645) | func TestFilterEndpointsByOwnerIDWithRecordTypeCNAME(t *testing.T) { function TestFilterEndpointsByOwnerID_Logs (line 701) | func TestFilterEndpointsByOwnerID_Logs(t *testing.T) { function TestIsOwnedBy (line 754) | func TestIsOwnedBy(t *testing.T) { function TestDuplicatedEndpointsWithSimpleZone (line 798) | func TestDuplicatedEndpointsWithSimpleZone(t *testing.T) { function TestDuplicatedEndpointsWithOverlappingZones (line 852) | func TestDuplicatedEndpointsWithOverlappingZones(t *testing.T) { function TestPDNScheckEndpoint (line 931) | func TestPDNScheckEndpoint(t *testing.T) { function TestNewMXTarget (line 1035) | func TestNewMXTarget(t *testing.T) { function TestCheckEndpoint (line 1084) | func TestCheckEndpoint(t *testing.T) { function TestCheckEndpoint_AliasWarningLog (line 1387) | func TestCheckEndpoint_AliasWarningLog(t *testing.T) { function TestCheckEndpoint_PTRValidationLog (line 1440) | func TestCheckEndpoint_PTRValidationLog(t *testing.T) { function TestEndpoint_WithRefObject (line 1508) | func TestEndpoint_WithRefObject(t *testing.T) { function TestTargets_UniqueOrdered (line 1521) | func TestTargets_UniqueOrdered(t *testing.T) { function TestEndpoint_WithMinTTL (line 1572) | func TestEndpoint_WithMinTTL(t *testing.T) { function TestNewEndpointWithTTLPreservesDotsInTXTRecords (line 1620) | func TestNewEndpointWithTTLPreservesDotsInTXTRecords(t *testing.T) { function TestGetBoolProviderSpecificProperty (line 1645) | func TestGetBoolProviderSpecificProperty(t *testing.T) { function TestGetOwnerId (line 1739) | func TestGetOwnerId(t *testing.T) { function TestGetNakedDomain (line 1806) | func TestGetNakedDomain(t *testing.T) { function TestRequestedRecordType (line 1865) | func TestRequestedRecordType(t *testing.T) { function TestNewPTREndpoint (line 1877) | func TestNewPTREndpoint(t *testing.T) { FILE: endpoint/labels.go constant heritage (line 32) | heritage = "external-dns" constant OwnerLabelKey (line 34) | OwnerLabelKey = "owner" constant ResourceLabelKey (line 36) | ResourceLabelKey = "resource" constant OwnedRecordLabelKey (line 38) | OwnedRecordLabelKey = "ownedRecord" constant AWSSDDescriptionLabel (line 42) | AWSSDDescriptionLabel = "aws-sd-description" constant txtEncryptionNonce (line 45) | txtEncryptionNonce = "txt-encryption-nonce" type Labels (line 50) | type Labels method SerializePlain (line 109) | func (l Labels) SerializePlain(withQuotes bool) string { method Serialize (line 131) | func (l Labels) Serialize(withQuotes bool, txtEncryptEnabled bool, aes... function NewLabels (line 53) | func NewLabels() Labels { function NewLabelsFromStringPlain (line 60) | func NewLabelsFromStringPlain(labelText string) (Labels, error) { function NewLabelsFromString (line 90) | func NewLabelsFromString(labelText string, aesKey []byte) (Labels, error) { FILE: endpoint/labels_test.go type LabelsSuite (line 29) | type LabelsSuite struct method SetupTest (line 45) | func (suite *LabelsSuite) SetupTest() { method TestSerialize (line 67) | func (suite *LabelsSuite) TestSerialize() { method TestEncryptionNonceReUsage (line 78) | func (suite *LabelsSuite) TestEncryptionNonceReUsage() { method TestEncryptionKeyChanged (line 85) | func (suite *LabelsSuite) TestEncryptionKeyChanged() { method TestEncryptionFailed (line 93) | func (suite *LabelsSuite) TestEncryptionFailed() { method TestEncryptionFailedFaultyReader (line 111) | func (suite *LabelsSuite) TestEncryptionFailedFaultyReader() { method TestDeserialize (line 139) | func (suite *LabelsSuite) TestDeserialize() { function TestLabels (line 181) | func TestLabels(t *testing.T) { FILE: endpoint/target_filter.go type TargetFilterInterface (line 27) | type TargetFilterInterface interface type TargetNetFilter (line 33) | type TargetNetFilter struct method Match (line 63) | func (tf TargetNetFilter) Match(target string) bool { method IsEnabled (line 68) | func (tf TargetNetFilter) IsEnabled() bool { function prepareTargetFilters (line 41) | func prepareTargetFilters(filters []string) []*net.IPNet { function NewTargetNetFilterWithExclusions (line 58) | func NewTargetNetFilterWithExclusions(targetFilterNets []string, exclude... function matchTargetNetFilter (line 75) | func matchTargetNetFilter(filters []*net.IPNet, target string, emptyval ... FILE: endpoint/target_filter_test.go type targetFilterTest (line 25) | type targetFilterTest struct function TestTargetFilterWithExclusions (line 83) | func TestTargetFilterWithExclusions(t *testing.T) { function TestTargetFilterMatchWithEmptyFilter (line 95) | func TestTargetFilterMatchWithEmptyFilter(t *testing.T) { function TestTargetNetFilter_IsEnabled (line 104) | func TestTargetNetFilter_IsEnabled(t *testing.T) { FILE: endpoint/utils.go constant msg (line 29) | msg = "No endpoints could be generated from '%s/%s/%s'" function SuitableType (line 34) | func SuitableType(target string) string { function HasNoEmptyEndpoints (line 51) | func HasNoEmptyEndpoints( function EndpointsForHostname (line 64) | func EndpointsForHostname(hostname string, targets Targets, ttl TTL, pro... function AttachRefObject (line 93) | func AttachRefObject(eps []*Endpoint, ref *events.ObjectReference) { FILE: endpoint/utils_test.go type mockObjectMetaAccessor (line 26) | type mockObjectMetaAccessor struct method GetObjectMeta (line 31) | func (m *mockObjectMetaAccessor) GetObjectMeta() metav1.Object { function TestSuitableType (line 38) | func TestSuitableType(t *testing.T) { function TestHasEmptyEndpoints (line 69) | func TestHasEmptyEndpoints(t *testing.T) { function TestEndpointsForHostname (line 121) | func TestEndpointsForHostname(t *testing.T) { FILE: endpoint/zz_generated.deepcopy.go method DeepCopyInto (line 8) | func (in *Endpoint) DeepCopyInto(out *Endpoint) { method DeepCopy (line 35) | func (in *Endpoint) DeepCopy() *Endpoint { FILE: internal/flags/binders.go type FlagBinder (line 29) | type FlagBinder interface type KingpinBinder (line 47) | type KingpinBinder struct method StringVar (line 56) | func (b *KingpinBinder) StringVar(name, help, def string, target *stri... method BoolVar (line 60) | func (b *KingpinBinder) BoolVar(name, help string, def bool, target *b... method DurationVar (line 68) | func (b *KingpinBinder) DurationVar(name, help string, def time.Durati... method IntVar (line 72) | func (b *KingpinBinder) IntVar(name, help string, def int, target *int) { method Int64Var (line 76) | func (b *KingpinBinder) Int64Var(name, help string, def int64, target ... method StringsVar (line 80) | func (b *KingpinBinder) StringsVar(name, help string, def []string, ta... method EnumVar (line 88) | func (b *KingpinBinder) EnumVar(name, help, def string, target *string... method StringsEnumVar (line 92) | func (b *KingpinBinder) StringsEnumVar(name, help string, def []string... method StringMapVar (line 100) | func (b *KingpinBinder) StringMapVar(name, help string, target *map[st... method RegexpVar (line 104) | func (b *KingpinBinder) RegexpVar(name, help string, def *regexp.Regex... function NewKingpinBinder (line 52) | func NewKingpinBinder(app *kingpin.Application) *KingpinBinder { type regexpValue (line 112) | type regexpValue struct method String (line 116) | func (rv *regexpValue) String() string { method Set (line 123) | func (rv *regexpValue) Set(s string) error { method Type (line 132) | func (rv *regexpValue) Type() string { return "regexp" } type regexpSetter (line 134) | type regexpSetter interface function setRegexpDefault (line 138) | func setRegexpDefault(rs regexpSetter, def *regexp.Regexp, name string) { FILE: internal/flags/binders_test.go type badSetter (line 30) | type badSetter struct method Set (line 32) | func (b *badSetter) Set(_ string) error { return errors.New("bad defau... function TestKingpinBinderParsesAllTypes (line 34) | func TestKingpinBinderParsesAllTypes(t *testing.T) { function TestKingpinBinderEnumValidation (line 68) | func TestKingpinBinderEnumValidation(t *testing.T) { function TestKingpinBinderStringsVarNoDefaultAndBoolDefaultFalse (line 79) | func TestKingpinBinderStringsVarNoDefaultAndBoolDefaultFalse(t *testing.... function TestCobraRegexValueSetStringType (line 98) | func TestCobraRegexValueSetStringType(t *testing.T) { function TestKingpinRegexpVarDefaultAndParse (line 118) | func TestKingpinRegexpVarDefaultAndParse(t *testing.T) { function TestKingpinStringsEnumVarWithAndWithoutDefault (line 141) | func TestKingpinStringsEnumVarWithAndWithoutDefault(t *testing.T) { function TestSetRegexDefaultPanicsOnInvalidDefault (line 161) | func TestSetRegexDefaultPanicsOnInvalidDefault(t *testing.T) { FILE: internal/gen/docs/flags/main.go type Flag (line 34) | type Flag struct type Flags (line 38) | type Flags method addFlag (line 41) | func (f *Flags) addFlag(name, description string) { method generateMarkdownTable (line 105) | func (f *Flags) generateMarkdownTable() (string, error) { function main (line 48) | func main() { function computeFlags (line 62) | func computeFlags() Flags { type columnWidths (line 88) | type columnWidths struct function computeFlagColumnWidths (line 93) | func computeFlagColumnWidths(flags Flags) columnWidths { type templateData (line 100) | type templateData struct FILE: internal/gen/docs/flags/main_test.go constant pathToDocs (line 29) | pathToDocs = "%s/../../../../docs" function TestComputeFlags (line 31) | func TestComputeFlags(t *testing.T) { function TestGenerateMarkdownTableRenderer (line 45) | func TestGenerateMarkdownTableRenderer(t *testing.T) { function TestFlagsMdExists (line 57) | func TestFlagsMdExists(t *testing.T) { function TestFlagsMdUpToDate (line 66) | func TestFlagsMdUpToDate(t *testing.T) { function TestFlagsMdExtraFlagAdded (line 80) | func TestFlagsMdExtraFlagAdded(t *testing.T) { FILE: internal/gen/docs/metrics/main.go function main (line 43) | func main() { function generateMarkdownTable (line 57) | func generateMarkdownTable(m *metrics.MetricRegistry, withRuntime bool) ... function sortMetrics (line 83) | func sortMetrics(metrics []*metrics.Metric) { function getRuntimeMetrics (line 93) | func getRuntimeMetrics(gatherer prometheus.Gatherer) []string { type templateData (line 109) | type templateData struct type columnWidths (line 116) | type columnWidths struct function computeColumnWidths (line 123) | func computeColumnWidths(ms []*metrics.Metric) columnWidths { FILE: internal/gen/docs/metrics/main_test.go constant pathToDocs (line 33) | pathToDocs = "%s/../../../../docs/monitoring" constant knownMetricsCount (line 34) | knownMetricsCount = 22 function TestComputeMetrics (line 37) | func TestComputeMetrics(t *testing.T) { function TestGenerateMarkdownTableRenderer (line 47) | func TestGenerateMarkdownTableRenderer(t *testing.T) { function TestGenerateMarkdownTableWithSingleMetric (line 57) | func TestGenerateMarkdownTableWithSingleMetric(t *testing.T) { function TestMetricsMdUpToDate (line 76) | func TestMetricsMdUpToDate(t *testing.T) { function TestMetricsMdExtraMetricAdded (line 89) | func TestMetricsMdExtraMetricAdded(t *testing.T) { function TestGetRuntimeMetricsForNewRegistry (line 115) | func TestGetRuntimeMetricsForNewRegistry(t *testing.T) { function TestGetRuntimeMetricsForDefaultRegistry (line 134) | func TestGetRuntimeMetricsForDefaultRegistry(t *testing.T) { FILE: internal/gen/docs/render/render.go function WriteToFile (line 32) | func WriteToFile(filename string, content string) error { function RenderTemplate (line 37) | func RenderTemplate(fsys fs.FS, name string, data any) (string, error) { function FuncMap (line 49) | func FuncMap() template.FuncMap { function ComputeColumnWidth (line 72) | func ComputeColumnWidth(header string, values []string) int { function MapColumn (line 77) | func MapColumn[T any](header string, items []T, fn func(T) string) int { FILE: internal/gen/docs/render/render_test.go function TestWriteToFile (line 31) | func TestWriteToFile(t *testing.T) { function TestComputeColumnWidth (line 52) | func TestComputeColumnWidth(t *testing.T) { function TestMapColumn (line 111) | func TestMapColumn(t *testing.T) { function TestFuncs (line 161) | func TestFuncs(t *testing.T) { function TestRenderTemplate (line 191) | func TestRenderTemplate(t *testing.T) { function TestRenderTemplateWithFuncMap (line 203) | func TestRenderTemplateWithFuncMap(t *testing.T) { FILE: internal/gen/docs/sources/main.go constant annotationPrefix (line 35) | annotationPrefix = "+externaldns:source:" constant annotationName (line 36) | annotationName = annotationPrefix + "name=" constant annotationCategory (line 37) | annotationCategory = annotationPrefix + "category=" constant annotationDesc (line 38) | annotationDesc = annotationPrefix + "description=" constant annotationResources (line 39) | annotationResources = annotationPrefix + "resources=" constant annotationFilters (line 40) | annotationFilters = annotationPrefix + "filters=" constant annotationNamespace (line 41) | annotationNamespace = annotationPrefix + "namespace=" constant annotationFQDNTemplate (line 42) | annotationFQDNTemplate = annotationPrefix + "fqdn-template=" constant annotationEvents (line 43) | annotationEvents = annotationPrefix + "events=" constant annotationProviderSpecific (line 44) | annotationProviderSpecific = annotationPrefix + "provider-specific=" type Source (line 55) | type Source struct type Sources (line 69) | type Sources method generateMarkdown (line 138) | func (s *Sources) generateMarkdown() (string, error) { function main (line 74) | func main() { function discoverSources (line 94) | func discoverSources(dir string) (Sources, error) { type columnWidths (line 109) | type columnWidths struct function computeColumnWidths (line 120) | func computeColumnWidths(sources Sources) columnWidths { type templateData (line 133) | type templateData struct function parseSourceAnnotations (line 147) | func parseSourceAnnotations(sourceDir string) (Sources, error) { function parseFile (line 184) | func parseFile(filePath, baseDir string) (Sources, error) { function extractSourcesFromComments (line 264) | func extractSourcesFromComments(comments, typeName, filePath string) (So... FILE: internal/gen/docs/sources/main_test.go constant pathToDocs (line 31) | pathToDocs = "%s/../../../../docs/sources" constant fileName (line 32) | fileName = "index.md" function TestIndexMdExists (line 35) | func TestIndexMdExists(t *testing.T) { function TestIndexMdUpToDate (line 43) | func TestIndexMdUpToDate(t *testing.T) { function TestDiscoverSources (line 57) | func TestDiscoverSources(t *testing.T) { function TestGenerateMarkdown (line 75) | func TestGenerateMarkdown(t *testing.T) { function TestParseSourceAnnotations (line 98) | func TestParseSourceAnnotations(t *testing.T) { function TestParseSourceAnnotations_SkipsTestFiles (line 135) | func TestParseSourceAnnotations_SkipsTestFiles(t *testing.T) { function TestParseFile_MultipleSourcesInOneFile (line 155) | func TestParseFile_MultipleSourcesInOneFile(t *testing.T) { function TestParseFile_IgnoresNonSourceTypes (line 190) | func TestParseFile_IgnoresNonSourceTypes(t *testing.T) { function TestParseSourceAnnotations_ErrorOnInvalidFile (line 211) | func TestParseSourceAnnotations_ErrorOnInvalidFile(t *testing.T) { function TestParseFile_InvalidGoFile (line 227) | func TestParseFile_InvalidGoFile(t *testing.T) { function TestParseSourceAnnotations_WithSubdirectories (line 240) | func TestParseSourceAnnotations_WithSubdirectories(t *testing.T) { function TestGenerateMarkdown_WithMultipleCategories (line 268) | func TestGenerateMarkdown_WithMultipleCategories(t *testing.T) { function TestExtractSourcesFromComments (line 306) | func TestExtractSourcesFromComments(t *testing.T) { FILE: internal/idna/idna.go function NormalizeDNSName (line 36) | func NormalizeDNSName(dnsName string) string { FILE: internal/idna/idna_test.go function TestProfileWithDefault (line 26) | func TestProfileWithDefault(t *testing.T) { function TestNormalizeDNSName (line 61) | func TestNormalizeDNSName(tt *testing.T) { FILE: internal/testutils/endpoint.go type byNames (line 39) | type byNames method Len (line 41) | func (p byNames) Len() int { return len(p) } method Swap (line 42) | func (p byNames) Swap(i, j int) { p[i], p[j] = p[j], p[i] } method Less (line 43) | func (p byNames) Less(i, j int) bool { return p[i].Name < p[j].Name } type byAllFields (line 45) | type byAllFields method Len (line 47) | func (b byAllFields) Len() int { return len(b) } method Swap (line 48) | func (b byAllFields) Swap(i, j int) { b[i], b[j] = b[j], b[i] } method Less (line 49) | func (b byAllFields) Less(i, j int) bool { function SameEndpoint (line 72) | func SameEndpoint(a, b *endpoint.Endpoint) bool { function SameEndpoints (line 88) | func SameEndpoints(a, b []*endpoint.Endpoint) bool { function SameEndpointLabels (line 107) | func SameEndpointLabels(a, b []*endpoint.Endpoint) bool { function SamePlanChanges (line 126) | func SamePlanChanges(a, b map[string][]*endpoint.Endpoint) bool { function SameProviderSpecific (line 132) | func SameProviderSpecific(a, b endpoint.ProviderSpecific) bool { function NewTargetsFromAddr (line 141) | func NewTargetsFromAddr(targets []netip.Addr) endpoint.Targets { function GenerateTestEndpointsByType (line 154) | func GenerateTestEndpointsByType(typeCounts map[string]int) []*endpoint.... function GenerateTestEndpointsWithDistribution (line 174) | func GenerateTestEndpointsWithDistribution( function NewEndpointWithRef (line 235) | func NewEndpointWithRef(dns, target string, obj ctrlclient.Object, sourc... function AssertEndpointsHaveRefObject (line 242) | func AssertEndpointsHaveRefObject( function distributeByWeight (line 258) | func distributeByWeight(keys []string, weights map[string]int, n int) []... FILE: internal/testutils/endpoint_test.go function TestExampleSameEndpoints (line 34) | func TestExampleSameEndpoints(t *testing.T) { function makeEndpoint (line 94) | func makeEndpoint(DNSName string) *endpoint.Endpoint { // nolint: gocrit... function TestSameEndpoint (line 112) | func TestSameEndpoint(t *testing.T) { function TestSameEndpoints (line 224) | func TestSameEndpoints(t *testing.T) { function TestSameEndpointLabel (line 276) | func TestSameEndpointLabel(t *testing.T) { function TestSamePlanChanges (line 341) | func TestSamePlanChanges(t *testing.T) { function TestNewTargetsFromAddr (line 437) | func TestNewTargetsFromAddr(t *testing.T) { function TestWithLabel (line 482) | func TestWithLabel(t *testing.T) { function TestGenerateTestEndpointsWithDistribution (line 502) | func TestGenerateTestEndpointsWithDistribution(t *testing.T) { function TestFilterEndpointsByOwnerIDLogging (line 576) | func TestFilterEndpointsByOwnerIDLogging(t *testing.T) { FILE: internal/testutils/env.go function TestHelperEnvSetter (line 23) | func TestHelperEnvSetter(t *testing.T, envs map[string]string) { FILE: internal/testutils/helpers.go function ToPtr (line 25) | func ToPtr[T any](v T) *T { FILE: internal/testutils/helpers_test.go function TestStringPtr (line 25) | func TestStringPtr(t *testing.T) { function TestIsPointer (line 42) | func TestIsPointer(t *testing.T) { FILE: internal/testutils/init.go function init (line 29) | func init() { FILE: internal/testutils/log/log.go function LogsUnderTestWithLogLevel (line 38) | func LogsUnderTestWithLogLevel(level log.Level, t *testing.T) *test.Hook { function TestHelperLogContains (line 60) | func TestHelperLogContains(msg string, hook *test.Hook, t *testing.T) { function TestHelperLogNotContains (line 83) | func TestHelperLogNotContains(msg string, hook *test.Hook, t *testing.T) { function TestHelperLogContainsWithLogLevel (line 107) | func TestHelperLogContainsWithLogLevel(msg string, level log.Level, hook... function TestHelperWithLogExitFunc (line 120) | func TestHelperWithLogExitFunc(exitFunc func(int)) func() { FILE: internal/testutils/metrics.go function TestHelperVerifyMetricsGaugeVectorWithLabels (line 42) | func TestHelperVerifyMetricsGaugeVectorWithLabels(t *testing.T, expected... function TestHelperVerifyMetricsGaugeVectorWithLabelsFunc (line 48) | func TestHelperVerifyMetricsGaugeVectorWithLabelsFunc(t *testing.T, expe... function collectAll (line 60) | func collectAll(metric *prometheus.GaugeVec) []*dto.Metric { function sumMetricsWithLabels (line 79) | func sumMetricsWithLabels(metric *prometheus.GaugeVec, matchLabels map[s... function collectGaugeVecMetrics (line 106) | func collectGaugeVecMetrics(metric *prometheus.GaugeVec) string { FILE: internal/testutils/mock_source.go type MockSource (line 29) | type MockSource struct method Endpoints (line 44) | func (m *MockSource) Endpoints(_ context.Context) ([]*endpoint.Endpoin... method AddEventHandler (line 56) | func (m *MockSource) AddEventHandler(ctx context.Context, handler func... function NewMockSource (line 34) | func NewMockSource(endpoints ...*endpoint.Endpoint) *MockSource { FILE: main.go function main (line 25) | func main() { FILE: pkg/apis/externaldns/constants.go constant RegistryTXT (line 20) | RegistryTXT = "txt" constant RegistryNoop (line 21) | RegistryNoop = "noop" constant RegistryDynamoDB (line 22) | RegistryDynamoDB = "dynamodb" constant RegistryAWSSD (line 23) | RegistryAWSSD = "aws-sd" constant ProviderAkamai (line 25) | ProviderAkamai = "akamai" constant ProviderAlibabaCloud (line 26) | ProviderAlibabaCloud = "alibabacloud" constant ProviderAWS (line 27) | ProviderAWS = "aws" constant ProviderAWSSD (line 28) | ProviderAWSSD = "aws-sd" constant ProviderAzure (line 29) | ProviderAzure = "azure" constant ProviderAzureDNS (line 30) | ProviderAzureDNS = "azure-dns" constant ProviderAzurePrivate (line 31) | ProviderAzurePrivate = "azure-private-dns" constant ProviderCivo (line 32) | ProviderCivo = "civo" constant ProviderCloudflare (line 33) | ProviderCloudflare = "cloudflare" constant ProviderCoreDNS (line 34) | ProviderCoreDNS = "coredns" constant ProviderSkyDNS (line 35) | ProviderSkyDNS = "skydns" constant ProviderDNSimple (line 36) | ProviderDNSimple = "dnsimple" constant ProviderExoscale (line 37) | ProviderExoscale = "exoscale" constant ProviderGandi (line 38) | ProviderGandi = "gandi" constant ProviderGoDaddy (line 39) | ProviderGoDaddy = "godaddy" constant ProviderGoogle (line 40) | ProviderGoogle = "google" constant ProviderInMemory (line 41) | ProviderInMemory = "inmemory" constant ProviderLinode (line 42) | ProviderLinode = "linode" constant ProviderNS1 (line 43) | ProviderNS1 = "ns1" constant ProviderOCI (line 44) | ProviderOCI = "oci" constant ProviderOVH (line 45) | ProviderOVH = "ovh" constant ProviderPDNS (line 46) | ProviderPDNS = "pdns" constant ProviderPihole (line 47) | ProviderPihole = "pihole" constant ProviderPlural (line 48) | ProviderPlural = "plural" constant ProviderRFC2136 (line 49) | ProviderRFC2136 = "rfc2136" constant ProviderScaleway (line 50) | ProviderScaleway = "scaleway" constant ProviderTransip (line 51) | ProviderTransip = "transip" constant ProviderWebhook (line 52) | ProviderWebhook = "webhook" FILE: pkg/apis/externaldns/types.go constant passwordMask (line 38) | passwordMask = "******" type Config (line 42) | type Config struct method String (line 464) | func (cfg *Config) String() string { method ParseFlags (line 495) | func (cfg *Config) ParseFlags(args []string) error { function NewConfig (line 457) | func NewConfig() *Config { function allLogLevelsAsStrings (line 486) | func allLogLevelsAsStrings() []string { function bindFlags (line 502) | func bindFlags(b flags.FlagBinder, cfg *Config) { function App (line 719) | func App(cfg *Config) *kingpin.Application { FILE: pkg/apis/externaldns/types_test.go function TestParseFlags (line 257) | func TestParseFlags(t *testing.T) { function TestParseFlagsCobraExecuteError (line 568) | func TestParseFlagsCobraExecuteError(t *testing.T) { function TestParseFlagsKingpinParseError (line 574) | func TestParseFlagsKingpinParseError(t *testing.T) { function TestConfigStringMasksSecureFields (line 580) | func TestConfigStringMasksSecureFields(t *testing.T) { function TestParseFlagsDefaultKingpin (line 592) | func TestParseFlagsDefaultKingpin(t *testing.T) { function TestParseFlagsCobraSwitchParitySubset (line 623) | func TestParseFlagsCobraSwitchParitySubset(t *testing.T) { function TestParseFlagsCliFlagOverridesEnv (line 657) | func TestParseFlagsCliFlagOverridesEnv(t *testing.T) { function TestParseFlagsCliFlagSeparatedValue (line 674) | func TestParseFlagsCliFlagSeparatedValue(t *testing.T) { function TestPasswordsNotLogged (line 686) | func TestPasswordsNotLogged(t *testing.T) { function parseCfg (line 701) | func parseCfg(t *testing.T, extra ...string) *Config { function TestParseFlagsAlibabaCloud (line 709) | func TestParseFlagsAlibabaCloud(t *testing.T) { function TestParseFlagsPublishingAndFilters (line 719) | func TestParseFlagsPublishingAndFilters(t *testing.T) { function TestParseFlagsGateway (line 761) | func TestParseFlagsGateway(t *testing.T) { function TestParseFlagsAzure (line 773) | func TestParseFlagsAzure(t *testing.T) { function TestParseFlagsCloudflare (line 783) | func TestParseFlagsCloudflare(t *testing.T) { function TestParseFlagsNS1 (line 789) | func TestParseFlagsNS1(t *testing.T) { function TestParseFlagsOVH (line 795) | func TestParseFlagsOVH(t *testing.T) { function TestParseFlagsPihole (line 801) | func TestParseFlagsPihole(t *testing.T) { function TestParseFlagsOCI (line 813) | func TestParseFlagsOCI(t *testing.T) { function TestParseFlagsPlural (line 823) | func TestParseFlagsPlural(t *testing.T) { function TestParseFlagsProviderCacheAndDynamoDB (line 833) | func TestParseFlagsProviderCacheAndDynamoDB(t *testing.T) { function TestParseFlagsGoDaddy (line 843) | func TestParseFlagsGoDaddy(t *testing.T) { function TestParseFlagsRFC2136 (line 857) | func TestParseFlagsRFC2136(t *testing.T) { function TestParseFlagsTraefik (line 894) | func TestParseFlagsTraefik(t *testing.T) { function TestParseFlagsTXTRegistry (line 904) | func TestParseFlagsTXTRegistry(t *testing.T) { function TestParseFlagsWebhookProvider (line 918) | func TestParseFlagsWebhookProvider(t *testing.T) { function TestParseFlagsMiscListeners (line 932) | func TestParseFlagsMiscListeners(t *testing.T) { function runWithKingpin (line 939) | func runWithKingpin(t *testing.T, args []string) *Config { function TestBinderParityRepeatable (line 951) | func TestBinderParityRepeatable(t *testing.T) { function TestBinderParityMapAndRegexp (line 957) | func TestBinderParityMapAndRegexp(t *testing.T) { function TestBinderEnumValidationDifference (line 967) | func TestBinderEnumValidationDifference(t *testing.T) { FILE: pkg/apis/externaldns/validation/validation.go function ValidateConfig (line 30) | func ValidateConfig(cfg *externaldns.Config) error { function preValidateConfig (line 64) | func preValidateConfig(cfg *externaldns.Config) error { function validateConfigForProvider (line 77) | func validateConfigForProvider(cfg *externaldns.Config) error { function validateConfigForAzure (line 90) | func validateConfigForAzure(cfg *externaldns.Config) error { function validateConfigForAkamai (line 97) | func validateConfigForAkamai(cfg *externaldns.Config) error { function validateConfigForRfc2136 (line 113) | func validateConfigForRfc2136(cfg *externaldns.Config) error { FILE: pkg/apis/externaldns/validation/validation_test.go function TestValidateFlags (line 28) | func TestValidateFlags(t *testing.T) { function newValidConfig (line 93) | func newValidConfig(t *testing.T) *externaldns.Config { function TestValidateBadIgnoreHostnameAnnotationsConfig (line 105) | func TestValidateBadIgnoreHostnameAnnotationsConfig(t *testing.T) { function TestValidateBadRfc2136Config (line 113) | func TestValidateBadRfc2136Config(t *testing.T) { function TestValidateBadRfc2136Batch (line 128) | func TestValidateBadRfc2136Batch(t *testing.T) { function TestValidateGoodRfc2136Config (line 142) | func TestValidateGoodRfc2136Config(t *testing.T) { function TestValidateBadRfc2136GssTsigConfig (line 156) | func TestValidateBadRfc2136GssTsigConfig(t *testing.T) { function TestValidateGoodRfc2136GssTsigConfig (line 253) | func TestValidateGoodRfc2136GssTsigConfig(t *testing.T) { function TestValidateBadAkamaiConfig (line 277) | func TestValidateBadAkamaiConfig(t *testing.T) { function TestValidateGoodAkamaiConfig (line 331) | func TestValidateGoodAkamaiConfig(t *testing.T) { function TestValidateBadAzureConfig (line 359) | func TestValidateBadAzureConfig(t *testing.T) { function TestValidateGoodAzureConfig (line 373) | func TestValidateGoodAzureConfig(t *testing.T) { FILE: pkg/apis/externaldns/version.go constant bannerTemplate (line 25) | bannerTemplate = `GitCommitShort=%s, GoVersion=%s, Platform=%s, UserAgen... function UserAgent (line 35) | func UserAgent() string { function Banner (line 39) | func Banner() string { FILE: pkg/apis/externaldns/version_test.go function TestBanner (line 25) | func TestBanner(t *testing.T) { FILE: pkg/client/config.go function GetRestConfig (line 41) | func GetRestConfig(kubeConfig, apiServerURL string) (*rest.Config, error) { function InstrumentedRESTConfig (line 76) | func InstrumentedRESTConfig(kubeConfig, apiServerURL string, requestTime... function NewKubeClient (line 91) | func NewKubeClient(kubeConfig, apiServerURL string, requestTimeout time.... FILE: pkg/client/config_test.go function TestGetRestConfig_WithKubeConfig (line 33) | func TestGetRestConfig_WithKubeConfig(t *testing.T) { function TestInstrumentedRESTConfig_AddsMetrics (line 68) | func TestInstrumentedRESTConfig_AddsMetrics(t *testing.T) { function TestGetRestConfig_RecommendedHomeFile (line 106) | func TestGetRestConfig_RecommendedHomeFile(t *testing.T) { FILE: pkg/events/controller.go constant workers (line 35) | workers = 1 constant controllerName (line 36) | controllerName = "external-dns" constant maxTriesPerEvent (line 37) | maxTriesPerEvent = 3 constant maxQueuedEvents (line 38) | maxQueuedEvents = 100 type EventEmitter (line 41) | type EventEmitter interface type Controller (line 45) | type Controller struct method Run (line 70) | func (ec *Controller) Run(ctx context.Context) { method run (line 77) | func (ec *Controller) run(ctx context.Context) { method processNextWorkItem (line 93) | func (ec *Controller) processNextWorkItem(ctx context.Context) bool { method Add (line 123) | func (ec *Controller) Add(events ...Event) { method emit (line 137) | func (ec *Controller) emit(event *eventsv1.Event) { function NewEventController (line 54) | func NewEventController(client v1.EventsV1Interface, cfg *Config) (*Cont... FILE: pkg/events/controller_test.go function TestNewEventController_Success (line 45) | func TestNewEventController_Success(t *testing.T) { function TestController_Run_NoEmitEvents (line 89) | func TestController_Run_NoEmitEvents(t *testing.T) { function TestController_Run_EmitEvents (line 101) | func TestController_Run_EmitEvents(t *testing.T) { function TestController_Queue_EmitEvents (line 147) | func TestController_Queue_EmitEvents(t *testing.T) { function TestController_ProcessNextWorkItem_RequeuesOnError (line 186) | func TestController_ProcessNextWorkItem_RequeuesOnError(t *testing.T) { FILE: pkg/events/fake/fake.go type EventEmitter (line 25) | type EventEmitter struct method Add (line 29) | func (m *EventEmitter) Add(events ...events.Event) { function NewFakeEventEmitter (line 33) | func NewFakeEventEmitter() *EventEmitter { FILE: pkg/events/fake/fake_test.go function TestNewFakeEventEmitter (line 28) | func TestNewFakeEventEmitter(t *testing.T) { function TestEventEmitter_Add_SingleEvent (line 35) | func TestEventEmitter_Add_SingleEvent(t *testing.T) { function TestEventEmitter_Add_MultipleEvents (line 45) | func TestEventEmitter_Add_MultipleEvents(t *testing.T) { function TestEventEmitter_Add_WithDifferentEventTypes (line 57) | func TestEventEmitter_Add_WithDifferentEventTypes(t *testing.T) { function TestEventEmitter_Add_VerifyMockCalled (line 97) | func TestEventEmitter_Add_VerifyMockCalled(t *testing.T) { function TestEventEmitter_Add_VerifyMockCalledWithAnyEvent (line 109) | func TestEventEmitter_Add_VerifyMockCalledWithAnyEvent(t *testing.T) { function TestEventEmitter_Add_EmptyEventsPanics (line 120) | func TestEventEmitter_Add_EmptyEventsPanics(t *testing.T) { FILE: pkg/events/types.go constant ActionCreate (line 39) | ActionCreate Action = "Created" constant ActionUpdate (line 40) | ActionUpdate Action = "Updated" constant ActionDelete (line 41) | ActionDelete Action = "Deleted" constant ActionFailed (line 42) | ActionFailed Action = "FailedSync" constant RecordReady (line 43) | RecordReady Reason = "RecordReady" constant RecordDeleted (line 44) | RecordDeleted Reason = "RecordDeleted" constant RecordError (line 45) | RecordError Reason = "RecordError" constant EventTypeNormal (line 47) | EventTypeNormal EventType = EventType(apiv1.EventTypeNormal) constant EventTypeWarning (line 48) | EventTypeWarning EventType = EventType(apiv1.EventTypeWarning) type Action (line 59) | type Action type Reason (line 61) | type Reason type EventType (line 63) | type EventType type ConfigOption (line 64) | type ConfigOption type Event (line 66) | type Event struct method description (line 150) | func (e *Event) description() string { method Action (line 154) | func (e *Event) Action() Action { method Reason (line 158) | func (e *Event) Reason() Reason { method EventType (line 162) | func (e *Event) EventType() EventType { method event (line 166) | func (e *Event) event() *eventsv1.Event { type ObjectReference (line 77) | type ObjectReference struct method objectRef (line 261) | func (r *ObjectReference) objectRef() *apiv1.ObjectReference { type Config (line 86) | type Config struct method IsEnabled (line 257) | func (c *Config) IsEnabled() bool { type EndpointInfo (line 92) | type EndpointInfo interface function NewObjectReference (line 102) | func NewObjectReference(obj runtime.Object, source string) *ObjectRefere... function NewEvent (line 125) | func NewEvent(obj *ObjectReference, msg string, a Action, r Reason) Event { function NewEventFromEndpoint (line 140) | func NewEventFromEndpoint(ep EndpointInfo, a Action, r Reason) Event { function sanitize (line 208) | func sanitize(input string) string { function WithDryRun (line 230) | func WithDryRun(dryRun bool) ConfigOption { function WithEmitEvents (line 236) | func WithEmitEvents(events []string) ConfigOption { function NewConfig (line 249) | func NewConfig(opts ...ConfigOption) *Config { FILE: pkg/events/types_test.go function TestNewObjectReference_DoesNotMutateObject (line 33) | func TestNewObjectReference_DoesNotMutateObject(t *testing.T) { function TestSanitize (line 48) | func TestSanitize(t *testing.T) { function TestEvent_Reference (line 72) | func TestEvent_Reference(t *testing.T) { function TestEvent_NewEvents (line 97) | func TestEvent_NewEvents(t *testing.T) { function TestEvent_Transpose (line 158) | func TestEvent_Transpose(t *testing.T) { function TestWithEmitEvents (line 185) | func TestWithEmitEvents(t *testing.T) { type mockEndpointInfo (line 241) | type mockEndpointInfo struct method GetDNSName (line 250) | func (m *mockEndpointInfo) GetDNSName() string { return m.dns... method GetRecordType (line 251) | func (m *mockEndpointInfo) GetRecordType() string { return m.rec... method GetRecordTTL (line 252) | func (m *mockEndpointInfo) GetRecordTTL() int64 { return m.rec... method GetTargets (line 253) | func (m *mockEndpointInfo) GetTargets() []string { return m.tar... method GetOwner (line 254) | func (m *mockEndpointInfo) GetOwner() string { return m.own... method RefObject (line 255) | func (m *mockEndpointInfo) RefObject() *ObjectReference { return m.ref... function TestNewEventFromEndpoint (line 257) | func TestNewEventFromEndpoint(t *testing.T) { function TestNewObjectReference (line 383) | func TestNewObjectReference(t *testing.T) { type customObject (line 504) | type customObject struct method DeepCopyObject (line 509) | func (c *customObject) DeepCopyObject() runtime.Object { function TestNewObjectReference_ReflectionFallback (line 516) | func TestNewObjectReference_ReflectionFallback(t *testing.T) { FILE: pkg/http/drain.go constant drainMaxBytes (line 30) | drainMaxBytes = 1 << 20 function DrainAndClose (line 38) | func DrainAndClose(body io.ReadCloser) { FILE: pkg/http/drain_test.go type trackingReadCloser (line 28) | type trackingReadCloser struct method Close (line 33) | func (t *trackingReadCloser) Close() error { function TestDrainAndClose_DrainsThenCloses (line 38) | func TestDrainAndClose_DrainsThenCloses(t *testing.T) { function TestDrainAndClose_EmptyBody (line 49) | func TestDrainAndClose_EmptyBody(t *testing.T) { function TestDrainAndClose_OversizedBody (line 55) | func TestDrainAndClose_OversizedBody(t *testing.T) { FILE: pkg/http/http.go function init (line 44) | func init() { type CustomRoundTripper (line 48) | type CustomRoundTripper struct method CancelRequest (line 54) | func (r *CustomRoundTripper) CancelRequest(_ *http.Request) { method RoundTrip (line 57) | func (r *CustomRoundTripper) RoundTrip(req *http.Request) (*http.Respo... function NewInstrumentedClient (line 77) | func NewInstrumentedClient(next *http.Client) *http.Client { function NewInstrumentedTransport (line 87) | func NewInstrumentedTransport(next http.RoundTripper) http.RoundTripper { FILE: pkg/http/http_benchmark_test.go type roundTripFunc (line 30) | type roundTripFunc method RoundTrip (line 32) | func (f roundTripFunc) RoundTrip(req *http.Request) (*http.Response, e... function newTestClient (line 37) | func newTestClient(fn roundTripFunc) *http.Client { type apiUnderTest (line 43) | type apiUnderTest struct method doStuff (line 48) | func (api *apiUnderTest) doStuff() ([]byte, error) { function BenchmarkRoundTripper (line 57) | func BenchmarkRoundTripper(b *testing.B) { function TestRoundTripper_Concurrent (line 74) | func TestRoundTripper_Concurrent(t *testing.T) { FILE: pkg/http/http_test.go type dummyTransport (line 30) | type dummyTransport struct method RoundTrip (line 32) | func (d *dummyTransport) RoundTrip(_ *http.Request) (*http.Response, e... function TestNewInstrumentedTransport (line 36) | func TestNewInstrumentedTransport(t *testing.T) { function TestNewInstrumentedClient (line 50) | func TestNewInstrumentedClient(t *testing.T) { function TestCancelRequest (line 64) | func TestCancelRequest(t *testing.T) { type mockRoundTripper (line 82) | type mockRoundTripper struct method RoundTrip (line 87) | func (mrt mockRoundTripper) RoundTrip(*http.Request) (*http.Response, ... function TestRoundTrip (line 91) | func TestRoundTrip(t *testing.T) { FILE: pkg/metrics/labels.go constant LabelScheme (line 24) | LabelScheme = "scheme" constant LabelHost (line 25) | LabelHost = "host" constant LabelPath (line 26) | LabelPath = "path" constant LabelMethod (line 27) | LabelMethod = "method" constant LabelStatus (line 28) | LabelStatus = "status" FILE: pkg/metrics/metrics.go constant Namespace (line 30) | Namespace = "external_dns" function init (line 37) | func init() { function NewMetricsRegister (line 55) | func NewMetricsRegister() *MetricRegistry { method MustRegister (line 74) | func (m *MetricRegistry) MustRegister(cs IMetric) { FILE: pkg/metrics/metrics_test.go type MockMetric (line 29) | type MockMetric struct method Get (line 33) | func (m *MockMetric) Get() *Metric { function TestMustRegister (line 37) | func TestMustRegister(t *testing.T) { function TestUnsupportedMetricWarning (line 97) | func TestUnsupportedMetricWarning(t *testing.T) { function TestNewMetricsRegister (line 107) | func TestNewMetricsRegister(t *testing.T) { FILE: pkg/metrics/models.go type MetricRegistry (line 26) | type MetricRegistry struct type Metric (line 32) | type Metric struct type IMetric (line 41) | type IMetric interface type GaugeMetric (line 45) | type GaugeMetric struct method Get (line 50) | func (g GaugeMetric) Get() *Metric { type CounterMetric (line 54) | type CounterMetric struct method Get (line 59) | func (g CounterMetric) Get() *Metric { type CounterVecMetric (line 63) | type CounterVecMetric struct method Get (line 68) | func (g CounterVecMetric) Get() *Metric { type GaugeVecMetric (line 72) | type GaugeVecMetric struct method Get (line 77) | func (g GaugeVecMetric) Get() *Metric { method SetWithLabels (line 83) | func (g GaugeVecMetric) SetWithLabels(value float64, lvs ...string) { method AddWithLabels (line 92) | func (g GaugeVecMetric) AddWithLabels(value float64, lvs ...string) { function NewGaugeWithOpts (line 96) | func NewGaugeWithOpts(opts prometheus.GaugeOpts) GaugeMetric { function NewGaugedVectorOpts (line 113) | func NewGaugedVectorOpts(opts prometheus.GaugeOpts, labelNames []string)... function NewCounterWithOpts (line 128) | func NewCounterWithOpts(opts prometheus.CounterOpts) CounterMetric { function NewCounterVecWithOpts (line 143) | func NewCounterVecWithOpts(opts prometheus.CounterOpts, labelNames []str... type GaugeFuncMetric (line 158) | type GaugeFuncMetric struct method Get (line 163) | func (g GaugeFuncMetric) Get() *Metric { function NewGaugeFuncMetric (line 167) | func NewGaugeFuncMetric(opts prometheus.GaugeOpts) GaugeFuncMetric { type SummaryVecMetric (line 186) | type SummaryVecMetric struct method Get (line 191) | func (s SummaryVecMetric) Get() *Metric { method SetWithLabels (line 195) | func (s SummaryVecMetric) SetWithLabels(value float64, labels promethe... function NewSummaryVecWithOpts (line 199) | func NewSummaryVecWithOpts(opts prometheus.SummaryOpts, labels []string)... function PathProcessor (line 214) | func PathProcessor(path string) string { function toLower (line 222) | func toLower(lvs []string) []string { FILE: pkg/metrics/models_test.go function TestNewGaugeWithOpts (line 30) | func TestNewGaugeWithOpts(t *testing.T) { function TestNewCounterWithOpts (line 48) | func TestNewCounterWithOpts(t *testing.T) { function TestNewCounterVecWithOpts (line 66) | func TestNewCounterVecWithOpts(t *testing.T) { function TestGaugeV_SetWithLabels (line 87) | func TestGaugeV_SetWithLabels(t *testing.T) { function TestNewGaugeFuncMetric (line 117) | func TestNewGaugeFuncMetric(t *testing.T) { function TestSummaryV_SetWithLabels (line 188) | func TestSummaryV_SetWithLabels(t *testing.T) { function TestPathProcessor (line 223) | func TestPathProcessor(t *testing.T) { function TestGaugeV_AddWithLabels (line 245) | func TestGaugeV_AddWithLabels(t *testing.T) { FILE: pkg/rfc2317/arpa.go function CidrToInAddr (line 30) | func CidrToInAddr(cidr string) (string, error) { function reverseaddr (line 101) | func reverseaddr(addr string) (string, error) { constant hexDigit (line 124) | hexDigit = "0123456789abcdef" function Uitoa (line 126) | func Uitoa(val uint) string { FILE: pkg/rfc2317/arpa_test.go function TestCidrToInAddr (line 24) | func TestCidrToInAddr(t *testing.T) { FILE: pkg/tlsutils/tlsconfig.go constant defaultMinVersion (line 30) | defaultMinVersion = tls.VersionTLS12 function CreateTLSConfig (line 34) | func CreateTLSConfig(prefix string) (*tls.Config, error) { function NewTLSConfig (line 45) | func NewTLSConfig(certPath, keyPath, caPath, serverName string, insecure... function loadRoots (line 78) | func loadRoots(caPath string) (*x509.CertPool, error) { FILE: pkg/tlsutils/tlsconfig_test.go function testingKey (line 57) | func testingKey(s string) string { return strings.ReplaceAll(s, "TESTING... function writeTempFile (line 59) | func writeTempFile(t *testing.T, dir, name, content, envKey string) { function TestCreateTLSConfig (line 66) | func TestCreateTLSConfig(t *testing.T) { FILE: plan/conflict.go type ConflictResolver (line 29) | type ConflictResolver interface type PerResource (line 36) | type PerResource struct method ResolveCreate (line 40) | func (s PerResource) ResolveCreate(candidates []*endpoint.Endpoint) *e... method ResolveUpdate (line 47) | func (s PerResource) ResolveUpdate(current *endpoint.Endpoint, candida... method ResolveRecordTypes (line 65) | func (s PerResource) ResolveRecordTypes(key planKey, row *planTableRow... function compareEndpoints (line 103) | func compareEndpoints(a, b *endpoint.Endpoint) int { FILE: plan/conflict_test.go type ResolverSuite (line 33) | type ResolverSuite struct method SetupTest (line 49) | func (suite *ResolverSuite) SetupTest() { method TestStrictResolver (line 123) | func (suite *ResolverSuite) TestStrictResolver() { method TestPerResource_ResolveRecordTypes (line 149) | func (suite *ResolverSuite) TestPerResource_ResolveRecordTypes() { function TestPerResource_ResolveRecordTypes_LogsWarning (line 299) | func TestPerResource_ResolveRecordTypes_LogsWarning(t *testing.T) { function TestConflictResolver (line 367) | func TestConflictResolver(t *testing.T) { FILE: plan/metrics.go function init (line 41) | func init() { function recordOwnerMismatch (line 49) | func recordOwnerMismatch(owner string, current *endpoint.Endpoint) { FILE: plan/metrics_test.go function TestOwnerMismatchMetric (line 31) | func TestOwnerMismatchMetric(t *testing.T) { function TestCalculateOwnerMismatchDetection (line 75) | func TestCalculateOwnerMismatchDetection(t *testing.T) { function TestOwnerMismatchMetricDistribution (line 107) | func TestOwnerMismatchMetricDistribution(t *testing.T) { function BenchmarkOwnerMismatchMetricDistribution (line 123) | func BenchmarkOwnerMismatchMetricDistribution(b *testing.B) { function newOwnerMismatchFixture (line 131) | func newOwnerMismatchFixture(scale ...int) *Plan { function TestFlushOwnerMismatch (line 170) | func TestFlushOwnerMismatch(t *testing.T) { FILE: plan/plan.go type Plan (line 32) | type Plan struct method Calculate (line 166) | func (p *Plan) Calculate() *Plan { method calculateChanges (line 201) | func (p *Plan) calculateChanges(t planTable) *Changes { method appendTakenDNSNameChanges (line 240) | func (p *Plan) appendTakenDNSNameChanges( method calculatePlanTableRowChanges (line 273) | func (p *Plan) calculatePlanTableRowChanges(t planTable, key planKey, ... method appendEndpointUpdates (line 300) | func (p *Plan) appendEndpointUpdates(t planTable, changes *Changes, cu... method isOldOwnerIDSetAndDifferent (line 311) | func (p *Plan) isOldOwnerIDSetAndDifferent(current *endpoint.Endpoint)... method providerSpecificChanged (line 336) | func (p *Plan) providerSpecificChanged(desired, current *endpoint.Endp... type Changes (line 57) | type Changes struct method HasChanges (line 156) | func (c *Changes) HasChanges() bool { type planKey (line 69) | type planKey struct type planTable (line 92) | type planTable struct method addCurrent (line 124) | func (t *planTable) addCurrent(e *endpoint.Endpoint) { method addCandidate (line 130) | func (t *planTable) addCandidate(e *endpoint.Endpoint) { method newPlanKey (line 137) | func (t *planTable) newPlanKey(e *endpoint.Endpoint) planKey { function newPlanTable (line 97) | func newPlanTable() planTable { // TODO: make resolver configurable type planTableRow (line 102) | type planTableRow struct type domainEndpoints (line 117) | type domainEndpoints struct function inheritOwner (line 315) | func inheritOwner(from, to *endpoint.Endpoint) { function targetChanged (line 325) | func targetChanged(desired, current *endpoint.Endpoint) bool { function shouldUpdateTTL (line 329) | func shouldUpdateTTL(desired, current *endpoint.Endpoint) bool { function filterRecordsForPlan (line 363) | func filterRecordsForPlan(records []*endpoint.Endpoint, domainFilter end... function IsManagedRecord (line 380) | func IsManagedRecord(record string, managedRecords, excludeRecords []str... FILE: plan/plan_test.go type PlanTestSuite (line 35) | type PlanTestSuite struct method SetupTest (line 62) | func (suite *PlanTestSuite) SetupTest() { method TestSyncFirstRound (line 296) | func (suite *PlanTestSuite) TestSyncFirstRound() { method TestSyncSecondRound (line 318) | func (suite *PlanTestSuite) TestSyncSecondRound() { method TestSyncSecondRoundMigration (line 340) | func (suite *PlanTestSuite) TestSyncSecondRoundMigration() { method TestSyncSecondRoundWithTTLChange (line 362) | func (suite *PlanTestSuite) TestSyncSecondRoundWithTTLChange() { method TestSyncSecondRoundWithProviderSpecificChange (line 384) | func (suite *PlanTestSuite) TestSyncSecondRoundWithProviderSpecificCha... method TestSyncSecondRoundWithProviderSpecificNoChange (line 406) | func (suite *PlanTestSuite) TestSyncSecondRoundWithProviderSpecificNoC... method TestHasChangesCreate (line 421) | func (suite *PlanTestSuite) TestHasChangesCreate() { method TestHasChangesDelete (line 428) | func (suite *PlanTestSuite) TestHasChangesDelete() { method TestHasChanges (line 435) | func (suite *PlanTestSuite) TestHasChanges() { method TestSyncSecondRoundWithProviderSpecificRemoval (line 450) | func (suite *PlanTestSuite) TestSyncSecondRoundWithProviderSpecificRem... method TestSyncSecondRoundWithProviderSpecificAddition (line 472) | func (suite *PlanTestSuite) TestSyncSecondRoundWithProviderSpecificAdd... method TestSyncSecondRoundWithOwnerInherited (line 494) | func (suite *PlanTestSuite) TestSyncSecondRoundWithOwnerInherited() { method TestIdempotency (line 526) | func (suite *PlanTestSuite) TestIdempotency() { method TestRecordTypeChange (line 547) | func (suite *PlanTestSuite) TestRecordTypeChange() { method TestExistingCNameWithDualStackDesired (line 570) | func (suite *PlanTestSuite) TestExistingCNameWithDualStackDesired() { method TestExistingDualStackWithCNameDesired (line 593) | func (suite *PlanTestSuite) TestExistingDualStackWithCNameDesired() { method TestExistingOwnerNotMatchingDualStackDesired (line 622) | func (suite *PlanTestSuite) TestExistingOwnerNotMatchingDualStackDesir... method TestConflictingCurrentNonConflictingDesired (line 650) | func (suite *PlanTestSuite) TestConflictingCurrentNonConflictingDesire... method TestConflictingCurrentNoDesired (line 678) | func (suite *PlanTestSuite) TestConflictingCurrentNoDesired() { method TestCurrentWithConflictingDesired (line 705) | func (suite *PlanTestSuite) TestCurrentWithConflictingDesired() { method TestNoCurrentWithConflictingDesired (line 732) | func (suite *PlanTestSuite) TestNoCurrentWithConflictingDesired() { method TestIgnoreTXT (line 754) | func (suite *PlanTestSuite) TestIgnoreTXT() { method TestExcludeTXT (line 776) | func (suite *PlanTestSuite) TestExcludeTXT() { method TestIgnoreTargetCase (line 799) | func (suite *PlanTestSuite) TestIgnoreTargetCase() { method TestRemoveEndpoint (line 820) | func (suite *PlanTestSuite) TestRemoveEndpoint() { method TestRemoveEndpointWithUpsert (line 842) | func (suite *PlanTestSuite) TestRemoveEndpointWithUpsert() { method TestMultipleRecordsSameNameDifferentSetIdentifier (line 864) | func (suite *PlanTestSuite) TestMultipleRecordsSameNameDifferentSetIde... method TestSetIdentifierUpdateCreatesAndDeletes (line 886) | func (suite *PlanTestSuite) TestSetIdentifierUpdateCreatesAndDeletes() { method TestDomainFiltersInitial (line 908) | func (suite *PlanTestSuite) TestDomainFiltersInitial() { method TestDomainFiltersUpdate (line 932) | func (suite *PlanTestSuite) TestDomainFiltersUpdate() { method TestAAAARecords (line 956) | func (suite *PlanTestSuite) TestAAAARecords() { method TestDualStackRecords (line 976) | func (suite *PlanTestSuite) TestDualStackRecords() { method TestDualStackRecordsDelete (line 996) | func (suite *PlanTestSuite) TestDualStackRecordsDelete() { method TestDualStackToSingleStack (line 1016) | func (suite *PlanTestSuite) TestDualStackToSingleStack() { method TestRecordOwnerIdMigration (line 1036) | func (suite *PlanTestSuite) TestRecordOwnerIdMigration() { function TestPlan_ChangesJson_DecodeEncode (line 254) | func TestPlan_ChangesJson_DecodeEncode(t *testing.T) { function TestPlan_ChangesJson_DecodeMixedCase (line 288) | func TestPlan_ChangesJson_DecodeMixedCase(t *testing.T) { function TestPlan (line 1062) | func TestPlan(t *testing.T) { function validateEntries (line 1067) | func validateEntries(t *testing.T, entries, expected []*endpoint.Endpoin... function TestShouldUpdateProviderSpecific (line 1073) | func TestShouldUpdateProviderSpecific(tt *testing.T) { function TestOwnerMismatchLogsDebug (line 1151) | func TestOwnerMismatchLogsDebug(t *testing.T) { FILE: plan/policy.go type Policy (line 20) | type Policy interface type SyncPolicy (line 32) | type SyncPolicy struct method Apply (line 35) | func (p *SyncPolicy) Apply(changes *Changes) *Changes { type UpsertOnlyPolicy (line 40) | type UpsertOnlyPolicy struct method Apply (line 43) | func (p *UpsertOnlyPolicy) Apply(changes *Changes) *Changes { type CreateOnlyPolicy (line 52) | type CreateOnlyPolicy struct method Apply (line 55) | func (p *CreateOnlyPolicy) Apply(changes *Changes) *Changes { FILE: plan/policy_test.go function TestApply (line 27) | func TestApply(t *testing.T) { function TestPolicies (line 74) | func TestPolicies(t *testing.T) { function validatePolicy (line 81) | func validatePolicy(t *testing.T, policy, expected Policy) { FILE: provider/akamai/akamai.go constant defaultTTL (line 40) | defaultTTL = 600 constant maxUint (line 41) | maxUint = ^uint(0) constant maxInt (line 42) | maxInt = int(maxUint >> 1) type AkamaiDNSService (line 46) | type AkamaiDNSService interface type AkamaiConfig (line 55) | type AkamaiConfig struct type AkamaiProvider (line 70) | type AkamaiProvider struct method ListZones (line 174) | func (p AkamaiProvider) ListZones(queryArgs dns.ZoneListQueryArgs) (*d... method GetRecordsets (line 178) | func (p AkamaiProvider) GetRecordsets(zone string, queryArgs dns.Recor... method CreateRecordsets (line 182) | func (p AkamaiProvider) CreateRecordsets(recordsets *dns.Recordsets, z... method GetRecord (line 186) | func (p AkamaiProvider) GetRecord(zone string, name string, recordtype... method DeleteRecord (line 190) | func (p AkamaiProvider) DeleteRecord(record *dns.RecordBody, zone stri... method UpdateRecord (line 194) | func (p AkamaiProvider) UpdateRecord(record *dns.RecordBody, zone stri... method fetchZones (line 199) | func (p AkamaiProvider) fetchZones() (akamaiZones, error) { method Records (line 229) | func (p AkamaiProvider) Records(context.Context) ([]*endpoint.Endpoint... method ApplyChanges (line 276) | func (p AkamaiProvider) ApplyChanges(_ context.Context, changes *plan.... method createRecordsets (line 384) | func (p AkamaiProvider) createRecordsets(zoneNameIDMapper provider.Zon... method deleteRecordsets (line 425) | func (p AkamaiProvider) deleteRecordsets(zoneNameIDMapper provider.Zon... method updateNewRecordsets (line 458) | func (p AkamaiProvider) updateNewRecordsets(zoneNameIDMapper provider.... type akamaiZones (line 83) | type akamaiZones struct type akamaiZone (line 87) | type akamaiZone struct function New (line 93) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 109) | func newProvider(akamaiConfig AkamaiConfig, akaService AkamaiDNSService)... function newAkamaiRecordset (line 324) | func newAkamaiRecordset(dnsName, recordType string, ttl int, targets []s... function cleanTargets (line 334) | func cleanTargets(rtype string, targets ...string) []string { function trimTxtRdata (line 359) | func trimTxtRdata(rdata []string, rtype string) []string { function ttlAsInt (line 372) | func ttlAsInt(src endpoint.TTL) int { function edgeChangesByZone (line 489) | func edgeChangesByZone(zoneMap provider.ZoneIDName, endpoints []*endpoin... FILE: provider/akamai/akamai_test.go type edgednsStubData (line 34) | type edgednsStubData struct type edgednsStub (line 39) | type edgednsStub struct method createStubDataEntry (line 64) | func (r *edgednsStub) createStubDataEntry(objtype string) { method setOutput (line 73) | func (r *edgednsStub) setOutput(objtype string, output []any) { method ListZones (line 83) | func (r *edgednsStub) ListZones(_ dns.ZoneListQueryArgs) (*dns.ZoneLis... method GetRecordsets (line 98) | func (r *edgednsStub) GetRecordsets(_ string, _ dns.RecordsetQueryArgs... method CreateRecordsets (line 112) | func (r *edgednsStub) CreateRecordsets(_ *dns.Recordsets, _ string, _ ... method GetRecord (line 116) | func (r *edgednsStub) GetRecord(_ string, _ string, _ string) (*dns.Re... method DeleteRecord (line 122) | func (r *edgednsStub) DeleteRecord(_ *dns.RecordBody, _ string, _ bool... method UpdateRecord (line 126) | func (r *edgednsStub) UpdateRecord(_ *dns.RecordBody, _ string, _ bool... function newStub (line 43) | func newStub() *edgednsStub { function createAkamaiStubProvider (line 49) | func createAkamaiStubProvider(stub *edgednsStub, domfilter *endpoint.Dom... function TestFetchZonesZoneIDFilter (line 131) | func TestFetchZonesZoneIDFilter(t *testing.T) { function TestFetchZonesEmpty (line 147) | func TestFetchZonesEmpty(t *testing.T) { function TestAkamaiRecords (line 164) | func TestAkamaiRecords(t *testing.T) { function TestAkamaiRecordsEmpty (line 199) | func TestAkamaiRecordsEmpty(t *testing.T) { function TestAkamaiRecordsFilters (line 213) | func TestAkamaiRecordsFilters(t *testing.T) { function TestCreateRecords (line 243) | func TestCreateRecords(t *testing.T) { function TestCreateRecordsDomainFilter (line 259) | func TestCreateRecordsDomainFilter(t *testing.T) { function TestDeleteRecords (line 278) | func TestDeleteRecords(t *testing.T) { function TestDeleteRecordsDomainFilter (line 294) | func TestDeleteRecordsDomainFilter(t *testing.T) { function TestUpdateRecords (line 313) | func TestUpdateRecords(t *testing.T) { function TestUpdateRecordsDomainFilter (line 329) | func TestUpdateRecordsDomainFilter(t *testing.T) { function TestAkamaiApplyChanges (line 347) | func TestAkamaiApplyChanges(t *testing.T) { FILE: provider/alibabacloud/alibaba_cloud.go constant defaultTTL (line 44) | defaultTTL = 600 constant defaultAlibabaCloudPrivateZoneRecordTTL (line 45) | defaultAlibabaCloudPrivateZoneRecordTTL = 60 constant defaultAlibabaCloudPageSize (line 46) | defaultAlibabaCloudPageSize = 50 constant nullHostAlibabaCloud (line 47) | nullHostAlibabaCloud = "@" constant pVTZDoamin (line 48) | pVTZDoamin = "pvtz.aliyuncs.com" constant defaultAlibabaCloudRequestScheme (line 49) | defaultAlibabaCloudRequestScheme = "https" type AlibabaCloudDNSAPI (line 54) | type AlibabaCloudDNSAPI interface type AlibabaCloudPrivateZoneAPI (line 64) | type AlibabaCloudPrivateZoneAPI interface type AlibabaCloudProvider (line 74) | type AlibabaCloudProvider struct method getDNSClient (line 219) | func (p *AlibabaCloudProvider) getDNSClient() AlibabaCloudDNSAPI { method getPvtzClient (line 225) | func (p *AlibabaCloudProvider) getPvtzClient() AlibabaCloudPrivateZone... method setNextExpire (line 231) | func (p *AlibabaCloudProvider) setNextExpire(expireTime time.Time) { method refreshStsToken (line 237) | func (p *AlibabaCloudProvider) refreshStsToken(sleepTime time.Duration) { method Records (line 295) | func (p *AlibabaCloudProvider) Records(_ context.Context) ([]*endpoint... method ApplyChanges (line 306) | func (p *AlibabaCloudProvider) ApplyChanges(_ context.Context, changes... method getDNSName (line 318) | func (p *AlibabaCloudProvider) getDNSName(rr, domain string) string { method recordsForDNS (line 328) | func (p *AlibabaCloudProvider) recordsForDNS() ([]*endpoint.Endpoint, ... method getRecordKey (line 360) | func (p *AlibabaCloudProvider) getRecordKey(record alidns.Record) stri... method getRecordKeyByEndpoint (line 367) | func (p *AlibabaCloudProvider) getRecordKeyByEndpoint(endpoint *endpoi... method groupRecords (line 371) | func (p *AlibabaCloudProvider) groupRecords(records []alidns.Record) m... method records (line 382) | func (p *AlibabaCloudProvider) records() ([]alidns.Record, error) { method getDomainList (line 412) | func (p *AlibabaCloudProvider) getDomainList() ([]string, error) { method getDomainRecords (line 437) | func (p *AlibabaCloudProvider) getDomainRecords(domainName string) ([]... method applyChangesForDNS (line 475) | func (p *AlibabaCloudProvider) applyChangesForDNS(changes *plan.Change... method escapeTXTRecordValue (line 496) | func (p *AlibabaCloudProvider) escapeTXTRecordValue(value string) stri... method unescapeTXTRecordValue (line 501) | func (p *AlibabaCloudProvider) unescapeTXTRecordValue(value string) st... method createRecord (line 508) | func (p *AlibabaCloudProvider) createRecord(endpoint *endpoint.Endpoin... method createRecords (line 554) | func (p *AlibabaCloudProvider) createRecords(endpoints []*endpoint.End... method deleteRecord (line 562) | func (p *AlibabaCloudProvider) deleteRecord(recordID string) error { method updateRecord (line 580) | func (p *AlibabaCloudProvider) updateRecord(record alidns.Record, endp... method deleteRecords (line 600) | func (p *AlibabaCloudProvider) deleteRecords(recordMap map[string][]al... method equals (line 622) | func (p *AlibabaCloudProvider) equals(record alidns.Record, endpoint *... method updateRecords (line 636) | func (p *AlibabaCloudProvider) updateRecords(recordMap map[string][]al... method splitDNSName (line 679) | func (p *AlibabaCloudProvider) splitDNSName(dnsName string, hostedZone... method matchVPC (line 706) | func (p *AlibabaCloudProvider) matchVPC(zoneID string) bool { method privateZones (line 726) | func (p *AlibabaCloudProvider) privateZones() ([]pvtz.Zone, error) { method getPrivateZones (line 769) | func (p *AlibabaCloudProvider) getPrivateZones() (map[string]*alibabaP... method groupPrivateZoneRecords (line 825) | func (p *AlibabaCloudProvider) groupPrivateZoneRecords(zone *alibabaPr... method privateZoneRecords (line 840) | func (p *AlibabaCloudProvider) privateZoneRecords() ([]*endpoint.Endpo... method createPrivateZoneRecord (line 872) | func (p *AlibabaCloudProvider) createPrivateZoneRecord(zones map[strin... method createPrivateZoneRecords (line 913) | func (p *AlibabaCloudProvider) createPrivateZoneRecords(zones map[stri... method deletePrivateZoneRecord (line 921) | func (p *AlibabaCloudProvider) deletePrivateZoneRecord(recordID int64)... method deletePrivateZoneRecords (line 940) | func (p *AlibabaCloudProvider) deletePrivateZoneRecords(zones map[stri... method applyChangesForPrivateZone (line 972) | func (p *AlibabaCloudProvider) applyChangesForPrivateZone(changes *pla... method updatePrivateZoneRecord (line 990) | func (p *AlibabaCloudProvider) updatePrivateZoneRecord(record pvtz.Rec... method equalsPrivateZone (line 1011) | func (p *AlibabaCloudProvider) equalsPrivateZone(record pvtz.Record, e... method updatePrivateZoneRecords (line 1025) | func (p *AlibabaCloudProvider) updatePrivateZoneRecords(zones map[stri... type alibabaCloudConfig (line 90) | type alibabaCloudConfig struct function New (line 101) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 108) | func newProvider(configFile string, domainFilter *endpoint.DomainFilter,... function getCloudConfigFromStsToken (line 188) | func getCloudConfigFromStsToken() (alibabaCloudConfig, error) { function getNextPageNumber (line 353) | func getNextPageNumber(pageNumber, totalCount int64) int64 { type alibabaPrivateZone (line 764) | type alibabaPrivateZone struct function keys (line 1075) | func keys[T any](value map[string]T) []string { FILE: provider/alibabacloud/alibaba_cloud_test.go type MockAlibabaCloudDNSAPI (line 30) | type MockAlibabaCloudDNSAPI struct method AddDomainRecord (line 57) | func (m *MockAlibabaCloudDNSAPI) AddDomainRecord(request *alidns.AddDo... method DeleteDomainRecord (line 70) | func (m *MockAlibabaCloudDNSAPI) DeleteDomainRecord(request *alidns.De... method UpdateDomainRecord (line 83) | func (m *MockAlibabaCloudDNSAPI) UpdateDomainRecord(request *alidns.Up... method DescribeDomains (line 95) | func (m *MockAlibabaCloudDNSAPI) DescribeDomains(_ *alidns.DescribeDom... method DescribeDomainRecords (line 109) | func (m *MockAlibabaCloudDNSAPI) DescribeDomainRecords(request *alidns... function NewMockAlibabaCloudDNSAPI (line 34) | func NewMockAlibabaCloudDNSAPI() *MockAlibabaCloudDNSAPI { type MockAlibabaCloudPrivateZoneAPI (line 121) | type MockAlibabaCloudPrivateZoneAPI struct method AddZoneRecord (line 159) | func (m *MockAlibabaCloudPrivateZoneAPI) AddZoneRecord(request *pvtz.A... method DeleteZoneRecord (line 171) | func (m *MockAlibabaCloudPrivateZoneAPI) DeleteZoneRecord(request *pvt... method UpdateZoneRecord (line 184) | func (m *MockAlibabaCloudPrivateZoneAPI) UpdateZoneRecord(request *pvt... method DescribeZoneRecords (line 195) | func (m *MockAlibabaCloudPrivateZoneAPI) DescribeZoneRecords(_ *pvtz.D... method DescribeZones (line 201) | func (m *MockAlibabaCloudPrivateZoneAPI) DescribeZones(_ *pvtz.Describ... method DescribeZoneInfo (line 207) | func (m *MockAlibabaCloudPrivateZoneAPI) DescribeZoneInfo(_ *pvtz.Desc... function NewMockAlibabaCloudPrivateZoneAPI (line 126) | func NewMockAlibabaCloudPrivateZoneAPI() *MockAlibabaCloudPrivateZoneAPI { function newTestAlibabaCloudProvider (line 218) | func newTestAlibabaCloudProvider(private bool) *AlibabaCloudProvider { function TestAlibabaCloudPrivateProvider_Records (line 235) | func TestAlibabaCloudPrivateProvider_Records(t *testing.T) { function TestAlibabaCloudProvider_Records (line 250) | func TestAlibabaCloudProvider_Records(t *testing.T) { function TestAlibabaCloudProvider_ApplyChanges (line 265) | func TestAlibabaCloudProvider_ApplyChanges(t *testing.T) { function TestAlibabaCloudProvider_ApplyChanges_HaveNoDefinedZoneDomain (line 323) | func TestAlibabaCloudProvider_ApplyChanges_HaveNoDefinedZoneDomain(t *te... function TestAlibabaCloudProvider_Records_PrivateZone (line 381) | func TestAlibabaCloudProvider_Records_PrivateZone(t *testing.T) { function TestAlibabaCloudProvider_ApplyChanges_PrivateZone (line 396) | func TestAlibabaCloudProvider_ApplyChanges_PrivateZone(t *testing.T) { function TestAlibabaCloudProvider_splitDNSName (line 440) | func TestAlibabaCloudProvider_splitDNSName(t *testing.T) { function TestAlibabaCloudProvider_TXTEndpoint (line 508) | func TestAlibabaCloudProvider_TXTEndpoint(t *testing.T) { function TestAlibabaCloudProvider_TXTEndpoint_PrivateZone (line 522) | func TestAlibabaCloudProvider_TXTEndpoint_PrivateZone(t *testing.T) { FILE: provider/aws/aws.go constant defaultAWSProfile (line 44) | defaultAWSProfile = "default" constant defaultTTL (line 45) | defaultTTL = 300 constant route53PageSize (line 52) | route53PageSize int32 = 300 constant providerSpecificAlias (line 54) | providerSpecificAlias = "alias" constant providerSpecificTargetHostedZone (line 55) | providerSpecificTargetHostedZone = "aws/target-hosted-zone" constant providerSpecificEvaluateTargetHealth (line 59) | providerSpecificEvaluateTargetHealth = "aws/evaluate-targe... constant providerSpecificWeight (line 60) | providerSpecificWeight = "aws/weight" constant providerSpecificRegion (line 61) | providerSpecificRegion = "aws/region" constant providerSpecificFailover (line 62) | providerSpecificFailover = "aws/failover" constant providerSpecificGeolocationContinentCode (line 63) | providerSpecificGeolocationContinentCode = "aws/geolocation-co... constant providerSpecificGeolocationCountryCode (line 64) | providerSpecificGeolocationCountryCode = "aws/geolocation-co... constant providerSpecificGeolocationSubdivisionCode (line 65) | providerSpecificGeolocationSubdivisionCode = "aws/geolocation-su... constant providerSpecificGeoProximityLocationAWSRegion (line 66) | providerSpecificGeoProximityLocationAWSRegion = "aws/geoproximity-r... constant providerSpecificGeoProximityLocationBias (line 67) | providerSpecificGeoProximityLocationBias = "aws/geoproximity-b... constant providerSpecificGeoProximityLocationCoordinates (line 68) | providerSpecificGeoProximityLocationCoordinates = "aws/geoproximity-c... constant providerSpecificGeoProximityLocationLocalZoneGroup (line 69) | providerSpecificGeoProximityLocationLocalZoneGroup = "aws/geoproximity-l... constant providerSpecificMultiValueAnswer (line 70) | providerSpecificMultiValueAnswer = "aws/multi-value-an... constant providerSpecificHealthCheckID (line 71) | providerSpecificHealthCheckID = "aws/health-check-id" constant sameZoneAlias (line 72) | sameZoneAlias = "same-zone" constant batchSize (line 75) | batchSize = 10 constant minLatitude (line 76) | minLatitude = -90.0 constant maxLatitude (line 77) | maxLatitude = 90.0 constant minLongitude (line 78) | minLongitude = -180.0 constant maxLongitude (line 79) | maxLongitude = 180.0 type Route53API (line 228) | type Route53API interface type Route53Change (line 237) | type Route53Change struct type Route53Changes (line 244) | type Route53Changes method Route53Changes (line 257) | func (cs Route53Changes) Route53Changes() []route53types.Change { type profiledZone (line 246) | type profiledZone struct type geoProximity (line 251) | type geoProximity struct method withAWSRegion (line 1068) | func (gp *geoProximity) withAWSRegion() *geoProximity { method withLocalZoneGroup (line 1077) | func (gp *geoProximity) withLocalZoneGroup() *geoProximity { method withBias (line 1086) | func (gp *geoProximity) withBias() *geoProximity { method withCoordinates (line 1114) | func (gp *geoProximity) withCoordinates() *geoProximity { method build (line 1136) | func (gp *geoProximity) build() *route53types.GeoProximityLocation { type zoneTags (line 265) | type zoneTags method filterZonesByTags (line 269) | func (z zoneTags) filterZonesByTags(p *AWSProvider, zones map[string]*... method append (line 278) | func (z zoneTags) append(id string, tags []route53types.Tag) { type AWSProvider (line 289) | type AWSProvider struct method Zones (line 381) | func (p *AWSProvider) Zones(ctx context.Context) (map[string]*route53t... method zones (line 395) | func (p *AWSProvider) zones(ctx context.Context) (map[string]*profiled... method Records (line 497) | func (p *AWSProvider) Records(ctx context.Context) ([]*endpoint.Endpoi... method records (line 506) | func (p *AWSProvider) records(ctx context.Context, zones map[string]*p... method requiresDeleteCreate (line 625) | func (p *AWSProvider) requiresDeleteCreate(old *endpoint.Endpoint, new... method createUpdateChanges (line 660) | func (p *AWSProvider) createUpdateChanges(newEndpoints, oldEndpoints [... method GetDomainFilter (line 688) | func (p *AWSProvider) GetDomainFilter() endpoint.DomainFilterInterface { method ApplyChanges (line 703) | func (p *AWSProvider) ApplyChanges(ctx context.Context, changes *plan.... method submitChanges (line 720) | func (p *AWSProvider) submitChanges(ctx context.Context, changes Route... method newChanges (line 828) | func (p *AWSProvider) newChanges(action route53types.ChangeAction, end... method AdjustEndpoints (line 844) | func (p *AWSProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ... method adjustEndpointAndNewAaaaIfNeeded (line 857) | func (p *AWSProvider) adjustEndpointAndNewAaaaIfNeeded(ep *endpoint.En... method adjustAliasRecord (line 877) | func (p *AWSProvider) adjustAliasRecord(ep *endpoint.Endpoint) { method adjustAandAAAARecord (line 892) | func (p *AWSProvider) adjustAandAAAARecord(ep *endpoint.Endpoint) { method adjustCNAMERecord (line 902) | func (p *AWSProvider) adjustCNAMERecord(ep *endpoint.Endpoint) { method adjustOtherRecord (line 928) | func (p *AWSProvider) adjustOtherRecord(ep *endpoint.Endpoint) { method newChange (line 962) | func (p *AWSProvider) newChange(action route53types.ChangeAction, ep *... method tagsForZone (line 1190) | func (p *AWSProvider) tagsForZone(ctx context.Context, zoneIDs []strin... method SupportedRecordType (line 1445) | func (p *AWSProvider) SupportedRecordType(recordType route53types.RRTy... type AWSConfig (line 315) | type AWSConfig struct function New (line 332) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 359) | func newProvider(cfg AWSConfig, clients map[string]Route53API) *AWSProvi... function wildcardUnescape (line 470) | func wildcardUnescape(s string) string { function convertOctalToAscii (line 477) | func convertOctalToAscii(input string) string { function containsOctalSequence (line 489) | func containsOctalSequence(domain string) bool { function handleGeoProximityLocationRecord (line 605) | func handleGeoProximityLocationRecord(r *route53types.ResourceRecordSet,... function adjustGeoProximityLocationEndpoint (line 942) | func adjustGeoProximityLocationEndpoint(ep *endpoint.Endpoint) { function newGeoProximity (line 1060) | func newGeoProximity(ep *endpoint.Endpoint) *geoProximity { function validateCoordinates (line 1100) | func validateCoordinates(lat, long string) error { function withChangeForGeoProximityEndpoint (line 1143) | func withChangeForGeoProximityEndpoint(change *Route53Change, ep *endpoi... function findChangesInQueue (line 1154) | func findChangesInQueue(changes Route53Changes, queue Route53Changes) (R... function groupChangesByNameAndOwnershipRelation (line 1178) | func groupChangesByNameAndOwnershipRelation(cs Route53Changes) map[strin... function countChangeBytes (line 1216) | func countChangeBytes(cs Route53Changes) int { function countChangeValues (line 1225) | func countChangeValues(cs Route53Changes) int { function batchChangeSet (line 1233) | func batchChangeSet(cs Route53Changes, batchSize int, batchSizeBytes int... function sortChangesByActionNameType (line 1287) | func sortChangesByActionNameType(cs Route53Changes) Route53Changes { function changesByZone (line 1308) | func changesByZone(zones map[string]*profiledZone, changeSet Route53Chan... function suitableZones (line 1356) | func suitableZones(hostname string, zones map[string]*profiledZone) []*p... function useAlias (line 1382) | func useAlias(ep *endpoint.Endpoint, preferCNAME bool) bool { function isAWSAlias (line 1396) | func isAWSAlias(ep *endpoint.Endpoint) string { function canonicalHostedZone (line 1418) | func canonicalHostedZone(hostname string) string { function cleanZoneID (line 1441) | func cleanZoneID(id string) string { FILE: provider/aws/aws_fixtures_test.go function TestAWSRecordsV1 (line 30) | func TestAWSRecordsV1(t *testing.T) { function TestAWSZonesFilterWithTags (line 49) | func TestAWSZonesFilterWithTags(t *testing.T) { function TestAWSZonesFiltersWithTags (line 65) | func TestAWSZonesFiltersWithTags(t *testing.T) { function TestAWSZonesSecondRequestHitsTheCache (line 94) | func TestAWSZonesSecondRequestHitsTheCache(t *testing.T) { FILE: provider/aws/aws_test.go constant defaultBatchChangeSize (line 48) | defaultBatchChangeSize = 4000 constant defaultBatchChangeSizeBytes (line 49) | defaultBatchChangeSizeBytes = 32000 constant defaultBatchChangeSizeValues (line 50) | defaultBatchChangeSizeValues = 1000 constant defaultBatchChangeInterval (line 51) | defaultBatchChangeInterval = time.Second constant defaultEvaluateTargetHealth (line 52) | defaultEvaluateTargetHealth = true type Route53APIStub (line 62) | type Route53APIStub struct method MockMethod (line 74) | func (r *Route53APIStub) MockMethod(method string, args ...any) *mock.... method ListResourceRecordSets (line 88) | func (r *Route53APIStub) ListResourceRecordSets(ctx context.Context, i... method ListTagsForResources (line 167) | func (r *Route53APIStub) ListTagsForResources(_ context.Context, input... method ChangeResourceRecordSets (line 189) | func (r *Route53APIStub) ChangeResourceRecordSets(_ context.Context, i... method ListHostedZones (line 248) | func (r *Route53APIStub) ListHostedZones(_ context.Context, _ *route53... method CreateHostedZone (line 256) | func (r *Route53APIStub) CreateHostedZone(_ context.Context, input *ro... function NewRoute53APIStub (line 79) | func NewRoute53APIStub(t *testing.T) *Route53APIStub { type Route53APICounter (line 108) | type Route53APICounter struct method ListResourceRecordSets (line 120) | func (c *Route53APICounter) ListResourceRecordSets(ctx context.Context... method ChangeResourceRecordSets (line 125) | func (c *Route53APICounter) ChangeResourceRecordSets(ctx context.Conte... method CreateHostedZone (line 130) | func (c *Route53APICounter) CreateHostedZone(ctx context.Context, inpu... method ListHostedZones (line 135) | func (c *Route53APICounter) ListHostedZones(ctx context.Context, input... method ListTagsForResources (line 140) | func (c *Route53APICounter) ListTagsForResources(ctx context.Context, ... function NewRoute53APICounter (line 113) | func NewRoute53APICounter(w Route53API) *Route53APICounter { function wildcardEscape (line 146) | func wildcardEscape(s string) string { function specialCharactersEscape (line 154) | func specialCharactersEscape(s string) string { type dynamicMock (line 270) | type dynamicMock struct method ListResourceRecordSets (line 274) | func (m *dynamicMock) ListResourceRecordSets(_ context.Context, input ... method ChangeResourceRecordSets (line 282) | func (m *dynamicMock) ChangeResourceRecordSets(input *route53.ChangeRe... method isMocked (line 290) | func (m *dynamicMock) isMocked(method string, arguments ...any) bool { function TestAWSZones (line 302) | func TestAWSZones(t *testing.T) { function TestAWSZonesWithTagFilterError (line 351) | func TestAWSZonesWithTagFilterError(t *testing.T) { function TestAWSRecordsFilter (line 374) | func TestAWSRecordsFilter(t *testing.T) { function TestAWSRecords (line 397) | func TestAWSRecords(t *testing.T) { function TestAWSRecordsSoftError (line 690) | func TestAWSRecordsSoftError(t *testing.T) { function TestAWSAdjustEndpoints (line 706) | func TestAWSAdjustEndpoints(t *testing.T) { function TestAWSApplyChanges (line 740) | func TestAWSApplyChanges(t *testing.T) { function TestAWSApplyChangesDryRun (line 1335) | func TestAWSApplyChangesDryRun(t *testing.T) { function TestAWSChangesByZones (line 1474) | func TestAWSChangesByZones(t *testing.T) { function TestAWSsubmitChanges (line 1603) | func TestAWSsubmitChanges(t *testing.T) { function TestAWSsubmitChangesError (line 1632) | func TestAWSsubmitChangesError(t *testing.T) { function TestAWSsubmitChangesRetryOnError (line 1646) | func TestAWSsubmitChangesRetryOnError(t *testing.T) { function TestAWSBatchChangeSet (line 1705) | func TestAWSBatchChangeSet(t *testing.T) { function TestAWSBatchChangeSetExceeding (line 1737) | func TestAWSBatchChangeSetExceeding(t *testing.T) { function TestAWSBatchChangeSetExceedingNameChange (line 1777) | func TestAWSBatchChangeSetExceedingNameChange(t *testing.T) { function TestAWSBatchChangeSetExceedingBytesLimit (line 1810) | func TestAWSBatchChangeSetExceedingBytesLimit(t *testing.T) { function TestAWSBatchChangeSetExceedingBytesLimitUpsert (line 1869) | func TestAWSBatchChangeSetExceedingBytesLimitUpsert(t *testing.T) { function TestAWSBatchChangeSetExceedingValuesLimit (line 1928) | func TestAWSBatchChangeSetExceedingValuesLimit(t *testing.T) { function TestAWSBatchChangeSetExceedingValuesLimitUpsert (line 1987) | func TestAWSBatchChangeSetExceedingValuesLimitUpsert(t *testing.T) { function validateEndpoints (line 2046) | func validateEndpoints(t *testing.T, provider *AWSProvider, endpoints []... function validateAWSZones (line 2054) | func validateAWSZones(t *testing.T, zones map[string]*route53types.Hoste... function validateAWSZone (line 2062) | func validateAWSZone(t *testing.T, zone *route53types.HostedZone, expect... function validateAWSChangeRecords (line 2067) | func validateAWSChangeRecords(t *testing.T, records Route53Changes, expe... function validateAWSChangeRecord (line 2075) | func validateAWSChangeRecord(t *testing.T, record *Route53Change, expect... function TestAWSCreateRecordsWithCNAME (line 2081) | func TestAWSCreateRecordsWithCNAME(t *testing.T) { function TestAWSCreateRecordsWithALIAS (line 2110) | func TestAWSCreateRecordsWithALIAS(t *testing.T) { function TestAWSisLoadBalancer (line 2180) | func TestAWSisLoadBalancer(t *testing.T) { function TestAWSisAWSAlias (line 2200) | func TestAWSisAWSAlias(t *testing.T) { function TestAWSCanonicalHostedZone (line 2228) | func TestAWSCanonicalHostedZone(t *testing.T) { function TestAWSCanonicalHostedZoneNotExist (line 2238) | func TestAWSCanonicalHostedZoneNotExist(t *testing.T) { function BenchmarkTestAWSCanonicalHostedZone (line 2246) | func BenchmarkTestAWSCanonicalHostedZone(b *testing.B) { function BenchmarkTestAWSNonCanonicalHostedZone (line 2254) | func BenchmarkTestAWSNonCanonicalHostedZone(b *testing.B) { function TestAWSSuitableZones (line 2262) | func TestAWSSuitableZones(t *testing.T) { function createAWSZone (line 2302) | func createAWSZone(t *testing.T, provider *AWSProvider, zone *route53typ... function setAWSRecords (line 2315) | func setAWSRecords(t *testing.T, provider *AWSProvider, records []route5... function listAWSRecords (line 2347) | func listAWSRecords(t *testing.T, client Route53API, zone string) []rout... function newAWSProvider (line 2357) | func newAWSProvider(t *testing.T, domainFilter *endpoint.DomainFilter, z... function newAWSProviderWithTagFilter (line 2361) | func newAWSProviderWithTagFilter(t *testing.T, domainFilter *endpoint.Do... function setupZoneTags (line 2415) | func setupZoneTags(client *Route53APIStub) { function addZoneTags (line 2438) | func addZoneTags(tagMap map[string][]route53types.Tag, zoneID string, ta... function validateRecords (line 2449) | func validateRecords(t *testing.T, records []route53types.ResourceRecord... function containsRecordWithDNSName (line 2453) | func containsRecordWithDNSName(records []*endpoint.Endpoint, dnsName str... function TestRequiresDeleteCreate (line 2462) | func TestRequiresDeleteCreate(t *testing.T) { function TestConvertOctalToAscii (line 2490) | func TestConvertOctalToAscii(t *testing.T) { function TestGeoProximityWithAWSRegion (line 2521) | func TestGeoProximityWithAWSRegion(t *testing.T) { function TestGeoProximityWithLocalZoneGroup (line 2602) | func TestGeoProximityWithLocalZoneGroup(t *testing.T) { function TestGeoProximityWithCoordinates (line 2662) | func TestGeoProximityWithCoordinates(t *testing.T) { function TestGeoProximityWithBias (line 2756) | func TestGeoProximityWithBias(t *testing.T) { function TestAWSProvider_createUpdateChanges_NewMoreThanOld (line 2858) | func TestAWSProvider_createUpdateChanges_NewMoreThanOld(t *testing.T) { function TestAWSProvider_adjustEndpointAndNewAaaaIfNeeded (line 2891) | func TestAWSProvider_adjustEndpointAndNewAaaaIfNeeded(t *testing.T) { FILE: provider/aws/aws_utils_test.go type HostedZones (line 35) | type HostedZones struct type HostedZone (line 39) | type HostedZone struct type Route53APIFixtureStub (line 47) | type Route53APIFixtureStub struct method ListResourceRecordSets (line 105) | func (r Route53APIFixtureStub) ListResourceRecordSets(_ context.Contex... method ChangeResourceRecordSets (line 110) | func (r Route53APIFixtureStub) ChangeResourceRecordSets(_ context.Cont... method CreateHostedZone (line 115) | func (r Route53APIFixtureStub) CreateHostedZone(_ context.Context, _ *... method ListHostedZones (line 120) | func (r Route53APIFixtureStub) ListHostedZones(_ context.Context, _ *r... method ListTagsForResources (line 129) | func (r Route53APIFixtureStub) ListTagsForResources(_ context.Context,... function providerFilters (line 53) | func providerFilters(client *Route53APIFixtureStub, options ...func(awsP... function WithDomainFilters (line 70) | func WithDomainFilters(filters ...string) func(awsProvider *AWSProvider) { function WithZoneIDFilters (line 76) | func WithZoneIDFilters(filters ...string) func(awsProvider *AWSProvider) { function WithZoneTagFilters (line 82) | func WithZoneTagFilters(filters []string) func(awsProvider *AWSProvider) { function NewRoute53APIFixtureStub (line 88) | func NewRoute53APIFixtureStub(zones *HostedZones) *Route53APIFixtureStub { function unmarshalZonesFixture (line 146) | func unmarshalZonesFixture(obj any, t *testing.T) { FILE: provider/aws/config.go type AWSSessionConfig (line 35) | type AWSSessionConfig struct function CreateDefaultV2Config (line 42) | func CreateDefaultV2Config(cfg *externaldns.Config) awsv2.Config { function CreateV2Configs (line 56) | func CreateV2Configs(cfg *externaldns.Config) map[string]awsv2.Config { function newV2Config (line 80) | func newV2Config(awsConfig AWSSessionConfig) (awsv2.Config, error) { FILE: provider/aws/config_test.go function Test_newV2Config (line 33) | func Test_newV2Config(t *testing.T) { function prepareCredentialsFile (line 150) | func prepareCredentialsFile(t *testing.T) (*os.File, error) { function TestCreateV2Configs (line 160) | func TestCreateV2Configs(t *testing.T) { function TestCreateConfigFatalOnError (line 217) | func TestCreateConfigFatalOnError(t *testing.T) { FILE: provider/aws/instrumented_config.go type requestMetrics (line 31) | type requestMetrics struct type requestMetricsKey (line 35) | type requestMetricsKey struct function getRequestMetric (line 37) | func getRequestMetric(ctx context.Context) requestMetrics { function setRequestMetric (line 42) | func setRequestMetric(ctx context.Context, requestMetrics requestMetrics... function GetInstrumentationMiddlewares (line 84) | func GetInstrumentationMiddlewares() []func(*middleware.Stack) error { FILE: provider/aws/instrumented_config_test.go function Test_GetInstrumentationMiddlewares (line 33) | func Test_GetInstrumentationMiddlewares(t *testing.T) { type MockInitializeHandler (line 54) | type MockInitializeHandler struct method HandleInitialize (line 58) | func (mock *MockInitializeHandler) HandleInitialize(ctx context.Contex... function Test_InitializedTimedOperationMiddleware (line 64) | func Test_InitializedTimedOperationMiddleware(t *testing.T) { type MockDeserializeHandler (line 75) | type MockDeserializeHandler struct method HandleDeserialize (line 78) | func (mock *MockDeserializeHandler) HandleDeserialize(_ context.Contex... function Test_ExtractAWSRequestParameters (line 82) | func Test_ExtractAWSRequestParameters(t *testing.T) { FILE: provider/awssd/aws_sd.go constant defaultTTL (line 41) | defaultTTL = 300 constant maxResults (line 44) | maxResults = 100 constant sdNamespaceTypePublic (line 46) | sdNamespaceTypePublic = "public" constant sdNamespaceTypePrivate (line 47) | sdNamespaceTypePrivate = "private" constant sdInstanceAttrIPV4 (line 49) | sdInstanceAttrIPV4 = "AWS_INSTANCE_IPV4" constant sdInstanceAttrIPV6 (line 50) | sdInstanceAttrIPV6 = "AWS_INSTANCE_IPV6" constant sdInstanceAttrCname (line 51) | sdInstanceAttrCname = "AWS_INSTANCE_CNAME" constant sdInstanceAttrAlias (line 52) | sdInstanceAttrAlias = "AWS_ALIAS_DNS_NAME" type AWSSDClient (line 65) | type AWSSDClient interface type AWSSDProvider (line 77) | type AWSSDProvider struct method Records (line 153) | func (p *AWSSDProvider) Records(ctx context.Context) ([]*endpoint.Endp... method instancesToEndpoint (line 195) | func (p *AWSSDProvider) instancesToEndpoint(ns *sdtypes.NamespaceSumma... method ApplyChanges (line 237) | func (p *AWSSDProvider) ApplyChanges(ctx context.Context, changes *pla... method updatesToCreates (line 267) | func (p *AWSSDProvider) updatesToCreates(changes *plan.Changes) ([]*en... method submitCreates (line 303) | func (p *AWSSDProvider) submitCreates(ctx context.Context, namespaces ... method submitDeletes (line 342) | func (p *AWSSDProvider) submitDeletes(ctx context.Context, namespaces ... method ListNamespaces (line 371) | func (p *AWSSDProvider) ListNamespaces(ctx context.Context) ([]*sdtype... method ListServicesByNamespaceID (line 395) | func (p *AWSSDProvider) ListServicesByNamespaceID(ctx context.Context,... method CreateService (line 435) | func (p *AWSSDProvider) CreateService(ctx context.Context, namespaceID... method UpdateService (line 472) | func (p *AWSSDProvider) UpdateService(ctx context.Context, service *sd... method DeleteService (line 502) | func (p *AWSSDProvider) DeleteService(ctx context.Context, service *sd... method RegisterInstance (line 532) | func (p *AWSSDProvider) RegisterInstance(ctx context.Context, service ... method DeregisterInstance (line 569) | func (p *AWSSDProvider) DeregisterInstance(ctx context.Context, servic... method targetToInstanceID (line 589) | func (p *AWSSDProvider) targetToInstanceID(target string) string { method changesByNamespaceID (line 598) | func (p *AWSSDProvider) changesByNamespaceID(namespaces []*sdtypes.Nam... method parseHostname (line 644) | func (p *AWSSDProvider) parseHostname(hostname string) (string, string) { method routingPolicyFromEndpoint (line 650) | func (p *AWSSDProvider) routingPolicyFromEndpoint(ep *endpoint.Endpoin... method serviceTypeFromEndpoint (line 659) | func (p *AWSSDProvider) serviceTypeFromEndpoint(ep *endpoint.Endpoint)... method isAWSLoadBalancer (line 677) | func (p *AWSSDProvider) isAWSLoadBalancer(hostname string) bool { function New (line 94) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 104) | func newProvider(domainFilter *endpoint.DomainFilter, namespaceType stri... function newSdNamespaceFilter (line 122) | func newSdNamespaceFilter(namespaceTypeConfig string) []sdtypes.Namespac... function awsTags (line 144) | func awsTags(tags map[string]string) []sdtypes.Tag { function matchingNamespaces (line 631) | func matchingNamespaces(hostname string, namespaces []*sdtypes.Namespace... FILE: provider/awssd/aws_sd_test.go function TestAWSSDProvider_Records (line 35) | func TestAWSSDProvider_Records(t *testing.T) { function TestAWSSDProvider_ApplyChanges (line 175) | func TestAWSSDProvider_ApplyChanges(t *testing.T) { function TestAWSSDProvider_ApplyChanges_Update (line 229) | func TestAWSSDProvider_ApplyChanges_Update(t *testing.T) { function TestAWSSDProvider_ListNamespaces (line 283) | func TestAWSSDProvider_ListNamespaces(t *testing.T) { function TestAWSSDProvider_ListServicesByNamespace (line 333) | func TestAWSSDProvider_ListServicesByNamespace(t *testing.T) { function TestAWSSDProvider_CreateService (line 387) | func TestAWSSDProvider_CreateService(t *testing.T) { function TestAWSSDProvider_CreateServiceDryRun (line 501) | func TestAWSSDProvider_CreateServiceDryRun(t *testing.T) { function TestAWSSDProvider_CreateService_LabelNotSet (line 532) | func TestAWSSDProvider_CreateService_LabelNotSet(t *testing.T) { function TestAWSSDProvider_UpdateService (line 562) | func TestAWSSDProvider_UpdateService(t *testing.T) { function TestAWSSDProvider_UpdateService_DryRun (line 606) | func TestAWSSDProvider_UpdateService_DryRun(t *testing.T) { function TestAWSSDProvider_DeleteService (line 653) | func TestAWSSDProvider_DeleteService(t *testing.T) { function TestAWSSDProvider_DeleteServiceEmptyDescription_Logging (line 730) | func TestAWSSDProvider_DeleteServiceEmptyDescription_Logging(t *testing.... function TestAWSSDProvider_DeleteServiceDryRun (line 767) | func TestAWSSDProvider_DeleteServiceDryRun(t *testing.T) { function TestAWSSDProvider_RegisterInstance (line 801) | func TestAWSSDProvider_RegisterInstance(t *testing.T) { function TestAWSSDProvider_DeregisterInstance (line 968) | func TestAWSSDProvider_DeregisterInstance(t *testing.T) { function TestAWSSDProvider_awsTags (line 1010) | func TestAWSSDProvider_awsTags(t *testing.T) { FILE: provider/awssd/fixtures_test.go type AWSSDClientStub (line 44) | type AWSSDClientStub struct method CreateService (line 58) | func (s *AWSSDClientStub) CreateService(_ context.Context, input *serv... method DeregisterInstance (line 80) | func (s *AWSSDClientStub) DeregisterInstance(_ context.Context, input ... method GetService (line 88) | func (s *AWSSDClientStub) GetService(_ context.Context, input *service... method DiscoverInstances (line 101) | func (s *AWSSDClientStub) DiscoverInstances(_ context.Context, input *... method ListNamespaces (line 128) | func (s *AWSSDClientStub) ListNamespaces(_ context.Context, input *sd.... method ListServices (line 146) | func (s *AWSSDClientStub) ListServices(_ context.Context, input *sd.Li... method RegisterInstance (line 164) | func (s *AWSSDClientStub) RegisterInstance(_ context.Context, input *s... method UpdateService (line 180) | func (s *AWSSDClientStub) UpdateService(ctx context.Context, input *sd... method DeleteService (line 195) | func (s *AWSSDClientStub) DeleteService(ctx context.Context, input *sd... function newTestAWSSDProvider (line 208) | func newTestAWSSDProvider(api AWSSDClient, domainFilter *endpoint.Domain... function instanceToHTTPInstanceSummary (line 219) | func instanceToHTTPInstanceSummary(instance *sdtypes.Instance) *sdtypes.... function namespaceToNamespaceSummary (line 230) | func namespaceToNamespaceSummary(namespace *sdtypes.Namespace) *sdtypes.... function serviceToServiceSummary (line 243) | func serviceToServiceSummary(service *sdtypes.Service) *sdtypes.ServiceS... function testHelperAWSSDServicesMapsEqual (line 262) | func testHelperAWSSDServicesMapsEqual(t *testing.T, expected map[string]... function testHelperAWSSDServicesEqual (line 270) | func testHelperAWSSDServicesEqual(t *testing.T, expected *sdtypes.Servic... FILE: provider/azure/azure.go constant defaultTTL (line 42) | defaultTTL = 300 type ZonesClient (line 46) | type ZonesClient interface type RecordSetsClient (line 51) | type RecordSetsClient interface type AzureProvider (line 58) | type AzureProvider struct method Records (line 130) | func (p *AzureProvider) Records(ctx context.Context) ([]*endpoint.Endp... method ApplyChanges (line 185) | func (p *AzureProvider) ApplyChanges(ctx context.Context, changes *pla... method zones (line 197) | func (p *AzureProvider) zones(ctx context.Context) ([]dns.Zone, error) { method SupportedRecordType (line 224) | func (p *AzureProvider) SupportedRecordType(recordType string) bool { method mapChanges (line 235) | func (p *AzureProvider) mapChanges(zones []dns.Zone, changes *plan.Cha... method deleteRecords (line 272) | func (p *AzureProvider) deleteRecords(ctx context.Context, deleted azu... method updateRecords (line 299) | func (p *AzureProvider) updateRecords(ctx context.Context, updated azu... method recordSetNameForZone (line 352) | func (p *AzureProvider) recordSetNameForZone(zone string, endpoint *en... method newRecordSet (line 365) | func (p *AzureProvider) newRecordSet(endpoint *endpoint.Endpoint) (dns... function New (line 74) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 93) | func newProvider(configFile string, domainFilter, zoneNameFilter *endpoi... type azureChangeMap (line 233) | type azureChangeMap function formatAzureDNSName (line 452) | func formatAzureDNSName(recordName, zoneName string) string { function extractAzureTargets (line 460) | func extractAzureTargets(recordSet *dns.RecordSet) []string { FILE: provider/azure/azure_private_dns.go type PrivateZonesClient (line 40) | type PrivateZonesClient interface type PrivateRecordSetsClient (line 45) | type PrivateRecordSetsClient interface type AzurePrivateDNSProvider (line 52) | type AzurePrivateDNSProvider struct method Records (line 124) | func (p *AzurePrivateDNSProvider) Records(ctx context.Context) ([]*end... method ApplyChanges (line 191) | func (p *AzurePrivateDNSProvider) ApplyChanges(ctx context.Context, ch... method zones (line 205) | func (p *AzurePrivateDNSProvider) zones(ctx context.Context) ([]privat... method mapChanges (line 236) | func (p *AzurePrivateDNSProvider) mapChanges(zones []privatedns.Privat... method deleteRecords (line 273) | func (p *AzurePrivateDNSProvider) deleteRecords(ctx context.Context, d... method updateRecords (line 301) | func (p *AzurePrivateDNSProvider) updateRecords(ctx context.Context, u... method recordSetNameForZone (line 355) | func (p *AzurePrivateDNSProvider) recordSetNameForZone(zone string, en... method newRecordSet (line 368) | func (p *AzurePrivateDNSProvider) newRecordSet(endpoint *endpoint.Endp... function newPrivateDNSProvider (line 70) | func newPrivateDNSProvider(configFile string, domainFilter, zoneNameFilt... function NewPrivate (line 105) | func NewPrivate(_ context.Context, cfg *externaldns.Config, domainFilter... type azurePrivateDNSChangeMap (line 234) | type azurePrivateDNSChangeMap function extractAzurePrivateDNSTargets (line 442) | func extractAzurePrivateDNSTargets(recordSet *privatedns.RecordSet) []st... FILE: provider/azure/azure_privatedns_test.go constant recordTTL (line 35) | recordTTL = 300 type mockPrivateZonesClient (line 40) | type mockPrivateZonesClient struct method NewListByResourceGroupPager (line 62) | func (client *mockPrivateZonesClient) NewListByResourceGroupPager(_ st... function newMockPrivateZonesClient (line 44) | func newMockPrivateZonesClient(zones []*privatedns.PrivateZone) mockPriv... type mockPrivateRecordSetsClient (line 68) | type mockPrivateRecordSetsClient struct method NewListPager (line 92) | func (client *mockPrivateRecordSetsClient) NewListPager(_ string, _ st... method Delete (line 96) | func (client *mockPrivateRecordSetsClient) Delete(_ context.Context, _... method CreateOrUpdate (line 108) | func (client *mockPrivateRecordSetsClient) CreateOrUpdate(_ context.Co... function newMockPrivateRecordSectsClient (line 74) | func newMockPrivateRecordSectsClient(recordSets []*privatedns.RecordSet)... function createMockPrivateZone (line 125) | func createMockPrivateZone(zone string, id string) *privatedns.PrivateZo... function privateARecordSetPropertiesGetter (line 132) | func privateARecordSetPropertiesGetter(values []string, ttl int64) *priv... function privateAAAARecordSetPropertiesGetter (line 145) | func privateAAAARecordSetPropertiesGetter(values []string, ttl int64) *p... function privateCNameRecordSetPropertiesGetter (line 158) | func privateCNameRecordSetPropertiesGetter(values []string, ttl int64) *... function privateMXRecordSetPropertiesGetter (line 167) | func privateMXRecordSetPropertiesGetter(values []string, ttl int64) *pri... function privateTxtRecordSetPropertiesGetter (line 179) | func privateTxtRecordSetPropertiesGetter(values []string, ttl int64) *pr... function privateOthersRecordSetPropertiesGetter (line 190) | func privateOthersRecordSetPropertiesGetter(_ []string, ttl int64) *priv... function createPrivateMockRecordSet (line 196) | func createPrivateMockRecordSet(recordType string, values ...string) *pr... function createPrivateMockRecordSetWithNameAndTTL (line 200) | func createPrivateMockRecordSetWithNameAndTTL(name, recordType, value st... function createPrivateMockRecordSetMultiWithTTL (line 204) | func createPrivateMockRecordSetMultiWithTTL(name, recordType string, ttl... function newMockedAzurePrivateDNSProvider (line 229) | func newMockedAzurePrivateDNSProvider(domainFilter *endpoint.DomainFilte... function newAzurePrivateDNSProvider (line 235) | func newAzurePrivateDNSProvider(domainFilter *endpoint.DomainFilter, zon... function TestAzurePrivateDNSRecord (line 249) | func TestAzurePrivateDNSRecord(t *testing.T) { function TestAzurePrivateDNSMultiRecord (line 285) | func TestAzurePrivateDNSMultiRecord(t *testing.T) { function TestAzurePrivateDNSApplyChanges (line 321) | func TestAzurePrivateDNSApplyChanges(t *testing.T) { function TestAzurePrivateDNSApplyChangesDryRun (line 353) | func TestAzurePrivateDNSApplyChangesDryRun(t *testing.T) { function testAzurePrivateDNSApplyChangesInternal (line 363) | func testAzurePrivateDNSApplyChangesInternal(t *testing.T, dryRun bool, ... function TestAzurePrivateDNSNameFilter (line 435) | func TestAzurePrivateDNSNameFilter(t *testing.T) { function TestAzurePrivateDNSApplyChangesZoneName (line 468) | func TestAzurePrivateDNSApplyChangesZoneName(t *testing.T) { function testAzurePrivateDNSApplyChangesInternalZoneName (line 489) | func testAzurePrivateDNSApplyChangesInternalZoneName(t *testing.T, dryRu... FILE: provider/azure/azure_test.go type mockZonesClient (line 38) | type mockZonesClient struct method NewListByResourceGroupPager (line 60) | func (client *mockZonesClient) NewListByResourceGroupPager(_ string, _... function newMockZonesClient (line 42) | func newMockZonesClient(zones []*dns.Zone) mockZonesClient { type mockRecordSetsClient (line 66) | type mockRecordSetsClient struct method NewListAllByDNSZonePager (line 90) | func (client *mockRecordSetsClient) NewListAllByDNSZonePager(_ string,... method Delete (line 94) | func (client *mockRecordSetsClient) Delete(_ context.Context, _ string... method CreateOrUpdate (line 106) | func (client *mockRecordSetsClient) CreateOrUpdate(_ context.Context, ... function newMockRecordSetsClient (line 72) | func newMockRecordSetsClient(recordSets []*dns.RecordSet) mockRecordSets... function createMockZone (line 123) | func createMockZone(zone string, id string) *dns.Zone { function aRecordSetPropertiesGetter (line 130) | func aRecordSetPropertiesGetter(values []string, ttl int64) *dns.RecordS... function aaaaRecordSetPropertiesGetter (line 143) | func aaaaRecordSetPropertiesGetter(values []string, ttl int64) *dns.Reco... function cNameRecordSetPropertiesGetter (line 156) | func cNameRecordSetPropertiesGetter(values []string, ttl int64) *dns.Rec... function mxRecordSetPropertiesGetter (line 165) | func mxRecordSetPropertiesGetter(values []string, ttl int64) *dns.Record... function nsRecordSetPropertiesGetter (line 177) | func nsRecordSetPropertiesGetter(values []string, ttl int64) *dns.Record... function txtRecordSetPropertiesGetter (line 190) | func txtRecordSetPropertiesGetter(values []string, ttl int64) *dns.Recor... function othersRecordSetPropertiesGetter (line 201) | func othersRecordSetPropertiesGetter(_ []string, ttl int64) *dns.RecordS... function createMockRecordSet (line 207) | func createMockRecordSet(name, recordType string, values ...string) *dns... function createMockRecordSetWithTTL (line 211) | func createMockRecordSetWithTTL(name, recordType, value string, ttl int6... function createMockRecordSetMultiWithTTL (line 215) | func createMockRecordSetMultiWithTTL(name, recordType string, ttl int64,... function newMockedAzureProvider (line 242) | func newMockedAzureProvider(domainFilter *endpoint.DomainFilter, zoneNam... function newAzureProvider (line 248) | func newAzureProvider(domainFilter *endpoint.DomainFilter, zoneNameFilte... function validateAzureEndpoints (line 264) | func validateAzureEndpoints(t *testing.T, endpoints []*endpoint.Endpoint... function TestAzureRecord (line 268) | func TestAzureRecord(t *testing.T) { function TestAzureMultiRecord (line 310) | func TestAzureMultiRecord(t *testing.T) { function TestAzureApplyChanges (line 352) | func TestAzureApplyChanges(t *testing.T) { function TestAzureApplyChangesDryRun (line 388) | func TestAzureApplyChangesDryRun(t *testing.T) { function testAzureApplyChangesInternal (line 398) | func testAzureApplyChangesInternal(t *testing.T, dryRun bool, client Rec... function TestAzureNameFilter (line 480) | func TestAzureNameFilter(t *testing.T) { function TestAzureApplyChangesZoneName (line 516) | func TestAzureApplyChangesZoneName(t *testing.T) { function testAzureApplyChangesInternalZoneName (line 540) | func testAzureApplyChangesInternalZoneName(t *testing.T, dryRun bool, cl... FILE: provider/azure/common.go function parseMxTarget (line 31) | func parseMxTarget[T dns.MxRecord | privatedns.MxRecord](mxTarget string... FILE: provider/azure/common_test.go function Test_parseMxTarget (line 30) | func Test_parseMxTarget(t *testing.T) { FILE: provider/azure/config.go type config (line 37) | type config struct function getConfig (line 53) | func getConfig(configFile, subscriptionID, resourceGroup, userAssignedId... type ctxKey (line 83) | type ctxKey constant clientRequestIDKey (line 87) | clientRequestIDKey ctxKey = "client-request-id" constant msRequestIDHeader (line 89) | msRequestIDHeader = "x-ms-request-id" constant msCorrelationRequestHeader (line 90) | msCorrelationRequestHeader = "x-ms-correlation-request-id" constant msClientRequestIDHeader (line 91) | msClientRequestIDHeader = "x-ms-client-request-id" type customHeaderPolicy (line 95) | type customHeaderPolicy struct method Do (line 97) | func (p *customHeaderPolicy) Do(req *policy.Request) (*http.Response, ... function CustomHeaderPolicynew (line 107) | func CustomHeaderPolicynew() policy.Policy { return &customHeaderPolicy{} } function getCredentials (line 110) | func getCredentials(cfg config, maxRetries int) (azcore.TokenCredential,... function getCloudConfiguration (line 198) | func getCloudConfiguration(cfg config) (cloud.Configuration, error) { FILE: provider/azure/config_test.go function TestGetCloudConfiguration (line 35) | func TestGetCloudConfiguration(t *testing.T) { function TestOverrideConfiguration (line 59) | func TestOverrideConfiguration(t *testing.T) { type transportFunc (line 72) | type transportFunc method Do (line 74) | func (f transportFunc) Do(req *http.Request) (*http.Response, error) { function TestCustomHeaderPolicyWithRetries (line 78) | func TestCustomHeaderPolicyWithRetries(t *testing.T) { function TestMaxRetriesCount (line 194) | func TestMaxRetriesCount(t *testing.T) { function parseMaxRetries (line 307) | func parseMaxRetries(value string) (int, error) { FILE: provider/blueprint/zone_cache.go type ZoneCache (line 28) | type ZoneCache struct function NewZoneCache (line 37) | func NewZoneCache[T any](duration time.Duration) *ZoneCache[T] { method Get (line 43) | func (c *ZoneCache[T]) Get() T { method Reset (line 51) | func (c *ZoneCache[T]) Reset(data T) { method Expired (line 64) | func (c *ZoneCache[T]) Expired() bool { FILE: provider/blueprint/zone_cache_test.go function TestZoneCache_SliceCache (line 29) | func TestZoneCache_SliceCache(t *testing.T) { function TestZoneCache_MapCache (line 41) | func TestZoneCache_MapCache(t *testing.T) { function TestZoneCache_Expiration (line 53) | func TestZoneCache_Expiration(t *testing.T) { function TestZoneCache_CachingDisabled (line 65) | func TestZoneCache_CachingDisabled(t *testing.T) { function TestZoneCache_Expiration_Synctest (line 75) | func TestZoneCache_Expiration_Synctest(t *testing.T) { function TestZoneCache_ThreadSafety (line 101) | func TestZoneCache_ThreadSafety(t *testing.T) { FILE: provider/cached_provider.go function init (line 51) | func init() { type CachedProvider (line 56) | type CachedProvider struct method Records (line 70) | func (c *CachedProvider) Records(ctx context.Context) ([]*endpoint.End... method ApplyChanges (line 87) | func (c *CachedProvider) ApplyChanges(ctx context.Context, changes *pl... method Reset (line 97) | func (c *CachedProvider) Reset() { method needRefresh (line 102) | func (c *CachedProvider) needRefresh() bool { function NewCachedProvider (line 63) | func NewCachedProvider(provider Provider, refreshDelay time.Duration) *C... FILE: provider/cached_provider_test.go type testProviderFunc (line 31) | type testProviderFunc struct method Records (line 39) | func (p *testProviderFunc) Records(ctx context.Context) ([]*endpoint.E... method ApplyChanges (line 43) | func (p *testProviderFunc) ApplyChanges(ctx context.Context, changes *... method PropertyValuesEqual (line 47) | func (p *testProviderFunc) PropertyValuesEqual(name string, previous s... method AdjustEndpoints (line 51) | func (p *testProviderFunc) AdjustEndpoints(endpoints []*endpoint.Endpo... method GetDomainFilter (line 55) | func (p *testProviderFunc) GetDomainFilter() endpoint.DomainFilterInte... function recordsNotCalled (line 59) | func recordsNotCalled(t *testing.T) func(ctx context.Context) ([]*endpoi... function applyChangesNotCalled (line 66) | func applyChangesNotCalled(t *testing.T) func(_ context.Context, _ *plan... function propertyValuesEqualNotCalled (line 73) | func propertyValuesEqualNotCalled(t *testing.T) func(name string, previo... function adjustEndpointsNotCalled (line 80) | func adjustEndpointsNotCalled(t *testing.T) func(endpoints []*endpoint.E... function newTestProviderFunc (line 87) | func newTestProviderFunc(t *testing.T) *testProviderFunc { function TestCachedProviderCallsProviderOnFirstCall (line 96) | func TestCachedProviderCallsProviderOnFirstCall(t *testing.T) { function TestCachedProviderUsesCacheWhileValid (line 112) | func TestCachedProviderUsesCacheWhileValid(t *testing.T) { function TestCachedProviderForcesCacheRefreshOnUpdate (line 148) | func TestCachedProviderForcesCacheRefreshOnUpdate(t *testing.T) { FILE: provider/civo/civo.go type CivoProvider (line 35) | type CivoProvider struct method Zones (line 109) | func (p *CivoProvider) Zones(_ context.Context) ([]civogo.DNSDomain, e... method Records (line 119) | func (p *CivoProvider) Records(ctx context.Context) ([]*endpoint.Endpo... method fetchRecords (line 152) | func (p *CivoProvider) fetchRecords(domainID string) ([]civogo.DNSReco... method fetchZones (line 161) | func (p *CivoProvider) fetchZones() ([]civogo.DNSDomain, error) { method submitChanges (line 181) | func (p *CivoProvider) submitChanges(changes CivoChanges) error { method ApplyChanges (line 448) | func (p *CivoProvider) ApplyChanges(_ context.Context, changes *plan.C... type CivoChanges (line 43) | type CivoChanges struct method Empty (line 50) | func (c *CivoChanges) Empty() bool { type CivoChangeCreate (line 55) | type CivoChangeCreate struct type CivoChangeUpdate (line 61) | type CivoChangeUpdate struct type CivoChangeDelete (line 68) | type CivoChangeDelete struct function New (line 74) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 79) | func newProvider(domainFilter *endpoint.DomainFilter, dryRun bool) (*Civ... function processCreateActions (line 257) | func processCreateActions(zonesByID map[string]civogo.DNSDomain, records... function processUpdateActions (line 308) | func processUpdateActions(zonesByID map[string]civogo.DNSDomain, records... function processDeleteActions (line 410) | func processDeleteActions(zonesByID map[string]civogo.DNSDomain, records... function endpointsByZone (line 503) | func endpointsByZone(zoneNameIDMapper provider.ZoneIDName, endpoints []*... function convertRecordType (line 518) | func convertRecordType(recordType string) (civogo.DNSRecordType, error) { function getStrippedRecordName (line 533) | func getStrippedRecordName(zone civogo.DNSDomain, ep endpoint.Endpoint) ... function getRecordID (line 541) | func getRecordID(records []civogo.DNSRecord, zone civogo.DNSDomain, ep e... FILE: provider/civo/civo_test.go function TestNewProvider (line 36) | func TestNewProvider(t *testing.T) { function TestNewCivoProviderNoToken (line 44) | func TestNewCivoProviderNoToken(t *testing.T) { function TestCivoProviderZones (line 51) | func TestCivoProviderZones(t *testing.T) { function TestCivoProviderZonesWithError (line 73) | func TestCivoProviderZonesWithError(t *testing.T) { function TestCivoProviderRecords (line 86) | func TestCivoProviderRecords(t *testing.T) { function TestCivoProviderRecordsWithError (line 132) | func TestCivoProviderRecordsWithError(t *testing.T) { function TestCivoProviderWithoutRecords (line 170) | func TestCivoProviderWithoutRecords(t *testing.T) { function TestCivoProcessCreateActionsLogs (line 190) | func TestCivoProcessCreateActionsLogs(t *testing.T) { function TestCivoProcessCreateActions (line 253) | func TestCivoProcessCreateActions(t *testing.T) { function TestCivoProcessCreateActionsWithError (line 323) | func TestCivoProcessCreateActionsWithError(t *testing.T) { function TestCivoProcessUpdateActionsWithError (line 359) | func TestCivoProcessUpdateActionsWithError(t *testing.T) { function TestCivoProcessUpdateActions (line 395) | func TestCivoProcessUpdateActions(t *testing.T) { function TestCivoProcessDeleteAction (line 524) | func TestCivoProcessDeleteAction(t *testing.T) { function TestCivoApplyChanges (line 620) | func TestCivoApplyChanges(t *testing.T) { function TestCivoApplyChangesError (line 656) | func TestCivoApplyChangesError(t *testing.T) { function TestCivoProviderFetchZones (line 715) | func TestCivoProviderFetchZones(t *testing.T) { function TestCivoProviderFetchZonesWithFilter (line 737) | func TestCivoProviderFetchZonesWithFilter(t *testing.T) { function TestCivoProviderFetchRecords (line 761) | func TestCivoProviderFetchRecords(t *testing.T) { function TestCivoProviderFetchRecordsWithError (line 782) | func TestCivoProviderFetchRecordsWithError(t *testing.T) { function TestCivo_getStrippedRecordName (line 799) | func TestCivo_getStrippedRecordName(t *testing.T) { function TestCivo_convertRecordType (line 813) | func TestCivo_convertRecordType(t *testing.T) { function TestCivoProviderGetRecordID (line 840) | func TestCivoProviderGetRecordID(t *testing.T) { function TestCivo_submitChangesCreate (line 868) | func TestCivo_submitChangesCreate(t *testing.T) { function TestCivo_submitChangesDelete (line 994) | func TestCivo_submitChangesDelete(t *testing.T) { function TestCivoChangesEmpty (line 1027) | func TestCivoChangesEmpty(t *testing.T) { function elementsMatch (line 1178) | func elementsMatch(t *testing.T, listA, listB any) bool { function isEmpty (line 1232) | func isEmpty(xs any) bool { FILE: provider/cloudflare/cloudflare.go type changeAction (line 47) | type changeAction method String (line 75) | func (action changeAction) String() string { constant cfAPIEmailEnvKey (line 51) | cfAPIEmailEnvKey = "CF_API_EMAIL" constant cfAPIKeyEnvKey (line 52) | cfAPIKeyEnvKey = "CF_API_KEY" constant cfAPITokenEnvKey (line 53) | cfAPITokenEnvKey = "CF_API_TOKEN" constant cloudFlareCreate (line 56) | cloudFlareCreate changeAction = iota constant cloudFlareDelete (line 58) | cloudFlareDelete constant cloudFlareUpdate (line 60) | cloudFlareUpdate constant defaultTTL (line 62) | defaultTTL = 1 constant freeZoneMaxCommentLength (line 65) | freeZoneMaxCommentLength = 100 constant paidZoneMaxCommentLength (line 66) | paidZoneMaxCommentLength = 500 type DNSRecordIndex (line 79) | type DNSRecordIndex struct type DNSRecordsMap (line 85) | type DNSRecordsMap type cloudFlareDNS (line 97) | type cloudFlareDNS interface type zoneService (line 115) | type zoneService struct method ZoneIDByName (line 119) | func (z zoneService) ZoneIDByName(zoneName string) (string, error) { method CreateDNSRecord (line 139) | func (z zoneService) CreateDNSRecord(ctx context.Context, params dns.R... method ListDNSRecords (line 143) | func (z zoneService) ListDNSRecords(ctx context.Context, params dns.Re... method UpdateDNSRecord (line 147) | func (z zoneService) UpdateDNSRecord(ctx context.Context, recordID str... method DeleteDNSRecord (line 151) | func (z zoneService) DeleteDNSRecord(ctx context.Context, recordID str... method ListZones (line 156) | func (z zoneService) ListZones(ctx context.Context, params zones.ZoneL... method GetZone (line 160) | func (z zoneService) GetZone(ctx context.Context, zoneID string) (*zon... function listZonesV4Params (line 165) | func listZonesV4Params() zones.ZoneListParams { type DNSRecordsConfig (line 169) | type DNSRecordsConfig struct method trimAndValidateComment (line 176) | func (c *DNSRecordsConfig) trimAndValidateComment(dnsName, comment str... type CloudFlareProvider (line 216) | type CloudFlareProvider struct method ZoneHasPaidPlan (line 194) | func (p *CloudFlareProvider) ZoneHasPaidPlan(hostname string) bool { method Zones (line 355) | func (p *CloudFlareProvider) Zones(ctx context.Context) ([]zones.Zone,... method Records (line 401) | func (p *CloudFlareProvider) Records(ctx context.Context) ([]*endpoint... method ApplyChanges (line 436) | func (p *CloudFlareProvider) ApplyChanges(ctx context.Context, changes... method submitChanges (line 515) | func (p *CloudFlareProvider) submitChanges(ctx context.Context, change... method AdjustEndpoints (line 635) | func (p *CloudFlareProvider) AdjustEndpoints(endpoints []*endpoint.End... method changesByZone (line 674) | func (p *CloudFlareProvider) changesByZone(zones []zones.Zone, changeS... method getRecordID (line 695) | func (p *CloudFlareProvider) getRecordID(records DNSRecordsMap, record... method newCloudFlareChange (line 702) | func (p *CloudFlareProvider) newCloudFlareChange(action changeAction, ... method getDNSRecordsMap (line 771) | func (p *CloudFlareProvider) getDNSRecordsMap(ctx context.Context, zon... method groupByNameAndTypeWithCustomHostnames (line 819) | func (p *CloudFlareProvider) groupByNameAndTypeWithCustomHostnames(rec... method SupportedAdditionalRecordTypes (line 891) | func (p *CloudFlareProvider) SupportedAdditionalRecordTypes(recordType... type cloudFlareChange (line 230) | type cloudFlareChange struct function convertCloudflareError (line 238) | func convertCloudflareError(err error) error { function newProvider (line 276) | func newProvider( function New (line 330) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function parseTagsAnnotation (line 621) | func parseTagsAnnotation(tagString string) []string { function newDNSRecordIndex (line 766) | func newDNSRecordIndex(r dns.RecordResponse) DNSRecordIndex { function shouldBeProxied (line 788) | func shouldBeProxied(ep *endpoint.Endpoint, proxiedByDefault bool) bool { function getEndpointCustomHostnames (line 809) | func getEndpointCustomHostnames(ep *endpoint.Endpoint) []string { FILE: provider/cloudflare/cloudflare_batch.go constant defaultBatchChangeSize (line 31) | defaultBatchChangeSize = 200 type batchCollections (line 39) | type batchCollections struct type batchChunk (line 59) | type batchChunk struct method BatchDNSRecords (line 67) | func (z zoneService) BatchDNSRecords(ctx context.Context, params dns.Rec... function getUpdateDNSRecordParam (line 72) | func getUpdateDNSRecordParam(zoneID string, cfc cloudFlareChange) dns.Re... function getCreateDNSRecordParam (line 89) | func getCreateDNSRecordParam(zoneID string, cfc *cloudFlareChange) dns.R... function chunkBatchChanges (line 110) | func chunkBatchChanges(zoneID string, bc batchCollections, limit int) []... function tagsFromResponse (line 152) | func tagsFromResponse(tags any) []dns.RecordTagsParam { function buildBatchPostParam (line 160) | func buildBatchPostParam(r dns.RecordResponse) dns.RecordBatchParamsPost { function buildBatchPutParam (line 176) | func buildBatchPutParam(id string, r dns.RecordResponse) (dns.BatchPutUn... method buildBatchCollections (line 269) | func (p *CloudFlareProvider) buildBatchCollections( method submitDNSRecordChanges (line 323) | func (p *CloudFlareProvider) submitDNSRecordChanges( method fallbackIndividualChanges (line 382) | func (p *CloudFlareProvider) fallbackIndividualChanges( FILE: provider/cloudflare/cloudflare_batch_test.go method BatchDNSRecords (line 36) | func (m *mockCloudFlareClient) BatchDNSRecords(_ context.Context, params... function extractBatchPutData (line 138) | func extractBatchPutData(put dns.BatchPutUnionParam) (string, dns.Record... function generateDNSRecordID (line 201) | func generateDNSRecordID(rrtype string, name string, content string) str... function TestBatchFallbackIndividual (line 205) | func TestBatchFallbackIndividual(t *testing.T) { function TestChunkBatchChanges (line 291) | func TestChunkBatchChanges(t *testing.T) { function TestTagsFromResponse (line 412) | func TestTagsFromResponse(t *testing.T) { function TestBuildBatchPutParam (line 425) | func TestBuildBatchPutParam(t *testing.T) { function TestBuildBatchCollections_EdgeCases (line 516) | func TestBuildBatchCollections_EdgeCases(t *testing.T) { function TestSubmitDNSRecordChanges_BatchInterval (line 577) | func TestSubmitDNSRecordChanges_BatchInterval(t *testing.T) { function TestSubmitDNSRecordChanges_FallbackUpdates (line 616) | func TestSubmitDNSRecordChanges_FallbackUpdates(t *testing.T) { function TestFallbackIndividualChanges_MissingRecord (line 669) | func TestFallbackIndividualChanges_MissingRecord(t *testing.T) { FILE: provider/cloudflare/cloudflare_custom_hostnames.go type customHostname (line 35) | type customHostname struct type customHostnameSSL (line 44) | type customHostnameSSL struct type customHostnameSSLSettings (line 53) | type customHostnameSSLSettings struct type customHostnameIndex (line 58) | type customHostnameIndex struct type customHostnamesMap (line 62) | type customHostnamesMap type CustomHostnamesConfig (line 64) | type CustomHostnamesConfig struct method CustomHostnames (line 75) | func (z zoneService) CustomHostnames(ctx context.Context, zoneID string)... method DeleteCustomHostname (line 82) | func (z zoneService) DeleteCustomHostname(ctx context.Context, customHos... method CreateCustomHostname (line 87) | func (z zoneService) CreateCustomHostname(ctx context.Context, zoneID st... function buildCustomHostnameNewParams (line 95) | func buildCustomHostnameNewParams(zoneID string, ch customHostname) cust... method submitCustomHostnameChanges (line 125) | func (p *CloudFlareProvider) submitCustomHostnameChanges(ctx context.Con... method processCustomHostnameUpdate (line 143) | func (p *CloudFlareProvider) processCustomHostnameUpdate(ctx context.Con... method processCustomHostnameDelete (line 175) | func (p *CloudFlareProvider) processCustomHostnameDelete(ctx context.Con... method processCustomHostnameCreate (line 196) | func (p *CloudFlareProvider) processCustomHostnameCreate(ctx context.Con... function getCustomHostname (line 220) | func getCustomHostname(chs customHostnamesMap, chName string) (customHos... method newCustomHostname (line 230) | func (p *CloudFlareProvider) newCustomHostname(hostname string, origin s... function getCustomHostnamesSSLOptions (line 238) | func getCustomHostnamesSSLOptions(customHostnamesConfig CustomHostnamesC... function newCustomHostnameIndex (line 255) | func newCustomHostnameIndex(ch customHostname) customHostnameIndex { method listCustomHostnamesWithPagination (line 260) | func (p *CloudFlareProvider) listCustomHostnamesWithPagination(ctx conte... method processCustomHostnameChanges (line 282) | func (p *CloudFlareProvider) processCustomHostnameChanges( function listAllCustomHostnames (line 305) | func listAllCustomHostnames(iter autoPager[custom_hostnames.CustomHostna... FILE: provider/cloudflare/cloudflare_custom_hostnames_test.go method CustomHostnames (line 37) | func (m *mockCloudFlareClient) CustomHostnames(ctx context.Context, zone... method CreateCustomHostname (line 66) | func (m *mockCloudFlareClient) CreateCustomHostname(_ context.Context, z... method DeleteCustomHostname (line 79) | func (m *mockCloudFlareClient) DeleteCustomHostname(_ context.Context, c... function getCustomHostnameIdxByID (line 94) | func getCustomHostnameIdxByID(chs []customHostname, customHostnameID str... function TestCloudflareCustomHostnameOperations (line 103) | func TestCloudflareCustomHostnameOperations(t *testing.T) { function TestCloudflareDisabledCustomHostnameOperations (line 159) | func TestCloudflareDisabledCustomHostnameOperations(t *testing.T) { function TestCloudflareCustomHostnameNotFoundOnRecordDeletion (line 281) | func TestCloudflareCustomHostnameNotFoundOnRecordDeletion(t *testing.T) { function TestCloudflareListCustomHostnamesWithPagionation (line 411) | func TestCloudflareListCustomHostnamesWithPagionation(t *testing.T) { function TestBuildCustomHostnameNewParams (line 470) | func TestBuildCustomHostnameNewParams(t *testing.T) { function TestSubmitCustomHostnameChanges (line 592) | func TestSubmitCustomHostnameChanges(t *testing.T) { FILE: provider/cloudflare/cloudflare_regional.go type RegionalServicesConfig (line 34) | type RegionalServicesConfig struct type regionalHostname (line 45) | type regionalHostname struct type regionalHostnamesMap (line 51) | type regionalHostnamesMap type regionalHostnameChange (line 53) | type regionalHostnameChange struct method ListDataLocalizationRegionalHostnames (line 58) | func (z zoneService) ListDataLocalizationRegionalHostnames(ctx context.C... method CreateDataLocalizationRegionalHostname (line 62) | func (z zoneService) CreateDataLocalizationRegionalHostname(ctx context.... method UpdateDataLocalizationRegionalHostname (line 67) | func (z zoneService) UpdateDataLocalizationRegionalHostname(ctx context.... method DeleteDataLocalizationRegionalHostname (line 72) | func (z zoneService) DeleteDataLocalizationRegionalHostname(ctx context.... function listDataLocalizationRegionalHostnamesParams (line 78) | func listDataLocalizationRegionalHostnamesParams(zoneID string) addressi... function createDataLocalizationRegionalHostnameParams (line 85) | func createDataLocalizationRegionalHostnameParams(zoneID string, rhc reg... function updateDataLocalizationRegionalHostnameParams (line 94) | func updateDataLocalizationRegionalHostnameParams(zoneID string, rhc reg... function deleteDataLocalizationRegionalHostnameParams (line 102) | func deleteDataLocalizationRegionalHostnameParams(zoneID string) address... method submitRegionalHostnameChanges (line 109) | func (p *CloudFlareProvider) submitRegionalHostnameChanges(ctx context.C... method submitRegionalHostnameChange (line 122) | func (p *CloudFlareProvider) submitRegionalHostnameChange(ctx context.Co... method listDataLocalisationRegionalHostnames (line 162) | func (p *CloudFlareProvider) listDataLocalisationRegionalHostnames(ctx c... method regionalHostname (line 183) | func (p *CloudFlareProvider) regionalHostname(ep *endpoint.Endpoint) reg... method addEnpointsProviderSpecificRegionKeyProperty (line 202) | func (p *CloudFlareProvider) addEnpointsProviderSpecificRegionKeyPropert... method adjustEndpointProviderSpecificRegionKeyProperty (line 242) | func (p *CloudFlareProvider) adjustEndpointProviderSpecificRegionKeyProp... function desiredRegionalHostnames (line 258) | func desiredRegionalHostnames(changes []*cloudFlareChange) ([]regionalHo... function regionalHostnamesChanges (line 293) | func regionalHostnamesChanges(desired []regionalHostname, regionalHostna... FILE: provider/cloudflare/cloudflare_regional_test.go method ListDataLocalizationRegionalHostnames (line 40) | func (m *mockCloudFlareClient) ListDataLocalizationRegionalHostnames(_ c... method CreateDataLocalizationRegionalHostname (line 57) | func (m *mockCloudFlareClient) CreateDataLocalizationRegionalHostname(_ ... method UpdateDataLocalizationRegionalHostname (line 74) | func (m *mockCloudFlareClient) UpdateDataLocalizationRegionalHostname(_ ... method DeleteDataLocalizationRegionalHostname (line 91) | func (m *mockCloudFlareClient) DeleteDataLocalizationRegionalHostname(_ ... function TestCloudflareRegionalHostnameActions (line 106) | func TestCloudflareRegionalHostnameActions(t *testing.T) { function TestCloudflareRegionalHostnameDefaults (line 301) | func TestCloudflareRegionalHostnameDefaults(t *testing.T) { function Test_regionalHostname (line 350) | func Test_regionalHostname(t *testing.T) { function Test_desiredDataLocalizationRegionalHostnames (line 492) | func Test_desiredDataLocalizationRegionalHostnames(t *testing.T) { function Test_dataLocalizationRegionalHostnamesChanges (line 745) | func Test_dataLocalizationRegionalHostnamesChanges(t *testing.T) { function TestRecordsWithListRegionalHostnameFaillure (line 830) | func TestRecordsWithListRegionalHostnameFaillure(t *testing.T) { function TestApplyChangesWithRegionalHostnamesFaillures (line 847) | func TestApplyChangesWithRegionalHostnamesFaillures(t *testing.T) { function TestApplyChangesWithRegionalHostnamesDryRun (line 1047) | func TestApplyChangesWithRegionalHostnamesDryRun(t *testing.T) { function TestCloudflareAdjustEndpointsRegionalServices (line 1193) | func TestCloudflareAdjustEndpointsRegionalServices(t *testing.T) { function TestSubmitChanges_DryRun_RegionalErrors (line 1308) | func TestSubmitChanges_DryRun_RegionalErrors(t *testing.T) { FILE: provider/cloudflare/cloudflare_test.go function newCloudflareError (line 52) | func newCloudflareError(statusCode int) *cloudflare.Error { type MockAction (line 94) | type MockAction struct type mockCloudFlareClient (line 102) | type mockCloudFlareClient struct method CreateDNSRecord (line 144) | func (m *mockCloudFlareClient) CreateDNSRecord(_ context.Context, para... method ListDNSRecords (line 173) | func (m *mockCloudFlareClient) ListDNSRecords(ctx context.Context, par... method UpdateDNSRecord (line 192) | func (m *mockCloudFlareClient) UpdateDNSRecord(_ context.Context, reco... method DeleteDNSRecord (line 223) | func (m *mockCloudFlareClient) DeleteDNSRecord(_ context.Context, reco... method ZoneIDByName (line 243) | func (m *mockCloudFlareClient) ZoneIDByName(zoneName string) (string, ... method ListZones (line 259) | func (m *mockCloudFlareClient) ListZones(_ context.Context, _ zones.Zo... method GetZone (line 281) | func (m *mockCloudFlareClient) GetZone(_ context.Context, zoneID strin... function NewMockCloudFlareClient (line 115) | func NewMockCloudFlareClient() *mockCloudFlareClient { function NewMockCloudFlareClientWithRecords (line 130) | func NewMockCloudFlareClientWithRecords(records map[string][]dns.RecordR... function AssertActions (line 299) | func AssertActions(t *testing.T, provider *CloudFlareProvider, endpoints... function TestCloudflareA (line 345) | func TestCloudflareA(t *testing.T) { function TestCloudflareCname (line 386) | func TestCloudflareCname(t *testing.T) { function TestCloudflareMx (line 427) | func TestCloudflareMx(t *testing.T) { function TestCloudflareTxt (line 470) | func TestCloudflareTxt(t *testing.T) { function TestCloudflareCustomTTL (line 498) | func TestCloudflareCustomTTL(t *testing.T) { function TestCloudflareProxiedDefault (line 527) | func TestCloudflareProxiedDefault(t *testing.T) { function TestCloudflareProxiedOverrideTrue (line 555) | func TestCloudflareProxiedOverrideTrue(t *testing.T) { function TestCloudflareProxiedOverrideFalse (line 589) | func TestCloudflareProxiedOverrideFalse(t *testing.T) { function TestCloudflareProxiedOverrideIllegal (line 623) | func TestCloudflareProxiedOverrideIllegal(t *testing.T) { function TestCloudflareSetProxied (line 657) | func TestCloudflareSetProxied(t *testing.T) { function TestCloudflareZones (line 726) | func TestCloudflareZones(t *testing.T) { function TestCloudflareZonesFailed (line 743) | func TestCloudflareZonesFailed(t *testing.T) { function TestCloudFlareZonesWithIDFilter (line 760) | func TestCloudFlareZonesWithIDFilter(t *testing.T) { function TestCloudflareListZonesRateLimited (line 779) | func TestCloudflareListZonesRateLimited(t *testing.T) { function TestCloudflareListZonesRateLimitedStringError (line 794) | func TestCloudflareListZonesRateLimitedStringError(t *testing.T) { function TestCloudflareListZoneInternalErrors (line 807) | func TestCloudflareListZoneInternalErrors(t *testing.T) { function TestCloudflareRecords (line 823) | func TestCloudflareRecords(t *testing.T) { function TestGetDNSRecordsMapWithPerPage (line 867) | func TestGetDNSRecordsMapWithPerPage(t *testing.T) { function TestCloudflareProvider (line 896) | func TestCloudflareProvider(t *testing.T) { function TestCloudflareApplyChanges (line 990) | func TestCloudflareApplyChanges(t *testing.T) { function TestCloudflareDryRunApplyChanges (line 1059) | func TestCloudflareDryRunApplyChanges(t *testing.T) { function TestCloudflareApplyChangesError (line 1083) | func TestCloudflareApplyChangesError(t *testing.T) { function TestCloudflareGetRecordID (line 1099) | func TestCloudflareGetRecordID(t *testing.T) { function TestCloudflareGroupByNameAndTypeWithCustomHostnames (line 1150) | func TestCloudflareGroupByNameAndTypeWithCustomHostnames(t *testing.T) { function TestGroupByNameAndTypeWithCustomHostnames_MX (line 1404) | func TestGroupByNameAndTypeWithCustomHostnames_MX(t *testing.T) { function TestProviderPropertiesIdempotency (line 1443) | func TestProviderPropertiesIdempotency(t *testing.T) { function TestCloudflareComplexUpdate (line 1635) | func TestCloudflareComplexUpdate(t *testing.T) { function TestCustomTTLWithEnabledProxyNotChanged (line 1716) | func TestCustomTTLWithEnabledProxyNotChanged(t *testing.T) { function TestCloudFlareProvider_Region (line 1773) | func TestCloudFlareProvider_Region(t *testing.T) { function TestCloudFlareProvider_newCloudFlareChange (line 1791) | func TestCloudFlareProvider_newCloudFlareChange(t *testing.T) { function TestCloudFlareProvider_submitChangesCNAME (line 1907) | func TestCloudFlareProvider_submitChangesCNAME(t *testing.T) { function TestCloudFlareProvider_submitChangesApex (line 1967) | func TestCloudFlareProvider_submitChangesApex(t *testing.T) { function TestCloudflareZoneRecordsFail (line 2030) | func TestCloudflareZoneRecordsFail(t *testing.T) { function TestCloudflareLongRecordsErrorLog (line 2052) | func TestCloudflareLongRecordsErrorLog(t *testing.T) { function checkFailed (line 2078) | func checkFailed(name string, err error, shouldFail bool) error { function TestCloudflareDNSRecordsOperationsFail (line 2088) | func TestCloudflareDNSRecordsOperationsFail(t *testing.T) { function TestZoneHasPaidPlan (line 2206) | func TestZoneHasPaidPlan(t *testing.T) { function TestCloudflareApplyChanges_AllErrorLogPaths (line 2227) | func TestCloudflareApplyChanges_AllErrorLogPaths(t *testing.T) { function TestCloudFlareProvider_SupportedAdditionalRecordTypes (line 2372) | func TestCloudFlareProvider_SupportedAdditionalRecordTypes(t *testing.T) { function TestCloudflareZoneChanges (line 2398) | func TestCloudflareZoneChanges(t *testing.T) { function TestCloudflareZoneErrors (line 2458) | func TestCloudflareZoneErrors(t *testing.T) { function TestCloudflareZoneFiltering (line 2482) | func TestCloudflareZoneFiltering(t *testing.T) { function TestCloudflareZonePlanDetection (line 2511) | func TestCloudflareZonePlanDetection(t *testing.T) { function TestCloudflareChangesByZone (line 2542) | func TestCloudflareChangesByZone(t *testing.T) { function TestConvertCloudflareError (line 2597) | func TestConvertCloudflareError(t *testing.T) { function TestConvertCloudflareErrorInContext (line 2718) | func TestConvertCloudflareErrorInContext(t *testing.T) { function TestCloudFlareZonesDomainFilter (line 2817) | func TestCloudFlareZonesDomainFilter(t *testing.T) { function TestZoneIDByNameIteratorError (line 2844) | func TestZoneIDByNameIteratorError(t *testing.T) { function TestZoneIDByNameZoneNotFound (line 2860) | func TestZoneIDByNameZoneNotFound(t *testing.T) { function TestGetUpdateDNSRecordParam (line 2879) | func TestGetUpdateDNSRecordParam(t *testing.T) { function TestZoneService (line 2906) | func TestZoneService(t *testing.T) { function TestSubmitChanges_ErrorPaths (line 3013) | func TestSubmitChanges_ErrorPaths(t *testing.T) { function TestParseTagsAnnotation (line 3105) | func TestParseTagsAnnotation(t *testing.T) { function TestAdjustEndpoints_TagsAnnotation (line 3124) | func TestAdjustEndpoints_TagsAnnotation(t *testing.T) { function TestZoneServiceZoneIDByName (line 3149) | func TestZoneServiceZoneIDByName(t *testing.T) { FILE: provider/cloudflare/pagination.go type autoPager (line 19) | type autoPager interface function autoPagerIterator (line 26) | func autoPagerIterator[T any](iter autoPager[T]) func(yield func(T) bool) { FILE: provider/cloudflare/pagination_test.go type mockAutoPager (line 27) | type mockAutoPager struct method Next (line 34) | func (m *mockAutoPager[T]) Next() bool { method Current (line 39) | func (m *mockAutoPager[T]) Current() T { method Err (line 47) | func (m *mockAutoPager[T]) Err() error { method hasError (line 51) | func (m *mockAutoPager[T]) hasError() bool { method hasNext (line 55) | func (m *mockAutoPager[T]) hasNext() bool { function TestAutoPagerIterator (line 59) | func TestAutoPagerIterator(t *testing.T) { FILE: provider/coredns/coredns.go constant priority (line 45) | priority = 10 constant etcdTimeout (line 46) | etcdTimeout = 5 * time.Second constant randomPrefixLabel (line 48) | randomPrefixLabel = "prefix" constant providerSpecificGroup (line 49) | providerSpecificGroup = "coredns/group" type coreDNSClient (line 58) | type coreDNSClient interface type coreDNSProvider (line 64) | type coreDNSProvider struct method Records (line 306) | func (p coreDNSProvider) Records(ctx context.Context) ([]*endpoint.End... method ApplyChanges (line 362) | func (p coreDNSProvider) ApplyChanges(ctx context.Context, changes *pl... method groupEndpoints (line 378) | func (p coreDNSProvider) groupEndpoints(changes *plan.Changes) map[str... method applyGroup (line 391) | func (p coreDNSProvider) applyGroup(ctx context.Context, dnsName strin... method createServicesForEndpoint (line 419) | func (p coreDNSProvider) createServicesForEndpoint(ctx context.Context... method updateTXTRecords (line 464) | func (p coreDNSProvider) updateTXTRecords(dnsName string, group []*end... method deleteEndpoints (line 491) | func (p coreDNSProvider) deleteEndpoints(ctx context.Context, endpoint... method etcdKeyFor (line 509) | func (p coreDNSProvider) etcdKeyFor(dnsName string) string { type Service (line 74) | type Service struct type etcdClient (line 102) | type etcdClient struct method GetServices (line 111) | func (c etcdClient) GetServices(ctx context.Context, prefix string) ([... method SaveService (line 156) | func (c etcdClient) SaveService(ctx context.Context, service *Service)... method DeleteService (line 191) | func (c etcdClient) DeleteService(ctx context.Context, key string) err... method unmarshalService (line 221) | func (c etcdClient) unmarshalService(n *mvccpb.KeyValue) (*Service, er... function getETCDConfig (line 230) | func getETCDConfig() (*etcdcv3.Config, error) { function newETCDClient (line 260) | func newETCDClient(owner string, strictlyOwned bool) (coreDNSClient, err... function New (line 273) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 278) | func newProvider(domainFilter *endpoint.DomainFilter, prefix, owner stri... function findEp (line 295) | func findEp(slice []*endpoint.Endpoint, dnsName string) (*endpoint.Endpo... function guessRecordType (line 515) | func guessRecordType(target string) string { function reverse (line 522) | func reverse(slice []string) { FILE: provider/coredns/coredns_test.go constant defaultCoreDNSPrefix (line 41) | defaultCoreDNSPrefix = "/skydns/" type fakeETCDClient (line 43) | type fakeETCDClient struct method GetServices (line 47) | func (c fakeETCDClient) GetServices(_ context.Context, prefix string) ... method SaveService (line 59) | func (c fakeETCDClient) SaveService(_ context.Context, service *Servic... method DeleteService (line 64) | func (c fakeETCDClient) DeleteService(_ context.Context, key string) e... type MockEtcdKV (line 69) | type MockEtcdKV struct method Put (line 74) | func (m *MockEtcdKV) Put(ctx context.Context, key, input string, _ ...... method Get (line 79) | func (m *MockEtcdKV) Get(ctx context.Context, key string, opts ...etcd... method Delete (line 89) | func (m *MockEtcdKV) Delete(ctx context.Context, key string, opts ...e... function TestETCDConfig (line 99) | func TestETCDConfig(t *testing.T) { function TestEtcdHttpsProtocol (line 137) | func TestEtcdHttpsProtocol(t *testing.T) { function TestEtcdHttpsIncorrectConfigError (line 148) | func TestEtcdHttpsIncorrectConfigError(t *testing.T) { function TestEtcdUnsupportedProtocolError (line 159) | func TestEtcdUnsupportedProtocolError(t *testing.T) { function TestAServiceTranslation (line 169) | func TestAServiceTranslation(t *testing.T) { function TestCNAMEServiceTranslation (line 199) | func TestCNAMEServiceTranslation(t *testing.T) { function TestTXTServiceTranslation (line 229) | func TestTXTServiceTranslation(t *testing.T) { function TestAWithTXTServiceTranslation (line 259) | func TestAWithTXTServiceTranslation(t *testing.T) { function TestCNAMEWithTXTServiceTranslation (line 299) | func TestCNAMEWithTXTServiceTranslation(t *testing.T) { function TestCoreDNSApplyChanges (line 339) | func TestCoreDNSApplyChanges(t *testing.T) { function TestCoreDNSApplyChanges_DomainDoNotMatch (line 422) | func TestCoreDNSApplyChanges_DomainDoNotMatch(t *testing.T) { function applyServiceChanges (line 447) | func applyServiceChanges(provider coreDNSProvider, changes *plan.Changes... function validateServices (line 462) | func validateServices(services map[string]Service, expectedServices map[... function mergeLabels (line 495) | func mergeLabels(e *endpoint.Endpoint, labels map[string]string) { function TestGetServices_Success (line 503) | func TestGetServices_Success(t *testing.T) { function TestGetServices_Duplicate (line 530) | func TestGetServices_Duplicate(t *testing.T) { function TestGetServices_Multiple (line 561) | func TestGetServices_Multiple(t *testing.T) { function TestGetServices_FilterOutOtherServicesOwnerSetButNothingChanged (line 596) | func TestGetServices_FilterOutOtherServicesOwnerSetButNothingChanged(t *... function TestGetServices_FilterOutOtherServicesWithStrictlyOwned (line 639) | func TestGetServices_FilterOutOtherServicesWithStrictlyOwned(t *testing.... function TestGetServices_UnmarshalError (line 683) | func TestGetServices_UnmarshalError(t *testing.T) { function TestGetServices_GetError (line 710) | func TestGetServices_GetError(t *testing.T) { function TestDeleteService (line 726) | func TestDeleteService(t *testing.T) { function TestDeleteServiceWithStrictlyOwned (line 770) | func TestDeleteServiceWithStrictlyOwned(t *testing.T) { function TestSaveService (line 904) | func TestSaveService(t *testing.T) { function TestNewProvider (line 1165) | func TestNewProvider(t *testing.T) { function TestFindEp (line 1204) | func TestFindEp(t *testing.T) { function TestCoreDNSProvider_updateTXTRecords_WithEdpoints (line 1253) | func TestCoreDNSProvider_updateTXTRecords_WithEdpoints(t *testing.T) { function TestCoreDNSProvider_updateTXTRecords_ClearsExtraText (line 1278) | func TestCoreDNSProvider_updateTXTRecords_ClearsExtraText(t *testing.T) { function TestApplyChangesAWithGroupServiceTranslation (line 1303) | func TestApplyChangesAWithGroupServiceTranslation(t *testing.T) { function TestRecordsAWithGroupServiceTranslation (line 1329) | func TestRecordsAWithGroupServiceTranslation(t *testing.T) { function TestRecordsIncludeLabelOwnerWithStrictlyOwned (line 1348) | func TestRecordsIncludeLabelOwnerWithStrictlyOwned(t *testing.T) { function TestRecordsIncludeOwnerASLabelWithoutStrictlyOwned (line 1367) | func TestRecordsIncludeOwnerASLabelWithoutStrictlyOwned(t *testing.T) { FILE: provider/dnsimple/dnsimple.go constant dnsimpleCreate (line 37) | dnsimpleCreate = "CREATE" constant dnsimpleDelete (line 38) | dnsimpleDelete = "DELETE" constant dnsimpleUpdate (line 39) | dnsimpleUpdate = "UPDATE" constant defaultTTL (line 41) | defaultTTL = 3600 type dnsimpleIdentityService (line 44) | type dnsimpleIdentityService struct method Whoami (line 48) | func (i dnsimpleIdentityService) Whoami(ctx context.Context) (*dnsimpl... type dnsimpleZoneServiceInterface (line 53) | type dnsimpleZoneServiceInterface interface type dnsimpleZoneService (line 61) | type dnsimpleZoneService struct method ListZones (line 65) | func (z dnsimpleZoneService) ListZones(ctx context.Context, accountID ... method ListRecords (line 69) | func (z dnsimpleZoneService) ListRecords(ctx context.Context, accountI... method CreateRecord (line 73) | func (z dnsimpleZoneService) CreateRecord(ctx context.Context, account... method DeleteRecord (line 77) | func (z dnsimpleZoneService) DeleteRecord(ctx context.Context, account... method UpdateRecord (line 81) | func (z dnsimpleZoneService) UpdateRecord(ctx context.Context, account... type dnsimpleProvider (line 85) | type dnsimpleProvider struct method GetAccountID (line 138) | func (p *dnsimpleProvider) GetAccountID(ctx context.Context) (string, ... method Zones (line 158) | func (p *dnsimpleProvider) Zones(ctx context.Context) (map[string]dnsi... method Records (line 199) | func (p *dnsimpleProvider) Records(ctx context.Context) ([]*endpoint.E... method submitChanges (line 264) | func (p *dnsimpleProvider) submitChanges(ctx context.Context, changes ... method GetRecordID (line 327) | func (p *dnsimpleProvider) GetRecordID(ctx context.Context, zone strin... method ApplyChanges (line 366) | func (p *dnsimpleProvider) ApplyChanges(ctx context.Context, changes *... type dnsimpleChange (line 95) | type dnsimpleChange struct function New (line 101) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 106) | func newProvider(domainFilter *endpoint.DomainFilter, zoneIDFilter provi... function ZonesFromZoneString (line 147) | func ZonesFromZoneString(zonestring string) map[string]dnsimple.Zone { function newDnsimpleChange (line 236) | func newDnsimpleChange(action string, e *endpoint.Endpoint) *dnsimpleCha... function newDnsimpleChanges (line 255) | func newDnsimpleChanges(action string, endpoints []*endpoint.Endpoint) [... function dnsimpleSuitableZone (line 352) | func dnsimpleSuitableZone(hostname string, zones map[string]dnsimple.Zon... function int64ToString (line 376) | func int64ToString(i int64) string { FILE: provider/dnsimple/dnsimple_test.go function TestDnsimpleServices (line 42) | func TestDnsimpleServices(t *testing.T) { function testDnsimpleProviderZones (line 155) | func testDnsimpleProviderZones(t *testing.T) { function testDnsimpleProviderRecords (line 176) | func testDnsimpleProviderRecords(t *testing.T) { function testDnsimpleProviderApplyChanges (line 188) | func testDnsimpleProviderApplyChanges(t *testing.T) { function testDnsimpleProviderApplyChangesSkipsUnknown (line 209) | func testDnsimpleProviderApplyChangesSkipsUnknown(t *testing.T) { function testDnsimpleSuitableZone (line 222) | func testDnsimpleSuitableZone(t *testing.T) { function TestNewProvider (line 243) | func TestNewProvider(t *testing.T) { function testDnsimpleGetRecordID (line 268) | func testDnsimpleGetRecordID(t *testing.T) { function validateDnsimpleZones (line 282) | func validateDnsimpleZones(t *testing.T, zones map[string]dnsimple.Zone,... type mockDnsimpleZoneServiceInterface (line 290) | type mockDnsimpleZoneServiceInterface struct method CreateRecord (line 294) | func (_m *mockDnsimpleZoneServiceInterface) CreateRecord(ctx context.C... method DeleteRecord (line 305) | func (_m *mockDnsimpleZoneServiceInterface) DeleteRecord(ctx context.C... method ListRecords (line 316) | func (_m *mockDnsimpleZoneServiceInterface) ListRecords(ctx context.Co... method ListZones (line 327) | func (_m *mockDnsimpleZoneServiceInterface) ListZones(ctx context.Cont... method UpdateRecord (line 338) | func (_m *mockDnsimpleZoneServiceInterface) UpdateRecord(ctx context.C... FILE: provider/exoscale/exoscale.go type EgoscaleClientI (line 34) | type EgoscaleClientI interface type ExoscaleProvider (line 43) | type ExoscaleProvider struct method getZones (line 100) | func (ep *ExoscaleProvider) getZones(ctx context.Context) (map[string]... method ApplyChanges (line 116) | func (ep *ExoscaleProvider) ApplyChanges(ctx context.Context, changes ... method Records (line 236) | func (ep *ExoscaleProvider) Records(ctx context.Context) ([]*endpoint.... type ExoscaleOption (line 55) | type ExoscaleOption function New (line 58) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 71) | func newProvider(env, zone, key, secret string, dryRun bool, opts ...Exo... function NewExoscaleProviderWithClient (line 84) | func NewExoscaleProviderWithClient(client EgoscaleClientI, env, zone str... function ExoscaleWithDomain (line 266) | func ExoscaleWithDomain(domainFilter *endpoint.DomainFilter) ExoscaleOpt... function ExoscaleWithLogging (line 273) | func ExoscaleWithLogging() ExoscaleOption { type zoneFilter (line 292) | type zoneFilter struct method Zones (line 297) | func (f *zoneFilter) Zones(zones map[string]string) map[string]string { method EndpointZoneID (line 309) | func (f *zoneFilter) EndpointZoneID(endpoint *endpoint.Endpoint, zones... function merge (line 321) | func merge(updateOld, updateNew []*endpoint.Endpoint) []*endpoint.Endpoi... FILE: provider/exoscale/exoscale_test.go type createRecordExoscale (line 35) | type createRecordExoscale struct type deleteRecordExoscale (line 40) | type deleteRecordExoscale struct type updateRecordExoscale (line 45) | type updateRecordExoscale struct function strPtr (line 75) | func strPtr(s string) *string { type ExoscaleClientStub (line 79) | type ExoscaleClientStub struct method ListDNSDomains (line 86) | func (ep *ExoscaleClientStub) ListDNSDomains(_ context.Context, _ stri... method ListDNSDomainRecords (line 94) | func (ep *ExoscaleClientStub) ListDNSDomainRecords(_ context.Context, ... method CreateDNSDomainRecord (line 98) | func (ep *ExoscaleClientStub) CreateDNSDomainRecord(_ context.Context,... method DeleteDNSDomainRecord (line 103) | func (ep *ExoscaleClientStub) DeleteDNSDomainRecord(_ context.Context,... method UpdateDNSDomainRecord (line 108) | func (ep *ExoscaleClientStub) UpdateDNSDomainRecord(_ context.Context,... function NewExoscaleClientStub (line 81) | func NewExoscaleClientStub() EgoscaleClientI { function contains (line 113) | func contains(arr []*endpoint.Endpoint, name string) bool { function TestExoscaleGetRecords (line 122) | func TestExoscaleGetRecords(t *testing.T) { function TestExoscaleApplyChanges (line 138) | func TestExoscaleApplyChanges(t *testing.T) { function TestExoscaleMerge_NoUpdateOnTTL0Changes (line 209) | func TestExoscaleMerge_NoUpdateOnTTL0Changes(t *testing.T) { function TestExoscaleMerge_UpdateOnTTLChanges (line 243) | func TestExoscaleMerge_UpdateOnTTLChanges(t *testing.T) { function TestExoscaleMerge_AlwaysUpdateTarget (line 279) | func TestExoscaleMerge_AlwaysUpdateTarget(t *testing.T) { function TestExoscaleMerge_NoUpdateIfTTLUnchanged (line 315) | func TestExoscaleMerge_NoUpdateIfTTLUnchanged(t *testing.T) { function TestZones (line 350) | func TestZones(t *testing.T) { function TestExoscaleWithDomain_SetsDomain (line 431) | func TestExoscaleWithDomain_SetsDomain(t *testing.T) { function TestInMemoryWithLogging_LogsChanges (line 453) | func TestInMemoryWithLogging_LogsChanges(t *testing.T) { FILE: provider/factory/provider.go type ProviderConstructor (line 54) | type ProviderConstructor function Select (line 61) | func Select( function providers (line 80) | func providers(selector string) (ProviderConstructor, bool) { FILE: provider/factory/provider_test.go function TestSelectProvider (line 33) | func TestSelectProvider(t *testing.T) { function TestKnownProviders (line 144) | func TestKnownProviders(t *testing.T) { function TestSelectProvider_Webhook (line 156) | func TestSelectProvider_Webhook(t *testing.T) { FILE: provider/fakes/provider.go type MockProvider (line 26) | type MockProvider struct method Records (line 31) | func (m *MockProvider) Records(_ context.Context) ([]*endpoint.Endpoin... method ApplyChanges (line 35) | func (m *MockProvider) ApplyChanges(_ context.Context, _ *plan.Changes... method AdjustEndpoints (line 39) | func (m *MockProvider) AdjustEndpoints(eps []*endpoint.Endpoint) ([]*e... method GetDomainFilter (line 43) | func (m *MockProvider) GetDomainFilter() endpoint.DomainFilterInterface { FILE: provider/gandi/client.go type DomainClientAdapter (line 21) | type DomainClientAdapter interface type domainClient (line 25) | type domainClient struct method ListDomains (line 29) | func (p *domainClient) ListDomains() ([]domain.ListResponse, error) { function NewDomainClient (line 33) | func NewDomainClient(client *domain.Domain) DomainClientAdapter { type standardResponse (line 38) | type standardResponse struct type standardError (line 49) | type standardError struct type LiveDNSClientAdapter (line 55) | type LiveDNSClientAdapter interface type LiveDNSClient (line 62) | type LiveDNSClient struct method GetDomainRecords (line 70) | func (p *LiveDNSClient) GetDomainRecords(fqdn string) ([]livedns.Domai... method CreateDomainRecord (line 74) | func (p *LiveDNSClient) CreateDomainRecord(fqdn, name, recordtype stri... method DeleteDomainRecord (line 96) | func (p *LiveDNSClient) DeleteDomainRecord(fqdn, name, recordtype stri... method UpdateDomainRecordByNameAndType (line 100) | func (p *LiveDNSClient) UpdateDomainRecordByNameAndType(fqdn, name, re... function NewLiveDNSClient (line 66) | func NewLiveDNSClient(client *livedns.LiveDNS) LiveDNSClientAdapter { FILE: provider/gandi/gandi.go constant gandiCreate (line 34) | gandiCreate = "CREATE" constant gandiDelete (line 35) | gandiDelete = "DELETE" constant gandiUpdate (line 36) | gandiUpdate = "UPDATE" constant defaultTTL (line 37) | defaultTTL = 600 constant gandiLiveDNSProvider (line 38) | gandiLiveDNSProvider = "livedns" type GandiChanges (line 41) | type GandiChanges struct type GandiProvider (line 47) | type GandiProvider struct method Zones (line 92) | func (p *GandiProvider) Zones() ([]string, error) { method Records (line 114) | func (p *GandiProvider) Records(_ context.Context) ([]*endpoint.Endpoi... method ApplyChanges (line 155) | func (p *GandiProvider) ApplyChanges(ctx context.Context, changes *pla... method submitChanges (line 165) | func (p *GandiProvider) submitChanges(_ context.Context, changes []*Ga... method newGandiChanges (line 262) | func (p *GandiProvider) newGandiChanges(action string, endpoints []*en... method groupAndFilterByZone (line 283) | func (p *GandiProvider) groupAndFilterByZone(zones []string, changes [... function newProvider (line 55) | func newProvider(domainFilter *endpoint.DomainFilter, dryRun bool) (*Gan... function New (line 88) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... FILE: provider/gandi/gandi_test.go type MockAction (line 31) | type MockAction struct type mockGandiClient (line 37) | type mockGandiClient struct method GetDomainRecords (line 51) | func (m *mockGandiClient) GetDomainRecords(fqdn string) ([]livedns.Dom... method CreateDomainRecord (line 64) | func (m *mockGandiClient) CreateDomainRecord(fqdn, name, recordtype st... method DeleteDomainRecord (line 83) | func (m *mockGandiClient) DeleteDomainRecord(fqdn, name, recordtype st... method UpdateDomainRecordByNameAndType (line 100) | func (m *mockGandiClient) UpdateDomainRecordByNameAndType(fqdn, name, ... method ListDomains (line 119) | func (m *mockGandiClient) ListDomains() ([]domain.ListResponse, error) { constant domainUriPrefix (line 44) | domainUriPrefix = "https://api.gandi.net/v5/domain/domains/" constant exampleDotComUri (line 45) | exampleDotComUri = domainUriPrefix + "example.com" constant exampleDotNetUri (line 46) | exampleDotNetUri = domainUriPrefix + "example.net" function TestNewProvider (line 156) | func TestNewProvider(t *testing.T) { function TestGandiProvider_RecordsReturnsCorrectEndpoints (line 192) | func TestGandiProvider_RecordsReturnsCorrectEndpoints(t *testing.T) { function TestGandiProvider_RecordsOnFilteredDomainsShouldYieldNoEndpoints (line 260) | func TestGandiProvider_RecordsOnFilteredDomainsShouldYieldNoEndpoints(t ... function TestGandiProvider_RecordsWithUnsupportedTypesAreNotReturned (line 283) | func TestGandiProvider_RecordsWithUnsupportedTypesAreNotReturned(t *test... function TestGandiProvider_ApplyChangesMakesExpectedAPICalls (line 305) | func TestGandiProvider_ApplyChangesMakesExpectedAPICalls(t *testing.T) { function TestGandiProvider_ApplyChangesRespectsDryRun (line 393) | func TestGandiProvider_ApplyChangesRespectsDryRun(t *testing.T) { function TestGandiProvider_ApplyChangesWithEmptyResultDoesNothing (line 415) | func TestGandiProvider_ApplyChangesWithEmptyResultDoesNothing(t *testing... function TestGandiProvider_ApplyChangesWithUnknownDomainDoesNoUpdate (line 428) | func TestGandiProvider_ApplyChangesWithUnknownDomainDoesNoUpdate(t *test... function TestGandiProvider_ApplyChangesConvertsApexDomain (line 454) | func TestGandiProvider_ApplyChangesConvertsApexDomain(t *testing.T) { function TestGandiProvider_FailingCases (line 494) | func TestGandiProvider_FailingCases(t *testing.T) { FILE: provider/godaddy/client.go constant ErrCodeQuotaExceeded (line 38) | ErrCodeQuotaExceeded = "QUOTA_EXCEEDED" constant DefaultTimeout (line 41) | DefaultTimeout = 180 * time.Second type APIError (line 50) | type APIError struct method Error (line 55) | func (err *APIError) Error() string { type Logger (line 61) | type Logger interface type Client (line 70) | type Client struct method Get (line 153) | func (c *Client) Get(url string, resType any) error { method Patch (line 158) | func (c *Client) Patch(url string, reqBody, resType any) error { method Post (line 163) | func (c *Client) Post(url string, reqBody, resType any) error { method Put (line 168) | func (c *Client) Put(url string, reqBody, resType any) error { method Delete (line 173) | func (c *Client) Delete(url string, resType any) error { method GetWithContext (line 178) | func (c *Client) GetWithContext(ctx context.Context, url string, resTy... method PatchWithContext (line 183) | func (c *Client) PatchWithContext(ctx context.Context, url string, req... method PostWithContext (line 188) | func (c *Client) PostWithContext(ctx context.Context, url string, reqB... method PutWithContext (line 193) | func (c *Client) PutWithContext(ctx context.Context, url string, reqBo... method DeleteWithContext (line 198) | func (c *Client) DeleteWithContext(ctx context.Context, url string, re... method NewRequest (line 203) | func (c *Client) NewRequest(method, path string, reqBody any) (*http.R... method Do (line 235) | func (c *Client) Do(req *http.Request) (*http.Response, error) { method CallAPI (line 289) | func (c *Client) CallAPI(method, path string, reqBody, resType any) er... method CallAPIWithContext (line 313) | func (c *Client) CallAPIWithContext(ctx context.Context, method, path ... method UnmarshalResponse (line 328) | func (c *Client) UnmarshalResponse(response *http.Response, resType an... method validate (line 357) | func (c *Client) validate() error { type GDErrorField (line 93) | type GDErrorField struct type GDErrorResponse (line 101) | type GDErrorResponse struct method String (line 107) | func (r GDErrorResponse) String() string { function NewClient (line 116) | func NewClient(useOTE bool, apiKey, apiSecret string) (*Client, error) { FILE: provider/godaddy/client_test.go function TestClient_DoWhenQuotaExceeded (line 31) | func TestClient_DoWhenQuotaExceeded(t *testing.T) { FILE: provider/godaddy/godaddy.go constant defaultTTL (line 36) | defaultTTL = 600 constant gdCreate (line 37) | gdCreate = 0 constant gdReplace (line 38) | gdReplace = 1 constant gdDelete (line 39) | gdDelete = 2 constant domainsURI (line 41) | domainsURI = "/v1/domains?statuses=ACTIVE,PENDING_DNS_ACTIVE" type gdClient (line 50) | type gdClient interface type GDProvider (line 59) | type GDProvider struct method zones (line 160) | func (p *GDProvider) zones() ([]string, error) { method zonesRecords (line 180) | func (p *GDProvider) zonesRecords(ctx context.Context, all bool) ([]st... method records (line 230) | func (p *GDProvider) records(_ *context.Context, zone string, all bool... method groupByNameAndType (line 264) | func (p *GDProvider) groupByNameAndType(zoneRecords []gdRecords) []*en... method Records (line 318) | func (p *GDProvider) Records(ctx context.Context) ([]*endpoint.Endpoin... method appendChange (line 331) | func (p *GDProvider) appendChange(action int, endpoints []*endpoint.En... method changeAllRecords (line 342) | func (p *GDProvider) changeAllRecords(endpoints []gdEndpoint, zoneReco... method ApplyChanges (line 379) | func (p *GDProvider) ApplyChanges(ctx context.Context, changes *plan.C... type gdEndpoint (line 68) | type gdEndpoint struct type gdRecordField (line 73) | type gdRecordField struct method String (line 584) | func (c gdRecordField) String() string { type gdReplaceRecordField (line 85) | type gdReplaceRecordField struct type gdRecords (line 95) | type gdRecords struct method addRecord (line 449) | func (p *gdRecords) addRecord(client gdClient, endpoint endpoint.Endpo... method replaceRecord (line 475) | func (p *gdRecords) replaceRecord(client gdClient, endpoint endpoint.E... method deleteRecord (line 524) | func (p *gdRecords) deleteRecord(client gdClient, endpoint endpoint.En... method applyEndpoint (line 571) | func (p *gdRecords) applyEndpoint(action int, client gdClient, endpoin... type gdZone (line 101) | type gdZone struct type gdZoneIDName (line 119) | type gdZoneIDName method add (line 121) | func (z gdZoneIDName) add(zoneID string, zoneRecord *gdRecords) { method findZoneRecord (line 125) | func (z gdZoneIDName) findZoneRecord(hostname string) (string, *gdReco... function newProvider (line 141) | func newProvider(domainFilter *endpoint.DomainFilter, ttl int64, apiKey,... function New (line 156) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function countTargets (line 588) | func countTargets(p *plan.Changes) int { function maxOf (line 601) | func maxOf(vars ...int64) int64 { function toString (line 605) | func toString(obj any) string { FILE: provider/godaddy/godaddy_test.go type mockGoDaddyClient (line 34) | type mockGoDaddyClient struct method Post (line 50) | func (c *mockGoDaddyClient) Post(endpoint string, input any, output an... method Patch (line 60) | func (c *mockGoDaddyClient) Patch(endpoint string, input any, output a... method Put (line 70) | func (c *mockGoDaddyClient) Put(endpoint string, input any, output any... method Get (line 80) | func (c *mockGoDaddyClient) Get(endpoint string, output any) error { method Delete (line 90) | func (c *mockGoDaddyClient) Delete(endpoint string, output any) error { function newMockGoDaddyClient (line 39) | func newMockGoDaddyClient(t *testing.T) *mockGoDaddyClient { function TestGoDaddyZones (line 100) | func TestGoDaddyZones(t *testing.T) { function TestGoDaddyZoneRecords (line 134) | func TestGoDaddyZoneRecords(t *testing.T) { function TestGoDaddyRecords (line 233) | func TestGoDaddyRecords(t *testing.T) { function TestGoDaddyChange (line 329) | func TestGoDaddyChange(t *testing.T) { constant operationFailedTestErrCode (line 394) | operationFailedTestErrCode = "GD500" constant operationFailedTestReason (line 395) | operationFailedTestReason = "Could not apply request" constant recordNotFoundErrCode (line 396) | recordNotFoundErrCode = "GD404" constant recordNotFoundReason (line 397) | recordNotFoundReason = "The requested record is not found in DNS z... function TestGoDaddyErrorResponse (line 400) | func TestGoDaddyErrorResponse(t *testing.T) { FILE: provider/google/google.go constant defaultTTL (line 41) | defaultTTL = 300 type managedZonesCreateCallInterface (line 44) | type managedZonesCreateCallInterface interface type managedZonesListCallInterface (line 48) | type managedZonesListCallInterface interface type managedZonesServiceInterface (line 52) | type managedZonesServiceInterface interface type resourceRecordSetsListCallInterface (line 57) | type resourceRecordSetsListCallInterface interface type resourceRecordSetsClientInterface (line 61) | type resourceRecordSetsClientInterface interface type changesCreateCallInterface (line 65) | type changesCreateCallInterface interface type changesServiceInterface (line 69) | type changesServiceInterface interface type resourceRecordSetsService (line 73) | type resourceRecordSetsService struct method List (line 77) | func (r resourceRecordSetsService) List(project string, managedZone st... type managedZonesService (line 81) | type managedZonesService struct method Create (line 85) | func (m managedZonesService) Create(project string, managedzone *dns.M... method List (line 89) | func (m managedZonesService) List(project string) managedZonesListCall... type changesService (line 93) | type changesService struct method Create (line 97) | func (c changesService) Create(project string, managedZone string, cha... type GoogleProvider (line 102) | type GoogleProvider struct method Zones (line 174) | func (p *GoogleProvider) Zones(ctx context.Context) (map[string]*dns.M... method Records (line 211) | func (p *GoogleProvider) Records(ctx context.Context) ([]*endpoint.End... method ApplyChanges (line 240) | func (p *GoogleProvider) ApplyChanges(ctx context.Context, changes *pl... method SupportedRecordType (line 254) | func (p *GoogleProvider) SupportedRecordType(recordType string) bool { method newFilteredRecords (line 264) | func (p *GoogleProvider) newFilteredRecords(endpoints []*endpoint.Endp... method submitChange (line 277) | func (p *GoogleProvider) submitChange(ctx context.Context, change *dns... function New (line 129) | func New(ctx context.Context, cfg *externaldns.Config, domainFilter *end... function newProvider (line 134) | func newProvider(ctx context.Context, project string, domainFilter *endp... function batchChange (line 317) | func batchChange(change *dns.Change, batchSize int) []*dns.Change { function separateChange (line 390) | func separateChange(zones map[string]*dns.ManagedZone, change *dns.Chang... function newRecord (line 427) | func newRecord(ep *endpoint.Endpoint) *dns.ResourceRecordSet { FILE: provider/google/google_test.go type mockManagedZonesCreateCall (line 46) | type mockManagedZonesCreateCall struct method Do (line 51) | func (m *mockManagedZonesCreateCall) Do(_ ...googleapi.CallOption) (*d... type mockManagedZonesListCall (line 63) | type mockManagedZonesListCall struct method Pages (line 68) | func (m *mockManagedZonesListCall) Pages(_ context.Context, f func(*dn... type mockManagedZonesClient (line 84) | type mockManagedZonesClient struct method Create (line 88) | func (m *mockManagedZonesClient) Create(project string, managedZone *d... method List (line 92) | func (m *mockManagedZonesClient) List(project string) managedZonesList... type mockResourceRecordSetsListCall (line 96) | type mockResourceRecordSetsListCall struct method Pages (line 102) | func (m *mockResourceRecordSetsListCall) Pages(_ context.Context, f fu... type mockResourceRecordSetsClient (line 122) | type mockResourceRecordSetsClient struct method List (line 126) | func (m *mockResourceRecordSetsClient) List(project string, managedZon... type mockChangesCreateCall (line 130) | type mockChangesCreateCall struct method Do (line 136) | func (m *mockChangesCreateCall) Do(_ ...googleapi.CallOption) (*dns.Ch... type mockChangesClient (line 169) | type mockChangesClient struct method Create (line 171) | func (m *mockChangesClient) Create(project string, managedZone string,... function zoneKey (line 175) | func zoneKey(project, zoneName string) string { function recordKey (line 179) | func recordKey(recordType, recordName string) string { function isValidRecordSet (line 183) | func isValidRecordSet(recordSet *dns.ResourceRecordSet) bool { function hasTrailingDot (line 206) | func hasTrailingDot(target string) bool { function TestGoogleZonesIDFilter (line 210) | func TestGoogleZonesIDFilter(t *testing.T) { function TestGoogleZonesNameFilter (line 221) | func TestGoogleZonesNameFilter(t *testing.T) { function TestGoogleZonesVisibilityFilterPublic (line 232) | func TestGoogleZonesVisibilityFilterPublic(t *testing.T) { function TestGoogleZonesVisibilityFilterPrivate (line 243) | func TestGoogleZonesVisibilityFilterPrivate(t *testing.T) { function TestGoogleZonesVisibilityFilterPrivatePeering (line 254) | func TestGoogleZonesVisibilityFilterPrivatePeering(t *testing.T) { function TestGoogleRecords (line 265) | func TestGoogleRecords(t *testing.T) { function TestGoogleRecordsFilter (line 280) | func TestGoogleRecordsFilter(t *testing.T) { function TestGoogleApplyChanges (line 328) | func TestGoogleApplyChanges(t *testing.T) { function TestGoogleApplyChangesDryRun (line 405) | func TestGoogleApplyChangesDryRun(t *testing.T) { function TestGoogleApplyChangesEmpty (line 456) | func TestGoogleApplyChangesEmpty(t *testing.T) { function TestNewFilteredRecords (line 461) | func TestNewFilteredRecords(t *testing.T) { function TestSeparateChanges (line 490) | func TestSeparateChanges(t *testing.T) { function TestGoogleBatchChangeSet (line 539) | func TestGoogleBatchChangeSet(t *testing.T) { function TestGoogleBatchChangeSetExceeding (line 561) | func TestGoogleBatchChangeSetExceeding(t *testing.T) { function TestGoogleBatchChangeSetExceedingNameChange (line 597) | func TestGoogleBatchChangeSetExceedingNameChange(t *testing.T) { function TestSoftErrListZonesConflict (line 615) | func TestSoftErrListZonesConflict(t *testing.T) { function TestSoftErrListRecordsConflict (line 625) | func TestSoftErrListRecordsConflict(t *testing.T) { function sortChangesByName (line 635) | func sortChangesByName(cs *dns.Change) { function validateZones (line 645) | func validateZones(t *testing.T, zones map[string]*dns.ManagedZone, expe... function validateZone (line 653) | func validateZone(t *testing.T, zone *dns.ManagedZone, expected *dns.Man... function validateChange (line 659) | func validateChange(t *testing.T, change *dns.Change, expected *dns.Chan... function validateChangeRecords (line 664) | func validateChangeRecords(t *testing.T, records []*dns.ResourceRecordSe... function validateChangeRecord (line 672) | func validateChangeRecord(t *testing.T, record *dns.ResourceRecordSet, e... function newGoogleProviderZoneOverlap (line 679) | func newGoogleProviderZoneOverlap(t *testing.T, domainFilter *endpoint.D... function newGoogleProvider (line 744) | func newGoogleProvider(t *testing.T, domainFilter *endpoint.DomainFilter... function createZone (line 787) | func createZone(t *testing.T, p *GoogleProvider, zone *dns.ManagedZone) { function setupGoogleRecords (line 798) | func setupGoogleRecords(t *testing.T, provider *GoogleProvider, endpoint... function clearGoogleRecords (line 817) | func clearGoogleRecords(t *testing.T, provider *GoogleProvider, zone str... function validateEndpoints (line 838) | func validateEndpoints(t *testing.T, endpoints []*endpoint.Endpoint, exp... FILE: provider/inmemory/inmemory.go type InMemoryProvider (line 50) | type InMemoryProvider struct method CreateZone (line 129) | func (im *InMemoryProvider) CreateZone(newZone string) error { method Zones (line 134) | func (im *InMemoryProvider) Zones() map[string]string { method Records (line 139) | func (im *InMemoryProvider) Records(_ context.Context) ([]*endpoint.En... method ApplyChanges (line 161) | func (im *InMemoryProvider) ApplyChanges(ctx context.Context, changes ... function New (line 60) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... type InMemoryOption (line 66) | type InMemoryOption function InMemoryWithLogging (line 69) | func InMemoryWithLogging() InMemoryOption { function InMemoryWithDomain (line 89) | func InMemoryWithDomain(domainFilter *endpoint.DomainFilter) InMemoryOpt... function InMemoryInitZones (line 96) | func InMemoryInitZones(zones []string) InMemoryOption { function NewInMemoryProvider (line 107) | func NewInMemoryProvider(opts ...InMemoryOption) *InMemoryProvider { function newProvider (line 112) | func newProvider(opts ...InMemoryOption) *InMemoryProvider { function copyEndpoints (line 216) | func copyEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint { type filter (line 228) | type filter struct method Zones (line 233) | func (f *filter) Zones(zones map[string]string) map[string]string { method EndpointZoneID (line 245) | func (f *filter) EndpointZoneID(endpoint *endpoint.Endpoint, zones map... type zone (line 256) | type zone type inMemoryClient (line 258) | type inMemoryClient struct method Records (line 266) | func (c *inMemoryClient) Records(zone string) ([]*endpoint.Endpoint, e... method Zones (line 278) | func (c *inMemoryClient) Zones() map[string]string { method CreateZone (line 286) | func (c *inMemoryClient) CreateZone(zone string) error { method ApplyChanges (line 295) | func (c *inMemoryClient) ApplyChanges(_ context.Context, zoneID string... method updateMesh (line 311) | func (c *inMemoryClient) updateMesh(mesh sets.Set[endpoint.EndpointKey... method validateChangeBatch (line 320) | func (c *inMemoryClient) validateChangeBatch(zone string, changes *pla... function newInMemoryClient (line 262) | func newInMemoryClient() *inMemoryClient { FILE: provider/inmemory/inmemory_test.go function TestInMemoryProvider (line 33) | func TestInMemoryProvider(t *testing.T) { function testInMemoryRecords (line 41) | func testInMemoryRecords(t *testing.T) { function testInMemoryValidateChangeBatch (line 114) | func testInMemoryValidateChangeBatch(t *testing.T) { function getInitData (line 419) | func getInitData() map[string]zone { function testInMemoryApplyChanges (line 430) | func testInMemoryApplyChanges(t *testing.T) { function testNewInMemoryProvider (line 563) | func testNewInMemoryProvider(t *testing.T) { function testInMemoryCreateZone (line 568) | func testInMemoryCreateZone(t *testing.T) { function makeZone (line 576) | func makeZone(s ...string) map[endpoint.EndpointKey]*endpoint.Endpoint { FILE: provider/linode/linode.go type LinodeDomainClient (line 39) | type LinodeDomainClient interface type LinodeProvider (line 48) | type LinodeProvider struct method Zones (line 112) | func (p *LinodeProvider) Zones(ctx context.Context) ([]linodego.Domain... method Records (line 122) | func (p *LinodeProvider) Records(ctx context.Context) ([]*endpoint.End... method fetchRecords (line 154) | func (p *LinodeProvider) fetchRecords(ctx context.Context, domainID in... method fetchZones (line 163) | func (p *LinodeProvider) fetchZones(ctx context.Context) ([]linodego.D... method submitChanges (line 183) | func (p *LinodeProvider) submitChanges(ctx context.Context, changes Li... method ApplyChanges (line 271) | func (p *LinodeProvider) ApplyChanges(ctx context.Context, changes *pl... type LinodeChanges (line 56) | type LinodeChanges struct type LinodeChangeCreate (line 63) | type LinodeChangeCreate struct type LinodeChangeUpdate (line 69) | type LinodeChangeUpdate struct type LinodeChangeDelete (line 76) | type LinodeChangeDelete struct function New (line 82) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 87) | func newProvider(domainFilter *endpoint.DomainFilter, dryRun bool) (*Lin... function getWeight (line 250) | func getWeight(recordType linodego.DomainRecordType) *int { function getPort (line 260) | func getPort() *int { function getPriority (line 265) | func getPriority() *int { function endpointsByZone (line 502) | func endpointsByZone(zoneNameIDMapper provider.ZoneIDName, endpoints []*... function convertRecordType (line 517) | func convertRecordType(recordType string) (linodego.DomainRecordType, er... function getStrippedRecordName (line 536) | func getStrippedRecordName(zone linodego.Domain, ep endpoint.Endpoint) s... function getRecordID (line 545) | func getRecordID(records []linodego.DomainRecord, zone linodego.Domain, ... FILE: provider/linode/linode_test.go type MockDomainClient (line 33) | type MockDomainClient struct method ListDomainRecords (line 37) | func (m *MockDomainClient) ListDomainRecords(ctx context.Context, doma... method ListDomains (line 42) | func (m *MockDomainClient) ListDomains(ctx context.Context, opts *lino... method CreateDomainRecord (line 47) | func (m *MockDomainClient) CreateDomainRecord(ctx context.Context, dom... method DeleteDomainRecord (line 52) | func (m *MockDomainClient) DeleteDomainRecord(ctx context.Context, dom... method UpdateDomainRecord (line 57) | func (m *MockDomainClient) UpdateDomainRecord(ctx context.Context, dom... function createZones (line 62) | func createZones() []linodego.Domain { function createFooRecords (line 70) | func createFooRecords() []linodego.DomainRecord { function createBarRecords (line 89) | func createBarRecords() []linodego.DomainRecord { function createBazRecords (line 93) | func createBazRecords() []linodego.DomainRecord { function TestLinodeConvertRecordType (line 117) | func TestLinodeConvertRecordType(t *testing.T) { function TestNewProvider (line 146) | func TestNewProvider(t *testing.T) { function TestLinodeStripRecordName (line 156) | func TestLinodeStripRecordName(t *testing.T) { function TestLinodeFetchZonesNoFilters (line 170) | func TestLinodeFetchZonesNoFilters(t *testing.T) { function TestLinodeFetchZonesWithFilter (line 193) | func TestLinodeFetchZonesWithFilter(t *testing.T) { function TestLinodeGetStrippedRecordName (line 219) | func TestLinodeGetStrippedRecordName(t *testing.T) { function TestLinodeRecords (line 233) | func TestLinodeRecords(t *testing.T) { function TestLinodeApplyChanges (line 283) | func TestLinodeApplyChanges(t *testing.T) { function TestLinodeApplyChangesTargetAdded (line 399) | func TestLinodeApplyChangesTargetAdded(t *testing.T) { function TestLinodeApplyChangesTargetRemoved (line 458) | func TestLinodeApplyChangesTargetRemoved(t *testing.T) { function TestLinodeApplyChangesNoChanges (line 514) | func TestLinodeApplyChangesNoChanges(t *testing.T) { FILE: provider/ns1/ns1.go constant ns1Create (line 40) | ns1Create = "CREATE" constant ns1Delete (line 42) | ns1Delete = "DELETE" constant ns1Update (line 44) | ns1Update = "UPDATE" constant defaultTTL (line 46) | defaultTTL = 10 type NS1DomainClient (line 50) | type NS1DomainClient interface type NS1DomainService (line 59) | type NS1DomainService struct method CreateRecord (line 64) | func (n NS1DomainService) CreateRecord(r *dns.Record) (*http.Response,... method DeleteRecord (line 69) | func (n NS1DomainService) DeleteRecord(zone string, domain string, t s... method UpdateRecord (line 74) | func (n NS1DomainService) UpdateRecord(r *dns.Record) (*http.Response,... method GetZone (line 79) | func (n NS1DomainService) GetZone(zone string) (*dns.Zone, *http.Respo... method ListZones (line 84) | func (n NS1DomainService) ListZones() ([]*dns.Zone, *http.Response, er... type NS1Config (line 89) | type NS1Config struct type NS1Provider (line 99) | type NS1Provider struct method Records (line 164) | func (p *NS1Provider) Records(_ context.Context) ([]*endpoint.Endpoint... method ns1BuildRecord (line 196) | func (p *NS1Provider) ns1BuildRecord(zoneName string, change *ns1Chang... method ns1SubmitChanges (line 212) | func (p *NS1Provider) ns1SubmitChanges(changes []*ns1Change) error { method zonesFiltered (line 265) | func (p *NS1Provider) zonesFiltered() ([]*dns.Zone, error) { method ApplyChanges (line 293) | func (p *NS1Provider) ApplyChanges(_ context.Context, changes *plan.Ch... function New (line 109) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 123) | func newProvider(config NS1Config) (*NS1Provider, error) { function newNS1ProviderWithHTTPClient (line 127) | func newNS1ProviderWithHTTPClient(config NS1Config, client *http.Client)... type ns1Change (line 287) | type ns1Change struct function newNS1Changes (line 304) | func newNS1Changes(action string, endpoints []*endpoint.Endpoint) []*ns1... function ns1ChangesByZone (line 319) | func ns1ChangesByZone(zones []*dns.Zone, changeSets []*ns1Change) map[st... FILE: provider/ns1/ns1_test.go type MockNS1DomainClient (line 36) | type MockNS1DomainClient struct method CreateRecord (line 40) | func (m *MockNS1DomainClient) CreateRecord(_ *dns.Record) (*http.Respo... method DeleteRecord (line 44) | func (m *MockNS1DomainClient) DeleteRecord(_ string, _ string, _ strin... method UpdateRecord (line 48) | func (m *MockNS1DomainClient) UpdateRecord(_ *dns.Record) (*http.Respo... method GetZone (line 52) | func (m *MockNS1DomainClient) GetZone(zone string) (*dns.Zone, *http.R... method ListZones (line 73) | func (m *MockNS1DomainClient) ListZones() ([]*dns.Zone, *http.Response... type MockNS1GetZoneFail (line 81) | type MockNS1GetZoneFail struct method CreateRecord (line 83) | func (m *MockNS1GetZoneFail) CreateRecord(_ *dns.Record) (*http.Respon... method DeleteRecord (line 87) | func (m *MockNS1GetZoneFail) DeleteRecord(_ string, _ string, _ string... method UpdateRecord (line 91) | func (m *MockNS1GetZoneFail) UpdateRecord(_ *dns.Record) (*http.Respon... method GetZone (line 95) | func (m *MockNS1GetZoneFail) GetZone(_ string) (*dns.Zone, *http.Respo... method ListZones (line 99) | func (m *MockNS1GetZoneFail) ListZones() ([]*dns.Zone, *http.Response,... type MockNS1ListZonesFail (line 107) | type MockNS1ListZonesFail struct method CreateRecord (line 109) | func (m *MockNS1ListZonesFail) CreateRecord(_ *dns.Record) (*http.Resp... method DeleteRecord (line 113) | func (m *MockNS1ListZonesFail) DeleteRecord(_ string, _ string, _ stri... method UpdateRecord (line 117) | func (m *MockNS1ListZonesFail) UpdateRecord(_ *dns.Record) (*http.Resp... method GetZone (line 121) | func (m *MockNS1ListZonesFail) GetZone(_ string) (*dns.Zone, *http.Res... method ListZones (line 125) | func (m *MockNS1ListZonesFail) ListZones() ([]*dns.Zone, *http.Respons... function TestNS1Records (line 129) | func TestNS1Records(t *testing.T) { function TestNewNS1Provider (line 151) | func TestNewNS1Provider(t *testing.T) { function TestNS1Zones (line 166) | func TestNS1Zones(t *testing.T) { function validateNS1Zones (line 181) | func validateNS1Zones(t *testing.T, zones []*dns.Zone, expected []*dns.Z... function TestNS1BuildRecord (line 189) | func TestNS1BuildRecord(t *testing.T) { function TestNS1ApplyChanges (line 226) | func TestNS1ApplyChanges(t *testing.T) { function TestNewNS1Changes (line 248) | func TestNewNS1Changes(t *testing.T) { function TestNewNS1ChangesByZone (line 276) | func TestNewNS1ChangesByZone(t *testing.T) { FILE: provider/oci/cache.go type zoneCache (line 25) | type zoneCache struct method Reset (line 31) | func (z *zoneCache) Reset(zones map[string]dns.ZoneSummary) { method Get (line 38) | func (z *zoneCache) Get() map[string]dns.ZoneSummary { method Expired (line 42) | func (z *zoneCache) Expired() bool { FILE: provider/oci/cache_test.go function TestZoneCache (line 27) | func TestZoneCache(t *testing.T) { FILE: provider/oci/oci.go constant defaultTTL (line 40) | defaultTTL = 300 type OCIAuthConfig (line 43) | type OCIAuthConfig struct type OCIConfig (line 55) | type OCIConfig struct type OCIProvider (line 63) | type OCIProvider struct method zones (line 170) | func (p *OCIProvider) zones(ctx context.Context) (map[string]dns.ZoneS... method addPaginatedZones (line 227) | func (p *OCIProvider) addPaginatedZones(ctx context.Context, zones map... method newFilteredRecordOperations (line 255) | func (p *OCIProvider) newFilteredRecordOperations(endpoints []*endpoin... method Records (line 279) | func (p *OCIProvider) Records(ctx context.Context) ([]*endpoint.Endpoi... method ApplyChanges (line 324) | func (p *OCIProvider) ApplyChanges(ctx context.Context, changes *plan.... method AdjustEndpoints (line 372) | func (p *OCIProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ... type ociDNSClient (line 76) | type ociDNSClient interface function New (line 83) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function loadOCIConfig (line 102) | func loadOCIConfig(path string) (*OCIConfig, error) { function newProvider (line 116) | func newProvider(cfg OCIConfig, domainFilter *endpoint.DomainFilter, zon... function mergeEndpointsMultiTargets (line 195) | func mergeEndpointsMultiTargets(endpoints []*endpoint.Endpoint) []*endpo... function newRecordOperation (line 386) | func newRecordOperation(ep *endpoint.Endpoint, opType dns.RecordOperatio... function operationsByZone (line 409) | func operationsByZone(zones map[string]dns.ZoneSummary, ops []dns.Record... FILE: provider/oci/oci_test.go type mockOCIDNSClient (line 37) | type mockOCIDNSClient struct method ListZones (line 73) | func (c *mockOCIDNSClient) ListZones(_ context.Context, request dns.Li... method GetZoneRecords (line 85) | func (c *mockOCIDNSClient) GetZoneRecords(_ context.Context, request d... method PatchZoneRecords (line 128) | func (c *mockOCIDNSClient) PatchZoneRecords(_ context.Context, _ dns.P... function buildZoneResponseItems (line 62) | func buildZoneResponseItems(scope dns.ListZonesScopeEnum, privateZones, ... function newOCIProvider (line 133) | func newOCIProvider(client ociDNSClient, domainFilter *endpoint.DomainFi... function validateOCIZones (line 149) | func validateOCIZones(t *testing.T, actual, expected map[string]dns.Zone... function TestNewOCIProvider (line 159) | func TestNewOCIProvider(t *testing.T) { function TestOCIZones (line 245) | func TestOCIZones(t *testing.T) { function TestOCIRecords (line 322) | func TestOCIRecords(t *testing.T) { function TestNewRecordOperation (line 367) | func TestNewRecordOperation(t *testing.T) { function TestOperationsByZone (line 430) | func TestOperationsByZone(t *testing.T) { type mutableMockOCIDNSClient (line 528) | type mutableMockOCIDNSClient struct method ListZones (line 553) | func (c *mutableMockOCIDNSClient) ListZones(_ context.Context, _ dns.L... method GetZoneRecords (line 561) | func (c *mutableMockOCIDNSClient) GetZoneRecords(_ context.Context, re... method PatchZoneRecords (line 595) | func (c *mutableMockOCIDNSClient) PatchZoneRecords(_ context.Context, ... function newMutableMockOCIDNSClient (line 533) | func newMutableMockOCIDNSClient(zones []dns.ZoneSummary, recordsByZone m... function ociRecordKey (line 581) | func ociRecordKey(rType, domain string, ip string) string { function sortEndpointTargets (line 589) | func sortEndpointTargets(endpoints []*endpoint.Endpoint) { function TestMutableMockOCIDNSClient (line 632) | func TestMutableMockOCIDNSClient(t *testing.T) { function TestOCIApplyChanges (line 713) | func TestOCIApplyChanges(t *testing.T) { FILE: provider/ovh/ovh.go constant defaultTTL (line 45) | defaultTTL = 0 constant ovhCreate (line 46) | ovhCreate = iota constant ovhDelete (line 47) | ovhDelete constant ovhUpdate (line 48) | ovhUpdate type OVHProvider (line 57) | type OVHProvider struct method Records (line 158) | func (p *OVHProvider) Records(ctx context.Context) ([]*endpoint.Endpoi... method computeSingleZoneChanges (line 221) | func (p *OVHProvider) computeSingleZoneChanges(_ context.Context, zone... method handleSingleZoneUpdate (line 240) | func (p *OVHProvider) handleSingleZoneUpdate(ctx context.Context, zone... method ApplyChanges (line 268) | func (p *OVHProvider) ApplyChanges(ctx context.Context, changes *plan.... method refresh (line 309) | func (p *OVHProvider) refresh(ctx context.Context, zone string) error { method change (line 328) | func (p *OVHProvider) change(ctx context.Context, change ovhChange) er... method invalidateCache (line 364) | func (p *OVHProvider) invalidateCache(zone string) { method zonesRecords (line 368) | func (p *OVHProvider) zonesRecords(ctx context.Context) ([]string, []o... method zones (line 390) | func (p *OVHProvider) zones(ctx context.Context) ([]string, error) { method records (line 414) | func (p *OVHProvider) records(ctx context.Context, zone *string, recor... method record (line 476) | func (p *OVHProvider) record(ctx context.Context, zone *string, id uin... method newOvhChangeCreateDelete (line 525) | func (p *OVHProvider) newOvhChangeCreateDelete(action int, endpoints [... method newOvhChangeUpdate (line 600) | func (p *OVHProvider) newOvhChangeUpdate(endpointsOld []*endpoint.Endp... method formatCNAMETarget (line 745) | func (p *OVHProvider) formatCNAMETarget(change *ovhChange) { type ovhClient (line 89) | type ovhClient interface type dnsClient (line 96) | type dnsClient interface type ovhRecordFields (line 100) | type ovhRecordFields struct type ovhRecordFieldUpdate (line 105) | type ovhRecordFieldUpdate struct type ovhRecord (line 111) | type ovhRecord struct method String (line 117) | func (r ovhRecord) String() string { type ovhChange (line 121) | type ovhChange struct method String (line 726) | func (c *ovhChange) String() string { function New (line 127) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 132) | func newProvider( function planChangesByZoneName (line 170) | func planChangesByZoneName(zones []string, changes *plan.Changes) (map[s... type ovhSoa (line 408) | type ovhSoa struct function ovhGroupByNameAndType (line 492) | func ovhGroupByNameAndType(records []ovhRecord) []*endpoint.Endpoint { function convertDNSNameIntoSubDomain (line 581) | func convertDNSNameIntoSubDomain(DNSName string, zoneName string) string... function normalizeDNSName (line 596) | func normalizeDNSName(dnsName string) string { FILE: provider/ovh/ovh_test.go type mockOvhClient (line 39) | type mockOvhClient struct method PostWithContext (line 43) | func (c *mockOvhClient) PostWithContext(_ context.Context, endpoint st... method PutWithContext (line 53) | func (c *mockOvhClient) PutWithContext(_ context.Context, endpoint str... method GetWithContext (line 63) | func (c *mockOvhClient) GetWithContext(_ context.Context, endpoint str... method DeleteWithContext (line 73) | func (c *mockOvhClient) DeleteWithContext(_ context.Context, endpoint ... type mockDnsClient (line 83) | type mockDnsClient struct method ExchangeContext (line 87) | func (c *mockDnsClient) ExchangeContext(ctx context.Context, m *dns.Ms... function TestOvhZones (line 96) | func TestOvhZones(t *testing.T) { function TestOvhZoneRecords (line 123) | func TestOvhZoneRecords(t *testing.T) { function TestOvhZoneRecordsCache (line 185) | func TestOvhZoneRecordsCache(t *testing.T) { function TestOvhRecords (line 285) | func TestOvhRecords(t *testing.T) { function TestOvhComputeChanges (line 319) | func TestOvhComputeChanges(t *testing.T) { function TestOvhRefresh (line 364) | func TestOvhRefresh(t *testing.T) { function TestOvhNewChange (line 374) | func TestOvhNewChange(t *testing.T) { function TestOvhApplyChanges (line 441) | func TestOvhApplyChanges(t *testing.T) { function TestOvhApplyChangesPunyCode (line 589) | func TestOvhApplyChangesPunyCode(t *testing.T) { function TestOvhChange (line 610) | func TestOvhChange(t *testing.T) { function TestOvhRecordString (line 639) | func TestOvhRecordString(t *testing.T) { function TestNewOvhProvider (line 645) | func TestNewOvhProvider(t *testing.T) { FILE: provider/pdns/pdns.go type pdnsChangeType (line 44) | type pdnsChangeType constant apiBase (line 47) | apiBase = "/api/v1" constant defaultTTL (line 49) | defaultTTL = 300 constant PdnsDelete (line 56) | PdnsDelete pdnsChangeType = "DELETE" constant PdnsReplace (line 58) | PdnsReplace pdnsChangeType = "REPLACE" constant retryLimit (line 60) | retryLimit = 3 constant retryAfterTime (line 62) | retryAfterTime = 250 * time.Millisecond type PDNSConfig (line 76) | type PDNSConfig struct type TLSConfig (line 86) | type TLSConfig struct method setHTTPClient (line 93) | func (tlsConfig *TLSConfig) setHTTPClient(pdnsClientConfig *pgo.Config... function stringifyHTTPResponseBody (line 129) | func stringifyHTTPResponseBody(r *http.Response) string { type PDNSAPIProvider (line 141) | type PDNSAPIProvider interface type PDNSAPIClient (line 148) | type PDNSAPIClient struct method ListZones (line 157) | func (c *PDNSAPIClient) ListZones() ([]pgo.Zone, *http.Response, error) { method ListZone (line 195) | func (c *PDNSAPIClient) ListZone(zoneID string) (pgo.Zone, *http.Respo... method PatchZone (line 212) | func (c *PDNSAPIClient) PatchZone(zoneID string, zoneStruct pgo.Zone) ... function partitionZones (line 176) | func partitionZones(zones []pgo.Zone, domainFilter *endpoint.DomainFilte... type PDNSProvider (line 230) | type PDNSProvider struct method filteredZones (line 295) | func (p *PDNSProvider) filteredZones() ([]pgo.Zone, []pgo.Zone, error) { method GetDomainFilter (line 304) | func (p *PDNSProvider) GetDomainFilter() endpoint.DomainFilterInterface { method hasAliasAnnotation (line 324) | func (p *PDNSProvider) hasAliasAnnotation(ep *endpoint.Endpoint) bool { method convertRRSetToEndpoints (line 329) | func (p *PDNSProvider) convertRRSetToEndpoints(rr pgo.RrSet) []*endpoi... method ConvertEndpointsToZones (line 348) | func (p *PDNSProvider) ConvertEndpointsToZones(eps []*endpoint.Endpoin... method mutateRecords (line 468) | func (p *PDNSProvider) mutateRecords(endpoints []*endpoint.Endpoint, c... method Records (line 490) | func (p *PDNSProvider) Records(_ context.Context) ([]*endpoint.Endpoin... method AdjustEndpoints (line 514) | func (p *PDNSProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint)... method ApplyChanges (line 528) | func (p *PDNSProvider) ApplyChanges(_ context.Context, changes *plan.C... function New (line 237) | func New(ctx context.Context, cfg *externaldns.Config, domainFilter *end... function newProvider (line 257) | func newProvider(ctx context.Context, config PDNSConfig) (*PDNSProvider,... FILE: provider/pdns/pdns_test.go type PDNSAPIClientStub (line 690) | type PDNSAPIClientStub struct method ListZones (line 692) | func (c *PDNSAPIClientStub) ListZones() ([]pgo.Zone, *http.Response, e... method ListZone (line 696) | func (c *PDNSAPIClientStub) ListZone(_ string) (pgo.Zone, *http.Respon... method PatchZone (line 700) | func (c *PDNSAPIClientStub) PatchZone(_ string, _ pgo.Zone) (*http.Res... type PDNSAPIClientStubEmptyZones (line 706) | type PDNSAPIClientStubEmptyZones struct method ListZones (line 711) | func (c *PDNSAPIClientStubEmptyZones) ListZones() ([]pgo.Zone, *http.R... method ListZone (line 715) | func (c *PDNSAPIClientStubEmptyZones) ListZone(zoneID string) (pgo.Zon... method PatchZone (line 727) | func (c *PDNSAPIClientStubEmptyZones) PatchZone(_ string, zoneStruct p... type PDNSAPIClientStubPatchZoneFailure (line 734) | type PDNSAPIClientStubPatchZoneFailure struct method PatchZone (line 740) | func (c *PDNSAPIClientStubPatchZoneFailure) PatchZone(_ string, _ pgo.... type PDNSAPIClientStubListZoneFailure (line 746) | type PDNSAPIClientStubListZoneFailure struct method ListZone (line 752) | func (c *PDNSAPIClientStubListZoneFailure) ListZone(_ string) (pgo.Zon... type PDNSAPIClientStubListZonesFailure (line 758) | type PDNSAPIClientStubListZonesFailure struct method ListZones (line 764) | func (c *PDNSAPIClientStubListZonesFailure) ListZones() ([]pgo.Zone, *... type PDNSAPIClientStubPartitionZones (line 770) | type PDNSAPIClientStubPartitionZones struct method ListZones (line 775) | func (c *PDNSAPIClientStubPartitionZones) ListZones() ([]pgo.Zone, *ht... method ListZone (line 779) | func (c *PDNSAPIClientStubPartitionZones) ListZone(zoneID string) (pgo... type PDNSAPIClientStubConfigurable (line 795) | type PDNSAPIClientStubConfigurable struct method ListZones (line 800) | func (c *PDNSAPIClientStubConfigurable) ListZones() ([]pgo.Zone, *http... method ListZone (line 807) | func (c *PDNSAPIClientStubConfigurable) ListZone(_ string) (pgo.Zone, ... method PatchZone (line 811) | func (c *PDNSAPIClientStubConfigurable) PatchZone(_ string, _ pgo.Zone... type NewPDNSProviderTestSuite (line 817) | type NewPDNSProviderTestSuite struct method TestPDNSProviderCreate (line 821) | func (suite *NewPDNSProviderTestSuite) TestPDNSProviderCreate() { method TestPDNSProviderCreateTLS (line 860) | func (suite *NewPDNSProviderTestSuite) TestPDNSProviderCreateTLS() { method TestPDNSHasAliasAnnotation (line 900) | func (suite *NewPDNSProviderTestSuite) TestPDNSHasAliasAnnotation() { method TestPDNSRRSetToEndpoints (line 929) | func (suite *NewPDNSProviderTestSuite) TestPDNSRRSetToEndpoints() { method TestPDNSRecords (line 951) | func (suite *NewPDNSProviderTestSuite) TestPDNSRecords() { method TestPDNSConvertEndpointsToZones (line 984) | func (suite *NewPDNSProviderTestSuite) TestPDNSConvertEndpointsToZones... method TestPDNSConvertEndpointsToZonesPartitionZones (line 1067) | func (suite *NewPDNSProviderTestSuite) TestPDNSConvertEndpointsToZones... method TestPDNSmutateRecords (line 1113) | func (suite *NewPDNSProviderTestSuite) TestPDNSmutateRecords() { method TestPDNSClientPartitionZones (line 1145) | func (suite *NewPDNSProviderTestSuite) TestPDNSClientPartitionZones() { method TestPDNSAdjustEndpoints (line 1195) | func (suite *NewPDNSProviderTestSuite) TestPDNSAdjustEndpoints() { method TestPDNSGetDomainFilter (line 1239) | func (suite *NewPDNSProviderTestSuite) TestPDNSGetDomainFilter() { function TestNewPDNSProviderTestSuite (line 1321) | func TestNewPDNSProviderTestSuite(t *testing.T) { function TestPDNSPartitionZonesRegexBehavior (line 1327) | func TestPDNSPartitionZonesRegexBehavior(t *testing.T) { FILE: provider/pihole/client.go type piholeAPI (line 41) | type piholeAPI interface type piholeClient (line 51) | type piholeClient struct method listRecords (line 92) | func (p *piholeClient) listRecords(ctx context.Context, rtype string) ... method createRecord (line 177) | func (p *piholeClient) createRecord(ctx context.Context, ep *endpoint.... method deleteRecord (line 181) | func (p *piholeClient) deleteRecord(ctx context.Context, ep *endpoint.... method aRecordsScript (line 185) | func (p *piholeClient) aRecordsScript() string { method cnameRecordsScript (line 189) | func (p *piholeClient) cnameRecordsScript() string { method urlForRecordType (line 193) | func (p *piholeClient) urlForRecordType(rtype string) (string, error) { method apply (line 209) | func (p *piholeClient) apply(ctx context.Context, action string, ep *e... method retrieveNewToken (line 271) | func (p *piholeClient) retrieveNewToken(ctx context.Context) error { method newDNSActionForm (line 300) | func (p *piholeClient) newDNSActionForm(action string, ep *endpoint.En... method do (line 316) | func (p *piholeClient) do(req *http.Request) (io.ReadCloser, error) { function newPiholeClient (line 58) | func newPiholeClient(cfg PiholeConfig) (piholeAPI, error) { type actionResponse (line 204) | type actionResponse struct function parseTokenFromLogin (line 328) | func parseTokenFromLogin(body io.ReadCloser) (string, error) { function getAttribute (line 342) | func getAttribute(n *html.Node, key string) (string, bool) { function hasID (line 351) | func hasID(n *html.Node, id string) bool { function traverse (line 361) | func traverse(n *html.Node, id string) *html.Node { function getElementById (line 376) | func getElementById(n *html.Node, id string) *html.Node { FILE: provider/pihole/clientV6.go constant contentTypeJSON (line 41) | contentTypeJSON = "application/json" constant apiAuthPath (line 42) | apiAuthPath = "/api/auth" constant apiConfigDNS (line 43) | apiConfigDNS = "/api/config/dns" type piholeClientV6 (line 47) | type piholeClientV6 struct method getConfigValue (line 84) | func (p *piholeClientV6) getConfigValue(ctx context.Context, rtype str... method listRecords (line 119) | func (p *piholeClientV6) listRecords(ctx context.Context, rtype string... method createRecord (line 180) | func (p *piholeClientV6) createRecord(ctx context.Context, ep *endpoin... method deleteRecord (line 184) | func (p *piholeClientV6) deleteRecord(ctx context.Context, ep *endpoin... method aRecordsScript (line 188) | func (p *piholeClientV6) aRecordsScript() string { method cnameRecordsScript (line 192) | func (p *piholeClientV6) cnameRecordsScript() string { method urlForRecordType (line 196) | func (p *piholeClientV6) urlForRecordType(rtype string) (string, error) { method generateApiUrl (line 241) | func (p *piholeClientV6) generateApiUrl(baseUrl, params string) string { method apply (line 245) | func (p *piholeClientV6) apply(ctx context.Context, action string, ep ... method retrieveNewToken (line 304) | func (p *piholeClientV6) retrieveNewToken(ctx context.Context) error { method checkTokenValidity (line 336) | func (p *piholeClientV6) checkTokenValidity(ctx context.Context) (bool... method do (line 370) | func (p *piholeClientV6) do(req *http.Request) ([]byte, error) { function newPiholeClientV6 (line 54) | func newPiholeClientV6(cfg PiholeConfig) (piholeAPI, error) { type ApiAuthResponse (line 208) | type ApiAuthResponse struct type ApiErrorResponse (line 221) | type ApiErrorResponse struct type ApiRecordsResponse (line 231) | type ApiRecordsResponse struct FILE: provider/pihole/clientV6_test.go function newTestServerV6 (line 33) | func newTestServerV6(t *testing.T, hdlr http.HandlerFunc) *httptest.Serv... type errorTransportV6 (line 39) | type errorTransportV6 struct method RoundTrip (line 41) | func (t *errorTransportV6) RoundTrip(_ *http.Request) (*http.Response,... function TestNewPiholeClientV6 (line 45) | func TestNewPiholeClientV6(t *testing.T) { function TestListRecordsV6 (line 135) | func TestListRecordsV6(t *testing.T) { function TestErrorsV6 (line 338) | func TestErrorsV6(t *testing.T) { function TestTokenValidity (line 478) | func TestTokenValidity(t *testing.T) { function TestDo (line 565) | func TestDo(t *testing.T) { function TestDoRetryOne (line 694) | func TestDoRetryOne(t *testing.T) { function TestDoV6AdditionalCases (line 752) | func TestDoV6AdditionalCases(t *testing.T) { function TestCreateRecordV6 (line 826) | func TestCreateRecordV6(t *testing.T) { function TestDeleteRecordV6 (line 993) | func TestDeleteRecordV6(t *testing.T) { FILE: provider/pihole/client_test.go function newTestServer (line 30) | func newTestServer(t *testing.T, hdlr http.HandlerFunc) *httptest.Server { function TestNewPiholeClient (line 36) | func TestNewPiholeClient(t *testing.T) { function ValidateRecords (line 108) | func ValidateRecords(t *testing.T, records []*endpoint.Endpoint, expecte... function CheckRecordRetrieval (line 124) | func CheckRecordRetrieval(t *testing.T, cl *piholeClient, recordType str... function TestListRecords (line 133) | func TestListRecords(t *testing.T) { function TestErrorScenarios (line 230) | func TestErrorScenarios(t *testing.T) { function TestCreateRecord (line 292) | func TestCreateRecord(t *testing.T) { function TestDeleteRecord (line 421) | func TestDeleteRecord(t *testing.T) { FILE: provider/pihole/pihole.go constant warningMsg (line 39) | warningMsg = "Pi-hole v5 API support is deprecated. Set --pihole-api-ver... type PiholeProvider (line 43) | type PiholeProvider struct method Records (line 104) | func (p *PiholeProvider) Records(ctx context.Context) ([]*endpoint.End... method ApplyChanges (line 122) | func (p *PiholeProvider) ApplyChanges(ctx context.Context, changes *pl... type PiholeConfig (line 50) | type PiholeConfig struct type piholeEntryKey (line 66) | type piholeEntryKey struct function New (line 72) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 86) | func newProvider(cfg PiholeConfig) (*PiholeProvider, error) { FILE: provider/pihole/piholeV6_test.go type testPiholeClientV6 (line 49) | type testPiholeClientV6 struct method listRecords (line 55) | func (t *testPiholeClientV6) listRecords(_ context.Context, rtype stri... method createRecord (line 74) | func (t *testPiholeClientV6) createRecord(_ context.Context, ep *endpo... method deleteRecord (line 80) | func (t *testPiholeClientV6) deleteRecord(_ context.Context, ep *endpo... type requestTrackerV6 (line 92) | type requestTrackerV6 struct method clear (line 97) | func (r *requestTrackerV6) clear() { function TestErrorHandling (line 102) | func TestErrorHandling(t *testing.T) { function TestNewPiholeProviderV6 (line 129) | func TestNewPiholeProviderV6(t *testing.T) { function TestProviderV6 (line 142) | func TestProviderV6(t *testing.T) { function TestProviderV6MultipleTargets (line 257) | func TestProviderV6MultipleTargets(t *testing.T) { FILE: provider/pihole/pihole_test.go type testPiholeClient (line 32) | type testPiholeClient struct method listRecords (line 37) | func (t *testPiholeClient) listRecords(_ context.Context, rtype string... method createRecord (line 47) | func (t *testPiholeClient) createRecord(_ context.Context, ep *endpoin... method deleteRecord (line 53) | func (t *testPiholeClient) deleteRecord(_ context.Context, ep *endpoin... type requestTracker (line 65) | type requestTracker struct method clear (line 70) | func (r *requestTracker) clear() { function TestNewProvider (line 75) | func TestNewProvider(t *testing.T) { function TestNewPiholeProvider_APIVersions (line 88) | func TestNewPiholeProvider_APIVersions(t *testing.T) { function TestProvider_InitialState (line 124) | func TestProvider_InitialState(t *testing.T) { function TestProvider_CreateRecords (line 138) | func TestProvider_CreateRecords(t *testing.T) { function TestProvider_DeleteRecords (line 207) | func TestProvider_DeleteRecords(t *testing.T) { function TestProvider_UpdateRecords (line 294) | func TestProvider_UpdateRecords(t *testing.T) { FILE: provider/plural/client.go type authedTransport (line 31) | type authedTransport struct method RoundTrip (line 36) | func (t *authedTransport) RoundTrip(req *http.Request) (*http.Response... type Client (line 41) | type Client interface type Config (line 47) | type Config struct method BaseUrl (line 85) | func (c *Config) BaseUrl() (string, error) { type client (line 54) | type client struct method DnsRecords (line 96) | func (client *client) DnsRecords() ([]*DnsRecord, error) { method CreateRecord (line 116) | func (client *client) CreateRecord(record *DnsRecord) (*DnsRecord, err... method DeleteRecord (line 141) | func (client *client) DeleteRecord(name, ttype string) error { type DnsRecord (line 60) | type DnsRecord struct function NewClient (line 66) | func NewClient(conf *Config) (Client, error) { FILE: provider/plural/plural.go constant CreateAction (line 34) | CreateAction = "c" constant DeleteAction (line 35) | DeleteAction = "d" type PluralProvider (line 38) | type PluralProvider struct method Records (line 76) | func (p *PluralProvider) Records(_ context.Context) ([]*endpoint.Endpo... method AdjustEndpoints (line 89) | func (p *PluralProvider) AdjustEndpoints(endpoints []*endpoint.Endpoin... method ApplyChanges (line 93) | func (p *PluralProvider) ApplyChanges(_ context.Context, diffs *plan.C... method applyChanges (line 121) | func (p *PluralProvider) applyChanges(changes []*RecordChange) error { type RecordChange (line 43) | type RecordChange struct function New (line 49) | func New(_ context.Context, cfg *externaldns.Config, _ *endpoint.DomainF... function newProvider (line 53) | func newProvider(cluster, provider string) (*PluralProvider, error) { function makeChange (line 110) | func makeChange(change string, target []string, endpoint *endpoint.Endpo... FILE: provider/plural/plural_test.go type ClientStub (line 32) | type ClientStub struct method CreateRecord (line 37) | func (c *ClientStub) CreateRecord(record *DnsRecord) (*DnsRecord, erro... method DeleteRecord (line 43) | func (c *ClientStub) DeleteRecord(name string, ttype string) error { method DnsRecords (line 56) | func (c *ClientStub) DnsRecords() ([]*DnsRecord, error) { function newPluralProvider (line 60) | func newPluralProvider(pluralDNSRecord []*DnsRecord) *PluralProvider { function TestPluralRecords (line 72) | func TestPluralRecords(t *testing.T) { function TestPluralApplyChangesCreate (line 140) | func TestPluralApplyChangesCreate(t *testing.T) { function TestPluralApplyChangesDelete (line 197) | func TestPluralApplyChangesDelete(t *testing.T) { function validateEndpoints (line 375) | func validateEndpoints(t *testing.T, endpoints []*endpoint.Endpoint, exp... FILE: provider/provider.go function NewSoftErrorf (line 36) | func NewSoftErrorf(format string, a ...any) error { function NewSoftError (line 41) | func NewSoftError(err error) error { type Provider (line 46) | type Provider interface type BaseProvider (line 60) | type BaseProvider struct method AdjustEndpoints (line 62) | func (b BaseProvider) AdjustEndpoints(endpoints []*endpoint.Endpoint) ... method GetDomainFilter (line 66) | func (b BaseProvider) GetDomainFilter() endpoint.DomainFilterInterface { type contextKey (line 70) | type contextKey struct method String (line 74) | func (k *contextKey) String() string { return "provider context value ... function EnsureTrailingDot (line 82) | func EnsureTrailingDot(hostname string) string { function Difference (line 92) | func Difference(current, desired []string) ([]string, []string, []string) { FILE: provider/provider_test.go function TestMain (line 28) | func TestMain(m *testing.M) { function TestEnsureTrailingDot (line 33) | func TestEnsureTrailingDot(t *testing.T) { function TestDifference (line 49) | func TestDifference(t *testing.T) { FILE: provider/recordfilter.go function SupportedRecordType (line 21) | func SupportedRecordType(recordType string) bool { FILE: provider/recordfilter_test.go function TestRecordTypeFilter (line 21) | func TestRecordTypeFilter(t *testing.T) { FILE: provider/rfc2136/rfc2136.go constant clockSkew (line 48) | clockSkew = 300 type rfc2136Provider (line 52) | type rfc2136Provider struct method KeyData (line 186) | func (r *rfc2136Provider) KeyData(nameserver string) (string, *gss.Cli... method Records (line 201) | func (r *rfc2136Provider) Records(_ context.Context) ([]*endpoint.Endp... method IncomeTransfer (line 264) | func (r *rfc2136Provider) IncomeTransfer(m *dns.Msg, nameserver string... method List (line 282) | func (r *rfc2136Provider) List() ([]dns.RR, error) { method AddReverseRecord (line 336) | func (r *rfc2136Provider) AddReverseRecord(ip string, hostname string)... method RemoveReverseRecord (line 341) | func (r *rfc2136Provider) RemoveReverseRecord(ip string, hostname stri... method GenerateReverseRecord (line 346) | func (r *rfc2136Provider) GenerateReverseRecord(ip string, hostname st... method ApplyChanges (line 364) | func (r *rfc2136Provider) ApplyChanges(_ context.Context, changes *pla... method UpdateRecord (line 489) | func (r *rfc2136Provider) UpdateRecord(m *dns.Msg, oldEp *endpoint.End... method AddRecord (line 498) | func (r *rfc2136Provider) AddRecord(m *dns.Msg, ep *endpoint.Endpoint)... method RemoveRecord (line 521) | func (r *rfc2136Provider) RemoveRecord(m *dns.Msg, ep *endpoint.Endpoi... method getNextNameserver (line 538) | func (r *rfc2136Provider) getNextNameserver() string { method SendMessage (line 578) | func (r *rfc2136Provider) SendMessage(msg *dns.Msg) error { type TLSConfig (line 92) | type TLSConfig struct type rfc2136Actions (line 109) | type rfc2136Actions interface function New (line 115) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 127) | func newProvider(hosts []string, port int, zoneNames []string, insecure ... function chunkBy (line 645) | func chunkBy(slice []*endpoint.Endpoint, chunkSize int) [][]*endpoint.En... function findMsgZone (line 657) | func findMsgZone(ep *endpoint.Endpoint, zoneNames []string) string { function makeClient (line 668) | func makeClient(r *rfc2136Provider, nameserver string) (*dns.Client, err... FILE: provider/rfc2136/rfc2136_test.go type rfc2136Stub (line 41) | type rfc2136Stub struct method getNextNameserver (line 74) | func (r *rfc2136Stub) getNextNameserver() string { method SendMessage (line 102) | func (r *rfc2136Stub) SendMessage(msg *dns.Msg) error { method setOutput (line 137) | func (r *rfc2136Stub) setOutput(output []string) error { method IncomeTransfer (line 151) | func (r *rfc2136Stub) IncomeTransfer(m *dns.Msg, _ string) (chan *dns.... function newStub (line 52) | func newStub() *rfc2136Stub { function newStubLB (line 63) | func newStubLB(strategy string, nameservers []string) *rfc2136Stub { function getSortedChanges (line 92) | func getSortedChanges(msgs []*dns.Msg) []string { function createRfc2136StubProvider (line 180) | func createRfc2136StubProvider(stub *rfc2136Stub, zoneNames ...string) (... function createRfc2136StubProviderWithHosts (line 191) | func createRfc2136StubProviderWithHosts(stub *rfc2136Stub) (provider.Pro... function createRfc2136TLSStubProvider (line 202) | func createRfc2136TLSStubProvider(stub *rfc2136Stub, tlsConfig TLSConfig... function createRfc2136TLSStubProviderWithHosts (line 206) | func createRfc2136TLSStubProviderWithHosts(stub *rfc2136Stub, tlsConfig ... function createRfc2136StubProviderWithReverse (line 210) | func createRfc2136StubProviderWithReverse(stub *rfc2136Stub) (provider.P... function createRfc2136StubProviderWithZones (line 223) | func createRfc2136StubProviderWithZones(stub *rfc2136Stub) (provider.Pro... function createRfc2136StubProviderWithZonesFilters (line 235) | func createRfc2136StubProviderWithZonesFilters(stub *rfc2136Stub) (provi... function createRfc2136StubProviderWithStrategy (line 247) | func createRfc2136StubProviderWithStrategy(stub *rfc2136Stub, strategy s... function createRfc2136StubProviderWithBatchChangeSize (line 258) | func createRfc2136StubProviderWithBatchChangeSize(stub *rfc2136Stub, bat... function extractUpdateSectionFromMessage (line 269) | func extractUpdateSectionFromMessage(msg fmt.Stringer) []string { function extractZoneFromMessage (line 275) | func extractZoneFromMessage(msg string) string { function TestRfc2136GetRecordsMultipleTargets (line 282) | func TestRfc2136GetRecordsMultipleTargets(t *testing.T) { function TestRfc2136PTRCreation (line 307) | func TestRfc2136PTRCreation(t *testing.T) { function TestRfc2136TLSConfig (line 328) | func TestRfc2136TLSConfig(t *testing.T) { function TestRfc2136TLSConfigWithMultiHosts (line 368) | func TestRfc2136TLSConfigWithMultiHosts(t *testing.T) { function TestRfc2136TLSConfigNoVerify (line 413) | func TestRfc2136TLSConfigNoVerify(t *testing.T) { function TestRfc2136TLSConfigClientAuth (line 453) | func TestRfc2136TLSConfigClientAuth(t *testing.T) { function TestRfc2136GetRecords (line 524) | func TestRfc2136GetRecords(t *testing.T) { function TestRfc2136SendMessage (line 551) | func TestRfc2136SendMessage(t *testing.T) { function TestRfc2136ApplyChanges (line 574) | func TestRfc2136ApplyChanges(t *testing.T) { function TestRfc2136ApplyChangesWithZones (line 632) | func TestRfc2136ApplyChangesWithZones(t *testing.T) { function TestRfc2136ApplyChangesWithZonesFilters (line 696) | func TestRfc2136ApplyChangesWithZonesFilters(t *testing.T) { function TestRfc2136ApplyChangesWithDifferentTTLs (line 769) | func TestRfc2136ApplyChangesWithDifferentTTLs(t *testing.T) { function TestRfc2136ApplyChangesWithUpdate (line 813) | func TestRfc2136ApplyChangesWithUpdate(t *testing.T) { function TestChunkBy (line 890) | func TestChunkBy(t *testing.T) { function contains (line 908) | func contains(arr []*endpoint.Endpoint, name string) bool { function TestCreateRfc2136StubProviderWithHosts (line 918) | func TestCreateRfc2136StubProviderWithHosts(t *testing.T) { function TestRoundRobinLoadBalancing (line 933) | func TestRoundRobinLoadBalancing(t *testing.T) { function TestRandomLoadBalancing (line 952) | func TestRandomLoadBalancing(t *testing.T) { function TestRfc2136ApplyChangesWithMultipleChunks (line 974) | func TestRfc2136ApplyChangesWithMultipleChunks(t *testing.T) { type failingRfc2136Stub (line 1015) | type failingRfc2136Stub struct method SendMessage (line 1019) | func (r *failingRfc2136Stub) SendMessage(_ *dns.Msg) error { method IncomeTransfer (line 1023) | func (r *failingRfc2136Stub) IncomeTransfer(_ *dns.Msg, _ string) (cha... function TestRfc2136NameserverFailureReturnsSoftError (line 1028) | func TestRfc2136NameserverFailureReturnsSoftError(t *testing.T) { FILE: provider/scaleway/interface.go type DomainAPI (line 25) | type DomainAPI interface FILE: provider/scaleway/scaleway.go constant defaultTTL (line 37) | defaultTTL uint32 = 300 constant scalewayDefaultPriority (line 38) | scalewayDefaultPriority uint32 = 0 constant scalewayPriorityKey (line 39) | scalewayPriorityKey string = "scw/priority" type ScalewayProvider (line 43) | type ScalewayProvider struct method AdjustEndpoints (line 113) | func (p *ScalewayProvider) AdjustEndpoints(endpoints []*endpoint.Endpo... method Zones (line 128) | func (p *ScalewayProvider) Zones(ctx context.Context) ([]*domain.DNSZo... method Records (line 146) | func (p *ScalewayProvider) Records(ctx context.Context) ([]*endpoint.E... method ApplyChanges (line 196) | func (p *ScalewayProvider) ApplyChanges(ctx context.Context, changes *... method generateApplyRequests (line 215) | func (p *ScalewayProvider) generateApplyRequests(ctx context.Context, ... type ScalewayChange (line 52) | type ScalewayChange struct function New (line 58) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 63) | func newProvider(domainFilter *endpoint.DomainFilter, dryRun bool) (*Sca... function getCompleteZoneName (line 298) | func getCompleteZoneName(zone *domain.DNSZone) string { function endpointToScalewayRecords (line 306) | func endpointToScalewayRecords(zoneName string, ep *endpoint.Endpoint) [... function endpointToScalewayRecordsChangeDelete (line 342) | func endpointToScalewayRecordsChangeDelete(zoneName string, ep *endpoint... function logChanges (line 365) | func logChanges(req *domain.UpdateDNSZoneRecordsRequest) { FILE: provider/scaleway/scaleway_test.go type mockScalewayDomain (line 35) | type mockScalewayDomain struct method ListDNSZones (line 39) | func (m *mockScalewayDomain) ListDNSZones(_ *domain.ListDNSZonesReques... method ListDNSZoneRecords (line 62) | func (m *mockScalewayDomain) ListDNSZoneRecords(req *domain.ListDNSZon... method UpdateDNSZoneRecords (line 111) | func (m *mockScalewayDomain) UpdateDNSZoneRecords(_ *domain.UpdateDNSZ... function TestScalewayProvider_NewScalewayProvider (line 115) | func TestScalewayProvider_NewScalewayProvider(t *testing.T) { function TestScalewayProvider_OptionnalConfigFile (line 166) | func TestScalewayProvider_OptionnalConfigFile(t *testing.T) { function TestScalewayProvider_AdjustEndpoints (line 175) | func TestScalewayProvider_AdjustEndpoints(t *testing.T) { function TestScalewayProvider_Zones (line 260) | func TestScalewayProvider_Zones(t *testing.T) { function TestScalewayProvider_Records (line 287) | func TestScalewayProvider_Records(t *testing.T) { function TestScalewayProvider_generateApplyRequests (line 364) | func TestScalewayProvider_generateApplyRequests(t *testing.T) { function checkRecordEquality (line 580) | func checkRecordEquality(record1, record2 *endpoint.Endpoint) bool { function checkScalewayReqChanges (line 588) | func checkScalewayReqChanges(r1, r2 *domain.UpdateDNSZoneRecordsRequest)... function checkScalewayRecords (line 611) | func checkScalewayRecords(rs1, rs2 []*domain.Record) bool { FILE: provider/transip/transip.go constant defaultTTL (line 39) | defaultTTL = 60 type TransIPProvider (line 43) | type TransIPProvider struct method ApplyChanges (line 95) | func (p *TransIPProvider) ApplyChanges(_ context.Context, changes *pla... method Records (line 268) | func (p *TransIPProvider) Records(_ context.Context) ([]*endpoint.Endp... method entriesForEndpoint (line 295) | func (p *TransIPProvider) entriesForEndpoint(ep *endpoint.Endpoint) (s... method zoneNameForDNSName (line 414) | func (p *TransIPProvider) zoneNameForDNSName(name string) (string, err... function New (line 53) | func New(_ context.Context, cfg *externaldns.Config, domainFilter *endpo... function newProvider (line 58) | func newProvider(accountName, privateKeyFile string, domainFilter *endpo... function endpointNameForRecord (line 323) | func endpointNameForRecord(r domain.DNSEntry, zoneName string) string { function recordNameForEndpoint (line 335) | func recordNameForEndpoint(ep *endpoint.Endpoint, zoneName string) string { function getMinimalValidTTL (line 347) | func getMinimalValidTTL(ep *endpoint.Endpoint) int { function dnsEntriesAreEqual (line 358) | func dnsEntriesAreEqual(a, b []domain.DNSEntry) bool { function dnsEntriesForEndpoint (line 391) | func dnsEntriesForEndpoint(ep *endpoint.Endpoint, zoneName string) []dom... FILE: provider/transip/transip_test.go function newTestProvider (line 34) | func newTestProvider() *TransIPProvider { function TestTransIPDnsEntriesAreEqual (line 40) | func TestTransIPDnsEntriesAreEqual(t *testing.T) { function TestTransIPGetMinimalValidTTL (line 93) | func TestTransIPGetMinimalValidTTL(t *testing.T) { function TestTransIPRecordNameForEndpoint (line 107) | func TestTransIPRecordNameForEndpoint(t *testing.T) { function TestTransIPEndpointNameForRecord (line 121) | func TestTransIPEndpointNameForRecord(t *testing.T) { function TestTransIPAddEndpointToEntries (line 135) | func TestTransIPAddEndpointToEntries(t *testing.T) { function TestZoneNameForDNSName (line 176) | func TestZoneNameForDNSName(t *testing.T) { type fakeClient (line 192) | type fakeClient struct method Get (line 196) | func (f *fakeClient) Get(request rest.Request, dest any) error { method Put (line 204) | func (f *fakeClient) Put(_ rest.Request) error { method Post (line 208) | func (f *fakeClient) Post(_ rest.Request) error { method Delete (line 212) | func (f *fakeClient) Delete(_ rest.Request) error { method Patch (line 216) | func (f *fakeClient) Patch(_ rest.Request) error { method PatchWithResponse (line 220) | func (f *fakeClient) PatchWithResponse(_ rest.Request) (rest.Response,... method PostWithResponse (line 224) | func (f *fakeClient) PostWithResponse(_ rest.Request) (rest.Response, ... method PutWithResponse (line 228) | func (f *fakeClient) PutWithResponse(_ rest.Request) (rest.Response, e... function TestProviderRecords (line 232) | func TestProviderRecords(t *testing.T) { function TestProviderEntriesForEndpoint (line 268) | func TestProviderEntriesForEndpoint(t *testing.T) { FILE: provider/webhook/api/httpapi.go constant MediaTypeFormatAndVersion (line 34) | MediaTypeFormatAndVersion = "application/external.dns.webhook+json;versi... constant ContentTypeHeader (line 35) | ContentTypeHeader = "Content-Type" constant UrlAdjustEndpoints (line 36) | UrlAdjustEndpoints = "/adjustendpoints" constant UrlApplyChanges (line 37) | UrlApplyChanges = "/applychanges" constant UrlRecords (line 38) | UrlRecords = "/records" type WebhookServer (line 41) | type WebhookServer struct method RecordsHandler (line 45) | func (p *WebhookServer) RecordsHandler(w http.ResponseWriter, req *htt... method AdjustEndpointsHandler (line 81) | func (p *WebhookServer) AdjustEndpointsHandler(w http.ResponseWriter, ... method NegotiateHandler (line 107) | func (p *WebhookServer) NegotiateHandler(w http.ResponseWriter, _ *htt... function StartHTTPApi (line 123) | func StartHTTPApi(provider provider.Provider, startedChan chan struct{},... FILE: provider/webhook/api/httpapi_test.go type FakeWebhookProvider (line 40) | type FakeWebhookProvider struct method Records (line 46) | func (p FakeWebhookProvider) Records(_ context.Context) ([]*endpoint.E... method ApplyChanges (line 53) | func (p FakeWebhookProvider) ApplyChanges(_ context.Context, changes *... method AdjustEndpoints (line 64) | func (p FakeWebhookProvider) AdjustEndpoints(endpoints []*endpoint.End... method GetDomainFilter (line 72) | func (p FakeWebhookProvider) GetDomainFilter() endpoint.DomainFilterIn... function TestMain (line 76) | func TestMain(m *testing.M) { function TestRecordsHandlerRecords (line 86) | func TestRecordsHandlerRecords(t *testing.T) { function TestRecordsHandlerRecordsWithErrors (line 108) | func TestRecordsHandlerRecordsWithErrors(t *testing.T) { function TestRecordsHandlerApplyChangesWithBadRequest (line 122) | func TestRecordsHandlerApplyChangesWithBadRequest(t *testing.T) { function TestRecordsHandlerApplyChangesWithValidRequest (line 134) | func TestRecordsHandlerApplyChangesWithValidRequest(t *testing.T) { function TestRecordsHandlerApplyChangesWithErrors (line 160) | func TestRecordsHandlerApplyChangesWithErrors(t *testing.T) { function TestRecordsHandlerWithWrongHTTPMethod (line 188) | func TestRecordsHandlerWithWrongHTTPMethod(t *testing.T) { function TestRecordsHandlerWithMixedCase (line 200) | func TestRecordsHandlerWithMixedCase(t *testing.T) { function TestAdjustEndpointsHandlerWithInvalidRequest (line 235) | func TestAdjustEndpointsHandlerWithInvalidRequest(t *testing.T) { function TestAdjustEndpointsHandlerWithValidRequest (line 253) | func TestAdjustEndpointsHandlerWithValidRequest(t *testing.T) { function TestAdjustEndpointsHandlerWithError (line 279) | func TestAdjustEndpointsHandlerWithError(t *testing.T) { function TestStartHTTPApi (line 307) | func TestStartHTTPApi(t *testing.T) { function TestNegotiateHandler_Success (line 322) | func TestNegotiateHandler_Success(t *testing.T) { function TestNegotiateHandler_FiltersWithSpecialEncodings (line 344) | func TestNegotiateHandler_FiltersWithSpecialEncodings(t *testing.T) { FILE: provider/webhook/webhook.go constant acceptHeader (line 42) | acceptHeader = "Accept" constant maxRetries (line 43) | maxRetries = 5 type WebhookProvider (line 91) | type WebhookProvider struct method Records (line 187) | func (p WebhookProvider) Records(ctx context.Context) ([]*endpoint.End... method ApplyChanges (line 226) | func (p WebhookProvider) ApplyChanges(ctx context.Context, changes *pl... method AdjustEndpoints (line 270) | func (p WebhookProvider) AdjustEndpoints(e []*endpoint.Endpoint) ([]*e... method GetDomainFilter (line 327) | func (p WebhookProvider) GetDomainFilter() endpoint.DomainFilterInterf... function init (line 97) | func init() { function New (line 107) | func New(ctx context.Context, cfg *externaldns.Config, _ *endpoint.Domai... function newProvider (line 111) | func newProvider(ctx context.Context, u string, readTimeout, writeTimeou... function requestWithRetry (line 149) | func requestWithRetry(client *http.Client, req *http.Request) (*http.Res... function isRetryableError (line 332) | func isRetryableError(statusCode int) bool { FILE: provider/webhook/webhook_test.go constant testReadTimeout (line 38) | testReadTimeout = 5 * time.Millisecond constant testWriteTimeout (line 39) | testWriteTimeout = 10 * time.Millisecond function TestNewWebhookProvider_InvalidURL (line 42) | func TestNewWebhookProvider_InvalidURL(t *testing.T) { function TestNewWebhookProvider_HTTPRequestFailure (line 47) | func TestNewWebhookProvider_HTTPRequestFailure(t *testing.T) { function TestNewWebhookProvider_InvalidResponseBody (line 52) | func TestNewWebhookProvider_InvalidResponseBody(t *testing.T) { function TestNewWebhookProvider_Non2XXStatusCode (line 65) | func TestNewWebhookProvider_Non2XXStatusCode(t *testing.T) { function TestNewWebhookProvider_WrongContentTypeHeader (line 76) | func TestNewWebhookProvider_WrongContentTypeHeader(t *testing.T) { function TestInvalidDomainFilter (line 91) | func TestInvalidDomainFilter(t *testing.T) { function TestValidDomainfilter (line 108) | func TestValidDomainfilter(t *testing.T) { function TestRecords (line 125) | func TestRecords(t *testing.T) { function TestRecordsWithErrors (line 149) | func TestRecordsWithErrors(t *testing.T) { function TestRecords_HTTPRequestErrorMissingHost0 (line 168) | func TestRecords_HTTPRequestErrorMissingHost0(t *testing.T) { function TestRecords_HTTPRequestErrorMissingHost (line 179) | func TestRecords_HTTPRequestErrorMissingHost(t *testing.T) { function TestRecords_DecodeError (line 190) | func TestRecords_DecodeError(t *testing.T) { function TestRecords_NonOKStatusCode (line 211) | func TestRecords_NonOKStatusCode(t *testing.T) { function TestApplyChanges (line 230) | func TestApplyChanges(t *testing.T) { function TestApplyChanges_HTTPNewRequestErrorWrongHost (line 259) | func TestApplyChanges_HTTPNewRequestErrorWrongHost(t *testing.T) { function TestApplyChanges_GetFailed (line 270) | func TestApplyChanges_GetFailed(t *testing.T) { function TestApplyChanges_StatusCodeError (line 281) | func TestApplyChanges_StatusCodeError(t *testing.T) { function TestAdjustEndpoints (line 302) | func TestAdjustEndpoints(t *testing.T) { function TestAdjustendpointsWithError (line 354) | func TestAdjustendpointsWithError(t *testing.T) { function TestApplyChangesWithProviderSpecificProperty (line 384) | func TestApplyChangesWithProviderSpecificProperty(t *testing.T) { function TestAdjustEndpoints_JoinPathError (line 434) | func TestAdjustEndpoints_JoinPathError(t *testing.T) { function TestAdjustEndpoints_HTTPRequestErrorMissingHost (line 444) | func TestAdjustEndpoints_HTTPRequestErrorMissingHost(t *testing.T) { function TestAdjustEndpoints_NonOKStatusCode (line 455) | func TestAdjustEndpoints_NonOKStatusCode(t *testing.T) { function TestAdjustEndpoints_DecodeError (line 483) | func TestAdjustEndpoints_DecodeError(t *testing.T) { function TestRequestWithRetry_Success (line 507) | func TestRequestWithRetry_Success(t *testing.T) { function TestRequestWithRetry_NonRetriableStatus (line 524) | func TestRequestWithRetry_NonRetriableStatus(t *testing.T) { function TestRequestWithRetry_ServerErrorRetried (line 539) | func TestRequestWithRetry_ServerErrorRetried(t *testing.T) { FILE: provider/zone_id_filter.go type ZoneIDFilter (line 22) | type ZoneIDFilter struct method Match (line 32) | func (f ZoneIDFilter) Match(zoneID string) bool { method IsConfigured (line 51) | func (f ZoneIDFilter) IsConfigured() bool { function NewZoneIDFilter (line 27) | func NewZoneIDFilter(zoneIDs []string) ZoneIDFilter { FILE: provider/zone_id_filter_test.go type zoneIDFilterTest (line 25) | type zoneIDFilterTest struct type zoneIdFilterTestIsConfigured (line 31) | type zoneIdFilterTestIsConfigured struct function TestZoneIDFilterMatch (line 36) | func TestZoneIDFilterMatch(t *testing.T) { function TestZoneIDFilterIsConfigured (line 91) | func TestZoneIDFilterIsConfigured(t *testing.T) { FILE: provider/zone_tag_filter.go type ZoneTagFilter (line 24) | type ZoneTagFilter struct method Match (line 52) | func (f ZoneTagFilter) Match(tagsMap map[string]string) bool { method IsEmpty (line 62) | func (f ZoneTagFilter) IsEmpty() bool { function NewZoneTagFilter (line 29) | func NewZoneTagFilter(tags []string) ZoneTagFilter { FILE: provider/zone_tag_filter_test.go function TestZoneTagFilterMatch (line 64) | func TestZoneTagFilterMatch(t *testing.T) { function TestZoneTagFilterNotSupportedFormat (line 73) | func TestZoneTagFilterNotSupportedFormat(t *testing.T) { function TestZoneTagFilterMatchGeneratedValues (line 92) | func TestZoneTagFilterMatchGeneratedValues(t *testing.T) { function TestZoneTagFilterNotMatchGeneratedValues (line 109) | func TestZoneTagFilterNotMatchGeneratedValues(t *testing.T) { function BenchmarkZoneTagFilterMatchBasic (line 127) | func BenchmarkZoneTagFilterMatchBasic(b *testing.B) { function BenchmarkZoneTagFilterComplex (line 149) | func BenchmarkZoneTagFilterComplex(b *testing.B) { type filterZoneTags (line 158) | type filterZoneTags struct function generateTagFilterAndZoneTagsForMatch (line 164) | func generateTagFilterAndZoneTagsForMatch(filter, zone int) filterZoneTa... function generateTagFilterAndZoneTagsForNotMatch (line 169) | func generateTagFilterAndZoneTagsForNotMatch(filter, zone int) filterZon... function generateTagFilterAndZoneTags (line 174) | func generateTagFilterAndZoneTags(filter, zone int, match bool) filterZo... function validate (line 199) | func validate(filter int, zone int) { FILE: provider/zone_type_filter.go constant zoneTypePublic (line 24) | zoneTypePublic = "public" constant zoneTypePrivate (line 25) | zoneTypePrivate = "private" type ZoneTypeFilter (line 29) | type ZoneTypeFilter struct method Match (line 39) | func (f ZoneTypeFilter) Match(rawZoneType any) bool { function NewZoneTypeFilter (line 34) | func NewZoneTypeFilter(zoneType string) ZoneTypeFilter { FILE: provider/zone_type_filter_test.go function TestZoneTypeFilterMatch (line 27) | func TestZoneTypeFilterMatch(t *testing.T) { FILE: provider/zonefinder.go type ZoneIDName (line 27) | type ZoneIDName method Add (line 29) | func (z ZoneIDName) Add(zoneID, zoneName string) { method FindZone (line 50) | func (z ZoneIDName) FindZone(hostname string) (string, string) { FILE: provider/zonefinder_test.go function TestZoneIDName (line 28) | func TestZoneIDName(t *testing.T) { FILE: registry/awssd/registry.go type AWSSDRegistry (line 31) | type AWSSDRegistry struct method GetDomainFilter (line 52) | func (sdr *AWSSDRegistry) GetDomainFilter() endpoint.DomainFilterInter... method OwnerID (line 56) | func (sdr *AWSSDRegistry) OwnerID() string { method Records (line 62) | func (sdr *AWSSDRegistry) Records(ctx context.Context) ([]*endpoint.En... method ApplyChanges (line 83) | func (sdr *AWSSDRegistry) ApplyChanges(ctx context.Context, changes *p... method updateLabels (line 99) | func (sdr *AWSSDRegistry) updateLabels(endpoints []*endpoint.Endpoint) { method AdjustEndpoints (line 110) | func (sdr *AWSSDRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoi... function New (line 37) | func New(cfg *externaldns.Config, p provider.Provider) (registry.Registr... function newRegistry (line 42) | func newRegistry(provider provider.Provider, ownerID string) (*AWSSDRegi... FILE: registry/awssd/registry_test.go type inMemoryProvider (line 32) | type inMemoryProvider struct method Records (line 38) | func (p *inMemoryProvider) Records(_ context.Context) ([]*endpoint.End... method ApplyChanges (line 42) | func (p *inMemoryProvider) ApplyChanges(_ context.Context, changes *pl... function newInMemoryProvider (line 47) | func newInMemoryProvider(endpoints []*endpoint.Endpoint, onApplyChanges ... function TestAWSSDRegistry_newRegistry (line 54) | func TestAWSSDRegistry_newRegistry(t *testing.T) { function TestAWSSDRegistryTest_Records (line 63) | func TestAWSSDRegistryTest_Records(t *testing.T) { function TestAWSSDRegistry_Records_ApplyChanges (line 111) | func TestAWSSDRegistry_Records_ApplyChanges(t *testing.T) { function newEndpointWithOwnerAndDescription (line 165) | func newEndpointWithOwnerAndDescription(dnsName, target, recordType, own... FILE: registry/dynamodb/registry.go type DynamoDBAPI (line 45) | type DynamoDBAPI interface type DynamoDBRegistry (line 52) | type DynamoDBRegistry struct method GetDomainFilter (line 130) | func (im *DynamoDBRegistry) GetDomainFilter() endpoint.DomainFilterInt... method OwnerID (line 134) | func (im *DynamoDBRegistry) OwnerID() string { method Records (line 139) | func (im *DynamoDBRegistry) Records(ctx context.Context) ([]*endpoint.... method ApplyChanges (line 240) | func (im *DynamoDBRegistry) ApplyChanges(ctx context.Context, changes ... method AdjustEndpoints (line 380) | func (im *DynamoDBRegistry) AdjustEndpoints(endpoints []*endpoint.Endp... method readLabels (line 384) | func (im *DynamoDBRegistry) readLabels(ctx context.Context) error { method appendInsert (line 484) | func (im *DynamoDBRegistry) appendInsert(statements []dynamodbtypes.Ba... method appendUpdate (line 498) | func (im *DynamoDBRegistry) appendUpdate(statements []dynamodbtypes.Ba... method appendDelete (line 521) | func (im *DynamoDBRegistry) appendDelete(statements []dynamodbtypes.Ba... method executeStatements (line 531) | func (im *DynamoDBRegistry) executeStatements(ctx context.Context, sta... method addToCache (line 574) | func (im *DynamoDBRegistry) addToCache(ep *endpoint.Endpoint) { method removeFromCache (line 580) | func (im *DynamoDBRegistry) removeFromCache(ep *endpoint.Endpoint) { constant dynamodbAttributeMigrate (line 76) | dynamodbAttributeMigrate = "dynamodb/needs-migration" function New (line 82) | func New(cfg *externaldns.Config, p provider.Provider) (registry.Registr... function newRegistry (line 90) | func newRegistry( function fromDynamoKey (line 445) | func fromDynamoKey(key dynamodbtypes.AttributeValue) (endpoint.EndpointK... function toDynamoKey (line 458) | func toDynamoKey(key endpoint.EndpointKey) dynamodbtypes.AttributeValue { function fromDynamoLabels (line 464) | func fromDynamoLabels(label dynamodbtypes.AttributeValue, owner string) ... function toDynamoLabels (line 473) | func toDynamoLabels(labels endpoint.Labels) dynamodbtypes.AttributeValue { function WithRegion (line 594) | func WithRegion(region string) func(*awsdynamodb.Options) { FILE: registry/dynamodb/registry_test.go constant testZone (line 41) | testZone = "test-zone.example.org" function TestDynamoDBRegistryNew (line 44) | func TestDynamoDBRegistryNew(t *testing.T) { function TestDynamoDBRegistryNew_EncryptionConfig (line 75) | func TestDynamoDBRegistryNew_EncryptionConfig(t *testing.T) { function TestDynamoDBRegistryRecordsBadTable (line 114) | func TestDynamoDBRegistryRecordsBadTable(t *testing.T) { function TestDynamoDBRegistryRecords (line 168) | func TestDynamoDBRegistryRecords(t *testing.T) { function TestDynamoDBRegistryApplyChanges (line 262) | func TestDynamoDBRegistryApplyChanges(t *testing.T) { type DynamoDBStub (line 1118) | type DynamoDBStub struct method DescribeTable (line 1179) | func (r *DynamoDBStub) DescribeTable(ctx context.Context, input *dynam... method Scan (line 1187) | func (r *DynamoDBStub) Scan(ctx context.Context, input *dynamodb.ScanI... method BatchExecuteStatement (line 1227) | func (r *DynamoDBStub) BatchExecuteStatement(context context.Context, ... type DynamoDBStubConfig (line 1125) | type DynamoDBStubConfig struct type wrappedProvider (line 1133) | type wrappedProvider struct method ApplyChanges (line 1138) | func (w *wrappedProvider) ApplyChanges(ctx context.Context, changes *p... function newDynamoDBAPIStub (line 1144) | func newDynamoDBAPIStub(t *testing.T, stubConfig *DynamoDBStubConfig) (*... FILE: registry/factory/registry.go type RegistryConstructor (line 32) | type RegistryConstructor function Select (line 35) | func Select(cfg *externaldns.Config, p provider.Provider) (registry.Regi... function registries (line 44) | func registries(selector string) (RegistryConstructor, bool) { FILE: registry/factory/registry_test.go function TestSelectRegistry (line 44) | func TestSelectRegistry(t *testing.T) { function TestSelectRegistryUnknown (line 129) | func TestSelectRegistryUnknown(t *testing.T) { FILE: registry/mapper/mapper.go constant recordTemplate (line 26) | recordTemplate = "%{record_type}" type NameMapper (line 44) | type NameMapper interface type AffixNameMapper (line 50) | type AffixNameMapper struct method ToEndpointName (line 65) | func (a AffixNameMapper) ToEndpointName(dns string) (string, string) { method ToTXTName (line 88) | func (a AffixNameMapper) ToTXTName(dns, recordType string) string { method recordTypeInAffix (line 112) | func (a AffixNameMapper) recordTypeInAffix() bool { method normalizeAffixTemplate (line 122) | func (a AffixNameMapper) normalizeAffixTemplate(afix, recordType strin... method isPrefix (line 129) | func (a AffixNameMapper) isPrefix() bool { method isSuffix (line 133) | func (a AffixNameMapper) isSuffix() bool { method dropAffixTemplate (line 137) | func (a AffixNameMapper) dropAffixTemplate(name string) string { method dropAffixExtractType (line 143) | func (a AffixNameMapper) dropAffixExtractType(name string) (string, st... function NewAffixNameMapper (line 57) | func NewAffixNameMapper(prefix, suffix, wildcardReplacement string) Affi... function extractRecordTypeDefaultPosition (line 180) | func extractRecordTypeDefaultPosition(name string) (string, string) { FILE: registry/mapper/mapper_test.go function TestAffixNameMapper_ToEndpointName (line 32) | func TestAffixNameMapper_ToEndpointName(t *testing.T) { function TestAffixNameMapper_ToTXTName (line 196) | func TestAffixNameMapper_ToTXTName(t *testing.T) { function TestAffixNameMapper_RecordTypeInAffix (line 364) | func TestAffixNameMapper_RecordTypeInAffix(t *testing.T) { function TestToEndpointNameNewTXT (line 395) | func TestToEndpointNameNewTXT(t *testing.T) { function TestDropPrefix (line 521) | func TestDropPrefix(t *testing.T) { function TestDropSuffix (line 539) | func TestDropSuffix(t *testing.T) { function TestExtractRecordTypeDefaultPosition (line 558) | func TestExtractRecordTypeDefaultPosition(t *testing.T) { FILE: registry/noop/noop.go type NoopRegistry (line 30) | type NoopRegistry struct method GetDomainFilter (line 46) | func (im *NoopRegistry) GetDomainFilter() endpoint.DomainFilterInterfa... method OwnerID (line 50) | func (im *NoopRegistry) OwnerID() string { method Records (line 55) | func (im *NoopRegistry) Records(ctx context.Context) ([]*endpoint.Endp... method ApplyChanges (line 60) | func (im *NoopRegistry) ApplyChanges(ctx context.Context, changes *pla... method AdjustEndpoints (line 65) | func (im *NoopRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint... function New (line 35) | func New(_ *externaldns.Config, p provider.Provider) (registry.Registry,... function newRegistry (line 40) | func newRegistry(provider provider.Provider) *NoopRegistry { FILE: registry/noop/noop_test.go function TestNoopRegistry (line 31) | func TestNoopRegistry(t *testing.T) { function testNoopInit (line 37) | func testNoopInit(t *testing.T) { function testNoopRecords (line 45) | func testNoopRecords(t *testing.T) { function testNoopApplyChanges (line 67) | func testNoopApplyChanges(t *testing.T) { FILE: registry/registry.go type Registry (line 27) | type Registry interface FILE: registry/txt/encryption_test.go function TestNewTXTRegistryEncryptionConfig (line 35) | func TestNewTXTRegistryEncryptionConfig(t *testing.T) { function TestGenerateTXTGenerateTextRecordEncryptionWihDecryption (line 73) | func TestGenerateTXTGenerateTextRecordEncryptionWihDecryption(t *testing... function TestApplyRecordsWithEncryption (line 139) | func TestApplyRecordsWithEncryption(t *testing.T) { function TestApplyRecordsWithEncryptionKeyChanged (line 192) | func TestApplyRecordsWithEncryptionKeyChanged(t *testing.T) { function TestApplyRecordsOnEncryptionKeyChangeWithKeyIdLabel (line 222) | func TestApplyRecordsOnEncryptionKeyChangeWithKeyIdLabel(t *testing.T) { function hasPrefixFromSlice (line 283) | func hasPrefixFromSlice(str string, prefixes []string) bool { function newEndpointWithOwnerAndOwnedRecordWithKeyIDLabel (line 292) | func newEndpointWithOwnerAndOwnedRecordWithKeyIDLabel(dnsName, target, r... FILE: registry/txt/registry.go constant providerSpecificForceUpdate (line 41) | providerSpecificForceUpdate = "txt/force-update" type TXTRegistry (line 45) | type TXTRegistry struct method GetDomainFilter (line 171) | func (im *TXTRegistry) GetDomainFilter() endpoint.DomainFilterInterface { method OwnerID (line 175) | func (im *TXTRegistry) OwnerID() string { method Records (line 182) | func (im *TXTRegistry) Records(ctx context.Context) ([]*endpoint.Endpo... method generateTXTRecord (line 303) | func (im *TXTRegistry) generateTXTRecord(r *endpoint.Endpoint) []*endp... method generateTXTRecordWithFilter (line 307) | func (im *TXTRegistry) generateTXTRecordWithFilter(r *endpoint.Endpoin... method ApplyChanges (line 335) | func (im *TXTRegistry) ApplyChanges(ctx context.Context, changes *plan... method AdjustEndpoints (line 395) | func (im *TXTRegistry) AdjustEndpoints(endpoints []*endpoint.Endpoint)... method addToCache (line 399) | func (im *TXTRegistry) addToCache(ep *endpoint.Endpoint) { method removeFromCache (line 405) | func (im *TXTRegistry) removeFromCache(ep *endpoint.Endpoint) { type existingTXTs (line 78) | type existingTXTs struct method add (line 93) | func (im *existingTXTs) add(r *endpoint.Endpoint) { method isAbsent (line 103) | func (im *existingTXTs) isAbsent(ep *endpoint.Endpoint) bool { method reset (line 112) | func (im *existingTXTs) reset() { type recordKey (line 82) | type recordKey struct function newExistingTXTs (line 87) | func newExistingTXTs() *existingTXTs { function New (line 119) | func New(cfg *externaldns.Config, p provider.Provider) (registry.Registr... function newRegistry (line 129) | func newRegistry(provider provider.Provider, txtPrefix, txtSuffix, owner... FILE: registry/txt/registry_test.go constant testZone (line 43) | testZone = "test-zone.example.org" function TestTXTRegistry (line 46) | func TestTXTRegistry(t *testing.T) { function testTXTRegistryNew (line 53) | func testTXTRegistryNew(t *testing.T) { function testTXTRegistryRecords (line 93) | func testTXTRegistryRecords(t *testing.T) { function testTXTRegistryRecordsPrefixed (line 101) | func testTXTRegistryRecordsPrefixed(t *testing.T) { function testTXTRegistryRecordsSuffixed (line 276) | func testTXTRegistryRecordsSuffixed(t *testing.T) { function testTXTRegistryRecordsNoPrefix (line 441) | func testTXTRegistryRecordsNoPrefix(t *testing.T) { function testTXTRegistryRecordsPrefixedTemplated (line 592) | func testTXTRegistryRecordsPrefixedTemplated(t *testing.T) { function testTXTRegistryRecordsSuffixedTemplated (line 636) | func testTXTRegistryRecordsSuffixedTemplated(t *testing.T) { function testTXTRegistryApplyChanges (line 680) | func testTXTRegistryApplyChanges(t *testing.T) { function testTXTRegistryApplyChangesWithPrefix (line 688) | func testTXTRegistryApplyChangesWithPrefix(t *testing.T) { function testTXTRegistryApplyChangesWithTemplatedPrefix (line 786) | func testTXTRegistryApplyChangesWithTemplatedPrefix(t *testing.T) { function testTXTRegistryApplyChangesWithTemplatedSuffix (line 833) | func testTXTRegistryApplyChangesWithTemplatedSuffix(t *testing.T) { function testTXTRegistryApplyChangesWithSuffix (line 876) | func testTXTRegistryApplyChangesWithSuffix(t *testing.T) { function testTXTRegistryApplyChangesNoPrefix (line 980) | func testTXTRegistryApplyChangesNoPrefix(t *testing.T) { function testTXTRegistryMissingRecords (line 1058) | func testTXTRegistryMissingRecords(t *testing.T) { function testTXTRegistryMissingRecordsNoPrefix (line 1063) | func testTXTRegistryMissingRecordsNoPrefix(t *testing.T) { function testTXTRegistryMissingRecordsWithPrefix (line 1170) | func testTXTRegistryMissingRecordsWithPrefix(t *testing.T) { function TestCacheMethods (line 1282) | func TestCacheMethods(t *testing.T) { function TestNewTXTScheme (line 1349) | func TestNewTXTScheme(t *testing.T) { function TestGenerateTXT (line 1425) | func TestGenerateTXT(t *testing.T) { function TestGenerateTXTWithMigration (line 1445) | func TestGenerateTXTWithMigration(t *testing.T) { function TestGenerateTXTForAAAA (line 1481) | func TestGenerateTXTForAAAA(t *testing.T) { function TestFailGenerateTXT (line 1501) | func TestFailGenerateTXT(t *testing.T) { function TestTXTRegistryApplyChangesEncrypt (line 1519) | func TestTXTRegistryApplyChangesEncrypt(t *testing.T) { function TestMultiClusterDifferentRecordTypeOwnership (line 1568) | func TestMultiClusterDifferentRecordTypeOwnership(t *testing.T) { function TestGenerateTXTRecordWithNewFormatOnly (line 1624) | func TestGenerateTXTRecordWithNewFormatOnly(t *testing.T) { function TestApplyChangesWithNewFormatOnly (line 1689) | func TestApplyChangesWithNewFormatOnly(t *testing.T) { function TestTXTRegistryRecordsWithEmptyTargets (line 1724) | func TestTXTRegistryRecordsWithEmptyTargets(t *testing.T) { function TestTXTRegistryRecreatesMissingRecords (line 1767) | func TestTXTRegistryRecreatesMissingRecords(t *testing.T) { function TestTXTRecordMigration (line 1985) | func TestTXTRecordMigration(t *testing.T) { function TestRecreateRecordAfterDeletion (line 2036) | func TestRecreateRecordAfterDeletion(t *testing.T) { FILE: registry/txt/utils_test.go function newEndpointWithOwner (line 25) | func newEndpointWithOwner(dnsName, target, recordType, ownerID string) *... function newMultiTargetEndpointWithOwner (line 29) | func newMultiTargetEndpointWithOwner(dnsName string, targets endpoint.Ta... function newTXTEndpointWithOwnedRecord (line 33) | func newTXTEndpointWithOwnedRecord(dnsName, target, ownedRecord string) ... function newMultiTargetEndpointWithOwnerAndLabels (line 37) | func newMultiTargetEndpointWithOwnerAndLabels(dnsName string, targets en... function newEndpointWithOwnerAndLabels (line 44) | func newEndpointWithOwnerAndLabels(dnsName, target, recordType, ownerID ... function newCNAMEEndpointWithOwnerResource (line 51) | func newCNAMEEndpointWithOwnerResource(dnsName, target, ownerID, resourc... function cloneEndpointsWithOpts (line 59) | func cloneEndpointsWithOpts(list []*endpoint.Endpoint, opt ...func(*endp... function cloneEndpointWithOpts (line 67) | func cloneEndpointWithOpts(e *endpoint.Endpoint, opt ...func(*endpoint.E... FILE: scripts/aws-cleanup-legacy-txt-records.py function json_prettify (line 65) | def json_prettify(data): class Record (line 68) | class Record: method __init__ (line 70) | def __init__(self, record): method is_for_deletion (line 81) | def is_for_deletion(self, contains): method __str__ (line 87) | def __str__(self): class Config (line 90) | class Config: method __init__ (line 92) | def __init__(self, zone_id, contain, total_items, batch, run): function records (line 100) | def records(config: Config) -> None: function delete_records (line 151) | def delete_records(client: boto3.client, config: Config, records: list[R... FILE: source/ambassador_host.go constant ambHostAnnotation (line 47) | ambHostAnnotation = "external-dns.ambassador-service" constant groupName (line 49) | groupName = "getambassador.io" type ambassadorHostSource (line 70) | type ambassadorHostSource struct method Endpoints (line 120) | func (sc *ambassadorHostSource) Endpoints(ctx context.Context) ([]*end... method endpointsFromHost (line 182) | func (sc *ambassadorHostSource) endpointsFromHost(host *ambassador.Hos... method targetsFromAmbassadorLoadBalancer (line 199) | func (sc *ambassadorHostSource) targetsFromAmbassadorLoadBalancer(ctx ... method AddEventHandler (line 261) | func (sc *ambassadorHostSource) AddEventHandler(_ context.Context, _ f... function NewAmbassadorHostSource (line 81) | func NewAmbassadorHostSource( function parseAmbLoadBalancerService (line 224) | func parseAmbLoadBalancerService(service string) (string, string, error) { type unstructuredConverter (line 265) | type unstructuredConverter struct function newUnstructuredConverter (line 271) | func newUnstructuredConverter() (*unstructuredConverter, error) { FILE: source/ambassador_host_test.go constant defaultAmbassadorNamespace (line 39) | defaultAmbassadorNamespace = "ambassador" constant defaultAmbassadorServiceName (line 40) | defaultAmbassadorServiceName = "ambassador" type AmbassadorSuite (line 45) | type AmbassadorSuite struct function TestAmbassadorSource (line 49) | func TestAmbassadorSource(t *testing.T) { function testAmbassadorSourceImplementsSource (line 55) | func testAmbassadorSourceImplementsSource(t *testing.T) { function TestAmbassadorHostSource (line 59) | func TestAmbassadorHostSource(t *testing.T) { function createAmbassadorHost (line 656) | func createAmbassadorHost(host *ambassador.Host) (*unstructured.Unstruct... function TestParseAmbLoadBalancerService (line 665) | func TestParseAmbLoadBalancerService(t *testing.T) { FILE: source/annotations/annotations.go constant DefaultAnnotationPrefix (line 22) | DefaultAnnotationPrefix = "external-dns.alpha.kubernetes.io/" constant ttlMinimum (line 24) | ttlMinimum = 1 constant ttlMaximum (line 25) | ttlMaximum = math.MaxInt32 function SetAnnotationPrefix (line 75) | func SetAnnotationPrefix(prefix string) { FILE: source/annotations/annotations_test.go function TestSetAnnotationPrefix (line 25) | func TestSetAnnotationPrefix(t *testing.T) { function TestDefaultAnnotationPrefix (line 59) | func TestDefaultAnnotationPrefix(t *testing.T) { function TestSetAnnotationPrefixMultipleTimes (line 69) | func TestSetAnnotationPrefixMultipleTimes(t *testing.T) { FILE: source/annotations/filter.go type AnnotatedObject (line 24) | type AnnotatedObject interface function Filter (line 30) | func Filter[T AnnotatedObject](items []T, filter string) ([]T, error) { FILE: source/annotations/filter_test.go type mockObj (line 27) | type mockObj struct method GetAnnotations (line 31) | func (m mockObj) GetAnnotations() map[string]string { function TestFilter (line 35) | func TestFilter(t *testing.T) { function TestFilter_LogOutput (line 126) | func TestFilter_LogOutput(t *testing.T) { FILE: source/annotations/processors.go constant skipCtrlMsg (line 29) | skipCtrlMsg = "Skipping '%s/%s/%s' because controller '%s' value does no... function hasAliasFromAnnotations (line 32) | func hasAliasFromAnnotations(annotations map[string]string) bool { function TTLFromAnnotations (line 38) | func TTLFromAnnotations(annotations map[string]string, resource string) ... function IsControllerMismatch (line 59) | func IsControllerMismatch( function parseTTL (line 76) | func parseTTL(s string) (int64, error) { function ParseFilter (line 91) | func ParseFilter(annotationFilter string) (labels.Selector, error) { function TargetsFromTargetAnnotation (line 105) | func TargetsFromTargetAnnotation(annotations map[string]string) endpoint... function HostnamesFromAnnotations (line 122) | func HostnamesFromAnnotations(input map[string]string) []string { function InternalHostnamesFromAnnotations (line 128) | func InternalHostnamesFromAnnotations(input map[string]string) []string { function SplitHostnameAnnotation (line 134) | func SplitHostnameAnnotation(input string) []string { function extractHostnamesFromAnnotations (line 138) | func extractHostnamesFromAnnotations(input map[string]string, key string... FILE: source/annotations/processors_test.go type objectUnderTest (line 30) | type objectUnderTest struct method GetObjectMeta (line 34) | func (t *objectUnderTest) GetObjectMeta() metav1.Object { return &t.me... function TestParseAnnotationFilter (line 36) | func TestParseAnnotationFilter(t *testing.T) { function TestTargetsFromTargetAnnotation (line 82) | func TestTargetsFromTargetAnnotation(t *testing.T) { function TestTTLFromAnnotations (line 131) | func TestTTLFromAnnotations(t *testing.T) { function TestGetAliasFromAnnotations (line 218) | func TestGetAliasFromAnnotations(t *testing.T) { function TestHostnamesFromAnnotations (line 249) | func TestHostnamesFromAnnotations(t *testing.T) { function TestSplitHostnameAnnotation (line 291) | func TestSplitHostnameAnnotation(t *testing.T) { function TestInternalHostnamesFromAnnotations (line 327) | func TestInternalHostnamesFromAnnotations(t *testing.T) { function TestIsControllerMismatch (line 369) | func TestIsControllerMismatch(t *testing.T) { FILE: source/annotations/provider_specific.go function ProviderSpecificAnnotations (line 23) | func ProviderSpecificAnnotations(annotations map[string]string) (endpoin... FILE: source/annotations/provider_specific_test.go function TestProviderSpecificAnnotations (line 26) | func TestProviderSpecificAnnotations(t *testing.T) { function TestGetProviderSpecificCloudflareAnnotations (line 117) | func TestGetProviderSpecificCloudflareAnnotations(t *testing.T) { function TestGetProviderSpecificAliasAnnotations (line 272) | func TestGetProviderSpecificAliasAnnotations(t *testing.T) { function TestProviderSpecificPropertyNameConvention (line 341) | func TestProviderSpecificPropertyNameConvention(t *testing.T) { function TestGetProviderSpecificIdentifierAnnotations (line 375) | func TestGetProviderSpecificIdentifierAnnotations(t *testing.T) { FILE: source/compatibility.go constant mateAnnotationKey (line 29) | mateAnnotationKey = "zalando.org/dnsname" constant moleculeAnnotationKey (line 30) | moleculeAnnotationKey = "domainName" constant kopsDNSControllerHostnameAnnotationKey (line 32) | kopsDNSControllerHostnameAnnotationKey = "dns.alpha.kubernetes.io/external" constant kopsDNSControllerInternalHostnameAnnotationKey (line 34) | kopsDNSControllerInternalHostnameAnnotationKey = "dns.alpha.kubernetes.i... function legacyEndpointsFromService (line 39) | func legacyEndpointsFromService(svc *v1.Service, sc *serviceSource) ([]*... function legacyEndpointsFromMateService (line 54) | func legacyEndpointsFromMateService(svc *v1.Service) []*endpoint.Endpoint { function legacyEndpointsFromMoleculeService (line 78) | func legacyEndpointsFromMoleculeService(svc *v1.Service) []*endpoint.End... function legacyEndpointsFromDNSControllerService (line 111) | func legacyEndpointsFromDNSControllerService(svc *v1.Service, sc *servic... function legacyEndpointsFromDNSControllerNodePortService (line 125) | func legacyEndpointsFromDNSControllerNodePortService(svc *v1.Service, sc... function legacyEndpointsFromDNSControllerLoadBalancerService (line 176) | func legacyEndpointsFromDNSControllerLoadBalancerService(svc *v1.Service... FILE: source/connector.go constant dialTimeout (line 31) | dialTimeout = 30 * time.Second type connectorSource (line 45) | type connectorSource struct method Endpoints (line 57) | func (cs *connectorSource) Endpoints(_ context.Context) ([]*endpoint.E... method AddEventHandler (line 78) | func (cs *connectorSource) AddEventHandler(_ context.Context, _ func()... function NewConnectorSource (line 50) | func NewConnectorSource(remoteServer string) (Source, error) { FILE: source/connector_test.go type ConnectorSuite (line 30) | type ConnectorSuite struct method SetupTest (line 34) | func (suite *ConnectorSuite) SetupTest() { function startServerToServeTargets (line 37) | func startServerToServeTargets(t *testing.T, endpoints []*endpoint.Endpo... function TestConnectorSource (line 57) | func TestConnectorSource(t *testing.T) { function testConnectorSourceImplementsSource (line 66) | func testConnectorSourceImplementsSource(t *testing.T) { function testConnectorSourceEndpoints (line 71) | func testConnectorSourceEndpoints(t *testing.T) { FILE: source/contour_httpproxy.go type httpProxySource (line 53) | type httpProxySource struct method Endpoints (line 109) | func (sc *httpProxySource) Endpoints(_ context.Context) ([]*endpoint.E... method endpointsFromTemplate (line 166) | func (sc *httpProxySource) endpointsFromTemplate(httpProxy *projectcon... method endpointsFromHTTPProxy (line 198) | func (sc *httpProxySource) endpointsFromHTTPProxy(httpProxy *projectco... method AddEventHandler (line 237) | func (sc *httpProxySource) AddEventHandler(_ context.Context, handler ... function NewContourHTTPProxySource (line 65) | func NewContourHTTPProxySource( FILE: source/contour_httpproxy_test.go type HTTPProxySuite (line 42) | type HTTPProxySuite struct method SetupTest (line 88) | func (suite *HTTPProxySuite) SetupTest() { method TestResourceLabelIsSet (line 118) | func (suite *HTTPProxySuite) TestResourceLabelIsSet() { function newDynamicKubernetesClient (line 48) | func newDynamicKubernetesClient() (*fakeDynamic.FakeDynamicClient, *runt... type fakeLoadBalancerService (line 54) | type fakeLoadBalancerService struct method Service (line 61) | func (ig fakeLoadBalancerService) Service() *v1.Service { function convertHTTPProxyToUnstructured (line 125) | func convertHTTPProxyToUnstructured(hp *projectcontour.HTTPProxy, s *run... function TestHTTPProxy (line 133) | func TestHTTPProxy(t *testing.T) { function TestNewContourHTTPProxySource (line 141) | func TestNewContourHTTPProxySource(t *testing.T) { function testEndpointsFromHTTPProxy (line 206) | func testEndpointsFromHTTPProxy(t *testing.T) { function testHTTPProxyEndpoints (line 321) | func testHTTPProxyEndpoints(t *testing.T) { function newTestHTTPProxySource (line 1102) | func newTestHTTPProxySource() (*httpProxySource, error) { type fakeHTTPProxy (line 1124) | type fakeHTTPProxy struct method HTTPProxy (line 1134) | func (ir fakeHTTPProxy) HTTPProxy() *projectcontour.HTTPProxy { FILE: source/crd.go type crdSource (line 60) | type crdSource struct method AddEventHandler (line 154) | func (cs *crdSource) AddEventHandler(_ context.Context, handler func()) { method Endpoints (line 176) | func (cs *crdSource) Endpoints(ctx context.Context) ([]*endpoint.Endpo... method watch (line 260) | func (cs *crdSource) watch(ctx context.Context, opts *metav1.ListOptio... method List (line 269) | func (cs *crdSource) List(ctx context.Context, opts *metav1.ListOption... method UpdateStatus (line 279) | func (cs *crdSource) UpdateStatus(ctx context.Context, dnsEndpoint *ap... function NewCRDClientForAPIVersionKind (line 71) | func NewCRDClientForAPIVersionKind( function NewCRDSource (line 123) | func NewCRDSource( FILE: source/crd_test.go type CRDSuite (line 55) | type CRDSuite struct method SetupTest (line 59) | func (suite *CRDSuite) SetupTest() { function defaultHeader (line 62) | func defaultHeader() http.Header { function objBody (line 68) | func objBody(codec runtime.Encoder, obj runtime.Object) io.ReadCloser { function fakeRESTClient (line 72) | func fakeRESTClient(endpoints []*endpoint.Endpoint, apiVersion, kind, na... function TestCRDSource (line 132) | func TestCRDSource(t *testing.T) { function testCRDSourceImplementsSource (line 139) | func testCRDSourceImplementsSource(t *testing.T) { function testCRDSourceEndpoints (line 144) | func testCRDSourceEndpoints(t *testing.T) { function TestCRDSourceIllegalTargetWarnings (line 667) | func TestCRDSourceIllegalTargetWarnings(t *testing.T) { function TestCRDSource_NoInformer (line 739) | func TestCRDSource_NoInformer(t *testing.T) { function TestCRDSource_AddEventHandler_Add (line 747) | func TestCRDSource_AddEventHandler_Add(t *testing.T) { function TestCRDSource_AddEventHandler_Update (line 766) | func TestCRDSource_AddEventHandler_Update(t *testing.T) { function TestCRDSource_AddEventHandler_Delete (line 799) | func TestCRDSource_AddEventHandler_Delete(t *testing.T) { function TestCRDSource_Watch (line 818) | func TestCRDSource_Watch(t *testing.T) { function validateCRDResource (line 864) | func validateCRDResource(t *testing.T, src Source, expectError bool) { function TestDNSEndpointsWithSetResourceLabels (line 881) | func TestDNSEndpointsWithSetResourceLabels(t *testing.T) { function TestProcessEndpoint_CRD_RefObjectExist (line 936) | func TestProcessEndpoint_CRD_RefObjectExist(t *testing.T) { function helperCreateWatcherWithInformer (line 979) | func helperCreateWatcherWithInformer(t *testing.T) (*cachetesting.FakeCo... function generateTestFixtureDNSEndpointsByType (line 1001) | func generateTestFixtureDNSEndpointsByType(namespace string, typeCounts ... FILE: source/empty.go type emptySource (line 35) | type emptySource struct method AddEventHandler (line 37) | func (e *emptySource) AddEventHandler(_ context.Context, _ func()) { method Endpoints (line 41) | func (e *emptySource) Endpoints(_ context.Context) ([]*endpoint.Endpoi... function NewEmptySource (line 46) | func NewEmptySource() Source { FILE: source/empty_test.go function TestEmptySourceReturnsEmpty (line 23) | func TestEmptySourceReturnsEmpty(t *testing.T) { FILE: source/endpoint_benchmark_test.go function BenchmarkEndpointTargetsFromServicesMedium (line 40) | func BenchmarkEndpointTargetsFromServicesMedium(b *testing.B) { function BenchmarkEndpointTargetsFromServicesMediumIterateOverGateways (line 52) | func BenchmarkEndpointTargetsFromServicesMediumIterateOverGateways(b *te... function BenchmarkEndpointTargetsFromServicesHigh (line 65) | func BenchmarkEndpointTargetsFromServicesHigh(b *testing.B) { function BenchmarkEndpointTargetsFromServicesHighIterateOverGateways (line 77) | func BenchmarkEndpointTargetsFromServicesHighIterateOverGateways(b *test... function svcInformerWithServices (line 91) | func svcInformerWithServices(toLookup, underTest int) (coreinformers.Ser... function fixturesSvcWithLabels (line 120) | func fixturesSvcWithLabels(toLookup, underTest int) []*corev1.Service { function fixturesIstioGatewaySvcWithLabels (line 179) | func fixturesIstioGatewaySvcWithLabels(toLookup, underTest int) []*istio... FILE: source/endpoints.go function EndpointTargetsFromServices (line 29) | func EndpointTargetsFromServices(svcInformer coreinformers.ServiceInform... FILE: source/endpoints_test.go function TestEndpointTargetsFromServices (line 28) | func TestEndpointTargetsFromServices(t *testing.T) { function TestEndpointTargetsFromServicesWithFixtures (line 239) | func TestEndpointTargetsFromServicesWithFixtures(t *testing.T) { FILE: source/f5_transportserver.go type f5TransportServerSource (line 59) | type f5TransportServerSource struct method Endpoints (line 103) | func (ts *f5TransportServerSource) Endpoints(_ context.Context) ([]*en... method AddEventHandler (line 134) | func (ts *f5TransportServerSource) AddEventHandler(_ context.Context, ... method endpointsFromTransportServers (line 141) | func (ts *f5TransportServerSource) endpointsFromTransportServers(trans... function NewF5TransportServerSource (line 68) | func NewF5TransportServerSource( function newTSUnstructuredConverter (line 170) | func newTSUnstructuredConverter() (*unstructuredConverter, error) { function hasValidTransportServerIP (line 184) | func hasValidTransportServerIP(vs *f5.TransportServer) bool { FILE: source/f5_transportserver_test.go constant defaultF5TransportServerNamespace (line 37) | defaultF5TransportServerNamespace = "transportserver" function TestF5TransportServerEndpoints (line 39) | func TestF5TransportServerEndpoints(t *testing.T) { FILE: source/f5_virtualserver.go type f5VirtualServerSource (line 58) | type f5VirtualServerSource struct method Endpoints (line 102) | func (vs *f5VirtualServerSource) Endpoints(_ context.Context) ([]*endp... method AddEventHandler (line 133) | func (vs *f5VirtualServerSource) AddEventHandler(_ context.Context, ha... method endpointsFromVirtualServers (line 140) | func (vs *f5VirtualServerSource) endpointsFromVirtualServers(virtualSe... function NewF5VirtualServerSource (line 67) | func NewF5VirtualServerSource( function newVSUnstructuredConverter (line 176) | func newVSUnstructuredConverter() (*unstructuredConverter, error) { function hasValidVirtualServerIP (line 190) | func hasValidVirtualServerIP(vs *f5.VirtualServer) bool { FILE: source/f5_virtualserver_test.go constant defaultF5VirtualServerNamespace (line 37) | defaultF5VirtualServerNamespace = "virtualserver" function TestF5VirtualServerEndpoints (line 39) | func TestF5VirtualServerEndpoints(t *testing.T) { FILE: source/fake.go type fakeSource (line 49) | type fakeSource struct method AddEventHandler (line 68) | func (sc *fakeSource) AddEventHandler(_ context.Context, _ func()) { method Endpoints (line 72) | func (sc *fakeSource) Endpoints(_ context.Context) ([]*endpoint.Endpoi... method generateEndpoint (line 82) | func (sc *fakeSource) generateEndpoint() *endpoint.Endpoint { constant defaultFQDNTemplate (line 54) | defaultFQDNTemplate = "example.com" function NewFakeSource (line 58) | func NewFakeSource(fqdnTemplate string) (Source, error) { function generateIPAddress (line 102) | func generateIPAddress() string { function generateDNSName (line 114) | func generateDNSName(prefixLength int, dnsName string) string { FILE: source/fake_test.go function generateTestEndpoints (line 33) | func generateTestEndpoints() []*endpoint.Endpoint { function TestFakeSourceReturnsTenEndpoints (line 41) | func TestFakeSourceReturnsTenEndpoints(t *testing.T) { function TestFakeEndpointsBelongToDomain (line 51) | func TestFakeEndpointsBelongToDomain(t *testing.T) { function TestFakeEndpointsResolveToIPAddresses (line 65) | func TestFakeEndpointsResolveToIPAddresses(t *testing.T) { function TestFakeSource_GenerateEndpoint_RefObject (line 77) | func TestFakeSource_GenerateEndpoint_RefObject(t *testing.T) { FILE: source/fqdn/fqdn.go function ParseTemplate (line 37) | func ParseTemplate(input string) (*template.Template, error) { type kubeObject (line 56) | type kubeObject interface function ExecTemplate (line 63) | func ExecTemplate(tmpl *template.Template, obj kubeObject) ([]string, er... function replace (line 102) | func replace(oldValue, newValue, target string) string { function isIPv6String (line 108) | func isIPv6String(target string) bool { function isIPv4String (line 113) | func isIPv4String(target string) bool { function hasKey (line 122) | func hasKey(m map[string]string, key string) bool { function fromJson (line 134) | func fromJson(v string) any { function CombineWithTemplatedEndpoints (line 148) | func CombineWithTemplatedEndpoints( FILE: source/fqdn/fqdn_test.go function TestParseTemplate (line 33) | func TestParseTemplate(t *testing.T) { function TestExecTemplate (line 108) | func TestExecTemplate(t *testing.T) { function TestExecTemplateEmptyObject (line 347) | func TestExecTemplateEmptyObject(t *testing.T) { function TestExecTemplatePopulatesEmptyKind (line 354) | func TestExecTemplatePopulatesEmptyKind(t *testing.T) { function TestExecTemplatePreservesExistingKind (line 378) | func TestExecTemplatePreservesExistingKind(t *testing.T) { function TestFqdnTemplate (line 402) | func TestFqdnTemplate(t *testing.T) { function TestReplace (line 438) | func TestReplace(t *testing.T) { function TestIsIPv6String (line 482) | func TestIsIPv6String(t *testing.T) { function TestIsIPv4String (line 526) | func TestIsIPv4String(t *testing.T) { function TestHasKey (line 565) | func TestHasKey(t *testing.T) { function TestFromJson (line 610) | func TestFromJson(t *testing.T) { type testObject (line 657) | type testObject struct method DeepCopyObject (line 662) | func (t *testObject) DeepCopyObject() runtime.Object { function TestExecTemplateExecutionError (line 669) | func TestExecTemplateExecutionError(t *testing.T) { function TestCombineWithTemplatedEndpoints (line 688) | func TestCombineWithTemplatedEndpoints(t *testing.T) { FILE: source/gateway.go constant gatewayGroup (line 47) | gatewayGroup = "gateway.networking.k8s.io" constant gatewayKind (line 48) | gatewayKind = "Gateway" constant gatewayHostnameSourceAnnotationOnlyValue (line 49) | gatewayHostnameSourceAnnotationOnlyValue = "annotation-only" constant gatewayHostnameSourceDefinedHostsOnlyValue (line 50) | gatewayHostnameSourceDefinedHostsOnlyValue = "defined-hosts-only" type gatewayRoute (line 53) | type gatewayRoute interface type newGatewayRouteInformerFunc (line 68) | type newGatewayRouteInformerFunc type gatewayRouteInformer (line 70) | type gatewayRouteInformer interface function newGatewayInformerFactory (line 75) | func newGatewayInformerFactory(client gateway.Interface, namespace strin... type gatewayRouteSource (line 135) | type gatewayRouteSource struct method AddEventHandler (line 239) | func (src *gatewayRouteSource) AddEventHandler(_ context.Context, hand... method Endpoints (line 247) | func (src *gatewayRouteSource) Endpoints(_ context.Context) ([]*endpoi... function newGatewayRouteSource (line 154) | func newGatewayRouteSource( function namespacedName (line 301) | func namespacedName(namespace, name string) types.NamespacedName { type gatewayRouteResolver (line 305) | type gatewayRouteResolver struct method resolve (line 342) | func (c *gatewayRouteResolver) resolve(rt gatewayRoute) (map[string]en... method hosts (line 449) | func (c *gatewayRouteResolver) hosts(rt gatewayRoute) ([]string, error) { method routeIsAllowed (line 500) | func (c *gatewayRouteResolver) routeIsAllowed(gw *v1beta1.Gateway, lis... type gatewayListeners (line 311) | type gatewayListeners struct function newGatewayRouteResolver (line 316) | func newGatewayRouteResolver(src *gatewayRouteSource, gateways []*v1beta... function gwRouteHasParentRef (line 552) | func gwRouteHasParentRef(routeParentRefs []v1.ParentReference, ref v1.Pa... function gwRouteIsAccepted (line 572) | func gwRouteIsAccepted(conds []metav1.Condition) bool { function uniqueTargets (line 581) | func uniqueTargets(targets endpoint.Targets) endpoint.Targets { function gwProtocolMatches (line 602) | func gwProtocolMatches(a, b v1.ProtocolType) bool { function gwMatchingHost (line 620) | func gwMatchingHost(a, b string) (string, bool) { function gwHost (line 645) | func gwHost(host string) (string, bool) { function isIPAddr (line 656) | func isIPAddr(s string) bool { function isDNS1123Domain (line 661) | func isDNS1123Domain(s string) bool { function isDNS1123Label (line 674) | func isDNS1123Label(s string) bool { function isAlphaNum (line 690) | func isAlphaNum(b byte) bool { function strVal (line 701) | func strVal(ptr *string, def string) string { function sectionVal (line 708) | func sectionVal(ptr *v1.SectionName, def v1.SectionName) v1.SectionName { function selectorsEqual (line 715) | func selectorsEqual(a, b labels.Selector) bool { FILE: source/gateway_grpcroute.go function NewGatewayGRPCRouteSource (line 30) | func NewGatewayGRPCRouteSource(ctx context.Context, clients ClientGenera... type gatewayGRPCRoute (line 36) | type gatewayGRPCRoute struct method Object (line 38) | func (rt *gatewayGRPCRoute) Object() kubeObject { return... method Metadata (line 39) | func (rt *gatewayGRPCRoute) Metadata() *metav1.ObjectMeta { return... method Hostnames (line 40) | func (rt *gatewayGRPCRoute) Hostnames() []v1.Hostname { return... method ParentRefs (line 41) | func (rt *gatewayGRPCRoute) ParentRefs() []v1.ParentReference { return... method Protocol (line 42) | func (rt *gatewayGRPCRoute) Protocol() v1.ProtocolType { return... method RouteStatus (line 43) | func (rt *gatewayGRPCRoute) RouteStatus() v1.RouteStatus { return... type gatewayGRPCRouteInformer (line 45) | type gatewayGRPCRouteInformer struct method List (line 49) | func (inf gatewayGRPCRouteInformer) List(namespace string, selector la... FILE: source/gateway_grpcroute_test.go function TestGatewayGRPCRouteSourceEndpoints (line 36) | func TestGatewayGRPCRouteSourceEndpoints(t *testing.T) { FILE: source/gateway_hostname.go function toLowerCaseASCII (line 19) | func toLowerCaseASCII(in string) string { FILE: source/gateway_httproute.go function NewGatewayHTTPRouteSource (line 31) | func NewGatewayHTTPRouteSource(ctx context.Context, clients ClientGenera... type gatewayHTTPRoute (line 37) | type gatewayHTTPRoute struct method Object (line 39) | func (rt *gatewayHTTPRoute) Object() kubeObject { return... method Metadata (line 40) | func (rt *gatewayHTTPRoute) Metadata() *metav1.ObjectMeta { return... method Hostnames (line 41) | func (rt *gatewayHTTPRoute) Hostnames() []v1.Hostname { return... method ParentRefs (line 42) | func (rt *gatewayHTTPRoute) ParentRefs() []v1.ParentReference { return... method Protocol (line 43) | func (rt *gatewayHTTPRoute) Protocol() v1.ProtocolType { return... method RouteStatus (line 44) | func (rt *gatewayHTTPRoute) RouteStatus() v1.RouteStatus { return... type gatewayHTTPRouteInformer (line 46) | type gatewayHTTPRouteInformer struct method List (line 50) | func (inf gatewayHTTPRouteInformer) List(namespace string, selector la... FILE: source/gateway_httproute_test.go function mustGetLabelSelector (line 39) | func mustGetLabelSelector(s string) labels.Selector { function gatewayStatus (line 47) | func gatewayStatus(ips ...string) v1.GatewayStatus { function httpRouteStatus (line 56) | func httpRouteStatus(refs ...v1.ParentReference) v1.HTTPRouteStatus { function gwRouteStatus (line 60) | func gwRouteStatus(refs ...v1.ParentReference) v1.RouteStatus { function omWithGeneration (line 76) | func omWithGeneration(meta metav1.ObjectMeta, generation int64) metav1.O... function rsWithoutAccepted (line 81) | func rsWithoutAccepted(routeStatus v1.HTTPRouteStatus) v1.HTTPRouteStatus { function gwParentRef (line 94) | func gwParentRef(namespace, name string, options ...gwParentRefOption) v... type gwParentRefOption (line 109) | type gwParentRefOption function withSectionName (line 111) | func withSectionName(name v1.SectionName) gwParentRefOption { function withPortNumber (line 115) | func withPortNumber(port v1.PortNumber) gwParentRefOption { function newTestEndpoint (line 119) | func newTestEndpoint(dnsName string, targets ...string) *endpoint.Endpoi... function newTestEndpointWithTTL (line 123) | func newTestEndpointWithTTL(dnsName, recordType string, ttl int64, targe... function TestGatewayHTTPRouteSourceEndpoints (line 132) | func TestGatewayHTTPRouteSourceEndpoints(t *testing.T) { function hostnamePtr (line 1696) | func hostnamePtr(val v1.Hostname) *v1.Hostname { return &val } FILE: source/gateway_tcproute.go function NewGatewayTCPRouteSource (line 31) | func NewGatewayTCPRouteSource(ctx context.Context, clients ClientGenerat... type gatewayTCPRoute (line 37) | type gatewayTCPRoute struct method Object (line 39) | func (rt *gatewayTCPRoute) Object() kubeObject { return ... method Metadata (line 40) | func (rt *gatewayTCPRoute) Metadata() *metav1.ObjectMeta { return ... method Hostnames (line 41) | func (rt *gatewayTCPRoute) Hostnames() []v1.Hostname { return ... method ParentRefs (line 42) | func (rt *gatewayTCPRoute) ParentRefs() []v1.ParentReference { return ... method Protocol (line 43) | func (rt *gatewayTCPRoute) Protocol() v1.ProtocolType { return ... method RouteStatus (line 44) | func (rt *gatewayTCPRoute) RouteStatus() v1.RouteStatus { return ... type gatewayTCPRouteInformer (line 46) | type gatewayTCPRouteInformer struct method List (line 50) | func (inf gatewayTCPRouteInformer) List(namespace string, selector lab... FILE: source/gateway_tcproute_test.go function TestGatewayTCPRouteSourceEndpoints (line 37) | func TestGatewayTCPRouteSourceEndpoints(t *testing.T) { FILE: source/gateway_test.go function TestGatewayMatchingHost (line 26) | func TestGatewayMatchingHost(t *testing.T) { function TestGatewayMatchingProtocol (line 110) | func TestGatewayMatchingProtocol(t *testing.T) { function TestIsDNS1123Domain (line 164) | func TestIsDNS1123Domain(t *testing.T) { FILE: source/gateway_tlsroute.go function NewGatewayTLSRouteSource (line 31) | func NewGatewayTLSRouteSource(ctx context.Context, clients ClientGenerat... type gatewayTLSRoute (line 37) | type gatewayTLSRoute struct method Object (line 39) | func (rt *gatewayTLSRoute) Object() kubeObject { return ... method Metadata (line 40) | func (rt *gatewayTLSRoute) Metadata() *metav1.ObjectMeta { return ... method Hostnames (line 41) | func (rt *gatewayTLSRoute) Hostnames() []v1.Hostname { return ... method ParentRefs (line 42) | func (rt *gatewayTLSRoute) ParentRefs() []v1.ParentReference { return ... method Protocol (line 43) | func (rt *gatewayTLSRoute) Protocol() v1.ProtocolType { return ... method RouteStatus (line 44) | func (rt *gatewayTLSRoute) RouteStatus() v1.RouteStatus { return ... type gatewayTLSRouteInformer (line 46) | type gatewayTLSRouteInformer struct method List (line 50) | func (inf gatewayTLSRouteInformer) List(namespace string, selector lab... FILE: source/gateway_tlsroute_test.go function TestGatewayTLSRouteSourceEndpoints (line 37) | func TestGatewayTLSRouteSourceEndpoints(t *testing.T) { FILE: source/gateway_udproute.go function NewGatewayUDPRouteSource (line 31) | func NewGatewayUDPRouteSource(ctx context.Context, clients ClientGenerat... type gatewayUDPRoute (line 37) | type gatewayUDPRoute struct method Object (line 39) | func (rt *gatewayUDPRoute) Object() kubeObject { return ... method Metadata (line 40) | func (rt *gatewayUDPRoute) Metadata() *metav1.ObjectMeta { return ... method Hostnames (line 41) | func (rt *gatewayUDPRoute) Hostnames() []v1.Hostname { return ... method ParentRefs (line 42) | func (rt *gatewayUDPRoute) ParentRefs() []v1.ParentReference { return ... method Protocol (line 43) | func (rt *gatewayUDPRoute) Protocol() v1.ProtocolType { return ... method RouteStatus (line 44) | func (rt *gatewayUDPRoute) RouteStatus() v1.RouteStatus { return ... type gatewayUDPRouteInformer (line 46) | type gatewayUDPRouteInformer struct method List (line 50) | func (inf gatewayUDPRouteInformer) List(namespace string, selector lab... FILE: source/gateway_udproute_test.go function TestGatewayUDPRouteSourceEndpoints (line 37) | func TestGatewayUDPRouteSourceEndpoints(t *testing.T) { FILE: source/gloo_proxy.go type proxy (line 64) | type proxy struct type proxySpec (line 70) | type proxySpec struct type proxySpecListener (line 74) | type proxySpecListener struct type proxyMetadataStatic (line 79) | type proxyMetadataStatic struct type proxyMetadataStaticSource (line 83) | type proxyMetadataStaticSource struct type proxyMetadataStaticSourceResourceRef (line 88) | type proxyMetadataStaticSourceResourceRef struct type proxySpecHTTPListener (line 93) | type proxySpecHTTPListener struct type proxyVirtualHost (line 97) | type proxyVirtualHost struct type proxyVirtualHostMetadata (line 103) | type proxyVirtualHostMetadata struct type proxyVirtualHostMetadataStatic (line 107) | type proxyVirtualHostMetadataStatic struct type proxyVirtualHostMetadataSource (line 111) | type proxyVirtualHostMetadataSource struct type proxyVirtualHostMetadataStaticSource (line 117) | type proxyVirtualHostMetadataStaticSource struct type proxyVirtualHostMetadataSourceResourceRef (line 122) | type proxyVirtualHostMetadataSourceResourceRef struct type glooSource (line 138) | type glooSource struct method AddEventHandler (line 190) | func (gs *glooSource) AddEventHandler(_ context.Context, _ func()) { method Endpoints (line 194) | func (gs *glooSource) Endpoints(_ context.Context) ([]*endpoint.Endpoi... method generateEndpointsFromProxy (line 247) | func (gs *glooSource) generateEndpointsFromProxy(proxy *proxy, targets... method annotationsFromProxySource (line 268) | func (gs *glooSource) annotationsFromProxySource(virtualHost proxyVirt... method proxyTargets (line 309) | func (gs *glooSource) proxyTargets(name string, namespace string) (end... method targetsFromGatewayIngress (line 332) | func (gs *glooSource) targetsFromGatewayIngress(proxy *proxy) (endpoin... function NewGlooSource (line 149) | func NewGlooSource( FILE: source/gloo_proxy_test.go constant defaultGlooNamespace (line 40) | defaultGlooNamespace = "gloo-system" function TestGlooSource (line 474) | func TestGlooSource(t *testing.T) { FILE: source/informers/fake.go type FakeServiceInformer (line 26) | type FakeServiceInformer struct method Informer (line 30) | func (f *FakeServiceInformer) Informer() cache.SharedIndexInformer { method Lister (line 35) | func (f *FakeServiceInformer) Lister() corev1lister.ServiceLister { type FakeEndpointSliceInformer (line 39) | type FakeEndpointSliceInformer struct method Informer (line 43) | func (f *FakeEndpointSliceInformer) Informer() cache.SharedIndexInform... method Lister (line 48) | func (f *FakeEndpointSliceInformer) Lister() discoveryv1lister.Endpoin... type FakeNodeInformer (line 52) | type FakeNodeInformer struct method Informer (line 56) | func (f *FakeNodeInformer) Informer() cache.SharedIndexInformer { method Lister (line 61) | func (f *FakeNodeInformer) Lister() corev1lister.NodeLister { function fakeService (line 65) | func fakeService() *corev1.Service { FILE: source/informers/handlers.go function DefaultEventHandler (line 22) | func DefaultEventHandler(handlers ...func()) cache.ResourceEventHandler { FILE: source/informers/handlers_test.go function TestDefaultEventHandler_AddFunc (line 22) | func TestDefaultEventHandler_AddFunc(t *testing.T) { FILE: source/informers/indexers.go constant IndexWithSelectors (line 28) | IndexWithSelectors = "withSelectors" type IndexSelectorOptions (line 31) | type IndexSelectorOptions struct function IndexSelectorWithAnnotationFilter (line 36) | func IndexSelectorWithAnnotationFilter(input string) func(options *Index... function IndexSelectorWithLabelSelector (line 49) | func IndexSelectorWithLabelSelector(input labels.Selector) func(options ... function IndexerWithOptions (line 72) | func IndexerWithOptions[T metav1.Object](optFns ...func(options *IndexSe... function GetByKey (line 101) | func GetByKey[T metav1.Object](indexer cache.Indexer, key string) (T, er... FILE: source/informers/indexers_test.go function TestIndexerWithOptions_FilterByAnnotation (line 28) | func TestIndexerWithOptions_FilterByAnnotation(t *testing.T) { function TestIndexerWithOptions_FilterByLabel (line 43) | func TestIndexerWithOptions_FilterByLabel(t *testing.T) { function TestIndexerWithOptions_NoMatch (line 59) | func TestIndexerWithOptions_NoMatch(t *testing.T) { function TestIndexerWithOptions_InvalidType (line 75) | func TestIndexerWithOptions_InvalidType(t *testing.T) { function TestIndexerWithOptions_EmptyOptions (line 86) | func TestIndexerWithOptions_EmptyOptions(t *testing.T) { function TestIndexerWithOptions_AnnotationFilterNoMatch (line 98) | func TestIndexerWithOptions_AnnotationFilterNoMatch(t *testing.T) { function TestIndexSelectorWithAnnotationFilter (line 113) | func TestIndexSelectorWithAnnotationFilter(t *testing.T) { function TestGetByKey_ObjectExists (line 150) | func TestGetByKey_ObjectExists(t *testing.T) { function TestGetByKey_ObjectDoesNotExist (line 165) | func TestGetByKey_ObjectDoesNotExist(t *testing.T) { function TestGetByKey_TypeAssertionFailure (line 173) | func TestGetByKey_TypeAssertionFailure(t *testing.T) { FILE: source/informers/informers.go constant defaultRequestTimeout (line 29) | defaultRequestTimeout = 60 type informerFactory (line 32) | type informerFactory interface type dynamicInformerFactory (line 36) | type dynamicInformerFactory interface function WaitForCacheSync (line 40) | func WaitForCacheSync(ctx context.Context, factory informerFactory) error { function WaitForDynamicCacheSync (line 44) | func WaitForDynamicCacheSync(ctx context.Context, factory dynamicInforme... function waitForCacheSync (line 50) | func waitForCacheSync[K comparable](ctx context.Context, waitFunc func(<... FILE: source/informers/informers_test.go type mockInformerFactory (line 27) | type mockInformerFactory struct method WaitForCacheSync (line 31) | func (m *mockInformerFactory) WaitForCacheSync(_ <-chan struct{}) map[... type mockDynamicInformerFactory (line 35) | type mockDynamicInformerFactory struct method WaitForCacheSync (line 39) | func (m *mockDynamicInformerFactory) WaitForCacheSync(_ <-chan struct{... function TestWaitForCacheSync (line 43) | func TestWaitForCacheSync(t *testing.T) { function TestWaitForDynamicCacheSync (line 85) | func TestWaitForDynamicCacheSync(t *testing.T) { FILE: source/informers/transfomers.go type TransformOptions (line 22) | type TransformOptions struct function TransformerWithOptions (line 28) | func TransformerWithOptions[T metav1.Object](optFns ...func(options *Tra... function TransformWithSpecSelector (line 66) | func TransformWithSpecSelector() func(options *TransformOptions) { function TransformWithSpecExternalIPs (line 73) | func TransformWithSpecExternalIPs() func(options *TransformOptions) { function TransformWithStatusLoadBalancer (line 80) | func TransformWithStatusLoadBalancer() func(options *TransformOptions) { FILE: source/informers/transformers_test.go function TestTransformerWithOptions_Service (line 27) | func TestTransformerWithOptions_Service(t *testing.T) { function TestTransformer_Service_WithFakeClient (line 117) | func TestTransformer_Service_WithFakeClient(t *testing.T) { FILE: source/ingress.go constant IngressHostnameSourceAnnotationOnlyValue (line 45) | IngressHostnameSourceAnnotationOnlyValue = "annotation-only" constant IngressHostnameSourceDefinedHostsOnlyValue (line 46) | IngressHostnameSourceDefinedHostsOnlyValue = "defined-hosts-only" constant IngressClassAnnotationKey (line 48) | IngressClassAnnotationKey = "kubernetes.io/ingress.class" type ingressSource (line 65) | type ingressSource struct method Endpoints (line 137) | func (sc *ingressSource) Endpoints(_ context.Context) ([]*endpoint.End... method endpointsFromTemplate (line 185) | func (sc *ingressSource) endpointsFromTemplate(ing *networkv1.Ingress)... method filterByIngressClass (line 211) | func (sc *ingressSource) filterByIngressClass(ingresses []*networkv1.I... method AddEventHandler (line 334) | func (sc *ingressSource) AddEventHandler(_ context.Context, handler fu... function NewIngressSource (line 80) | func NewIngressSource( function endpointsFromIngress (line 254) | func endpointsFromIngress(ing *networkv1.Ingress, ignoreHostnameAnnotati... function targetsFromIngressStatus (line 319) | func targetsFromIngressStatus(status networkv1.IngressStatus) endpoint.T... FILE: source/ingress_fqdn_test.go function TestIngressSourceNewNodeSourceWithFqdn (line 32) | func TestIngressSourceNewNodeSourceWithFqdn(t *testing.T) { function TestIngressSourceFqdnTemplatingExamples (line 83) | func TestIngressSourceFqdnTemplatingExamples(t *testing.T) { FILE: source/ingress_test.go type IngressSuite (line 42) | type IngressSuite struct method SetupTest (line 48) | func (suite *IngressSuite) SetupTest() { method TestResourceLabelIsSet (line 72) | func (suite *IngressSuite) TestResourceLabelIsSet() { function TestIngress (line 79) | func TestIngress(t *testing.T) { function TestNewIngressSource (line 88) | func TestNewIngressSource(t *testing.T) { function testEndpointsFromIngress (line 139) | func testEndpointsFromIngress(t *testing.T) { function testEndpointsFromIngressHostnameSourceAnnotation (line 265) | func testEndpointsFromIngressHostnameSourceAnnotation(t *testing.T) { function testIngressEndpoints (line 364) | func testIngressEndpoints(t *testing.T) { type fakeIngress (line 1447) | type fakeIngress struct method Ingress (line 1459) | func (ing fakeIngress) Ingress() *networkv1.Ingress { function TestIngressWithConfiguration (line 1500) | func TestIngressWithConfiguration(t *testing.T) { function TestProcessEndpoint_Ingress_RefObjectExist (line 1751) | func TestProcessEndpoint_Ingress_RefObjectExist(t *testing.T) { FILE: source/istio_gateway.go type gatewaySource (line 62) | type gatewaySource struct method Endpoints (line 137) | func (sc *gatewaySource) Endpoints(ctx context.Context) ([]*endpoint.E... method AddEventHandler (line 196) | func (sc *gatewaySource) AddEventHandler(_ context.Context, handler fu... method targetsFromIngress (line 202) | func (sc *gatewaySource) targetsFromIngress(ingressStr string, gateway... method targetsFromGateway (line 228) | func (sc *gatewaySource) targetsFromGateway(gateway *networkingv1beta1... method endpointsFromGateway (line 243) | func (sc *gatewaySource) endpointsFromGateway(hostnames []string, gate... method hostNamesFromGateway (line 267) | func (sc *gatewaySource) hostNamesFromGateway(gateway *networkingv1bet... function NewIstioGatewaySource (line 76) | func NewIstioGatewaySource( FILE: source/istio_gateway_fqdn_test.go function TestIstioGatewaySourceNewSourceWithFqdn (line 34) | func TestIstioGatewaySourceNewSourceWithFqdn(t *testing.T) { function TestIstioGatewaySourceFqdnTemplatingExamples (line 84) | func TestIstioGatewaySourceFqdnTemplatingExamples(t *testing.T) { FILE: source/istio_gateway_test.go type GatewaySuite (line 47) | type GatewaySuite struct method SetupTest (line 54) | func (suite *GatewaySuite) SetupTest() { method TestResourceLabelIsSet (line 111) | func (suite *GatewaySuite) TestResourceLabelIsSet() { function TestGateway (line 118) | func TestGateway(t *testing.T) { function TestNewIstioGatewaySource (line 126) | func TestNewIstioGatewaySource(t *testing.T) { function testEndpointsFromGatewayConfig (line 190) | func testEndpointsFromGatewayConfig(t *testing.T) { function testGatewayEndpoints (line 540) | func testGatewayEndpoints(t *testing.T) { function TestGatewaySource_GWSelectorMatchServiceSelector (line 1558) | func TestGatewaySource_GWSelectorMatchServiceSelector(t *testing.T) { function TestTransformerInIstioGatewaySource (line 1664) | func TestTransformerInIstioGatewaySource(t *testing.T) { function TestSingleGatewayMultipleServicesPointingToSameLoadBalancer (line 1753) | func TestSingleGatewayMultipleServicesPointingToSameLoadBalancer(t *test... function newTestGatewaySource (line 1899) | func newTestGatewaySource(loadBalancerList []fakeIngressGatewayService, ... type fakeIngressGatewayService (line 1938) | type fakeIngressGatewayService struct method Service (line 1947) | func (ig fakeIngressGatewayService) Service() *v1.Service { type fakeGatewayConfig (line 1978) | type fakeGatewayConfig struct method Config (line 1986) | func (c fakeGatewayConfig) Config() *networkingv1beta1.Gateway { FILE: source/istio_virtualservice.go constant IstioMeshGateway (line 49) | IstioMeshGateway = "mesh" type virtualServiceSource (line 63) | type virtualServiceSource struct method Endpoints (line 143) | func (sc *virtualServiceSource) Endpoints(ctx context.Context) ([]*end... method AddEventHandler (line 190) | func (sc *virtualServiceSource) AddEventHandler(_ context.Context, han... method getGateway (line 196) | func (sc *virtualServiceSource) getGateway(_ context.Context, gatewayS... method endpointsFromTemplate (line 224) | func (sc *virtualServiceSource) endpointsFromTemplate(ctx context.Cont... method targetsFromVirtualService (line 255) | func (sc *virtualServiceSource) targetsFromVirtualService(ctx context.... method endpointsFromVirtualService (line 281) | func (sc *virtualServiceSource) endpointsFromVirtualService(ctx contex... method targetsFromIngress (line 384) | func (sc *virtualServiceSource) targetsFromIngress(ingressStr string, ... method targetsFromGateway (line 411) | func (sc *virtualServiceSource) targetsFromGateway(gateway *v1beta1.Ga... function NewIstioVirtualServiceSource (line 78) | func NewIstioVirtualServiceSource( function appendUnique (line 248) | func appendUnique(targets []string, target string) []string { function virtualServiceBindsToGateway (line 337) | func virtualServiceBindsToGateway(vService *v1beta1.VirtualService, gate... FILE: source/istio_virtualservice_fqdn_test.go function TestIstioVirtualServiceSourceNewSourceWithFqdn (line 33) | func TestIstioVirtualServiceSourceNewSourceWithFqdn(t *testing.T) { function TestIstioVirtualServiceSourceFqdnTemplatingExamples (line 83) | func TestIstioVirtualServiceSourceFqdnTemplatingExamples(t *testing.T) { FILE: source/istio_virtualservice_test.go type VirtualServiceSuite (line 46) | type VirtualServiceSuite struct method SetupTest (line 55) | func (suite *VirtualServiceSuite) SetupTest() { method TestResourceLabelIsSet (line 128) | func (suite *VirtualServiceSuite) TestResourceLabelIsSet() { function TestVirtualService (line 137) | func TestVirtualService(t *testing.T) { function TestNewIstioVirtualServiceSource (line 147) | func TestNewIstioVirtualServiceSource(t *testing.T) { function testVirtualServiceBindsToGateway (line 211) | func testVirtualServiceBindsToGateway(t *testing.T) { function testEndpointsFromVirtualServiceConfig (line 394) | func testEndpointsFromVirtualServiceConfig(t *testing.T) { function testVirtualServiceEndpoints (line 755) | func testVirtualServiceEndpoints(t *testing.T) { function testGatewaySelectorMatchesService (line 2044) | func testGatewaySelectorMatchesService(t *testing.T) { function newTestVirtualServiceSource (line 2076) | func newTestVirtualServiceSource(loadBalancerList []fakeIngressGatewaySe... type fakeVirtualServiceConfig (line 2126) | type fakeVirtualServiceConfig struct method Config (line 2135) | func (c fakeVirtualServiceConfig) Config() *networkingv1beta1.VirtualS... function TestVirtualServiceSourceGetGateway (line 2154) | func TestVirtualServiceSourceGetGateway(t *testing.T) { function TestIstioVirtualServiceSource_GWServiceSelectorMatchServiceSelector (line 2247) | func TestIstioVirtualServiceSource_GWServiceSelectorMatchServiceSelector... function TestTransformerInIstioGatewayVirtualServiceSource (line 2364) | func TestTransformerInIstioGatewayVirtualServiceSource(t *testing.T) { FILE: source/kong_tcpingress.go type kongTCPIngressSource (line 60) | type kongTCPIngressSource struct method Endpoints (line 109) | func (sc *kongTCPIngressSource) Endpoints(_ context.Context) ([]*endpo... method endpointsFromTCPIngress (line 164) | func (sc *kongTCPIngressSource) endpointsFromTCPIngress(tcpIngress *TC... method AddEventHandler (line 191) | func (sc *kongTCPIngressSource) AddEventHandler(_ context.Context, han... function NewKongTCPIngressSource (line 71) | func NewKongTCPIngressSource( function newKongUnstructuredConverter (line 200) | func newKongUnstructuredConverter() (*unstructuredConverter, error) { type TCPIngress (line 218) | type TCPIngress struct method DeepCopyInto (line 341) | func (in *TCPIngress) DeepCopyInto(out *TCPIngress) { method DeepCopy (line 349) | func (in *TCPIngress) DeepCopy() *TCPIngress { method DeepCopyObject (line 358) | func (in *TCPIngress) DeepCopyObject() runtime.Object { type TCPIngressList (line 226) | type TCPIngressList struct method DeepCopyInto (line 365) | func (in *TCPIngressList) DeepCopyInto(out *TCPIngressList) { method DeepCopy (line 378) | func (in *TCPIngressList) DeepCopy() *TCPIngressList { method DeepCopyObject (line 387) | func (in *TCPIngressList) DeepCopyObject() runtime.Object { type tcpIngressSpec (line 232) | type tcpIngressSpec struct method DeepCopyInto (line 284) | func (in *tcpIngressSpec) DeepCopyInto(out *tcpIngressSpec) { method DeepCopy (line 300) | func (in *tcpIngressSpec) DeepCopy() *tcpIngressSpec { type tcpIngressTLS (line 237) | type tcpIngressTLS struct method DeepCopyInto (line 323) | func (in *tcpIngressTLS) DeepCopyInto(out *tcpIngressTLS) { method DeepCopy (line 332) | func (in *tcpIngressTLS) DeepCopy() *tcpIngressTLS { type tcpIngressStatus (line 242) | type tcpIngressStatus struct method DeepCopyInto (line 309) | func (in *tcpIngressStatus) DeepCopyInto(out *tcpIngressStatus) { method DeepCopy (line 314) | func (in *tcpIngressStatus) DeepCopy() *tcpIngressStatus { type tcpIngressRule (line 246) | type tcpIngressRule struct method DeepCopyInto (line 270) | func (in *tcpIngressRule) DeepCopyInto(out *tcpIngressRule) { method DeepCopy (line 275) | func (in *tcpIngressRule) DeepCopy() *tcpIngressRule { type tcpIngressBackend (line 252) | type tcpIngressBackend struct method DeepCopyInto (line 257) | func (in *tcpIngressBackend) DeepCopyInto(out *tcpIngressBackend) { method DeepCopy (line 261) | func (in *tcpIngressBackend) DeepCopy() *tcpIngressBackend { FILE: source/kong_tcpingress_test.go constant defaultKongNamespace (line 38) | defaultKongNamespace = "kong" function TestKongTCPIngressEndpoints (line 40) | func TestKongTCPIngressEndpoints(t *testing.T) { FILE: source/main_test.go function TestMain (line 26) | func TestMain(m *testing.M) { FILE: source/node.go type nodeSource (line 51) | type nodeSource struct method Endpoints (line 101) | func (ns *nodeSource) Endpoints(_ context.Context) ([]*endpoint.Endpoi... method AddEventHandler (line 159) | func (ns *nodeSource) AddEventHandler(_ context.Context, handler func(... method endpointsFromNodeTemplate (line 164) | func (ns *nodeSource) endpointsFromNodeTemplate(node *v1.Node) ([]*end... method endpointsForDNSNames (line 178) | func (ns *nodeSource) endpointsForDNSNames(node *v1.Node, dnsNames []s... method nodeAddresses (line 207) | func (ns *nodeSource) nodeAddresses(node *v1.Node) ([]string, error) { function NewNodeSource (line 64) | func NewNodeSource( FILE: source/node_fqdn_test.go function TestNodeSourceNewNodeSourceWithFqdn (line 32) | func TestNodeSourceNewNodeSourceWithFqdn(t *testing.T) { function TestNodeSourceFqdnTemplatingExamples (line 81) | func TestNodeSourceFqdnTemplatingExamples(t *testing.T) { FILE: source/node_test.go function TestNodeSource (line 48) | func TestNodeSource(t *testing.T) { function testNodeSourceNewNodeSource (line 57) | func testNodeSourceNewNodeSource(t *testing.T) { function testNodeSourceEndpoints (line 117) | func testNodeSourceEndpoints(t *testing.T) { function testNodeEndpointsWithIPv6 (line 487) | func testNodeEndpointsWithIPv6(t *testing.T) { function TestResourceLabelIsSetForEachNodeEndpoint (line 598) | func TestResourceLabelIsSetForEachNodeEndpoint(t *testing.T) { function TestProcessEndpoint_Node_RefObjectExist (line 630) | func TestProcessEndpoint_Node_RefObjectExist(t *testing.T) { function TestNodeSource_AddEventHandler (line 670) | func TestNodeSource_AddEventHandler(t *testing.T) { type fakeNodeInformer (line 689) | type fakeNodeInformer struct method Informer (line 693) | func (f *fakeNodeInformer) Informer() cache.SharedIndexInformer { method Lister (line 698) | func (f *fakeNodeInformer) Lister() corev1lister.NodeLister { type nodeListBuilder (line 702) | type nodeListBuilder struct method withNode (line 710) | func (b *nodeListBuilder) withNode(labels map[string]string) *nodeList... method build (line 746) | func (b *nodeListBuilder) build() v1.NodeList { function helperNodeBuilder (line 706) | func helperNodeBuilder() *nodeListBuilder { FILE: source/openshift_route.go type ocpRouteSource (line 55) | type ocpRouteSource struct method AddEventHandler (line 106) | func (ors *ocpRouteSource) AddEventHandler(_ context.Context, handler ... method Endpoints (line 117) | func (ors *ocpRouteSource) Endpoints(_ context.Context) ([]*endpoint.E... method endpointsFromTemplate (line 159) | func (ors *ocpRouteSource) endpointsFromTemplate(ocpRoute *routev1.Rou... method endpointsFromOcpRoute (line 185) | func (ors *ocpRouteSource) endpointsFromOcpRoute(ocpRoute *routev1.Rou... method getTargetsFromRouteStatus (line 218) | func (ors *ocpRouteSource) getTargetsFromRouteStatus(status routev1.Ro... function NewOcpRouteSource (line 68) | func NewOcpRouteSource( function ingressConditionStatus (line 238) | func ingressConditionStatus(ingress *routev1.RouteIngress, t routev1.Rou... FILE: source/openshift_route_fqdn_test.go function TestOpenShiftFqdnTemplatingExamples (line 31) | func TestOpenShiftFqdnTemplatingExamples(t *testing.T) { FILE: source/openshift_route_test.go type OCPRouteSuite (line 37) | type OCPRouteSuite struct method SetupTest (line 43) | func (suite *OCPRouteSuite) SetupTest() { method TestResourceLabelIsSet (line 80) | func (suite *OCPRouteSuite) TestResourceLabelIsSet() { function TestOcpRouteSource (line 87) | func TestOcpRouteSource(t *testing.T) { function testOcpRouteSourceImplementsSource (line 97) | func testOcpRouteSourceImplementsSource(t *testing.T) { function testOcpRouteSourceNewOcpRouteSource (line 102) | func testOcpRouteSourceNewOcpRouteSource(t *testing.T) { function testOcpRouteSourceEndpoints (line 163) | func testOcpRouteSourceEndpoints(t *testing.T) { FILE: source/pod.go type podSource (line 55) | type podSource struct method AddEventHandler (line 152) | func (ps *podSource) AddEventHandler(_ context.Context, handler func()) { method Endpoints (line 156) | func (ps *podSource) Endpoints(_ context.Context) ([]*endpoint.Endpoin... method endpointsFromPodAnnotations (line 186) | func (ps *podSource) endpointsFromPodAnnotations(pod *corev1.Pod) []*e... method endpointsFromPodTemplate (line 197) | func (ps *podSource) endpointsFromPodTemplate(pod *corev1.Pod) ([]*end... method addPodEndpointsToEndpointMap (line 210) | func (ps *podSource) addPodEndpointsToEndpointMap(endpointMap map[endp... method addInternalHostnameAnnotationEndpoints (line 224) | func (ps *podSource) addInternalHostnameAnnotationEndpoints(endpointMa... method addHostnameAnnotationEndpoints (line 237) | func (ps *podSource) addHostnameAnnotationEndpoints(endpointMap map[en... method addKopsDNSControllerEndpoints (line 248) | func (ps *podSource) addKopsDNSControllerEndpoints(endpointMap map[end... method addPodSourceDomainEndpoints (line 264) | func (ps *podSource) addPodSourceDomainEndpoints(endpointMap map[endpo... method addPodNodeEndpointsToEndpointMap (line 274) | func (ps *podSource) addPodNodeEndpointsToEndpointMap(endpointMap map[... method hostsFromTemplate (line 291) | func (ps *podSource) hostsFromTemplate(pod *corev1.Pod) (map[endpoint.... function NewPodSource (line 69) | func NewPodSource( function addTargetsToEndpointMap (line 316) | func addTargetsToEndpointMap(endpointMap map[endpoint.EndpointKey][]stri... function addToEndpointMap (line 324) | func addToEndpointMap(endpointMap map[endpoint.EndpointKey][]string, pod... FILE: source/pod_fqdn_test.go function TestNewPodSourceWithFqdn (line 31) | func TestNewPodSourceWithFqdn(t *testing.T) { function TestPodSourceFqdnTemplatingExamples (line 70) | func TestPodSourceFqdnTemplatingExamples(t *testing.T) { function TestPodSourceFqdnTemplatingExamples_Failed (line 458) | func TestPodSourceFqdnTemplatingExamples_Failed(t *testing.T) { FILE: source/pod_indexer_test.go type podSpec (line 33) | type podSpec struct function fixtureCreatePodsWithNodes (line 43) | func fixtureCreatePodsWithNodes(input []podSpec) []*corev1.Pod { function TestPodsWithAnnotationsAndLabels (line 98) | func TestPodsWithAnnotationsAndLabels(t *testing.T) { FILE: source/pod_test.go function TestPodSource (line 46) | func TestPodSource(t *testing.T) { function TestPodSourceLogs (line 787) | func TestPodSourceLogs(t *testing.T) { function TestPodSource_AddEventHandler (line 1020) | func TestPodSource_AddEventHandler(t *testing.T) { type fakePodInformer (line 1039) | type fakePodInformer struct method Informer (line 1043) | func (f *fakePodInformer) Informer() cache.SharedIndexInformer { method Lister (line 1048) | func (f *fakePodInformer) Lister() corev1lister.PodLister { function nodesFixturesIPv6 (line 1052) | func nodesFixturesIPv6() []*corev1.Node { function nodesFixturesIPv4 (line 1077) | func nodesFixturesIPv4() []*corev1.Node { function TestPodTransformerInPodSource (line 1104) | func TestPodTransformerInPodSource(t *testing.T) { function TestProcessEndpoint_Pod_RefObjectExist (line 1249) | func TestProcessEndpoint_Pod_RefObjectExist(t *testing.T) { FILE: source/service.go type serviceSource (line 74) | type serviceSource struct method Endpoints (line 238) | func (sc *serviceSource) Endpoints(_ context.Context) ([]*endpoint.End... method extractHeadlessEndpoints (line 336) | func (sc *serviceSource) extractHeadlessEndpoints(svc *v1.Service, hos... method processHeadlessEndpointsFromSlices (line 386) | func (sc *serviceSource) processHeadlessEndpointsFromSlices( method getTargetsForDomain (line 452) | func (sc *serviceSource) getTargetsForDomain( method endpointsFromTemplate (line 531) | func (sc *serviceSource) endpointsFromTemplate(svc *v1.Service) ([]*en... method endpoints (line 548) | func (sc *serviceSource) endpoints(svc *v1.Service) []*endpoint.Endpoi... method filterByServiceType (line 574) | func (sc *serviceSource) filterByServiceType(services []*v1.Service) [... method generateEndpoints (line 588) | func (sc *serviceSource) generateEndpoints(svc *v1.Service, hostname s... method nodesExternalTrafficPolicyTypeLocal (line 695) | func (sc *serviceSource) nodesExternalTrafficPolicyTypeLocal(svc *v1.S... method pods (line 752) | func (sc *serviceSource) pods(svc *v1.Service) []*v1.Pod { method extractNodePortTargets (line 765) | func (sc *serviceSource) extractNodePortTargets(svc *v1.Service) (endp... method extractNodePortEndpoints (line 822) | func (sc *serviceSource) extractNodePortEndpoints(svc *v1.Service, hos... method AddEventHandler (line 864) | func (sc *serviceSource) AddEventHandler(_ context.Context, handler fu... function NewServiceSource (line 101) | func NewServiceSource( function convertToEndpointSlices (line 370) | func convertToEndpointSlices(rawEndpointSlices []any) []*discoveryv1.End... function findPodForEndpoint (line 438) | func findPodForEndpoint(ep discoveryv1.Endpoint, pods []*v1.Pod) *v1.Pod { function buildHeadlessEndpoints (line 493) | func buildHeadlessEndpoints(svc *v1.Service, targetsByHeadlessDomainAndT... function extractServiceIps (line 637) | func extractServiceIps(svc *v1.Service) endpoint.Targets { function extractServiceExternalName (line 645) | func extractServiceExternalName(svc *v1.Service) endpoint.Targets { function extractLoadBalancerTargets (line 652) | func extractLoadBalancerTargets(svc *v1.Service, resolveLoadBalancerHost... function isPodStatusReady (line 682) | func isPodStatusReady(status v1.PodStatus) bool { type serviceTypes (line 875) | type serviceTypes struct method isProcessed (line 903) | func (sc *serviceTypes) isProcessed(serviceType v1.ServiceType) bool { method isRequired (line 909) | func (sc *serviceTypes) isRequired(opts ...v1.ServiceType) bool { function newServiceTypesFilter (line 883) | func newServiceTypesFilter(filter []string) (*serviceTypes, error) { function conditionToBool (line 922) | func conditionToBool(v *bool) bool { FILE: source/service_fqdn_test.go function TestServiceSourceFqdnTemplatingExamples (line 33) | func TestServiceSourceFqdnTemplatingExamples(t *testing.T) { FILE: source/service_test.go type ServiceSuite (line 51) | type ServiceSuite struct method SetupTest (line 57) | func (suite *ServiceSuite) SetupTest() { method TestResourceLabelIsSet (line 92) | func (suite *ServiceSuite) TestResourceLabelIsSet() { function TestServiceSource (line 99) | func TestServiceSource(t *testing.T) { function testServiceSourceImplementsSource (line 110) | func testServiceSourceImplementsSource(t *testing.T) { function testServiceSourceNewServiceSource (line 115) | func testServiceSourceNewServiceSource(t *testing.T) { function testServiceSourceEndpoints (line 175) | func testServiceSourceEndpoints(t *testing.T) { function testMultipleServicesEndpoints (line 1182) | func testMultipleServicesEndpoints(t *testing.T) { function TestClusterIpServices (line 1404) | func TestClusterIpServices(t *testing.T) { function TestServiceSourceNodePortServices (line 1687) | func TestServiceSourceNodePortServices(t *testing.T) { function TestHeadlessServices (line 2508) | func TestHeadlessServices(t *testing.T) { function TestMultipleServicesPointingToSameLoadBalancer (line 3408) | func TestMultipleServicesPointingToSameLoadBalancer(t *testing.T) { function TestMultipleHeadlessServicesPointingToPodsOnTheSameNode (line 3529) | func TestMultipleHeadlessServicesPointingToPodsOnTheSameNode(t *testing.... function TestHeadlessServicesHostIP (line 3891) | func TestHeadlessServicesHostIP(t *testing.T) { function TestExternalServices (line 4346) | func TestExternalServices(t *testing.T) { function BenchmarkServiceEndpoints (line 4548) | func BenchmarkServiceEndpoints(b *testing.B) { function TestNewServiceSourceInformersEnabled (line 4587) | func TestNewServiceSourceInformersEnabled(t *testing.T) { function TestNewServiceSourceWithServiceTypeFilters_Unsupported (line 4678) | func TestNewServiceSourceWithServiceTypeFilters_Unsupported(t *testing.T) { function TestNewServiceTypes (line 4692) | func TestNewServiceTypes(t *testing.T) { function TestFilterByServiceType_WithFixture (line 4750) | func TestFilterByServiceType_WithFixture(t *testing.T) { function TestEndpointSlicesIndexer (line 4831) | func TestEndpointSlicesIndexer(t *testing.T) { function TestPodTransformerInServiceSource (line 4879) | func TestPodTransformerInServiceSource(t *testing.T) { function createTestServicesByType (line 4971) | func createTestServicesByType(ns string, typeCounts map[v1.ServiceType]i... function TestServiceTypes_isNodeInformerRequired (line 5000) | func TestServiceTypes_isNodeInformerRequired(t *testing.T) { function TestServiceSource_AddEventHandler (line 5042) | func TestServiceSource_AddEventHandler(t *testing.T) { function TestConvertToEndpointSlices (line 5127) | func TestConvertToEndpointSlices(t *testing.T) { function TestProcessEndpointSlices_PublishPodIPsPodNil (line 5169) | func TestProcessEndpointSlices_PublishPodIPsPodNil(t *testing.T) { function TestProcessEndpointSlices_PublishPodIPsUnsupportedAddressType (line 5195) | func TestProcessEndpointSlices_PublishPodIPsUnsupportedAddressType(t *te... function TestProcessEndpointSlices_PublishPodIPsFalse (line 5221) | func TestProcessEndpointSlices_PublishPodIPsFalse(t *testing.T) { function TestProcessEndpointSlices_NotReadyWithPublishNotReady (line 5251) | func TestProcessEndpointSlices_NotReadyWithPublishNotReady(t *testing.T) { function TestGetTargetsForDomain_EmptyAddresses (line 5281) | func TestGetTargetsForDomain_EmptyAddresses(t *testing.T) { function TestGetTargetsForDomain_HostIP (line 5302) | func TestGetTargetsForDomain_HostIP(t *testing.T) { function TestGetTargetsForDomain_NodeExternalIP (line 5323) | func TestGetTargetsForDomain_NodeExternalIP(t *testing.T) { function TestFindPodForEndpoint (line 5365) | func TestFindPodForEndpoint(t *testing.T) { function TestBuildHeadlessEndpoints (line 5435) | func TestBuildHeadlessEndpoints(t *testing.T) { function TestProcessEndpointSlices_PodWithHostname (line 5517) | func TestProcessEndpointSlices_PodWithHostname(t *testing.T) { function TestProcessEndpoint_Service_RefObjectExist (line 5562) | func TestProcessEndpoint_Service_RefObjectExist(t *testing.T) { function TestNodesExternalTrafficPolicyTypeLocal (line 5604) | func TestNodesExternalTrafficPolicyTypeLocal(t *testing.T) { function findEndpointByType (line 5772) | func findEndpointByType(endpoints []*endpoint.Endpoint, recordType strin... FILE: source/shared_test.go function sortEndpoints (line 27) | func sortEndpoints(endpoints []*endpoint.Endpoint) { function validateEndpoints (line 53) | func validateEndpoints(t *testing.T, endpoints, expected []*endpoint.End... function validateEndpoint (line 69) | func validateEndpoint(t *testing.T, endpoint, expected *endpoint.Endpoin... FILE: source/skipper_routegroup.go constant defaultIdleConnTimeout (line 46) | defaultIdleConnTimeout = 30 * time.Second constant DefaultRoutegroupVersion (line 48) | DefaultRoutegroupVersion = "zalando.org/v1" constant routeGroupListResource (line 49) | routeGroupListResource = "/apis/%s/routegroups" constant routeGroupNamespacedResource (line 50) | routeGroupNamespacedResource = "/apis/%s/namespaces/%s/routegroups" type routeGroupSource (line 61) | type routeGroupSource struct method AddEventHandler (line 248) | func (sc *routeGroupSource) AddEventHandler(_ context.Context, _ func(... method Endpoints (line 253) | func (sc *routeGroupSource) Endpoints(_ context.Context) ([]*endpoint.... method endpointsFromTemplate (line 294) | func (sc *routeGroupSource) endpointsFromTemplate(rg *routeGroup) ([]*... method endpointsFromRouteGroup (line 328) | func (sc *routeGroupSource) endpointsFromRouteGroup(rg *routeGroup) []... type routeGroupListClient (line 73) | type routeGroupListClient interface type routeGroupClient (line 77) | type routeGroupClient struct method updateToken (line 148) | func (cli *routeGroupClient) updateToken() { method getToken (line 164) | func (cli *routeGroupClient) getToken() string { method getRouteGroupList (line 170) | func (cli *routeGroupClient) getRouteGroupList(url string) (*routeGrou... method get (line 190) | func (cli *routeGroupClient) get(url string) (*http.Response, error) { method do (line 198) | func (cli *routeGroupClient) do(req *http.Request) (*http.Response, er... function newRouteGroupClient (line 85) | func newRouteGroupClient(token, tokenPath string, timeout time.Duration)... function NewRouteGroupSource (line 206) | func NewRouteGroupSource(cfg *Config, token, tokenPath, apiServerURL str... function targetsFromRouteGroupStatus (line 366) | func targetsFromRouteGroupStatus(status routeGroupStatus) endpoint.Targe... type routeGroupList (line 381) | type routeGroupList struct type routeGroupListMetadata (line 388) | type routeGroupListMetadata struct type routeGroup (line 393) | type routeGroup struct method GetObjectMeta (line 399) | func (rg *routeGroup) GetObjectMeta() metav1.Object { method GetAnnotations (line 420) | func (rg *routeGroup) GetAnnotations() map[string]string { type routeGroupSpec (line 403) | type routeGroupSpec struct type routeGroupStatus (line 407) | type routeGroupStatus struct type routeGroupLoadBalancerStatus (line 411) | type routeGroupLoadBalancerStatus struct type routeGroupLoadBalancer (line 415) | type routeGroupLoadBalancer struct FILE: source/skipper_routegroup_test.go function createTestRouteGroup (line 30) | func createTestRouteGroup(ns, name string, annotations map[string]string... function TestEndpointsFromRouteGroups (line 48) | func TestEndpointsFromRouteGroups(t *testing.T) { type fakeRouteGroupClient (line 315) | type fakeRouteGroupClient struct method getRouteGroupList (line 320) | func (f *fakeRouteGroupClient) getRouteGroupList(string) (*routeGroupL... function TestRouteGroupsEndpoints (line 327) | func TestRouteGroupsEndpoints(t *testing.T) { function TestResourceLabelIsSet (line 840) | func TestResourceLabelIsSet(t *testing.T) { FILE: source/source.go constant EndpointsTypeNodeExternalIP (line 31) | EndpointsTypeNodeExternalIP = "NodeExternalIP" constant EndpointsTypeHostIP (line 32) | EndpointsTypeHostIP = "HostIP" type Source (line 36) | type Source interface type kubeObject (line 42) | type kubeObject interface function getAccessFromAnnotations (line 47) | func getAccessFromAnnotations(input map[string]string) string { function getEndpointsTypeFromAnnotations (line 51) | func getEndpointsTypeFromAnnotations(annots map[string]string) string { function getLabelSelector (line 55) | func getLabelSelector(annotationFilter string) (labels.Selector, error) { function matchLabelSelector (line 63) | func matchLabelSelector(selector labels.Selector, srcAnnotations map[str... type eventHandlerFunc (line 67) | type eventHandlerFunc method OnAdd (line 69) | func (fn eventHandlerFunc) OnAdd(_ any, _ bool) { fn() } method OnUpdate (line 70) | func (fn eventHandlerFunc) OnUpdate(_, _ any) { fn() } method OnDelete (line 71) | func (fn eventHandlerFunc) OnDelete(_ any) { fn() } FILE: source/source_test.go function TestGetLabelSelector (line 26) | func TestGetLabelSelector(t *testing.T) { function TestMatchLabelSelector (line 59) | func TestMatchLabelSelector(t *testing.T) { FILE: source/store.go type Config (line 60) | type Config struct method ClientGenerator (line 175) | func (cfg *Config) ClientGenerator() *SingletonClientGenerator { function NewSourceConfig (line 115) | func NewSourceConfig(cfg *externaldns.Config) *Config { type ClientGenerator (line 206) | type ClientGenerator interface type SingletonClientGenerator (line 248) | type SingletonClientGenerator struct method KubeClient (line 267) | func (p *SingletonClientGenerator) KubeClient() (kubernetes.Interface,... method RESTConfig (line 278) | func (p *SingletonClientGenerator) RESTConfig() (*rest.Config, error) { method GatewayClient (line 287) | func (p *SingletonClientGenerator) GatewayClient() (gateway.Interface,... method IstioClient (line 305) | func (p *SingletonClientGenerator) IstioClient() (istioclient.Interfac... method DynamicKubernetesClient (line 314) | func (p *SingletonClientGenerator) DynamicKubernetesClient() (dynamic.... method OpenShiftClient (line 332) | func (p *SingletonClientGenerator) OpenShiftClient() (openshift.Interf... function ByNames (line 350) | func ByNames(ctx context.Context, cfg *Config, p ClientGenerator) ([]Sou... function BuildWithConfig (line 393) | func BuildWithConfig(ctx context.Context, source string, p ClientGenerat... function buildNodeSource (line 477) | func buildNodeSource(ctx context.Context, p ClientGenerator, cfg *Config... function buildServiceSource (line 487) | func buildServiceSource(ctx context.Context, p ClientGenerator, cfg *Con... function buildIngressSource (line 497) | func buildIngressSource(ctx context.Context, p ClientGenerator, cfg *Con... function buildPodSource (line 507) | func buildPodSource(ctx context.Context, p ClientGenerator, cfg *Config)... function buildIstioGatewaySource (line 517) | func buildIstioGatewaySource(ctx context.Context, p ClientGenerator, cfg... function buildIstioVirtualServiceSource (line 531) | func buildIstioVirtualServiceSource(ctx context.Context, p ClientGenerat... function buildAmbassadorHostSource (line 543) | func buildAmbassadorHostSource(ctx context.Context, p ClientGenerator, c... function buildContourHTTPProxySource (line 555) | func buildContourHTTPProxySource(ctx context.Context, p ClientGenerator,... function buildGlooProxySource (line 566) | func buildGlooProxySource(ctx context.Context, p ClientGenerator, cfg *C... function buildTraefikProxySource (line 578) | func buildTraefikProxySource(ctx context.Context, p ClientGenerator, cfg... function buildOpenShiftRouteSource (line 590) | func buildOpenShiftRouteSource(ctx context.Context, p ClientGenerator, c... function buildCRDSource (line 601) | func buildCRDSource(_ context.Context, p ClientGenerator, cfg *Config) (... function buildSkipperRouteGroupSource (line 616) | func buildSkipperRouteGroupSource(_ context.Context, cfg *Config) (Sourc... function buildKongTCPIngressSource (line 629) | func buildKongTCPIngressSource(ctx context.Context, p ClientGenerator, c... function buildF5VirtualServerSource (line 641) | func buildF5VirtualServerSource(ctx context.Context, p ClientGenerator, ... function buildF5TransportServerSource (line 653) | func buildF5TransportServerSource(ctx context.Context, p ClientGenerator... function buildUnstructuredSource (line 665) | func buildUnstructuredSource(ctx context.Context, p ClientGenerator, cfg... function NewIstioClient (line 685) | func NewIstioClient(kubeConfig string, apiServerURL string) (*istioclien... FILE: source/store_test.go type MockClientGenerator (line 45) | type MockClientGenerator struct method KubeClient (line 54) | func (m *MockClientGenerator) KubeClient() (kubernetes.Interface, erro... method GatewayClient (line 63) | func (m *MockClientGenerator) GatewayClient() (gateway.Interface, erro... method IstioClient (line 72) | func (m *MockClientGenerator) IstioClient() (istioclient.Interface, er... method DynamicKubernetesClient (line 81) | func (m *MockClientGenerator) DynamicKubernetesClient() (dynamic.Inter... method OpenShiftClient (line 90) | func (m *MockClientGenerator) OpenShiftClient() (openshift.Interface, ... method RESTConfig (line 99) | func (m *MockClientGenerator) RESTConfig() (*rest.Config, error) { type ByNamesTestSuite (line 107) | type ByNamesTestSuite struct method TestAllInitialized (line 111) | func (suite *ByNamesTestSuite) TestAllInitialized() { method TestOnlyFake (line 185) | func (suite *ByNamesTestSuite) TestOnlyFake() { method TestSourceNotFound (line 197) | func (suite *ByNamesTestSuite) TestSourceNotFound() { method TestKubeClientFails (line 207) | func (suite *ByNamesTestSuite) TestKubeClientFails() { method TestIstioClientFails (line 225) | func (suite *ByNamesTestSuite) TestIstioClientFails() { method TestDynamicKubernetesClientFails (line 241) | func (suite *ByNamesTestSuite) TestDynamicKubernetesClientFails() { function TestByNames (line 260) | func TestByNames(t *testing.T) { type minimalMockClientGenerator (line 264) | type minimalMockClientGenerator struct method KubeClient (line 268) | func (m *minimalMockClientGenerator) KubeClient() (kubernetes.Interfac... method GatewayClient (line 269) | func (m *minimalMockClientGenerator) GatewayClient() (gateway.Interfac... method IstioClient (line 270) | func (m *minimalMockClientGenerator) IstioClient() (istioclient.Interf... method DynamicKubernetesClient (line 274) | func (m *minimalMockClientGenerator) DynamicKubernetesClient() (dynami... method OpenShiftClient (line 277) | func (m *minimalMockClientGenerator) OpenShiftClient() (openshift.Inte... method RESTConfig (line 280) | func (m *minimalMockClientGenerator) RESTConfig() (*rest.Config, error... function TestBuildWithConfig_InvalidSource (line 282) | func TestBuildWithConfig_InvalidSource(t *testing.T) { function TestConfig_ClientGenerator (line 296) | func TestConfig_ClientGenerator(t *testing.T) { function TestConfig_ClientGenerator_UpdateEvents (line 311) | func TestConfig_ClientGenerator_UpdateEvents(t *testing.T) { function TestConfig_ClientGenerator_Caching (line 324) | func TestConfig_ClientGenerator_Caching(t *testing.T) { function TestSingletonClientGenerator_RESTConfig_TimeoutPropagation (line 341) | func TestSingletonClientGenerator_RESTConfig_TimeoutPropagation(t *testi... function TestConfig_ClientGenerator_RESTConfig_Integration (line 389) | func TestConfig_ClientGenerator_RESTConfig_Integration(t *testing.T) { function TestSingletonClientGenerator_RESTConfig_SharedAcrossClients (line 446) | func TestSingletonClientGenerator_RESTConfig_SharedAcrossClients(t *test... FILE: source/traefik_proxy.go type traefikSource (line 92) | type traefikSource struct method Endpoints (line 165) | func (ts *traefikSource) Endpoints(_ context.Context) ([]*endpoint.End... method ingressRouteEndpoints (line 215) | func (ts *traefikSource) ingressRouteEndpoints() ([]*endpoint.Endpoint... method ingressRouteTCPEndpoints (line 231) | func (ts *traefikSource) ingressRouteTCPEndpoints() ([]*endpoint.Endpo... method ingressRouteUDPEndpoints (line 279) | func (ts *traefikSource) ingressRouteUDPEndpoints() ([]*endpoint.Endpo... method oldIngressRouteEndpoints (line 293) | func (ts *traefikSource) oldIngressRouteEndpoints() ([]*endpoint.Endpo... method oldIngressRouteTCPEndpoints (line 309) | func (ts *traefikSource) oldIngressRouteTCPEndpoints() ([]*endpoint.En... method oldIngressRouteUDPEndpoints (line 323) | func (ts *traefikSource) oldIngressRouteUDPEndpoints() ([]*endpoint.En... method endpointsFromIngressRoute (line 337) | func (ts *traefikSource) endpointsFromIngressRoute(ingressRoute *Ingre... method endpointsFromIngressRouteTCP (line 370) | func (ts *traefikSource) endpointsFromIngressRouteTCP(ingressRoute *In... method endpointsFromIngressRouteUDP (line 403) | func (ts *traefikSource) endpointsFromIngressRouteUDP(ingressRoute *In... method AddEventHandler (line 422) | func (ts *traefikSource) AddEventHandler(_ context.Context, handler fu... function NewTraefikSource (line 107) | func NewTraefikSource( function newTraefikUnstructuredConverter (line 449) | func newTraefikUnstructuredConverter() (*unstructuredConverter, error) { type traefikIngressRouteSpec (line 471) | type traefikIngressRouteSpec struct method DeepCopyInto (line 615) | func (in *traefikIngressRouteSpec) DeepCopyInto(out *traefikIngressRou... method DeepCopy (line 627) | func (in *traefikIngressRouteSpec) DeepCopy() *traefikIngressRouteSpec { type traefikRoute (line 477) | type traefikRoute struct method DeepCopyInto (line 637) | func (in *traefikRoute) DeepCopyInto(out *traefikRoute) { method DeepCopy (line 642) | func (in *traefikRoute) DeepCopy() *traefikRoute { type IngressRoute (line 484) | type IngressRoute struct method DeepCopyInto (line 557) | func (in *IngressRoute) DeepCopyInto(out *IngressRoute) { method DeepCopy (line 565) | func (in *IngressRoute) DeepCopy() *IngressRoute { method DeepCopyObject (line 575) | func (in *IngressRoute) DeepCopyObject() runtime.Object { method GetAnnotations (line 804) | func (in *IngressRoute) GetAnnotations() map[string]string { type IngressRouteList (line 494) | type IngressRouteList struct method DeepCopyInto (line 583) | func (in *IngressRouteList) DeepCopyInto(out *IngressRouteList) { method DeepCopy (line 597) | func (in *IngressRouteList) DeepCopy() *IngressRouteList { method DeepCopyObject (line 607) | func (in *IngressRouteList) DeepCopyObject() runtime.Object { type traefikIngressRouteTCPSpec (line 505) | type traefikIngressRouteTCPSpec struct method DeepCopyInto (line 710) | func (in *traefikIngressRouteTCPSpec) DeepCopyInto(out *traefikIngress... method DeepCopy (line 722) | func (in *traefikIngressRouteTCPSpec) DeepCopy() *traefikIngressRouteT... type traefikRouteTCP (line 510) | type traefikRouteTCP struct method DeepCopyInto (line 732) | func (in *traefikRouteTCP) DeepCopyInto(out *traefikRouteTCP) { method DeepCopy (line 737) | func (in *traefikRouteTCP) DeepCopy() *traefikRouteTCP { type IngressRouteTCP (line 517) | type IngressRouteTCP struct method DeepCopyInto (line 652) | func (in *IngressRouteTCP) DeepCopyInto(out *IngressRouteTCP) { method DeepCopy (line 660) | func (in *IngressRouteTCP) DeepCopy() *IngressRouteTCP { method DeepCopyObject (line 670) | func (in *IngressRouteTCP) DeepCopyObject() runtime.Object { method GetAnnotations (line 809) | func (in *IngressRouteTCP) GetAnnotations() map[string]string { type IngressRouteTCPList (line 527) | type IngressRouteTCPList struct method DeepCopyInto (line 678) | func (in *IngressRouteTCPList) DeepCopyInto(out *IngressRouteTCPList) { method DeepCopy (line 692) | func (in *IngressRouteTCPList) DeepCopy() *IngressRouteTCPList { method DeepCopyObject (line 702) | func (in *IngressRouteTCPList) DeepCopyObject() runtime.Object { type IngressRouteUDP (line 538) | type IngressRouteUDP struct method DeepCopyInto (line 747) | func (in *IngressRouteUDP) DeepCopyInto(out *IngressRouteUDP) { method DeepCopy (line 754) | func (in *IngressRouteUDP) DeepCopy() *IngressRouteUDP { method DeepCopyObject (line 764) | func (in *IngressRouteUDP) DeepCopyObject() runtime.Object { method GetAnnotations (line 814) | func (in *IngressRouteUDP) GetAnnotations() map[string]string { type IngressRouteUDPList (line 546) | type IngressRouteUDPList struct method DeepCopyInto (line 772) | func (in *IngressRouteUDPList) DeepCopyInto(out *IngressRouteUDPList) { method DeepCopy (line 786) | func (in *IngressRouteUDPList) DeepCopy() *IngressRouteUDPList { method DeepCopyObject (line 796) | func (in *IngressRouteUDPList) DeepCopyObject() runtime.Object { function extractEndpoints (line 825) | func extractEndpoints[T annotations.AnnotatedObject]( function getObjectFullName (line 876) | func getObjectFullName(obj any) string { FILE: source/traefik_proxy_test.go constant defaultTraefikNamespace (line 43) | defaultTraefikNamespace = "traefik" function TestTraefikProxyIngressRouteEndpoints (line 45) | func TestTraefikProxyIngressRouteEndpoints(t *testing.T) { function TestTraefikProxyIngressRouteTCPEndpoints (line 411) | func TestTraefikProxyIngressRouteTCPEndpoints(t *testing.T) { function TestTraefikProxyIngressRouteUDPEndpoints (line 708) | func TestTraefikProxyIngressRouteUDPEndpoints(t *testing.T) { function TestTraefikProxyOldIngressRouteEndpoints (line 853) | func TestTraefikProxyOldIngressRouteEndpoints(t *testing.T) { function TestTraefikProxyOldIngressRouteTCPEndpoints (line 1187) | func TestTraefikProxyOldIngressRouteTCPEndpoints(t *testing.T) { function TestTraefikProxyOldIngressRouteUDPEndpoints (line 1485) | func TestTraefikProxyOldIngressRouteUDPEndpoints(t *testing.T) { function TestTraefikAPIGroupFlags (line 1631) | func TestTraefikAPIGroupFlags(t *testing.T) { function TestAddEventHandler_AllBranches (line 1799) | func TestAddEventHandler_AllBranches(t *testing.T) { type FakeInformer (line 1850) | type FakeInformer struct method Informer (line 1855) | func (f *FakeInformer) Informer() cache.SharedIndexInformer { method Lister (line 1860) | func (f *FakeInformer) Lister() cache.GenericLister { type testInformer (line 1864) | type testInformer struct method AddEventHandler (line 1870) | func (t *testInformer) AddEventHandler(_ cache.ResourceEventHandler) (... FILE: source/types/types.go constant Node (line 22) | Node Type = "node" constant Service (line 23) | Service Type = "service" constant Ingress (line 24) | Ingress Type = "ingress" constant Pod (line 25) | Pod Type = "pod" constant GatewayHttpRoute (line 26) | GatewayHttpRoute Type = "gateway-httproute" constant GatewayGrpcRoute (line 27) | GatewayGrpcRoute Type = "gateway-grpcroute" constant GatewayTlsRoute (line 28) | GatewayTlsRoute Type = "gateway-tlsroute" constant GatewayTcpRoute (line 29) | GatewayTcpRoute Type = "gateway-tcproute" constant GatewayUdpRoute (line 30) | GatewayUdpRoute Type = "gateway-udproute" constant IstioGateway (line 31) | IstioGateway Type = "istio-gateway" constant IstioVirtualService (line 32) | IstioVirtualService Type = "istio-virtualservice" constant AmbassadorHost (line 33) | AmbassadorHost Type = "ambassador-host" constant ContourHTTPProxy (line 34) | ContourHTTPProxy Type = "contour-httpproxy" constant GlooProxy (line 35) | GlooProxy Type = "gloo-proxy" constant TraefikProxy (line 36) | TraefikProxy Type = "traefik-proxy" constant OpenShiftRoute (line 37) | OpenShiftRoute Type = "openshift-route" constant Fake (line 38) | Fake Type = "fake" constant Connector (line 39) | Connector Type = "connector" constant CRD (line 40) | CRD Type = "crd" constant SkipperRouteGroup (line 41) | SkipperRouteGroup Type = "skipper-routegroup" constant KongTCPIngress (line 42) | KongTCPIngress Type = "kong-tcpingress" constant F5VirtualServer (line 43) | F5VirtualServer Type = "f5-virtualserver" constant F5TransportServer (line 44) | F5TransportServer Type = "f5-transportserver" constant Unstructured (line 45) | Unstructured Type = "unstructured" FILE: source/unstructured.go type unstructuredSource (line 58) | type unstructuredSource struct method Endpoints (line 136) | func (us *unstructuredSource) Endpoints(_ context.Context) ([]*endpoin... method endpointsFromInformer (line 151) | func (us *unstructuredSource) endpointsFromInformer(informer kubeinfor... method endpointsFromTemplate (line 212) | func (us *unstructuredSource) endpointsFromTemplate(el *unstructuredWr... method endpointsFromFQDNTargetTemplate (line 234) | func (us *unstructuredSource) endpointsFromFQDNTargetTemplate(el *unst... method AddEventHandler (line 269) | func (us *unstructuredSource) AddEventHandler(_ context.Context, handl... function NewUnstructuredFQDNSource (line 67) | func NewUnstructuredFQDNSource( type unstructuredWrapper (line 279) | type unstructuredWrapper struct method GetObjectMeta (line 296) | func (u *unstructuredWrapper) GetObjectMeta() metav1.Object { function newUnstructuredWrapper (line 302) | func newUnstructuredWrapper(u *unstructured.Unstructured) *unstructuredW... function discoverResources (line 329) | func discoverResources(kubeClient kubernetes.Interface, resources []stri... function validateResource (line 356) | func validateResource(discoveryClient discovery.DiscoveryInterface, gvr ... function EndpointsForHostsAndTargets (line 376) | func EndpointsForHostsAndTargets(hostnames, targets []string) []*endpoin... FILE: source/unstructured_converter.go type UnstructuredConverter (line 26) | type UnstructuredConverter struct function NewUnstructuredConverter (line 32) | func NewUnstructuredConverter() (*UnstructuredConverter, error) { FILE: source/unstructured_fqdn_test.go function TestUnstructuredFqdnTemplatingExamples (line 32) | func TestUnstructuredFqdnTemplatingExamples(t *testing.T) { function TestUnstructuredWrapper_Templating (line 857) | func TestUnstructuredWrapper_Templating(t *testing.T) { FILE: source/unstructured_test.go function TestUnstructuredWrapperImplementsKubeObject (line 43) | func TestUnstructuredWrapperImplementsKubeObject(t *testing.T) { function TestUnstructured_DifferentScenarios (line 72) | func TestUnstructured_DifferentScenarios(t *testing.T) { function TestProcessEndpoint_Unstructured_RefObjectExist (line 482) | func TestProcessEndpoint_Unstructured_RefObjectExist(t *testing.T) { function TestEndpointsForHostsAndTargets (line 524) | func TestEndpointsForHostsAndTargets(t *testing.T) { function setupUnstructuredTestClients (line 586) | func setupUnstructuredTestClients(t *testing.T, resources []string, obje... FILE: source/utils.go function ParseIngress (line 29) | func ParseIngress(ingress string) (string, string, error) { function MatchesServiceSelector (line 48) | func MatchesServiceSelector(selector, svcSelector map[string]string) bool { function MergeEndpoints (line 62) | func MergeEndpoints(endpoints []*endpoint.Endpoint) []*endpoint.Endpoint { FILE: source/utils_test.go function TestParseIngress (line 30) | func TestParseIngress(t *testing.T) { function TestSelectorMatchesService (line 82) | func TestSelectorMatchesService(t *testing.T) { function TestMergeEndpoints (line 129) | func TestMergeEndpoints(t *testing.T) { function TestMergeEndpoints_RefObjects (line 301) | func TestMergeEndpoints_RefObjects(t *testing.T) { function TestMergeEndpointsLogging (line 382) | func TestMergeEndpointsLogging(t *testing.T) { FILE: source/wrappers/dedupsource.go type dedupSource (line 30) | type dedupSource struct method Endpoints (line 40) | func (ms *dedupSource) Endpoints(ctx context.Context) ([]*endpoint.End... method AddEventHandler (line 79) | func (ms *dedupSource) AddEventHandler(ctx context.Context, handler fu... function NewDedupSource (line 35) | func NewDedupSource(source source.Source) source.Source { FILE: source/wrappers/dedupsource_test.go function TestDedupEndpoints (line 39) | func TestDedupEndpoints(t *testing.T) { function TestDedupSource_AddEventHandler (line 186) | func TestDedupSource_AddEventHandler(t *testing.T) { function TestDedupEndpointsValidation (line 210) | func TestDedupEndpointsValidation(t *testing.T) { function TestDedupSource_WarnsOnInvalidEndpoint (line 387) | func TestDedupSource_WarnsOnInvalidEndpoint(t *testing.T) { function TestDedupSource_RefObjects (line 440) | func TestDedupSource_RefObjects(t *testing.T) { FILE: source/wrappers/multisource.go type multiSource (line 31) | type multiSource struct method Endpoints (line 38) | func (ms *multiSource) Endpoints(ctx context.Context) ([]*endpoint.End... method AddEventHandler (line 74) | func (ms *multiSource) AddEventHandler(ctx context.Context, handler fu... function NewMultiSource (line 83) | func NewMultiSource(children []source.Source, defaultTargets []string, f... FILE: source/wrappers/multisource_test.go function TestMultiSource (line 32) | func TestMultiSource(t *testing.T) { function testMultiSourceImplementsSource (line 42) | func testMultiSourceImplementsSource(t *testing.T) { function testMultiSourceEndpoints (line 47) | func testMultiSourceEndpoints(t *testing.T) { function testMultiSourceEndpointsWithError (line 111) | func testMultiSourceEndpointsWithError(t *testing.T) { function testMultiSourceEndpointsDefaultTargets (line 130) | func testMultiSourceEndpointsDefaultTargets(t *testing.T) { function TestMultiSource_AddEventHandler (line 273) | func TestMultiSource_AddEventHandler(t *testing.T) { FILE: source/wrappers/nat64source.go type nat64Source (line 35) | type nat64Source struct method Endpoints (line 58) | func (s *nat64Source) Endpoints(ctx context.Context) ([]*endpoint.Endp... method AddEventHandler (line 118) | func (s *nat64Source) AddEventHandler(ctx context.Context, handler fun... function NewNAT64Source (line 41) | func NewNAT64Source(source source.Source, nat64Prefixes []string) (sourc... FILE: source/wrappers/nat64source_test.go function TestNAT64Source (line 34) | func TestNAT64Source(t *testing.T) { function testNat64Source (line 39) | func testNat64Source(t *testing.T) { function TestNat64Source_AddEventHandler (line 95) | func TestNat64Source_AddEventHandler(t *testing.T) { function TestNewNAT64Source (line 127) | func TestNewNAT64Source(t *testing.T) { function TestNat64SourceEndpoints_VariousCases (line 192) | func TestNat64SourceEndpoints_VariousCases(t *testing.T) { FILE: source/wrappers/post_processor.go type postProcessor (line 31) | type postProcessor struct method Endpoints (line 85) | func (pp *postProcessor) Endpoints(ctx context.Context) ([]*endpoint.E... method AddEventHandler (line 113) | func (pp *postProcessor) AddEventHandler(ctx context.Context, handler ... type PostProcessorConfig (line 36) | type PostProcessorConfig struct type PostProcessorOption (line 43) | type PostProcessorOption function WithTTL (line 45) | func WithTTL(ttl time.Duration) PostProcessorOption { function WithPostProcessorProvider (line 56) | func WithPostProcessorProvider(input string) PostProcessorOption { function WithPostProcessorPreferAlias (line 68) | func WithPostProcessorPreferAlias(enabled bool) PostProcessorOption { function NewPostProcessor (line 77) | func NewPostProcessor(source source.Source, opts ...PostProcessorOption)... FILE: source/wrappers/post_processor_test.go function TestWithPostProcessorProvider (line 29) | func TestWithPostProcessorProvider(t *testing.T) { function TestWithTTL (line 72) | func TestWithTTL(t *testing.T) { function TestPostProcessorEndpointsWithTTL (line 130) | func TestPostProcessorEndpointsWithTTL(t *testing.T) { function TestPostProcessorEndpointsWithPostProcessorProviderFilter (line 207) | func TestPostProcessorEndpointsWithPostProcessorProviderFilter(t *testin... function TestPostProcessor_AddEventHandler (line 419) | func TestPostProcessor_AddEventHandler(t *testing.T) { function TestPostProcessorEndpointsWithPreferAlias (line 443) | func TestPostProcessorEndpointsWithPreferAlias(t *testing.T) { FILE: source/wrappers/source_test.go function sortEndpoints (line 27) | func sortEndpoints(endpoints []*endpoint.Endpoint) { function validateEndpoints (line 58) | func validateEndpoints(t *testing.T, endpoints, expected []*endpoint.End... function validateEndpoint (line 74) | func validateEndpoint(t *testing.T, endpoint, expected *endpoint.Endpoin... FILE: source/wrappers/targetfiltersource.go type targetFilterSource (line 29) | type targetFilterSource struct method Endpoints (line 41) | func (ms *targetFilterSource) Endpoints(ctx context.Context) ([]*endpo... method AddEventHandler (line 77) | func (ms *targetFilterSource) AddEventHandler(ctx context.Context, han... function NewTargetFilterSource (line 35) | func NewTargetFilterSource(source source.Source, targetFilter endpoint.T... FILE: source/wrappers/targetfiltersource_test.go type mockTargetNetFilter (line 30) | type mockTargetNetFilter struct method Match (line 42) | func (m *mockTargetNetFilter) Match(target string) bool { method IsEnabled (line 46) | func (m *mockTargetNetFilter) IsEnabled() bool { function NewMockTargetNetFilter (line 34) | func NewMockTargetNetFilter(targets []string) endpoint.TargetFilterInter... function TestEchoSourceReturnGivenSources (line 50) | func TestEchoSourceReturnGivenSources(t *testing.T) { function TestTargetFilterSource (line 72) | func TestTargetFilterSource(t *testing.T) { function TestTargetFilterSourceImplementsSource (line 80) | func TestTargetFilterSourceImplementsSource(_ *testing.T) { function TestTargetFilterSourceEndpoints (line 84) | func TestTargetFilterSourceEndpoints(t *testing.T) { function TestTargetFilterConcreteTargetFilter (line 136) | func TestTargetFilterConcreteTargetFilter(t *testing.T) { function TestTargetFilterSource_AddEventHandler (line 219) | func TestTargetFilterSource_AddEventHandler(t *testing.T) { FILE: source/wrappers/types.go type Config (line 27) | type Config struct method addSourceWrapper (line 101) | func (o *Config) addSourceWrapper(name string) { method isSourceWrapperInstrumented (line 109) | func (o *Config) isSourceWrapperInstrumented(name string) bool { function NewConfig (line 39) | func NewConfig(opts ...Option) *Config { type Option (line 47) | type Option function WithDefaultTargets (line 49) | func WithDefaultTargets(input []string) Option { function WithForceDefaultTargets (line 55) | func WithForceDefaultTargets(input bool) Option { function WithNAT64Networks (line 61) | func WithNAT64Networks(input []string) Option { function WithTargetNetFilter (line 67) | func WithTargetNetFilter(input []string) Option { function WithExcludeTargetNets (line 73) | func WithExcludeTargetNets(input []string) Option { function WithMinTTL (line 79) | func WithMinTTL(ttl time.Duration) Option { function WithProvider (line 87) | func WithProvider(input string) Option { function WithPreferAlias (line 93) | func WithPreferAlias(enabled bool) Option { function WrapSources (line 120) | func WrapSources( FILE: source/wrappers/types_test.go function TestBuildSourceWithWrappers (line 27) | func TestBuildSourceWithWrappers(t *testing.T) { function TestWrapSources_NAT64Error (line 84) | func TestWrapSources_NAT64Error(t *testing.T) { function TestWithDefaultTargets (line 92) | func TestWithDefaultTargets(t *testing.T) { function TestWithForceDefaultTargets (line 99) | func TestWithForceDefaultTargets(t *testing.T) { function TestWithNAT64Networks (line 106) | func TestWithNAT64Networks(t *testing.T) { function TestWithTargetNetFilter (line 113) | func TestWithTargetNetFilter(t *testing.T) { function TestWithExcludeTargetNets (line 120) | func TestWithExcludeTargetNets(t *testing.T) { function TestWithMinTTL (line 127) | func TestWithMinTTL(t *testing.T) { function TestAddSourceWrapperAndIsSourceWrapperInstrumented (line 134) | func TestAddSourceWrapperAndIsSourceWrapperInstrumented(t *testing.T) { FILE: tests/integration/source_test.go function mustLoadScenarios (line 34) | func mustLoadScenarios(t *testing.T) *toolkit.TestScenarios { function TestParseResources (line 42) | func TestParseResources(t *testing.T) { function TestSourceIntegration (line 65) | func TestSourceIntegration(t *testing.T) { FILE: tests/integration/toolkit/mocks.go type MockClientGenerator (line 33) | type MockClientGenerator struct method RESTConfig (line 37) | func (m *MockClientGenerator) RESTConfig() (*rest.Config, error) { method KubeClient (line 41) | func (m *MockClientGenerator) KubeClient() (kubernetes.Interface, erro... method GatewayClient (line 49) | func (m *MockClientGenerator) GatewayClient() (gateway.Interface, erro... method IstioClient (line 57) | func (m *MockClientGenerator) IstioClient() (istioclient.Interface, er... method DynamicKubernetesClient (line 65) | func (m *MockClientGenerator) DynamicKubernetesClient() (dynamic.Inter... method OpenShiftClient (line 73) | func (m *MockClientGenerator) OpenShiftClient() (openshift.Interface, ... function newMockClientGenerator (line 82) | func newMockClientGenerator(client *fake.Clientset) *MockClientGenerator { FILE: tests/integration/toolkit/models.go type TestScenarios (line 29) | type TestScenarios struct type Scenario (line 34) | type Scenario struct type ResourceWithDependencies (line 43) | type ResourceWithDependencies struct type ResourceDependencies (line 49) | type ResourceDependencies struct type PodDependencies (line 54) | type PodDependencies struct type ScenarioConfig (line 59) | type ScenarioConfig struct type ParsedResources (line 68) | type ParsedResources struct FILE: tests/integration/toolkit/toolkit.go function LoadScenarios (line 59) | func LoadScenarios(data []byte) (*TestScenarios, error) { function ParseResources (line 82) | func ParseResources(resources []ResourceWithDependencies) (*ParsedResour... function generatePodsAndEndpointSlice (line 115) | func generatePodsAndEndpointSlice(svc *corev1.Service, deps *PodDependen... function createIngressWithOptionalStatus (line 167) | func createIngressWithOptionalStatus(ctx context.Context, client *fake.C... function createServiceWithOptionalStatus (line 185) | func createServiceWithOptionalStatus(ctx context.Context, client *fake.C... function LoadResources (line 205) | func LoadResources(ctx context.Context, scenario Scenario) (*fake.Client... function scenarioToConfig (line 240) | func scenarioToConfig(scenarioCfg ScenarioConfig) *source.Config { function CreateWrappedSource (line 252) | func CreateWrappedSource( function ValidateEndpoints (line 276) | func ValidateEndpoints(t *testing.T, endpoints, expected []*endpoint.End... function validateEndpoint (line 293) | func validateEndpoint(t *testing.T, endpoint, expected *endpoint.Endpoin... function sortEndpoints (line 329) | func sortEndpoints(endpoints []*endpoint.Endpoint) {