コード例 #1
0
ファイル: Function.cs プロジェクト: bgkyer/LambdaSharpTool
        public override async Task DeleteDeploymentAsync(FinalizerProperties current, CancellationToken cancellationToken)
        {
            LogInfo($"Deleting Deployment: {current.DeploymentChecksum}");

            // enumerate all S3 objects
            var request = new ListObjectsV2Request {
                BucketName = _bucketName
            };
            var counter   = 0;
            var deletions = new List <Task>();

            do
            {
                var response = await _s3Client.ListObjectsV2Async(request);

                // delete any objects found
                if (response.S3Objects.Any())
                {
                    deletions.Add(_s3Client.DeleteObjectsAsync(new DeleteObjectsRequest {
                        BucketName = _bucketName,
                        Objects    = response.S3Objects.Select(s3 => new KeyVersion {
                            Key = s3.Key
                        }).ToList(),
                        Quiet = true
                    }));
                    counter += response.S3Objects.Count;
                }

                // continue until no more objects can be fetched
                request.ContinuationToken = response.NextContinuationToken;
            } while(request.ContinuationToken != null);

            // wait for all deletions to complete
            await Task.WhenAll(deletions);

            LogInfo($"Deleted {counter:N0} objects");
        }
コード例 #2
0
 public override async Task DeleteDeploymentAsync(FinalizerProperties current, CancellationToken cancellationToken)
 {
     LogInfo($"Deleting Deployment: {current.DeploymentChecksum}");
 }
コード例 #3
0
 public override async Task UpdateDeploymentAsync(FinalizerProperties current, FinalizerProperties previous, CancellationToken cancellationToken)
 {
     LogInfo($"Updating Deployment: {previous.DeploymentChecksum} -> {current.DeploymentChecksum}");
 }
コード例 #4
0
ファイル: Function.cs プロジェクト: schoukri/LambdaSharpTool
 public override async Task DeleteDeployment(FinalizerProperties current)
 {
     LogInfo($"Deleting Deployment: {current.DeploymentChecksum}");
 }
コード例 #5
0
ファイル: Function.cs プロジェクト: schoukri/LambdaSharpTool
 public override async Task UpdateDeployment(FinalizerProperties next, FinalizerProperties previous)
 {
     LogInfo($"Updating Deployment: {previous.DeploymentChecksum} -> {next.DeploymentChecksum}");
 }
コード例 #6
0
 public override async Task UpdateDeployment(FinalizerProperties current, FinalizerProperties previous)
 {
     // TO-DO: add business logic when updating a CloudFormation stack
 }
コード例 #7
0
 public override async Task DeleteDeploymentAsync(FinalizerProperties current, CancellationToken cancellationToken)
 {
     // TO-DO: add business logic when deleting a CloudFormation stack
 }
コード例 #8
0
 public override Task DeleteDeploymentAsync(FinalizerProperties current, CancellationToken cancellationToken) => DeleteApiDeploymentAsync(cancellationToken);
コード例 #9
0
 public override async Task CreateDeployment(FinalizerProperties current)
 {
     // TO-DO: add business logic when creating a CloudFormation stack
 }
コード例 #10
0
 public override Task CreateDeploymentAsync(FinalizerProperties current, CancellationToken cancellationToken) => Task.CompletedTask;
コード例 #11
0
 public override Task UpdateDeploymentAsync(FinalizerProperties current, FinalizerProperties previous, CancellationToken cancellationToken) => UpdateApiDeploymentAsync(cancellationToken);
コード例 #12
0
 public override Task UpdateDeployment(FinalizerProperties next, FinalizerProperties previous)
 {
     return(CreateGeneralChannelAsync());
 }
コード例 #13
0
 public override Task CreateDeployment(FinalizerProperties current)
 {
     return(CreateGeneralChannelAsync());
 }
コード例 #14
0
ファイル: Function.cs プロジェクト: jhart0/LambdaSharpTool
 public override Task DeleteDeployment(FinalizerProperties current) => DeleteApiDeployments();
コード例 #15
0
ファイル: Function.cs プロジェクト: jhart0/LambdaSharpTool
 public override Task UpdateDeployment(FinalizerProperties current, FinalizerProperties previous) => UpdateApiDeployment();
コード例 #16
0
ファイル: Function.cs プロジェクト: jhart0/LambdaSharpTool
 public override Task CreateDeployment(FinalizerProperties current) => Task.CompletedTask;