private void ValidateFileStorePath(FileStoreType fileStore, string source) { if (!this.ShouldValidate(fileStore.Path)) { return; } if (String.IsNullOrEmpty(fileStore.Path)) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_EmptyFilePathNotAllowed, source, FileStore, FileStorePath); } try { Uri uri = new Uri(fileStore.Path); } catch (Exception e) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_PathNotValidUri, fileStore.Path, source, FileStore, FileStorePath, e); } }
private void ValidateManagedServiceAccount(FileStoreType fileStore, string source) { if ((this.ShouldValidate(fileStore.Password)) && (!String.IsNullOrEmpty(fileStore.Password))) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_PasswordAttributeInvalid, Password, AccountType, FileStoreAccessAccountType.ManagedServiceAccount, source, FileStore); } if ((this.ShouldValidate(fileStore.PasswordEncrypted)) && (!String.IsNullOrEmpty(fileStore.PasswordEncrypted))) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_PasswordAttributeInvalid, PasswordEncrypted, AccountType, FileStoreAccessAccountType.ManagedServiceAccount, source, FileStore); } ValidateAccountName(fileStore.AccountName, source, FileStore, AccountName); }
private void ValidateDomainUser(FileStoreType fileStore, string source) { ValidateAccountName(fileStore.AccountName, source, FileStore, AccountName); ValidateType <bool>( fileStore.PasswordEncrypted, source, FileStore, PasswordEncrypted); }
private void ValidateFileStore(FileStoreType fileStore, string source) { ValidateType <bool>( fileStore.IsEnabled, source, FileStore, IsEnabled); ValidateFileStorePath(fileStore, source); ValidateFileStoreAccessInformation(fileStore, source); ValidatePositiveInteger( fileStore.UploadIntervalInMinutes, source, FileStore, UploadIntervalInMinutes); ValidatePositiveInteger( fileStore.DataDeletionAgeInDays, source, FileStore, DataDeletionAgeInDays); }
/// <summary> /// Check the storage type base on the properties. /// </summary> private void CheckStorageType() { this._fileStoreType = string.IsNullOrEmpty(this._fileLocation) ? FileStoreType.Resource : FileStoreType.FileSystem; }
private void ValidateFileStoreAccessInformation(FileStoreType fileStore, string source) { if (String.IsNullOrEmpty(fileStore.AccountType)) { if ((this.ShouldValidate(fileStore.AccountName)) && (!String.IsNullOrEmpty(fileStore.AccountName))) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_AttributeInvalid, AccountName, AccountType, source, FileStore); } if ((this.ShouldValidate(fileStore.Password)) && (!String.IsNullOrEmpty(fileStore.Password))) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_AttributeInvalid, Password, AccountType, source, FileStore); } if ((this.ShouldValidate(fileStore.PasswordEncrypted)) && (!String.IsNullOrEmpty(fileStore.PasswordEncrypted))) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_AttributeInvalid, PasswordEncrypted, AccountType, source, FileStore); } return; } if (!this.ShouldValidate(fileStore.AccountType)) { return; } FileStoreAccessAccountType accountType; if (!Enum.TryParse(fileStore.AccountType, out accountType)) { ImageBuilderUtility.TraceAndThrowValidationError( TraceType, StringResources.ImageBuilderError_DiagnosticValidator_InvalidAccountType, fileStore.AccountType, FileStoreAccessAccountType.DomainUser, FileStoreAccessAccountType.ManagedServiceAccount, source, FileStore, AccountType); } switch (accountType) { case FileStoreAccessAccountType.DomainUser: { ValidateDomainUser(fileStore, source); } break; case FileStoreAccessAccountType.ManagedServiceAccount: { ValidateManagedServiceAccount(fileStore, source); } break; } }