public async Task AssertVaultExists(string vaultName) { vaultName = GetTrimmedVaultName(vaultName); var listResponse = await _glacier.ListVaultsAsync(new ListVaultsRequest { AccountId = _accountId }); if (listResponse.VaultList.Any(a => a.VaultName.Equals(vaultName))) { return; } if (_testMode) { _logger.LogInformation("Would create vault {0}, but we're in test mode so I'm not", vaultName); } else { _logger.LogInformation("Creating vault {0}", vaultName); var result = await _glacier.CreateVaultAsync(new CreateVaultRequest { AccountId = _accountId, VaultName = vaultName }); _logger.LogDebug("Vault creation result: {0}", result.HttpStatusCode); } }
protected GlacierGatewayTestBase(bool testMode) { _logger = Substitute.For <ILogger <GlacierGateway> >(); _glacier = Substitute.For <IAmazonGlacier>(); _updater = Substitute.For <IConsolePercentUpdater>(); _archiveProvider = Substitute.For <IArchiveProvider>(); // We need to initialize the MemoryStream with some data so that // the sanity checks don't fail var bytes = Enumerable.Range(0, 100).Select(a => (byte)a).ToArray(); _archiveProvider.GetFileStream(Arg.Any <string>(), Arg.Any <string>()).Returns(new MemoryStream(bytes)); _sut = new GlacierGateway(_glacier, _logger, _updater, _archiveProvider, null, testMode); _glacier.ListVaultsAsync(Arg.Any <ListVaultsRequest>()) .Returns(new ListVaultsResponse { VaultList = new List <DescribeVaultOutput> { new DescribeVaultOutput { VaultName = PreexistingVaultName } } }); _glacier.CreateVaultAsync(Arg.Any <CreateVaultRequest>()) .Returns(new CreateVaultResponse { HttpStatusCode = HttpStatusCode.OK }); }
static void ListVaults(IAmazonGlacier glacier) { var req = new ListVaultsRequest { Limit = 100 }; Task <ListVaultsResponse> res = glacier.ListVaultsAsync(req); Task.WaitAll(res); if (res.IsCompletedSuccessfully) { foreach (var vault in res.Result.VaultList) { Console.WriteLine($"Vault: {vault.VaultName}"); } } }
async IAsyncEnumerable <ListVaultsResponse> IPaginator <ListVaultsResponse> .PaginateAsync(CancellationToken cancellationToken = default) { if (Interlocked.Exchange(ref _isPaginatorInUse, 1) != 0) { throw new System.InvalidOperationException("Paginator has already been consumed and cannot be reused. Please create a new instance."); } var marker = _request.Marker; ListVaultsResponse response; do { _request.Marker = marker; response = await _client.ListVaultsAsync(_request, cancellationToken).ConfigureAwait(false); marker = response.Marker; cancellationToken.ThrowIfCancellationRequested(); yield return(response); }while (marker != null); }
private Amazon.Glacier.Model.ListVaultsResponse CallAWSServiceOperation(IAmazonGlacier client, Amazon.Glacier.Model.ListVaultsRequest request) { Utils.Common.WriteVerboseEndpointMessage(this, client.Config, "Amazon Glacier", "ListVaults"); try { #if DESKTOP return(client.ListVaults(request)); #elif CORECLR return(client.ListVaultsAsync(request).GetAwaiter().GetResult()); #else #error "Unknown build edition" #endif } catch (AmazonServiceException exc) { var webException = exc.InnerException as System.Net.WebException; if (webException != null) { throw new Exception(Utils.Common.FormatNameResolutionFailureMessage(client.Config, webException.Message), webException); } throw; } }