def

package
v0.5.6 Latest Latest
Warning

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

Go to latest
Published: Oct 15, 2024 License: MIT Imports: 12 Imported by: 0

Documentation

Overview

Package def implements definitions for Kafka resources.

Package def implements definitions for Kafka resources.

Package def implements definitions for Kafka resources.

Package def implements definitions for Kafka resources.

Package def implements definitions for Kafka resources.

Package def implements definitions for Kafka resources.

Index

Constants

View Source
const (
	BalanceNew = "new"
	BalanceAll = "all"
)

Balance types.

View Source
const (
	SelectionTopicClusterUse = "topic-cluster-use"
	SelectionTopicUse        = "topic-use"
)

Selection types.

View Source
const KindACL string = "acl"

KindACL represents the acl definition kind.

View Source
const KindBroker string = "broker"

KindBroker represents the broker definition kind.

View Source
const KindBrokers string = "brokers"

KindBrokers represents the brokers definition kind.

View Source
const KindTopic string = "topic"

KindTopic represents the topic definition kind.

Variables

This section is empty.

Functions

This section is empty.

Types

type ACLDefinition added in v0.1.0

type ACLDefinition struct {
	ResourceDefinition
	Spec ACLSpecDefinition `json:"spec"`
}

ACLDefinition represents an ACL resource definition.

func LoadACLDefinition added in v0.2.0

func LoadACLDefinition(
	defDoc string,
	format opt.DefinitionFormat,
) (ACLDefinition, error)

LoadACLDefinition loads an ACL definition from a document.

func NewACLDefinition added in v0.1.0

func NewACLDefinition(
	metadata ResourceMetadataDefinition,
	acls ACLEntryGroups,
) ACLDefinition

NewACLDefinition creates an ACL definition from metadata and config.

func (ACLDefinition) Copy added in v0.1.0

func (a ACLDefinition) Copy() ACLDefinition

Copy creates a copy of this ACLDefinition.

func (ACLDefinition) Validate added in v0.1.0

func (a ACLDefinition) Validate() error

Validate validates the definition.

type ACLEntryGroup added in v0.1.0

type ACLEntryGroup struct {
	Principals     []string `json:"principals"`
	Hosts          []string `json:"hosts"`
	Operations     []string `json:"operations"`
	PermissionType string   `json:"permissionType"`
}

ACLEntryGroup represents an ACL entry group.

type ACLEntryGroups added in v0.1.0

type ACLEntryGroups []ACLEntryGroup

ACLEntryGroups represents a slice of ACL entry groups.

func (ACLEntryGroups) Contains added in v0.1.0

func (a ACLEntryGroups) Contains(
	principal string,
	host string,
	operation string,
	permissionType string,
) bool

Contains determines if an ACL entry is contained in any group.

func (ACLEntryGroups) Sort added in v0.1.0

func (a ACLEntryGroups) Sort()

Sort sorts ACL entry groups.

func (ACLEntryGroups) Validate added in v0.1.0

func (a ACLEntryGroups) Validate() error

Validate validates ACL entry groups.

type ACLSpecDefinition added in v0.1.0

type ACLSpecDefinition struct {
	ACLs                ACLEntryGroups `json:"acls,omitempty"`
	DeleteUndefinedACLs bool           `json:"deleteUndefinedAcls"`
}

ACLSpecDefinition represents an ACL spec definition.

type BrokerDefinition

type BrokerDefinition struct {
	ResourceDefinition
	Spec BrokerSpecDefinition `json:"spec"`
}

BrokerDefinition represents a broker resource definition.

func LoadBrokerDefinition added in v0.2.0

func LoadBrokerDefinition(
	defDoc string,
	format opt.DefinitionFormat,
) (BrokerDefinition, error)

LoadBrokerDefinition loads a broker definition from a document.

func NewBrokerDefinition

func NewBrokerDefinition(
	metadata ResourceMetadataDefinition,
	configsMap ConfigsMap,
) BrokerDefinition

