func elasticsearchTopologyAutoscalingSchema()

in ec/ecresource/deploymentresource/elasticsearch/v2/schema.go [223:277]


func elasticsearchTopologyAutoscalingSchema(topologyAttributeName string) schema.Attribute {
	return schema.SingleNestedAttribute{
		Description: "Optional Elasticsearch autoscaling settings, such a maximum and minimum size and resources.",
		Required:    true,
		Attributes: map[string]schema.Attribute{
			"max_size_resource": schema.StringAttribute{
				Description: "Maximum resource type for the maximum autoscaling setting.",
				Optional:    true,
				Computed:    true,
				PlanModifiers: []planmodifier.String{
					UseTopologyStateForUnknown(topologyAttributeName),
				},
			},
			"max_size": schema.StringAttribute{
				Description: `Maximum autoscaling size. Set it to "0g" if tier should not be created when autoscaling is enabled on ES level`,
				Optional:    true,
				Computed:    true,
				PlanModifiers: []planmodifier.String{
					UseTopologyStateForUnknown(topologyAttributeName),
				},
			},
			"min_size_resource": schema.StringAttribute{
				Description: "Minimum resource type for the minimum autoscaling setting.",
				Optional:    true,
				Computed:    true,
				PlanModifiers: []planmodifier.String{
					UseTopologyStateForUnknown(topologyAttributeName),
				},
			},
			"min_size": schema.StringAttribute{
				Description: "Minimum autoscaling size.",
				Optional:    true,
				Computed:    true,
				PlanModifiers: []planmodifier.String{
					UseTopologyStateForUnknown(topologyAttributeName),
				},
			},
			"autoscale": schema.BoolAttribute{
				Description: "Whether this specific tier should be auto-scaled, overrides deployment-wide setting. Allowed for `ml` tier only.",
				Computed:    true,
				Optional:    true,
				PlanModifiers: []planmodifier.Bool{
					UseTopologyStateForUnknown(topologyAttributeName),
				},
			},
			"policy_override_json": schema.StringAttribute{
				Description: "Computed policy overrides set directly via the API or other clients.",
				Computed:    true,
				PlanModifiers: []planmodifier.String{
					UseTopologyStateForUnknown(topologyAttributeName),
				},
			},
		},
	}
}