apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.11.4 name: dosprotectedresources.appprotectdos.f5.com spec: group: appprotectdos.f5.com names: kind: DosProtectedResource listKind: DosProtectedResourceList plural: dosprotectedresources shortNames: - pr singular: dosprotectedresource scope: Namespaced versions: - name: v1beta1 schema: openAPIV3Schema: description: DosProtectedResource defines a Dos protected resource. type: object properties: apiVersion: description: 'APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources' type: string kind: description: 'Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds' type: string metadata: type: object spec: description: DosProtectedResourceSpec defines the properties and values a DosProtectedResource can have. type: object properties: apDosMonitor: description: 'ApDosMonitor is how NGINX App Protect DoS monitors the stress level of the protected object. The monitor requests are sent from localhost (127.0.0.1). Default value: URI - None, protocol - http1, timeout - NGINX App Protect DoS default.' type: object properties: protocol: description: Protocol determines if the server listens on http1 / http2 / grpc / websocket. The default is http1. type: string enum: - http1 - http2 - grpc - websocket timeout: description: Timeout determines how long (in seconds) should NGINX App Protect DoS wait for a response. Default is 10 seconds for http1/http2 and 5 seconds for grpc. type: integer format: int64 uri: description: 'URI is the destination to the desired protected object in the nginx.conf:' type: string apDosPolicy: description: ApDosPolicy is the namespace/name of a ApDosPolicy resource type: string dosAccessLogDest: description: DosAccessLogDest is the network address for the access logs type: string dosSecurityLog: description: DosSecurityLog defines the security log of the DosProtectedResource. type: object properties: apDosLogConf: description: ApDosLogConf is the namespace/name of a APDosLogConf resource type: string dosLogDest: description: DosLogDest is the network address of a logging service, can be either IP or DNS name. type: string enable: description: Enable enables the security logging feature if set to true type: boolean enable: description: Enable enables the DOS feature if set to true type: boolean name: description: Name is the name of protected object, max of 63 characters. type: string served: true storage: true