// Assisted by watsonx Code Assistant
// Code generated by WCA@IBM in this programming language is not approved for use in IBM product development.

package v1alpha1

import (
	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

// RemoteMCPServerSpec defines the desired state of RemoteMCPServer
type RemoteMCPServerSpec struct {
	URL              string            `json:"url,omitempty"`
	Transport        string            `json:"transport,omitempty"`
	ConfigMapName    string            `json:"configmapName,omitempty"`
	SecretName       string            `json:"secretName,omitempty"`
	Name             string            `json:"name,omitempty"`
	Description      string            `json:"description,omitempty"`
}

// RemoteMCPServer is the Schema for the remotemcpservers API
// +k8s:openapi-gen=true
type RemoteMCPServer struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec RemoteMCPServerSpec `json:"spec,omitempty"`
}

// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object

// RemoteMCPServerList contains a list of RemoteMCPServer
type RemoteMCPServerList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items          []RemoteMCPServer `json:"items"`
}

// RemoteMCPServerGroupVersionKind is the group version kind for RemoteMCPServer
var RemoteMCPServerGroupVersionKind = schema.GroupVersionKind{
	Group:   "maestro.ai4quantum.com",
	Version: "v1alpha1",
	Kind:    "RemoteMCPServer",
}

