diff --git a/handler/kafkamirrormaker/kafkamirrormaker.go b/handler/kafkamirrormaker/kafkamirrormaker.go index 139adb7..6702108 100644 --- a/handler/kafkamirrormaker/kafkamirrormaker.go +++ b/handler/kafkamirrormaker/kafkamirrormaker.go @@ -116,6 +116,7 @@ type ReplicationFlowOut struct { EmitHeartbeatsEnabled *bool `json:"emit_heartbeats_enabled,omitempty"` // Whether to emit heartbeats to the target cluster Enabled bool `json:"enabled"` // Is replication flow enabled ExactlyOnceDeliveryEnabled *bool `json:"exactly_once_delivery_enabled,omitempty"` // Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications. + FollowerFetchingEnabled *bool `json:"follower_fetching_enabled,omitempty"` // Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. OffsetLagMax *int `json:"offset_lag_max,omitempty"` // How out-of-sync a remote partition can be before it is resynced (default: 100) OffsetSyncsTopicLocation OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"` // The location of the offset-syncs topic ReplicationFactor *int `json:"replication_factor,omitempty"` // Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail. @@ -147,6 +148,7 @@ type ServiceKafkaMirrorMakerCreateReplicationFlowIn struct { EmitHeartbeatsEnabled *bool `json:"emit_heartbeats_enabled,omitempty"` // Whether to emit heartbeats to the target cluster Enabled bool `json:"enabled"` // Is replication flow enabled ExactlyOnceDeliveryEnabled *bool `json:"exactly_once_delivery_enabled,omitempty"` // Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications. + FollowerFetchingEnabled *bool `json:"follower_fetching_enabled,omitempty"` // Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. OffsetLagMax *int `json:"offset_lag_max,omitempty"` // How out-of-sync a remote partition can be before it is resynced (default: 100) OffsetSyncsTopicLocation OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"` // The location of the offset-syncs topic ReplicationFactor *int `json:"replication_factor,omitempty"` // Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail. @@ -167,6 +169,7 @@ type ServiceKafkaMirrorMakerGetReplicationFlowOut struct { EmitHeartbeatsEnabled *bool `json:"emit_heartbeats_enabled,omitempty"` // Whether to emit heartbeats to the target cluster Enabled bool `json:"enabled"` // Is replication flow enabled ExactlyOnceDeliveryEnabled *bool `json:"exactly_once_delivery_enabled,omitempty"` // Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications. + FollowerFetchingEnabled *bool `json:"follower_fetching_enabled,omitempty"` // Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. OffsetLagMax *int `json:"offset_lag_max,omitempty"` // How out-of-sync a remote partition can be before it is resynced (default: 100) OffsetSyncsTopicLocation OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"` // The location of the offset-syncs topic ReplicationFactor *int `json:"replication_factor,omitempty"` // Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail. @@ -188,6 +191,7 @@ type ServiceKafkaMirrorMakerPatchReplicationFlowIn struct { EmitHeartbeatsEnabled *bool `json:"emit_heartbeats_enabled,omitempty"` // Whether to emit heartbeats to the target cluster Enabled *bool `json:"enabled,omitempty"` // Is replication flow enabled ExactlyOnceDeliveryEnabled *bool `json:"exactly_once_delivery_enabled,omitempty"` // Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications. + FollowerFetchingEnabled *bool `json:"follower_fetching_enabled,omitempty"` // Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. OffsetLagMax *int `json:"offset_lag_max,omitempty"` // How out-of-sync a remote partition can be before it is resynced (default: 100) OffsetSyncsTopicLocation OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"` // The location of the offset-syncs topic ReplicationFactor *int `json:"replication_factor,omitempty"` // Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail. @@ -206,6 +210,7 @@ type ServiceKafkaMirrorMakerPatchReplicationFlowOut struct { EmitHeartbeatsEnabled *bool `json:"emit_heartbeats_enabled,omitempty"` // Whether to emit heartbeats to the target cluster Enabled bool `json:"enabled"` // Is replication flow enabled ExactlyOnceDeliveryEnabled *bool `json:"exactly_once_delivery_enabled,omitempty"` // Whether to enable exactly-once message delivery. We recommend you set this to enabled for new replications. + FollowerFetchingEnabled *bool `json:"follower_fetching_enabled,omitempty"` // Assigns a Rack ID based on the availability-zone to enable follower fetching and rack awareness per replication flow. OffsetLagMax *int `json:"offset_lag_max,omitempty"` // How out-of-sync a remote partition can be before it is resynced (default: 100) OffsetSyncsTopicLocation OffsetSyncsTopicLocationType `json:"offset_syncs_topic_location,omitempty"` // The location of the offset-syncs topic ReplicationFactor *int `json:"replication_factor,omitempty"` // Replication factor used when creating the remote topics. If the replication factor surpasses the number of nodes in the target cluster, topic creation will fail. diff --git a/handler/service/service.go b/handler/service/service.go index 151715e..6f418c1 100644 --- a/handler/service/service.go +++ b/handler/service/service.go @@ -1080,6 +1080,16 @@ type DragonflyOut struct { ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties } +type DumpToolType string + +const ( + DumpToolTypeMydumper DumpToolType = "mydumper" + DumpToolTypeMysqldump DumpToolType = "mysqldump" +) + +func DumpToolTypeChoices() []string { + return []string{"mydumper", "mysqldump"} +} // ElasticsearchOut Service type information type ElasticsearchOut struct { @@ -1485,10 +1495,11 @@ func MigrationCheckMethodTypeChoices() []string { } type MigrationDetailOut struct { - Dbname string `json:"dbname"` // Migrated db name (PG, MySQL) or number (Redis, Dragonfly) - Error *string `json:"error,omitempty"` // Error message in case that migration has failed - Method MethodType `json:"method"` // The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types) - Status MigrationDetailStatusType `json:"status"` // Migration status + Dbname string `json:"dbname"` // Migrated db name (PG, MySQL) or number (Redis, Dragonfly) + DumpTool DumpToolType `json:"dump_tool,omitempty"` // Tool used to perform the initial dump of a database to migrate (when method is replication), or just the dump-reload of the database (when method is dump). + Error *string `json:"error,omitempty"` // Error message in case that migration has failed + Method MethodType `json:"method"` // The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types) + Status MigrationDetailStatusType `json:"status"` // Migration status } type MigrationDetailStatusType string