create

package
v1.23.1 Latest Latest
Warning

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

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

Documentation

Overview

Package create contains the implementation of the kubectl cnpg publication create command

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func NewCmd

func NewCmd() *cobra.Command

NewCmd initializes the publication create command

Types

type PublicationCmdBuilder

type PublicationCmdBuilder struct {
	// The name of the publication to be created
	PublicationName string

	// The target to be publication
	PublicationTarget PublicationTarget

	// The optional publication parameters
	PublicationParameters string
}

PublicationCmdBuilder represent a command to create a publication

func (PublicationCmdBuilder) ToSQL

func (cmd PublicationCmdBuilder) ToSQL() string

ToSQL create the SQL Statement to create the publication

type PublicationObject

type PublicationObject interface {
	// Create the SQL statement to publicate this object
	ToPublicationObjectSQL() string
}

PublicationObject represent an object to publicate

type PublicationObjectSchema

type PublicationObjectSchema struct {
	// The schema to publicate
	SchemaName string
}

PublicationObjectSchema will publicate all the tables in a certain schema

func (PublicationObjectSchema) ToPublicationObjectSQL

func (obj PublicationObjectSchema) ToPublicationObjectSQL() string

ToPublicationObjectSQL implements the PublicationObject interface

type PublicationObjectTableExpression

type PublicationObjectTableExpression struct {
	// The table expression to publicate
	TableExpressions []string
}

PublicationObjectTableExpression will publicate the passed table expression

func (PublicationObjectTableExpression) ToPublicationObjectSQL

func (obj PublicationObjectTableExpression) ToPublicationObjectSQL() string

ToPublicationObjectSQL implements the PublicationObject interface

type PublicationTarget

type PublicationTarget interface {
	// Create the SQL statement to publication the tables
	ToPublicationTargetSQL() string
}

PublicationTarget represent the publication target

type PublicationTargetALLTables

type PublicationTargetALLTables struct{}

PublicationTargetALLTables will publicate all tables

func (PublicationTargetALLTables) ToPublicationTargetSQL

func (PublicationTargetALLTables) ToPublicationTargetSQL() string

ToPublicationTargetSQL implements the PublicationTarget interface

type PublicationTargetPublicationObjects

type PublicationTargetPublicationObjects struct {
	PublicationObjects []PublicationObject
}

PublicationTargetPublicationObjects publicates multiple publication objects

func (*PublicationTargetPublicationObjects) ToPublicationTargetSQL

func (objs *PublicationTargetPublicationObjects) ToPublicationTargetSQL() string

ToPublicationTargetSQL implements the PublicationObject interface

Jump to

Keyboard shortcuts

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