NewBrokerDefinition creates a broker definition from metadata and config.

func (BrokerDefinition) Copy

Copy creates a copy of this BrokerDefinition.

func (BrokerDefinition) Validate

func (b BrokerDefinition) Validate() error

Validate validates the definition.

func (BrokerDefinition) ValidateWithMetadata

func (b BrokerDefinition) ValidateWithMetadata(brokers meta.Brokers) error

ValidateWithMetadata further validates the definition using metadata.

type BrokerSpecDefinition

type BrokerSpecDefinition struct {
	Configs                ConfigsMap `json:"configs,omitempty"`
	DeleteUndefinedConfigs bool       `json:"deleteUndefinedConfigs"`
}

BrokerSpecDefinition represents a broker spec definition.

type BrokersDefinition

type BrokersDefinition struct {
	ResourceDefinition
	Spec BrokersSpecDefinition `json:"spec"`
}

BrokersDefinition represents a brokers resource definition.

func LoadBrokersDefinition added in v0.2.0

func LoadBrokersDefinition(
	defDoc string,
	format opt.DefinitionFormat,
) (BrokersDefinition, error)

LoadBrokersDefinition loads a brokers definition from a document.

func NewBrokersDefinition

func NewBrokersDefinition(
	metadata ResourceMetadataDefinition,
	configsMap ConfigsMap,
) BrokersDefinition

NewBrokersDefinition creates a brokers definition from metadata and config.

func (BrokersDefinition) Copy

Copy creates a copy of this BrokersDefinition.

func (BrokersDefinition) Validate

func (b BrokersDefinition) Validate() error

Validate validates the definition.

type BrokersSpecDefinition

type BrokersSpecDefinition struct {
	Configs                ConfigsMap `json:"configs,omitempty"`
	DeleteUndefinedConfigs bool       `json:"deleteUndefinedConfigs"`
}

BrokersSpecDefinition represents a brokers spec definition.

type ConfigKey

type ConfigKey struct {
	Name        string
	Value       *string
	IsSensitive bool
	ReadOnly    bool
	Source      ConfigSource
}

ConfigKey represents a config key.

func (ConfigKey) IsDynamic

func (c ConfigKey) IsDynamic() bool

IsDynamic determines if the config key is dynamic.

type ConfigSource

type ConfigSource int8

ConfigSource represents the source of a config key.

const (
	ConfigSourceUnknown                    ConfigSource = 0
	ConfigSourceDynamicTopicConfig         ConfigSource = 1
	ConfigSourceDynamicBrokerConfig        ConfigSource = 2
	ConfigSourceDynamicDefaultBrokerConfig ConfigSource = 3
	ConfigSourceStaticBrokerConfig         ConfigSource = 4
	ConfigSourceDefaultConfig              ConfigSource = 5
	ConfigSourceDynamicBrokerLoggerConfig  ConfigSource = 6
)

ConfigSource types.

type Configs

type Configs []ConfigKey

Configs represents a slice of ConfigKey.

func (Configs) ToExportableMap

func (c Configs) ToExportableMap() ConfigsMap

ToExportableMap returns an exportable map of the configs (sensitive keys filtered out).

func (Configs) ToMap

func (c Configs) ToMap() ConfigsMap

ToMap returns a map of the configs.

type ConfigsMap

type ConfigsMap map[string]*string

ConfigsMap represents a map of resource configs.

type ManagedAssignmentsDefinition added in v0.2.0

type ManagedAssignmentsDefinition struct {
	Balance         string         `json:"balance,omitempty"`
	Selection       string         `json:"selection,omitempty"`
	RackConstraints PartitionRacks `json:"rackConstraints,omitempty"`
}

ManagedAssignmentsDefinition represents a managed assignments definition.

func (ManagedAssignmentsDefinition) HasRackConstraints added in v0.2.0

func (m ManagedAssignmentsDefinition) HasRackConstraints() bool

HasRackConstraints determines if a managed assignments definition has rack constraints.

type PartitionAssignments

type PartitionAssignments [][]int32

PartitionAssignments represents partition assignments by broker ID.

type PartitionLeaders added in v0.2.0

type PartitionLeaders []int32

PartitionLeaders represents partition leaders by broker ID.

type PartitionRacks added in v0.2.0

type PartitionRacks [][]string

PartitionRacks represents assigned racks for partitions.

type ResourceDefinition

type ResourceDefinition struct {
	APIVersion string                     `json:"apiVersion"`
	Kind       string                     `json:"kind"`
	Metadata   ResourceMetadataDefinition `json:"metadata"`
}

ResourceDefinition represents a resource definition.

func (ResourceDefinition) ValidateResource

func (r ResourceDefinition) ValidateResource() error

ValidateResource validates the resource definition.

type ResourceMetadataDefinition

type ResourceMetadataDefinition struct {
	Labels              ResourceMetadataLabels `json:"labels,omitempty"`
	Name                string                 `json:"name"`
	Type                string                 `json:"type,omitempty"`
	ResourcePatternType string                 `json:"resourcePatternType,omitempty"`
}

ResourceMetadataDefinition represents a resource metadata definition.

type ResourceMetadataLabels

type ResourceMetadataLabels map[string]string

ResourceMetadataLabels represents resource metadata labels.

type TopicDefinition

type TopicDefinition struct {
	ResourceDefinition
	Spec  TopicSpecDefinition   `json:"spec"`
	State *TopicStateDefinition `json:"state,omitempty"`
}

TopicDefinition represents a topic resource definition.

func LoadTopicDefinition added in v0.2.0

func LoadTopicDefinition(
	defDoc string,
	format opt.DefinitionFormat,
	propOverrides []string,
) (TopicDefinition, error)

LoadTopicDefinition loads a topic definition from a document.

func NewTopicDefinition

func NewTopicDefinition(
	metadata ResourceMetadataDefinition,
	partitionAssignments PartitionAssignments,
	rackConstraints PartitionRacks,
	partitionLeaders PartitionLeaders,
	configsMap ConfigsMap,
	includeAssignments bool,
	includeRackConstraints bool,
	includeState bool,
) TopicDefinition

NewTopicDefinition creates a topic definition from metadata and config.

func (TopicDefinition) Copy

Copy creates a copy of this TopicDefinition.

func (TopicDefinition) Validate

func (t TopicDefinition) Validate() error

Validate validates the definition.

func (TopicDefinition) ValidateWithMetadata

func (t TopicDefinition) ValidateWithMetadata(brokers meta.Brokers) error

ValidateWithMetadata further validates the definition using metadata.

type TopicSpecDefinition

type TopicSpecDefinition struct {
	Configs                ConfigsMap                    `json:"configs,omitempty"`
	DeleteUndefinedConfigs bool                          `json:"deleteUndefinedConfigs"`
	Partitions             int                           `json:"partitions"`
	ReplicationFactor      int                           `json:"replicationFactor"`
	Assignments            PartitionAssignments          `json:"assignments,omitempty"`
	ManagedAssignments     *ManagedAssignmentsDefinition `json:"managedAssignments,omitempty"`
	MaintainLeaders        bool                          `json:"maintainLeaders"`
}

TopicSpecDefinition represents a topic spec definition.

func (TopicSpecDefinition) HasAssignments

func (t TopicSpecDefinition) HasAssignments() bool

HasAssignments determines if a spec has assignments.

func (TopicSpecDefinition) HasManagedAssignments added in v0.2.0

func (t TopicSpecDefinition) HasManagedAssignments() bool

HasManagedAssignments determines if a spec has a managed assignments definition.

type TopicStateDefinition added in v0.2.0

type TopicStateDefinition struct {
	Assignments PartitionAssignments `json:"assignments,omitempty"`
	Leaders     PartitionLeaders     `json:"leaders,omitempty"`
}

TopicStateDefinition represents a topic state definition.

Jump to

Keyboard shortcuts

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