├── .gitattributes
├── .gitignore
├── LICENSE
├── README.md
├── Sandboxable.sln
├── build
├── decrypt.snk.ps1
├── pack.ps1
└── sign.ps1
└── src
├── Hyak.Common
├── CloudCredentials.cs
├── CloudError.cs
├── CloudException.cs
├── CloudHttpErrorInfo.cs
├── CloudHttpRequestErrorInfo.cs
├── CloudHttpResponseErrorInfo.cs
├── HttpOperationResponse.cs
├── Hyak.Common.csproj
├── Hyak.Common.nuspec
├── ICloudTracingInterceptor.cs
├── ILazyCollection.cs
├── IServiceOperations.cs
├── Internals
│ ├── DisposableReference.cs
│ ├── HttpExtensions.cs
│ ├── IndisposableDelegatingHandler.cs
│ └── PortablePlatformAbstraction.cs
├── LazyDictionary.cs
├── LazyList.cs
├── Platform
│ ├── HttpTransportHandlerProvider.cs
│ └── IHttpTransportHandlerProvider.cs
├── Properties
│ ├── AssemblyInfo.cs
│ ├── Resources.Designer.cs
│ └── Resources.resx
├── RetryHandler.cs
├── ServiceClient.cs
├── TracingAdapter.cs
├── TracingExtensions.cs
├── TransientFaultHandling
│ ├── AsyncExecution.cs
│ ├── AsyncExecution`.cs
│ ├── DefaultHttpErrorDetectionStrategy.cs
│ ├── ExponentialBackoff.cs
│ ├── FixedInterval.cs
│ ├── Guard.cs
│ ├── HttpRequestExceptionWithStatus.cs
│ ├── ITransientErrorDetectionStrategy.cs
│ ├── Incremental.cs
│ ├── RetryLimitExceededException.cs
│ ├── RetryPolicy.cs
│ ├── RetryPolicy`.cs
│ ├── RetryStrategy.cs
│ ├── RetryingEventArgs.cs
│ └── ShouldRetry.cs
└── packages.config
├── Microsoft.Azure.Common
├── Credentials
│ ├── SubscriptionCloudCredentials.cs
│ └── TokenCloudCredentials.cs
├── Handlers
│ └── ClientRequestTrackingHandler.cs
├── Microsoft.Azure.Common.csproj
├── Microsoft.Azure.Common.csproj.DotSettings
├── Microsoft.Azure.Common.nuspec
├── Models
│ ├── AzureOperationResponse.cs
│ ├── OperationStatus.cs
│ ├── OperationStatusResponse.cs
│ ├── ResourceBase.cs
│ ├── ResourceBaseExtended.cs
│ └── ResourceIdentity.cs
├── OData
│ ├── FilterParameterAttribute.cs
│ ├── FilterString.cs
│ └── UrlExpressionVisitor.cs
├── Properties
│ ├── AssemblyAdditionalInfo.cs
│ └── AssemblyInfo.cs
├── Settings.SourceAnalysis
└── packages.config
├── Microsoft.Azure.KeyVault
├── Authentication
│ ├── HttpBearerChallenge.cs
│ ├── HttpBearerChallengeCache.cs
│ └── KeyVaultCredential.cs
├── Generated
│ ├── IKeyOperations.cs
│ ├── IKeyVaultInternalClient.cs
│ ├── ISecretOperations.cs
│ ├── KeyOpRequestMessageWithRawJsonContent.cs
│ ├── KeyOpResponseMessageWithRawJsonContent.cs
│ ├── KeyOperations.cs
│ ├── KeyOperationsExtensions.cs
│ ├── KeyVaultInternalClient.cs
│ ├── KeyVaultInternalClientExtensions.cs
│ ├── SecretOperations.cs
│ ├── SecretOperationsExtensions.cs
│ ├── SecretRequestMessageWithRawJsonContent.cs
│ └── SecretResponseMessageWithRawJsonContent.cs
├── KeyVaultClient.cs
├── KeyVaultClientException.cs
├── KeyVaultClientExtensions.cs
├── Microsoft.Azure.KeyVault.csproj
├── Microsoft.Azure.KeyVault.nuspec
├── Models
│ ├── KeyAttributes.cs
│ ├── KeyBundle.cs
│ ├── KeyOperationRequest.cs
│ ├── KeyOperationResult.cs
│ ├── Messages.cs
│ ├── Secret.cs
│ └── SecretAttributes.cs
├── ObjectIdentifier.cs
├── Properties
│ └── AssemblyInfo.cs
├── UnixEpoch.cs
├── UriExtensions.cs
├── WebKey
│ ├── Json
│ │ └── Base64UrlConverter.cs
│ ├── JsonWebKey.cs
│ ├── JsonWebKeyEncryptionAlgorithms.cs
│ ├── JsonWebKeyOperations.cs
│ ├── JsonWebKeySignatureAlgorithms.cs
│ └── JsonWebKeyTypes.cs
└── packages.config
├── Microsoft.Azure.Management.KeyVault
├── Customization
│ └── AccessPolicyEntry.cs
├── Generated
│ ├── IKeyVaultManagementClient.cs
│ ├── IVaultOperations.cs
│ ├── KeyVaultManagementClient.cs
│ ├── ResourceBase.cs
│ ├── Sku.cs
│ ├── Vault.cs
│ ├── VaultCreateOrUpdateParameters.cs
│ ├── VaultGetResponse.cs
│ ├── VaultListResponse.cs
│ ├── VaultOperations.cs
│ ├── VaultOperationsExtensions.cs
│ └── VaultProperties.cs
├── Microsoft.Azure.Management.KeyVault.csproj
├── Microsoft.Azure.Management.KeyVault.csproj.DotSettings
├── Microsoft.Azure.Management.KeyVault.nuspec
├── Properties
│ └── AssemblyInfo.cs
└── packages.config
├── Microsoft.IdentityModel.Clients.ActiveDirectory
├── ADAL.Common
│ ├── Base64UrlEncoder.cs
│ ├── CommonAssemblyInfo.cs
│ ├── Constants.cs
│ ├── DateTimeHelper.cs
│ ├── OAuth2Response.cs
│ └── OAuthConstants.cs
├── ADAL.NET
│ ├── ClientAssertion.cs
│ ├── ClientAssertionCertificate.cs
│ ├── CryptographyHelper.cs
│ ├── JsonWebToken.cs
│ └── JsonWebTokenConstants.cs
├── BouncyCastleExtension.cs
├── Microsoft.IdentityModel.Clients.ActiveDirectory.csproj
├── Microsoft.IdentityModel.Clients.ActiveDirectory.csproj.DotSettings
├── Microsoft.IdentityModel.Clients.ActiveDirectory.nuspec
├── Properties
│ └── AssemblyInfo.cs
└── packages.config
├── Microsoft.WindowsAzure.Storage
├── AccessCondition.cs
├── Analytics
│ ├── CapacityEntity.cs
│ ├── CloudAnalyticsClient.cs
│ ├── LogRecord.cs
│ ├── LogRecordStreamReader.cs
│ └── MetricsEntity.cs
├── Auth
│ ├── Protocol
│ │ ├── IAuthenticationHandler.cs
│ │ ├── NoOpAuthenticationHandler.cs
│ │ ├── SharedKeyAuthenticationHandler.cs
│ │ └── SharedKeyLiteAuthenticationHandler.cs
│ ├── StorageAccountKey.cs
│ └── StorageCredentials.cs
├── AuthenticationScheme.cs
├── Blob
│ ├── BlobAttributes.cs
│ ├── BlobContainerPermissions.cs
│ ├── BlobContainerProperties.cs
│ ├── BlobContainerPublicAccessType.cs
│ ├── BlobContinuationToken.cs
│ ├── BlobEncryptedWriteStream.cs
│ ├── BlobEncryptionData.cs
│ ├── BlobEncryptionMode.cs
│ ├── BlobEncryptionPolicy.cs
│ ├── BlobListingDetails.cs
│ ├── BlobProperties.cs
│ ├── BlobReadStream.cs
│ ├── BlobReadStreamBase.cs
│ ├── BlobRequestOptions.cs
│ ├── BlobResultSegment.cs
│ ├── BlobType.cs
│ ├── BlobWriteStream.cs
│ ├── BlobWriteStreamBase.cs
│ ├── BlockListingFilter.cs
│ ├── BlockSearchMode.cs
│ ├── CloudAppendBlob.Common.cs
│ ├── CloudAppendBlob.cs
│ ├── CloudBlob.Common.cs
│ ├── CloudBlob.cs
│ ├── CloudBlobClient.Common.cs
│ ├── CloudBlobClient.cs
│ ├── CloudBlobContainer.Common.cs
│ ├── CloudBlobContainer.cs
│ ├── CloudBlobDirectory.Common.cs
│ ├── CloudBlobDirectory.cs
│ ├── CloudBlobStream.cs
│ ├── CloudBlockBlob.Common.cs
│ ├── CloudBlockBlob.cs
│ ├── CloudPageBlob.Common.cs
│ ├── CloudPageBlob.cs
│ ├── ContainerListingDetails.cs
│ ├── ContainerResultSegment.cs
│ ├── CopyState.cs
│ ├── CopyStatus.cs
│ ├── DeleteSnapshotsOption.cs
│ ├── ICloudBlob.Common.cs
│ ├── ICloudBlob.cs
│ ├── IListBlobItem.cs
│ ├── LeaseAction.cs
│ ├── LeaseDuration.cs
│ ├── LeaseState.cs
│ ├── LeaseStatus.cs
│ ├── ListBlockItem.cs
│ ├── PageDiffRange.cs
│ ├── PageRange.cs
│ ├── ParallelDownloadStream.cs
│ ├── ParallelDownloadToFile.cs
│ ├── PremiumPageBlobTier.cs
│ ├── Protocol
│ │ ├── BlobAccessPolicyResponse.cs
│ │ ├── BlobContainerEntry.cs
│ │ ├── BlobErrorCodeStrings.cs
│ │ ├── BlobHttpRequestMessageFactory.cs
│ │ ├── BlobHttpResponseParsers.Common.cs
│ │ ├── BlobHttpResponseParsers.cs
│ │ ├── BlobHttpWebRequestFactory.cs
│ │ ├── BlobListingContext.cs
│ │ ├── BlobRequest.cs
│ │ ├── ContainerHttpRequestMessageFactory.cs
│ │ ├── ContainerHttpResponseParsers.Common.cs
│ │ ├── ContainerHttpResponseParsers.cs
│ │ ├── ContainerHttpWebRequestFactory.cs
│ │ ├── GetBlockListResponse.cs
│ │ ├── GetPageDiffRangesResponse.cs
│ │ ├── GetPageRangesResponse.cs
│ │ ├── IListBlobEntry.cs
│ │ ├── ListBlobEntry.cs
│ │ ├── ListBlobPrefixEntry.cs
│ │ ├── ListBlobsResponse.cs
│ │ ├── ListContainersResponse.cs
│ │ ├── PageWrite.cs
│ │ └── PutBlockListItem.cs
│ ├── ReadLengthLimitingStream.cs
│ ├── RehydrationStatus.cs
│ ├── SequenceNumberAction.cs
│ ├── SharedAccessBlobHeaders.cs
│ ├── SharedAccessBlobPermissions.cs
│ ├── SharedAccessBlobPolicies.cs
│ ├── SharedAccessBlobPolicy.cs
│ ├── StandardBlobTier.cs
│ └── SubStream.cs
├── CloudStorageAccount.cs
├── Core
│ ├── Auth
│ │ ├── ICanonicalizer.cs
│ │ ├── SharedAccessSignatureHelper.cs
│ │ ├── SharedKeyCanonicalizer.cs
│ │ ├── SharedKeyLiteCanonicalizer.cs
│ │ ├── SharedKeyLiteTableCanonicalizer.cs
│ │ └── SharedKeyTableCanonicalizer.cs
│ ├── BlobDecryptStream.cs
│ ├── ByteCountingStream.cs
│ ├── CanonicalizedString.cs
│ ├── CommandLocationMode.cs
│ ├── Executor
│ │ ├── ExecutionState.cs
│ │ ├── Executor.cs
│ │ ├── ExecutorBase.cs
│ │ ├── ExecutorOperation.cs
│ │ ├── RESTCommand.cs
│ │ ├── RecoveryActions.cs
│ │ ├── StorageCommandBase.cs
│ │ ├── TableCommand.cs
│ │ └── TableExecutor.cs
│ ├── LengthLimitingStream.cs
│ ├── Logger.Common.cs
│ ├── Logger.cs
│ ├── MultiBufferMemoryStream.cs
│ ├── NonCloseableStream.cs
│ ├── NullType.cs
│ ├── SR.cs
│ ├── SasQueryBuilder.cs
│ ├── StorageEventSource.cs
│ ├── StorageRequestMessage.cs
│ ├── SyncMemoryStream.cs
│ ├── UriQueryBuilder.cs
│ └── Util
│ │ ├── APMWithTimeout.cs
│ │ ├── AsyncExtensions.cs
│ │ ├── AsyncSemaphore.Common.cs
│ │ ├── AsyncSemaphore.cs
│ │ ├── AsyncStreamCopier.cs
│ │ ├── AuthenticationUtility.cs
│ │ ├── CancellableAsyncResultTaskWrapper.cs
│ │ ├── CancellableOperationBase.cs
│ │ ├── CommonUtility.cs
│ │ ├── CounterEvent.cs
│ │ ├── CryptoUtility.cs
│ │ ├── CultureStringComparer.cs
│ │ ├── Exceptions.cs
│ │ ├── GCWatcher.cs
│ │ ├── HttpResponseMessageUtils.cs
│ │ ├── HttpWebUtility.cs
│ │ ├── MD5Wrapper.cs
│ │ ├── NavigationHelper.cs
│ │ ├── PlatformAgnosticReflectionExtensions.cs
│ │ ├── StorageAsyncResult.cs
│ │ ├── StorageCommandAsyncResult.cs
│ │ ├── StorageProgress.cs
│ │ ├── StreamDescriptor.cs
│ │ ├── StreamExtensions.cs
│ │ └── TaskExtensions.cs
├── DoesServiceRequestAttribute.cs
├── EncryptionAgent.cs
├── EncryptionAlgorithm.cs
├── EncryptionData.cs
├── ExceptionInfo.cs
├── File
│ ├── CloudFile.Common.cs
│ ├── CloudFile.cs
│ ├── CloudFileAttributes.cs
│ ├── CloudFileClient.Common.cs
│ ├── CloudFileClient.cs
│ ├── CloudFileDirectory.Common.cs
│ ├── CloudFileDirectory.cs
│ ├── CloudFileShare.Common.cs
│ ├── CloudFileShare.cs
│ ├── CloudFileStream.cs
│ ├── DeleteShareSnapshotsOption.cs
│ ├── FileContinuationToken.cs
│ ├── FileDirectoryProperties.cs
│ ├── FileProperties.cs
│ ├── FileRange.cs
│ ├── FileReadStream.cs
│ ├── FileReadStreamBase.cs
│ ├── FileRequestOptions.cs
│ ├── FileResultSegment.cs
│ ├── FileSharePermissions.cs
│ ├── FileShareProperties.cs
│ ├── FileSharePublicAccessType.cs
│ ├── FileWriteStream.cs
│ ├── FileWriteStreamBase.cs
│ ├── IListFileItem.cs
│ ├── Protocol
│ │ ├── DirectoryHttpResponseParsers.cs
│ │ ├── DirectoryHttpWebRequestFactory.cs
│ │ ├── FileAccessPolicyResponse.cs
│ │ ├── FileErrorCodeStrings.cs
│ │ ├── FileHttpResponseParsers.Common.cs
│ │ ├── FileHttpResponseParsers.cs
│ │ ├── FileHttpWebRequestFactory.cs
│ │ ├── FileListingContext.cs
│ │ ├── FileRangeWrite.cs
│ │ ├── FileRequest.cs
│ │ ├── FileServiceProperties.cs
│ │ ├── FileShareEntry.cs
│ │ ├── IListFileEntry.cs
│ │ ├── ListFileDirectoryEntry.cs
│ │ ├── ListFileEntry.cs
│ │ ├── ListFilesAndDirectoriesResponse.cs
│ │ ├── ListRangesResponse.cs
│ │ ├── ListSharesResponse.cs
│ │ ├── ShareHttpResponseParsers.cs
│ │ ├── ShareHttpWebRequestFactory.cs
│ │ └── ShareStats.cs
│ ├── ShareListingDetails.cs
│ ├── ShareResultSegment.cs
│ ├── SharedAccessFileHeaders.cs
│ ├── SharedAccessFilePermissions.cs
│ ├── SharedAccessFilePolicies.cs
│ └── SharedAccessFilePolicy.cs
├── GlobalSuppressions.cs
├── IBufferManager.cs
├── ICancellableAsyncResult.cs
├── IContinuationToken.cs
├── IPAddressOrRange.cs
├── IRequestOptions.cs
├── LogLevel.cs
├── Microsoft.WindowsAzure.Storage.csproj
├── Microsoft.WindowsAzure.Storage.nuspec
├── NameValidator.cs
├── OperationContext.cs
├── Properties
│ └── AssemblyInfo.cs
├── Queue
│ ├── CloudQueue.Common.cs
│ ├── CloudQueue.cs
│ ├── CloudQueueClient.Common.cs
│ ├── CloudQueueClient.cs
│ ├── CloudQueueEncryptedMessage.cs
│ ├── CloudQueueMessage.Common.cs
│ ├── CloudQueueMessage.cs
│ ├── MessageUpdateFields.cs
│ ├── Protocol
│ │ ├── GetMessagesResponse.cs
│ │ ├── ListQueuesResponse.cs
│ │ ├── QueueAccessPolicyResponse.cs
│ │ ├── QueueEntry.cs
│ │ ├── QueueErrorCodeStrings.cs
│ │ ├── QueueHttpRequestMessageFactory.cs
│ │ ├── QueueHttpResponseParsers.Common.cs
│ │ ├── QueueHttpResponseParsers.cs
│ │ ├── QueueHttpWebRequestFactory.cs
│ │ ├── QueueListingContext.cs
│ │ ├── QueueListingDetails.cs
│ │ ├── QueueMessage.cs
│ │ ├── QueuePermissions.cs
│ │ └── QueueRequest.cs
│ ├── QueueContinuationToken.cs
│ ├── QueueEncryptionPolicy.cs
│ ├── QueueMessageType.cs
│ ├── QueueRequestOptions.cs
│ ├── QueueResultSegment.cs
│ ├── SharedAccessQueuePermissions.cs
│ ├── SharedAccessQueuePolicies.cs
│ └── SharedAccessQueuePolicy.cs
├── RequestEventArgs.cs
├── RequestResult.cs
├── ResultSegment.cs
├── RetryPolicies
│ ├── ExponentialRetry.cs
│ ├── IExtendedRetryPolicy.cs
│ ├── IRetryPolicy.cs
│ ├── LinearRetry.cs
│ ├── LocationMode.cs
│ ├── NoRetry.cs
│ ├── RetryContext.cs
│ └── RetryInfo.cs
├── Shared
│ └── Protocol
│ │ ├── AccessPolicyResponseBase.cs
│ │ ├── CappedLengthReadOnlyStream.cs
│ │ ├── Constants.cs
│ │ ├── CorsHttpMethods.cs
│ │ ├── CorsProperties.cs
│ │ ├── CorsRule.cs
│ │ ├── GeoReplicationStats.cs
│ │ ├── GeoReplicationStatus.cs
│ │ ├── HttpContentFactory.cs
│ │ ├── HttpRequestMessageFactory.cs
│ │ ├── HttpResponseParsers.Common.cs
│ │ ├── HttpResponseParsers.cs
│ │ ├── HttpWebRequestFactory.cs
│ │ ├── ListingContext.cs
│ │ ├── LoggingOperations.cs
│ │ ├── LoggingProperties.cs
│ │ ├── MetricsLevel.cs
│ │ ├── MetricsProperties.cs
│ │ ├── Request.cs
│ │ ├── RequestMessageExtensions.cs
│ │ ├── Response.cs
│ │ ├── ResponseParsingBase.cs
│ │ ├── RetryableStreamContent.cs
│ │ ├── ServiceProperties.cs
│ │ ├── ServiceStats.cs
│ │ ├── StorageErrorCodeStrings.cs
│ │ ├── StorageService.cs
│ │ └── WebRequestExtensions.cs
├── SharedAccessAccountPermissions.cs
├── SharedAccessAccountPolicy.cs
├── SharedAccessAccountResourceTypes.cs
├── SharedAccessAccountServices.cs
├── SharedAccessProtocol.cs
├── StorageException.cs
├── StorageExtendedErrorInformation.cs
├── StorageLocation.cs
├── StorageUri.cs
├── StreamExtension.cs
├── Table
│ ├── CloudTable.Common.cs
│ ├── CloudTable.cs
│ ├── CloudTableClient.Common.cs
│ ├── CloudTableClient.cs
│ ├── DataServices
│ │ ├── DataServicesResponseAdapterMessage.cs
│ │ ├── TableServiceContext.cs
│ │ ├── TableServiceEntity.cs
│ │ ├── TableServiceExtensions.cs
│ │ └── TableServiceQuery.cs
│ ├── DynamicTableEntity.cs
│ ├── EdmType.cs
│ ├── EncryptPropertyAttribute.cs
│ ├── EntityProperty.cs
│ ├── EntityPropertyConverter.cs
│ ├── EntityPropertyConverterOptions.cs
│ ├── EntityReadFlags.cs
│ ├── EntityResolver.cs
│ ├── EntityUtilities.cs
│ ├── ITableEntity.cs
│ ├── IgnorePropertyAttribute.cs
│ ├── KeyRotationEntity.cs
│ ├── ODataErrorHelper.cs
│ ├── Protocol
│ │ ├── HttpRequestAdapterMessage.cs
│ │ ├── HttpResponseAdapterMessage.cs
│ │ ├── HttpWebRequestAdapterMessage.cs
│ │ ├── TableAccessPolicyResponse.cs
│ │ ├── TableConstants.cs
│ │ ├── TableErrorCodeStrings.cs
│ │ ├── TableHttpRequestMessageFactory.cs
│ │ ├── TableHttpWebRequestFactory.cs
│ │ ├── TableHttpWebResponseParsers.cs
│ │ ├── TableOperationHttpRequestFactory.cs
│ │ ├── TableOperationHttpResponseParsers.cs
│ │ ├── TableRequest.cs
│ │ └── TableUtilities.cs
│ ├── QueryComparisons.cs
│ ├── Queryable
│ │ ├── ALinqExpressionVisitor.cs
│ │ ├── ClientConvert.cs
│ │ ├── Common.cs
│ │ ├── DataServiceExpressionVisitor.cs
│ │ ├── EntityResolverQueryOptionExpression.cs
│ │ ├── Evaluator.cs
│ │ ├── ExpressionNormalizer.cs
│ │ ├── ExpressionParser.cs
│ │ ├── ExpressionWriter.cs
│ │ ├── FilterQueryOptionExpression.cs
│ │ ├── InputBinder.cs
│ │ ├── InputReferenceExpression.cs
│ │ ├── MemberAssignmentAnalysis.cs
│ │ ├── NavigationPropertySingletonExpression.cs
│ │ ├── OperationContextQueryOptionExpression.cs
│ │ ├── PathBox.cs
│ │ ├── ProjectionAnalyzer.cs
│ │ ├── ProjectionQueryOptionExpression.cs
│ │ ├── ProjectionRewriter.cs
│ │ ├── QueryOptionExpression.cs
│ │ ├── ReferenceEqualityComparer.cs
│ │ ├── ReflectionUtil.cs
│ │ ├── RequestOptionsQueryOptionExpression.cs
│ │ ├── ResourceBinder.cs
│ │ ├── ResourceExpression.cs
│ │ ├── ResourceExpressionType.cs
│ │ ├── ResourceSetExpression.cs
│ │ ├── TableQueryableExtensions.cs
│ │ ├── TakeQueryOptionExpression.cs
│ │ ├── TypeSystem.cs
│ │ ├── UriHelper.cs
│ │ ├── WebConvert.cs
│ │ └── XmlConstants.cs
│ ├── SharedAccessTablePermissions.cs
│ ├── SharedAccessTablePolicies.cs
│ ├── SharedAccessTablePolicy.cs
│ ├── TableBatchOperation.Common.cs
│ ├── TableBatchOperation.cs
│ ├── TableContinuationToken.cs
│ ├── TableEncryptionPolicy.cs
│ ├── TableEntity.cs
│ ├── TableEntityAdapter.cs
│ ├── TableOperation.Common.cs
│ ├── TableOperation.cs
│ ├── TableOperationType.cs
│ ├── TableOperators.cs
│ ├── TablePayloadFormat.cs
│ ├── TablePermissions.cs
│ ├── TableQuery.Common.cs
│ ├── TableQuery.cs
│ ├── TableQueryGeneric.Common.cs
│ ├── TableQueryNonGeneric.cs
│ ├── TableQueryProvider.cs
│ ├── TableQuerySegment.cs
│ ├── TableQuerySegmentNonGeneric.cs
│ ├── TableRequestOptions.cs
│ ├── TableResult.cs
│ ├── TableResultSegment.cs
│ ├── TableServiceTable.cs
│ ├── TableStorageEntityContainer.cs
│ └── TableStorageModel.cs
├── TaskExtension.cs
├── WrappedKey.cs
└── packages.config
├── SandboxTester
└── SandboxTester
│ ├── App.config
│ ├── Program.cs
│ ├── Properties
│ └── AssemblyInfo.cs
│ ├── SandboxTester.csproj
│ └── SandboxTester.snk
├── SandboxTesterUntrusted
├── Properties
│ └── AssemblyInfo.cs
├── SandboxTesterUntrusted.csproj
├── TestCode.cs
├── app.config
└── packages.config
├── development.snk
└── release.snk.enc
/build/decrypt.snk.ps1:
--------------------------------------------------------------------------------
1 | if ($env:APPVEYOR_PULL_REQUEST_NUMBER -ne $null) {
2 | Write-Host -ForegroundColor Magenta "This is a pull request build, using development.snk"
3 | } else {
4 | Write-Host -ForegroundColor Magenta "This is not a pull request build, using release.snk"
5 | nuget install secure-file -ExcludeVersion -NonInteractive -Verbosity normal
6 | secure-file\tools\secure-file -decrypt src\release.snk.enc -secret "$env:snkpassword"
7 | }
--------------------------------------------------------------------------------
/build/pack.ps1:
--------------------------------------------------------------------------------
1 | # Get Git range
2 | $merge = $false
3 | $parents = (git log -1 --pretty=format:%p)
4 | if ($parents -match " ") {
5 | Write-Host "This is a build with a merge"
6 | $merge = $true
7 | $parents = $parents.replace(" ", "..")
8 | }
9 |
10 | # Version number
11 | $version = $env:APPVEYOR_BUILD_VERSION
12 | if ($env:APPVEYOR_PULL_REQUEST_NUMBER -ne $null) {
13 | Write-Host "This is a pull request build"
14 | $version = "$version-preview"
15 | }
16 | Write-Host "Build version number is $version"
17 |
18 | function Pack-Nuget([string]$Name) {
19 | Write-Host "Checking if commit contains files for package $name" -NoNewline
20 | if ((git log -1 --pretty=format:%H) -eq (git log -1 --pretty=format:%H src/$name) -or ($merge -and (git log $parents --pretty=format:%H src/$name).length -gt 0)) {
21 | Write-Host -ForegroundColor Green " -- Yep"
22 | Write-Host
23 | nuget pack src\$name\$name.nuspec -version $version
24 | Write-Host
25 | } else {
26 | Write-Host -ForegroundColor Red " -- Nope"
27 | }
28 | }
29 |
30 | Pack-Nuget -Name Hyak.Common
31 | Pack-Nuget -Name Microsoft.Azure.Common
32 | Pack-Nuget -Name Microsoft.Azure.KeyVault
33 | Pack-Nuget -Name Microsoft.IdentityModel.Clients.ActiveDirectory
34 | Pack-Nuget -Name Microsoft.Azure.Management.KeyVault
35 | Pack-Nuget -Name Microsoft.WindowsAzure.Storage
--------------------------------------------------------------------------------
/build/sign.ps1:
--------------------------------------------------------------------------------
1 | if ($env:APPVEYOR_PULL_REQUEST_NUMBER -eq $null) {
2 | Get-ChildItem .\src\*\*.csproj | % {
3 | $xml = ([xml](Get-Content $_ -Encoding UTF8));
4 | $filename = $_.FullName;
5 | $update = $false;
6 |
7 | Write-Host "Checking $filename for development Signing Key File"
8 |
9 | $xml.Project.PropertyGroup | ? { $_.AssemblyOriginatorKeyFile -ne $null } | % {
10 | $_.AssemblyOriginatorKeyFile = $_.AssemblyOriginatorKeyFile -replace "development", "release";
11 | $update = $true
12 | };
13 |
14 | if ($update) {
15 | $xml.Save($filename);
16 | Write-Host -ForegroundColor Magenta "$filename updated"
17 | }
18 | }
19 | }
--------------------------------------------------------------------------------
/src/Hyak.Common/CloudCredentials.cs:
--------------------------------------------------------------------------------
1 | using System;
2 | using System.Net.Http;
3 | using System.Threading;
4 | using System.Threading.Tasks;
5 |
6 | namespace Sandboxable.Hyak.Common
7 | {
8 | public abstract class CloudCredentials
9 | {
10 | ///
11 | /// Apply the credentials to the HTTP request.
12 | ///
13 | /// The HTTP request.
14 | /// Cancellation token.
15 | ///
16 | /// Task that will complete when processing has completed.
17 | ///
18 | public virtual Task ProcessHttpRequestAsync(HttpRequestMessage request, CancellationToken cancellationToken)
19 | {
20 | return Task.FromResult