/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT License.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is regenerated.
 */

import * as coreClient from "@azure/core-client";

export const Sku: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Sku",
    modelProperties: {
      name: {
        serializedName: "name",
        required: true,
        type: {
          name: "String"
        }
      },
      tier: {
        serializedName: "tier",
        required: true,
        type: {
          name: "String"
        }
      }
    }
  }
};

export const Storage: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Storage",
    modelProperties: {
      storageSizeGB: {
        serializedName: "storageSizeGB",
        type: {
          name: "Number"
        }
      },
      iops: {
        serializedName: "iops",
        type: {
          name: "Number"
        }
      },
      autoGrow: {
        serializedName: "autoGrow",
        type: {
          name: "String"
        }
      },
      storageSku: {
        serializedName: "storageSku",
        readOnly: true,
        type: {
          name: "String"
        }
      }
    }
  }
};

export const Backup: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Backup",
    modelProperties: {
      backupRetentionDays: {
        serializedName: "backupRetentionDays",
        type: {
          name: "Number"
        }
      },
      geoRedundantBackup: {
        serializedName: "geoRedundantBackup",
        type: {
          name: "String"
        }
      },
      earliestRestoreDate: {
        serializedName: "earliestRestoreDate",
        readOnly: true,
        type: {
          name: "DateTime"
        }
      }
    }
  }
};

export const HighAvailability: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "HighAvailability",
    modelProperties: {
      mode: {
        serializedName: "mode",
        type: {
          name: "String"
        }
      },
      state: {
        serializedName: "state",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      standbyAvailabilityZone: {
        serializedName: "standbyAvailabilityZone",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const Network: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Network",
    modelProperties: {
      publicNetworkAccess: {
        serializedName: "publicNetworkAccess",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      delegatedSubnetResourceId: {
        serializedName: "delegatedSubnetResourceId",
        type: {
          name: "String"
        }
      },
      privateDnsZoneResourceId: {
        serializedName: "privateDnsZoneResourceId",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const MaintenanceWindow: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "MaintenanceWindow",
    modelProperties: {
      customWindow: {
        serializedName: "customWindow",
        type: {
          name: "String"
        }
      },
      startHour: {
        serializedName: "startHour",
        type: {
          name: "Number"
        }
      },
      startMinute: {
        serializedName: "startMinute",
        type: {
          name: "Number"
        }
      },
      dayOfWeek: {
        serializedName: "dayOfWeek",
        type: {
          name: "Number"
        }
      }
    }
  }
};

export const SystemData: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "SystemData",
    modelProperties: {
      createdBy: {
        serializedName: "createdBy",
        type: {
          name: "String"
        }
      },
      createdByType: {
        serializedName: "createdByType",
        type: {
          name: "String"
        }
      },
      createdAt: {
        serializedName: "createdAt",
        type: {
          name: "DateTime"
        }
      },
      lastModifiedBy: {
        serializedName: "lastModifiedBy",
        type: {
          name: "String"
        }
      },
      lastModifiedByType: {
        serializedName: "lastModifiedByType",
        type: {
          name: "String"
        }
      },
      lastModifiedAt: {
        serializedName: "lastModifiedAt",
        type: {
          name: "DateTime"
        }
      }
    }
  }
};

export const Resource: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Resource",
    modelProperties: {
      id: {
        serializedName: "id",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      name: {
        serializedName: "name",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      type: {
        serializedName: "type",
        readOnly: true,
        type: {
          name: "String"
        }
      }
    }
  }
};

export const CloudError: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "CloudError",
    modelProperties: {
      error: {
        serializedName: "error",
        type: {
          name: "Composite",
          className: "ErrorResponse"
        }
      }
    }
  }
};

export const ErrorResponse: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ErrorResponse",
    modelProperties: {
      code: {
        serializedName: "code",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      message: {
        serializedName: "message",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      target: {
        serializedName: "target",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      details: {
        serializedName: "details",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "ErrorResponse"
            }
          }
        }
      },
      additionalInfo: {
        serializedName: "additionalInfo",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "ErrorAdditionalInfo"
            }
          }
        }
      }
    }
  }
};

export const ErrorAdditionalInfo: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ErrorAdditionalInfo",
    modelProperties: {
      type: {
        serializedName: "type",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      info: {
        serializedName: "info",
        readOnly: true,
        type: {
          name: "Dictionary",
          value: { type: { name: "any" } }
        }
      }
    }
  }
};

export const ServerForUpdate: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerForUpdate",
    modelProperties: {
      sku: {
        serializedName: "sku",
        type: {
          name: "Composite",
          className: "Sku"
        }
      },
      tags: {
        serializedName: "tags",
        type: {
          name: "Dictionary",
          value: { type: { name: "String" } }
        }
      },
      administratorLoginPassword: {
        serializedName: "properties.administratorLoginPassword",
        type: {
          name: "String"
        }
      },
      storage: {
        serializedName: "properties.storage",
        type: {
          name: "Composite",
          className: "Storage"
        }
      },
      backup: {
        serializedName: "properties.backup",
        type: {
          name: "Composite",
          className: "Backup"
        }
      },
      highAvailability: {
        serializedName: "properties.highAvailability",
        type: {
          name: "Composite",
          className: "HighAvailability"
        }
      },
      maintenanceWindow: {
        serializedName: "properties.maintenanceWindow",
        type: {
          name: "Composite",
          className: "MaintenanceWindow"
        }
      },
      replicationRole: {
        serializedName: "properties.replicationRole",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const ServerListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "Server"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const ServerRestartParameter: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerRestartParameter",
    modelProperties: {
      restartWithFailover: {
        serializedName: "restartWithFailover",
        type: {
          name: "String"
        }
      },
      maxFailoverSeconds: {
        serializedName: "maxFailoverSeconds",
        type: {
          name: "Number"
        }
      }
    }
  }
};

export const ServerBackupListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerBackupListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "ServerBackup"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const FirewallRuleListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "FirewallRuleListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "FirewallRule"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const DatabaseListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "DatabaseListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "Database"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const ConfigurationListForBatchUpdate: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ConfigurationListForBatchUpdate",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "ConfigurationForBatchUpdate"
            }
          }
        }
      }
    }
  }
};

export const ConfigurationForBatchUpdate: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ConfigurationForBatchUpdate",
    modelProperties: {
      name: {
        serializedName: "name",
        type: {
          name: "String"
        }
      },
      value: {
        serializedName: "properties.value",
        type: {
          name: "String"
        }
      },
      source: {
        serializedName: "properties.source",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const ConfigurationListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ConfigurationListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "Configuration"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const CapabilitiesListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "CapabilitiesListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "CapabilityProperties"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        readOnly: true,
        type: {
          name: "String"
        }
      }
    }
  }
};

export const CapabilityProperties: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "CapabilityProperties",
    modelProperties: {
      zone: {
        serializedName: "zone",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      supportedHAMode: {
        serializedName: "supportedHAMode",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "String"
            }
          }
        }
      },
      supportedGeoBackupRegions: {
        serializedName: "supportedGeoBackupRegions",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "String"
            }
          }
        }
      },
      supportedFlexibleServerEditions: {
        serializedName: "supportedFlexibleServerEditions",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "ServerEditionCapability"
            }
          }
        }
      }
    }
  }
};

export const ServerEditionCapability: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerEditionCapability",
    modelProperties: {
      name: {
        serializedName: "name",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      supportedStorageEditions: {
        serializedName: "supportedStorageEditions",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "StorageEditionCapability"
            }
          }
        }
      },
      supportedServerVersions: {
        serializedName: "supportedServerVersions",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "ServerVersionCapability"
            }
          }
        }
      }
    }
  }
};

export const StorageEditionCapability: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "StorageEditionCapability",
    modelProperties: {
      name: {
        serializedName: "name",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      minStorageSize: {
        serializedName: "minStorageSize",
        readOnly: true,
        type: {
          name: "Number"
        }
      },
      maxStorageSize: {
        serializedName: "maxStorageSize",
        readOnly: true,
        type: {
          name: "Number"
        }
      },
      minBackupRetentionDays: {
        serializedName: "minBackupRetentionDays",
        readOnly: true,
        type: {
          name: "Number"
        }
      },
      maxBackupRetentionDays: {
        serializedName: "maxBackupRetentionDays",
        readOnly: true,
        type: {
          name: "Number"
        }
      }
    }
  }
};

export const ServerVersionCapability: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerVersionCapability",
    modelProperties: {
      name: {
        serializedName: "name",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      supportedSkus: {
        serializedName: "supportedSkus",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "SkuCapability"
            }
          }
        }
      }
    }
  }
};

export const SkuCapability: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "SkuCapability",
    modelProperties: {
      name: {
        serializedName: "name",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      vCores: {
        serializedName: "vCores",
        readOnly: true,
        type: {
          name: "Number"
        }
      },
      supportedIops: {
        serializedName: "supportedIops",
        readOnly: true,
        type: {
          name: "Number"
        }
      },
      supportedMemoryPerVCoreMB: {
        serializedName: "supportedMemoryPerVCoreMB",
        readOnly: true,
        type: {
          name: "Number"
        }
      }
    }
  }
};

export const VirtualNetworkSubnetUsageParameter: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "VirtualNetworkSubnetUsageParameter",
    modelProperties: {
      virtualNetworkResourceId: {
        serializedName: "virtualNetworkResourceId",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const VirtualNetworkSubnetUsageResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "VirtualNetworkSubnetUsageResult",
    modelProperties: {
      delegatedSubnetsUsage: {
        serializedName: "delegatedSubnetsUsage",
        readOnly: true,
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "DelegatedSubnetUsage"
            }
          }
        }
      }
    }
  }
};

export const DelegatedSubnetUsage: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "DelegatedSubnetUsage",
    modelProperties: {
      subnetName: {
        serializedName: "subnetName",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      usage: {
        serializedName: "usage",
        readOnly: true,
        type: {
          name: "Number"
        }
      }
    }
  }
};

