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
- type ACLDefinition
- type ACLEntryGroup
- type ACLEntryGroups
- type ACLSpecDefinition
- type BrokerDefinition
- type BrokerSpecDefinition
- type BrokersDefinition
- type BrokersSpecDefinition
- type ConfigKey
- type ConfigSource
- type Configs
- type ConfigsMap
- type ManagedAssignmentsDefinition
- type PartitionAssignments
- type PartitionLeaders
- type PartitionRacks
- type ResourceDefinition
- type ResourceMetadataDefinition
- type ResourceMetadataLabels
- type TopicDefinition
- type TopicSpecDefinition
- type TopicStateDefinition
Constants ¶
const ( BalanceNew = "new" BalanceAll = "all" )
Balance types.
const ( SelectionTopicClusterUse = "topic-cluster-use" SelectionTopicUse = "topic-use" )
Selection types.
const KindACL string = "acl"
KindACL represents the acl definition kind.
const KindBroker string = "broker"
KindBroker represents the broker definition kind.
const KindBrokers string = "brokers"
KindBrokers represents the brokers definition kind.
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 ¶
func (b BrokerDefinition) Copy() BrokerDefinition
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 ¶
func (b BrokersDefinition) Copy() BrokersDefinition
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.
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).
type ConfigsMap ¶
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 ¶
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 ¶
func (t TopicDefinition) Copy() TopicDefinition
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.