func ElasticsearchTopologySchema()

in ec/ecresource/deploymentresource/elasticsearch/v1/schema.go [136:196]


func ElasticsearchTopologySchema() schema.Attribute {
	return schema.ListNestedAttribute{
		Computed:    true,
		Optional:    true,
		Description: `Optional topology element which must be set once but can be set multiple times to compose complex topologies`,
		NestedObject: schema.NestedAttributeObject{
			Attributes: map[string]schema.Attribute{
				"id": schema.StringAttribute{
					Description: `Required topology ID from the deployment template`,
					Required:    true,
				},
				"instance_configuration_id": schema.StringAttribute{
					Description: `Computed Instance Configuration ID of the topology element`,
					Computed:    true,
				},
				"size": schema.StringAttribute{
					Description: `Optional amount of memory per node in the "<size in GB>g" notation`,
					Computed:    true,
					Optional:    true,
				},
				"size_resource": schema.StringAttribute{
					Description: `Optional size type, defaults to "memory".`,
					Optional:    true,
					Computed:    true,
				},
				"zone_count": schema.Int64Attribute{
					Description: `Optional number of zones that the Elasticsearch cluster will span. This is used to set HA`,
					Computed:    true,
					Optional:    true,
				},
				"node_type_data": schema.StringAttribute{
					Description: `The node type for the Elasticsearch Topology element (data node)`,
					Computed:    true,
					Optional:    true,
				},
				"node_type_master": schema.StringAttribute{
					Description: `The node type for the Elasticsearch Topology element (master node)`,
					Computed:    true,
					Optional:    true,
				},
				"node_type_ingest": schema.StringAttribute{
					Description: `The node type for the Elasticsearch Topology element (ingest node)`,
					Computed:    true,
					Optional:    true,
				},
				"node_type_ml": schema.StringAttribute{
					Description: `The node type for the Elasticsearch Topology element (machine learning node)`,
					Computed:    true,
					Optional:    true,
				},
				"node_roles": schema.SetAttribute{
					ElementType: types.StringType,
					Description: `The computed list of node roles for the current topology element`,
					Computed:    true,
				},
				"autoscaling": ElasticsearchTopologyAutoscalingSchema(),
				"config":      ElasticsearchTopologyConfigSchema(),
			},
		},
	}
}