def

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Nov 27, 2021 License: MIT Imports: 8 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

This section is empty.

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 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 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 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 PartitionAssignments

type PartitionAssignments [][]int32

PartitionAssignments represents partition assignments by broker ID.

type PartitionRackAssignments

type PartitionRackAssignments [][]string

PartitionRackAssignments represents partition assignments by rack.

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

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

TopicDefinition represents a topic resource definition.

func NewTopicDefinition

func NewTopicDefinition(
	metadata ResourceMetadataDefinition,
	partitionAssignments PartitionAssignments,
	partitionRackAssignments PartitionRackAssignments,
	configsMap ConfigsMap,
	brokers meta.Brokers,
	includeAssignments bool,
	includeRackAssignments 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"`
	RackAssignments        PartitionRackAssignments `json:"rackAssignments,omitempty"`
}

TopicSpecDefinition represents a topic spec definition.

func (TopicSpecDefinition) HasAssignments

func (s TopicSpecDefinition) HasAssignments() bool

HasAssignments determines if a spec has assignments.

func (TopicSpecDefinition) HasRackAssignments

func (s TopicSpecDefinition) HasRackAssignments() bool

HasRackAssignments determines if a spec has rack assignments.

Jump to

Keyboard shortcuts

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