示例#1
0
        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);
            }
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }