Terraform module using Mapping Functions

This is my module for OS disk and i want to add this to my variable

os_disk {
caching = “ReadWrite”
storage_account_type = “Standard_LRS”

source_image_reference {
publisher = “MicrosoftWindowsServer”
offer = “WindowsServer”
sku = “2019-Datacenter-gensecond”
version = “latest”

I tried to create a variable for the OS disk

variable “os_disk” {
type = map(object({
caching = string
storage_account_type = string
source_image_reference = map(string)

variable “source_image_reference” {
type = list[publisher, offer, sku, version]
I tried to call using this list “type = list[publisher, offer, sku, version]” so let me know the correct template to call this.

Can I pass all the string into a single rule in variable.tf.