v1alpha1

package
v1.0.3-rc.1 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2023 License: Apache-2.0 Imports: 9 Imported by: 1

Documentation

Overview

+kubebuilder:object:generate=true +groupName=application-networking.k8s.aws

Index

Constants

View Source
const (
	AccessLogSubscriptionAnnotationKey = k8s.AnnotationPrefix + "accessLogSubscription"
)
View Source
const GroupName = "application-networking.k8s.aws"

GroupName specifies the group name used to register the objects.

View Source
const (
	IAMAuthPolicyKind = "IAMAuthPolicy"
)
View Source
const (
	TargetGroupPolicyKind = "TargetGroupPolicy"
)
View Source
const (
	VpcAssociationPolicyKind = "VpcAssociationPolicy"
)

Variables

View Source
var (
	// localSchemeBuilder and AddToScheme will stay in k8s.io/kubernetes.
	SchemeBuilder runtime.SchemeBuilder

	// Depreciated: use Install instead
	AddToScheme = localSchemeBuilder.AddToScheme
	Install     = localSchemeBuilder.AddToScheme
)
View Source
var GroupVersion = v1.GroupVersion{Group: GroupName, Version: "v1alpha1"}

GroupVersion specifies the group and the version used to register the objects.

View Source
var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1alpha1"}

SchemeGroupVersion is group version used to register these objects Deprecated: use GroupVersion instead.

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource takes an unqualified resource and returns a Group qualified GroupResource

Types

type AccessLogPolicy added in v0.0.18

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

	Spec AccessLogPolicySpec `json:"spec"`

	// Status defines the current state of AccessLogPolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"NotReconciled", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status AccessLogPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:resource:categories=gateway-api,shortName=alp +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status

func (*AccessLogPolicy) DeepCopy added in v0.0.18

func (in *AccessLogPolicy) DeepCopy() *AccessLogPolicy

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

func (*AccessLogPolicy) DeepCopyInto added in v0.0.18

func (in *AccessLogPolicy) DeepCopyInto(out *AccessLogPolicy)

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

func (*AccessLogPolicy) DeepCopyObject added in v0.0.18

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

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

func (*AccessLogPolicy) GetNamespacedName added in v0.0.18

func (p *AccessLogPolicy) GetNamespacedName() types.NamespacedName

func (*AccessLogPolicy) GetStatusConditions added in v0.0.18

func (p *AccessLogPolicy) GetStatusConditions() []metav1.Condition

func (*AccessLogPolicy) GetTargetRef added in v0.0.18

func (p *AccessLogPolicy) GetTargetRef() *v1alpha2.PolicyTargetReference

func (*AccessLogPolicy) SetStatusConditions added in v0.0.18

func (p *AccessLogPolicy) SetStatusConditions(conditions []metav1.Condition)

type AccessLogPolicyList added in v0.0.18

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

+kubebuilder:object:root=true AccessLogPolicyList contains a list of AccessLogPolicies.

func (*AccessLogPolicyList) DeepCopy added in v0.0.18

func (in *AccessLogPolicyList) DeepCopy() *AccessLogPolicyList

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

func (*AccessLogPolicyList) DeepCopyInto added in v0.0.18

func (in *AccessLogPolicyList) DeepCopyInto(out *AccessLogPolicyList)

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

func (*AccessLogPolicyList) DeepCopyObject added in v0.0.18

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

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

func (*AccessLogPolicyList) GetItems added in v0.0.18

func (pl *AccessLogPolicyList) GetItems() []core.Policy

type AccessLogPolicySpec added in v0.0.18

type AccessLogPolicySpec struct {
	// The Amazon Resource Name (ARN) of the destination that will store access logs.
	// Supported values are S3 Bucket, CloudWatch Log Group, and Firehose Delivery Stream ARNs.
	//
	// Changes to this value results in replacement of the VPC Lattice Access Log Subscription.
	// +kubebuilder:validation:Pattern=`^arn(:[a-z0-9]+([.-][a-z0-9]+)*){2}(:([a-z0-9]+([.-][a-z0-9]+)*)?){2}:([^/].*)?`
	DestinationArn *string `json:"destinationArn"`

	// TargetRef points to the Kubernetes Gateway, HTTPRoute, or GRPCRoute resource that will have this policy attached.
	//
	// This field is following the guidelines of Kubernetes Gateway API policy attachment.
	TargetRef *v1alpha2.PolicyTargetReference `json:"targetRef"`
}

AccessLogPolicySpec defines the desired state of AccessLogPolicy.

func (*AccessLogPolicySpec) DeepCopy added in v0.0.18

func (in *AccessLogPolicySpec) DeepCopy() *AccessLogPolicySpec

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

func (*AccessLogPolicySpec) DeepCopyInto added in v0.0.18

func (in *AccessLogPolicySpec) DeepCopyInto(out *AccessLogPolicySpec)

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

type AccessLogPolicyStatus added in v0.0.18