export const NameAvailabilityRequest: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "NameAvailabilityRequest",
    modelProperties: {
      name: {
        serializedName: "name",
        required: true,
        type: {
          name: "String"
        }
      },
      type: {
        serializedName: "type",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const NameAvailability: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "NameAvailability",
    modelProperties: {
      message: {
        serializedName: "message",
        type: {
          name: "String"
        }
      },
      nameAvailable: {
        serializedName: "nameAvailable",
        type: {
          name: "Boolean"
        }
      },
      reason: {
        serializedName: "reason",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const GetPrivateDnsZoneSuffixResponse: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "GetPrivateDnsZoneSuffixResponse",
    modelProperties: {
      privateDnsZoneSuffix: {
        serializedName: "privateDnsZoneSuffix",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const OperationListResult: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "OperationListResult",
    modelProperties: {
      value: {
        serializedName: "value",
        type: {
          name: "Sequence",
          element: {
            type: {
              name: "Composite",
              className: "Operation"
            }
          }
        }
      },
      nextLink: {
        serializedName: "nextLink",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const Operation: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Operation",
    modelProperties: {
      name: {
        serializedName: "name",
        type: {
          name: "String"
        }
      },
      display: {
        serializedName: "display",
        type: {
          name: "Composite",
          className: "OperationDisplay"
        }
      },
      origin: {
        serializedName: "origin",
        type: {
          name: "String"
        }
      },
      properties: {
        serializedName: "properties",
        type: {
          name: "Dictionary",
          value: {
            type: { name: "Dictionary", value: { type: { name: "any" } } }
          }
        }
      }
    }
  }
};

export const OperationDisplay: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "OperationDisplay",
    modelProperties: {
      provider: {
        serializedName: "provider",
        type: {
          name: "String"
        }
      },
      resource: {
        serializedName: "resource",
        type: {
          name: "String"
        }
      },
      operation: {
        serializedName: "operation",
        type: {
          name: "String"
        }
      },
      description: {
        serializedName: "description",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const TrackedResource: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "TrackedResource",
    modelProperties: {
      ...Resource.type.modelProperties,
      tags: {
        serializedName: "tags",
        type: {
          name: "Dictionary",
          value: { type: { name: "String" } }
        }
      },
      location: {
        serializedName: "location",
        required: true,
        type: {
          name: "String"
        }
      }
    }
  }
};

export const ProxyResource: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ProxyResource",
    modelProperties: {
      ...Resource.type.modelProperties
    }
  }
};

export const Server: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Server",
    modelProperties: {
      ...TrackedResource.type.modelProperties,
      sku: {
        serializedName: "sku",
        type: {
          name: "Composite",
          className: "Sku"
        }
      },
      systemData: {
        serializedName: "systemData",
        type: {
          name: "Composite",
          className: "SystemData"
        }
      },
      administratorLogin: {
        serializedName: "properties.administratorLogin",
        type: {
          name: "String"
        }
      },
      administratorLoginPassword: {
        serializedName: "properties.administratorLoginPassword",
        type: {
          name: "String"
        }
      },
      version: {
        serializedName: "properties.version",
        type: {
          name: "String"
        }
      },
      availabilityZone: {
        serializedName: "properties.availabilityZone",
        type: {
          name: "String"
        }
      },
      createMode: {
        serializedName: "properties.createMode",
        type: {
          name: "String"
        }
      },
      sourceServerResourceId: {
        serializedName: "properties.sourceServerResourceId",
        type: {
          name: "String"
        }
      },
      restorePointInTime: {
        serializedName: "properties.restorePointInTime",
        type: {
          name: "DateTime"
        }
      },
      replicationRole: {
        serializedName: "properties.replicationRole",
        type: {
          name: "String"
        }
      },
      replicaCapacity: {
        constraints: {
          InclusiveMinimum: 0
        },
        serializedName: "properties.replicaCapacity",
        readOnly: true,
        type: {
          name: "Number"
        }
      },
      state: {
        serializedName: "properties.state",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      fullyQualifiedDomainName: {
        serializedName: "properties.fullyQualifiedDomainName",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      storage: {
        serializedName: "properties.storage",
        type: {
          name: "Composite",
          className: "Storage"
        }
      },
      backup: {
        serializedName: "properties.backup",
        type: {
          name: "Composite",
          className: "Backup"
        }
      },
      highAvailability: {
        serializedName: "properties.highAvailability",
        type: {
          name: "Composite",
          className: "HighAvailability"
        }
      },
      network: {
        serializedName: "properties.network",
        type: {
          name: "Composite",
          className: "Network"
        }
      },
      maintenanceWindow: {
        serializedName: "properties.maintenanceWindow",
        type: {
          name: "Composite",
          className: "MaintenanceWindow"
        }
      }
    }
  }
};

export const ServerBackup: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "ServerBackup",
    modelProperties: {
      ...ProxyResource.type.modelProperties,
      systemData: {
        serializedName: "systemData",
        type: {
          name: "Composite",
          className: "SystemData"
        }
      },
      backupType: {
        serializedName: "properties.backupType",
        type: {
          name: "String"
        }
      },
      completedTime: {
        serializedName: "properties.completedTime",
        type: {
          name: "DateTime"
        }
      },
      source: {
        serializedName: "properties.source",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const FirewallRule: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "FirewallRule",
    modelProperties: {
      ...ProxyResource.type.modelProperties,
      systemData: {
        serializedName: "systemData",
        type: {
          name: "Composite",
          className: "SystemData"
        }
      },
      startIpAddress: {
        constraints: {
          Pattern: new RegExp(
            "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
          )
        },
        serializedName: "properties.startIpAddress",
        required: true,
        type: {
          name: "String"
        }
      },
      endIpAddress: {
        constraints: {
          Pattern: new RegExp(
            "^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\\.){3}([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])$"
          )
        },
        serializedName: "properties.endIpAddress",
        required: true,
        type: {
          name: "String"
        }
      }
    }
  }
};

export const Database: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Database",
    modelProperties: {
      ...ProxyResource.type.modelProperties,
      systemData: {
        serializedName: "systemData",
        type: {
          name: "Composite",
          className: "SystemData"
        }
      },
      charset: {
        serializedName: "properties.charset",
        type: {
          name: "String"
        }
      },
      collation: {
        serializedName: "properties.collation",
        type: {
          name: "String"
        }
      }
    }
  }
};

export const Configuration: coreClient.CompositeMapper = {
  type: {
    name: "Composite",
    className: "Configuration",
    modelProperties: {
      ...ProxyResource.type.modelProperties,
      systemData: {
        serializedName: "systemData",
        type: {
          name: "Composite",
          className: "SystemData"
        }
      },
      value: {
        serializedName: "properties.value",
        type: {
          name: "String"
        }
      },
      description: {
        serializedName: "properties.description",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      defaultValue: {
        serializedName: "properties.defaultValue",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      dataType: {
        serializedName: "properties.dataType",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      allowedValues: {
        serializedName: "properties.allowedValues",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      source: {
        serializedName: "properties.source",
        type: {
          name: "String"
        }
      },
      isReadOnly: {
        serializedName: "properties.isReadOnly",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      isConfigPendingRestart: {
        serializedName: "properties.isConfigPendingRestart",
        readOnly: true,
        type: {
          name: "String"
        }
      },
      isDynamicConfig: {
        serializedName: "properties.isDynamicConfig",
        readOnly: true,
        type: {
          name: "String"
        }
      }
    }
  }
};
