mirror of
https://codeberg.org/scip/esctl.git
synced 2026-08-24 06:34:18 +02:00
@@ -144,7 +144,7 @@ func IlmCreate(conf *cfg.Config) *cli.Command {
|
||||
Usage: "hot phase: rollover after",
|
||||
Destination: &conf.Ilm.HotRolloverMaxAge,
|
||||
},
|
||||
&cli.Int64Flag{
|
||||
&cli.StringFlag{
|
||||
Name: "hot-rollover-max-primary-shard-size",
|
||||
Usage: "hot phase: max primary shard size",
|
||||
Destination: &conf.Ilm.HotRolloverMaxPrimaryShardSize,
|
||||
@@ -210,6 +210,11 @@ func IlmCreate(conf *cfg.Config) *cli.Command {
|
||||
Usage: "frozen phase: min age",
|
||||
Destination: &conf.Ilm.FrozenMinAge,
|
||||
},
|
||||
&cli.StringFlag{
|
||||
Name: "frozen-searchable-snapshot-repo",
|
||||
Usage: "frozen phase: searchable snapshot repo",
|
||||
Destination: &conf.Ilm.FrozenSearchableSnapshotRepo,
|
||||
},
|
||||
|
||||
// delete
|
||||
&cli.StringFlag{
|
||||
|
||||
@@ -21,7 +21,7 @@ type Ilm struct {
|
||||
|
||||
HotMinAge string
|
||||
HotRolloverMaxAge string
|
||||
HotRolloverMaxPrimaryShardSize int64
|
||||
HotRolloverMaxPrimaryShardSize string
|
||||
HotRolloverMaxDocs int64
|
||||
HotReadonly bool
|
||||
|
||||
@@ -35,7 +35,8 @@ type Ilm struct {
|
||||
ColdForceMerge int
|
||||
ColdPriority int
|
||||
|
||||
FrozenMinAge string
|
||||
FrozenMinAge string
|
||||
FrozenSearchableSnapshotRepo string
|
||||
|
||||
DeleteMinAge string
|
||||
DeleteSearchableSnapshots bool
|
||||
@@ -47,7 +48,7 @@ func (cfg *Ilm) HaveHot() bool {
|
||||
return cfg.HotMinAge != "" ||
|
||||
cfg.HotRolloverMaxAge != "" ||
|
||||
cfg.HotRolloverMaxDocs > 0 ||
|
||||
cfg.HotRolloverMaxPrimaryShardSize > 0 ||
|
||||
cfg.HotRolloverMaxPrimaryShardSize != "" ||
|
||||
cfg.HotReadonly
|
||||
}
|
||||
|
||||
|
||||
@@ -245,7 +245,7 @@ func IlmCreate(conf *cfg.Config, policyname string) error {
|
||||
haveroll = true
|
||||
}
|
||||
|
||||
if cfg.HotRolloverMaxPrimaryShardSize != 0 {
|
||||
if cfg.HotRolloverMaxPrimaryShardSize != "" {
|
||||
rollover.MaxPrimaryShardSize = &cfg.HotRolloverMaxPrimaryShardSize
|
||||
}
|
||||
|
||||
@@ -281,16 +281,50 @@ func IlmCreate(conf *cfg.Config, policyname string) error {
|
||||
phases.PhasesCaster().Warm = &warm
|
||||
}
|
||||
|
||||
if cfg.HaveCold() {
|
||||
cold := types.Phase{}
|
||||
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
||||
|
||||
if cfg.ColdForceMerge != 0 {
|
||||
actions.IlmActionsCaster().Forcemerge = &types.ForceMergeAction{MaxNumSegments: cfg.ColdForceMerge}
|
||||
}
|
||||
|
||||
if cfg.ColdMinAge != "" {
|
||||
cold.MinAge = cfg.ColdMinAge
|
||||
}
|
||||
|
||||
if cfg.ColdPriority != 0 {
|
||||
actions.IlmActionsCaster().SetPriority = &types.SetPriorityAction{Priority: &cfg.ColdPriority}
|
||||
}
|
||||
|
||||
if cfg.ColdSearchableSnapshotRepo != "" {
|
||||
actions.IlmActionsCaster().SearchableSnapshot =
|
||||
&types.SearchableSnapshotAction{SnapshotRepository: cfg.ColdSearchableSnapshotRepo}
|
||||
}
|
||||
|
||||
cold.Actions = actions.IlmActionsCaster()
|
||||
phases.PhasesCaster().Cold = &cold
|
||||
}
|
||||
|
||||
if cfg.HaveFrozen() {
|
||||
froze := phases.PhasesCaster().Frozen
|
||||
froze := types.Phase{}
|
||||
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
||||
|
||||
if cfg.FrozenMinAge != "" {
|
||||
froze.MinAge = cfg.FrozenMinAge
|
||||
}
|
||||
|
||||
if cfg.FrozenSearchableSnapshotRepo != "" {
|
||||
actions.IlmActionsCaster().SearchableSnapshot =
|
||||
&types.SearchableSnapshotAction{SnapshotRepository: cfg.FrozenSearchableSnapshotRepo}
|
||||
}
|
||||
|
||||
froze.Actions = actions.IlmActionsCaster()
|
||||
phases.PhasesCaster().Frozen = &froze
|
||||
}
|
||||
|
||||
if cfg.HaveDelete() {
|
||||
del := phases.PhasesCaster().Delete
|
||||
del := types.Phase{}
|
||||
delete := types.DeleteAction{}
|
||||
var actions types.IlmActionsVariant = esdsl.NewIlmActions()
|
||||
|
||||
@@ -304,7 +338,7 @@ func IlmCreate(conf *cfg.Config, policyname string) error {
|
||||
|
||||
actions.IlmActionsCaster().Delete = &delete
|
||||
del.Actions = actions.IlmActionsCaster()
|
||||
phases.PhasesCaster().Delete = del
|
||||
phases.PhasesCaster().Delete = &del
|
||||
}
|
||||
|
||||
put := &putlifecycle.Request{}
|
||||
|
||||
Reference in New Issue
Block a user