v1

package
v1.3.2 Latest Latest
Warning

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

Go to latest
Published: Sep 30, 2024 License: MIT Imports: 6 Imported by: 0

Documentation

Overview

Package v1 contains API Schema definitions for the domain v1 API group +kubebuilder:object:generate=true +groupName=domain.mailgun.com

Index

Constants

View Source
const (
	HTTP                  WebSchemeType = "http"
	HTTPS                 WebSchemeType = "https"
	DomainStateCreated    DomainState   = "created"
	DomainStateFailed     DomainState   = "failed"
	DomainStateProcessing DomainState   = "processing"
	DomainStateActivated  DomainState   = "activated"
	ExportTypeSMTP        ExportType    = "smtp"
	ExportTypeAPI         ExportType    = "api"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "domain.mailgun.com", Version: "v1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type DnsRecord

type DnsRecord struct {
	Name       string `json:"name,omitempty"`
	Priority   string `json:"priority,omitempty"`
	RecordType string `json:"record_type"`
	Valid      string `json:"valid"`
	Value      string `json:"value"`
}

func (*DnsRecord) DeepCopy

func (in *DnsRecord) DeepCopy() *DnsRecord

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DnsRecord.

func (*DnsRecord) DeepCopyInto

func (in *DnsRecord) DeepCopyInto(out *DnsRecord)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type Domain

type Domain struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   DomainSpec   `json:"spec,omitempty"`
	Status DomainStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status Domain is the Schema for the domains API

func (*Domain) DeepCopy

func (in *Domain) DeepCopy() *Domain

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Domain.

func (*Domain) DeepCopyInto

func (in *Domain) DeepCopyInto(out *Domain)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Domain) DeepCopyObject

func (in *Domain) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DomainList

type DomainList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Domain `json:"items"`
}

DomainList contains a list of Domain

func (*DomainList) DeepCopy

func (in *DomainList) DeepCopy() *DomainList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainList.

func (*DomainList) DeepCopyInto

func (in *DomainList) DeepCopyInto(out *DomainList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*DomainList) DeepCopyObject

func (in *DomainList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type DomainSpec

type DomainSpec struct {
	// Domain is a domain name which we need to create on Mailgun
	Domain string `json:"domain"`

	// Support for External-DNS
	ExternalDNS        *bool               `json:"external_dns,omitempty"`
	ExternalDNSRecords []endpoint.Endpoint `json:"external_dns_records,omitempty"`

	// See https://documentation.mailgun.com/en/latest/api-domains.html#domains
	WebScheme          *WebSchemeType `json:"web_scheme,omitempty"`
	DKIMKeySize        *int           `json:"dkim_key_size,omitempty"`
	ForceDKIMAuthority *bool          `json:"force_dkim_authority,omitempty"`
	Wildcard           *bool          `json:"wildcard,omitempty"`
	// +kubebuilder:validation:MinItems=0
	// +listType=set
	IPS        []string            `json:"ips,omitempty"`
	SpamAction *mailgun.SpamAction `json:"spam_action,omitempty"`

	// Export SMTP or API credentials to a secret
	ExportCredentials *bool `json:"export_credentials,omitempty"`
	// Export SMTP credentials to a secret
	ExportSecretName *string `json:"export_secret_name,omitempty"`
	// Export secret key for login
	ExportSecretLoginKey *string `json:"export_secret_login_key,omitempty"`
	// Export secret key for password
	ExportSecretPasswordKey *string `json:"export_secret_password_key,omitempty"`

	// Force validation of MX records for receiving mail
	// +optional
	ForceMXCheck *bool `json:"force_mx_check,omitempty"`
}

DomainSpec defines the desired state of Domain

func (*DomainSpec) DeepCopy

func (in *DomainSpec) DeepCopy() *DomainSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainSpec.

func (*DomainSpec) DeepCopyInto

func (in *DomainSpec) DeepCopyInto(out *DomainSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type DomainState

type DomainState string

type DomainStatus

type DomainStatus struct {
	// Global state of the record
	State DomainState `json:"state"`

	// If domain is not managed by this operator (e.g. created manually)
	NotManaged bool `json:"not_managed,omitempty"`

	// list of DNS records for sending emails
	SendingDnsRecords []DnsRecord `json:"sending_dns_records,omitempty"`

	// list of DNS records for receiving emails
	ReceivingDnsRecords []DnsRecord `json:"receiving_dns_records,omitempty"`

	// State of the domain on Mailgun
	DomainState string `json:"domain_state"`

	// Mailgun errors
	MailgunError *string `json:"mailgun_error,omitempty"`

	// Time when we last time requested a Validation of domain on Mailgun
	LastDomainValidationTime *metav1.Time `json:"last_domain_validation_time,omitempty"`

	// Domain validation counts
	DomainValidationCount *int `json:"validation_count,omitempty"`

	// A pointer to ExternalDNS Entrypoint
	DnsEntrypointCreated bool `json:"dns_entrypoint_created,omitempty"`
}

DomainStatus defines the observed state of Domain

func (*DomainStatus) DeepCopy

func (in *DomainStatus) DeepCopy() *DomainStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DomainStatus.

func (*DomainStatus) DeepCopyInto

func (in *DomainStatus) DeepCopyInto(out *DomainStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type ExportType added in v1.2.0

type ExportType string

type Route added in v1.3.0

type Route struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   RouteSpec   `json:"spec,omitempty"`
	Status RouteStatus `json:"status,omitempty"`
}

Route is the Schema for the routes API

func (*Route) DeepCopy added in v1.3.0

func (in *Route) DeepCopy() *Route

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Route.

func (*Route) DeepCopyInto added in v1.3.0

func (in *Route) DeepCopyInto(out *Route)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*Route) DeepCopyObject added in v1.3.0

func (in *Route) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RouteList added in v1.3.0

type RouteList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Route `json:"items"`
}

RouteList contains a list of Route

func (*RouteList) DeepCopy added in v1.3.0

func (in *RouteList) DeepCopy() *RouteList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteList.

func (*RouteList) DeepCopyInto added in v1.3.0

func (in *RouteList) DeepCopyInto(out *RouteList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*RouteList) DeepCopyObject added in v1.3.0

func (in *RouteList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

type RouteSpec added in v1.3.0

type RouteSpec struct {
	// Description of the route
	// +kubebuilder:validation:required
	Description string `json:"description"`
	// Matching expression for the route
	// +kubebuilder:validation:required
	Expression string `json:"expression"`
	// Action to be taken when the route matches an incoming email
	// +kubebuilder:validation:required
	Actions []string `json:"actions"`
	// Priority of route
	// Smaller number indicates higher priority. Higher priority routes are handled first.
	// +optional
	Priority *int `json:"priority"`
}

RouteSpec defines the desired state of Route

func (*RouteSpec) DeepCopy added in v1.3.0

func (in *RouteSpec) DeepCopy() *RouteSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteSpec.

func (*RouteSpec) DeepCopyInto added in v1.3.0

func (in *RouteSpec) DeepCopyInto(out *RouteSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type RouteStatus added in v1.3.0

type RouteStatus struct {
	// ID of created route on mailgun
	RouteID *string `json:"route_id,omitempty"`
	// Mailgun error message if any error occurred during route creation or deletion
	MailgunError *string `json:"mailgun_error,omitempty"`
}

RouteStatus defines the observed state of Route

func (*RouteStatus) DeepCopy added in v1.3.0

func (in *RouteStatus) DeepCopy() *RouteStatus

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RouteStatus.

func (*RouteStatus) DeepCopyInto added in v1.3.0

func (in *RouteStatus) DeepCopyInto(out *RouteStatus)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

type WebSchemeType

type WebSchemeType string

Jump to

Keyboard shortcuts

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