kafkamirrormaker

package
v0.73.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func OffsetSyncsTopicLocationTypeChoices

func OffsetSyncsTopicLocationTypeChoices() []string

func ReplicationPolicyClassTypeChoices

func ReplicationPolicyClassTypeChoices() []string

Types

type Handler

type Handler interface {
	// ServiceKafkaMirrorMakerCreateReplicationFlow create a replication flow
	// POST /v1/project/{project}/service/{service_name}/mirrormaker/replication-flows
	// https://api.aiven.io/doc/#tag/Service:_Kafka_MirrorMaker/operation/ServiceKafkaMirrorMakerCreateReplicationFlow
	ServiceKafkaMirrorMakerCreateReplicationFlow(ctx context.Context, project string, serviceName string, in *ServiceKafkaMirrorMakerCreateReplicationFlowIn) error

	// ServiceKafkaMirrorMakerDeleteReplicationFlow delete a replication flow
	// DELETE /v1/project/{project}/service/{service_name}/mirrormaker/replication-flows/{source_cluster}/{target_cluster}
	// https://api.aiven.io/doc/#tag/Service:_Kafka_MirrorMaker/operation/ServiceKafkaMirrorMakerDeleteReplicationFlow
	ServiceKafkaMirrorMakerDeleteReplicationFlow(ctx context.Context, project string, serviceName string, sourceCluster string, targetCluster string) error

	// ServiceKafkaMirrorMakerGetReplicationFlow get a replication flow
	// GET /v1/project/{project}/service/{service_name}/mirrormaker/replication-flows/{source_cluster}/{target_cluster}
	// https://api.aiven.io/doc/#tag/Service:_Kafka_MirrorMaker/operation/ServiceKafkaMirrorMakerGetReplicationFlow
	ServiceKafkaMirrorMakerGetReplicationFlow(ctx context.Context, project string, serviceName string, sourceCluster string, targetCluster string) (*ServiceKafkaMirrorMakerGetReplicationFlowOut, error)

	// ServiceKafkaMirrorMakerGetReplicationFlows get replication flows
	// GET /v1/project/{project}/service/{service_name}/mirrormaker/replication-flows
	// https://api.aiven.io/doc/#tag/Service:_Kafka_MirrorMaker/operation/ServiceKafkaMirrorMakerGetReplicationFlows
	ServiceKafkaMirrorMakerGetReplicationFlows(ctx context.Context, project string, serviceName string) ([]ReplicationFlowOut, error)

	// ServiceKafkaMirrorMakerPatchReplicationFlow update a replication flow
	// PUT /v1/project/{project}/service/{service_name}/mirrormaker/replication-flows/{source_cluster}/{target_cluster}
	// https://api.aiven.io/doc/#tag/Service:_Kafka_MirrorMaker/operation/ServiceKafkaMirrorMakerPatchReplicationFlow
	ServiceKafkaMirrorMakerPatchReplicationFlow(ctx context.Context, project string, serviceName string, sourceCluster string, targetCluster string, in *ServiceKafkaMirrorMakerPatchReplicationFlowIn) (*ServiceKafkaMirrorMakerPatchReplicationFlowOut, error)
}

type KafkaMirrorMakerHandler

