Reuse schema attribute

Hi !

I have this schema and I’m looking for a way to reuse duplicate definition in the schema, such as description, icon, title and etc. Any way can I do it?

"number_prop": schema.MapNestedAttribute{
						MarkdownDescription: "The number property of the blueprint",
						Optional:            true,
						NestedObject: schema.NestedAttributeObject{
							Attributes: map[string]schema.Attribute{
								"title": schema.StringAttribute{
									MarkdownDescription: "The display name of the number property",
									Optional:            true,
								},
								"description": schema.StringAttribute{
									MarkdownDescription: "The description of the number property",
									Optional:            true,
								},
								"default": schema.Float64Attribute{
									MarkdownDescription: "The default of the number property",
									Optional:            true,
								},
								"icon": schema.StringAttribute{
									MarkdownDescription: "The icon of the number property",
									Optional:            true,
								},
								"required": schema.BoolAttribute{
									MarkdownDescription: "The required of the number property",
									Optional:            true,
								},
								"maximum": schema.Float64Attribute{
									MarkdownDescription: "The min of the number property",
									Optional:            true,
								},
								"minimum": schema.Float64Attribute{
									MarkdownDescription: "The max of the number property",
									Optional:            true,
								},
								"enum": schema.ListAttribute{
									MarkdownDescription: "The enum of the number property",
									Optional:            true,
									ElementType:         types.Float64Type,
									Validators: []validator.List{
										listvalidator.UniqueValues(),
										listvalidator.SizeAtLeast(1),
									},
								},
							},
						},
					},
					"boolean_prop": schema.MapNestedAttribute{
						MarkdownDescription: "The boolean property of the blueprint",
						Optional:            true,
						NestedObject: schema.NestedAttributeObject{
							Attributes: map[string]schema.Attribute{
								"title": schema.StringAttribute{
									MarkdownDescription: "The display name of the boolean property",
									Optional:            true,
								},
								"description": schema.StringAttribute{
									MarkdownDescription: "The description of the boolean property",
									Optional:            true,
								},
								"default": schema.BoolAttribute{
									MarkdownDescription: "The default of the boolean property",
									Optional:            true,
								},
								"icon": schema.StringAttribute{
									MarkdownDescription: "The icon of the boolean property",
									Optional:            true,
								},
								"required": schema.BoolAttribute{
									MarkdownDescription: "The required of the boolean property",
									Optional:            true,
								},
							},
						},
					},
					"string_array_prop": schema.MapNestedAttribute{
						MarkdownDescription: "The array property of the blueprint",
						Optional:            true,
						NestedObject: schema.NestedAttributeObject{
							Attributes: map[string]schema.Attribute{
								"title": schema.StringAttribute{
									MarkdownDescription: "The display name of the array property",
									Optional:            true,
								},
								"description": schema.StringAttribute{
									MarkdownDescription: "The description of the array property",
									Optional:            true,
								},
								"default": schema.ListAttribute{
									MarkdownDescription: "The default of the array property",
									Optional:            true,
									ElementType:         types.StringType,
								},
								"icon": schema.StringAttribute{
									MarkdownDescription: "The icon of the array property",
									Optional:            true,
								},
								"required": schema.BoolAttribute{
									MarkdownDescription: "The required of the array property",
									Optional:            true,
								},
								"min_items": schema.Int64Attribute{
									MarkdownDescription: "The min items of the array property",
									Optional:            true,
									Validators: []validator.Int64{
										int64validator.AtLeast(0),
									},
								},
								"max_items": schema.Int64Attribute{
									MarkdownDescription: "The max items of the array property",
									Optional:            true,
									Validators: []validator.Int64{
										int64validator.AtLeast(0),
									},
								},
								"items": schema.SingleNestedAttribute{

It’s all just Go code, so you can use any relevant techniques in the Go language to do so.