// +build !ignore_autogenerated

// Unless explicitly stated otherwise all files in this repository are licensed
// under the Apache License Version 2.0.
// This product includes software developed at Datadog (https://www.datadoghq.com/).
// Copyright 2016-2019 Datadog, Inc.

// Code generated by openapi-gen. DO NOT EDIT.

// This file was autogenerated by openapi-gen. Do not edit it manually!

package v1alpha1

import (
	spec "github.com/go-openapi/spec"
	common "k8s.io/kube-openapi/pkg/common"
)

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
	return map[string]common.OpenAPIDefinition{
		"./pkg/apis/datadoghq/v1alpha1.APMSpec":                                 schema_pkg_apis_datadoghq_v1alpha1_APMSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.AdmissionControllerConfig":               schema_pkg_apis_datadoghq_v1alpha1_AdmissionControllerConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.AgentCredentials":                        schema_pkg_apis_datadoghq_v1alpha1_AgentCredentials(ref),
		"./pkg/apis/datadoghq/v1alpha1.CRISocketConfig":                         schema_pkg_apis_datadoghq_v1alpha1_CRISocketConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.ClusterAgentConfig":                      schema_pkg_apis_datadoghq_v1alpha1_ClusterAgentConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.ClusterChecksRunnerConfig":               schema_pkg_apis_datadoghq_v1alpha1_ClusterChecksRunnerConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.ConfigDirSpec":                           schema_pkg_apis_datadoghq_v1alpha1_ConfigDirSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.ConfigFileConfigMapSpec":                 schema_pkg_apis_datadoghq_v1alpha1_ConfigFileConfigMapSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec":                        schema_pkg_apis_datadoghq_v1alpha1_CustomConfigSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.DaemonSetDeploymentStrategy":             schema_pkg_apis_datadoghq_v1alpha1_DaemonSetDeploymentStrategy(ref),
		"./pkg/apis/datadoghq/v1alpha1.DaemonSetRollingUpdateSpec":              schema_pkg_apis_datadoghq_v1alpha1_DaemonSetRollingUpdateSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.DaemonSetStatus":                         schema_pkg_apis_datadoghq_v1alpha1_DaemonSetStatus(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgent":                            schema_pkg_apis_datadoghq_v1alpha1_DatadogAgent(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentCondition":                   schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentCondition(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentList":                        schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentList(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpec":                        schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecAgentSpec":               schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpecAgentSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecClusterAgentSpec":        schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpecClusterAgentSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecClusterChecksRunnerSpec": schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpecClusterChecksRunnerSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogAgentStatus":                      schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentStatus(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogMetric":                           schema_pkg_apis_datadoghq_v1alpha1_DatadogMetric(ref),
		"./pkg/apis/datadoghq/v1alpha1.DatadogMetricCondition":                  schema_pkg_apis_datadoghq_v1alpha1_DatadogMetricCondition(ref),
		"./pkg/apis/datadoghq/v1alpha1.DeploymentStatus":                        schema_pkg_apis_datadoghq_v1alpha1_DeploymentStatus(ref),
		"./pkg/apis/datadoghq/v1alpha1.DogstatsdConfig":                         schema_pkg_apis_datadoghq_v1alpha1_DogstatsdConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.ExternalMetricsConfig":                   schema_pkg_apis_datadoghq_v1alpha1_ExternalMetricsConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.ImageConfig":                             schema_pkg_apis_datadoghq_v1alpha1_ImageConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.LogSpec":                                 schema_pkg_apis_datadoghq_v1alpha1_LogSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.NodeAgentConfig":                         schema_pkg_apis_datadoghq_v1alpha1_NodeAgentConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.ProcessSpec":                             schema_pkg_apis_datadoghq_v1alpha1_ProcessSpec(ref),
		"./pkg/apis/datadoghq/v1alpha1.RbacConfig":                              schema_pkg_apis_datadoghq_v1alpha1_RbacConfig(ref),
		"./pkg/apis/datadoghq/v1alpha1.Secret":                                  schema_pkg_apis_datadoghq_v1alpha1_Secret(ref),
		"./pkg/apis/datadoghq/v1alpha1.SystemProbeSpec":                         schema_pkg_apis_datadoghq_v1alpha1_SystemProbeSpec(ref),
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_APMSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "APMSpec contains the Trace Agent configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"enabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable this to enable APM and tracing, on port 8126 ref: https://github.com/DataDog/docker-dd-agent#tracing-from-the-host",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"hostPort": {
						SchemaProps: spec.SchemaProps{
							Description: "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "The Datadog Agent supports many environment variables Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"resources": {
						SchemaProps: spec.SchemaProps{
							Description: "Datadog APM Agent resource requests and limits Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class Ref: http://kubernetes.io/docs/user-guide/compute-resources/",
							Ref:         ref("k8s.io/api/core/v1.ResourceRequirements"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.ResourceRequirements"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_AdmissionControllerConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "AdmissionControllerConfig contains the configuration of the admission controller in Cluster Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"enabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable the admission controller to be able to inject APM/Dogstatsd config and standard tags (env, service, version) automatically into your pods",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"mutateUnlabelled": {
						SchemaProps: spec.SchemaProps{
							Description: "MutateUnlabelled enables injecting config without having the pod label 'admission.datadoghq.com/enabled=\"true\"'",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"serviceName": {
						SchemaProps: spec.SchemaProps{
							Description: "ServiceName corresponds to the webhook service name",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_AgentCredentials(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "AgentCredentials contains credentials values to configure the Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"apiKey": {
						SchemaProps: spec.SchemaProps{
							Description: "APIKey Set this to your Datadog API key before the Agent runs. ref: https://app.datadoghq.com/account/settings#agent/kubernetes",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"apiKeyExistingSecret": {
						SchemaProps: spec.SchemaProps{
							Description: "APIKeyExistingSecret is DEPRECATED. In order to pass the API key through an existing secret, please consider \"apiSecret\" instead. If set, this parameter takes precedence over \"apiKey\".",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"apiSecret": {
						SchemaProps: spec.SchemaProps{
							Description: "APISecret Use existing Secret which stores API key instead of creating a new one. If set, this parameter takes precedence over \"apiKey\" and \"apiKeyExistingSecret\".",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.Secret"),
						},
					},
					"appKey": {
						SchemaProps: spec.SchemaProps{
							Description: "If you are using clusterAgent.metricsProvider.enabled = true, you must set a Datadog application key for read access to your metrics.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"appKeyExistingSecret": {
						SchemaProps: spec.SchemaProps{
							Description: "AppKeyExistingSecret is DEPRECATED. In order to pass the APP key through an existing secret, please consider \"appSecret\" instead. If set, this parameter takes precedence over \"appKey\".",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"appSecret": {
						SchemaProps: spec.SchemaProps{
							Description: "APPSecret Use existing Secret which stores API key instead of creating a new one. If set, this parameter takes precedence over \"apiKey\" and \"appKeyExistingSecret\".",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.Secret"),
						},
					},
					"token": {
						SchemaProps: spec.SchemaProps{
							Description: "This needs to be at least 32 characters a-zA-z It is a preshared key between the node agents and the cluster agent",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"useSecretBackend": {
						SchemaProps: spec.SchemaProps{
							Description: "UseSecretBackend use the Agent secret backend feature for retreiving all credentials needed by the different components: Agent, Cluster, Cluster-Checks. If `useSecretBackend: true`, other credential parameters will be ignored. default value is false.",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.Secret"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_CRISocketConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "CRISocketConfig contains the CRI socket configuration parameters",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"dockerSocketPath": {
						SchemaProps: spec.SchemaProps{
							Description: "Path to the docker runtime socket",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"criSocketPath": {
						SchemaProps: spec.SchemaProps{
							Description: "Path to the container runtime socket (if different from Docker) This is supported starting from agent 6.6.0",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ClusterAgentConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ClusterAgentConfig contains the configuration of the Cluster Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"externalMetrics": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/datadoghq/v1alpha1.ExternalMetricsConfig"),
						},
					},
					"admissionController": {
						SchemaProps: spec.SchemaProps{
							Description: "Configure the Admission Controller",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.AdmissionControllerConfig"),
						},
					},
					"clusterChecksEnabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable the Cluster Checks and Endpoint Checks feature on both the cluster-agents and the daemonset ref: https://docs.datadoghq.com/agent/cluster_agent/clusterchecks/ https://docs.datadoghq.com/agent/cluster_agent/endpointschecks/ Autodiscovery via Kube Service annotations is automatically enabled",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"logLevel": {
						SchemaProps: spec.SchemaProps{
							Description: "Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"resources": {
						SchemaProps: spec.SchemaProps{
							Description: "Datadog cluster-agent resource requests and limits",
							Ref:         ref("k8s.io/api/core/v1.ResourceRequirements"),
						},
					},
					"confd": {
						SchemaProps: spec.SchemaProps{
							Description: "Confd Provide additional cluster check configurations. Each key will become a file in /conf.d see https://docs.datadoghq.com/agent/autodiscovery/ for more details.",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ConfigDirSpec"),
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "The Datadog Agent supports many environment variables Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"volumeMounts": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
									"mountPath",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Specify additional volume mounts in the Datadog Cluster Agent container",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.VolumeMount"),
									},
								},
							},
						},
					},
					"volumes": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Specify additional volumes in the Datadog Cluster Agent container",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.Volume"),
									},
								},
							},
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.AdmissionControllerConfig", "./pkg/apis/datadoghq/v1alpha1.ConfigDirSpec", "./pkg/apis/datadoghq/v1alpha1.ExternalMetricsConfig", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ClusterChecksRunnerConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ClusterChecksRunnerConfig contains the configuration of the Cluster Checks Runner",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"resources": {
						SchemaProps: spec.SchemaProps{
							Description: "Datadog Cluster Checks Runner resource requests and limits",
							Ref:         ref("k8s.io/api/core/v1.ResourceRequirements"),
						},
					},
					"logLevel": {
						SchemaProps: spec.SchemaProps{
							Description: "Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "The Datadog Agent supports many environment variables Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"volumeMounts": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
									"mountPath",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Specify additional volume mounts in the Datadog Cluster Check Runner container",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.VolumeMount"),
									},
								},
							},
						},
					},
					"volumes": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Specify additional volumes in the Datadog Cluster Check Runner container",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.Volume"),
									},
								},
							},
						},
					},
				},
			},
		},
		Dependencies: []string{
			"k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ConfigDirSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ConfigDirSpec contains config file directory configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"configMapName": {
						SchemaProps: spec.SchemaProps{
							Description: "ConfigMapName name of a ConfigMap used to mount a directory",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ConfigFileConfigMapSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ConfigFileConfigMapSpec contains configMap information used to store a config file",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"name": {
						SchemaProps: spec.SchemaProps{
							Description: "Name the ConfigMap name",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"fileKey": {
						SchemaProps: spec.SchemaProps{
							Description: "FileKey corresponds to the key used in the ConfigMap.Data to store the configuration file content",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_CustomConfigSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "CustomConfigSpec Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml or datadog.yaml config file the configuration can be provided in the 'configData' field as raw data, or in a configmap thanks to `configMap` field. Important: `configData` and `configMap` can't be set together.",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"configData": {
						SchemaProps: spec.SchemaProps{
							Description: "ConfigData corresponds to the configuration file content",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"configMap": {
						SchemaProps: spec.SchemaProps{
							Description: "ConfigMap name of a ConfigMap used to mount the configuration file",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ConfigFileConfigMapSpec"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.ConfigFileConfigMapSpec"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DaemonSetDeploymentStrategy(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DaemonSetDeploymentStrategy contains the node Agent deployment configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"updateStrategyType": {
						SchemaProps: spec.SchemaProps{
							Description: "The update strategy used for the DaemonSet",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"rollingUpdate": {
						SchemaProps: spec.SchemaProps{
							Description: "Configure the rolling updater strategy of the DaemonSet or the ExtendedDaemonSet",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DaemonSetRollingUpdateSpec"),
						},
					},
					"canary": {
						SchemaProps: spec.SchemaProps{
							Description: "Configure the canary deployment configuration using ExtendedDaemonSet",
							Ref:         ref("github.com/datadog/extendeddaemonset/pkg/apis/datadoghq/v1alpha1.ExtendedDaemonSetSpecStrategyCanary"),
						},
					},
					"reconcileFrequency": {
						SchemaProps: spec.SchemaProps{
							Description: "The reconcile frequency of the ExtendDaemonSet",
							Ref:         ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.DaemonSetRollingUpdateSpec", "github.com/datadog/extendeddaemonset/pkg/apis/datadoghq/v1alpha1.ExtendedDaemonSetSpecStrategyCanary", "k8s.io/apimachinery/pkg/apis/meta/v1.Duration"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DaemonSetRollingUpdateSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DaemonSetRollingUpdateSpec contains configuration fields of the rolling update strategy The configuration is shared between DaemonSet and ExtendedDaemonSet",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"maxUnavailable": {
						SchemaProps: spec.SchemaProps{
							Description: "The maximum number of DaemonSet pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up. This cannot be 0. Default value is 1.",
							Ref:         ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"),
						},
					},
					"maxPodSchedulerFailure": {
						SchemaProps: spec.SchemaProps{
							Description: "MaxPodSchedulerFailure the maxinum number of not scheduled on its Node due to a scheduler failure: resource constraints. Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Absolute",
							Ref:         ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"),
						},
					},
					"maxParallelPodCreation": {
						SchemaProps: spec.SchemaProps{
							Description: "The maxium number of pods created in parallel. Default value is 250.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"slowStartIntervalDuration": {
						SchemaProps: spec.SchemaProps{
							Description: "SlowStartIntervalDuration the duration between to 2 Default value is 1min.",
							Ref:         ref("k8s.io/apimachinery/pkg/apis/meta/v1.Duration"),
						},
					},
					"slowStartAdditiveIncrease": {
						SchemaProps: spec.SchemaProps{
							Description: "SlowStartAdditiveIncrease Value can be an absolute number (ex: 5) or a percentage of total number of DaemonSet pods at the start of the update (ex: 10%). Default value is 5.",
							Ref:         ref("k8s.io/apimachinery/pkg/util/intstr.IntOrString"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"k8s.io/apimachinery/pkg/apis/meta/v1.Duration", "k8s.io/apimachinery/pkg/util/intstr.IntOrString"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DaemonSetStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DaemonSetStatus defines the observed state of Agent running as DaemonSet",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"desired": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"integer"},
							Format: "int32",
						},
					},
					"current": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"integer"},
							Format: "int32",
						},
					},
					"ready": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"integer"},
							Format: "int32",
						},
					},
					"available": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"integer"},
							Format: "int32",
						},
					},
					"upToDate": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"integer"},
							Format: "int32",
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"string"},
							Format: "",
						},
					},
					"state": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"string"},
							Format: "",
						},
					},
					"lastUpdate": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
						},
					},
					"currentHash": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"string"},
							Format: "",
						},
					},
					"daemonsetName": {
						SchemaProps: spec.SchemaProps{
							Description: "DaemonsetName corresponds to the name of the created DaemonSet",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
				Required: []string{"desired", "current", "ready", "available", "upToDate"},
			},
		},
		Dependencies: []string{
			"k8s.io/apimachinery/pkg/apis/meta/v1.Time"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgent(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgent Deployment with Datadog Operator",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"kind": {
						SchemaProps: spec.SchemaProps{
							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{"string"},
							Format:      "",
						},
					},
					"apiVersion": {
						SchemaProps: spec.SchemaProps{
							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{"string"},
							Format:      "",
						},
					},
					"metadata": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"),
						},
					},
					"spec": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpec"),
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgentStatus"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpec", "./pkg/apis/datadoghq/v1alpha1.DatadogAgentStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentCondition(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentCondition describes the state of a DatadogAgent at a certain point.",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"type": {
						SchemaProps: spec.SchemaProps{
							Description: "Type of DatadogAgent condition.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Description: "Status of the condition, one of True, False, Unknown.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"lastTransitionTime": {
						SchemaProps: spec.SchemaProps{
							Description: "Last time the condition transitioned from one status to another.",
							Ref:         ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
						},
					},
					"lastUpdateTime": {
						SchemaProps: spec.SchemaProps{
							Description: "Last time the condition was updated.",
							Ref:         ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
						},
					},
					"reason": {
						SchemaProps: spec.SchemaProps{
							Description: "The reason for the condition's last transition.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"message": {
						SchemaProps: spec.SchemaProps{
							Description: "A human readable message indicating details about the transition.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
				Required: []string{"type", "status"},
			},
		},
		Dependencies: []string{
			"k8s.io/apimachinery/pkg/apis/meta/v1.Time"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentList(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentList contains a list of DatadogAgent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"kind": {
						SchemaProps: spec.SchemaProps{
							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{"string"},
							Format:      "",
						},
					},
					"apiVersion": {
						SchemaProps: spec.SchemaProps{
							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{"string"},
							Format:      "",
						},
					},
					"metadata": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"),
						},
					},
					"items": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-type": "atomic",
							},
						},
						SchemaProps: spec.SchemaProps{
							Type: []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgent"),
									},
								},
							},
						},
					},
				},
				Required: []string{"items"},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.DatadogAgent", "k8s.io/apimachinery/pkg/apis/meta/v1.ListMeta"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentSpec defines the desired state of DatadogAgent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"credentials": {
						SchemaProps: spec.SchemaProps{
							Description: "Configure the credentials required to run Agents",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.AgentCredentials"),
						},
					},
					"agent": {
						SchemaProps: spec.SchemaProps{
							Description: "The desired state of the Agent as an extended daemonset Contains the Node Agent configuration and deployment strategy",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecAgentSpec"),
						},
					},
					"clusterAgent": {
						SchemaProps: spec.SchemaProps{
							Description: "The desired state of the Cluster Agent as a deployment",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecClusterAgentSpec"),
						},
					},
					"clusterChecksRunner": {
						SchemaProps: spec.SchemaProps{
							Description: "The desired state of the Cluster Checks Runner as a deployment",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecClusterChecksRunnerSpec"),
						},
					},
					"clusterName": {
						SchemaProps: spec.SchemaProps{
							Description: "Set a unique cluster name to allow scoping hosts and Cluster Checks Runner easily",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"site": {
						SchemaProps: spec.SchemaProps{
							Description: "The site of the Datadog intake to send Agent data to. Set to 'datadoghq.eu' to send data to the EU site.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
				Required: []string{"credentials"},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.AgentCredentials", "./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecAgentSpec", "./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecClusterAgentSpec", "./pkg/apis/datadoghq/v1alpha1.DatadogAgentSpecClusterChecksRunnerSpec"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpecAgentSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentSpecAgentSpec defines the desired state of the node Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"useExtendedDaemonset": {
						SchemaProps: spec.SchemaProps{
							Description: "UseExtendedDaemonset use ExtendedDaemonset for Agent deployment. default value is false.",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"image": {
						SchemaProps: spec.SchemaProps{
							Description: "The container image of the Datadog Agent",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ImageConfig"),
						},
					},
					"daemonsetName": {
						SchemaProps: spec.SchemaProps{
							Description: "Name of the Daemonset to create or migrate from",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"config": {
						SchemaProps: spec.SchemaProps{
							Description: "Agent configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.NodeAgentConfig"),
						},
					},
					"rbac": {
						SchemaProps: spec.SchemaProps{
							Description: "RBAC configuration of the Agent",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.RbacConfig"),
						},
					},
					"deploymentStrategy": {
						SchemaProps: spec.SchemaProps{
							Description: "Update strategy configuration for the DaemonSet",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DaemonSetDeploymentStrategy"),
						},
					},
					"additionalAnnotations": {
						SchemaProps: spec.SchemaProps{
							Description: "AdditionalAnnotations provide annotations that will be added to the Agent Pods.",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"additionalLabels": {
						SchemaProps: spec.SchemaProps{
							Description: "AdditionalLabels provide labels that will be added to the cluster checks runner Pods.",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"priorityClassName": {
						SchemaProps: spec.SchemaProps{
							Description: "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"dnsPolicy": {
						SchemaProps: spec.SchemaProps{
							Description: "Set DNS policy for the pod. Defaults to \"ClusterFirst\". Valid values are 'ClusterFirstWithHostNet', 'ClusterFirst', 'Default' or 'None'. DNS parameters given in DNSConfig will be merged with the policy selected with DNSPolicy. To have DNS options set along with hostNetwork, you have to specify DNS policy explicitly to 'ClusterFirstWithHostNet'.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"dnsConfig": {
						SchemaProps: spec.SchemaProps{
							Description: "Specifies the DNS parameters of a pod. Parameters specified here will be merged to the generated DNS configuration based on DNSPolicy.",
							Ref:         ref("k8s.io/api/core/v1.PodDNSConfig"),
						},
					},
					"hostNetwork": {
						SchemaProps: spec.SchemaProps{
							Description: "Host networking requested for this pod. Use the host's network namespace. If this option is set, the ports that will be used must be specified. Default to false.",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"hostPID": {
						SchemaProps: spec.SchemaProps{
							Description: "Use the host's pid namespace. Optional: Default to false.",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Environment variables for all Datadog Agents Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"apm": {
						SchemaProps: spec.SchemaProps{
							Description: "Trace Agent configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.APMSpec"),
						},
					},
					"log": {
						SchemaProps: spec.SchemaProps{
							Description: "Log Agent configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.LogSpec"),
						},
					},
					"process": {
						SchemaProps: spec.SchemaProps{
							Description: "Process Agent configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ProcessSpec"),
						},
					},
					"systemProbe": {
						SchemaProps: spec.SchemaProps{
							Description: "SystemProbe configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.SystemProbeSpec"),
						},
					},
					"customConfig": {
						SchemaProps: spec.SchemaProps{
							Description: "Allow to put custom configuration for the agent, corresponding to the datadog.yaml config file See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec"),
						},
					},
				},
				Required: []string{"image"},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.APMSpec", "./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec", "./pkg/apis/datadoghq/v1alpha1.DaemonSetDeploymentStrategy", "./pkg/apis/datadoghq/v1alpha1.ImageConfig", "./pkg/apis/datadoghq/v1alpha1.LogSpec", "./pkg/apis/datadoghq/v1alpha1.NodeAgentConfig", "./pkg/apis/datadoghq/v1alpha1.ProcessSpec", "./pkg/apis/datadoghq/v1alpha1.RbacConfig", "./pkg/apis/datadoghq/v1alpha1.SystemProbeSpec", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.PodDNSConfig"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpecClusterAgentSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentSpecClusterAgentSpec defines the desired state of the cluster Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"image": {
						SchemaProps: spec.SchemaProps{
							Description: "The container image of the Datadog Cluster Agent",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ImageConfig"),
						},
					},
					"deploymentName": {
						SchemaProps: spec.SchemaProps{
							Description: "Name of the Cluster Agent Deployment to create or migrate from",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"config": {
						SchemaProps: spec.SchemaProps{
							Description: "Cluster Agent configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ClusterAgentConfig"),
						},
					},
					"customConfig": {
						SchemaProps: spec.SchemaProps{
							Description: "Allow to put custom configuration for the agent, corresponding to the datadog-cluster.yaml config file",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec"),
						},
					},
					"rbac": {
						SchemaProps: spec.SchemaProps{
							Description: "RBAC configuration of the Datadog Cluster Agent",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.RbacConfig"),
						},
					},
					"replicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Number of the Cluster Agent replicas",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"additionalAnnotations": {
						SchemaProps: spec.SchemaProps{
							Description: "AdditionalAnnotations provide annotations that will be added to the cluster-agent Pods.",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"additionalLabels": {
						SchemaProps: spec.SchemaProps{
							Description: "AdditionalLabels provide labels that will be added to the cluster checks runner Pods.",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"priorityClassName": {
						SchemaProps: spec.SchemaProps{
							Description: "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"affinity": {
						SchemaProps: spec.SchemaProps{
							Description: "If specified, the pod's scheduling constraints",
							Ref:         ref("k8s.io/api/core/v1.Affinity"),
						},
					},
					"tolerations": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-type": "atomic",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "If specified, the Cluster-Agent pod's tolerations.",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.Toleration"),
									},
								},
							},
						},
					},
					"nodeSelector": {
						SchemaProps: spec.SchemaProps{
							Description: "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
				},
				Required: []string{"image"},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.ClusterAgentConfig", "./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec", "./pkg/apis/datadoghq/v1alpha1.ImageConfig", "./pkg/apis/datadoghq/v1alpha1.RbacConfig", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Toleration"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentSpecClusterChecksRunnerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentSpecClusterChecksRunnerSpec defines the desired state of the Cluster Checks Runner",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"image": {
						SchemaProps: spec.SchemaProps{
							Description: "The container image of the Datadog Cluster Checks Runner",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ImageConfig"),
						},
					},
					"deploymentName": {
						SchemaProps: spec.SchemaProps{
							Description: "Name of the cluster checks deployment to create or migrate from",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"config": {
						SchemaProps: spec.SchemaProps{
							Description: "Agent configuration",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ClusterChecksRunnerConfig"),
						},
					},
					"customConfig": {
						SchemaProps: spec.SchemaProps{
							Description: "Allow to put custom configuration for the agent, corresponding to the datadog.yaml config file See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec"),
						},
					},
					"rbac": {
						SchemaProps: spec.SchemaProps{
							Description: "RBAC configuration of the Datadog Cluster Checks Runner",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.RbacConfig"),
						},
					},
					"replicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Number of the Cluster Agent replicas",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"additionalAnnotations": {
						SchemaProps: spec.SchemaProps{
							Description: "AdditionalAnnotations provide annotations that will be added to the cluster checks runner Pods.",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"additionalLabels": {
						SchemaProps: spec.SchemaProps{
							Description: "AdditionalLabels provide labels that will be added to the cluster checks runner Pods.",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"priorityClassName": {
						SchemaProps: spec.SchemaProps{
							Description: "If specified, indicates the pod's priority. \"system-node-critical\" and \"system-cluster-critical\" are two special keywords which indicate the highest priorities with the former being the highest priority. Any other name must be defined by creating a PriorityClass object with that name. If not specified, the pod priority will be default or zero if there is no default.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"affinity": {
						SchemaProps: spec.SchemaProps{
							Description: "If specified, the pod's scheduling constraints",
							Ref:         ref("k8s.io/api/core/v1.Affinity"),
						},
					},
					"tolerations": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-type": "atomic",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "If specified, the Cluster-Checks pod's tolerations.",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.Toleration"),
									},
								},
							},
						},
					},
					"nodeSelector": {
						SchemaProps: spec.SchemaProps{
							Description: "NodeSelector is a selector which must be true for the pod to fit on a node. Selector which must match a node's labels for the pod to be scheduled on that node. More info: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
				},
				Required: []string{"image"},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.ClusterChecksRunnerConfig", "./pkg/apis/datadoghq/v1alpha1.CustomConfigSpec", "./pkg/apis/datadoghq/v1alpha1.ImageConfig", "./pkg/apis/datadoghq/v1alpha1.RbacConfig", "k8s.io/api/core/v1.Affinity", "k8s.io/api/core/v1.Toleration"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogAgentStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogAgentStatus defines the observed state of DatadogAgent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"agent": {
						SchemaProps: spec.SchemaProps{
							Description: "The actual state of the Agent as an extended daemonset",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DaemonSetStatus"),
						},
					},
					"clusterAgent": {
						SchemaProps: spec.SchemaProps{
							Description: "The actual state of the Cluster Agent as a deployment",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DeploymentStatus"),
						},
					},
					"clusterChecksRunner": {
						SchemaProps: spec.SchemaProps{
							Description: "The actual state of the Cluster Checks Runner as a deployment",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DeploymentStatus"),
						},
					},
					"conditions": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"type",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Conditions Represents the latest available observations of a DatadogAgent's current state.",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("./pkg/apis/datadoghq/v1alpha1.DatadogAgentCondition"),
									},
								},
							},
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.DaemonSetStatus", "./pkg/apis/datadoghq/v1alpha1.DatadogAgentCondition", "./pkg/apis/datadoghq/v1alpha1.DeploymentStatus"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogMetric(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogMetric is the Schema for the datadogmetrics API",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"kind": {
						SchemaProps: spec.SchemaProps{
							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{"string"},
							Format:      "",
						},
					},
					"apiVersion": {
						SchemaProps: spec.SchemaProps{
							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{"string"},
							Format:      "",
						},
					},
					"metadata": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"),
						},
					},
					"spec": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/datadoghq/v1alpha1.DatadogMetricSpec"),
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/datadoghq/v1alpha1.DatadogMetricStatus"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.DatadogMetricSpec", "./pkg/apis/datadoghq/v1alpha1.DatadogMetricStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DatadogMetricCondition(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DatadogMetricCondition describes the state of a DatadogMetric at a certain point.",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"type": {
						SchemaProps: spec.SchemaProps{
							Description: "Type of DatadogMetric condition.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Description: "Status of the condition, one of True, False, Unknown.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"lastTransitionTime": {
						SchemaProps: spec.SchemaProps{
							Description: "Last time the condition transitioned from one status to another.",
							Ref:         ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
						},
					},
					"lastUpdateTime": {
						SchemaProps: spec.SchemaProps{
							Description: "Last time the condition was updated.",
							Ref:         ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
						},
					},
					"reason": {
						SchemaProps: spec.SchemaProps{
							Description: "The reason for the condition's last transition.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"message": {
						SchemaProps: spec.SchemaProps{
							Description: "A human readable message indicating details about the transition.",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
				Required: []string{"type", "status"},
			},
		},
		Dependencies: []string{
			"k8s.io/apimachinery/pkg/apis/meta/v1.Time"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DeploymentStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DeploymentStatus type representing the Cluster Agent Deployment status",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"replicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Total number of non-terminated pods targeted by this deployment (their labels match the selector).",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"updatedReplicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Total number of non-terminated pods targeted by this deployment that have the desired template spec.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"readyReplicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Total number of ready pods targeted by this deployment.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"availableReplicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Total number of available pods (ready for at least minReadySeconds) targeted by this deployment.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"unavailableReplicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Total number of unavailable pods targeted by this deployment. This is the total number of pods that are still required for the deployment to have 100% available capacity. They may either be pods that are running but not yet available or pods that still have not been created.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"lastUpdate": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("k8s.io/apimachinery/pkg/apis/meta/v1.Time"),
						},
					},
					"currentHash": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"string"},
							Format: "",
						},
					},
					"generatedToken": {
						SchemaProps: spec.SchemaProps{
							Description: "GeneratedToken corresponds to the generated token if any token was provided in the Credential configuration when ClusterAgent is enabled",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Description: "Status corresponds to the ClusterAgent deployment computed status",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"state": {
						SchemaProps: spec.SchemaProps{
							Description: "State corresponds to the ClusterAgent deployment state",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"deploymentName": {
						SchemaProps: spec.SchemaProps{
							Description: "DeploymentName corresponds to the name of the Cluster Agent Deployment",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
		Dependencies: []string{
			"k8s.io/apimachinery/pkg/apis/meta/v1.Time"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_DogstatsdConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "DogstatsdConfig contains the Dogstatsd configuration parameters",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"dogstatsdOriginDetection": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable origin detection for container tagging https://docs.datadoghq.com/developers/dogstatsd/unix_socket/#using-origin-detection-for-container-tagging",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"useDogStatsDSocketVolume": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable dogstatsd over Unix Domain Socket ref: https://docs.datadoghq.com/developers/dogstatsd/unix_socket/",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ExternalMetricsConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ExternalMetricsConfig contains the configuration of the external metrics provider in Cluster Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"enabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable the metricsProvider to be able to scale based on metrics in Datadog",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"useDatadogMetrics": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable usage of DatadogMetrics CRD (allow to scale on arbitrary queries)",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"port": {
						SchemaProps: spec.SchemaProps{
							Description: "If specified configures the metricsProvider external metrics service port",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ImageConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ImageConfig Datadog agent container image config",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"name": {
						SchemaProps: spec.SchemaProps{
							Description: "Define the image to use Use \"datadog/agent:latest\" for Datadog Agent 6 Use \"datadog/dogstatsd:latest\" for Standalone Datadog Agent DogStatsD6 Use \"datadog/cluster-agent:latest\" for Datadog Cluster Agent",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"pullPolicy": {
						SchemaProps: spec.SchemaProps{
							Description: "The Kubernetes pull policy Use Always, Never or IfNotPresent",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"pullSecrets": {
						SchemaProps: spec.SchemaProps{
							Description: "It is possible to specify docker registry credentials See https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.LocalObjectReference"),
									},
								},
							},
						},
					},
				},
				Required: []string{"name"},
			},
		},
		Dependencies: []string{
			"k8s.io/api/core/v1.LocalObjectReference"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_LogSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "LogSpec contains the Log Agent configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"enabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enables this to activate Datadog Agent log collection. ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"logsConfigContainerCollectAll": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable this to allow log collection for all containers. ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"containerCollectUsingFiles": {
						SchemaProps: spec.SchemaProps{
							Description: "Collect logs from files in /var/log/pods instead of using container runtime API. It's usually the most efficient way of collecting logs. ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup Default: true",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"containerLogsPath": {
						SchemaProps: spec.SchemaProps{
							Description: "This to allow log collection from container log path. Set to a different path if not using docker runtime. ref: https://docs.datadoghq.com/agent/kubernetes/daemonset_setup/?tab=k8sfile#create-manifest Default to `/var/lib/docker/containers`",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"podLogsPath": {
						SchemaProps: spec.SchemaProps{
							Description: "This to allow log collection from pod log path. Default to `/var/log/pods`",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"tempStoragePath": {
						SchemaProps: spec.SchemaProps{
							Description: "This path (always mounted from the host) is used by Datadog Agent to store information about processed log files. If the Datadog Agent is restarted, it allows to start tailing the log files from the right offset Default to `/var/lib/datadog-agent/logs`",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"openFilesLimit": {
						SchemaProps: spec.SchemaProps{
							Description: "Set the maximum number of logs files that the Datadog Agent will tail up to. Increasing this limit can increase resource consumption of the Agent. ref: https://docs.datadoghq.com/agent/basic_agent_usage/kubernetes/#log-collection-setup Default to 100",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_NodeAgentConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "NodeAgentConfig contains the configuration of the Node Agent",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"securityContext": {
						SchemaProps: spec.SchemaProps{
							Description: "You can modify the security context used to run the containers by modifying the label type",
							Ref:         ref("k8s.io/api/core/v1.SecurityContext"),
						},
					},
					"ddUrl": {
						SchemaProps: spec.SchemaProps{
							Description: "The host of the Datadog intake server to send Agent data to, only set this option if you need the Agent to send data to a custom URL. Overrides the site setting defined in \"site\".",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"logLevel": {
						SchemaProps: spec.SchemaProps{
							Description: "Set logging verbosity, valid log levels are: trace, debug, info, warn, error, critical, and off",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"confd": {
						SchemaProps: spec.SchemaProps{
							Description: "Confd configuration allowing to specify config files for custom checks placed under /etc/datadog-agent/conf.d/. See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ConfigDirSpec"),
						},
					},
					"checksd": {
						SchemaProps: spec.SchemaProps{
							Description: "Checksd configuration allowing to specify custom checks placed under /etc/datadog-agent/checks.d/ See https://docs.datadoghq.com/agent/guide/agent-configuration-files/?tab=agentv6 for more details.",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.ConfigDirSpec"),
						},
					},
					"podLabelsAsTags": {
						SchemaProps: spec.SchemaProps{
							Description: "Provide a mapping of Kubernetes Labels to Datadog Tags. <KUBERNETES_LABEL>: <DATADOG_TAG_KEY>",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"podAnnotationsAsTags": {
						SchemaProps: spec.SchemaProps{
							Description: "Provide a mapping of Kubernetes Annotations to Datadog Tags. <KUBERNETES_ANNOTATIONS>: <DATADOG_TAG_KEY>",
							Type:        []string{"object"},
							AdditionalProperties: &spec.SchemaOrBool{
								Allows: true,
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"tags": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-type": "set",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "List of tags to attach to every metric, event and service check collected by this Agent. Learn more about tagging: https://docs.datadoghq.com/tagging/",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Type:   []string{"string"},
										Format: "",
									},
								},
							},
						},
					},
					"collectEvents": {
						SchemaProps: spec.SchemaProps{
							Description: "nables this to start event collection from the kubernetes API ref: https://docs.datadoghq.com/agent/kubernetes/event_collection/",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"leaderElection": {
						SchemaProps: spec.SchemaProps{
							Description: "Enables leader election mechanism for event collection.",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "The Datadog Agent supports many environment variables Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"volumeMounts": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
									"mountPath",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Specify additional volume mounts in the Datadog Agent container",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.VolumeMount"),
									},
								},
							},
						},
					},
					"volumes": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "Specify additional volumes in the Datadog Agent container",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.Volume"),
									},
								},
							},
						},
					},
					"resources": {
						SchemaProps: spec.SchemaProps{
							Description: "Datadog Agent resource requests and limits Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class Ref: http://kubernetes.io/docs/user-guide/compute-resources/",
							Ref:         ref("k8s.io/api/core/v1.ResourceRequirements"),
						},
					},
					"criSocket": {
						SchemaProps: spec.SchemaProps{
							Description: "Configure the CRI Socket",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.CRISocketConfig"),
						},
					},
					"dogstatsd": {
						SchemaProps: spec.SchemaProps{
							Description: "Configure Dogstatsd",
							Ref:         ref("./pkg/apis/datadoghq/v1alpha1.DogstatsdConfig"),
						},
					},
					"tolerations": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-type": "atomic",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "If specified, the Agent pod's tolerations.",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.Toleration"),
									},
								},
							},
						},
					},
					"hostPort": {
						SchemaProps: spec.SchemaProps{
							Description: "Number of port to expose on the host. If specified, this must be a valid port number, 0 < x < 65536. If HostNetwork is specified, this must match ContainerPort. Most containers do not need this.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/datadoghq/v1alpha1.CRISocketConfig", "./pkg/apis/datadoghq/v1alpha1.ConfigDirSpec", "./pkg/apis/datadoghq/v1alpha1.DogstatsdConfig", "k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext", "k8s.io/api/core/v1.Toleration", "k8s.io/api/core/v1.Volume", "k8s.io/api/core/v1.VolumeMount"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_ProcessSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ProcessSpec contains the Process Agent configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"enabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable this to activate live process monitoring. Note: /etc/passwd is automatically mounted to allow username resolution. ref: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "The Datadog Agent supports many environment variables Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"resources": {
						SchemaProps: spec.SchemaProps{
							Description: "Datadog Process Agent resource requests and limits Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class Ref: http://kubernetes.io/docs/user-guide/compute-resources/",
							Ref:         ref("k8s.io/api/core/v1.ResourceRequirements"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.ResourceRequirements"},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_RbacConfig(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "RbacConfig contains RBAC configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"create": {
						SchemaProps: spec.SchemaProps{
							Description: "Used to configure RBAC resources creation",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"serviceAccountName": {
						SchemaProps: spec.SchemaProps{
							Description: "Used to set up the service account name to use Ignored if the field Create is true",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_Secret(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "Secret contains a secret name and an included key",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"secretName": {
						SchemaProps: spec.SchemaProps{
							Description: "SecretName is the name of the secret",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"keyName": {
						SchemaProps: spec.SchemaProps{
							Description: "KeyName is the key of the secret to use",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
				Required: []string{"secretName"},
			},
		},
	}
}

func schema_pkg_apis_datadoghq_v1alpha1_SystemProbeSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "SystemProbeSpec contains the SystemProbe Agent configuration",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"enabled": {
						SchemaProps: spec.SchemaProps{
							Description: "Enable this to activate live process monitoring. Note: /etc/passwd is automatically mounted to allow username resolution. ref: https://docs.datadoghq.com/graphing/infrastructure/process/#kubernetes-daemonset",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"secCompRootPath": {
						SchemaProps: spec.SchemaProps{
							Description: "SecCompRootPath specify the seccomp profile root directory",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"secCompCustomProfileConfigMap": {
						SchemaProps: spec.SchemaProps{
							Description: "SecCompCustomProfileConfigMap specify a pre-existing ConfigMap containing a custom SecComp profile",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"secCompProfileName": {
						SchemaProps: spec.SchemaProps{
							Description: "SecCompProfileName specify a seccomp profile",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"appArmorProfileName": {
						SchemaProps: spec.SchemaProps{
							Description: "AppArmorProfileName specify a apparmor profile",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"conntrackEnabled": {
						SchemaProps: spec.SchemaProps{
							Description: "ConntrackEnabled enable the system-probe agent to connect to the netlink/conntrack subsystem to add NAT information to connection data Ref: http://conntrack-tools.netfilter.org/",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"bpfDebugEnabled": {
						SchemaProps: spec.SchemaProps{
							Description: "BPFDebugEnabled logging for kernel debug",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"debugPort": {
						SchemaProps: spec.SchemaProps{
							Description: "DebugPort Specify the port to expose pprof and expvar for system-probe agent",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"env": {
						VendorExtensible: spec.VendorExtensible{
							Extensions: spec.Extensions{
								"x-kubernetes-list-map-keys": []interface{}{
									"name",
								},
								"x-kubernetes-list-type": "map",
							},
						},
						SchemaProps: spec.SchemaProps{
							Description: "The Datadog SystemProbe supports many environment variables Ref: https://docs.datadoghq.com/agent/docker/?tab=standard#environment-variables",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("k8s.io/api/core/v1.EnvVar"),
									},
								},
							},
						},
					},
					"resources": {
						SchemaProps: spec.SchemaProps{
							Description: "Datadog SystemProbe resource requests and limits Make sure to keep requests and limits equal to keep the pods in the Guaranteed QoS class Ref: http://kubernetes.io/docs/user-guide/compute-resources/",
							Ref:         ref("k8s.io/api/core/v1.ResourceRequirements"),
						},
					},
					"securityContext": {
						SchemaProps: spec.SchemaProps{
							Description: "You can modify the security context used to run the containers by modifying the label type",
							Ref:         ref("k8s.io/api/core/v1.SecurityContext"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"k8s.io/api/core/v1.EnvVar", "k8s.io/api/core/v1.ResourceRequirements", "k8s.io/api/core/v1.SecurityContext"},
	}
}
