v1alpha1

package
v0.4.1 Latest Latest
Warning

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

Go to latest
Published: Aug 2, 2021 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the api v1alpha1 API group +kubebuilder:object:generate=true +groupName=app.fybrik.io

Index

Constants

View Source
const (
	BlueprintNamespaceLabel = "app.fybrik.io/blueprintNamespace"
	BlueprintNameLabel      = "app.fybrik.io/blueprintName"
)
View Source
const (
	InvalidAssetID              string = "The asset does not exist."
	ReadAccessDenied            string = "Governance policies forbid access to the data."
	CopyNotAllowed              string = "Copy of the data is required but can not be done according to the governance policies."
	WriteNotAllowed             string = "Governance policies forbid writing of the data."
	ModuleNotFound              string = "No module has been registered"
	InsufficientStorage         string = "No bucket was provisioned for implicit copy"
	InvalidClusterConfiguration string = "Cluster configuration does not support the requirements."
)

ErrorMessages that are reported to the user

View Source
const (
	ReadyConditionIndex int64 = 0
	DenyConditionIndex  int64 = 1
	ErrorConditionIndex int64 = 2
)

Condition indices are static. Conditions always present in the status.

View Source
const (
	ApplicationClusterLabel   = "app.fybrik.io/appCluster"
	ApplicationNamespaceLabel = "app.fybrik.io/appNamespace"
	ApplicationNameLabel      = "app.fybrik.io/appName"
)
View Source
const (
	S3          string = "s3"
	Kafka       string = "kafka"
	JdbcDb2     string = "jdbc-db2"
	ArrowFlight string = "fybrik-arrow-flight"
	Arrow       string = "arrow"
	Parquet     string = "parquet"
	Table       string = "table"
)

Values used in tests and for grpc connection with connectors.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "app.fybrik.io", Version: "v1alpha1"}

	// SchemeBuilder is used to add go types to the GroupVersionKind scheme
	SchemeBuilder = &scheme.Builder{GroupVersion: GroupVersion}

	// AddToScheme adds the types in this group-version to the given scheme.
	AddToScheme = SchemeBuilder.AddToScheme
)

Functions

This section is empty.

Types

type ApplicationDetails

type ApplicationDetails map[string]string

ApplicationDetails provides information about the Data Scientist's application, which is deployed separately. The information provided is used to determine if the data should be altered in any way prior to its use, based on policies and rules defined in an external data policy manager.

func (ApplicationDetails) DeepCopy

func (in ApplicationDetails) DeepCopy() ApplicationDetails

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

func (ApplicationDetails) DeepCopyInto

func (in ApplicationDetails) DeepCopyInto(out *ApplicationDetails)

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

type Blueprint

type Blueprint struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   BlueprintSpec   `json:"spec,omitempty"`
	Status BlueprintStatus `json:"status,omitempty"`
}

Blueprint is the Schema for the blueprints API

func (*Blueprint) DeepCopy

func (in *Blueprint) DeepCopy() *Blueprint

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

func (*Blueprint) DeepCopyInto

func (in *Blueprint) DeepCopyInto(out *Blueprint)

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

func (*Blueprint) DeepCopyObject

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

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

type BlueprintList

type BlueprintList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Blueprint `json:"items"`
}

BlueprintList contains a list of Blueprint

func (*BlueprintList) DeepCopy

func (in *BlueprintList) DeepCopy() *BlueprintList

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

func (*BlueprintList) DeepCopyInto

func (in *BlueprintList) DeepCopyInto(out *BlueprintList)

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

func (*BlueprintList) DeepCopyObject

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

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

type BlueprintSpec

type BlueprintSpec struct {
	// +required
	Entrypoint string `json:"entrypoint"`

	// +required
	Flow DataFlow `json:"flow"`

	// +required
	Templates []ComponentTemplate `json:"templates"`
}

BlueprintSpec defines the desired state of Blueprint, which is the runtime environment which provides the Data Scientist's application with secure and governed access to the data requested in the FybrikApplication. The blueprint uses an "argo like" syntax which indicates the components and the flow of data between them as steps TODO: Add an indication of the communication relationships between the components

func (*BlueprintSpec) DeepCopy

func (in *BlueprintSpec) DeepCopy() *BlueprintSpec

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

func (*BlueprintSpec) DeepCopyInto

func (in *BlueprintSpec) DeepCopyInto(out *BlueprintSpec)

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

type BlueprintStatus

type BlueprintStatus struct {
	// ObservedState includes information to be reported back to the FybrikApplication resource
	// It includes readiness and error indications, as well as user instructions
	// +optional
	ObservedState ObservedState `json:"observedState,omitempty"`

	// ObservedGeneration is taken from the Blueprint metadata.  This is used to determine during reconcile
	// whether reconcile was called because the desired state changed, or whether status of the allocated resources should be checked.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Releases map each release to the observed generation of the blueprint containing this release.
	// At the end of reconcile, each release should be mapped to the latest blueprint version or be uninstalled.
	// +optional
	Releases map[string]int64 `json:"releases,omitempty"`
}

BlueprintStatus defines the observed state of Blueprint This includes readiness, error message, and indicators forthe Kubernetes resources owned by the Blueprint for cleanup and status monitoring

func (*BlueprintStatus) DeepCopy

func (in *BlueprintStatus) DeepCopy() *BlueprintStatus

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

func (*BlueprintStatus) DeepCopyInto

func (in *BlueprintStatus) DeepCopyInto(out *BlueprintStatus)

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

type Capability

type Capability struct {
	// Copy should have one or more instances in the list, and its content should have source and sink
	// Read should have one or more instances in the list, each with source populated
	// Write should have one or more instances in the list, each with sink populated
	// TODO - In the future if we have a module type that doesn't interface directly with data then this list could be empty
	// +required
	// +kubebuilder:validation:Min=1
	SupportedInterfaces []ModuleInOut `json:"supportedInterfaces"`

	// API indicates to the application how to access/write the data
	// +optional
	API *ModuleAPI `json:"api,omitempty"`

	// Actions are the data transformations that the module supports
	// +optional
	Actions []SupportedAction `json:"actions,omitempty"`
}

Capability declares what this module knows how to do and the types of data it knows how to handle

func (*Capability) DeepCopy

func (in *Capability) DeepCopy() *Capability

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

func (*Capability) DeepCopyInto

func (in *Capability) DeepCopyInto(out *Capability)

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

type CatalogRequirements

type CatalogRequirements struct {
	// CatalogService specifies the datacatalog service that will be used for catalogging the data into.
	// +optional
	CatalogService string `json:"service,omitempty"`

	// CatalogID specifies the catalog where the data will be cataloged.
	// +optional
	CatalogID string `json:"catalogID,omitempty"`
}

CatalogRequirements contain the specifics for catalogging the data asset

func (*CatalogRequirements) DeepCopy

func (in *CatalogRequirements) DeepCopy() *CatalogRequirements

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

func (*CatalogRequirements) DeepCopyInto

func (in *CatalogRequirements) DeepCopyInto(out *CatalogRequirements)

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

type ChartSpec

type ChartSpec struct {
	// Name of helm chart
	// +required
	Name string `json:"name"`

	// Values to pass to helm chart installation
	// +optional
	Values map[string]string `json:"values,omitempty"`
}

ChartSpec specifies chart name and values

func (*ChartSpec) DeepCopy

func (in *ChartSpec) DeepCopy() *ChartSpec

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

func (*ChartSpec) DeepCopyInto

func (in *ChartSpec) DeepCopyInto(out *ChartSpec)

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

type ComponentTemplate

type ComponentTemplate struct {

	// Name of the template
	// +required
	Name string `json:"name"`

	// Kind of k8s resource
	// +required
	Kind string `json:"kind"`

	// Chart contains the location of the helm chart with info detailing how to deploy
	// +required
	Chart ChartSpec `json:"chart"`
}

ComponentTemplate is a copy of a FybrikModule Custom Resource. It contains the information necessary to instantiate a component in a FlowStep, which provides the functionality described by the module. There are 3 different module types.

func (*ComponentTemplate) DeepCopy

func (in *ComponentTemplate) DeepCopy() *ComponentTemplate

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

func (*ComponentTemplate) DeepCopyInto

func (in *ComponentTemplate) DeepCopyInto(out *ComponentTemplate)

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

type Condition

type Condition struct {
	// Type of the condition
	Type ConditionType `json:"type"`
	// Status of the condition: true or false
	Status corev1.ConditionStatus `json:"status"`
	// Message contains the details of the current condition
	// +optional
	Message string `json:"message,omitempty"`
}

Condition describes the state of a FybrikApplication at a certain point.

func (*Condition) DeepCopy

func (in *Condition) DeepCopy() *Condition

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

func (*Condition) DeepCopyInto

func (in *Condition) DeepCopyInto(out *Condition)

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

type ConditionType

type ConditionType string

ConditionType represents a condition type

const (
	// ErrorCondition means that an error was encountered during blueprint construction
	ErrorCondition ConditionType = "Error"

	// DenyCondition means that access to a dataset is denied
	DenyCondition ConditionType = "Deny"

	// ReadyCondition means that access to a dataset is granted
	ReadyCondition ConditionType = "Ready"
)

type CopyModuleArgs

type CopyModuleArgs struct {

	// Source is the where the data currently resides
	// +required
	Source DataStore `json:"source"`

	// Destination is the data store to which the data will be copied
	// +required
	Destination DataStore `json:"destination"`

	// Transformations are different types of processing that may be done to the data as it is copied.
	// +optional
	Transformations []serde.Arbitrary `json:"transformations,omitempty"`
}

CopyModuleArgs define the input parameters for modules that copy data from location A to location B Credentials are stored in a credential management system such as vault

func (*CopyModuleArgs) DeepCopy

func (in *CopyModuleArgs) DeepCopy() *CopyModuleArgs

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

func (*CopyModuleArgs) DeepCopyInto

func (in *CopyModuleArgs) DeepCopyInto(out *CopyModuleArgs)

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

type CopyRequirements

type CopyRequirements struct {
	// Required indicates that the data must be copied.
	// +optional
	Required bool `json:"required,omitempty"`

	// Catalog indicates that the data asset must be cataloged.
	// +optional
	Catalog CatalogRequirements `json:"catalog,omitempty"`
}

CopyRequirements include the requirements for the data copy operation

func (*CopyRequirements) DeepCopy

func (in *CopyRequirements) DeepCopy() *CopyRequirements

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

func (*CopyRequirements) DeepCopyInto

func (in *CopyRequirements) DeepCopyInto(out *CopyRequirements)

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

type DataContext

type DataContext struct {
	// DataSetID is a unique identifier of the dataset chosen from the data catalog for processing by the data user application.
	// +required
	// +kubebuilder:validation:MinLength=1
	DataSetID string `json:"dataSetID"`

	// CatalogService represents the catalog service for accessing the requested dataset.
	// If not specified, the enterprise catalog service will be used.
	// +optional
	CatalogService string `json:"catalogService,omitempty"`
	// Requirements from the system
	// +required
	Requirements DataRequirements `json:"requirements"`
}

DataContext indicates data set chosen by the Data Scientist to be used by his application, and includes information about the data format and technologies used by the application to access the data.

func (*DataContext) DeepCopy

func (in *DataContext) DeepCopy() *DataContext

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

func (*DataContext) DeepCopyInto

func (in *DataContext) DeepCopyInto(out *DataContext)

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

type DataFlow

type DataFlow struct {

	// +required
	Name string `json:"name"`

	// +required
	Steps []FlowStep `json:"steps"`
}

DataFlow indicates the flow of the data between the components Currently we assume this is linear and thus use steps, but other more complex graphs could be defined as per how it is done in argo workflow

func (*DataFlow) DeepCopy

func (in *DataFlow) DeepCopy() *DataFlow

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

func (*DataFlow) DeepCopyInto

func (in *DataFlow) DeepCopyInto(out *DataFlow)

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

type DataRequirements

type DataRequirements struct {
	// Interface indicates the protocol and format expected by the data user
	// +required
	Interface InterfaceDetails `json:"interface"`

	// CopyRequrements include the requirements for copying the data
	// +optional
	Copy CopyRequirements `json:"copy,omitempty"`
}

DataRequirements structure contains a list of requirements (interface, need to catalog the dataset, etc.)

func (*DataRequirements) DeepCopy

func (in *DataRequirements) DeepCopy() *DataRequirements

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

func (*DataRequirements) DeepCopyInto

func (in *DataRequirements) DeepCopyInto(out *DataRequirements)

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

type DataStore

type DataStore struct {
	// Holds details for retrieving credentials by the modules from Vault store.
	Vault Vault `json:"vault"`
	// Connection has the relevant details for accesing the data (url, table, ssl, etc.)
	// +required
	Connection serde.Arbitrary `json:"connection"`
	// Format represents data format (e.g. parquet) as received from catalog connectors
	// +required
	Format string `json:"format"`
}

DataStore contains the details for accesing the data that are sent by catalog connectors Credentials for accesing the data are stored in Vault, in the location represented by Vault property.

func (*DataStore) DeepCopy

func (in *DataStore) DeepCopy() *DataStore

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

func (*DataStore) DeepCopyInto

func (in *DataStore) DeepCopyInto(out *DataStore)

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

type DatasetDetails

type DatasetDetails struct {
	// Reference to a Dataset resource containing the request to provision storage
	DatasetRef string `json:"datasetRef,omitempty"`
	// Reference to a secret where the credentials are stored
	SecretRef string `json:"secretRef,omitempty"`
	// Dataset information
	Details serde.Arbitrary `json:"details,omitempty"`
}

DatasetDetails contain dataset connection and metadata required to register this dataset in the enterprise catalog

func (*DatasetDetails) DeepCopy

func (in *DatasetDetails) DeepCopy() *DatasetDetails

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

func (*DatasetDetails) DeepCopyInto

func (in *DatasetDetails) DeepCopyInto(out *DatasetDetails)

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

type Dependency

type Dependency struct {

	// Type provides information used in determining how to instantiate the component
	// +required
	Type DependencyType `json:"type"`

	// Name is the name of the dependent component
	// +required
	Name string `json:"name"`
}

Dependency details another component on which this module relies - i.e. a pre-requisit

func (*Dependency) DeepCopy

func (in *Dependency) DeepCopy() *Dependency

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

func (*Dependency) DeepCopyInto

func (in *Dependency) DeepCopyInto(out *Dependency)

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

type DependencyType

type DependencyType string

DependencyType indicates what type of pre-requisit is required +kubebuilder:validation:Enum=module;connector;feature

const (
	// Module indicates a reliance on another module
	Module DependencyType = "module"

	// Connector - example for connecting to data catalog, policy compiler, external credential manager
	Connector DependencyType = "connector"

	// Feature indicates a dependency on an optional control plane capability
	Feature DependencyType = "feature"
)

type EndpointSpec

type EndpointSpec struct {
	// Always equals the release name. Can be omitted.
	// +optional
	Hostname string `json:"hostname,omitempty"`
	// +required
	Port int32 `json:"port"`

	// For example: http, https, grpc, grpc+tls, jdbc:oracle:thin:@ etc
	// +required
	Scheme string `json:"scheme"`
}

EndpointSpec is used both by the module creator and by the status of the fybrikapplication

func (*EndpointSpec) DeepCopy

func (in *EndpointSpec) DeepCopy() *EndpointSpec

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

func (*EndpointSpec) DeepCopyInto

func (in *EndpointSpec) DeepCopyInto(out *EndpointSpec)

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

type FlowStep

type FlowStep struct {

	// Name is the name of the instance of the module.
	// For example, if the application is named "notebook" and an implicitcopy
	// module is deemed necessary.  The FlowStep name would be notebook-implicitcopy.
	// +required
	Name string `json:"name"`

	// +required
	// Template is the name of the specification in the Blueprint describing how to instantiate
	// a component indicated by the module.  It is the name of a FybrikModule CRD.
	// For example: implicit-copy-db2wh-to-s3-latest
	Template string `json:"template"`

	// Arguments are the input parameters for a specific instance of a module.
	// +optional
	Arguments ModuleArguments `json:"arguments,omitempty"`
}

FlowStep is one step indicates an instance of a module in the blueprint, It includes the name of the module template (spec) and the parameters received by the component instance that is initiated by the orchestrator.

func (*FlowStep) DeepCopy

func (in *FlowStep) DeepCopy() *FlowStep

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

func (*FlowStep) DeepCopyInto

func (in *FlowStep) DeepCopyInto(out *FlowStep)

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

type FybrikApplication

type FybrikApplication struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FybrikApplicationSpec   `json:"spec,omitempty"`
	Status FybrikApplicationStatus `json:"status,omitempty"`
}

FybrikApplication provides information about the application being used by a Data Scientist, the nature of the processing, and the data sets that the Data Scientist has chosen for processing by the application. The FybrikApplication controller (aka pilot) obtains instructions regarding any governance related changes that must be performed on the data, identifies the modules capable of performing such changes, and finally generates the Blueprint which defines the secure runtime environment and all the components in it. This runtime environment provides the Data Scientist's application with access to the data requested in a secure manner and without having to provide any credentials for the data sets. The credentials are obtained automatically by the manager from an external credential management system, which may or may not be part of a data catalog. +kubebuilder:object:root=true +kubebuilder:subresource:status

func (*FybrikApplication) DeepCopy

func (in *FybrikApplication) DeepCopy() *FybrikApplication

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

func (*FybrikApplication) DeepCopyInto

func (in *FybrikApplication) DeepCopyInto(out *FybrikApplication)

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

func (*FybrikApplication) DeepCopyObject

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

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

func (*FybrikApplication) SetupWebhookWithManager

func (r *FybrikApplication) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*FybrikApplication) ValidateCreate

func (r *FybrikApplication) ValidateCreate() error

ValidateCreate implements webhook.Validator so a webhook will be registered for the type

func (*FybrikApplication) ValidateDelete

func (r *FybrikApplication) ValidateDelete() error

ValidateDelete implements webhook.Validator so a webhook will be registered for the type

func (*FybrikApplication) ValidateUpdate

func (r *FybrikApplication) ValidateUpdate(old runtime.Object) error

ValidateUpdate implements webhook.Validator so a webhook will be registered for the type

type FybrikApplicationList

type FybrikApplicationList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FybrikApplication `json:"items"`
}

FybrikApplicationList contains a list of FybrikApplication

func (*FybrikApplicationList) DeepCopy

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

func (*FybrikApplicationList) DeepCopyInto

func (in *FybrikApplicationList) DeepCopyInto(out *FybrikApplicationList)

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

func (*FybrikApplicationList) DeepCopyObject

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

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

type FybrikApplicationSpec

type FybrikApplicationSpec struct {

	// Selector enables to connect the resource to the application
	// Application labels should match the labels in the selector.
	// For some flows the selector may not be used.
	// +optional
	Selector Selector `json:"selector"`

	// SecretRef points to the secret that holds credentials for each system the user has been authenticated with.
	// The secret is deployed in FybrikApplication namespace.
	// +optional
	SecretRef string `json:"secretRef,omitempty"`

	// AppInfo contains information describing the reasons for the processing
	// that will be done by the Data Scientist's application.
	// +required
	AppInfo ApplicationDetails `json:"appInfo"`

	// Data contains the identifiers of the data to be used by the Data Scientist's application,
	// and the protocol used to access it and the format expected.
	// +required
	Data []DataContext `json:"data"`
}

FybrikApplicationSpec defines the desired state of FybrikApplication.

func (*FybrikApplicationSpec) DeepCopy

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

func (*FybrikApplicationSpec) DeepCopyInto

func (in *FybrikApplicationSpec) DeepCopyInto(out *FybrikApplicationSpec)

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

type FybrikApplicationStatus

type FybrikApplicationStatus struct {

	// Ready is true if a blueprint has been successfully orchestrated
	Ready bool `json:"ready,omitempty"`

	// Conditions represent the possible error and failure conditions
	// +optional
	Conditions []Condition `json:"conditions,omitempty"`

	// DataAccessInstructions indicate how the data user or his application may access the data.
	// Instructions are available upon successful orchestration.
	// +optional
	DataAccessInstructions string `json:"dataAccessInstructions,omitempty"`

	// CatalogedAssets provide the new asset identifiers after being registered in the enterprise catalog
	// It maps the original asset id to the cataloged asset id.
	// +optional
	CatalogedAssets map[string]string `json:"catalogedAssets,omitempty"`

	// ObservedGeneration is taken from the FybrikApplication metadata.  This is used to determine during reconcile
	// whether reconcile was called because the desired state changed, or whether the Blueprint status changed.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Generated resource identifier
	// +optional
	Generated *ResourceReference `json:"generated,omitempty"`

	// ProvisionedStorage maps a dataset (identified by AssetID) to the new provisioned bucket.
	// It allows FybrikApplication controller to manage buckets in case the spec has been modified, an error has occurred, or a delete event has been received.
	// ProvisionedStorage has the information required to register the dataset once the owned plotter resource is ready
	// +optional
	ProvisionedStorage map[string]DatasetDetails `json:"provisionedStorage,omitempty"`

	// ReadEndpointsMap maps an datasetID (after parsing from json to a string with dashes) to the endpoint spec from which the asset will be served to the application
	ReadEndpointsMap map[string]EndpointSpec `json:"readEndpointsMap,omitempty"`
}

FybrikApplicationStatus defines the observed state of FybrikApplication.

func (*FybrikApplicationStatus) DeepCopy

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

func (*FybrikApplicationStatus) DeepCopyInto

func (in *FybrikApplicationStatus) DeepCopyInto(out *FybrikApplicationStatus)

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

type FybrikModule

type FybrikModule struct {

	// Metadata should include name, namespace, label, annotations.
	// annotations should include author, summary, description
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

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

FybrikModule is a description of an injectable component. the parameters it requires, as well as the specification of how to instantiate such a component. It is used as metadata only. There is no status nor reconciliation.

func (*FybrikModule) DeepCopy

func (in *FybrikModule) DeepCopy() *FybrikModule

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

func (*FybrikModule) DeepCopyInto

func (in *FybrikModule) DeepCopyInto(out *FybrikModule)

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

func (*FybrikModule) DeepCopyObject

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

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

type FybrikModuleList

type FybrikModuleList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FybrikModule `json:"items"`
}

FybrikModuleList contains a list of FybrikModule

func (*FybrikModuleList) DeepCopy

func (in *FybrikModuleList) DeepCopy() *FybrikModuleList

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

func (*FybrikModuleList) DeepCopyInto

func (in *FybrikModuleList) DeepCopyInto(out *FybrikModuleList)

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

func (*FybrikModuleList) DeepCopyObject

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

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

type FybrikModuleSpec

type FybrikModuleSpec struct {
	// Flows is a list of the types of capabilities supported by the module - copy, read, write
	// +required
	Flows []ModuleFlow `json:"flows"`

	// Other components that must be installed in order for this module to work
	// +optional
	Dependencies []Dependency `json:"dependencies,omitempty"`

	// Capabilities declares what this module knows how to do and the types of data it knows how to handle
	// +required
	Capabilities Capability `json:"capabilities"`

	// Reference to a Helm chart that allows deployment of the resources required for this module
	// +required
	Chart ChartSpec `json:"chart"`

	// StatusIndicators allow to check status of a non-standard resource that can not be computed by helm/kstatus
	// +optional
	StatusIndicators []ResourceStatusIndicator `json:"statusIndicators,omitempty"`
}

FybrikModuleSpec contains the info common to all modules, which are one of the components that process, load, write, audit, monitor the data used by the data scientist's application.

func (*FybrikModuleSpec) DeepCopy

func (in *FybrikModuleSpec) DeepCopy() *FybrikModuleSpec

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

func (*FybrikModuleSpec) DeepCopyInto

func (in *FybrikModuleSpec) DeepCopyInto(out *FybrikModuleSpec)

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

type FybrikStorageAccount

type FybrikStorageAccount struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   FybrikStorageAccountSpec   `json:"spec,omitempty"`
	Status FybrikStorageAccountStatus `json:"status,omitempty"`
}

FybrikStorageAccount defines a storage account used for copying data. Only S3 based storage is supported. It contains endpoint, region and a reference to the credentials a Owner of the asset is responsible to store the credentials +kubebuilder:object:root=true

func (*FybrikStorageAccount) DeepCopy

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

func (*FybrikStorageAccount) DeepCopyInto

func (in *FybrikStorageAccount) DeepCopyInto(out *FybrikStorageAccount)

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

func (*FybrikStorageAccount) DeepCopyObject

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

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

type FybrikStorageAccountList

type FybrikStorageAccountList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []FybrikStorageAccount `json:"items"`
}

FybrikStorageAccountList contains a list of FybrikStorageAccount

func (*FybrikStorageAccountList) DeepCopy

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

func (*FybrikStorageAccountList) DeepCopyInto

func (in *FybrikStorageAccountList) DeepCopyInto(out *FybrikStorageAccountList)

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

func (*FybrikStorageAccountList) DeepCopyObject

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

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

type FybrikStorageAccountSpec

type FybrikStorageAccountSpec struct {
	// +required
	// A name of k8s secret deployed in the control plane.
	// This secret includes secretKey and accessKey credentials for S3 bucket
	SecretRef string `json:"secretRef"`
	// +required
	// Endpoint
	Endpoint string `json:"endpoint"`
	// +required
	// +kubebuilder:validation:MinItems=1
	// Regions
	Regions []string `json:"regions"`
}

FybrikStorageAccountSpec defines the desired state of FybrikStorageAccount

func (*FybrikStorageAccountSpec) DeepCopy

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

func (*FybrikStorageAccountSpec) DeepCopyInto

func (in *FybrikStorageAccountSpec) DeepCopyInto(out *FybrikStorageAccountSpec)

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

type FybrikStorageAccountStatus

type FybrikStorageAccountStatus struct {
}

FybrikStorageAccountStatus defines the observed state of FybrikStorageAccount

func (*FybrikStorageAccountStatus) DeepCopy

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

func (*FybrikStorageAccountStatus) DeepCopyInto

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

type InterfaceDetails

type InterfaceDetails struct {
	// Protocol defines the interface protocol used for data transactions
	// +required
	Protocol string `json:"protocol"`

	// DataFormat defines the data format type
	// +optional
	DataFormat string `json:"dataformat,omitempty"` // To be removed in future
}

InterfaceDetails indicate how the application or module receive or write the data

func (*InterfaceDetails) DeepCopy

func (in *InterfaceDetails) DeepCopy() *InterfaceDetails

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

func (*InterfaceDetails) DeepCopyInto

func (in *InterfaceDetails) DeepCopyInto(out *InterfaceDetails)

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

type MetaBlueprint

type MetaBlueprint struct {
	// +required
	Name string `json:"name"`

	// +required
	Namespace string `json:"namespace"`

	// +required
	Status BlueprintStatus `json:"status"`
}

MetaBlueprint defines blueprint metadata (name, namespace) and status

func CreateMetaBlueprint

func CreateMetaBlueprint(blueprint *Blueprint) MetaBlueprint

CreateMetaBlueprint creates MetaBlueprint structure of the given blueprint

func CreateMetaBlueprintWithoutState

func CreateMetaBlueprintWithoutState(blueprint *Blueprint) MetaBlueprint

CreateMetaBlueprintWithoutState creates the MetaBlueprint structure with an empty state

func (*MetaBlueprint) DeepCopy

func (in *MetaBlueprint) DeepCopy() *MetaBlueprint

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

func (*MetaBlueprint) DeepCopyInto

func (in *MetaBlueprint) DeepCopyInto(out *MetaBlueprint)

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

type ModuleAPI

type ModuleAPI struct {
	// +required
	InterfaceDetails `json:",inline"`
	// +required
	Endpoint EndpointSpec `json:"endpoint"`
}

func (*ModuleAPI) DeepCopy

func (in *ModuleAPI) DeepCopy() *ModuleAPI

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

func (*ModuleAPI) DeepCopyInto

func (in *ModuleAPI) DeepCopyInto(out *ModuleAPI)

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

type ModuleArguments

type ModuleArguments struct {
	// CopyArgs are parameters specific to modules that copy data from one data store to another.
	// +optional
	Copy *CopyModuleArgs `json:"copy,omitempty"`

	// ReadArgs are parameters that are specific to modules that enable an application to read data
	// +optional
	Read []ReadModuleArgs `json:"read,omitempty"`

	// WriteArgs are parameters that are specific to modules that enable an application to write data
	// +optional
	Write []WriteModuleArgs `json:"write,omitempty"`
}

ModuleArguments are the parameters passed to a component that runs in the data path In the future might support output args as well The arguments passed depend on the type of module

func (*ModuleArguments) DeepCopy

func (in *ModuleArguments) DeepCopy() *ModuleArguments

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

func (*ModuleArguments) DeepCopyInto

func (in *ModuleArguments) DeepCopyInto(out *ModuleArguments)

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

type ModuleFlow

type ModuleFlow string

ModuleFlow indicates what data flow is performed by the module +kubebuilder:validation:Enum=copy;read;write

const (
	// Copy moves data from one location to another - i.e implicit copy
	Copy ModuleFlow = "copy"

	// Write is accessed from within an application, typically through an SDK
	Write ModuleFlow = "write"

	// Read is accessed from within an application, typically through an SDK
	Read ModuleFlow = "read"
)

type ModuleInOut

type ModuleInOut struct {

	// Flow for which this interface is supported
	// +required
	Flow ModuleFlow `json:"flow"`

	// Source specifies the input data protocol and format
	// +optional
	Source *InterfaceDetails `json:"source,omitempty"`

	// Sink specifies the output data protocol and format
	// +optional
	Sink *InterfaceDetails `json:"sink,omitempty"`
}

ModuleInOut specifies the protocol and format of the data input and output by the module - if any

func (*ModuleInOut) DeepCopy

func (in *ModuleInOut) DeepCopy() *ModuleInOut

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

func (*ModuleInOut) DeepCopyInto

func (in *ModuleInOut) DeepCopyInto(out *ModuleInOut)

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

type ObservedState

type ObservedState struct {
	// Ready represents that the modules have been orchestrated successfully and the data is ready for usage
	Ready bool `json:"ready,omitempty"`
	// Error indicates that there has been an error to orchestrate the modules and provides the error message
	Error string `json:"error,omitempty"`
	// DataAccessInstructions indicate how the data user or his application may access the data.
	// Instructions are available upon successful orchestration.
	DataAccessInstructions string `json:"dataAccessInstructions,omitempty"`
}

ObservedState represents a part of the generated Blueprint/Plotter resource status that allows update of FybrikApplication status

func (*ObservedState) DeepCopy

func (in *ObservedState) DeepCopy() *ObservedState

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

func (*ObservedState) DeepCopyInto

func (in *ObservedState) DeepCopyInto(out *ObservedState)

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

type Plotter

type Plotter struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`

	Spec   PlotterSpec   `json:"spec,omitempty"`
	Status PlotterStatus `json:"status,omitempty"`
}

Plotter is the Schema for the plotters API

func (*Plotter) DeepCopy

func (in *Plotter) DeepCopy() *Plotter

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

func (*Plotter) DeepCopyInto

func (in *Plotter) DeepCopyInto(out *Plotter)

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

func (*Plotter) DeepCopyObject

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

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

type PlotterList

type PlotterList struct {
	metav1.TypeMeta `json:",inline"`
	metav1.ListMeta `json:"metadata,omitempty"`
	Items           []Plotter `json:"items"`
}

PlotterList contains a list of Plotter resources

func (*PlotterList) DeepCopy

func (in *PlotterList) DeepCopy() *PlotterList

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

func (*PlotterList) DeepCopyInto

func (in *PlotterList) DeepCopyInto(out *PlotterList)

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

func (*PlotterList) DeepCopyObject

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

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

type PlotterSpec

type PlotterSpec struct {

	// Selector enables to connect the resource to the application
	// Should match the selector of the owner - FybrikApplication CRD.
	Selector metav1.LabelSelector `json:"selector"`

	// +required
	// Blueprints structure represents remote blueprints mapped by the identifier of a cluster in which they will be running
	Blueprints map[string]BlueprintSpec `json:"blueprints"`
}

PlotterSpec defines the desired state of Plotter, which is applied in a multi-clustered environment. Plotter installs the runtime environment (as blueprints running on remote clusters) which provides the Data Scientist's application with secure and governed access to the data requested in the FybrikApplication.

func (*PlotterSpec) DeepCopy

func (in *PlotterSpec) DeepCopy() *PlotterSpec

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

func (*PlotterSpec) DeepCopyInto

func (in *PlotterSpec) DeepCopyInto(out *PlotterSpec)

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

type PlotterStatus

type PlotterStatus struct {
	// ObservedState includes information to be reported back to the FybrikApplication resource
	// It includes readiness and error indications, as well as user instructions
	// +optional
	ObservedState ObservedState `json:"observedState,omitempty"`

	// ObservedGeneration is taken from the Plotter metadata.  This is used to determine during reconcile
	// whether reconcile was called because the desired state changed, or whether status of the allocated blueprints should be checked.
	// +optional
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// + optional
	Blueprints map[string]MetaBlueprint `json:"blueprints,omitempty"`

	// + optional
	ReadyTimestamp *metav1.Time `json:"readyTimestamp,omitempty"`
}

PlotterStatus defines the observed state of Plotter This includes readiness, error message, and indicators received from blueprint resources owned by the Plotter for cleanup and status monitoring

func (*PlotterStatus) DeepCopy

func (in *PlotterStatus) DeepCopy() *PlotterStatus

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

func (*PlotterStatus) DeepCopyInto

func (in *PlotterStatus) DeepCopyInto(out *PlotterStatus)

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

type ReadModuleArgs

type ReadModuleArgs struct {
	// Source of the read path module
	// +required
	Source DataStore `json:"source"`

	// AssetID identifies the asset to be used for accessing the data when it is ready
	// It is copied from the FybrikApplication resource
	// +required
	AssetID string `json:"assetID"`

	// Transformations are different types of processing that may be done to the data
	// +optional
	Transformations []serde.Arbitrary `json:"transformations,omitempty"`
}

ReadModuleArgs define the input parameters for modules that read data from location A

func (*ReadModuleArgs) DeepCopy

func (in *ReadModuleArgs) DeepCopy() *ReadModuleArgs

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

func (*ReadModuleArgs) DeepCopyInto

func (in *ReadModuleArgs) DeepCopyInto(out *ReadModuleArgs)

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

type ResourceReference

type ResourceReference struct {
	// Name of the resource
	Name string `json:"name"`
	// Namespace of the resource
	Namespace string `json:"namespace"`
	// Kind of the resource (Blueprint, Plotter)
	Kind string `json:"kind"`
	// Version of FybrikApplication that has generated this resource
	AppVersion int64 `json:"appVersion"`
}

ResourceReference contains resource identifier(name, namespace, kind)

func (*ResourceReference) DeepCopy

func (in *ResourceReference) DeepCopy() *ResourceReference

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

func (*ResourceReference) DeepCopyInto

func (in *ResourceReference) DeepCopyInto(out *ResourceReference)

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

type ResourceStatusIndicator

type ResourceStatusIndicator struct {
	// Kind provides information about the resource kind
	// +required
	Kind string `json:"kind"`

	// SuccessCondition specifies a condition that indicates that the resource is ready
	// It uses kubernetes label selection syntax (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)
	// +required
	SuccessCondition string `json:"successCondition"`

	// FailureCondition specifies a condition that indicates the resource failure
	// It uses kubernetes label selection syntax (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)
	// +optional
	FailureCondition string `json:"failureCondition"`

	// ErrorMessage specifies the resource field to check for an error, e.g. status.errorMsg
	// +optional
	ErrorMessage string `json:"errorMessage,omitempty"`
}

ResourceStatusIndicator is used to determine the status of an orchestrated resource

func (*ResourceStatusIndicator) DeepCopy

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

func (*ResourceStatusIndicator) DeepCopyInto

func (in *ResourceStatusIndicator) DeepCopyInto(out *ResourceStatusIndicator)

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

type Selector

type Selector struct {
	// Cluster name
	// +optional
	ClusterName string `json:"clusterName"`

	// WorkloadSelector enables to connect the resource to the application
	// Application labels should match the labels in the selector.
	// +required
	WorkloadSelector metav1.LabelSelector `json:"workloadSelector"`
}

Selector is a label query over a set of resources in the specified cluster.

func (*Selector) DeepCopy

func (in *Selector) DeepCopy() *Selector

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

func (*Selector) DeepCopyInto

func (in *Selector) DeepCopyInto(out *Selector)

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

type SupportedAction

type SupportedAction struct {
	// +required
	ID string `json:"id,omitempty"`
	// +optional
	Level connectors.EnforcementAction_EnforcementActionLevel `json:"level,omitempty"`
}

SupportedAction declares an action that the module supports (action identifier and its scope)

func (*SupportedAction) DeepCopy

func (in *SupportedAction) DeepCopy() *SupportedAction

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

func (*SupportedAction) DeepCopyInto

func (in *SupportedAction) DeepCopyInto(out *SupportedAction)

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

type Vault

type Vault struct {
	// Role is the Vault role used for retrieving the credentials
	// +required
	Role string `json:"role"`
	// SecretPath is the path of the secret holding the Credentials in Vault
	// +required
	SecretPath string `json:"secretPath"`
	// Address is Vault address
	// +required
	Address string `json:"address"`
	// AuthPath is the path to auth method i.e. kubernetes
	// +required
	AuthPath string `json:"authPath"`
}

Holds details for retrieving credentials from Vault store.

func (*Vault) DeepCopy

func (in *Vault) DeepCopy() *Vault

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

func (*Vault) DeepCopyInto

func (in *Vault) DeepCopyInto(out *Vault)

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

type WriteModuleArgs

type WriteModuleArgs struct {
	// Destination is the data store to which the data will be written
	// +required
	Destination DataStore `json:"destination"`

	// Transformations are different types of processing that may be done to the data as it is written.
	// +optional
	Transformations []serde.Arbitrary `json:"transformations,omitempty"`
}

WriteModuleArgs define the input parameters for modules that write data to location B

func (*WriteModuleArgs) DeepCopy

func (in *WriteModuleArgs) DeepCopy() *WriteModuleArgs

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

func (*WriteModuleArgs) DeepCopyInto

func (in *WriteModuleArgs) DeepCopyInto(out *WriteModuleArgs)

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

Jump to

Keyboard shortcuts

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