in ec/ecdatasource/deploymentdatasource/schema_elasticsearch.go [82:130]
func elasticsearchTopologySchema() schema.Attribute {
return schema.ListNestedAttribute{
Description: "Node topology element definition.",
Computed: true,
Validators: []validator.List{listvalidator.SizeAtMost(1)},
NestedObject: schema.NestedAttributeObject{
Attributes: map[string]schema.Attribute{
"instance_configuration_id": schema.StringAttribute{
Description: "Controls the allocation of this topology element as well as allowed sizes and node_types. It needs to match the ID of an existing instance configuration.",
Computed: true,
},
"size": schema.StringAttribute{
Description: `Amount of "size_resource" per topology element in Gigabytes. For example "4g".`,
Computed: true,
},
"size_resource": schema.StringAttribute{
Description: "Type of resource (\"memory\" or \"storage\")",
Computed: true,
},
"zone_count": schema.Int64Attribute{
Description: "Number of zones in which nodes will be placed.",
Computed: true,
},
"node_type_data": schema.BoolAttribute{
Description: "Defines whether this node can hold data (<8.0).",
Computed: true,
},
"node_type_master": schema.BoolAttribute{
Description: "Defines whether this node can be elected master (<8.0).",
Computed: true,
},
"node_type_ingest": schema.BoolAttribute{
Description: "Defines whether this node can run an ingest pipeline (<8.0).",
Computed: true,
},
"node_type_ml": schema.BoolAttribute{
Description: "Defines whether this node can run ML jobs (<8.0).",
Computed: true,
},
"node_roles": schema.SetAttribute{
ElementType: types.StringType,
Description: "Defines the list of Elasticsearch node roles assigned to the topology element. This is supported from v7.10, and required from v8.",
Computed: true,
},
"autoscaling": elasticsearchAutoscalingSchema(),
},
},
}
}