internal static ManagedDiskParameters DeserializeManagedDiskParameters(JsonElement element) { Optional <StorageAccountTypes> storageAccountType = default; Optional <WritableSubResource> diskEncryptionSet = default; Optional <VmDiskSecurityProfile> securityProfile = default; Optional <ResourceIdentifier> id = default; foreach (var property in element.EnumerateObject()) { if (property.NameEquals("storageAccountType")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } storageAccountType = new StorageAccountTypes(property.Value.GetString()); continue; } if (property.NameEquals("diskEncryptionSet")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } diskEncryptionSet = JsonSerializer.Deserialize <WritableSubResource>(property.Value.ToString()); continue; } if (property.NameEquals("securityProfile")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } securityProfile = VmDiskSecurityProfile.DeserializeVmDiskSecurityProfile(property.Value); continue; } if (property.NameEquals("id")) { if (property.Value.ValueKind == JsonValueKind.Null) { property.ThrowNonNullablePropertyIsNull(); continue; } id = new ResourceIdentifier(property.Value.GetString()); continue; } } return(new ManagedDiskParameters(id.Value, Optional.ToNullable(storageAccountType), diskEncryptionSet, securityProfile.Value)); }
internal ManagedDiskParameters(ResourceIdentifier id, StorageAccountTypes?storageAccountType, WritableSubResource diskEncryptionSet, VmDiskSecurityProfile securityProfile) : base(id) { StorageAccountType = storageAccountType; DiskEncryptionSet = diskEncryptionSet; SecurityProfile = securityProfile; }
internal VirtualMachineScaleSetManagedDiskParameters(StorageAccountTypes?storageAccountType, WritableSubResource diskEncryptionSet, VmDiskSecurityProfile securityProfile) { StorageAccountType = storageAccountType; DiskEncryptionSet = diskEncryptionSet; SecurityProfile = securityProfile; }