types

package
v0.3.4 Latest Latest
Warning

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

Go to latest
Published: Sep 16, 2025 License: Apache-2.0 Imports: 16 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultClientBrokerEncryptionInTransit = kafkatypes.ClientBrokerTls

DefaultClientBrokerEncryptionInTransit is the fallback encryption type when cluster encryption info is not available

Variables

View Source
var AclMap = map[string]ACLMapping{
	"kafka-cluster:AlterCluster": {
		Operation:       "Alter",
		ResourceType:    "Cluster",
		RequiresPattern: false,
	},
	"kafka-cluster:AlterClusterDynamicConfiguration": {
		Operation:       "AlterConfigs",
		ResourceType:    "Cluster",
		RequiresPattern: false,
	},
	"kafka-cluster:AlterGroup": {
		Operation:       "Read",
		ResourceType:    "Group",
		RequiresPattern: true,
	},
	"kafka-cluster:AlterTopic": {
		Operation:       "Alter",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:AlterTopicDynamicConfiguration": {
		Operation:       "AlterConfigs",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:AlterTransactionalId": {
		Operation:       "Write",
		ResourceType:    "TransactionalId",
		RequiresPattern: true,
	},
	"kafka-cluster:CreateTopic": {
		Operation:       "Create",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:DeleteGroup": {
		Operation:       "Delete",
		ResourceType:    "Group",
		RequiresPattern: true,
	},
	"kafka-cluster:DeleteTopic": {
		Operation:       "Delete",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:DescribeCluster": {
		Operation:       "Describe",
		ResourceType:    "Cluster",
		RequiresPattern: false,
	},
	"kafka-cluster:DescribeClusterDynamicConfiguration": {
		Operation:       "DescribeConfigs",
		ResourceType:    "Cluster",
		RequiresPattern: false,
	},
	"kafka-cluster:DescribeGroup": {
		Operation:       "Describe",
		ResourceType:    "Group",
		RequiresPattern: true,
	},
	"kafka-cluster:DescribeTopic": {
		Operation:       "Describe",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:DescribeTopicDynamicConfiguration": {
		Operation:       "DescribeConfigs",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:DescribeTransactionalId": {
		Operation:       "Describe",
		ResourceType:    "TransactionalId",
		RequiresPattern: true,
	},
	"kafka-cluster:ReadData": {
		Operation:       "Read",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:WriteData": {
		Operation:       "Write",
		ResourceType:    "Topic",
		RequiresPattern: true,
	},
	"kafka-cluster:WriteDataIdempotently": {
		Operation:       "IdempotentWrite",
		ResourceType:    "Cluster",
		RequiresPattern: true,
	},
}

https://docs.aws.amazon.com/service-authorization/latest/reference/list_apachekafkaapisforamazonmskclusters.html https://docs.confluent.io/cloud/current/security/access-control/acl.html#acl-resources-and-operations-for-ccloud-summary

Functions

func AllAuthTypes

func AllAuthTypes() []string

AllAuthTypes returns all possible AuthType values as strings This can be called statically without needing an AuthType instance

func GetClientBrokerEncryptionInTransit

func GetClientBrokerEncryptionInTransit(cluster kafkatypes.Cluster) kafkatypes.ClientBroker

GetClientBrokerEncryptionInTransit determines the client broker encryption in transit value for a cluster with proper fallback logic when encryption info is not available

Types

type ACLMapping added in v0.2.4

type ACLMapping struct {
	Operation       string
	ResourceType    string
	RequiresPattern bool
}

type Acls added in v0.2.4

type Acls struct {
	ResourceType        string `json:"ResourceType"`
	ResourceName        string `json:"ResourceName"`
	ResourcePatternType string `json:"ResourcePatternType"`
	Principal           string `json:"Principal"`
	Host                string `json:"Host"`
	Operation           string `json:"Operation"`
	PermissionType      string `json:"PermissionType"`
}

Preferred over sarama.ResourceAcls because it is flattened vs sarama's nested structure.

type AuthMethodConfig added in v0.2.8

type AuthMethodConfig struct {
	Unauthenticated *UnauthenticatedConfig `yaml:"unauthenticated,omitempty"`
	IAM             *IAMConfig             `yaml:"iam,omitempty"`
	TLS             *TLSConfig             `yaml:"tls,omitempty"`
	SASLScram       *SASLScramConfig       `yaml:"sasl_scram,omitempty"`
}

