Documentation ¶
Overview ¶
Package v1beta1 contains API Schema definitions for the ratelimit.infra.doodle.com v1beta1 API group +kubebuilder:object:generate=true +groupName=ratelimit.infra.doodle.com
Index ¶
- Constants
- Variables
- type CrossNamespaceResourceReference
- type DeploymentSpec
- type DeploymentTemplate
- type Descriptor
- type ObjectMetadata
- type RateLimitRule
- type RateLimitRuleList
- type RateLimitRuleSpec
- type RateLimitService
- func (in *RateLimitService) DeepCopy() *RateLimitService
- func (in *RateLimitService) DeepCopyInto(out *RateLimitService)
- func (in *RateLimitService) DeepCopyObject() runtime.Object
- func (in *RateLimitService) GetConditions() []metav1.Condition
- func (in *RateLimitService) GetStatusConditions() *[]metav1.Condition
- func (in *RateLimitService) SetConditions(conditions []metav1.Condition)
- type RateLimitServiceList
- type RateLimitServiceSpec
- type RateLimitServiceStatus
- type ResourceReference
Constants ¶
const ( ConditionReady = "Ready" ConditionReconciling = "Reconciling" ReadyCondition = "Ready" )
Variables ¶
var ( // GroupVersion is group version used to register these objects GroupVersion = schema.GroupVersion{Group: "ratelimit.infra.doodle.com", Version: "v1beta1"} // 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 CrossNamespaceResourceReference ¶ added in v0.0.6
type CrossNamespaceResourceReference struct { Name string `json:"name"` Namespace string `json:"namespace,omitempty"` }
func (*CrossNamespaceResourceReference) DeepCopy ¶ added in v0.0.6
func (in *CrossNamespaceResourceReference) DeepCopy() *CrossNamespaceResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CrossNamespaceResourceReference.
func (*CrossNamespaceResourceReference) DeepCopyInto ¶ added in v0.0.6
func (in *CrossNamespaceResourceReference) DeepCopyInto(out *CrossNamespaceResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentSpec ¶
type DeploymentSpec struct { // Number of desired pods. This is a pointer to distinguish between explicit // zero and not specified. Defaults to 1. // +optional Replicas *int32 `json:"replicas,omitempty"` // Template describes the pods that will be created. // The only allowed template.spec.restartPolicy value is "Always". Template corev1.PodTemplateSpec `json:"template"` // The deployment strategy to use to replace existing pods with new ones. // +optional // +patchStrategy=retainKeys Strategy appsv1.DeploymentStrategy `json:"strategy,omitempty" patchStrategy:"retainKeys"` // Minimum number of seconds for which a newly created pod should be ready // without any of its container crashing, for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) // +optional MinReadySeconds int32 `json:"minReadySeconds,omitempty"` // The number of old ReplicaSets to retain to allow rollback. // This is a pointer to distinguish between explicit zero and not specified. // Defaults to 10. // +optional RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty"` // Indicates that the deployment is paused. // +optional Paused bool `json:"paused,omitempty"` // The maximum time in seconds for a deployment to make progress before it // is considered to be failed. The deployment controller will continue to // process failed deployments and a condition with a ProgressDeadlineExceeded // reason will be surfaced in the deployment status. Note that progress will // not be estimated during the time a deployment is paused. Defaults to 600s. ProgressDeadlineSeconds *int32 `json:"progressDeadlineSeconds,omitempty"` }
func (*DeploymentSpec) DeepCopy ¶
func (in *DeploymentSpec) DeepCopy() *DeploymentSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentSpec.
func (*DeploymentSpec) DeepCopyInto ¶
func (in *DeploymentSpec) DeepCopyInto(out *DeploymentSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type DeploymentTemplate ¶
type DeploymentTemplate struct { // Standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // +optional ObjectMetadata `json:"metadata,omitempty"` // Specification of the desired behavior of the pod. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status // +optional Spec DeploymentSpec `json:"spec,omitempty"` }
func (*DeploymentTemplate) DeepCopy ¶
func (in *DeploymentTemplate) DeepCopy() *DeploymentTemplate
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DeploymentTemplate.
func (*DeploymentTemplate) DeepCopyInto ¶
func (in *DeploymentTemplate) DeepCopyInto(out *DeploymentTemplate)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type Descriptor ¶
func (*Descriptor) DeepCopy ¶
func (in *Descriptor) DeepCopy() *Descriptor
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Descriptor.
func (*Descriptor) DeepCopyInto ¶
func (in *Descriptor) DeepCopyInto(out *Descriptor)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ObjectMetadata ¶
type ObjectMetadata struct { // Map of string keys and values that can be used to organize and categorize // (scope and select) objects. May match selectors of replication controllers // and services. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels // +optional Labels map[string]string `json:"labels,omitempty"` // Annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/annotations // +optional Annotations map[string]string `json:"annotations,omitempty"` }
func (*ObjectMetadata) DeepCopy ¶
func (in *ObjectMetadata) DeepCopy() *ObjectMetadata
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ObjectMetadata.
func (*ObjectMetadata) DeepCopyInto ¶
func (in *ObjectMetadata) DeepCopyInto(out *ObjectMetadata)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitRule ¶
type RateLimitRule struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RateLimitRuleSpec `json:"spec,omitempty"` }
+kubebuilder:object:root=true +kubebuilder:subresource:status
func (*RateLimitRule) DeepCopy ¶
func (in *RateLimitRule) DeepCopy() *RateLimitRule
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRule.
func (*RateLimitRule) DeepCopyInto ¶
func (in *RateLimitRule) DeepCopyInto(out *RateLimitRule)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitRule) DeepCopyObject ¶
func (in *RateLimitRule) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitRuleList ¶
type RateLimitRuleList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RateLimitRule `json:"items"` }
RateLimitRuleList contains a list of RateLimitRule. +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*RateLimitRuleList) DeepCopy ¶
func (in *RateLimitRuleList) DeepCopy() *RateLimitRuleList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRuleList.
func (*RateLimitRuleList) DeepCopyInto ¶
func (in *RateLimitRuleList) DeepCopyInto(out *RateLimitRuleList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitRuleList) DeepCopyObject ¶
func (in *RateLimitRuleList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitRuleSpec ¶
type RateLimitRuleSpec struct { Domain string `json:"domain"` // +kubebuilder:validation:Enum=second;minute;hour;day;month;year Unit string `json:"unit,omitempty"` RequestsPerUnit uint32 `json:"requestsPerUnit,omitempty"` Unlimited bool `json:"unlimited,omitempty"` Replaces []CrossNamespaceResourceReference `json:"replaces,omitempty"` Descriptors []Descriptor `json:"descriptors"` ShadowMode bool `json:"shadowMode,omitempty"` DetailedMetric bool `json:"detailedMetric,omitempty"` }
RateLimitRuleSpec defines the desired state of RateLimitRule.
func (*RateLimitRuleSpec) DeepCopy ¶
func (in *RateLimitRuleSpec) DeepCopy() *RateLimitRuleSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitRuleSpec.
func (*RateLimitRuleSpec) DeepCopyInto ¶
func (in *RateLimitRuleSpec) DeepCopyInto(out *RateLimitRuleSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitService ¶
type RateLimitService struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec RateLimitServiceSpec `json:"spec,omitempty"` Status RateLimitServiceStatus `json:"status,omitempty"` }
RateLimitService is the Schema for the RateLimitServices API
func RateLimitServiceReady ¶
func RateLimitServiceReady(realm RateLimitService, status metav1.ConditionStatus, reason, message string) RateLimitService
func RateLimitServiceReconciling ¶
func RateLimitServiceReconciling(realm RateLimitService, status metav1.ConditionStatus, reason, message string) RateLimitService
func (*RateLimitService) DeepCopy ¶
func (in *RateLimitService) DeepCopy() *RateLimitService
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitService.
func (*RateLimitService) DeepCopyInto ¶
func (in *RateLimitService) DeepCopyInto(out *RateLimitService)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitService) DeepCopyObject ¶
func (in *RateLimitService) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*RateLimitService) GetConditions ¶
func (in *RateLimitService) GetConditions() []metav1.Condition
func (*RateLimitService) GetStatusConditions ¶
func (in *RateLimitService) GetStatusConditions() *[]metav1.Condition
GetStatusConditions returns a pointer to the Status.Conditions slice
func (*RateLimitService) SetConditions ¶
func (in *RateLimitService) SetConditions(conditions []metav1.Condition)
type RateLimitServiceList ¶
type RateLimitServiceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []RateLimitService `json:"items"` }
RateLimitServiceList contains a list of RateLimitService
func (*RateLimitServiceList) DeepCopy ¶
func (in *RateLimitServiceList) DeepCopy() *RateLimitServiceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitServiceList.
func (*RateLimitServiceList) DeepCopyInto ¶
func (in *RateLimitServiceList) DeepCopyInto(out *RateLimitServiceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*RateLimitServiceList) DeepCopyObject ¶
func (in *RateLimitServiceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type RateLimitServiceSpec ¶
type RateLimitServiceSpec struct { DeploymentTemplate *DeploymentTemplate `json:"deploymentTemplate,omitempty"` // Suspend reconciliation // +optional Suspend bool `json:"suspend,omitempty"` // DescriptorSelector defines a selector to select ratelimit rules associated with this service RuleSelector *metav1.LabelSelector `json:"ruleSelector,omitempty"` // NamespaceSelector defines a selector to select namespaces where rules are looked up NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"` }
RateLimitServiceSpec defines the desired state of RateLimitService
func (*RateLimitServiceSpec) DeepCopy ¶
func (in *RateLimitServiceSpec) DeepCopy() *RateLimitServiceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitServiceSpec.
func (*RateLimitServiceSpec) DeepCopyInto ¶
func (in *RateLimitServiceSpec) DeepCopyInto(out *RateLimitServiceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type RateLimitServiceStatus ¶
type RateLimitServiceStatus struct { // Conditions holds the conditions for the RateLimitService. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` // ObservedGeneration is the last generation reconciled by the controller ObservedGeneration int64 `json:"observedGeneration,omitempty"` // SubResourceCatalog holds discovered references to all sub resources including Descriptors associated with this service SubResourceCatalog []ResourceReference `json:"subResourceCatalog,omitempty"` }
RateLimitServiceStatus defines the observed state of RateLimitService
func (*RateLimitServiceStatus) DeepCopy ¶
func (in *RateLimitServiceStatus) DeepCopy() *RateLimitServiceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new RateLimitServiceStatus.
func (*RateLimitServiceStatus) DeepCopyInto ¶
func (in *RateLimitServiceStatus) DeepCopyInto(out *RateLimitServiceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ResourceReference ¶
type ResourceReference struct { Kind string `json:"kind,omitempty"` Name string `json:"name,omitempty"` Namespace string `json:"namespace,omitempty"` APIVersion string `json:"apiVersion,omitempty"` }
ResourceReference metadata to lookup another resource
func (*ResourceReference) DeepCopy ¶
func (in *ResourceReference) DeepCopy() *ResourceReference
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.
func (*ResourceReference) DeepCopyInto ¶
func (in *ResourceReference) DeepCopyInto(out *ResourceReference)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.