package schemas

import (
	"github.com/hashicorp/terraform-plugin-framework/datasource/schema"
	"github.com/hashicorp/terraform-plugin-framework/types"
)

func MakeSchemaDataSourceK8CI() map[string]schema.Attribute {
	return map[string]schema.Attribute{
		"k8ci_id": schema.Int64Attribute{
			Required:    true,
			Description: "K8CI ID",
		},
		"desc": schema.StringAttribute{
			Computed:    true,
			Description: "description",
		},
		"gid": schema.Int64Attribute{
			Computed:    true,
			Description: "gid",
		},
		"guid": schema.Int64Attribute{
			Computed:    true,
			Description: "guid",
		},
		"id": schema.StringAttribute{
			Computed: true,
		},
		"lb_image_id": schema.Int64Attribute{
			Computed:    true,
			Description: "LB Image ID",
		},
		"master_driver": schema.StringAttribute{
			Computed: true,
		},
		"master_image_id": schema.Int64Attribute{
			Computed: true,
		},
		"max_master_count": schema.Int64Attribute{
			Computed: true,
		},
		"max_worker_count": schema.Int64Attribute{
			Computed: true,
		},
		"milestones": schema.Int64Attribute{
			Computed: true,
		},
		"name": schema.StringAttribute{
			Computed:    true,
			Description: "K8CI name",
		},
		"network_plugins": schema.ListAttribute{
			Computed:    true,
			ElementType: types.StringType,
		},
		"shared_with": schema.ListAttribute{
			Computed:    true,
			ElementType: types.Int64Type,
		},
		"status": schema.StringAttribute{
			Computed: true,
		},
		"version": schema.StringAttribute{
			Computed: true,
		},
		"worker_driver": schema.StringAttribute{
			Computed: true,
		},
		"worker_image_id": schema.Int64Attribute{
			Computed: true,
		},
	}
}