type AuthType

type AuthType string

AuthType represents the different authentication types supported by MSK clusters

const (
	AuthTypeSASLSCRAM       AuthType = "SASL/SCRAM"
	AuthTypeIAM             AuthType = "SASL/IAM"
	AuthTypeTLS             AuthType = "TLS"
	AuthTypeUnauthenticated AuthType = "Unauthenticated"
)

func (AuthType) IsValid

func (a AuthType) IsValid() bool

func (AuthType) Values

func (a AuthType) Values() []string

Values returns all possible AuthType values as strings

type ClusterEntry added in v0.2.8

type ClusterEntry struct {
	Name       string           `yaml:"name"`
	Arn        string           `yaml:"arn"`
	AuthMethod AuthMethodConfig `yaml:"auth_method"`
}

func (ClusterEntry) GetAuthMethods added in v0.2.8

func (ce ClusterEntry) GetAuthMethods() []string

Gets a list of the authentication method(s) selected in the `creds.yaml` file generated during discovery.

func (ClusterEntry) GetSelectedAuthType added in v0.2.8

func (ce ClusterEntry) GetSelectedAuthType() (AuthType, error)

type ClusterInformation

type ClusterInformation struct {
	KcpBuildInfo         KcpBuildInfo                           `json:"kcp_build_info"`
	ClusterID            string                                 `json:"cluster_id"`
	Region               string                                 `json:"region"`
	Timestamp            time.Time                              `json:"timestamp"`
	Cluster              kafkatypes.Cluster                     `json:"cluster"`
	ClientVpcConnections []kafkatypes.ClientVpcConnection       `json:"clientVpcConnections"`
	ClusterOperations    []kafkatypes.ClusterOperationV2Summary `json:"clusterOperations"`
	Nodes                []kafkatypes.NodeInfo                  `json:"nodes"`
	ScramSecrets         []string                               `json:"ScramSecrets"`
	BootstrapBrokers     kafka.GetBootstrapBrokersOutput        `json:"bootstrapBrokers"`
	Policy               kafka.GetClusterPolicyOutput           `json:"policy"`
	CompatibleVersions   kafka.GetCompatibleKafkaVersionsOutput `json:"compatibleVersions"`
	ClusterNetworking    ClusterNetworking                      `json:"cluster_networking"`
	Topics               Topics                                 `json:"topics"`
	Acls                 []Acls                                 `json:"acls"`
}

func NewClusterInformation added in v0.3.2

func NewClusterInformation(region string, timestamp time.Time) *ClusterInformation

func (*ClusterInformation) AsJson added in v0.2.4

func (c *ClusterInformation) AsJson() ([]byte, error)

func (*ClusterInformation) AsMarkdown added in v0.2.4

func (c *ClusterInformation) AsMarkdown() *markdown.Markdown

generateMarkdownReport creates a comprehensive markdown report of the scan results

func (*ClusterInformation) CalculateTopicSummary added in v0.3.4

func (c *ClusterInformation) CalculateTopicSummary() TopicSummary

func (*ClusterInformation) GetBootstrapBrokersForAuthType added in v0.2.8

func (c *ClusterInformation) GetBootstrapBrokersForAuthType(authType AuthType) ([]string, error)

func (*ClusterInformation) GetDirPath added in v0.2.4

func (c *ClusterInformation) GetDirPath() string

func (*ClusterInformation) GetDirPathWithBase added in v0.3.2

func (c *ClusterInformation) GetDirPathWithBase(baseDir string) string

func (*ClusterInformation) GetJsonPath added in v0.2.4

func (c *ClusterInformation) GetJsonPath() string

func (*ClusterInformation) GetMarkdownPath added in v0.2.4

func (c *ClusterInformation) GetMarkdownPath() string

func (*ClusterInformation) SetTopics added in v0.3.4

func (c *ClusterInformation) SetTopics(topicDetails []TopicDetails)

func (*ClusterInformation) WriteAsJson added in v0.2.4

func (c *ClusterInformation) WriteAsJson() error

func (*ClusterInformation) WriteAsJsonWithBase added in v0.3.2

func (c *ClusterInformation) WriteAsJsonWithBase(baseDir string) error

func (*ClusterInformation) WriteAsMarkdown added in v0.2.4

func (c *ClusterInformation) WriteAsMarkdown(suppressToTerminal bool) error

func (*ClusterInformation) WriteAsMarkdownWithBase added in v0.3.2

func (c *ClusterInformation) WriteAsMarkdownWithBase(baseDir string, suppressToTerminal bool) error

type ClusterMetrics

type ClusterMetrics struct {
	Timestamp             time.Time             `json:"timestamp"`
	KcpBuildInfo          KcpBuildInfo          `json:"kcp_build_info"`
	Region                string                `json:"region"`
	ClusterArn            string                `json:"cluster_arn"`
	ClusterName           string                `json:"cluster_name"`
	ClusterType           string                `json:"cluster_type"`
	BrokerAZDistribution  *string               `json:"broker_az_distribution"`
	KafkaVersion          *string               `json:"kafka_version"`
	EnhancedMonitoring    *string               `json:"enhanced_monitoring"`
	StartDate             time.Time             `json:"start_date"`
	EndDate               time.Time             `json:"end_date"`
	NodesMetrics          []NodeMetrics         `json:"nodes"`
	GlobalMetrics         GlobalMetrics         `json:"global_metrics"`
	ClusterMetricsSummary ClusterMetricsSummary `json:"cluster_metrics_summary"`
}

func NewClusterMetrics added in v0.3.2

func NewClusterMetrics(region string, timestamp time.Time) *ClusterMetrics

func (*ClusterMetrics) AsJson added in v0.2.4

func (cm *ClusterMetrics) AsJson() ([]byte, error)

func (*ClusterMetrics) AsMarkdown added in v0.2.4

func (cm *ClusterMetrics) AsMarkdown() *markdown.Markdown

generateMarkdownReport creates a comprehensive markdown report of the scan results

func (*ClusterMetrics) GetDirPath added in v0.2.4

func (cm *ClusterMetrics) GetDirPath() string

func (*ClusterMetrics) GetDirPathWithBase added in v0.3.2

func (cm *ClusterMetrics) GetDirPathWithBase(baseDir string) string

func (*ClusterMetrics) GetJsonPath added in v0.2.4

func (cm *ClusterMetrics) GetJsonPath() string

func (*ClusterMetrics) GetMarkdownPath added in v0.2.4

func (cm *ClusterMetrics) GetMarkdownPath() string

func (*ClusterMetrics) WriteAsJson added in v0.2.4

func (cm *ClusterMetrics) WriteAsJson() error

func (*ClusterMetrics) WriteAsJsonWithBase added in v0.3.2

func (cm *ClusterMetrics) WriteAsJsonWithBase(baseDir string) error

func (*ClusterMetrics) WriteAsMarkdown added in v0.2.4

func (cm *ClusterMetrics) WriteAsMarkdown(suppressToTerminal bool) error

func (*ClusterMetrics) WriteAsMarkdownWithBase added in v0.3.2

func (cm *ClusterMetrics) WriteAsMarkdownWithBase(baseDir string, suppressToTerminal bool) error

type ClusterMetricsSummary

type ClusterMetricsSummary struct {
	AvgIngressThroughputMegabytesPerSecond  *float64 `json:"avg_ingress_throughput_megabytes_per_second"`
	PeakIngressThroughputMegabytesPerSecond *float64 `json:"peak_ingress_throughput_megabytes_per_second"`
	AvgEgressThroughputMegabytesPerSecond   *float64 `json:"avg_egress_throughput_megabytes_per_second"`
	PeakEgressThroughputMegabytesPerSecond  *float64 `json:"peak_egress_throughput_megabytes_per_second"`
	RetentionDays                           *float64 `json:"retention_days,omitempty"`
	Partitions                              *float64 `json:"partitions"`
	ReplicationFactor                       *float64 `json:"replication_factor,omitempty"`
	FollowerFetching                        *bool    `json:"follower_fetching"`
	TieredStorage                           *bool    `json:"tiered_storage"`
	LocalRetentionInPrimaryStorageHours     *float64 `json:"local_retention_in_primary_storage_hours,omitempty"`
	InstanceType                            *string  `json:"instance_type"`
}

type ClusterNetworking added in v0.2.4

type ClusterNetworking struct {
	VpcId          string       `json:"vpc_id"`
	SubnetIds      []string     `json:"subnet_ids"`
	SecurityGroups []string     `json:"security_groups"`
	Subnets        []SubnetInfo `json:"subnets"`
}

type ClusterSummary

type ClusterSummary struct {
	ClusterName                     string                  `json:"cluster_name"`
	ClusterARN                      string                  `json:"cluster_arn"`
	Status                          string                  `json:"status"`
	Type                            string                  `json:"type"`
	Authentication                  string                  `json:"authentication"`
	PublicAccess                    bool                    `json:"public_access"`
	ClientBrokerEncryptionInTransit kafkatypes.ClientBroker `json:"client_broker_encryption_in_transit"`
}

ClusterSummary contains summary information about an MSK cluster

type Cost

type Cost struct {
	TimePeriodStart string  `json:"time_period_start"`
	TimePeriodEnd   string  `json:"time_period_end"`
	Service         string  `json:"service"`
	Cost            float64 `json:"cost"`
	UsageType       string  `json:"usage_type"`
}

type CostData

type CostData struct {
	Costs []Cost `json:"costs"`
}

type Credentials added in v0.2.8

type Credentials struct {
	Regions []RegionEntry `yaml:"regions"`
}

func NewCredentials added in v0.2.8

func NewCredentials(credentialsYamlPath string) (*Credentials, []error)

func (*Credentials) ToYaml added in v0.2.8

func (c *Credentials) ToYaml() ([]byte, error)

func (Credentials) Validate added in v0.2.8

func (c Credentials) Validate() (bool, []error)

func (*Credentials) WriteToFile added in v0.2.8

func (c *Credentials) WriteToFile(filePath string) error

type GlobalMetrics added in v0.2.6

type GlobalMetrics struct {
	GlobalPartitionCountMax float64 `json:"global_partition_count_max"`
	GlobalTopicCountMax     float64 `json:"global_topic_count_max"`
}

type IAMConfig added in v0.2.8

type IAMConfig struct {
	Use bool `yaml:"use"`
}

type KcpBuildInfo added in v0.3.2

type KcpBuildInfo struct {
	Version string `json:"version"`
	Commit  string `json:"commit"`
	Date    string `json:"date"`
}

type Manifest

type Manifest struct {
	MigrationInfraType MigrationInfraType `json:"migration_infra_type"`
}

type MigrationInfraType

type MigrationInfraType int
const (
	MskCpCcPrivateSaslIam   MigrationInfraType = 1 // MSK to CP to CC Private with SASL/IAM
	MskCpCcPrivateSaslScram MigrationInfraType = 2 // MSK to CP to CC Private with SASL/SCRAM
	MskCcPublic             MigrationInfraType = 3 // MSK to CC Public
)

func ToMigrationInfraType

func ToMigrationInfraType(input string) (MigrationInfraType, error)

func (MigrationInfraType) IsValid

func (m MigrationInfraType) IsValid() bool

type NodeMetrics

type NodeMetrics struct {
	NodeID                       int     `json:"node_id"`
	InstanceType                 *string `json:"instance_type"`
	VolumeSizeGB                 *int    `json:"volume_size_gb"`
	BytesInPerSecAvg             float64 `json:"bytes_in_per_sec_avg"`
	BytesOutPerSecAvg            float64 `json:"bytes_out_per_sec_avg"`
	MessagesInPerSecAvg          float64 `json:"messages_in_per_sec_avg"`
	KafkaDataLogsDiskUsedAvg     float64 `json:"kafka_data_logs_disk_used_avg"`
	RemoteLogSizeBytesAvg        float64 `json:"remote_log_size_bytes_avg"`
	BytesInPerSecMax             float64 `json:"bytes_in_per_sec_max"`
	BytesOutPerSecMax            float64 `json:"bytes_out_per_sec_max"`
	MessagesInPerSecMax          float64 `json:"messages_in_per_sec_max"`
	KafkaDataLogsDiskUsedMax     float64 `json:"kafka_data_logs_disk_used_max"`
	RemoteLogSizeBytesMax        float64 `json:"remote_log_size_bytes_max"`
	ClientConnectionCountMax     float64 `json:"client_connection_count_max"`
	PartitionCountMax            float64 `json:"partition_count_max"`
	LeaderCountMax               float64 `json:"leader_count_max"`
	ReplicationBytesOutPerSecMax float64 `json:"replication_bytes_out_per_sec_max"`
	ReplicationBytesInPerSecMax  float64 `json:"replication_bytes_in_per_sec_max"`
}

