v1

package
v0.0.0-...-b88d067 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 19, 2024 License: Apache-2.0 Imports: 5 Imported by: 136

Documentation

Overview

+groupName=console.openshift.io Package v1 is the v1 version of the API.

Index

Constants

This section is empty.

Variables

View Source
var (
	GroupName    = "console.openshift.io"
	GroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1"}

	// Install is a function which adds this version to a scheme
	Install = schemeBuilder.AddToScheme

	// SchemeGroupVersion generated code relies on this name
	// Deprecated
	SchemeGroupVersion = GroupVersion
	// AddToScheme exists solely to keep the old generators creating valid code
	// DEPRECATED
	AddToScheme = schemeBuilder.AddToScheme
)

Functions

func Resource

func Resource(resource string) schema.GroupResource

Resource generated code relies on this being here, but it logically belongs to the group DEPRECATED

Types

type ApplicationMenuSpec

type ApplicationMenuSpec struct {
	// section is the section of the application menu in which the link should appear.
	// This can be any text that will appear as a subheading in the application menu dropdown.
	// A new section will be created if the text does not match text of an existing section.
	Section string `json:"section"`
	// imageURL is the URL for the icon used in front of the link in the application menu.
	// The URL must be an HTTPS URL or a Data URI. The image should be square and will be shown at 24x24 pixels.
	// +optional
	ImageURL string `json:"imageURL,omitempty"`
}

ApplicationMenuSpec is the specification of the desired section and icon used for the link in the application menu.

func (*ApplicationMenuSpec) DeepCopy

func (in *ApplicationMenuSpec) DeepCopy() *ApplicationMenuSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ApplicationMenuSpec.

func (*ApplicationMenuSpec) DeepCopyInto

func (in *ApplicationMenuSpec) DeepCopyInto(out *ApplicationMenuSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ApplicationMenuSpec) SwaggerDoc

func (ApplicationMenuSpec) SwaggerDoc() map[string]string

type AuthorizationType

type AuthorizationType string

AuthorizationType is an enumerate of available authorization types +kubebuilder:validation:Enum:=UserToken;None

const (
	// UserToken indicates that the proxied request should contain the logged-in user's
	// OpenShift access token in the "Authorization" request header. For example:
	//
	// Authorization: Bearer sha256~kV46hPnEYhCWFnB85r5NrprAxggzgb6GOeLbgcKNsH0
	//
	UserToken AuthorizationType = "UserToken"
	// None indicates that proxied request wont contain authorization of any type.
	None AuthorizationType = "None"
)
type CLIDownloadLink struct {
	// text is the display text for the link
	// +optional
	Text string `json:"text"`
	// href is the absolute secure URL for the link (must use https)
	// +kubebuilder:validation:Pattern=`^https://`
	Href string `json:"href"`
}

func (*CLIDownloadLink) DeepCopy

func (in *CLIDownloadLink) DeepCopy() *CLIDownloadLink

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CLIDownloadLink.

func (*CLIDownloadLink) DeepCopyInto

func (in *CLIDownloadLink) DeepCopyInto(out *CLIDownloadLink)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (CLIDownloadLink) SwaggerDoc

func (CLIDownloadLink) SwaggerDoc() map[string]string

type CSPDirectiveValue

type CSPDirectiveValue string

CSPDirectiveValue is single value for a Content-Security-Policy directive. Each directive value must have a maximum length of 1024 characters and must not contain whitespace, commas (,), semicolons (;) or single quotes ('). The value '*' is not permitted. +kubebuilder:validation:MinLength=1 +kubebuilder:validation:MaxLength=1024 +kubebuilder:validation:XValidation:rule="!self.contains(\"'\")",message="CSP directive value cannot contain a quote" +kubebuilder:validation:XValidation:rule="!self.matches('\\\\s')",message="CSP directive value cannot contain a whitespace" +kubebuilder:validation:XValidation:rule="!self.contains(',')",message="CSP directive value cannot contain a comma" +kubebuilder:validation:XValidation:rule="!self.contains(';')",message="CSP directive value cannot contain a semi-colon" +kubebuilder:validation:XValidation:rule="self != '*'",message="CSP directive value cannot be a wildcard"

type ConsoleCLIDownload

type ConsoleCLIDownload struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ConsoleCLIDownloadSpec `json:"spec"`
}

ConsoleCLIDownload is an extension for configuring openshift web console command line interface (CLI) downloads.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleclidownloads,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console command line interface (CLI) downloads." +kubebuilder:metadata:annotations="displayName=ConsoleCLIDownload" +kubebuilder:printcolumn:name=Display name,JSONPath=.spec.displayName,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=string +openshift:compatibility-gen:level=2

func (*ConsoleCLIDownload) DeepCopy

func (in *ConsoleCLIDownload) DeepCopy() *ConsoleCLIDownload

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleCLIDownload.

func (*ConsoleCLIDownload) DeepCopyInto

func (in *ConsoleCLIDownload) DeepCopyInto(out *ConsoleCLIDownload)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleCLIDownload) DeepCopyObject

func (in *ConsoleCLIDownload) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleCLIDownload) SwaggerDoc

func (ConsoleCLIDownload) SwaggerDoc() map[string]string

type ConsoleCLIDownloadList

type ConsoleCLIDownloadList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleCLIDownload `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleCLIDownloadList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleCLIDownloadList.

func (*ConsoleCLIDownloadList) DeepCopyInto

func (in *ConsoleCLIDownloadList) DeepCopyInto(out *ConsoleCLIDownloadList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleCLIDownloadList) DeepCopyObject

func (in *ConsoleCLIDownloadList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleCLIDownloadList) SwaggerDoc

func (ConsoleCLIDownloadList) SwaggerDoc() map[string]string

type ConsoleCLIDownloadSpec

type ConsoleCLIDownloadSpec struct {
	// displayName is the display name of the CLI download.
	DisplayName string `json:"displayName"`
	// description is the description of the CLI download (can include markdown).
	Description string `json:"description"`
	// links is a list of objects that provide CLI download link details.
	Links []CLIDownloadLink `json:"links"`
}

ConsoleCLIDownloadSpec is the desired cli download configuration.

func (*ConsoleCLIDownloadSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleCLIDownloadSpec.

func (*ConsoleCLIDownloadSpec) DeepCopyInto

func (in *ConsoleCLIDownloadSpec) DeepCopyInto(out *ConsoleCLIDownloadSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleCLIDownloadSpec) SwaggerDoc

func (ConsoleCLIDownloadSpec) SwaggerDoc() map[string]string
type ConsoleExternalLogLink struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ConsoleExternalLogLinkSpec `json:"spec"`
}

ConsoleExternalLogLink is an extension for customizing OpenShift web console log links.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleexternalloglinks,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=ConsoleExternalLogLink is an extension for customizing OpenShift web console log links." +kubebuilder:metadata:annotations="displayName=ConsoleExternalLogLinks" +kubebuilder:printcolumn:name=Text,JSONPath=.spec.text,type=string +kubebuilder:printcolumn:name=HrefTemplate,JSONPath=.spec.hrefTemplate,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleExternalLogLink) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleExternalLogLink.

func (*ConsoleExternalLogLink) DeepCopyInto

func (in *ConsoleExternalLogLink) DeepCopyInto(out *ConsoleExternalLogLink)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleExternalLogLink) DeepCopyObject

func (in *ConsoleExternalLogLink) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleExternalLogLink) SwaggerDoc

func (ConsoleExternalLogLink) SwaggerDoc() map[string]string
type ConsoleExternalLogLinkList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleExternalLogLink `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleExternalLogLinkList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleExternalLogLinkList.

func (*ConsoleExternalLogLinkList) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleExternalLogLinkList) DeepCopyObject

func (in *ConsoleExternalLogLinkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleExternalLogLinkList) SwaggerDoc

func (ConsoleExternalLogLinkList) SwaggerDoc() map[string]string

type ConsoleExternalLogLinkSpec

type ConsoleExternalLogLinkSpec struct {
	// text is the display text for the link
	Text string `json:"text"`
	// hrefTemplate is an absolute secure URL (must use https) for the log link including
	// variables to be replaced. Variables are specified in the URL with the format ${variableName},
	// for instance, ${containerName} and will be replaced with the corresponding values
	// from the resource. Resource is a pod.
	// Supported variables are:
	// - ${resourceName} - name of the resource which containes the logs
	// - ${resourceUID} - UID of the resource which contains the logs
	//               - e.g. `11111111-2222-3333-4444-555555555555`
	// - ${containerName} - name of the resource's container that contains the logs
	// - ${resourceNamespace} - namespace of the resource that contains the logs
	// - ${resourceNamespaceUID} - namespace UID of the resource that contains the logs
	// - ${podLabels} - JSON representation of labels matching the pod with the logs
	//             - e.g. `{"key1":"value1","key2":"value2"}`
	//
	// e.g., https://example.com/logs?resourceName=${resourceName}&containerName=${containerName}&resourceNamespace=${resourceNamespace}&podLabels=${podLabels}
	// +kubebuilder:validation:Pattern=`^https://`
	HrefTemplate string `json:"hrefTemplate"`
	// namespaceFilter is a regular expression used to restrict a log link to a
	// matching set of namespaces (e.g., `^openshift-`). The string is converted
	// into a regular expression using the JavaScript RegExp constructor.
	// If not specified, links will be displayed for all the namespaces.
	// +optional
	NamespaceFilter string `json:"namespaceFilter,omitempty"`
}

ConsoleExternalLogLinkSpec is the desired log link configuration. The log link will appear on the logs tab of the pod details page.

func (*ConsoleExternalLogLinkSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleExternalLogLinkSpec.

func (*ConsoleExternalLogLinkSpec) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleExternalLogLinkSpec) SwaggerDoc

func (ConsoleExternalLogLinkSpec) SwaggerDoc() map[string]string
type ConsoleLink struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ConsoleLinkSpec `json:"spec"`
}

ConsoleLink is an extension for customizing OpenShift web console links.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolelinks,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for customizing OpenShift web console links" +kubebuilder:metadata:annotations="displayName=ConsoleLinks" +kubebuilder:printcolumn:name=Text,JSONPath=.spec.text,type=string +kubebuilder:printcolumn:name=URL,JSONPath=.spec.href,type=string +kubebuilder:printcolumn:name=Menu,JSONPath=.spec.menu,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleLink) DeepCopy

func (in *ConsoleLink) DeepCopy() *ConsoleLink

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleLink.

func (*ConsoleLink) DeepCopyInto

func (in *ConsoleLink) DeepCopyInto(out *ConsoleLink)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleLink) DeepCopyObject

func (in *ConsoleLink) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleLink) SwaggerDoc

func (ConsoleLink) SwaggerDoc() map[string]string
type ConsoleLinkList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleLink `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleLinkList) DeepCopy

func (in *ConsoleLinkList) DeepCopy() *ConsoleLinkList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleLinkList.

func (*ConsoleLinkList) DeepCopyInto

func (in *ConsoleLinkList) DeepCopyInto(out *ConsoleLinkList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleLinkList) DeepCopyObject

func (in *ConsoleLinkList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleLinkList) SwaggerDoc

func (ConsoleLinkList) SwaggerDoc() map[string]string

type ConsoleLinkLocation

type ConsoleLinkLocation string

ConsoleLinkLocationSelector is a set of possible menu targets to which a link may be appended. +kubebuilder:validation:Pattern=`^(ApplicationMenu|HelpMenu|UserMenu|NamespaceDashboard)$`

const (
	// HelpMenu indicates that the link should appear in the help menu in the console.
	HelpMenu ConsoleLinkLocation = "HelpMenu"
	// UserMenu indicates that the link should appear in the user menu in the console.
	UserMenu ConsoleLinkLocation = "UserMenu"
	// ApplicationMenu indicates that the link should appear inside the application menu of the console.
	ApplicationMenu ConsoleLinkLocation = "ApplicationMenu"
	// NamespaceDashboard indicates that the link should appear in the namespaced dashboard of the console.
	NamespaceDashboard ConsoleLinkLocation = "NamespaceDashboard"
)

type ConsoleLinkSpec

type ConsoleLinkSpec struct {
	Link `json:",inline"`
	// location determines which location in the console the link will be appended to (ApplicationMenu, HelpMenu, UserMenu, NamespaceDashboard).
	Location ConsoleLinkLocation `json:"location"`
	// applicationMenu holds information about section and icon used for the link in the
	// application menu, and it is applicable only when location is set to ApplicationMenu.
	//
	// +optional
	ApplicationMenu *ApplicationMenuSpec `json:"applicationMenu,omitempty"`
	// namespaceDashboard holds information about namespaces in which the dashboard link should
	// appear, and it is applicable only when location is set to NamespaceDashboard.
	// If not specified, the link will appear in all namespaces.
	//
	// +optional
	NamespaceDashboard *NamespaceDashboardSpec `json:"namespaceDashboard,omitempty"`
}

ConsoleLinkSpec is the desired console link configuration.

func (*ConsoleLinkSpec) DeepCopy

func (in *ConsoleLinkSpec) DeepCopy() *ConsoleLinkSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleLinkSpec.

func (*ConsoleLinkSpec) DeepCopyInto

func (in *ConsoleLinkSpec) DeepCopyInto(out *ConsoleLinkSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleLinkSpec) SwaggerDoc

func (ConsoleLinkSpec) SwaggerDoc() map[string]string

type ConsoleNotification

type ConsoleNotification struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec ConsoleNotificationSpec `json:"spec"`
}

ConsoleNotification is the extension for configuring openshift web console notifications.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolenotifications,scope=Cluster +kubebuilder:subresource:status +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console notifications." +kubebuilder:metadata:annotations="displayName=ConsoleNotification" +kubebuilder:printcolumn:name=Text,JSONPath=.spec.text,type=string +kubebuilder:printcolumn:name=Location,JSONPath=.spec.location,type=string +kubebuilder:printcolumn:name=Age,JSONPath=.metadata.creationTimestamp,type=date +openshift:compatibility-gen:level=2

func (*ConsoleNotification) DeepCopy

func (in *ConsoleNotification) DeepCopy() *ConsoleNotification

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleNotification.

func (*ConsoleNotification) DeepCopyInto

func (in *ConsoleNotification) DeepCopyInto(out *ConsoleNotification)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleNotification) DeepCopyObject

func (in *ConsoleNotification) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleNotification) SwaggerDoc

func (ConsoleNotification) SwaggerDoc() map[string]string

type ConsoleNotificationList

type ConsoleNotificationList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleNotification `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleNotificationList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleNotificationList.

func (*ConsoleNotificationList) DeepCopyInto

func (in *ConsoleNotificationList) DeepCopyInto(out *ConsoleNotificationList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleNotificationList) DeepCopyObject

func (in *ConsoleNotificationList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleNotificationList) SwaggerDoc

func (ConsoleNotificationList) SwaggerDoc() map[string]string

type ConsoleNotificationLocation

type ConsoleNotificationLocation string

ConsoleNotificationLocationSelector is a set of possible notification targets to which a notification may be appended. +kubebuilder:validation:Pattern=`^(BannerTop|BannerBottom|BannerTopBottom)$`

const (
	// BannerTop indicates that the notification should appear at the top of the console.
	BannerTop ConsoleNotificationLocation = "BannerTop"
	// BannerBottom indicates that the notification should appear at the bottom of the console.
	BannerBottom ConsoleNotificationLocation = "BannerBottom"
	// BannerTopBottom indicates that the notification should appear both at the top and at the bottom of the console.
	BannerTopBottom ConsoleNotificationLocation = "BannerTopBottom"
)

type ConsoleNotificationSpec

type ConsoleNotificationSpec struct {
	// text is the visible text of the notification.
	Text string `json:"text"`
	// location is the location of the notification in the console.
	// Valid values are: "BannerTop", "BannerBottom", "BannerTopBottom".
	// +optional
	Location ConsoleNotificationLocation `json:"location,omitempty"`
	// link is an object that holds notification link details.
	// +optional
	Link *Link `json:"link,omitempty"`
	// color is the color of the text for the notification as CSS data type color.
	// +optional
	Color string `json:"color,omitempty"`
	// backgroundColor is the color of the background for the notification as CSS data type color.
	// +optional
	BackgroundColor string `json:"backgroundColor,omitempty"`
}

ConsoleNotificationSpec is the desired console notification configuration.

func (*ConsoleNotificationSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleNotificationSpec.

func (*ConsoleNotificationSpec) DeepCopyInto

func (in *ConsoleNotificationSpec) DeepCopyInto(out *ConsoleNotificationSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleNotificationSpec) SwaggerDoc

func (ConsoleNotificationSpec) SwaggerDoc() map[string]string

type ConsolePlugin

type ConsolePlugin struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec contains the desired configuration for the console plugin.
	// +required
	Spec ConsolePluginSpec `json:"spec"`
}

ConsolePlugin is an extension for customizing OpenShift web console by dynamically loading code from another service running on the cluster.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleplugins,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1186 +openshift:file-pattern=operatorOrdering=90 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console plugins." +kubebuilder:metadata:annotations="displayName=ConsolePlugin" +kubebuilder:metadata:annotations="service.beta.openshift.io/inject-cabundle=true"

func (*ConsolePlugin) DeepCopy

func (in *ConsolePlugin) DeepCopy() *ConsolePlugin

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePlugin.

func (*ConsolePlugin) DeepCopyInto

func (in *ConsolePlugin) DeepCopyInto(out *ConsolePlugin)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsolePlugin) DeepCopyObject

func (in *ConsolePlugin) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsolePlugin) SwaggerDoc

func (ConsolePlugin) SwaggerDoc() map[string]string

type ConsolePluginBackend

type ConsolePluginBackend struct {
	// type is the backend type which servers the console's plugin. Currently only "Service" is supported.
	//
	// ---
	// + When handling unknown values, consumers should report an error and stop processing the plugin.
	//
	// +required
	// +unionDiscriminator
	Type ConsolePluginBackendType `json:"type"`
	// service is a Kubernetes Service that exposes the plugin using a
	// deployment with an HTTP server. The Service must use HTTPS and
	// Service serving certificate. The console backend will proxy the
	// plugins assets from the Service using the service CA bundle.
	// +optional
	Service *ConsolePluginService `json:"service"`
}

ConsolePluginBackend holds information about the endpoint which serves the console's plugin +union

func (*ConsolePluginBackend) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginBackend.

func (*ConsolePluginBackend) DeepCopyInto

func (in *ConsolePluginBackend) DeepCopyInto(out *ConsolePluginBackend)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginBackend) SwaggerDoc

func (ConsolePluginBackend) SwaggerDoc() map[string]string

type ConsolePluginBackendType

type ConsolePluginBackendType string

ConsolePluginBackendType is an enumeration of available backend types +kubebuilder:validation:Enum:=Service

const (
	// Service is used when plugin's backend is served by a Kubernetes Service
	Service ConsolePluginBackendType = "Service"
)

type ConsolePluginCSP

type ConsolePluginCSP struct {
	// directive specifies which Content-Security-Policy directive to configure.
	// Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc and FontSrc.
	// DefaultSrc directive serves as a fallback for the other CSP fetch directives.
	// For more information about the DefaultSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src
	// ScriptSrc directive specifies valid sources for JavaScript.
	// For more information about the ScriptSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src
	// StyleSrc directive specifies valid sources for stylesheets.
	// For more information about the StyleSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
	// ImgSrc directive specifies a valid sources of images and favicons.
	// For more information about the ImgSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src
	// FontSrc directive specifies valid sources for fonts loaded using @font-face.
	// For more information about the FontSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src
	// +required
	Directive DirectiveType `json:"directive"`
	// values defines an array of values to append to the console defaults for this directive.
	// Each ConsolePlugin may define their own directives with their values. These will be set
	// by the OpenShift web console's backend, as part of its Content-Security-Policy header.
	// The array can contain at most 16 values. Each directive value must have a maximum length
	// of 1024 characters and must not contain whitespace, commas (,), semicolons (;) or single
	// quotes ('). The value '*' is not permitted.
	// Each value in the array must be unique.
	//
	// +required
	// +kubebuilder:validation:MinItems=1
	// +kubebuilder:validation:MaxItems=16
	// +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x == y))",message="each CSP directive value must be unique"
	// +listType=atomic
	Values []CSPDirectiveValue `json:"values"`
}

ConsolePluginCSP holds configuration for a specific CSP directive

func (*ConsolePluginCSP) DeepCopy

func (in *ConsolePluginCSP) DeepCopy() *ConsolePluginCSP

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginCSP.

func (*ConsolePluginCSP) DeepCopyInto

func (in *ConsolePluginCSP) DeepCopyInto(out *ConsolePluginCSP)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginCSP) SwaggerDoc

func (ConsolePluginCSP) SwaggerDoc() map[string]string

type ConsolePluginI18n

type ConsolePluginI18n struct {
	// loadType indicates how the plugin's localization resource should be loaded.
	// Valid values are Preload, Lazy and the empty string.
	// When set to Preload, all localization resources are fetched when the plugin is loaded.
	// When set to Lazy, localization resources are lazily loaded as and when they are required by the console.
	// When omitted or set to the empty string, the behaviour is equivalent to Lazy type.
	// +required
	LoadType LoadType `json:"loadType"`
}

ConsolePluginI18n holds information on localization resources that are served by the dynamic plugin.

func (*ConsolePluginI18n) DeepCopy

func (in *ConsolePluginI18n) DeepCopy() *ConsolePluginI18n

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginI18n.

func (*ConsolePluginI18n) DeepCopyInto

func (in *ConsolePluginI18n) DeepCopyInto(out *ConsolePluginI18n)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginI18n) SwaggerDoc

func (ConsolePluginI18n) SwaggerDoc() map[string]string

type ConsolePluginList

type ConsolePluginList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsolePlugin `json:"items"`
}

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).

func (*ConsolePluginList) DeepCopy

func (in *ConsolePluginList) DeepCopy() *ConsolePluginList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginList.

func (*ConsolePluginList) DeepCopyInto

func (in *ConsolePluginList) DeepCopyInto(out *ConsolePluginList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsolePluginList) DeepCopyObject

func (in *ConsolePluginList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsolePluginList) SwaggerDoc

func (ConsolePluginList) SwaggerDoc() map[string]string

type ConsolePluginProxy

type ConsolePluginProxy struct {
	// endpoint provides information about endpoint to which the request is proxied to.
	// +required
	Endpoint ConsolePluginProxyEndpoint `json:"endpoint"`
	// alias is a proxy name that identifies the plugin's proxy. An alias name
	// should be unique per plugin. The console backend exposes following
	// proxy endpoint:
	//
	// /api/proxy/plugin/<plugin-name>/<proxy-alias>/<request-path>?<optional-query-parameters>
	//
	// Request example path:
	//
	// /api/proxy/plugin/acm/search/pods?namespace=openshift-apiserver
	//
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	// +kubebuilder:validation:Pattern=`^[A-Za-z0-9-_]+$`
	Alias string `json:"alias"`
	// caCertificate provides the cert authority certificate contents,
	// in case the proxied Service is using custom service CA.
	// By default, the service CA bundle provided by the service-ca operator is used.
	// +kubebuilder:validation:Pattern=`^-----BEGIN CERTIFICATE-----([\s\S]*)-----END CERTIFICATE-----\s?$`
	// +optional
	CACertificate string `json:"caCertificate,omitempty"`
	// authorization provides information about authorization type,
	// which the proxied request should contain
	// +kubebuilder:default:="None"
	// +optional
	Authorization AuthorizationType `json:"authorization,omitempty"`
}

ConsolePluginProxy holds information on various service types to which console's backend will proxy the plugin's requests.

func (*ConsolePluginProxy) DeepCopy

func (in *ConsolePluginProxy) DeepCopy() *ConsolePluginProxy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxy.

func (*ConsolePluginProxy) DeepCopyInto

func (in *ConsolePluginProxy) DeepCopyInto(out *ConsolePluginProxy)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginProxy) SwaggerDoc

func (ConsolePluginProxy) SwaggerDoc() map[string]string

type ConsolePluginProxyEndpoint

type ConsolePluginProxyEndpoint struct {
	// type is the type of the console plugin's proxy. Currently only "Service" is supported.
	//
	// ---
	// + When handling unknown values, consumers should report an error and stop processing the plugin.
	//
	// +required
	// +unionDiscriminator
	Type ConsolePluginProxyType `json:"type"`
	// service is an in-cluster Service that the plugin will connect to.
	// The Service must use HTTPS. The console backend exposes an endpoint
	// in order to proxy communication between the plugin and the Service.
	// Note: service field is required for now, since currently only "Service"
	// type is supported.
	// +optional
	Service *ConsolePluginProxyServiceConfig `json:"service,omitempty"`
}

ConsolePluginProxyEndpoint holds information about the endpoint to which request will be proxied to. +union

func (*ConsolePluginProxyEndpoint) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxyEndpoint.

func (*ConsolePluginProxyEndpoint) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginProxyEndpoint) SwaggerDoc

func (ConsolePluginProxyEndpoint) SwaggerDoc() map[string]string

type ConsolePluginProxyServiceConfig

type ConsolePluginProxyServiceConfig struct {
	// name of Service that the plugin needs to connect to.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Name string `json:"name"`
	// namespace of Service that the plugin needs to connect to
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Namespace string `json:"namespace"`
	// port on which the Service that the plugin needs to connect to
	// is listening on.
	// +required
	// +kubebuilder:validation:Maximum:=65535
	// +kubebuilder:validation:Minimum:=1
	Port int32 `json:"port"`
}

ProxyTypeServiceConfig holds information on Service to which console's backend will proxy the plugin's requests.

func (*ConsolePluginProxyServiceConfig) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginProxyServiceConfig.

func (*ConsolePluginProxyServiceConfig) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginProxyServiceConfig) SwaggerDoc

type ConsolePluginProxyType

type ConsolePluginProxyType string

ProxyType is an enumeration of available proxy types +kubebuilder:validation:Enum:=Service

const (
	// ProxyTypeService is used when proxying communication to a Service
	ProxyTypeService ConsolePluginProxyType = "Service"
)

type ConsolePluginService

type ConsolePluginService struct {
	// name of Service that is serving the plugin assets.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Name string `json:"name"`
	// namespace of Service that is serving the plugin assets.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	Namespace string `json:"namespace"`
	// port on which the Service that is serving the plugin is listening to.
	// +required
	// +kubebuilder:validation:Maximum:=65535
	// +kubebuilder:validation:Minimum:=1
	Port int32 `json:"port"`
	// basePath is the path to the plugin's assets. The primary asset it the
	// manifest file called `plugin-manifest.json`, which is a JSON document
	// that contains metadata about the plugin and the extensions.
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Pattern=`^[a-zA-Z0-9.\-_~!$&'()*+,;=:@\/]*$`
	// +kubebuilder:default:="/"
	// +optional
	BasePath string `json:"basePath"`
}

ConsolePluginService holds information on Service that is serving console dynamic plugin assets.

func (*ConsolePluginService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginService.

func (*ConsolePluginService) DeepCopyInto

func (in *ConsolePluginService) DeepCopyInto(out *ConsolePluginService)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginService) SwaggerDoc

func (ConsolePluginService) SwaggerDoc() map[string]string

type ConsolePluginSpec

type ConsolePluginSpec struct {
	// displayName is the display name of the plugin.
	// The dispalyName should be between 1 and 128 characters.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	DisplayName string `json:"displayName"`
	// backend holds the configuration of backend which is serving console's plugin .
	// +required
	Backend ConsolePluginBackend `json:"backend"`
	// proxy is a list of proxies that describe various service type
	// to which the plugin needs to connect to.
	// +listType=atomic
	// +optional
	Proxy []ConsolePluginProxy `json:"proxy,omitempty"`
	// i18n is the configuration of plugin's localization resources.
	// +optional
	I18n ConsolePluginI18n `json:"i18n"`
	// contentSecurityPolicy is a list of Content-Security-Policy (CSP) directives for the plugin.
	// Each directive specifies a list of values, appropriate for the given directive type,
	// for example a list of remote endpoints for fetch directives such as ScriptSrc.
	// Console web application uses CSP to detect and mitigate certain types of attacks,
	// such as cross-site scripting (XSS) and data injection attacks.
	// Dynamic plugins should specify this field if need to load assets from outside
	// the cluster or if violation reports are observed. Dynamic plugins should always prefer
	// loading their assets from within the cluster, either by vendoring them, or fetching
	// from a cluster service.
	// CSP violation reports can be viewed in the browser's console logs during development and
	// testing of the plugin in the OpenShift web console.
	// Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc and FontSrc.
	// Each of the available directives may be defined only once in the list.
	// The value 'self' is automatically included in all fetch directives by the OpenShift web
	// console's backend.
	// For more information about the CSP directives, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy
	//
	// The OpenShift web console server aggregates the CSP directives and values across
	// its own default values and all enabled ConsolePlugin CRs, merging them into a single
	// policy string that is sent to the browser via `Content-Security-Policy` HTTP response header.
	//
	// Example:
	//   ConsolePlugin A directives:
	//     script-src: https://script1.com/, https://script2.com/
	//     font-src: https://font1.com/
	//
	//   ConsolePlugin B directives:
	//     script-src: https://script2.com/, https://script3.com/
	//     font-src: https://font2.com/
	//     img-src: https://img1.com/
	//
	//   Unified set of CSP directives, passed to the OpenShift web console server:
	//     script-src: https://script1.com/, https://script2.com/, https://script3.com/
	//     font-src: https://font1.com/, https://font2.com/
	//     img-src: https://img1.com/
	//
	//   OpenShift web console server CSP response header:
	//     Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'
	//
	// +openshift:enable:FeatureGate=ConsolePluginContentSecurityPolicy
	// +kubebuilder:validation:MaxItems=5
	// +kubebuilder:validation:XValidation:rule="self.map(x, x.values.map(y, y.size()).sum()).sum() < 8192",message="the total combined size of values of all directives must not exceed 8192 (8kb)"
	// +listType=map
	// +listMapKey=directive
	// +optional
	ContentSecurityPolicy []ConsolePluginCSP `json:"contentSecurityPolicy"`
}

ConsolePluginSpec is the desired plugin configuration.

func (*ConsolePluginSpec) DeepCopy

func (in *ConsolePluginSpec) DeepCopy() *ConsolePluginSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginSpec.

func (*ConsolePluginSpec) DeepCopyInto

func (in *ConsolePluginSpec) DeepCopyInto(out *ConsolePluginSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsolePluginSpec) SwaggerDoc

func (ConsolePluginSpec) SwaggerDoc() map[string]string

type ConsoleQuickStart

type ConsoleQuickStart struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata,omitempty"`

	// +required
	Spec ConsoleQuickStartSpec `json:"spec"`
}

ConsoleQuickStart is an extension for guiding user through various workflows in the OpenShift web console.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolequickstarts,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/750 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for guiding user through various workflows in the OpenShift web console." +kubebuilder:metadata:annotations="displayName=ConsoleQuickStart" +openshift:compatibility-gen:level=2

func (*ConsoleQuickStart) DeepCopy

func (in *ConsoleQuickStart) DeepCopy() *ConsoleQuickStart

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStart.

func (*ConsoleQuickStart) DeepCopyInto

func (in *ConsoleQuickStart) DeepCopyInto(out *ConsoleQuickStart)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleQuickStart) DeepCopyObject

func (in *ConsoleQuickStart) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleQuickStart) SwaggerDoc

func (ConsoleQuickStart) SwaggerDoc() map[string]string

type ConsoleQuickStartList

type ConsoleQuickStartList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleQuickStart `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleQuickStartList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartList.

func (*ConsoleQuickStartList) DeepCopyInto

func (in *ConsoleQuickStartList) DeepCopyInto(out *ConsoleQuickStartList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleQuickStartList) DeepCopyObject

func (in *ConsoleQuickStartList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleQuickStartList) SwaggerDoc

func (ConsoleQuickStartList) SwaggerDoc() map[string]string

type ConsoleQuickStartSpec

type ConsoleQuickStartSpec struct {
	// displayName is the display name of the Quick Start.
	// +kubebuilder:validation:MinLength=1
	// +required
	DisplayName string `json:"displayName"`
	// icon is a base64 encoded image that will be displayed beside the Quick Start display name.
	// The icon should be an vector image for easy scaling. The size of the icon should be 40x40.
	// +optional
	Icon string `json:"icon,omitempty"`
	// tags is a list of strings that describe the Quick Start.
	// +optional
	Tags []string `json:"tags,omitempty"`
	// durationMinutes describes approximately how many minutes it will take to complete the Quick Start.
	// +kubebuilder:validation:Minimum=1
	// +required
	DurationMinutes int `json:"durationMinutes"`
	// description is the description of the Quick Start. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	// +required
	Description string `json:"description"`
	// prerequisites contains all prerequisites that need to be met before taking a Quick Start. (includes markdown)
	// +optional
	Prerequisites []string `json:"prerequisites,omitempty"`
	// introduction describes the purpose of the Quick Start. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	Introduction string `json:"introduction"`
	// tasks is the list of steps the user has to perform to complete the Quick Start.
	// +kubebuilder:validation:MinItems=1
	// +required
	Tasks []ConsoleQuickStartTask `json:"tasks"`
	// conclusion sums up the Quick Start and suggests the possible next steps. (includes markdown)
	// +optional
	Conclusion string `json:"conclusion,omitempty"`
	// nextQuickStart is a list of the following Quick Starts, suggested for the user to try.
	// +optional
	NextQuickStart []string `json:"nextQuickStart,omitempty"`
	// accessReviewResources contains a list of resources that the user's access
	// will be reviewed against in order for the user to complete the Quick Start.
	// The Quick Start will be hidden if any of the access reviews fail.
	// +optional
	AccessReviewResources []authorizationv1.ResourceAttributes `json:"accessReviewResources,omitempty"`
}

ConsoleQuickStartSpec is the desired quick start configuration.

func (*ConsoleQuickStartSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartSpec.

func (*ConsoleQuickStartSpec) DeepCopyInto

func (in *ConsoleQuickStartSpec) DeepCopyInto(out *ConsoleQuickStartSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleQuickStartSpec) SwaggerDoc

func (ConsoleQuickStartSpec) SwaggerDoc() map[string]string

type ConsoleQuickStartTask

type ConsoleQuickStartTask struct {
	// title describes the task and is displayed as a step heading.
	// +kubebuilder:validation:MinLength=1
	// +required
	Title string `json:"title"`
	// description describes the steps needed to complete the task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	Description string `json:"description"`
	// review contains instructions to validate the task is complete. The user will select 'Yes' or 'No'.
	// using a radio button, which indicates whether the step was completed successfully.
	// +optional
	Review *ConsoleQuickStartTaskReview `json:"review,omitempty"`
	// summary contains information about the passed step.
	// +optional
	Summary *ConsoleQuickStartTaskSummary `json:"summary,omitempty"`
}

ConsoleQuickStartTask is a single step in a Quick Start.

func (*ConsoleQuickStartTask) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartTask.

func (*ConsoleQuickStartTask) DeepCopyInto

func (in *ConsoleQuickStartTask) DeepCopyInto(out *ConsoleQuickStartTask)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleQuickStartTask) SwaggerDoc

func (ConsoleQuickStartTask) SwaggerDoc() map[string]string

type ConsoleQuickStartTaskReview

type ConsoleQuickStartTaskReview struct {
	// instructions contains steps that user needs to take in order
	// to validate his work after going through a task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	Instructions string `json:"instructions"`
	// failedTaskHelp contains suggestions for a failed task review and is shown at the end of task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +required
	FailedTaskHelp string `json:"failedTaskHelp"`
}

ConsoleQuickStartTaskReview contains instructions that validate a task was completed successfully.

func (*ConsoleQuickStartTaskReview) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartTaskReview.

func (*ConsoleQuickStartTaskReview) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleQuickStartTaskReview) SwaggerDoc

func (ConsoleQuickStartTaskReview) SwaggerDoc() map[string]string

type ConsoleQuickStartTaskSummary

type ConsoleQuickStartTaskSummary struct {
	// success describes the succesfully passed task.
	// +kubebuilder:validation:MinLength=1
	// +required
	Success string `json:"success"`
	// failed briefly describes the unsuccessfully passed task. (includes markdown)
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=128
	// +required
	Failed string `json:"failed"`
}

ConsoleQuickStartTaskSummary contains information about a passed step.

func (*ConsoleQuickStartTaskSummary) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleQuickStartTaskSummary.

func (*ConsoleQuickStartTaskSummary) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleQuickStartTaskSummary) SwaggerDoc

func (ConsoleQuickStartTaskSummary) SwaggerDoc() map[string]string

type ConsoleSample

type ConsoleSample struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	// spec contains configuration for a console sample.
	// +required
	Spec ConsoleSampleSpec `json:"spec"`
}

ConsoleSample is an extension to customizing OpenShift web console by adding samples.

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consolesamples,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=ConsoleSample is an extension to customizing OpenShift web console by adding samples." +kubebuilder:metadata:annotations="displayName=ConsoleSample" +openshift:compatibility-gen:level=1

func (*ConsoleSample) DeepCopy

func (in *ConsoleSample) DeepCopy() *ConsoleSample

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSample.

func (*ConsoleSample) DeepCopyInto

func (in *ConsoleSample) DeepCopyInto(out *ConsoleSample)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleSample) DeepCopyObject

func (in *ConsoleSample) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleSample) SwaggerDoc

func (ConsoleSample) SwaggerDoc() map[string]string

type ConsoleSampleContainerImportSource

type ConsoleSampleContainerImportSource struct {
	// reference to a container image that provides a HTTP service.
	// The service must be exposed on the default port (8080) unless
	// otherwise configured with the port field.
	//
	// Supported formats:
	//   - <repository-name>/<image-name>
	//   - docker.io/<repository-name>/<image-name>
	//   - quay.io/<repository-name>/<image-name>
	//   - quay.io/<repository-name>/<image-name>@sha256:<image hash>
	//   - quay.io/<repository-name>/<image-name>:<tag>
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	Image string `json:"image"`
	// service contains configuration for the Service resource created for this sample.
	// +optional
	// +kubebuilder:default={"targetPort": 8080}
	// +default:={"targetPort": 8080}
	Service ConsoleSampleContainerImportSourceService `json:"service"`
}

ConsoleSampleContainerImportSource let the user import a container image.

func (*ConsoleSampleContainerImportSource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleContainerImportSource.

func (*ConsoleSampleContainerImportSource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleContainerImportSource) SwaggerDoc

type ConsoleSampleContainerImportSourceService

type ConsoleSampleContainerImportSourceService struct {
	// targetPort is the port that the service listens on for HTTP requests.
	// This port will be used for Service and Route created for this sample.
	// Port must be in the range 1 to 65535.
	// Default port is 8080.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=8080
	// +default:=8080
	TargetPort int32 `json:"targetPort,omitempty"`
}

ConsoleSampleContainerImportSourceService let the samples author define defaults for the Service created for this sample.

func (*ConsoleSampleContainerImportSourceService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleContainerImportSourceService.

func (*ConsoleSampleContainerImportSourceService) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleContainerImportSourceService) SwaggerDoc

type ConsoleSampleGitImportSource

type ConsoleSampleGitImportSource struct {
	// repository contains the reference to the actual Git repository.
	// +required
	Repository ConsoleSampleGitImportSourceRepository `json:"repository"`
	// service contains configuration for the Service resource created for this sample.
	// +optional
	// +kubebuilder:default={"targetPort": 8080}
	// +default:={"targetPort": 8080}
	Service ConsoleSampleGitImportSourceService `json:"service"`
}

ConsoleSampleGitImportSource let the user import code from a public Git repository.

func (*ConsoleSampleGitImportSource) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleGitImportSource.

func (*ConsoleSampleGitImportSource) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleGitImportSource) SwaggerDoc

func (ConsoleSampleGitImportSource) SwaggerDoc() map[string]string

type ConsoleSampleGitImportSourceRepository

type ConsoleSampleGitImportSourceRepository struct {
	// url of the Git repository that contains a HTTP service.
	// The HTTP service must be exposed on the default port (8080) unless
	// otherwise configured with the port field.
	//
	// Only public repositories on GitHub, GitLab and Bitbucket are currently supported:
	//
	//   - https://github.com/<org>/<repository>
	//   - https://gitlab.com/<org>/<repository>
	//   - https://bitbucket.org/<org>/<repository>
	//
	// The url must have a maximum length of 256 characters.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Pattern=`^https:\/\/(github.com|gitlab.com|bitbucket.org)\/[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+(.git)?$`
	URL string `json:"url"`
	// revision is the git revision at which to clone the git repository
	// Can be used to clone a specific branch, tag or commit SHA.
	// Must be at most 256 characters in length.
	// When omitted the repository's default branch is used.
	// +optional
	// +kubebuilder:validation:MaxLength=256
	Revision string `json:"revision"`
	// contextDir is used to specify a directory within the repository to build the
	// component.
	// Must start with `/` and have a maximum length of 256 characters.
	// When omitted, the default value is to build from the root of the repository.
	// +optional
	// +kubebuilder:validation:MaxLength=256
	// +kubebuilder:validation:Pattern=`^/`
	ContextDir string `json:"contextDir"`
}

ConsoleSampleGitImportSourceRepository let the user import code from a public git repository.

func (*ConsoleSampleGitImportSourceRepository) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleGitImportSourceRepository.

func (*ConsoleSampleGitImportSourceRepository) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleGitImportSourceRepository) SwaggerDoc

type ConsoleSampleGitImportSourceService

type ConsoleSampleGitImportSourceService struct {
	// targetPort is the port that the service listens on for HTTP requests.
	// This port will be used for Service created for this sample.
	// Port must be in the range 1 to 65535.
	// Default port is 8080.
	// +optional
	// +kubebuilder:validation:Minimum=1
	// +kubebuilder:validation:Maximum=65535
	// +kubebuilder:default=8080
	// +default:=8080
	TargetPort int32 `json:"targetPort,omitempty"`
}

ConsoleSampleGitImportSourceService let the samples author define defaults for the Service created for this sample.

func (*ConsoleSampleGitImportSourceService) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleGitImportSourceService.

func (*ConsoleSampleGitImportSourceService) DeepCopyInto

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleGitImportSourceService) SwaggerDoc

type ConsoleSampleList

type ConsoleSampleList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleSample `json:"items"`
}

Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=1

func (*ConsoleSampleList) DeepCopy

func (in *ConsoleSampleList) DeepCopy() *ConsoleSampleList

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleList.

func (*ConsoleSampleList) DeepCopyInto

func (in *ConsoleSampleList) DeepCopyInto(out *ConsoleSampleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleSampleList) DeepCopyObject

func (in *ConsoleSampleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleSampleList) SwaggerDoc

func (ConsoleSampleList) SwaggerDoc() map[string]string

type ConsoleSampleSource

type ConsoleSampleSource struct {
	// type of the sample, currently supported: "GitImport";"ContainerImport"
	// +unionDiscriminator
	// +required
	// +kubebuilder:validation:Enum:="GitImport";"ContainerImport"
	Type ConsoleSampleSourceType `json:"type"`

	// gitImport allows the user to import code from a git repository.
	// +unionMember
	// +optional
	GitImport *ConsoleSampleGitImportSource `json:"gitImport,omitempty"`

	// containerImport allows the user import a container image.
	// +unionMember
	// +optional
	ContainerImport *ConsoleSampleContainerImportSource `json:"containerImport,omitempty"`
}

ConsoleSampleSource is the actual sample definition and can hold different sample types. Unsupported sample types will be ignored in the web console. +union +kubebuilder:validation:XValidation:rule="self.type == 'GitImport' ? has(self.gitImport) : !has(self.gitImport)",message="source.gitImport is required when source.type is GitImport, and forbidden otherwise" +kubebuilder:validation:XValidation:rule="self.type == 'ContainerImport' ? has(self.containerImport) : !has(self.containerImport)",message="source.containerImport is required when source.type is ContainerImport, and forbidden otherwise"

func (*ConsoleSampleSource) DeepCopy

func (in *ConsoleSampleSource) DeepCopy() *ConsoleSampleSource

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleSource.

func (*ConsoleSampleSource) DeepCopyInto

func (in *ConsoleSampleSource) DeepCopyInto(out *ConsoleSampleSource)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleSource) SwaggerDoc

func (ConsoleSampleSource) SwaggerDoc() map[string]string

type ConsoleSampleSourceType

type ConsoleSampleSourceType string

ConsoleSampleSourceType is an enumeration of the supported sample types. Unsupported samples types will be ignored in the web console. +kubebuilder:validation:Enum:=GitImport;ContainerImport

const (
	// A sample that let the user import code from a git repository.
	GitImport ConsoleSampleSourceType = "GitImport"
	// A sample that let the user import a container image.
	ContainerImport ConsoleSampleSourceType = "ContainerImport"
)

type ConsoleSampleSpec

type ConsoleSampleSpec struct {
	// title is the display name of the sample.
	//
	// It is required and must be no more than 50 characters in length.
	// +required
	// +kubebuilder:validation:MinLength=1
	// +kubebuilder:validation:MaxLength=50
	Title string `json:"title"`

	// abstract is a short introduction to the sample.
	//
	// It is required and must be no more than 100 characters in length.
	//
	// The abstract is shown on the sample card tile below the title and provider
	// and is limited to three lines of content.
	// +required
	// +kubebuilder:validation:MaxLength=100
	Abstract string `json:"abstract"`

	// description is a long form explanation of the sample.
	//
	// It is required and can have a maximum length of **4096** characters.
	//
	// It is a README.md-like content for additional information, links, pre-conditions, and other instructions.
	// It will be rendered as Markdown so that it can contain line breaks, links, and other simple formatting.
	// +required
	// +kubebuilder:validation:MaxLength=4096
	Description string `json:"description"`

	// icon is an optional base64 encoded image and shown beside the sample title.
	//
	// The format must follow the data: URL format and can have a maximum size of **10 KB**.
	//
	//   data:[<mediatype>][;base64],<base64 encoded image>
	//
	// For example:
	//
	//   data:image;base64,             plus the base64 encoded image.
	//
	// Vector images can also be used. SVG icons must start with:
	//
	//   data:image/svg+xml;base64,     plus the base64 encoded SVG image.
	//
	// All sample catalog icons will be shown on a white background (also when the dark theme is used).
	// The web console ensures that different aspect ratios work correctly.
	// Currently, the surface of the icon is at most 40x100px.
	//
	// For more information on the data URL format, please visit
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Basics_of_HTTP/Data_URLs.
	// +optional
	// +kubebuilder:validation:Pattern=`^data:([a-z/\.+0-9]*;(([-a-zA-Z0-9=])*;)?)?base64,`
	// +kubebuilder:validation:MaxLength=14000
	Icon string `json:"icon"`

	// type is an optional label to group multiple samples.
	//
	// It is optional and must be no more than 20 characters in length.
	//
	// Recommendation is a singular term like "Builder Image", "Devfile" or "Serverless Function".
	//
	// Currently, the type is shown a badge on the sample card tile in the top right corner.
	// +optional
	// +kubebuilder:validation:MaxLength=20
	Type string `json:"type"`

	// provider is an optional label to honor who provides the sample.
	//
	// It is optional and must be no more than 50 characters in length.
	//
	// A provider can be a company like "Red Hat" or an organization like "CNCF" or "Knative".
	//
	// Currently, the provider is only shown on the sample card tile below the title with the prefix "Provided by "
	// +optional
	// +kubebuilder:validation:MaxLength=50
	Provider string `json:"provider"`

	// tags are optional string values that can be used to find samples in the samples catalog.
	//
	// Examples of common tags may be "Java", "Quarkus", etc.
	//
	// They will be displayed on the samples details page.
	// +optional
	// +listType=set
	// +kubebuilder:validation:MaxItems:=10
	Tags []string `json:"tags"`

	// source defines where to deploy the sample service from.
	// The sample may be sourced from an external git repository or container image.
	// +required
	Source ConsoleSampleSource `json:"source"`
}

ConsoleSampleSpec is the desired sample for the web console. Samples will appear with their title, descriptions and a badge in a samples catalog.

func (*ConsoleSampleSpec) DeepCopy

func (in *ConsoleSampleSpec) DeepCopy() *ConsoleSampleSpec

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleSampleSpec.

func (*ConsoleSampleSpec) DeepCopyInto

func (in *ConsoleSampleSpec) DeepCopyInto(out *ConsoleSampleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleSampleSpec) SwaggerDoc

func (ConsoleSampleSpec) SwaggerDoc() map[string]string

type ConsoleYAMLSample

type ConsoleYAMLSample struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard object's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ObjectMeta `json:"metadata"`

	Spec ConsoleYAMLSampleSpec `json:"spec"`
}

ConsoleYAMLSample is an extension for customizing OpenShift web console YAML samples.

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +kubebuilder:object:root=true +kubebuilder:resource:path=consoleyamlsamples,scope=Cluster +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/481 +openshift:file-pattern=operatorOrdering=00 +openshift:capability=Console +kubebuilder:metadata:annotations="description=Extension for configuring openshift web console YAML samples." +kubebuilder:metadata:annotations="displayName=ConsoleYAMLSample" +openshift:compatibility-gen:level=2

func (*ConsoleYAMLSample) DeepCopy

func (in *ConsoleYAMLSample) DeepCopy() *ConsoleYAMLSample

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleYAMLSample.

func (*ConsoleYAMLSample) DeepCopyInto

func (in *ConsoleYAMLSample) DeepCopyInto(out *ConsoleYAMLSample)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleYAMLSample) DeepCopyObject

func (in *ConsoleYAMLSample) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleYAMLSample) SwaggerDoc

func (ConsoleYAMLSample) SwaggerDoc() map[string]string

type ConsoleYAMLSampleDescription

type ConsoleYAMLSampleDescription string

ConsoleYAMLSampleDescription of the YAML sample. +kubebuilder:validation:Pattern=`^(.|\s)*\S(.|\s)*$`

type ConsoleYAMLSampleList

type ConsoleYAMLSampleList struct {
	metav1.TypeMeta `json:",inline"`

	// metadata is the standard list's metadata.
	// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
	metav1.ListMeta `json:"metadata"`

	Items []ConsoleYAMLSample `json:"items"`
}

Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer). +openshift:compatibility-gen:level=2

func (*ConsoleYAMLSampleList) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleYAMLSampleList.

func (*ConsoleYAMLSampleList) DeepCopyInto

func (in *ConsoleYAMLSampleList) DeepCopyInto(out *ConsoleYAMLSampleList)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (*ConsoleYAMLSampleList) DeepCopyObject

func (in *ConsoleYAMLSampleList) DeepCopyObject() runtime.Object

DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.

func (ConsoleYAMLSampleList) SwaggerDoc

func (ConsoleYAMLSampleList) SwaggerDoc() map[string]string

type ConsoleYAMLSampleSpec

type ConsoleYAMLSampleSpec struct {
	// targetResource contains apiVersion and kind of the resource
	// YAML sample is representating.
	TargetResource metav1.TypeMeta `json:"targetResource"`
	// title of the YAML sample.
	Title ConsoleYAMLSampleTitle `json:"title"`
	// description of the YAML sample.
	Description ConsoleYAMLSampleDescription `json:"description"`
	// yaml is the YAML sample to display.
	YAML ConsoleYAMLSampleYAML `json:"yaml"`
	// snippet indicates that the YAML sample is not the full YAML resource
	// definition, but a fragment that can be inserted into the existing
	// YAML document at the user's cursor.
	// +optional
	Snippet bool `json:"snippet"`
}

ConsoleYAMLSampleSpec is the desired YAML sample configuration. Samples will appear with their descriptions in a samples sidebar when creating a resources in the web console.

func (*ConsoleYAMLSampleSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsoleYAMLSampleSpec.

func (*ConsoleYAMLSampleSpec) DeepCopyInto

func (in *ConsoleYAMLSampleSpec) DeepCopyInto(out *ConsoleYAMLSampleSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (ConsoleYAMLSampleSpec) SwaggerDoc

func (ConsoleYAMLSampleSpec) SwaggerDoc() map[string]string

type ConsoleYAMLSampleTitle

type ConsoleYAMLSampleTitle string

ConsoleYAMLSampleTitle of the YAML sample. +kubebuilder:validation:Pattern=`^(.|\s)*\S(.|\s)*$`

type ConsoleYAMLSampleYAML

type ConsoleYAMLSampleYAML string

ConsoleYAMLSampleYAML is the YAML sample to display. +kubebuilder:validation:Pattern=`^(.|\s)*\S(.|\s)*$`

type DirectiveType

type DirectiveType string

DirectiveType is an enumeration of OpenShift web console supported CSP directives. LoadType is an enumeration of i18n loading types. +kubebuilder:validation:Enum:="DefaultSrc";"ScriptSrc";"StyleSrc";"ImgSrc";"FontSrc" +enum

const (
	// DefaultSrc directive serves as a fallback for the other CSP fetch directives.
	// For more information about the DefaultSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src
	DefaultSrc DirectiveType = "DefaultSrc"
	// ScriptSrc directive specifies valid sources for JavaScript.
	// For more information about the ScriptSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src
	ScriptSrc DirectiveType = "ScriptSrc"
	// StyleSrc directive specifies valid sources for stylesheets.
	// For more information about the StyleSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src
	StyleSrc DirectiveType = "StyleSrc"
	// ImgSrc directive specifies a valid sources of images and favicons.
	// For more information about the ImgSrc directive, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src
	ImgSrc DirectiveType = "ImgSrc"
	// FontSrc directive specifies valid sources for fonts loaded using @font-face.
	// For more information about the FontSrcdirective, see:
	// https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src
	FontSrc DirectiveType = "FontSrc"
)
type Link struct {
	// text is the display text for the link
	Text string `json:"text"`
	// href is the absolute secure URL for the link (must use https)
	// +kubebuilder:validation:Pattern=`^https://`
	Href string `json:"href"`
}

Represents a standard link that could be generated in HTML

func (*Link) DeepCopy

func (in *Link) DeepCopy() *Link

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new Link.

func (*Link) DeepCopyInto

func (in *Link) DeepCopyInto(out *Link)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (Link) SwaggerDoc

func (Link) SwaggerDoc() map[string]string

type LoadType

type LoadType string

LoadType is an enumeration of i18n loading types +kubebuilder:validation:Enum:=Preload;Lazy;""

const (
	// Preload will load all plugin's localization resources during
	// loading of the plugin.
	Preload LoadType = "Preload"
	// Lazy wont preload any plugin's localization resources, instead
	// will leave thier loading to runtime's lazy-loading.
	Lazy LoadType = "Lazy"
	// Empty is the default value of the LoadType field and it's
	// purpose is to improve discoverability of the field. The
	// the behaviour is equivalent to Lazy type.
	Empty LoadType = ""
)

type NamespaceDashboardSpec

type NamespaceDashboardSpec struct {
	// namespaces is an array of namespace names in which the dashboard link should appear.
	//
	// +optional
	Namespaces []string `json:"namespaces,omitempty"`
	// namespaceSelector is used to select the Namespaces that should contain dashboard link by label.
	// If the namespace labels match, dashboard link will be shown for the namespaces.
	//
	// +optional
	NamespaceSelector *metav1.LabelSelector `json:"namespaceSelector,omitempty"`
}

NamespaceDashboardSpec is a specification of namespaces in which the dashboard link should appear. If both namespaces and namespaceSelector are specified, the link will appear in namespaces that match either

func (*NamespaceDashboardSpec) DeepCopy

DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NamespaceDashboardSpec.

func (*NamespaceDashboardSpec) DeepCopyInto

func (in *NamespaceDashboardSpec) DeepCopyInto(out *NamespaceDashboardSpec)

DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.

func (NamespaceDashboardSpec) SwaggerDoc

func (NamespaceDashboardSpec) SwaggerDoc() map[string]string

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL