v1

package
v2.0.0-...-a7294fb Latest Latest
Warning

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

Go to latest
Published: Dec 20, 2024 License: MIT Imports: 11 Imported by: 0

Documentation

Overview

Package v1 contains hand-crafted API Schema definitions for the dbformysql v1 API group +groupName=dbformysql.azure.com

Package v1 contains API Schema definitions for dbformysql data plane APIs +kubebuilder:object:generate=true All object properties are optional by default, this will be overridden when needed: +kubebuilder:validation:Optional +groupName=dbformysql.azure.com

Copyright (c) Microsoft Corporation. Licensed under the MIT license.

Index

Constants

This section is empty.

Variables

View Source
var (
	// GroupVersion is group version used to register these objects
	GroupVersion = schema.GroupVersion{Group: "dbformysql.azure.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 AADUserSpec

type AADUserSpec struct {
	// Alias is the short name associated with the user. This is required if the AzureName is longer than 32 characters.
	// Note that Alias denotes the name used to manage the SQL user in MySQL, NOT the name used to log in to the SQL server.
	// When logging in to the SQL server and prompted to provider the username, supply the AzureName.
	// +kubebuilder:validation:MaxLength=32
	Alias string `json:"alias,omitempty"`

	// +kubebuilder:validation:Required
	// ServerAdminUsername is the username of the Server administrator. If your server admin was configured with
	// Azure Service Operator, this should match the value of the Administrator's $.spec.login field. If the
	// administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the
	// identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is
	// a member of that group, the ServerAdminUsername should be "admin-group"
	ServerAdminUsername string `json:"serverAdminUsername,omitempty"`
}

func (*AADUserSpec) DeepCopy

func (in *AADUserSpec) DeepCopy() *AADUserSpec

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

func (*AADUserSpec) DeepCopyInto

func (in *AADUserSpec) DeepCopyInto(out *AADUserSpec)

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

type LocalUserSpec

type LocalUserSpec struct {
	// +kubebuilder:validation:Required
	// ServerAdminUsername is the username of the Server administrator. If the
	// administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the
	// identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is
	// a member of that group, the ServerAdminUsername should be "admin-group".
	ServerAdminUsername string `json:"serverAdminUsername,omitempty"`

	// ServerAdminPassword is a reference to a secret containing the servers administrator password.
	// If specified, the operator uses the ServerAdminUsername and ServerAdminPassword to log into the server
	// as a local administrator.
	// If NOT specified, the operator uses its identity to log into the server. The operator can only successfully
	// log into the server if its identity is the administrator of the server or if its identity is a member of a
	// group which is the administrator of the server. If the
	// administrator is a group, the ServerAdminUsername should be the group name, not the actual username of the
	// identity to log in with. For example if the administrator group is "admin-group" and identity "my-identity" is
	// a member of that group, the ServerAdminUsername should be "admin-group"
	ServerAdminPassword *genruntime.SecretReference `json:"serverAdminPassword,omitempty"`

	// +kubebuilder:validation:Required
	// Password is the password to use for the user
	Password *genruntime.SecretReference `json:"password,omitempty"`
}

func (*LocalUserSpec) DeepCopy

func (in *LocalUserSpec) DeepCopy() *LocalUserSpec

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

func (*LocalUserSpec) DeepCopyInto

func (in *LocalUserSpec) DeepCopyInto(out *LocalUserSpec)

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

type User

type User struct {
	metav1.TypeMeta   `json:",inline"`
	metav1.ObjectMeta `json:"metadata,omitempty"`
	Spec              UserSpec   `json:"spec,omitempty"`
	Status            UserStatus `json:"status,omitempty"`
}

+kubebuilder:object:root=true +kubebuilder:subresource:status +kubebuilder:printcolumn:name="Ready",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].status" +kubebuilder:printcolumn:name="Severity",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].severity" +kubebuilder:printcolumn:name="Reason",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].reason" +kubebuilder:printcolumn:name="Message",type="string",JSONPath=".status.conditions[?(@.type=='Ready')].message" +kubebuilder:storageversion User is a MySQL user

func (*User) AzureName

func (user *User) AzureName() string

AzureName returns the Azure name of the resource

func (*User) DeepCopy

func (in *User) DeepCopy() *User

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

func (*User) DeepCopyInto

func (in *User) DeepCopyInto(out *User)

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

func (*User) DeepCopyObject

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

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

func (*User) Default

func (user *User) Default()

Default applies defaults to the FlexibleServer resource

func (*User) GetConditions

func (user *User) GetConditions() conditions.Conditions

GetConditions returns the conditions of the resource

func (*User) Hub

func (user *User) Hub()

Hub marks that this userSpec is the hub type for conversion

func (*User) Owner

func (user *User) Owner() *genruntime.ResourceReference

Owner returns the ResourceReference of the owner, or nil if there is no owner

func (*User) SetConditions

func (user *User) SetConditions(conditions conditions.Conditions)

SetConditions sets the conditions on the resource status

func (*User) ValidateCreate

func (user *User) ValidateCreate() (admission.Warnings, error)

ValidateCreate validates the creation of the resource

func (*User) ValidateDelete

func (user *User) ValidateDelete() (admission.Warnings, error)

ValidateDelete validates the deletion of the resource

func (*User) ValidateUpdate

func (user *User) ValidateUpdate(old runtime.Object) (admission.Warnings, error)

ValidateUpdate validates an update of the resource

type UserList

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

+kubebuilder:object:root=true

func (*UserList) DeepCopy

func (in *UserList) DeepCopy() *UserList

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

func (*UserList) DeepCopyInto

func (in *UserList) DeepCopyInto(out *UserList)

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

func (*UserList) DeepCopyObject

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

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

type UserSpec

type UserSpec struct {
	// AzureName: The name of the resource in Azure. This is often the same as the name of the resource in Kubernetes but it
	// doesn't have to be.
	// If not specified, the default is the name of the Kubernetes object.
	// When creating a local user, this will be the name of the user created.
	// When creating an AAD user, this must have a specific format depending on the type of AAD user being created.
	// For managed identity: "my-managed-identity-name"
	// For standard AAD user: "myuser@mydomain.onmicrosoft.com"
	// For AAD group: "my-group"
	AzureName string `json:"azureName,omitempty"`

	// +kubebuilder:validation:Required
	// Owner: The owner of the resource. The owner controls where the resource goes when it is deployed. The owner also
	// controls the resources lifecycle. When the owner is deleted the resource will also be deleted. Owner is expected to be a
	// reference to a dbformysql.azure.com/FlexibleServer resource
	Owner *genruntime.KubernetesOwnerReference `group:"dbformysql.azure.com" json:"owner,omitempty" kind:"FlexibleServer"`

	// Hostname is the host the user will connect from. If omitted, the default is to allow connection from any hostname.
	Hostname string `json:"hostname,omitempty"`

	// The server-level roles assigned to the user.
	// Privileges include the following: RELOAD, PROCESS, SHOW
	// DATABASES, REPLICATION SLAVE, REPLICATION CLIENT, CREATE USER
	Privileges []string `json:"privileges,omitempty"`

	// The database-level roles assigned to the user (keyed by
	// database name). Privileges include the following: SELECT,
	// INSERT, UPDATE, DELETE, CREATE, DROP, REFERENCES, INDEX,
	// ALTER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, CREATE
	// VIEW, SHOW VIEW, CREATE ROUTINE, ALTER ROUTINE, EVENT, TRIGGER
	DatabasePrivileges map[string][]string `json:"databasePrivileges,omitempty"`

	// LocalUser contains details for creating a standard (non-aad) MySQL User
	LocalUser *LocalUserSpec `json:"localUser,omitempty"`

	// AADUser contains details for creating an AAD user.
	AADUser *AADUserSpec `json:"aadUser,omitempty"`
}

func (*UserSpec) DeepCopy

func (in *UserSpec) DeepCopy() *UserSpec

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

func (*UserSpec) DeepCopyInto

func (in *UserSpec) DeepCopyInto(out *UserSpec)

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

func (*UserSpec) OriginalVersion

func (userSpec *UserSpec) OriginalVersion() string

OriginalVersion returns the original API version used to create the resource.

func (*UserSpec) SetAzureName

func (userSpec *UserSpec) SetAzureName(azureName string)

SetAzureName sets the Azure name of the resource

type UserStatus

type UserStatus struct {
	// Conditions: The observed state of the resource
	Conditions []conditions.Condition `json:"conditions,omitempty"`
}

func (*UserStatus) DeepCopy

func (in *UserStatus) DeepCopy() *UserStatus

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

func (*UserStatus) DeepCopyInto

func (in *UserStatus) DeepCopyInto(out *UserStatus)

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