/// <summary>
 /// Initializes a new instance of the DiskRestorePoint class.
 /// </summary>
 /// <param name="id">Resource Id</param>
 /// <param name="name">Resource name</param>
 /// <param name="type">Resource type</param>
 /// <param name="timeCreated">The timestamp of restorePoint
 /// creation</param>
 /// <param name="sourceResourceId">arm id of source disk or source disk
 /// restore point.</param>
 /// <param name="osType">The Operating System type. Possible values
 /// include: 'Windows', 'Linux'</param>
 /// <param name="hyperVGeneration">The hypervisor generation of the
 /// Virtual Machine. Applicable to OS disks only. Possible values
 /// include: 'V1', 'V2'</param>
 /// <param name="purchasePlan">Purchase plan information for the the
 /// image from which the OS disk was created.</param>
 /// <param name="supportedCapabilities">List of supported capabilities
 /// (like accelerated networking) for the image from which the OS disk
 /// was created.</param>
 /// <param name="familyId">id of the backing snapshot's MIS
 /// family</param>
 /// <param name="sourceUniqueId">unique incarnation id of the source
 /// disk</param>
 /// <param name="encryption">Encryption property can be used to encrypt
 /// data at rest with customer managed keys or platform managed
 /// keys.</param>
 /// <param name="supportsHibernation">Indicates the OS on a disk
 /// supports hibernation.</param>
 /// <param name="networkAccessPolicy">Possible values include:
 /// 'AllowAll', 'AllowPrivate', 'DenyAll'</param>
 /// <param name="publicNetworkAccess">Possible values include:
 /// 'Enabled', 'Disabled'</param>
 /// <param name="diskAccessId">ARM id of the DiskAccess resource for
 /// using private endpoints on disks.</param>
 /// <param name="completionPercent">Percentage complete for the
 /// background copy of disk restore point when source resource is from
 /// a different region.</param>
 /// <param name="replicationState">Replication state of disk restore
 /// point when source resource is from a different region.</param>
 /// <param name="sourceResourceLocation">Location of source disk or
 /// source disk restore point when source resource is from a different
 /// region.</param>
 public DiskRestorePoint(string id = default(string), string name = default(string), string type = default(string), System.DateTime?timeCreated = default(System.DateTime?), string sourceResourceId = default(string), OperatingSystemTypes?osType = default(OperatingSystemTypes?), string hyperVGeneration = default(string), PurchasePlan purchasePlan = default(PurchasePlan), SupportedCapabilities supportedCapabilities = default(SupportedCapabilities), string familyId = default(string), string sourceUniqueId = default(string), Encryption encryption = default(Encryption), bool?supportsHibernation = default(bool?), string networkAccessPolicy = default(string), string publicNetworkAccess = default(string), string diskAccessId = default(string), double?completionPercent = default(double?), string replicationState = default(string), string sourceResourceLocation = default(string))
     : base(id, name, type)
 {
     TimeCreated            = timeCreated;
     SourceResourceId       = sourceResourceId;
     OsType                 = osType;
     HyperVGeneration       = hyperVGeneration;
     PurchasePlan           = purchasePlan;
     SupportedCapabilities  = supportedCapabilities;
     FamilyId               = familyId;
     SourceUniqueId         = sourceUniqueId;
     Encryption             = encryption;
     SupportsHibernation    = supportsHibernation;
     NetworkAccessPolicy    = networkAccessPolicy;
     PublicNetworkAccess    = publicNetworkAccess;
     DiskAccessId           = diskAccessId;
     CompletionPercent      = completionPercent;
     ReplicationState       = replicationState;
     SourceResourceLocation = sourceResourceLocation;
     CustomInit();
 }