// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0. If a copy of the MPL was not distributed with this
// file, You can obtain one at http://mozilla.org/MPL/2.0/.

// Code generated by hack/docgen tool. DO NOT EDIT.

package cluster

import (
	"github.com/siderolabs/talos/pkg/machinery/config/encoder"
)

func (DiscoveryServiceConfigV1Alpha1) Doc() *encoder.Doc {
	doc := &encoder.Doc{
		Type:        "DiscoveryServiceConfig",
		Comments:    [3]string{"" /* encoder.HeadComment */, "DiscoveryServiceConfig is a config document to configure a discovery service." /* encoder.LineComment */, "" /* encoder.FootComment */},
		Description: "DiscoveryServiceConfig is a config document to configure a discovery service.",
		Fields: []encoder.Doc{
			{
				Type:   "Meta",
				Inline: true,
			},
			{
				Name:        "name",
				Type:        "string",
				Note:        "",
				Description: "Name of the discovery service configuration.",
				Comments:    [3]string{"" /* encoder.HeadComment */, "Name of the discovery service configuration." /* encoder.LineComment */, "" /* encoder.FootComment */},
			},
			{
				Name:        "endpoint",
				Type:        "URL",
				Note:        "",
				Description: "Discovery service endpoint to use.",
				Comments:    [3]string{"" /* encoder.HeadComment */, "Discovery service endpoint to use." /* encoder.LineComment */, "" /* encoder.FootComment */},
			},
		},
	}

	doc.AddExample("", exampleDiscoveryServiceConfigV1Alpha1())

	doc.Fields[2].AddExample("", "https://discovery.talos.dev/")

	return doc
}

// GetFileDoc returns documentation for the file cluster_doc.go.
func GetFileDoc() *encoder.FileDoc {
	return &encoder.FileDoc{
		Name:        "cluster",
		Description: "Package cluster provides cluster configuration documents.\n",
		Structs: []*encoder.Doc{
			DiscoveryServiceConfigV1Alpha1{}.Doc(),
		},
	}
}
