v1

package
v0.6.2 Latest Latest
Warning

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

Go to latest
Published: Apr 14, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Overview

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

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "services.cloud.sap.com", Version: "v1"}

	// 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 CredentialsRotationPolicy

type CredentialsRotationPolicy struct {
	Enabled bool `json:"enabled"`
	// What frequency to perform binding rotation.
	RotationFrequency string `json:"rotationFrequency,omitempty"`
	// For how long to keep the rotated binding.
	RotatedBindingTTL string `json:"rotatedBindingTTL,omitempty"`
}

func (*CredentialsRotationPolicy) DeepCopy

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

func (*CredentialsRotationPolicy) DeepCopyInto

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

type ParametersFromSource

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

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

func (*ParametersFromSource) DeepCopyInto

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

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

type SecretKeyReference

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

func (in *SecretKeyReference) DeepCopy() *SecretKeyReference

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

func (*SecretKeyReference) DeepCopyInto

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() common.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) GetAnnotations added in v0.5.7

func (sb *ServiceBinding) GetAnnotations() map[string]string

func (*ServiceBinding) GetConditions

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

func (*ServiceBinding) GetControllerName

func (sb *ServiceBinding) GetControllerName() common.ControllerName

func (*ServiceBinding) GetObservedGeneration

func (sb *ServiceBinding) GetObservedGeneration() int64

func (*ServiceBinding) GetParameters

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

func (*ServiceBinding) GetReady

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

func (*ServiceBinding) GetStatus

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

func (*ServiceBinding) Hub

func (sb *ServiceBinding) Hub()

func (*ServiceBinding) SetAnnotations added in v0.5.7

func (sb *ServiceBinding) SetAnnotations(annotations map[string]string)

func (*ServiceBinding) SetConditions

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

func (*ServiceBinding) SetObservedGeneration

func (sb *ServiceBinding) SetObservedGeneration(newObserved int64)

func (*ServiceBinding) SetReady

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() (admission.Warnings, error)

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

func (*ServiceBinding) ValidateDelete

func (sb *ServiceBinding) ValidateDelete() (admission.Warnings, error)

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

func (*ServiceBinding) ValidateUpdate

func (sb *ServiceBinding) ValidateUpdate(old runtime.Object) (admission.Warnings, 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 namespace of the referenced instance, if empty Binding's namespace will be used
	// +optional
	ServiceInstanceNamespace string `json:"serviceInstanceNamespace,omitempty"`

	// 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"`

	// CredentialsRotationPolicy holds automatic credentials rotation configuration.
	// +optional
	CredRotationPolicy *CredentialsRotationPolicy `json:"credentialsRotationPolicy,omitempty"`

	// SecretTemplate is a Go template that generates a custom Kubernetes
	// v1/Secret based on data from the service binding returned by Service Manager and the instance information.
	// The generated secret is used instead of the default secret.
	// This is useful if the consumer of service binding data expects them in
	// a specific format.
	// For Go templates see https://pkg.go.dev/text/template.
	// For supported funcs see: https://pkg.go.dev/text/template#hdr-Functions, https://masterminds.github.io/sprig/
	// +optional
	// +kubebuilder:pruning:PreserveUnknownFields
	SecretTemplate string `json:"secretTemplate,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"`

	// Indicates when binding secret was rotated
	LastCredentialsRotationTime *metav1.Time `json:"lastCredentialsRotationTime,omitempty"`

	// The subaccount id of the service binding
	SubaccountID string `json:"subaccountID,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 (si *ServiceInstance) DeepClone() common.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) GetAnnotations added in v0.5.7

func (si *ServiceInstance) GetAnnotations() map[string]string

func (*ServiceInstance) GetConditions

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

func (*ServiceInstance) GetControllerName

func (si *ServiceInstance) GetControllerName() common.ControllerName

func (*ServiceInstance) GetObservedGeneration

func (si *ServiceInstance) GetObservedGeneration() int64

func (*ServiceInstance) GetParameters

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

func (*ServiceInstance) GetReady

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

func (*ServiceInstance) GetStatus

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

func (*ServiceInstance) Hub

func (si *ServiceInstance) Hub()

func (*ServiceInstance) SetAnnotations added in v0.5.7

func (si *ServiceInstance) SetAnnotations(annotations map[string]string)

func (*ServiceInstance) SetConditions

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

func (*ServiceInstance) SetObservedGeneration

func (si *ServiceInstance) SetObservedGeneration(newObserved int64)

func (*ServiceInstance) SetReady

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

func (*ServiceInstance) SetStatus

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

func (*ServiceInstance) SetupWebhookWithManager added in v0.5.1

func (si *ServiceInstance) SetupWebhookWithManager(mgr ctrl.Manager) error

func (*ServiceInstance) ShouldBeShared added in v0.5.2

func (si *ServiceInstance) ShouldBeShared() bool

func (*ServiceInstance) ValidateCreate added in v0.5.1

func (si *ServiceInstance) ValidateCreate() (warnings admission.Warnings, err error)

func (*ServiceInstance) ValidateDelete added in v0.5.1

func (si *ServiceInstance) ValidateDelete() (warnings admission.Warnings, err error)

func (*ServiceInstance) ValidateUpdate added in v0.5.1

func (si *ServiceInstance) ValidateUpdate(old runtime.Object) (warnings admission.Warnings, err error)

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 dataCenter in case service offering and plan name exist in other data center and not on main
	// +optional
	DataCenter string `json:"dataCenter,omitempty"`

	// 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"`

	// Indicates the desired shared state
	// +optional
	// +kubebuilder:default={}
	Shared *bool `json:"shared,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"`

	// The name of the btp access credentials secret
	BTPAccessCredentialsSecret string `json:"btpAccessCredentialsSecret,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"`

	// HashedSpec is the hashed spec without the shared property
	HashedSpec string `json:"hashedSpec,omitempty"`

	// The subaccount id of the service instance
	SubaccountID string `json:"subaccountID,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