type KafkaMirrorMakerHandler struct {
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler(doer doer) KafkaMirrorMakerHandler

func (*KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerCreateReplicationFlow

func (h *KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerCreateReplicationFlow(ctx context.Context, project string, serviceName string, in *ServiceKafkaMirrorMakerCreateReplicationFlowIn) error

func (*KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerDeleteReplicationFlow

func (h *KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerDeleteReplicationFlow(ctx context.Context, project string, serviceName string, sourceCluster string, targetCluster string) error

func (*KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerGetReplicationFlow

func (h *KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerGetReplicationFlow(ctx context.Context, project string, serviceName string, sourceCluster string, targetCluster string) (*ServiceKafkaMirrorMakerGetReplicationFlowOut, error)

func (*KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerGetReplicationFlows

func (h *KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerGetReplicationFlows(ctx context.Context, project string, serviceName string) ([]ReplicationFlowOut, error)

func (*KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerPatchReplicationFlow

func (h *KafkaMirrorMakerHandler) ServiceKafkaMirrorMakerPatchReplicationFlow(ctx context.Context, project string, serviceName string, sourceCluster string, targetCluster string, in *ServiceKafkaMirrorMakerPatchReplicationFlowIn) (*ServiceKafkaMirrorMakerPatchReplicationFlowOut, error)

type OffsetSyncsTopicLocationType

type OffsetSyncsTopicLocationType string
const (
	OffsetSyncsTopicLocationTypeSource OffsetSyncsTopicLocationType = "source"
	OffsetSyncsTopicLocationTypeTarget OffsetSyncsTopicLocationType = "target"
)

type ReplicationFlowOut

type ReplicationFlowOut struct {
	ConfigPropertiesExclude         *string                      `json:"config_properties_exclude,omitempty"`           // Topic configuration properties that should not be replicated
	EmitBackwardHeartbeatsEnabled   *bool                        `json:"emit_backward_heartbeats_enabled,omitempty"`    // Emit backward heartbeats enabled
	EmitHeartbeatsEnabled           *bool                        `json:"emit_heartbeats_enabled,omitempty"`             // Emit heartbeats enabled
	Enabled                         bool                         `json:"enabled"`                                       // Is replication flow enabled
	ExactlyOnceDeliveryEnabled      *bool                        `json:"exactly_once_delivery_enabled,omitempty"`       // Enable exactly-once message delivery
	OffsetLagMax                    *int                         `json:"offset_lag_max,omitempty"`                      // How out-of-sync a remote partition can be before it is resynced
	OffsetSyncsTopicLocation        OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"`         // Offset syncs topic location
	ReplicationFactor               *int                         `json:"replication_factor,omitempty"`                  // Replication factor
	ReplicationPolicyClass          ReplicationPolicyClassType   `json:"replication_policy_class,omitempty"`            // Replication policy class
	ReplicationProgress             *float64                     `json:"replication_progress,omitempty"`                // Replication progress
	SourceCluster                   string                       `json:"source_cluster"`                                // Source cluster alias
	SyncGroupOffsetsEnabled         *bool                        `json:"sync_group_offsets_enabled,omitempty"`          // Sync consumer group offsets
	SyncGroupOffsetsIntervalSeconds *int                         `json:"sync_group_offsets_interval_seconds,omitempty"` // Frequency of consumer group offset sync
	TargetCluster                   string                       `json:"target_cluster"`                                // Target cluster alias
	Topics                          []string                     `json:"topics,omitempty"`                              // List of topics and/or regular expressions to replicate. Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].
	TopicsBlacklist                 []string                     `json:"topics.blacklist,omitempty"`                    // List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
	TopicsExclude                   []string                     `json:"topics_exclude,omitempty"`                      // List of topics and/or regular expressions to not replicate. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
}

type ReplicationPolicyClassType

type ReplicationPolicyClassType string
const (
	ReplicationPolicyClassTypeDefault  ReplicationPolicyClassType = "org.apache.kafka.connect.mirror.DefaultReplicationPolicy"
	ReplicationPolicyClassTypeIdentity ReplicationPolicyClassType = "org.apache.kafka.connect.mirror.IdentityReplicationPolicy"
)

type ServiceKafkaMirrorMakerCreateReplicationFlowIn

type ServiceKafkaMirrorMakerCreateReplicationFlowIn struct {
	ConfigPropertiesExclude         *string                      `json:"config_properties_exclude,omitempty"`           // Topic configuration properties that should not be replicated
	EmitBackwardHeartbeatsEnabled   *bool                        `json:"emit_backward_heartbeats_enabled,omitempty"`    // Emit backward heartbeats enabled
	EmitHeartbeatsEnabled           *bool                        `json:"emit_heartbeats_enabled,omitempty"`             // Emit heartbeats enabled
	Enabled                         bool                         `json:"enabled"`                                       // Is replication flow enabled
	ExactlyOnceDeliveryEnabled      *bool                        `json:"exactly_once_delivery_enabled,omitempty"`       // Enable exactly-once message delivery
	OffsetLagMax                    *int                         `json:"offset_lag_max,omitempty"`                      // How out-of-sync a remote partition can be before it is resynced
	OffsetSyncsTopicLocation        OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"`         // Offset syncs topic location
	ReplicationFactor               *int                         `json:"replication_factor,omitempty"`                  // Replication factor
	ReplicationPolicyClass          ReplicationPolicyClassType   `json:"replication_policy_class,omitempty"`            // Replication policy class
	SourceCluster                   string                       `json:"source_cluster"`                                // Source cluster alias
	SyncGroupOffsetsEnabled         *bool                        `json:"sync_group_offsets_enabled,omitempty"`          // Sync consumer group offsets
	SyncGroupOffsetsIntervalSeconds *int                         `json:"sync_group_offsets_interval_seconds,omitempty"` // Frequency of consumer group offset sync
	TargetCluster                   string                       `json:"target_cluster"`                                // Target cluster alias
	Topics                          *[]string                    `json:"topics,omitempty"`                              // List of topics and/or regular expressions to replicate. Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].
	TopicsBlacklist                 *[]string                    `json:"topics.blacklist,omitempty"`                    // List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
	TopicsExclude                   *[]string                    `json:"topics_exclude,omitempty"`                      // List of topics and/or regular expressions to not replicate. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
}

ServiceKafkaMirrorMakerCreateReplicationFlowIn ServiceKafkaMirrorMakerCreateReplicationFlowRequestBody

type ServiceKafkaMirrorMakerGetReplicationFlowOut

type ServiceKafkaMirrorMakerGetReplicationFlowOut struct {
	ConfigPropertiesExclude         *string                      `json:"config_properties_exclude,omitempty"`           // Topic configuration properties that should not be replicated
	EmitBackwardHeartbeatsEnabled   *bool                        `json:"emit_backward_heartbeats_enabled,omitempty"`    // Emit backward heartbeats enabled
	EmitHeartbeatsEnabled           *bool                        `json:"emit_heartbeats_enabled,omitempty"`             // Emit heartbeats enabled
	Enabled                         bool                         `json:"enabled"`                                       // Is replication flow enabled
	ExactlyOnceDeliveryEnabled      *bool                        `json:"exactly_once_delivery_enabled,omitempty"`       // Enable exactly-once message delivery
	OffsetLagMax                    *int                         `json:"offset_lag_max,omitempty"`                      // How out-of-sync a remote partition can be before it is resynced
	OffsetSyncsTopicLocation        OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"`         // Offset syncs topic location
	ReplicationFactor               *int                         `json:"replication_factor,omitempty"`                  // Replication factor
	ReplicationPolicyClass          ReplicationPolicyClassType   `json:"replication_policy_class,omitempty"`            // Replication policy class
	ReplicationProgress             *float64                     `json:"replication_progress,omitempty"`                // Replication progress
	SourceCluster                   string                       `json:"source_cluster"`                                // Source cluster alias
	SyncGroupOffsetsEnabled         *bool                        `json:"sync_group_offsets_enabled,omitempty"`          // Sync consumer group offsets
	SyncGroupOffsetsIntervalSeconds *int                         `json:"sync_group_offsets_interval_seconds,omitempty"` // Frequency of consumer group offset sync
	TargetCluster                   string                       `json:"target_cluster"`                                // Target cluster alias
	Topics                          []string                     `json:"topics,omitempty"`                              // List of topics and/or regular expressions to replicate. Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].
	TopicsBlacklist                 []string                     `json:"topics.blacklist,omitempty"`                    // List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
	TopicsExclude                   []string                     `json:"topics_exclude,omitempty"`                      // List of topics and/or regular expressions to not replicate. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
}

ServiceKafkaMirrorMakerGetReplicationFlowOut Replication flow

type ServiceKafkaMirrorMakerPatchReplicationFlowIn

type ServiceKafkaMirrorMakerPatchReplicationFlowIn struct {
	ConfigPropertiesExclude         *string                      `json:"config_properties_exclude,omitempty"`           // Topic configuration properties that should not be replicated
	EmitBackwardHeartbeatsEnabled   *bool                        `json:"emit_backward_heartbeats_enabled,omitempty"`    // Emit backward heartbeats enabled
	EmitHeartbeatsEnabled           *bool                        `json:"emit_heartbeats_enabled,omitempty"`             // Emit heartbeats enabled
	Enabled                         *bool                        `json:"enabled,omitempty"`                             // Is replication flow enabled
	ExactlyOnceDeliveryEnabled      *bool                        `json:"exactly_once_delivery_enabled,omitempty"`       // Enable exactly-once message delivery
	OffsetLagMax                    *int                         `json:"offset_lag_max,omitempty"`                      // How out-of-sync a remote partition can be before it is resynced
	OffsetSyncsTopicLocation        OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"`         // Offset syncs topic location
	ReplicationFactor               *int                         `json:"replication_factor,omitempty"`                  // Replication factor
	ReplicationPolicyClass          ReplicationPolicyClassType   `json:"replication_policy_class,omitempty"`            // Replication policy class
	SyncGroupOffsetsEnabled         *bool                        `json:"sync_group_offsets_enabled,omitempty"`          // Sync consumer group offsets
	SyncGroupOffsetsIntervalSeconds *int                         `json:"sync_group_offsets_interval_seconds,omitempty"` // Frequency of consumer group offset sync
	Topics                          *[]string                    `json:"topics,omitempty"`                              // List of topics and/or regular expressions to replicate. Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].
	TopicsBlacklist                 *[]string                    `json:"topics.blacklist,omitempty"`                    // List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
	TopicsExclude                   *[]string                    `json:"topics_exclude,omitempty"`                      // List of topics and/or regular expressions to not replicate. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
}

ServiceKafkaMirrorMakerPatchReplicationFlowIn ServiceKafkaMirrorMakerPatchReplicationFlowRequestBody

type ServiceKafkaMirrorMakerPatchReplicationFlowOut

type ServiceKafkaMirrorMakerPatchReplicationFlowOut struct {
	ConfigPropertiesExclude         *string                      `json:"config_properties_exclude,omitempty"`           // Topic configuration properties that should not be replicated
	EmitBackwardHeartbeatsEnabled   *bool                        `json:"emit_backward_heartbeats_enabled,omitempty"`    // Emit backward heartbeats enabled
	EmitHeartbeatsEnabled           *bool                        `json:"emit_heartbeats_enabled,omitempty"`             // Emit heartbeats enabled
	Enabled                         bool                         `json:"enabled"`                                       // Is replication flow enabled
	ExactlyOnceDeliveryEnabled      *bool                        `json:"exactly_once_delivery_enabled,omitempty"`       // Enable exactly-once message delivery
	OffsetLagMax                    *int                         `json:"offset_lag_max,omitempty"`                      // How out-of-sync a remote partition can be before it is resynced
	OffsetSyncsTopicLocation        OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"`         // Offset syncs topic location
	ReplicationFactor               *int                         `json:"replication_factor,omitempty"`                  // Replication factor
	ReplicationPolicyClass          ReplicationPolicyClassType   `json:"replication_policy_class,omitempty"`            // Replication policy class
	ReplicationProgress             *float64                     `json:"replication_progress,omitempty"`                // Replication progress
	SourceCluster                   string                       `json:"source_cluster"`                                // Source cluster alias
	SyncGroupOffsetsEnabled         *bool                        `json:"sync_group_offsets_enabled,omitempty"`          // Sync consumer group offsets
	SyncGroupOffsetsIntervalSeconds *int                         `json:"sync_group_offsets_interval_seconds,omitempty"` // Frequency of consumer group offset sync
	TargetCluster                   string                       `json:"target_cluster"`                                // Target cluster alias
	Topics                          []string                     `json:"topics,omitempty"`                              // List of topics and/or regular expressions to replicate. Topic names and regular expressions that match topic names that should be replicated. MirrorMaker will replicate these topics if they are not matched by "topics.exclude". Currently defaults to [".*"].
	TopicsBlacklist                 []string                     `json:"topics.blacklist,omitempty"`                    // List of topics and/or regular expressions to not replicate. Deprecated property, use 'topics_exclude instead'. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
	TopicsExclude                   []string                     `json:"topics_exclude,omitempty"`                      // List of topics and/or regular expressions to not replicate. Topic names and regular expressions that match topic names that should not be replicated. MirrorMaker will not replicate these topics even if they are matched by "topics". If not set, MM2 uses the default exclusion.
}

ServiceKafkaMirrorMakerPatchReplicationFlowOut Replication flow

Jump to

Keyboard shortcuts

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