type AccessLogPolicyStatus struct {
	// Conditions describe the current conditions of the AccessLogPolicy.
	//
	// Implementations should prefer to express Policy conditions
	// using the `PolicyConditionType` and `PolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe AccessLogPolicy state.
	//
	// Known condition types are:
	//
	// * "Accepted"
	// * "Ready"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"},{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

AccessLogPolicyStatus defines the observed state of AccessLogPolicy.

func (*AccessLogPolicyStatus) DeepCopy added in v0.0.18

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

func (*AccessLogPolicyStatus) DeepCopyInto added in v0.0.18

func (in *AccessLogPolicyStatus) DeepCopyInto(out *AccessLogPolicyStatus)

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

type ClusterStatus added in v0.0.18

type ClusterStatus struct {
	// cluster is the name of the exporting cluster. Must be a valid RFC-1123 DNS
	// label.
	Cluster string `json:"cluster"`
}

ClusterStatus contains service configuration mapped to a specific source cluster

func (*ClusterStatus) DeepCopy added in v0.0.18

func (in *ClusterStatus) DeepCopy() *ClusterStatus

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

func (*ClusterStatus) DeepCopyInto added in v0.0.18

func (in *ClusterStatus) DeepCopyInto(out *ClusterStatus)

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

type HealthCheckConfig

type HealthCheckConfig struct {
	// Indicates whether health checking is enabled.
	// +optional
	Enabled *bool `json:"enabled,omitempty"`

	// The approximate amount of time, in seconds, between health checks of an individual target.
	// +optional
	// +kubebuilder:validation:Minimum=5
	// +kubebuilder:validation:Maximum=300
	IntervalSeconds *int64 `json:"intervalSeconds,omitempty"`

	// The amount of time, in seconds, to wait before reporting a target as unhealthy.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=120
	TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty"`

	// The number of consecutive successful health checks required before considering an unhealthy target healthy.
	// +optional
	// +kubebuilder:validation:Minimum=2
	// +kubebuilder:validation:Maximum=10
	HealthyThresholdCount *int64 `json:"healthyThresholdCount,omitempty"`

	// The number of consecutive failed health checks required before considering a target unhealthy.
	// +optional
	// +kubebuilder:validation:Minimum=2
	// +kubebuilder:validation:Maximum=10
	UnhealthyThresholdCount *int64 `json:"unhealthyThresholdCount,omitempty"`

	// A regular expression to match HTTP status codes when checking for successful response from a target.
	// +optional
	StatusMatch *string `json:"statusMatch,omitempty"`

	// The destination for health checks on the targets.
	// +optional
	Path *string `json:"path,omitempty"`

	// The port used when performing health checks on targets. If not specified, health check defaults to the
	// port that a target receives traffic on.
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	Port *int64 `json:"port,omitempty"`

	// The protocol used when performing health checks on targets.
	// +optional
	Protocol *HealthCheckProtocol `json:"protocol,omitempty"`

	// The protocol version used when performing health checks on targets. Defaults to HTTP/1.
	// +optional
	ProtocolVersion *HealthCheckProtocolVersion `json:"protocolVersion,omitempty"`
}

HealthCheckConfig defines health check configuration for given VPC Lattice target group. For the detailed explanation and supported values, please refer to VPC Lattice documentationon health checks.

func (*HealthCheckConfig) DeepCopy

func (in *HealthCheckConfig) DeepCopy() *HealthCheckConfig

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

func (*HealthCheckConfig) DeepCopyInto

func (in *HealthCheckConfig) DeepCopyInto(out *HealthCheckConfig)

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

type HealthCheckProtocol

type HealthCheckProtocol string

+kubebuilder:validation:Enum=HTTP;HTTPS

const (
	HealthCheckProtocolHTTP  HealthCheckProtocol = "HTTP"
	HealthCheckProtocolHTTPS HealthCheckProtocol = "HTTPS"
)

type HealthCheckProtocolVersion

type HealthCheckProtocolVersion string

+kubebuilder:validation:Enum=HTTP1;HTTP2

const (
	HealthCheckProtocolVersionHTTP1 HealthCheckProtocolVersion = "HTTP1"
	HealthCheckProtocolVersionHTTP2 HealthCheckProtocolVersion = "HTTP2"
)

type IAMAuthPolicy added in v0.0.18

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

	Spec IAMAuthPolicySpec `json:"spec"`

	// Status defines the current state of IAMAuthPolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"NotReconciled", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status IAMAuthPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:resource:categories=gateway-api,shortName=iap +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status

func (*IAMAuthPolicy) DeepCopy added in v0.0.18

func (in *IAMAuthPolicy) DeepCopy() *IAMAuthPolicy

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

func (*IAMAuthPolicy) DeepCopyInto added in v0.0.18

func (in *IAMAuthPolicy) DeepCopyInto(out *IAMAuthPolicy)

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

func (*IAMAuthPolicy) DeepCopyObject added in v0.0.18

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

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

func (*IAMAuthPolicy) GetStatusConditions added in v0.0.18

func (p *IAMAuthPolicy) GetStatusConditions() *[]metav1.Condition

func (*IAMAuthPolicy) GetTargetRef added in v0.0.18

func (p *IAMAuthPolicy) GetTargetRef() *v1alpha2.PolicyTargetReference

type IAMAuthPolicyList added in v0.0.18

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

+kubebuilder:object:root=true IAMAuthPolicyList contains a list of IAMAuthPolicies.

func (*IAMAuthPolicyList) DeepCopy added in v0.0.18

func (in *IAMAuthPolicyList) DeepCopy() *IAMAuthPolicyList

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

func (*IAMAuthPolicyList) DeepCopyInto added in v0.0.18

func (in *IAMAuthPolicyList) DeepCopyInto(out *IAMAuthPolicyList)

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

func (*IAMAuthPolicyList) DeepCopyObject added in v0.0.18

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

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

func (*IAMAuthPolicyList) GetItems added in v0.0.18

func (pl *IAMAuthPolicyList) GetItems() []*IAMAuthPolicy

type IAMAuthPolicySpec added in v0.0.18

type IAMAuthPolicySpec struct {

	// IAM auth policy content. It is a JSON string that uses the same syntax as AWS IAM policies. Please check the VPC Lattice documentation to get [the common elements in an auth policy](https://docs.aws.amazon.com/vpc-lattice/latest/ug/auth-policies.html#auth-policies-common-elements)
	Policy string `json:"policy"`

	// TargetRef points to the Kubernetes Gateway, HTTPRoute, or GRPCRoute resource that will have this policy attached.
	//
	// This field is following the guidelines of Kubernetes Gateway API policy attachment.
	TargetRef *v1alpha2.PolicyTargetReference `json:"targetRef"`
}

IAMAuthPolicySpec defines the desired state of IAMAuthPolicy. When the controller handles IAMAuthPolicy creation, if the targetRef k8s and VPC Lattice resource exists, the controller will change the auth_type of that VPC Lattice resource to AWS_IAM and attach this policy. When the controller handles IAMAuthPolicy deletion, if the targetRef k8s and VPC Lattice resource exists, the controller will change the auth_type of that VPC Lattice resource to NONE and detach this policy.

func (*IAMAuthPolicySpec) DeepCopy added in v0.0.18

func (in *IAMAuthPolicySpec) DeepCopy() *IAMAuthPolicySpec

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

func (*IAMAuthPolicySpec) DeepCopyInto added in v0.0.18

func (in *IAMAuthPolicySpec) DeepCopyInto(out *IAMAuthPolicySpec)

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

type IAMAuthPolicyStatus added in v0.0.18

type IAMAuthPolicyStatus struct {
	// Conditions describe the current conditions of the IAMAuthPolicy.
	//
	// Implementations should prefer to express Policy conditions
	// using the `PolicyConditionType` and `PolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe IAMAuthPolicy state.
	//
	// Known condition types are:
	//
	// * "Accepted"
	// * "Ready"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"},{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

IAMAuthPolicyStatus defines the observed state of IAMAuthPolicy.

func (*IAMAuthPolicyStatus) DeepCopy added in v0.0.18

func (in *IAMAuthPolicyStatus) DeepCopy() *IAMAuthPolicyStatus

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

func (*IAMAuthPolicyStatus) DeepCopyInto added in v0.0.18

func (in *IAMAuthPolicyStatus) DeepCopyInto(out *IAMAuthPolicyStatus)

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

type SecurityGroupId added in v0.0.17

type SecurityGroupId string

+kubebuilder:validation:MaxLength=32 +kubebuilder:validation:MinLength=3 +kubebuilder:validation:Pattern=`^sg-[0-9a-z]+$`

type ServiceExport added in v0.0.18

type ServiceExport struct {
	apimachineryv1.TypeMeta `json:",inline"`
	// +optional
	apimachineryv1.ObjectMeta `json:"metadata,omitempty"`
	// status describes the current state of an exported service.
	// Service configuration comes from the Service that had the same
	// name and namespace as this ServiceExport.
	// Populated by the multi-cluster service implementation's controller.
	// +optional
	Status ServiceExportStatus `json:"status,omitempty"`
}

ServiceExport declares that the Service with the same name and namespace as this export should be consumable from other clusters.

func (*ServiceExport) DeepCopy added in v0.0.18

func (in *ServiceExport) DeepCopy() *ServiceExport

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

func (*ServiceExport) DeepCopyInto added in v0.0.18

func (in *ServiceExport) DeepCopyInto(out *ServiceExport)

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

func (*ServiceExport) DeepCopyObject added in v0.0.18

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

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

type ServiceExportCondition added in v0.0.18

type ServiceExportCondition struct {
	Type ServiceExportConditionType `json:"type"`
	// Status is one of {"True", "False", "Unknown"}
	// +kubebuilder:validation:Enum=True;False;Unknown
	Status corev1.ConditionStatus `json:"status"`
	// +optional
	LastTransitionTime *apimachineryv1.Time `json:"lastTransitionTime,omitempty"`
	// +optional
	Reason *string `json:"reason,omitempty"`
	// +optional
	Message *string `json:"message,omitempty"`
}

ServiceExportCondition contains details for the current condition of this service export.

Once [KEP-1623](https://github.com/kubernetes/enhancements/tree/master/keps/sig-api-machinery/1623-standardize-conditions) is implemented, this will be replaced by metav1.Condition.

func (*ServiceExportCondition) DeepCopy added in v0.0.18

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

func (*ServiceExportCondition) DeepCopyInto added in v0.0.18

func (in *ServiceExportCondition) DeepCopyInto(out *ServiceExportCondition)

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

type ServiceExportConditionType added in v0.0.18

type ServiceExportConditionType string

ServiceExportConditionType identifies a specific condition.

const (
	// ServiceExportValid means that the service referenced by this
	// service export has been recognized as valid by a controller.
	// This will be false if the service is found to be unexportable
	// (ExternalName, not found).
	ServiceExportValid ServiceExportConditionType = "Valid"
	// ServiceExportConflict means that there is a conflict between two
	// exports for the same Service. When "True", the condition message
	// should contain enough information to diagnose the conflict:
	// field(s) under contention, which cluster won, and why.
	// Users should not expect detailed per-cluster information in the
	// conflict message.
	ServiceExportConflict ServiceExportConditionType = "Conflict"
)

type ServiceExportList added in v0.0.18

type ServiceExportList struct {
	apimachineryv1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// +optional
	apimachineryv1.ListMeta `json:"metadata,omitempty"`
	// List of endpoint slices
	// +listType=set
	Items []ServiceExport `json:"items"`
}

ServiceExportList represents a list of endpoint slices

func (*ServiceExportList) DeepCopy added in v0.0.18

func (in *ServiceExportList) DeepCopy() *ServiceExportList

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

func (*ServiceExportList) DeepCopyInto added in v0.0.18

func (in *ServiceExportList) DeepCopyInto(out *ServiceExportList)

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

func (*ServiceExportList) DeepCopyObject added in v0.0.18

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

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

type ServiceExportStatus added in v0.0.18

type ServiceExportStatus struct {
	// +optional
	// +patchStrategy=merge
	// +patchMergeKey=type
	// +listType=map
	// +listMapKey=type
	Conditions []ServiceExportCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"`
}

ServiceExportStatus contains the current status of an export.

func (*ServiceExportStatus) DeepCopy added in v0.0.18

func (in *ServiceExportStatus) DeepCopy() *ServiceExportStatus

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

func (*ServiceExportStatus) DeepCopyInto added in v0.0.18

func (in *ServiceExportStatus) DeepCopyInto(out *ServiceExportStatus)

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

type ServiceImport added in v0.0.18

type ServiceImport struct {
	apimachineryv1.TypeMeta `json:",inline"`
	// +optional
	apimachineryv1.ObjectMeta `json:"metadata,omitempty"`
	// spec defines the behavior of a ServiceImport.
	// +optional
	Spec ServiceImportSpec `json:"spec,omitempty"`
	// status contains information about the exported services that form
	// the multi-cluster service referenced by this ServiceImport.
	// +optional
	Status ServiceImportStatus `json:"status,omitempty"`
}

ServiceImport describes a service imported from clusters in a ClusterSet.

func (*ServiceImport) DeepCopy added in v0.0.18

func (in *ServiceImport) DeepCopy() *ServiceImport

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

func (*ServiceImport) DeepCopyInto added in v0.0.18

func (in *ServiceImport) DeepCopyInto(out *ServiceImport)

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

func (*ServiceImport) DeepCopyObject added in v0.0.18

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

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

type ServiceImportList added in v0.0.18

type ServiceImportList struct {
	apimachineryv1.TypeMeta `json:",inline"`
	// Standard list metadata.
	// +optional
	apimachineryv1.ListMeta `json:"metadata,omitempty"`
	// List of endpoint slices
	// +listType=set
	Items []ServiceImport `json:"items"`
}

ServiceImportList represents a list of endpoint slices

func (*ServiceImportList) DeepCopy added in v0.0.18

func (in *ServiceImportList) DeepCopy() *ServiceImportList

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

func (*ServiceImportList) DeepCopyInto added in v0.0.18

func (in *ServiceImportList) DeepCopyInto(out *ServiceImportList)

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

func (*ServiceImportList) DeepCopyObject added in v0.0.18

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

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

type ServiceImportSpec added in v0.0.18

type ServiceImportSpec struct {
	// +listType=atomic
	Ports []ServicePort `json:"ports"`
	// ip will be used as the VIP for this service when type is ClusterSetIP.
	// +kubebuilder:validation:MaxItems:=1
	// +optional
	IPs []string `json:"ips,omitempty"`
	// type defines the type of this service.
	// Must be ClusterSetIP or Headless.
	// +kubebuilder:validation:Enum=ClusterSetIP;Headless
	Type ServiceImportType `json:"type"`
	// Supports "ClientIP" and "None". Used to maintain session affinity.
	// Enable client IP based session affinity.
	// Must be ClientIP or None.
	// Defaults to None.
	// Ignored when type is Headless
	// More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies
	// +optional
	SessionAffinity corev1.ServiceAffinity `json:"sessionAffinity,omitempty"`
	// sessionAffinityConfig contains session affinity configuration.
	// +optional
	SessionAffinityConfig *corev1.SessionAffinityConfig `json:"sessionAffinityConfig,omitempty"`
}

ServiceImportSpec describes an imported service and the information necessary to consume it.

func (*ServiceImportSpec) DeepCopy added in v0.0.18

func (in *ServiceImportSpec) DeepCopy() *ServiceImportSpec

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

func (*ServiceImportSpec) DeepCopyInto added in v0.0.18

func (in *ServiceImportSpec) DeepCopyInto(out *ServiceImportSpec)

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

type ServiceImportStatus added in v0.0.18

type ServiceImportStatus struct {
	// clusters is the list of exporting clusters from which this service
	// was derived.
	// +optional
	// +patchStrategy=merge
	// +patchMergeKey=cluster
	// +listType=map
	// +listMapKey=cluster
	Clusters []ClusterStatus `json:"clusters,omitempty"`
}

ServiceImportStatus describes derived state of an imported service.

func (*ServiceImportStatus) DeepCopy added in v0.0.18

func (in *ServiceImportStatus) DeepCopy() *ServiceImportStatus

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

func (*ServiceImportStatus) DeepCopyInto added in v0.0.18

func (in *ServiceImportStatus) DeepCopyInto(out *ServiceImportStatus)

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

type ServiceImportType added in v0.0.18

type ServiceImportType string

ServiceImportType designates the type of a ServiceImport

const (
	// ClusterSetIP are only accessible via the ClusterSet IP.
	ClusterSetIP ServiceImportType = "ClusterSetIP"
	// Headless services allow backend pods to be addressed directly.
	Headless ServiceImportType = "Headless"
)

type ServicePort added in v0.0.18

type ServicePort struct {
	// The name of this port within the service. This must be a DNS_LABEL.
	// All ports within a ServiceSpec must have unique names. When considering
	// the endpoints for a Service, this must match the 'name' field in the
	// EndpointPort.
	// Optional if only one ServicePort is defined on this service.
	// +optional
	Name string `json:"name,omitempty"`

	// The IP protocol for this port. Supports "TCP", "UDP", and "SCTP".
	// Default is TCP.
	// +optional
	Protocol corev1.Protocol `json:"protocol,omitempty"`

	// The application protocol for this port.
	// This field follows standard Kubernetes label syntax.
	// Un-prefixed names are reserved for IANA standard service names (as per
	// RFC-6335 and http://www.iana.org/assignments/service-names).
	// Non-standard protocols should use prefixed names such as
	// mycompany.com/my-custom-protocol.
	// Field can be enabled with ServiceAppProtocol feature gate.
	// +optional
	AppProtocol *string `json:"appProtocol,omitempty"`

	// The port that will be exposed by this service.
	Port int32 `json:"port"`
}

ServicePort represents the port on which the service is exposed

func (*ServicePort) DeepCopy added in v0.0.18

func (in *ServicePort) DeepCopy() *ServicePort

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

func (*ServicePort) DeepCopyInto added in v0.0.18

func (in *ServicePort) DeepCopyInto(out *ServicePort)

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

type TargetGroupPolicy

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

	Spec TargetGroupPolicySpec `json:"spec"`

	// Status defines the current state of TargetGroupPolicy.
	//
	// +kubebuilder:default={conditions: {{type: "Accepted", status: "Unknown", reason:"NotReconciled", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}}
	Status TargetGroupPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:resource:categories=gateway-api,shortName=tgp +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status

func (*TargetGroupPolicy) DeepCopy

func (in *TargetGroupPolicy) DeepCopy() *TargetGroupPolicy

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

func (*TargetGroupPolicy) DeepCopyInto

func (in *TargetGroupPolicy) DeepCopyInto(out *TargetGroupPolicy)

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

func (*TargetGroupPolicy) DeepCopyObject

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

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

func (*TargetGroupPolicy) GetStatusConditions added in v0.0.18

func (p *TargetGroupPolicy) GetStatusConditions() *[]metav1.Condition

func (*TargetGroupPolicy) GetTargetRef added in v0.0.17

type TargetGroupPolicyList

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

+kubebuilder:object:root=true TargetGroupPolicyList contains a list of TargetGroupPolicies.

func (*TargetGroupPolicyList) DeepCopy

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

func (*TargetGroupPolicyList) DeepCopyInto

func (in *TargetGroupPolicyList) DeepCopyInto(out *TargetGroupPolicyList)

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

func (*TargetGroupPolicyList) DeepCopyObject

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

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

func (*TargetGroupPolicyList) GetItems added in v0.0.17

func (pl *TargetGroupPolicyList) GetItems() []*TargetGroupPolicy

type TargetGroupPolicySpec

type TargetGroupPolicySpec struct {
	// The protocol to use for routing traffic to the targets. Supported values are HTTP (default) and HTTPS.
	//
	// Changes to this value results in a replacement of VPC Lattice target group.
	// +optional
	Protocol *string `json:"protocol,omitempty"`

	// The protocol version to use. Supported values are HTTP1 (default) and HTTP2. When a policy is behind GRPCRoute,
	// this field value will be ignored as GRPC is only supported through HTTP/2.
	//
	// Changes to this value results in a replacement of VPC Lattice target group.
	// +optional
	ProtocolVersion *string `json:"protocolVersion,omitempty"`

	// TargetRef points to the kubernetes Service resource that will have this policy attached.
	//
	// This field is following the guidelines of Kubernetes Gateway API policy attachment.
	TargetRef *v1alpha2.PolicyTargetReference `json:"targetRef"`

	// The health check configuration.
	//
	// Changes to this value will update VPC Lattice resource in place.
	// +optional
	HealthCheck *HealthCheckConfig `json:"healthCheck,omitempty"`
}

TargetGroupPolicySpec defines the desired state of TargetGroupPolicy.

func (*TargetGroupPolicySpec) DeepCopy

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

func (*TargetGroupPolicySpec) DeepCopyInto

func (in *TargetGroupPolicySpec) DeepCopyInto(out *TargetGroupPolicySpec)

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

type TargetGroupPolicyStatus added in v0.0.18

type TargetGroupPolicyStatus struct {
	// Conditions describe the current conditions of the TargetGroup.
	//
	// Implementations should prefer to express Policy conditions
	// using the `PolicyConditionType` and `PolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe TargetGroup state.
	//
	// Known condition types are:
	//
	// * "Accepted"
	// * "Ready"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"},{type: "Programmed", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

TargetGroupPolicyStatus defines the observed state of TargetGroup.

func (*TargetGroupPolicyStatus) DeepCopy added in v0.0.18

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

func (*TargetGroupPolicyStatus) DeepCopyInto added in v0.0.18

func (in *TargetGroupPolicyStatus) DeepCopyInto(out *TargetGroupPolicyStatus)

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

type VpcAssociationPolicy added in v0.0.17

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

	Spec VpcAssociationPolicySpec `json:"spec"`

	Status VpcAssociationPolicyStatus `json:"status,omitempty"`
}

+kubebuilder:resource:categories=gateway-api,shortName=vap +kubebuilder:storageversion +kubebuilder:printcolumn:name="Age",type=date,JSONPath=`.metadata.creationTimestamp` +kubebuilder:subresource:status

func (*VpcAssociationPolicy) DeepCopy added in v0.0.17

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

func (*VpcAssociationPolicy) DeepCopyInto added in v0.0.17

func (in *VpcAssociationPolicy) DeepCopyInto(out *VpcAssociationPolicy)

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

func (*VpcAssociationPolicy) DeepCopyObject added in v0.0.17

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

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

func (*VpcAssociationPolicy) GetStatusConditions added in v0.0.18

func (p *VpcAssociationPolicy) GetStatusConditions() *[]metav1.Condition

func (*VpcAssociationPolicy) GetTargetRef added in v0.0.17

type VpcAssociationPolicyList added in v0.0.17

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

+kubebuilder:object:root=true VpcAssociationPolicyList contains a list of VpcAssociationPolicies.

func (*VpcAssociationPolicyList) DeepCopy added in v0.0.17

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

func (*VpcAssociationPolicyList) DeepCopyInto added in v0.0.17

func (in *VpcAssociationPolicyList) DeepCopyInto(out *VpcAssociationPolicyList)

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

func (*VpcAssociationPolicyList) DeepCopyObject added in v0.0.17

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

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

func (*VpcAssociationPolicyList) GetItems added in v0.0.17

type VpcAssociationPolicySpec added in v0.0.17

type VpcAssociationPolicySpec struct {

	// SecurityGroupIds defines the security groups enforced on the VpcServiceNetworkAssociation.
	// Security groups does not take effect if AssociateWithVpc is set to false.
	//
	// For more details, please check the VPC Lattice documentation https://docs.aws.amazon.com/vpc-lattice/latest/ug/security-groups.html
	//
	// +optional
	// +kubebuilder:validation:MinItems=1
	SecurityGroupIds []SecurityGroupId `json:"securityGroupIds,omitempty"`

	// AssociateWithVpc indicates whether the VpcServiceNetworkAssociation should be created for the current VPC of k8s cluster.
	//
	// This value will be considered true by default.
	// +optional
	AssociateWithVpc *bool `json:"associateWithVpc,omitempty"`

	// TargetRef points to the kubernetes Gateway resource that will have this policy attached.
	//
	// This field is following the guidelines of Kubernetes Gateway API policy attachment.
	TargetRef *v1alpha2.PolicyTargetReference `json:"targetRef"`
}

VpcAssociationPolicySpec defines the desired state of VpcAssociationPolicy.

func (*VpcAssociationPolicySpec) DeepCopy added in v0.0.17

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

func (*VpcAssociationPolicySpec) DeepCopyInto added in v0.0.17

func (in *VpcAssociationPolicySpec) DeepCopyInto(out *VpcAssociationPolicySpec)

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

type VpcAssociationPolicyStatus added in v0.0.18

type VpcAssociationPolicyStatus struct {
	// Conditions describe the current conditions of the VpcAssociationPolicy.
	//
	// Implementations should prefer to express Policy conditions
	// using the `PolicyConditionType` and `PolicyConditionReason`
	// constants so that operators and tools can converge on a common
	// vocabulary to describe VpcAssociationPolicy state.
	//
	// Known condition types are:
	//
	// * "Accepted"
	//
	// +optional
	// +listType=map
	// +listMapKey=type
	// +kubebuilder:validation:MaxItems=8
	// +kubebuilder:default={{type: "Accepted", status: "Unknown", reason:"Pending", message:"Waiting for controller", lastTransitionTime: "1970-01-01T00:00:00Z"}}
	Conditions []metav1.Condition `json:"conditions,omitempty"`
}

VpcAssociationPolicyStatus defines the observed state of VpcAssociationPolicy.

func (*VpcAssociationPolicyStatus) DeepCopy added in v0.0.18

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

func (*VpcAssociationPolicyStatus) DeepCopyInto added in v0.0.18

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

Jump to

Keyboard shortcuts

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