//go:build !ignore_autogenerated
// +build !ignore_autogenerated

/*
 * Copyright 1999-2020 Alibaba Group Holding Ltd.
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 * you may not use this file except in compliance with the License.
 * You may obtain a copy of the License at
 *
 *     http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing, software
 * distributed under the License is distributed on an "AS IS" BASIS,
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 * See the License for the specific language governing permissions and
 * limitations under the License.
 */

// 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{
		"github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBlade":       schema_pkg_apis_chaosblade_v1alpha1_ChaosBlade(ref),
		"github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBladeSpec":   schema_pkg_apis_chaosblade_v1alpha1_ChaosBladeSpec(ref),
		"github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBladeStatus": schema_pkg_apis_chaosblade_v1alpha1_ChaosBladeStatus(ref),
	}
}

func schema_pkg_apis_chaosblade_v1alpha1_ChaosBlade(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ChaosBlade is the Schema for the chaosblades API",
				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("github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBladeSpec"),
						},
					},
					"status": {
						SchemaProps: spec.SchemaProps{
							Ref: ref("github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBladeStatus"),
						},
					},
				},
			},
		},
		Dependencies: []string{
			"github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBladeSpec", "github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ChaosBladeStatus", "k8s.io/apimachinery/pkg/apis/meta/v1.ObjectMeta",
		},
	}
}

func schema_pkg_apis_chaosblade_v1alpha1_ChaosBladeSpec(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ChaosBladeSpec defines the desired state of ChaosBlade",
				Properties: map[string]spec.Schema{
					"experiments": {
						SchemaProps: spec.SchemaProps{
							Description: "INSERT ADDITIONAL SPEC FIELDS - desired state of cluster Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ExperimentSpec"),
									},
								},
							},
						},
					},
				},
				Required: []string{"experiments"},
			},
		},
		Dependencies: []string{
			"github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ExperimentSpec",
		},
	}
}

func schema_pkg_apis_chaosblade_v1alpha1_ChaosBladeStatus(ref common.ReferenceCallback) common.OpenAPIDefinition {
	return common.OpenAPIDefinition{
		Schema: spec.Schema{
			SchemaProps: spec.SchemaProps{
				Description: "ChaosBladeStatus defines the observed state of ChaosBlade",
				Properties: map[string]spec.Schema{
					"phase": {
						SchemaProps: spec.SchemaProps{
							Description: "Phase indicates the state of the experiment\n  Initial -> Running -> Updating -> Destroying -> Destroyed",
							Type:        []string{"string"},
							Format:      "",
						},
					},
					"expStatuses": {
						SchemaProps: spec.SchemaProps{
							Description: "Important: Run \"operator-sdk generate k8s\" to regenerate code after modifying this file Add custom validation using kubebuilder tags: https://book-v1.book.kubebuilder.io/beyond_basics/generating_crd.html",
							Type:        []string{"array"},
							Items: &spec.SchemaOrArray{
								Schema: &spec.Schema{
									SchemaProps: spec.SchemaProps{
										Ref: ref("github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ExperimentStatus"),
									},
								},
							},
						},
					},
				},
				Required: []string{"expStatuses"},
			},
		},
		Dependencies: []string{
			"github.com/chaosblade-io/chaosblade-operator/pkg/apis/chaosblade/v1alpha1.ExperimentStatus",
		},
	}
}
