mirror of
				https://github.com/optim-enterprises-bv/kubernetes.git
				synced 2025-11-04 04:08:16 +00:00 
			
		
		
		
	Added managed zone creation to all dnsproviders.
This commit is contained in:
		@@ -27,6 +27,11 @@ type Interface interface {
 | 
				
			|||||||
type Zones interface {
 | 
					type Zones interface {
 | 
				
			||||||
	// List returns the managed Zones, or an error if the list operation failed.
 | 
						// List returns the managed Zones, or an error if the list operation failed.
 | 
				
			||||||
	List() ([]Zone, error)
 | 
						List() ([]Zone, error)
 | 
				
			||||||
 | 
						// Add creates and returns a new managed zone, or an error if the operation failed
 | 
				
			||||||
 | 
						Add(Zone) (Zone, error)
 | 
				
			||||||
 | 
						// New allocates a new Zone, which can then be passed to Add()
 | 
				
			||||||
 | 
						// Arguments are as per the Zone interface below.
 | 
				
			||||||
 | 
						New(name string) (Zone, error)
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Zone interface {
 | 
					type Zone interface {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,7 +18,9 @@ package route53
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
	"github.com/aws/aws-sdk-go/service/route53"
 | 
						"github.com/aws/aws-sdk-go/service/route53"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/util"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
// Compile time check for interface adeherence
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
@@ -43,3 +45,19 @@ func (zones Zones) List() ([]dnsprovider.Zone, error) {
 | 
				
			|||||||
	}
 | 
						}
 | 
				
			||||||
	return zoneList, nil
 | 
						return zoneList, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (zones Zones) Add(zone dnsprovider.Zone) (dnsprovider.Zone, error) {
 | 
				
			||||||
 | 
						dnsName := zone.Name()
 | 
				
			||||||
 | 
						input := route53.CreateHostedZoneInput{Name: &dnsName}
 | 
				
			||||||
 | 
						output, err := zones.interface_.service.CreateHostedZone(&input)
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return &Zone{output.HostedZone, &zones}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (zones Zones) New(name string) (dnsprovider.Zone, error) {
 | 
				
			||||||
 | 
						id := string(util.NewUUID())
 | 
				
			||||||
 | 
						managedZone := route53.HostedZone{Id: &id, Name: &name}
 | 
				
			||||||
 | 
						return &Zone{&managedZone, &zones}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.Change = Change{}
 | 
					var _ interfaces.Change = Change{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Change struct{ impl *dns.Change }
 | 
					type Change struct{ impl *dns.Change }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ChangesCreateCall = ChangesCreateCall{}
 | 
					var _ interfaces.ChangesCreateCall = ChangesCreateCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ChangesCreateCall struct{ impl *dns.ChangesCreateCall }
 | 
					type ChangesCreateCall struct{ impl *dns.ChangesCreateCall }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ChangesService = ChangesService{}
 | 
					var _ interfaces.ChangesService = ChangesService{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ChangesService struct{ impl *dns.ChangesService }
 | 
					type ChangesService struct{ impl *dns.ChangesService }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -133,10 +133,11 @@ type (
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
	ManagedZonesService interface {
 | 
						ManagedZonesService interface {
 | 
				
			||||||
		// NewManagedZonesService(s *Service) *ManagedZonesService // TODO: Add to service if needed
 | 
							// NewManagedZonesService(s *Service) *ManagedZonesService // TODO: Add to service if needed
 | 
				
			||||||
		Create(project string, managedzone ManagedZone) ManagedZonesCreateCall
 | 
							Create(project string, managedZone ManagedZone) ManagedZonesCreateCall
 | 
				
			||||||
		Delete(project string, managedZone string) ManagedZonesDeleteCall
 | 
							Delete(project string, managedZone string) ManagedZonesDeleteCall
 | 
				
			||||||
		Get(project string, managedZone string) ManagedZonesGetCall
 | 
							Get(project string, managedZone string) ManagedZonesGetCall
 | 
				
			||||||
		List(project string) ManagedZonesListCall
 | 
							List(project string) ManagedZonesListCall
 | 
				
			||||||
 | 
							NewManagedZone(dnsName string) ManagedZone
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
	Project interface {
 | 
						Project interface {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZone = ManagedZone{}
 | 
					var _ interfaces.ManagedZone = ManagedZone{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZone struct{ impl *dns.ManagedZone }
 | 
					type ManagedZone struct{ impl *dns.ManagedZone }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesCreateCall = ManagedZonesCreateCall{}
 | 
					var _ interfaces.ManagedZonesCreateCall = ManagedZonesCreateCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesCreateCall struct{ impl *dns.ManagedZonesCreateCall }
 | 
					type ManagedZonesCreateCall struct{ impl *dns.ManagedZonesCreateCall }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesDeleteCall = ManagedZonesDeleteCall{}
 | 
					var _ interfaces.ManagedZonesDeleteCall = ManagedZonesDeleteCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesDeleteCall struct{ impl *dns.ManagedZonesDeleteCall }
 | 
					type ManagedZonesDeleteCall struct{ impl *dns.ManagedZonesDeleteCall }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesGetCall = ManagedZonesGetCall{}
 | 
					var _ interfaces.ManagedZonesGetCall = ManagedZonesGetCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesGetCall struct{ impl *dns.ManagedZonesGetCall }
 | 
					type ManagedZonesGetCall struct{ impl *dns.ManagedZonesGetCall }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesListCall = &ManagedZonesListCall{}
 | 
					var _ interfaces.ManagedZonesListCall = &ManagedZonesListCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesListCall struct{ impl *dns.ManagedZonesListCall }
 | 
					type ManagedZonesListCall struct{ impl *dns.ManagedZonesListCall }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesListResponse = &ManagedZonesListResponse{}
 | 
					var _ interfaces.ManagedZonesListResponse = &ManagedZonesListResponse{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesListResponse struct{ impl *dns.ManagedZonesListResponse }
 | 
					type ManagedZonesListResponse struct{ impl *dns.ManagedZonesListResponse }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -19,8 +19,10 @@ package internal
 | 
				
			|||||||
import (
 | 
					import (
 | 
				
			||||||
	dns "google.golang.org/api/dns/v1"
 | 
						dns "google.golang.org/api/dns/v1"
 | 
				
			||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/pkg/util"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesService = &ManagedZonesService{}
 | 
					var _ interfaces.ManagedZonesService = &ManagedZonesService{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesService struct{ impl *dns.ManagedZonesService }
 | 
					type ManagedZonesService struct{ impl *dns.ManagedZonesService }
 | 
				
			||||||
@@ -40,3 +42,7 @@ func (m *ManagedZonesService) Get(project, managedZone string) interfaces.Manage
 | 
				
			|||||||
func (m *ManagedZonesService) List(project string) interfaces.ManagedZonesListCall {
 | 
					func (m *ManagedZonesService) List(project string) interfaces.ManagedZonesListCall {
 | 
				
			||||||
	return &ManagedZonesListCall{m.impl.List(project)}
 | 
						return &ManagedZonesListCall{m.impl.List(project)}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ManagedZonesService) NewManagedZone(dnsName string) interfaces.ManagedZone {
 | 
				
			||||||
 | 
						return &ManagedZone{impl: &dns.ManagedZone{Name: string(util.NewUUID()), DnsName: dnsName}}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSet = ResourceRecordSet{}
 | 
					var _ interfaces.ResourceRecordSet = ResourceRecordSet{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSet struct{ impl *dns.ResourceRecordSet }
 | 
					type ResourceRecordSet struct{ impl *dns.ResourceRecordSet }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSetsListCall = &ResourceRecordSetsListCall{}
 | 
					var _ interfaces.ResourceRecordSetsListCall = &ResourceRecordSetsListCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSetsListCall struct {
 | 
					type ResourceRecordSetsListCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSetsListResponse = &ResourceRecordSetsListResponse{}
 | 
					var _ interfaces.ResourceRecordSetsListResponse = &ResourceRecordSetsListResponse{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSetsListResponse struct {
 | 
					type ResourceRecordSetsListResponse struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -22,6 +22,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSetsService = &ResourceRecordSetsService{}
 | 
					var _ interfaces.ResourceRecordSetsService = &ResourceRecordSetsService{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSetsService struct {
 | 
					type ResourceRecordSetsService struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.Service = &Service{}
 | 
					var _ interfaces.Service = &Service{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Service struct {
 | 
					type Service struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.Change = &Change{}
 | 
					var _ interfaces.Change = &Change{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Change struct {
 | 
					type Change struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ChangesCreateCall = ChangesCreateCall{}
 | 
					var _ interfaces.ChangesCreateCall = ChangesCreateCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ChangesCreateCall struct {
 | 
					type ChangesCreateCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ChangesService = &ChangesService{}
 | 
					var _ interfaces.ChangesService = &ChangesService{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ChangesService struct {
 | 
					type ChangesService struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZone = ManagedZone{}
 | 
					var _ interfaces.ManagedZone = ManagedZone{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZone struct {
 | 
					type ManagedZone struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesCreateCall = ManagedZonesCreateCall{}
 | 
					var _ interfaces.ManagedZonesCreateCall = ManagedZonesCreateCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesCreateCall struct {
 | 
					type ManagedZonesCreateCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesDeleteCall = ManagedZonesDeleteCall{}
 | 
					var _ interfaces.ManagedZonesDeleteCall = ManagedZonesDeleteCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesDeleteCall struct {
 | 
					type ManagedZonesDeleteCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesGetCall = ManagedZonesGetCall{}
 | 
					var _ interfaces.ManagedZonesGetCall = ManagedZonesGetCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesGetCall struct {
 | 
					type ManagedZonesGetCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesListCall = &ManagedZonesListCall{}
 | 
					var _ interfaces.ManagedZonesListCall = &ManagedZonesListCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesListCall struct {
 | 
					type ManagedZonesListCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesListResponse = &ManagedZonesListResponse{}
 | 
					var _ interfaces.ManagedZonesListResponse = &ManagedZonesListResponse{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesListResponse struct{ ManagedZones_ []interfaces.ManagedZone }
 | 
					type ManagedZonesListResponse struct{ ManagedZones_ []interfaces.ManagedZone }
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ManagedZonesService = &ManagedZonesService{}
 | 
					var _ interfaces.ManagedZonesService = &ManagedZonesService{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ManagedZonesService struct {
 | 
					type ManagedZonesService struct {
 | 
				
			||||||
@@ -39,3 +40,7 @@ func (m *ManagedZonesService) Get(project string, managedZone string) interfaces
 | 
				
			|||||||
func (m *ManagedZonesService) List(project string) interfaces.ManagedZonesListCall {
 | 
					func (m *ManagedZonesService) List(project string) interfaces.ManagedZonesListCall {
 | 
				
			||||||
	return &ManagedZonesListCall{m, project, nil, nil, ""}
 | 
						return &ManagedZonesListCall{m, project, nil, nil, ""}
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (m *ManagedZonesService) NewManagedZone(dnsName string) interfaces.ManagedZone {
 | 
				
			||||||
 | 
						return &ManagedZone{Service: m, Name_: dnsName}
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSet = ResourceRecordSet{}
 | 
					var _ interfaces.ResourceRecordSet = ResourceRecordSet{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSet struct {
 | 
					type ResourceRecordSet struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSetsListCall = &ResourceRecordSetsListCall{}
 | 
					var _ interfaces.ResourceRecordSetsListCall = &ResourceRecordSetsListCall{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSetsListCall struct {
 | 
					type ResourceRecordSetsListCall struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSetsListResponse = &ResourceRecordSetsListResponse{}
 | 
					var _ interfaces.ResourceRecordSetsListResponse = &ResourceRecordSetsListResponse{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSetsListResponse struct {
 | 
					type ResourceRecordSetsListResponse struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -23,6 +23,7 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.ResourceRecordSetsService = &ResourceRecordSetsService{}
 | 
					var _ interfaces.ResourceRecordSetsService = &ResourceRecordSetsService{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSetsService struct {
 | 
					type ResourceRecordSetsService struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -18,6 +18,7 @@ package stubs
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
					import "k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
var _ interfaces.Service = &Service{}
 | 
					var _ interfaces.Service = &Service{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Service struct {
 | 
					type Service struct {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -17,10 +17,14 @@ limitations under the License.
 | 
				
			|||||||
package clouddns
 | 
					package clouddns
 | 
				
			||||||
 | 
					
 | 
				
			||||||
import (
 | 
					import (
 | 
				
			||||||
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider"
 | 
				
			||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
 | 
					var _ dnsprovider.ResourceRecordSet = ResourceRecordSet{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSet struct {
 | 
					type ResourceRecordSet struct {
 | 
				
			||||||
	impl   interfaces.ResourceRecordSet
 | 
						impl   interfaces.ResourceRecordSet
 | 
				
			||||||
	rrsets *ResourceRecordSets
 | 
						rrsets *ResourceRecordSets
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -24,6 +24,9 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/rrstype"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
 | 
					var _ dnsprovider.ResourceRecordSets = ResourceRecordSets{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type ResourceRecordSets struct {
 | 
					type ResourceRecordSets struct {
 | 
				
			||||||
	zone *Zone
 | 
						zone *Zone
 | 
				
			||||||
	impl interfaces.ResourceRecordSetsService
 | 
						impl interfaces.ResourceRecordSetsService
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,9 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
 | 
					var _ dnsprovider.Zone = &Zone{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Zone struct {
 | 
					type Zone struct {
 | 
				
			||||||
	impl  interfaces.ManagedZone
 | 
						impl  interfaces.ManagedZone
 | 
				
			||||||
	zones *Zones
 | 
						zones *Zones
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -21,6 +21,9 @@ import (
 | 
				
			|||||||
	"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
						"k8s.io/kubernetes/federation/pkg/dnsprovider/providers/google/clouddns/internal/interfaces"
 | 
				
			||||||
)
 | 
					)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					// Compile time check for interface adeherence
 | 
				
			||||||
 | 
					var _ dnsprovider.Zones = Zones{}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
type Zones struct {
 | 
					type Zones struct {
 | 
				
			||||||
	impl       interfaces.ManagedZonesService
 | 
						impl       interfaces.ManagedZonesService
 | 
				
			||||||
	interface_ *Interface
 | 
						interface_ *Interface
 | 
				
			||||||
@@ -39,6 +42,20 @@ func (zones Zones) List() ([]dnsprovider.Zone, error) {
 | 
				
			|||||||
	return zoneList, nil
 | 
						return zoneList, nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (zones Zones) Add(zone dnsprovider.Zone) (dnsprovider.Zone, error) {
 | 
				
			||||||
 | 
						managedZone := zones.impl.NewManagedZone(zone.Name())
 | 
				
			||||||
 | 
						response, err := zones.impl.Create(zones.project(), managedZone).Do()
 | 
				
			||||||
 | 
						if err != nil {
 | 
				
			||||||
 | 
							return nil, err
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
 | 
						return &Zone{response, &zones}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					func (zones Zones) New(name string) (dnsprovider.Zone, error) {
 | 
				
			||||||
 | 
						managedZone := zones.impl.NewManagedZone(name)
 | 
				
			||||||
 | 
						return &Zone{managedZone, &zones}, nil
 | 
				
			||||||
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
func (zones Zones) project() string {
 | 
					func (zones Zones) project() string {
 | 
				
			||||||
	return zones.interface_.project()
 | 
						return zones.interface_.project()
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -263,6 +263,19 @@ func (s *ServiceController) init() error {
 | 
				
			|||||||
		return fmt.Errorf("the dns provider does not support zone enumeration, which is required for creating dns records.")
 | 
							return fmt.Errorf("the dns provider does not support zone enumeration, which is required for creating dns records.")
 | 
				
			||||||
	}
 | 
						}
 | 
				
			||||||
	s.dnsZones = zones
 | 
						s.dnsZones = zones
 | 
				
			||||||
 | 
						if _, err := getDnsZone(s.zoneName, s.dnsZones); err != nil {
 | 
				
			||||||
 | 
							glog.Infof("DNS zone %q not found.  Creating DNS zone %q.", s.zoneName, s.zoneName)
 | 
				
			||||||
 | 
							managedZone, err := s.dnsZones.New(s.zoneName)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							zone, err := s.dnsZones.Add(managedZone)
 | 
				
			||||||
 | 
							if err != nil {
 | 
				
			||||||
 | 
								return err
 | 
				
			||||||
 | 
							}
 | 
				
			||||||
 | 
							glog.Infof("DNS zone %q successfully created.  Note that DNS resolution will not work until you have registered this name with "+
 | 
				
			||||||
 | 
								"a DNS registrar and they have changed the authoritative name servers for your domain to point to your DNS provider.", zone.Name())
 | 
				
			||||||
 | 
						}
 | 
				
			||||||
	return nil
 | 
						return nil
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user