Skip to content
GitLab
Menu
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Plural
platform
external-dns
Commits
229944f7
Commit
229944f7
authored
8 years ago
by
Yerken
Committed by
GitHub
8 years ago
Browse files
Options
Download
Email Patches
Plain Diff
make all provider implementation public, return struct instead of interface (#234)
parent
bc4127b0
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
provider/aws.go
+1
-1
provider/aws.go
provider/azure.go
+1
-1
provider/azure.go
provider/google.go
+11
-11
provider/google.go
provider/google_test.go
+5
-5
provider/google_test.go
with
18 additions
and
18 deletions
+18
-18
provider/aws.go
+
1
-
1
View file @
229944f7
...
...
@@ -74,7 +74,7 @@ type AWSProvider struct {
}
// NewAWSProvider initializes a new AWS Route53 based Provider.
func
NewAWSProvider
(
domainFilter
string
,
dryRun
bool
)
(
Provider
,
error
)
{
func
NewAWSProvider
(
domainFilter
string
,
dryRun
bool
)
(
*
AWS
Provider
,
error
)
{
config
:=
aws
.
NewConfig
()
config
=
config
.
WithHTTPClient
(
...
...
This diff is collapsed.
Click to expand it.
provider/azure.go
+
1
-
1
View file @
229944f7
...
...
@@ -75,7 +75,7 @@ type AzureProvider struct {
// NewAzureProvider creates a new Azure provider.
//
// Returns the provider or an error if a provider could not be created.
func
NewAzureProvider
(
configFile
string
,
domainFilter
string
,
resourceGroup
string
,
dryRun
bool
)
(
Provider
,
error
)
{
func
NewAzureProvider
(
configFile
string
,
domainFilter
string
,
resourceGroup
string
,
dryRun
bool
)
(
*
Azure
Provider
,
error
)
{
contents
,
err
:=
ioutil
.
ReadFile
(
configFile
)
if
err
!=
nil
{
return
nil
,
fmt
.
Errorf
(
"failed to read Azure config file '%s': %v"
,
configFile
,
err
)
...
...
This diff is collapsed.
Click to expand it.
provider/google.go
+
11
-
11
View file @
229944f7
...
...
@@ -89,8 +89,8 @@ func (c changesService) Create(project string, managedZone string, change *dns.C
return
c
.
service
.
Create
(
project
,
managedZone
,
change
)
}
//
g
oogleProvider is an implementation of Provider for Google CloudDNS.
type
g
oogleProvider
struct
{
//
G
oogleProvider is an implementation of Provider for Google CloudDNS.
type
G
oogleProvider
struct
{
// The Google project to work in
project
string
// Enabled dry-run will print any modifying actions rather than execute them.
...
...
@@ -106,7 +106,7 @@ type googleProvider struct {
}
// NewGoogleProvider initializes a new Google CloudDNS based Provider.
func
NewGoogleProvider
(
project
string
,
domainFilter
string
,
dryRun
bool
)
(
Provider
,
error
)
{
func
NewGoogleProvider
(
project
string
,
domainFilter
string
,
dryRun
bool
)
(
*
Google
Provider
,
error
)
{
gcloud
,
err
:=
google
.
DefaultClient
(
context
.
TODO
(),
dns
.
NdevClouddnsReadwriteScope
)
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -124,7 +124,7 @@ func NewGoogleProvider(project string, domainFilter string, dryRun bool) (Provid
return
nil
,
err
}
provider
:=
&
g
oogleProvider
{
provider
:=
&
G
oogleProvider
{
project
:
project
,
domainFilter
:
domainFilter
,
dryRun
:
dryRun
,
...
...
@@ -137,7 +137,7 @@ func NewGoogleProvider(project string, domainFilter string, dryRun bool) (Provid
}
// Zones returns the list of hosted zones.
func
(
p
*
g
oogleProvider
)
Zones
()
(
map
[
string
]
*
dns
.
ManagedZone
,
error
)
{
func
(
p
*
G
oogleProvider
)
Zones
()
(
map
[
string
]
*
dns
.
ManagedZone
,
error
)
{
zones
:=
make
(
map
[
string
]
*
dns
.
ManagedZone
)
f
:=
func
(
resp
*
dns
.
ManagedZonesListResponse
)
error
{
...
...
@@ -158,7 +158,7 @@ func (p *googleProvider) Zones() (map[string]*dns.ManagedZone, error) {
}
// Records returns the list of records in all relevant zones.
func
(
p
*
g
oogleProvider
)
Records
()
(
endpoints
[]
*
endpoint
.
Endpoint
,
_
error
)
{
func
(
p
*
G
oogleProvider
)
Records
()
(
endpoints
[]
*
endpoint
.
Endpoint
,
_
error
)
{
zones
,
err
:=
p
.
Zones
()
if
err
!=
nil
{
return
nil
,
err
...
...
@@ -194,7 +194,7 @@ func (p *googleProvider) Records() (endpoints []*endpoint.Endpoint, _ error) {
}
// CreateRecords creates a given set of DNS records in the given hosted zone.
func
(
p
*
g
oogleProvider
)
CreateRecords
(
endpoints
[]
*
endpoint
.
Endpoint
)
error
{
func
(
p
*
G
oogleProvider
)
CreateRecords
(
endpoints
[]
*
endpoint
.
Endpoint
)
error
{
change
:=
&
dns
.
Change
{}
change
.
Additions
=
append
(
change
.
Additions
,
newRecords
(
endpoints
)
...
)
...
...
@@ -203,7 +203,7 @@ func (p *googleProvider) CreateRecords(endpoints []*endpoint.Endpoint) error {
}
// UpdateRecords updates a given set of old records to a new set of records in a given hosted zone.
func
(
p
*
g
oogleProvider
)
UpdateRecords
(
records
,
oldRecords
[]
*
endpoint
.
Endpoint
)
error
{
func
(
p
*
G
oogleProvider
)
UpdateRecords
(
records
,
oldRecords
[]
*
endpoint
.
Endpoint
)
error
{
change
:=
&
dns
.
Change
{}
change
.
Additions
=
append
(
change
.
Additions
,
newRecords
(
records
)
...
)
...
...
@@ -213,7 +213,7 @@ func (p *googleProvider) UpdateRecords(records, oldRecords []*endpoint.Endpoint)
}
// DeleteRecords deletes a given set of DNS records in a given zone.
func
(
p
*
g
oogleProvider
)
DeleteRecords
(
endpoints
[]
*
endpoint
.
Endpoint
)
error
{
func
(
p
*
G
oogleProvider
)
DeleteRecords
(
endpoints
[]
*
endpoint
.
Endpoint
)
error
{
change
:=
&
dns
.
Change
{}
change
.
Deletions
=
append
(
change
.
Deletions
,
newRecords
(
endpoints
)
...
)
...
...
@@ -222,7 +222,7 @@ func (p *googleProvider) DeleteRecords(endpoints []*endpoint.Endpoint) error {
}
// ApplyChanges applies a given set of changes in a given zone.
func
(
p
*
g
oogleProvider
)
ApplyChanges
(
changes
*
plan
.
Changes
)
error
{
func
(
p
*
G
oogleProvider
)
ApplyChanges
(
changes
*
plan
.
Changes
)
error
{
change
:=
&
dns
.
Change
{}
change
.
Additions
=
append
(
change
.
Additions
,
newRecords
(
changes
.
Create
)
...
)
...
...
@@ -236,7 +236,7 @@ func (p *googleProvider) ApplyChanges(changes *plan.Changes) error {
}
// submitChange takes a zone and a Change and sends it to Google.
func
(
p
*
g
oogleProvider
)
submitChange
(
change
*
dns
.
Change
)
error
{
func
(
p
*
G
oogleProvider
)
submitChange
(
change
*
dns
.
Change
)
error
{
if
len
(
change
.
Additions
)
==
0
&&
len
(
change
.
Deletions
)
==
0
{
log
.
Info
(
"All records are already up to date"
)
return
nil
...
...
This diff is collapsed.
Click to expand it.
provider/google_test.go
+
5
-
5
View file @
229944f7
...
...
@@ -496,8 +496,8 @@ func validateChangeRecord(t *testing.T, record *dns.ResourceRecordSet, expected
assert
.
Equal
(
t
,
expected
.
Ttl
,
record
.
Ttl
)
}
func
newGoogleProvider
(
t
*
testing
.
T
,
domainFilter
string
,
dryRun
bool
,
records
[]
*
endpoint
.
Endpoint
)
*
g
oogleProvider
{
provider
:=
&
g
oogleProvider
{
func
newGoogleProvider
(
t
*
testing
.
T
,
domainFilter
string
,
dryRun
bool
,
records
[]
*
endpoint
.
Endpoint
)
*
G
oogleProvider
{
provider
:=
&
G
oogleProvider
{
project
:
"zalando-external-dns-test"
,
domainFilter
:
domainFilter
,
dryRun
:
false
,
...
...
@@ -528,7 +528,7 @@ func newGoogleProvider(t *testing.T, domainFilter string, dryRun bool, records [
return
provider
}
func
createZone
(
t
*
testing
.
T
,
provider
*
g
oogleProvider
,
zone
*
dns
.
ManagedZone
)
{
func
createZone
(
t
*
testing
.
T
,
provider
*
G
oogleProvider
,
zone
*
dns
.
ManagedZone
)
{
zone
.
Description
=
"Testing zone for kubernetes.io/external-dns"
if
_
,
err
:=
provider
.
managedZonesClient
.
Create
(
"zalando-external-dns-test"
,
zone
)
.
Do
();
err
!=
nil
{
...
...
@@ -538,7 +538,7 @@ func createZone(t *testing.T, provider *googleProvider, zone *dns.ManagedZone) {
}
}
func
setupGoogleRecords
(
t
*
testing
.
T
,
provider
*
g
oogleProvider
,
endpoints
[]
*
endpoint
.
Endpoint
)
{
func
setupGoogleRecords
(
t
*
testing
.
T
,
provider
*
G
oogleProvider
,
endpoints
[]
*
endpoint
.
Endpoint
)
{
clearGoogleRecords
(
t
,
provider
,
"zone-1-ext-dns-test-2-gcp-zalan-do"
)
clearGoogleRecords
(
t
,
provider
,
"zone-2-ext-dns-test-2-gcp-zalan-do"
)
...
...
@@ -555,7 +555,7 @@ func setupGoogleRecords(t *testing.T, provider *googleProvider, endpoints []*end
validateEndpoints
(
t
,
records
,
endpoints
)
}
func
clearGoogleRecords
(
t
*
testing
.
T
,
provider
*
g
oogleProvider
,
zone
string
)
{
func
clearGoogleRecords
(
t
*
testing
.
T
,
provider
*
G
oogleProvider
,
zone
string
)
{
recordSets
:=
[]
*
dns
.
ResourceRecordSet
{}
require
.
NoError
(
t
,
provider
.
resourceRecordSetsClient
.
List
(
provider
.
project
,
zone
)
.
Pages
(
context
.
TODO
(),
func
(
resp
*
dns
.
ResourceRecordSetsListResponse
)
error
{
for
_
,
r
:=
range
resp
.
Rrsets
{
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment