aws

package
v0.0.0-...-b7d42a2 Latest Latest
Warning

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

Go to latest
Published: Apr 22, 2024 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// Route53Service is the name of the Route 53 service.
	Route53Service = route53.ServiceName
	// ELBService is the name of the Elastic Load Balancing service.
	ELBService = elb.ServiceName
	// TaggingService is the name of the Resource Group Tagging service.
	TaggingService = resourcegroupstaggingapi.ServiceName
)

Variables

This section is empty.

Functions

This section is empty.

Types

type Config

type Config struct {
	// SharedCredentialFile is the path to the aws shared credential file
	// that is used by SDK to configure the credentials.
	SharedCredentialFile string

	// RoleARN is an optional ARN to use for the AWS client session that is
	// intended to only provide access to another account's Route 53 service.
	RoleARN string

	// Region is the AWS region ELBs are created in.
	Region string
	// ServiceEndpoints is the list of AWS API endpoints to use for
	// Provider clients.
	ServiceEndpoints []ServiceEndpoint
	// CustomCABundle is a custom CA bundle to use when accessing the AWS API
	CustomCABundle string

	// Client is a Kubernetes client, which the provider uses to annotate
	// DNSRecord CRs.
	Client client.Client
}

Config is the necessary input to configure the manager.

type Provider

type Provider struct {
	// contains filtered or unexported fields
}

Provider is a dns.Provider for AWS Route53. It only supports DNSRecords of type CNAME, and the CNAME records are implemented as A records using the Route53 Alias feature.

TODO: Records are considered owned by the manager if they exist in a managed zone and if their names match expectations. This is relatively dangerous compared to storing additional metadata (like tags or TXT records).

func NewProvider

func NewProvider(config Config, operatorReleaseVersion string) (*Provider, error)

func (*Provider) Delete

func (m *Provider) Delete(record *iov1.DNSRecord, zone configv1.DNSZone) error

func (*Provider) Ensure

func (m *Provider) Ensure(record *iov1.DNSRecord, zone configv1.DNSZone) error

func (*Provider) Replace

func (m *Provider) Replace(record *iov1.DNSRecord, zone configv1.DNSZone) error

type ServiceEndpoint

type ServiceEndpoint struct {
	// name is the name of the AWS service. The full list of service
	// names can be found at:
	//   https://docs.aws.amazon.com/general/latest/gr/aws-service-information.html
	Name string
	// url is a fully qualified URI that overrides the default generated
	// AWS API endpoint.
	URL string
}

ServiceEndpoint stores the configuration of a custom url to override existing defaults of AWS Service API endpoints.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL