v1alpha1

package
v0.1.20 Latest Latest
Warning

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

Go to latest
Published: Jan 4, 2022 License: Apache-2.0 Imports: 12 Imported by: 2

Documentation

Overview

Package v1alpha1 contains API Schema definitions for the services v1alpha1 API group +kubebuilder:object:generate=true +groupName=services.cloud.sap.com

Index

Constants

View Source
const (
	ServiceInstanceController ControllerName = "ServiceInstance"
	ServiceBindingController  ControllerName = "ServiceBinding"
	FinalizerName             string         = "services.cloud.sap.com/sap-btp-finalizer"
)
View Source
const (
	// ConditionSucceeded represents whether the last operation CREATE/UPDATE/DELETE was successful.
	ConditionSucceeded = "Succeeded"

	// ConditionFailed represents information about a final failure that should not be retried.
	ConditionFailed = "Failed"

	// ConditionReady represents if the resource ready for usage.
	ConditionReady = "Ready"
)

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "services.cloud.sap.com", 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 ControllerName

type ControllerName string

type ParametersFromSource added in v0.1.1

type ParametersFromSource struct {
	// The Secret key to select from.
	// The value must be a JSON object.
	// +optional
	SecretKeyRef *SecretKeyReference `json:"secretKeyRef,omitempty"`
}

ParametersFromSource represents the source of a set of Parameters

func (*ParametersFromSource) DeepCopy added in v0.1.1

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

func (*ParametersFromSource) DeepCopyInto added in v0.1.1

func (in *ParametersFromSource) DeepCopyInto(out *ParametersFromSource)

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

type SAPBTPResource

type SAPBTPResource interface {
	client.Object
	SetConditions([]metav1.Condition)
	GetConditions() []metav1.Condition
	GetControllerName() ControllerName
	GetParameters() *runtime.RawExtension
	GetStatus() interface{}
	SetStatus(status interface{})
	GetObservedGeneration() int64
	SetObservedGeneration(int64)
	DeepClone() SAPBTPResource
	SetReady(metav1.ConditionStatus)
	GetReady() metav1.ConditionStatus
}

+kubebuilder:object:generate=false

type SecretKeyReference added in v0.1.1

type SecretKeyReference struct {
	// The name of the secret in the pod's namespace to select from.
	Name string `json:"name"`
	// The key of the secret to select from.  Must be a valid secret key.
	Key string `json:"key"`
}

SecretKeyReference references a key of a Secret.

func (*SecretKeyReference) DeepCopy added in v0.1.1

func (in *SecretKeyReference) DeepCopy() *SecretKeyReference

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

func (*SecretKeyReference) DeepCopyInto added in v0.1.1

func (in *SecretKeyReference) DeepCopyInto(out *SecretKeyReference)

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

type ServiceBinding

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

	Spec   ServiceBindingSpec   `json:"spec,omitempty"`
	Status ServiceBindingStatus `json:"status,omitempty"`
}

ServiceBinding is the Schema for the servicebindings API

func (*ServiceBinding) DeepClone

func (sb *ServiceBinding) DeepClone() SAPBTPResource

func (*ServiceBinding) DeepCopy

func (in *ServiceBinding) DeepCopy() *ServiceBinding

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

func (*ServiceBinding) DeepCopyInto

func (in *ServiceBinding) DeepCopyInto(out *ServiceBinding)

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

func (*ServiceBinding) DeepCopyObject

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

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

func (*ServiceBinding) GetConditions

func (sb *ServiceBinding) GetConditions() []metav1.Condition

func (*ServiceBinding) GetControllerName

func (sb *ServiceBinding) GetControllerName() ControllerName

func (*ServiceBinding) GetObservedGeneration

func (sb *ServiceBinding) GetObservedGeneration() int64

func (*ServiceBinding) GetParameters

func (sb *ServiceBinding) GetParameters() *runtime.RawExtension

func (*ServiceBinding) GetReady added in v0.1.5

func (sb *ServiceBinding) GetReady() metav1.ConditionStatus

func (*ServiceBinding) GetStatus

func (sb *ServiceBinding) GetStatus() interface{}

func (*ServiceBinding) SetConditions

func (sb *ServiceBinding) SetConditions(conditions []metav1.Condition)

func (*ServiceBinding) SetObservedGeneration

func (sb *ServiceBinding) SetObservedGeneration(newObserved int64)

func (*ServiceBinding) SetReady added in v0.1.5

func (sb *ServiceBinding) SetReady(ready metav1.ConditionStatus)

func (*ServiceBinding) SetStatus

func (sb *ServiceBinding) SetStatus(status interface{})

func (*ServiceBinding) SetupWebhookWithManager

func (sb *ServiceBinding) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ServiceBinding) ValidateCreate

func (sb *ServiceBinding) ValidateCreate() error

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

func (*ServiceBinding) ValidateDelete

func (sb *ServiceBinding) ValidateDelete() error

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

func (*ServiceBinding) ValidateUpdate

func (sb *ServiceBinding) ValidateUpdate(old runtime.Object) error

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

type ServiceBindingList

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

ServiceBindingList contains a list of ServiceBinding

func (*ServiceBindingList) DeepCopy

func (in *ServiceBindingList) DeepCopy() *ServiceBindingList

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

func (*ServiceBindingList) DeepCopyInto

func (in *ServiceBindingList) DeepCopyInto(out *ServiceBindingList)

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

func (*ServiceBindingList) DeepCopyObject

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

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

type ServiceBindingSpec

type ServiceBindingSpec struct {

	// The k8s name of the service instance to bind, should be in the namespace of the binding
	// +required
	// +kubebuilder:validation:MinLength=1
	ServiceInstanceName string `json:"serviceInstanceName"`

	// The name of the binding in Service Manager
	// +optional
	ExternalName string `json:"externalName"`

	// SecretName is the name of the secret where credentials will be stored
	// +optional
	SecretName string `json:"secretName"`

	// SecretKey is used as the key inside the secret to store the credentials
	// returned by the broker encoded as json to support complex data structures.
	// If not specified, the credentials returned by the broker will be used
	// directly as the secrets data.
	// +optional
	SecretKey *string `json:"secretKey,omitempty"`

	// SecretRootKey is used as the key inside the secret to store all binding
	// data including credentials returned by the broker and additional info under single key.
	// Convenient way to store whole binding data in single file when using `volumeMounts`.
	// +optional
	SecretRootKey *string `json:"secretRootKey,omitempty"`

	// Parameters for the binding.
	//
	// The Parameters field is NOT secret or secured in any way and should
	// NEVER be used to hold sensitive information. To set parameters that
	// contain secret information, you should ALWAYS store that information
	// in a Secret and use the ParametersFrom field.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// List of sources to populate parameters.
	// If a top-level parameter name exists in multiples sources among
	// `Parameters` and `ParametersFrom` fields, it is
	// considered to be a user error in the specification
	// +optional
	ParametersFrom []ParametersFromSource `json:"parametersFrom,omitempty"`

	// UserInfo contains information about the user that last modified this
	// instance. This field is set by the API server and not settable by the
	// end-user. User-provided values for this field are not saved.
	// +optional
	UserInfo *v1.UserInfo `json:"userInfo,omitempty"`
}

ServiceBindingSpec defines the desired state of ServiceBinding

func (*ServiceBindingSpec) DeepCopy

func (in *ServiceBindingSpec) DeepCopy() *ServiceBindingSpec

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

func (*ServiceBindingSpec) DeepCopyInto

func (in *ServiceBindingSpec) DeepCopyInto(out *ServiceBindingSpec)

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

type ServiceBindingStatus

type ServiceBindingStatus struct {

	// The ID of the instance in SM associated with binding
	// +optional
	InstanceID string `json:"instanceID,omitempty"`

	// The generated ID of the binding, will be automatically filled once the binding is created
	// +optional
	BindingID string `json:"bindingID,omitempty"`

	// URL of ongoing operation for the service binding
	OperationURL string `json:"operationURL,omitempty"`

	// The operation type (CREATE/UPDATE/DELETE) for ongoing operation
	OperationType types.OperationCategory `json:"operationType,omitempty"`

	// Service binding conditions
	Conditions []metav1.Condition `json:"conditions"`

	// Last generation that was acted on
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Indicates whether binding is ready for usage
	Ready metav1.ConditionStatus `json:"ready,omitempty"`
}

ServiceBindingStatus defines the observed state of ServiceBinding

func (*ServiceBindingStatus) DeepCopy

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

func (*ServiceBindingStatus) DeepCopyInto

func (in *ServiceBindingStatus) DeepCopyInto(out *ServiceBindingStatus)

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

type ServiceInstance

type ServiceInstance struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              ServiceInstanceSpec   `json:"spec,omitempty"`
	Status            ServiceInstanceStatus `json:"status,omitempty"`
}

ServiceInstance is the Schema for the serviceinstances API

func (*ServiceInstance) DeepClone

func (in *ServiceInstance) DeepClone() SAPBTPResource

func (*ServiceInstance) DeepCopy

func (in *ServiceInstance) DeepCopy() *ServiceInstance

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

func (*ServiceInstance) DeepCopyInto

func (in *ServiceInstance) DeepCopyInto(out *ServiceInstance)

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

func (*ServiceInstance) DeepCopyObject

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

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

func (*ServiceInstance) GetConditions

func (in *ServiceInstance) GetConditions() []metav1.Condition

func (*ServiceInstance) GetControllerName

func (in *ServiceInstance) GetControllerName() ControllerName

func (*ServiceInstance) GetObservedGeneration

func (in *ServiceInstance) GetObservedGeneration() int64

func (*ServiceInstance) GetParameters

func (in *ServiceInstance) GetParameters() *runtime.RawExtension

func (*ServiceInstance) GetReady added in v0.1.5

func (in *ServiceInstance) GetReady() metav1.ConditionStatus

func (*ServiceInstance) GetStatus

func (in *ServiceInstance) GetStatus() interface{}

func (*ServiceInstance) SetConditions

func (in *ServiceInstance) SetConditions(conditions []metav1.Condition)

func (*ServiceInstance) SetObservedGeneration

func (in *ServiceInstance) SetObservedGeneration(newObserved int64)

func (*ServiceInstance) SetReady added in v0.1.5

func (in *ServiceInstance) SetReady(ready metav1.ConditionStatus)

func (*ServiceInstance) SetStatus

func (in *ServiceInstance) SetStatus(status interface{})

type ServiceInstanceList

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

ServiceInstanceList contains a list of ServiceInstance

func (*ServiceInstanceList) DeepCopy

func (in *ServiceInstanceList) DeepCopy() *ServiceInstanceList

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

func (*ServiceInstanceList) DeepCopyInto

func (in *ServiceInstanceList) DeepCopyInto(out *ServiceInstanceList)

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

func (*ServiceInstanceList) DeepCopyObject

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

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

type ServiceInstanceSpec

type ServiceInstanceSpec struct {

	// The name of the service offering
	// +kubebuilder:validation:MinLength=1
	ServiceOfferingName string `json:"serviceOfferingName"`

	// The name of the service plan
	// +kubebuilder:validation:MinLength=1
	ServicePlanName string `json:"servicePlanName"`

	// The plan ID in case service offering and plan name are ambiguous
	// +optional
	ServicePlanID string `json:"servicePlanID,omitempty"`

	// The name of the instance in Service Manager
	ExternalName string `json:"externalName,omitempty"`

	// Provisioning parameters for the instance.
	//
	// The Parameters field is NOT secret or secured in any way and should
	// NEVER be used to hold sensitive information. To set parameters that
	// contain secret information, you should ALWAYS store that information
	// in a Secret and use the ParametersFrom field.
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	Parameters *runtime.RawExtension `json:"parameters,omitempty"`

	// List of sources to populate parameters.
	// If a top-level parameter name exists in multiples sources among
	// `Parameters` and `ParametersFrom` fields, it is
	// considered to be a user error in the specification
	// +optional
	ParametersFrom []ParametersFromSource `json:"parametersFrom,omitempty"`

	// List of custom tags describing the ServiceInstance, will be copied to `ServiceBinding` secret in the key called `tags`.
	// +optional
	CustomTags []string `json:"customTags,omitempty"`

	// UserInfo contains information about the user that last modified this
	// instance. This field is set by the API server and not settable by the
	// end-user. User-provided values for this field are not saved.
	// +optional
	UserInfo *v1.UserInfo `json:"userInfo,omitempty"`
}

ServiceInstanceSpec defines the desired state of ServiceInstance

func (*ServiceInstanceSpec) DeepCopy

func (in *ServiceInstanceSpec) DeepCopy() *ServiceInstanceSpec

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

func (*ServiceInstanceSpec) DeepCopyInto

func (in *ServiceInstanceSpec) DeepCopyInto(out *ServiceInstanceSpec)

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

type ServiceInstanceStatus

type ServiceInstanceStatus struct {

	// The generated ID of the instance, will be automatically filled once the instance is created
	// +optional
	InstanceID string `json:"instanceID,omitempty"`

	// Tags describing the ServiceInstance as provided in service catalog, will be copied to `ServiceBinding` secret in the key called `tags`.
	Tags []string `json:"tags,omitempty"`

	// URL of ongoing operation for the service instance
	OperationURL string `json:"operationURL,omitempty"`

	// The operation type (CREATE/UPDATE/DELETE) for ongoing operation
	OperationType types.OperationCategory `json:"operationType,omitempty"`

	// Service instance conditions
	Conditions []metav1.Condition `json:"conditions"`

	// Last generation that was acted on
	ObservedGeneration int64 `json:"observedGeneration,omitempty"`

	// Indicates whether instance is ready for usage
	Ready metav1.ConditionStatus `json:"ready,omitempty"`
}

ServiceInstanceStatus defines the observed state of ServiceInstance

func (*ServiceInstanceStatus) DeepCopy

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

func (*ServiceInstanceStatus) DeepCopyInto

func (in *ServiceInstanceStatus) DeepCopyInto(out *ServiceInstanceStatus)

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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