Exemple #1
0
        public override void Invoke(AWSCredentials creds, RegionEndpoint region, int maxItems)
        {
            AmazonCodeDeployConfig config = new AmazonCodeDeployConfig();

            config.RegionEndpoint = region;
            ConfigureClient(config);
            AmazonCodeDeployClient client = new AmazonCodeDeployClient(creds, config);

            ListApplicationsResponse resp = new ListApplicationsResponse();

            do
            {
                ListApplicationsRequest req = new ListApplicationsRequest
                {
                    NextToken = resp.NextToken
                };

                resp = client.ListApplications(req);
                CheckError(resp.HttpStatusCode, "200");

                foreach (var obj in resp.Applications)
                {
                    AddObject(obj);
                }
            }while (!string.IsNullOrEmpty(resp.NextToken));
        }
Exemple #2
0
        public static void DeleteStack(RegionEndpoint awsEndpoint, string stackName)
        {
            var codeDeployClient = new AmazonCodeDeployClient(awsEndpoint);
            var apps             = codeDeployClient.ListApplications().Applications.Where(name => name.StartsWith("HelloWorld"));

            foreach (var app in apps)
            {
                codeDeployClient.DeleteApplication(new DeleteApplicationRequest {
                    ApplicationName = app
                });
            }

            var cloudFormationClient = new AmazonCloudFormationClient(awsEndpoint);

            try
            {
                cloudFormationClient.DeleteStack(new DeleteStackRequest {
                    StackName = stackName
                });
                var testStackStatus = StackStatus.DELETE_IN_PROGRESS;
                while (testStackStatus == StackStatus.DELETE_IN_PROGRESS)
                {
                    Thread.Sleep(TimeSpan.FromSeconds(10));
                    var stacksStatus =
                        cloudFormationClient.DescribeStacks(new DescribeStacksRequest {
                        StackName = stackName
                    });
                    testStackStatus = stacksStatus.Stacks.First(s => s.StackName == stackName).StackStatus;
                }
            }
            catch (AmazonCloudFormationException)
            {
            }
        }