// +build !ignore_autogenerated

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

package v1alpha1

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

func GetOpenAPIDefinitions(ref common.ReferenceCallback) map[string]common.OpenAPIDefinition {
	return map[string]common.OpenAPIDefinition{
		"./pkg/apis/seaweedfs/v1alpha1.FilerSpec":              schema_pkg_apis_seaweedfs_v1alpha1_FilerSpec(ref),
		"./pkg/apis/seaweedfs/v1alpha1.MasterSpec":             schema_pkg_apis_seaweedfs_v1alpha1_MasterSpec(ref),
		"./pkg/apis/seaweedfs/v1alpha1.MasterStatus":           schema_pkg_apis_seaweedfs_v1alpha1_MasterStatus(ref),
		"./pkg/apis/seaweedfs/v1alpha1.ResourceRequirement":    schema_pkg_apis_seaweedfs_v1alpha1_ResourceRequirement(ref),
		"./pkg/apis/seaweedfs/v1alpha1.SeaweedfsCluster":       schema_pkg_apis_seaweedfs_v1alpha1_SeaweedfsCluster(ref),
		"./pkg/apis/seaweedfs/v1alpha1.SeaweedfsClusterSpec":   schema_pkg_apis_seaweedfs_v1alpha1_SeaweedfsClusterSpec(ref),
		"./pkg/apis/seaweedfs/v1alpha1.SeaweedfsClusterStatus": schema_pkg_apis_seaweedfs_v1alpha1_SeaweedfsClusterStatus(ref),
		"./pkg/apis/seaweedfs/v1alpha1.VolumeSpec":             schema_pkg_apis_seaweedfs_v1alpha1_VolumeSpec(ref),
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_FilerSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "FilerSpec defines the desired state of filer server in cluster",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"replicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Replicas a size of filer replications",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"dirListLimit": {
						SchemaProps: spec.SchemaProps{
							Description: "DirListLimit limit sub dir listing size, default 100000",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"disableDirListing": {
						SchemaProps: spec.SchemaProps{
							Description: "DisableDirListing turn off directory listing",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"max_mb": {
						SchemaProps: spec.SchemaProps{
							Description: "MaxMB split files larger than the limit, default 32",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"port": {
						SchemaProps: spec.SchemaProps{
							Description: "Port filer server http listen port",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_MasterSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "MasterSpec defines the desired state of master server in cluster",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"replicas": {
						SchemaProps: spec.SchemaProps{
							Description: "Replicas a size of a raft cluster. The master servers are coordinated by Raft protocol, to elect a leader.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"port": {
						SchemaProps: spec.SchemaProps{
							Description: "Port set master server http api service port. default is 9333 Master servers also use it identify each other.",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"disableHttp": {
						SchemaProps: spec.SchemaProps{
							Description: "DisableHTTP if disable http proto, only gRPC operations are allowed. GRPC port is http port + 10000",
							Type:        []string{"boolean"},
							Format:      "",
						},
					},
					"default_replication": {
						SchemaProps: spec.SchemaProps{
							Description: "DefaultReplication set the data replication policy in volumes. default \"000\"",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_MasterStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "MasterStatus defines the observed state of SeaweedfsCluster master server",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"replicas": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"integer"},
							Format: "int32",
						},
					},
				},
				Required: []string{"replicas"},
			},
		},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_ResourceRequirement(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ResourceRequirement is resource requirements for a pod",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"cpu": {
						SchemaProps: spec.SchemaProps{
							Description: "CPU is how many cores a pod requires",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"memory": {
						SchemaProps: spec.SchemaProps{
							Description: "Memory is how much memory a pod requires",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"storage": {
						SchemaProps: spec.SchemaProps{
							Description: "Storage is storage size a pod requires",
							Type:        []string{"string"},
							Format:      "",
						},
					},
				},
			},
		},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_SeaweedfsCluster(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "SeaweedfsCluster is the Schema for the seaweedfsclusters 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/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/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/seaweedfs/v1alpha1.SeaweedfsClusterSpec"),
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/seaweedfs/v1alpha1.SeaweedfsClusterStatus"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/seaweedfs/v1alpha1.SeaweedfsClusterSpec", "./pkg/apis/seaweedfs/v1alpha1.SeaweedfsClusterStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta"},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_SeaweedfsClusterSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "SeaweedfsClusterSpec defines the desired state of SeaweedfsCluster",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"version": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"string"},
							Format: "",
						},
					},
					"master": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/seaweedfs/v1alpha1.MasterSpec"),
						},
					},
					"volumes": {
						SchemaProps: spec.SchemaProps{
							Type: []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("./pkg/apis/seaweedfs/v1alpha1.VolumeSpec"),
									},
								},
							},
						},
					},
					"filer": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/seaweedfs/v1alpha1.FilerSpec"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"./pkg/apis/seaweedfs/v1alpha1.FilerSpec", "./pkg/apis/seaweedfs/v1alpha1.MasterSpec", "./pkg/apis/seaweedfs/v1alpha1.VolumeSpec"},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_SeaweedfsClusterStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "SeaweedfsClusterStatus defines the observed state of SeaweedfsCluster",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"ClusterID": {
						SchemaProps: spec.SchemaProps{
							Type:   []string{"string"},
							Format: "",
						},
					},
					"Master": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/seaweedfs/v1alpha1.MasterStatus"),
						},
					},
					"Volumes": {
						SchemaProps: spec.SchemaProps{
							Type: []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("./pkg/apis/seaweedfs/v1alpha1.VolumesStatus"),
									},
								},
							},
						},
					},
					"Filer": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("./pkg/apis/seaweedfs/v1alpha1.FilerStatus"),
						},
					},
				},
				Required: []string{"ClusterID", "Master", "Volumes", "Filer"},
			},
		},
		Dependencies: []string{
			"./pkg/apis/seaweedfs/v1alpha1.FilerStatus", "./pkg/apis/seaweedfs/v1alpha1.MasterStatus", "./pkg/apis/seaweedfs/v1alpha1.VolumesStatus"},
	}
}

func schema_pkg_apis_seaweedfs_v1alpha1_VolumeSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "VolumeSpec defines the desired state of volume servers in cluster",
				Type:        []string{"object"},
				Properties: map[string]spec.Schema{
					"max": {
						SchemaProps: spec.SchemaProps{
							Description: "Max set the maximum numbers of volumes management by this server. Each volume is a 30G size file in under layer filesystem. Default is 7",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"compaction_mbps": {
						SchemaProps: spec.SchemaProps{
							Description: "CompactionMbps limit background compaction or copying speed in mega bytes per second",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
					"rack": {
						SchemaProps: spec.SchemaProps{
							Description: "Rack current volume server's rack name",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"dataCenter": {
						SchemaProps: spec.SchemaProps{
							Description: "DataCenter current volume server's data center name",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"port": {
						SchemaProps: spec.SchemaProps{
							Description: "Port volume server api http listen port",
							Type:        []string{"integer"},
							Format:      "int32",
						},
					},
				},
			},
		},
	}
}