type RegionCosts

type RegionCosts struct {
	KcpBuildInfo KcpBuildInfo        `json:"kcp_build_info"`
	Timestamp    time.Time           `json:"timestamp"`
	Region       string              `json:"region"`
	CostData     CostData            `json:"cost_data"`
	StartDate    time.Time           `json:"start_date"`
	EndDate      time.Time           `json:"end_date"`
	Granularity  string              `json:"granularity"`
	Tags         map[string][]string `json:"tags"`
	Services     []string            `json:"services"`
}

func NewRegionCosts added in v0.3.2

func NewRegionCosts(region string, timestamp time.Time) *RegionCosts

func (*RegionCosts) AsCSVRecords added in v0.2.4

func (c *RegionCosts) AsCSVRecords() [][]string

func (*RegionCosts) AsJson added in v0.2.4

func (c *RegionCosts) AsJson() ([]byte, error)

func (*RegionCosts) AsMarkdown added in v0.2.4

func (c *RegionCosts) AsMarkdown() *markdown.Markdown

func (*RegionCosts) GetCSVPath added in v0.2.4

func (c *RegionCosts) GetCSVPath() string

func (*RegionCosts) GetDirPath added in v0.2.4

func (c *RegionCosts) GetDirPath() string

func (*RegionCosts) GetDirPathWithBase added in v0.3.2

func (c *RegionCosts) GetDirPathWithBase(baseDir string) string

func (*RegionCosts) GetJsonPath added in v0.2.4

func (c *RegionCosts) GetJsonPath() string

func (*RegionCosts) GetMarkdownPath added in v0.2.4

func (c *RegionCosts) GetMarkdownPath() string

func (*RegionCosts) WriteAsCSV added in v0.2.4

func (c *RegionCosts) WriteAsCSV() error

func (*RegionCosts) WriteAsCSVWithBase added in v0.3.2

func (c *RegionCosts) WriteAsCSVWithBase(baseDir string) error

func (*RegionCosts) WriteAsJson added in v0.2.4

func (c *RegionCosts) WriteAsJson() error

func (*RegionCosts) WriteAsJsonWithBase added in v0.3.2

func (c *RegionCosts) WriteAsJsonWithBase(baseDir string) error

func (*RegionCosts) WriteAsMarkdown added in v0.2.4

func (c *RegionCosts) WriteAsMarkdown(suppressToTerminal bool) error

func (*RegionCosts) WriteAsMarkdownWithBase added in v0.3.2

func (c *RegionCosts) WriteAsMarkdownWithBase(baseDir string, suppressToTerminal bool) error

type RegionEntry added in v0.2.8

type RegionEntry struct {
	Name     string         `yaml:"name"`
	Clusters []ClusterEntry `yaml:"clusters"`
}

type RegionScanResult

type RegionScanResult struct {
	Timestamp      time.Time                                   `json:"timestamp"`
	KcpBuildInfo   KcpBuildInfo                                `json:"kcp_build_info"`
	Clusters       []ClusterSummary                            `json:"clusters"`
	VpcConnections []kafkatypes.VpcConnection                  `json:"vpc_connections"`
	Configurations []kafka.DescribeConfigurationRevisionOutput `json:"configurations"`
	KafkaVersions  []kafkatypes.KafkaVersion                   `json:"kafka_versions"`
	Replicators    []kafka.DescribeReplicatorOutput            `json:"replicators"`
	Region         string                                      `json:"region"`
}

RegionScanResult contains the results of scanning an AWS region for MSK resources

func NewRegionScanResult added in v0.3.2

func NewRegionScanResult(region string, timestamp time.Time) *RegionScanResult

func (*RegionScanResult) AsJson added in v0.2.4

func (rs *RegionScanResult) AsJson() ([]byte, error)

func (*RegionScanResult) AsMarkdown added in v0.2.4

func (rs *RegionScanResult) AsMarkdown() *markdown.Markdown

generateMarkdownReport creates a comprehensive markdown report of the scan results

func (*RegionScanResult) GetDirPath added in v0.2.4

func (rs *RegionScanResult) GetDirPath() string

func (*RegionScanResult) GetDirPathWithBase added in v0.3.2

