package schemas

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

func MakeSchemaDataSourceAccountGetResourceListConsumption() map[string]schema.Attribute {
	return map[string]schema.Attribute{
		"items": schema.ListNestedAttribute{
			Computed: true,
			NestedObject: schema.NestedAttributeObject{
				Attributes: map[string]schema.Attribute{
					"account_id": schema.Int64Attribute{
						Required: true,
					},
					"consumed": schema.SingleNestedAttribute{
						Computed: true,
						Attributes: map[string]schema.Attribute{
							"cpu": schema.Int64Attribute{
								Computed: true,
							},
							"disk_size": schema.Float64Attribute{
								Computed: true,
							},
							"disk_size_max": schema.Float64Attribute{
								Computed: true,
							},
							"ext_ips": schema.Int64Attribute{
								Computed: true,
							},
							"ext_traffic": schema.Int64Attribute{
								Computed: true,
							},
							"gpu": schema.Int64Attribute{
								Computed: true,
							},
							"ram": schema.Int64Attribute{
								Computed: true,
							},
							"seps": schema.ListNestedAttribute{
								Computed: true,
								NestedObject: schema.NestedAttributeObject{
									Attributes: map[string]schema.Attribute{
										"sep_id": schema.StringAttribute{
											Computed: true,
										},
										"data_name": schema.StringAttribute{
											Computed: true,
										},
										"disk_size": schema.Float64Attribute{
											Computed: true,
										},
										"disk_size_max": schema.Float64Attribute{
											Computed: true,
										},
									},
								},
							},
						},
					},
					"reserved": schema.SingleNestedAttribute{
						Computed: true,
						Attributes: map[string]schema.Attribute{
							"cpu": schema.Int64Attribute{
								Computed: true,
							},
							"disk_size": schema.Float64Attribute{
								Computed: true,
							},
							"disk_size_max": schema.Float64Attribute{
								Computed: true,
							},
							"ext_ips": schema.Int64Attribute{
								Computed: true,
							},
							"ext_traffic": schema.Int64Attribute{
								Computed: true,
							},
							"gpu": schema.Int64Attribute{
								Computed: true,
							},
							"ram": schema.Int64Attribute{
								Computed: true,
							},
							"seps": schema.ListNestedAttribute{
								Computed: true,
								NestedObject: schema.NestedAttributeObject{
									Attributes: map[string]schema.Attribute{
										"sep_id": schema.StringAttribute{
											Computed: true,
										},
										"data_name": schema.StringAttribute{
											Computed: true,
										},
										"disk_size": schema.Float64Attribute{
											Computed: true,
										},
										"disk_size_max": schema.Float64Attribute{
											Computed: true,
										},
									},
								},
							},
						},
					},
				},
			},
		},
		"entry_count": schema.Int64Attribute{
			Computed: true,
		},
	}
}
