private void ProcessLiveStackResourcess(ListStackResourcesResponse liveStackResources, CFStack stack, AmazonEC2Client ec2Client, Dictionary <string, string> secGroupMap, string stackName, AmazonCloudFormationClient cfClient) { foreach (StackResourceSummary liveStackResource in liveStackResources.StackResourceSummaries) { switch (liveStackResource.ResourceType) { case "AWS::EC2::SecurityGroup": AWSUtils.ProcessEC2SecurityGroupFromAWS(liveStackResource, stack, ec2Client, secGroupMap, stackName); break; case "AWS::EC2::NetworkAcl": AWSUtils.ProcessNetworkAclFromAWS(liveStackResource, stack, ec2Client, stackName); break; default: break; } } if (liveStackResources.NextToken != null) { ListStackResourcesRequest lr = new ListStackResourcesRequest(); lr.StackName = stackName; lr.NextToken = liveStackResources.NextToken; liveStackResources = cfClient.ListStackResources(lr); ProcessLiveStackResourcess(liveStackResources, stack, ec2Client, secGroupMap, stackName, cfClient); } }
private void ProcessTemplate(string jsonString, RichTextBox rtb, string path, CFStack stack) { //Stack From Template var template = JsonConvert.DeserializeObject <dynamic>(jsonString); stack.Description = template.Description; var r = template.Resources; //Process StackResources AWSUtils.ProcessTemplateResources(template.Resources, stack); stack.Resources.Sort((a, b) => a.LogicalId.CompareTo(b.LogicalId)); WriteOutput(stack, rtb, source1_CB.Text, templateOrStack1_TB.Text); }
private bool validateTemplate(string input, AmazonCloudFormationClient cfClient) { bool result = false; if (AWSUtils.IsTemplateValid(input, ref cfClient)) { validation1_LB.Text = "Template is valid"; validation1_LB.ForeColor = System.Drawing.Color.DarkGreen; validation1_LB.Visible = true; result = true; } else { validation1_LB.Text = "Template is not valid"; validation1_LB.ForeColor = System.Drawing.Color.Red; validation1_LB.Visible = true; } return(result); }