<reponame>zlepper/pulumi-elasticstack<filename>sdk/dotnet/Outputs/IndexLifecycleHot.cs// *** WARNING: this file was generated by the Pulumi Terraform Bridge (tfgen) Tool. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

using System;
using System.Collections.Generic;
using System.Collections.Immutable;
using System.Threading.Tasks;
using Pulumi.Serialization;

namespace Pulumi.Elasticstack.Outputs
{

    [OutputType]
    public sealed class IndexLifecycleHot
    {
        /// <summary>
        /// Force merges the index into the specified maximum number of segments. This action makes the index read-only.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotForcemerge? Forcemerge;
        /// <summary>
        /// ILM moves indices through the lifecycle according to their age. To control the timing of these transitions, you set a minimum age for each phase.
        /// </summary>
        public readonly string? MinAge;
        /// <summary>
        /// Makes the index read-only.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotReadonly? Readonly;
        /// <summary>
        /// Rolls over a target to a new index when the existing index meets one or more of the rollover conditions.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotRollover? Rollover;
        /// <summary>
        /// Takes a snapshot of the managed index in the configured repository and mounts it as a searchable snapshot.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotSearchableSnapshot? SearchableSnapshot;
        /// <summary>
        /// Sets a source index to read-only and shrinks it into a new index with fewer primary shards.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotSetPriority? SetPriority;
        /// <summary>
        /// Sets a source index to read-only and shrinks it into a new index with fewer primary shards.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotShrink? Shrink;
        /// <summary>
        /// Convert a follower index to a regular index. Performed automatically before a rollover, shrink, or searchable snapshot action.
        /// </summary>
        public readonly Outputs.IndexLifecycleHotUnfollow? Unfollow;

        [OutputConstructor]
        private IndexLifecycleHot(
            Outputs.IndexLifecycleHotForcemerge? forcemerge,

            string? minAge,

            Outputs.IndexLifecycleHotReadonly? @readonly,

            Outputs.IndexLifecycleHotRollover? rollover,

            Outputs.IndexLifecycleHotSearchableSnapshot? searchableSnapshot,

            Outputs.IndexLifecycleHotSetPriority? setPriority,

            Outputs.IndexLifecycleHotShrink? shrink,

            Outputs.IndexLifecycleHotUnfollow? unfollow)
        {
            Forcemerge = forcemerge;
            MinAge = minAge;
            Readonly = @readonly;
            Rollover = rollover;
            SearchableSnapshot = searchableSnapshot;
            SetPriority = setPriority;
            Shrink = shrink;
            Unfollow = unfollow;
        }
    }
}