func (rs *RegionScanResult) GetDirPathWithBase(baseDir string) string

func (*RegionScanResult) GetJsonPath added in v0.2.4

func (rs *RegionScanResult) GetJsonPath() string

func (*RegionScanResult) GetMarkdownPath added in v0.2.4

func (rs *RegionScanResult) GetMarkdownPath() string

func (*RegionScanResult) WriteAsJson added in v0.2.4

func (rs *RegionScanResult) WriteAsJson() error

func (*RegionScanResult) WriteAsJsonWithBase added in v0.3.2

func (rs *RegionScanResult) WriteAsJsonWithBase(baseDir string) error

func (*RegionScanResult) WriteAsMarkdown added in v0.2.4

func (rs *RegionScanResult) WriteAsMarkdown(suppressToTerminal bool) error

func (*RegionScanResult) WriteAsMarkdownWithBase added in v0.3.2

func (rs *RegionScanResult) WriteAsMarkdownWithBase(baseDir string, suppressToTerminal bool) error

type SASLScramConfig added in v0.2.8

type SASLScramConfig struct {
	Use      bool   `yaml:"use"`
	Username string `yaml:"username"`
	Password string `yaml:"password"`
}

type SubnetInfo added in v0.2.4

type SubnetInfo struct {
	SubnetMskBrokerId int    `json:"subnet_msk_broker_id"`
	SubnetId          string `json:"subnet_id"`
	AvailabilityZone  string `json:"availability_zone"`
	PrivateIpAddress  string `json:"private_ip_address"`
	CidrBlock         string `json:"cidr_block"`
}

type TLSConfig added in v0.2.8

type TLSConfig struct {
	Use        bool   `yaml:"use"`
	CACert     string `yaml:"ca_cert"`
	ClientCert string `yaml:"client_cert"`
	ClientKey  string `yaml:"client_key"`
}

type TerraformOutput

type TerraformOutput struct {
	ConfluentCloudClusterApiKey                TerraformOutputValue `json:"confluent_cloud_cluster_api_key"`
	ConfluentCloudClusterApiKeySecret          TerraformOutputValue `json:"confluent_cloud_cluster_api_key_secret"`
	ConfluentCloudClusterId                    TerraformOutputValue `json:"confluent_cloud_cluster_id"`
	ConfluentCloudClusterRestEndpoint          TerraformOutputValue `json:"confluent_cloud_cluster_rest_endpoint"`
	ConfluentCloudClusterBootstrapEndpoint     TerraformOutputValue `json:"confluent_cloud_cluster_bootstrap_endpoint"`
	ConfluentPlatformControllerBootstrapServer TerraformOutputValue `json:"confluent_platform_controller_bootstrap_server"`
}

a type for the output.json file in the target_env folder

type TerraformOutputValue

type TerraformOutputValue struct {
	Sensitive bool   `json:"sensitive"`
	Type      string `json:"type"`
	Value     any    `json:"value"`
}

type TerraformState

type TerraformState struct {
	Outputs TerraformOutput `json:"outputs"`
}

type TopicDetails added in v0.3.4

type TopicDetails struct {
	Name              string             `json:"name"`
	Partitions        int                `json:"partitions"`
	ReplicationFactor int                `json:"replication_factor"`
	Configurations    map[string]*string `json:"configurations"`
}

type TopicSummary added in v0.3.4

type TopicSummary struct {
	Topics                    int `json:"topics"`
	InternalTopics            int `json:"internal_topics"`
	TotalPartitions           int `json:"total_partitions"`
	TotalInternalPartitions   int `json:"total_internal_partitions"`
	CompactTopics             int `json:"compact_topics"`
	CompactInternalTopics     int `json:"compact_internal_topics"`
	CompactPartitions         int `json:"compact_partitions"`
	CompactInternalPartitions int `json:"compact_internal_partitions"`
}

func CalculateTopicSummaryFromDetails added in v0.3.4

func CalculateTopicSummaryFromDetails(topicDetails []TopicDetails) TopicSummary

type Topics added in v0.3.4

type Topics struct {
	Summary TopicSummary   `json:"summary"`
	Details []TopicDetails `json:"details"`
}

type UnauthenticatedConfig added in v0.2.8

type UnauthenticatedConfig struct {
	Use bool `yaml:"use"`
}

Jump to

Keyboard shortcuts

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