Exemplo n.º 1
0
        private void createSecurityGroup()
        {
            try
            {
                CreateSecurityGroupRequest requestSecurirtyGroup = new CreateSecurityGroupRequest();
                requestSecurirtyGroup.GroupName        = _securityGroups;
                requestSecurirtyGroup.GroupDescription = jwSecurityGroupDescription;
                CreateSecurityGroupResponse responseSecurityGroup = _service.CreateSecurityGroup(requestSecurirtyGroup);

                AuthorizeSecurityGroupIngressRequest requestAuthz = new AuthorizeSecurityGroupIngressRequest();
                requestAuthz.GroupName  = _securityGroups;
                requestAuthz.IpProtocol = "tcp";
                requestAuthz.CidrIp     = "0.0.0.0/0";

                decimal[] ports = { 80, 443, 1443, 3389 };
                foreach (decimal port in ports)
                {
                    requestAuthz.FromPort = port;
                    requestAuthz.ToPort   = port;
                    AuthorizeSecurityGroupIngressResponse responseAuthz = _service.AuthorizeSecurityGroupIngress(requestAuthz);
                }
            }
            catch (AmazonEC2Exception ex)
            {
                throw new Exception("Caught Exception: " + ex.XML);
            }
        }
        /// <summary>
        /// Unmarshaller the response from the service to the response class.
        /// </summary>
        /// <param name="context"></param>
        /// <returns></returns>
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            CreateSecurityGroupResponse response = new CreateSecurityGroupResponse();

            int originalDepth = context.CurrentDepth;
            int targetDepth   = originalDepth + 1;

            if (context.IsStartOfDocument)
            {
                targetDepth = 2;
            }

            while (context.ReadAtDepth(originalDepth))
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                    if (context.TestExpression("groupId", targetDepth))
                    {
                        var unmarshaller = StringUnmarshaller.Instance;
                        response.GroupId = unmarshaller.Unmarshall(context);
                        continue;
                    }
                }
            }

            return(response);
        }
Exemplo n.º 3
0
        public static CreateSecurityGroupResponse Unmarshall(UnmarshallerContext _ctx)
        {
            CreateSecurityGroupResponse createSecurityGroupResponse = new CreateSecurityGroupResponse();

            createSecurityGroupResponse.HttpResponse    = _ctx.HttpResponse;
            createSecurityGroupResponse.RequestId       = _ctx.StringValue("CreateSecurityGroup.RequestId");
            createSecurityGroupResponse.SecurityGroupId = _ctx.StringValue("CreateSecurityGroup.SecurityGroupId");

            return(createSecurityGroupResponse);
        }
Exemplo n.º 4
0
        // #############################################################################################

        SecurityGroup CreateSecurityGroup(IAmazonEC2 ec2, string secGroupName, string vpc)
        {
            SecurityGroup MySG;

            Amazon.EC2.Model.Filter nameFilter = new Amazon.EC2.Model.Filter();
            nameFilter.Name   = "group-name";
            nameFilter.Values = new List <string>()
            {
                secGroupName
            };

            var describeRequest = new DescribeSecurityGroupsRequest();

            describeRequest.Filters.Add(nameFilter);
            var describeResponse = new DescribeSecurityGroupsResponse();

            describeResponse = ec2.DescribeSecurityGroups(describeRequest);

            if (describeResponse.SecurityGroups.Count > 0)
            {
                //return describeResponse.SecurityGroups[0];
                MySG = describeResponse.SecurityGroups[0];
                MySG = AddSGIPrermissions(ec2, MySG);
                return(MySG);
            }


            var createRequest = new CreateSecurityGroupRequest();

            createRequest.GroupName   = secGroupName;
            createRequest.VpcId       = vpc;
            createRequest.Description = "My sample security group for EC2-Classic";

            var createResponse = new CreateSecurityGroupResponse();
            //createResponse = CreateSecurityGroupResponse(createRequest);
            var Groups = new List <string>()
            {
                createResponse.GroupId
            };


            createResponse = ec2.CreateSecurityGroup(createRequest);

            MySG = new SecurityGroup();

            MySG.GroupId = createResponse.GroupId;
            MySG.VpcId   = vpc;

            MySG = AddSGIPrermissions(ec2, MySG);


            return(MySG);

            // ec2.des
        }
        public static CreateSecurityGroupResponse Unmarshall(UnmarshallerContext context)
        {
            CreateSecurityGroupResponse createSecurityGroupResponse = new CreateSecurityGroupResponse()
            {
                HttpResponse    = context.HttpResponse,
                RequestId       = context.StringValue("CreateSecurityGroup.RequestId"),
                SecurityGroupId = context.StringValue("CreateSecurityGroup.SecurityGroupId")
            };

            return(createSecurityGroupResponse);
        }
        public void TestCreateSecurityGroupResponse()
        {
            string json = @"{
  ""metadata"": {
    ""guid"": ""1dbeeb23-0f06-4ec4-946d-cc1d7b04047a"",
    ""url"": ""/v2/security_groups/f49f4785-5217-4dab-b776-714a02515ef3"",
    ""created_at"": ""2016-09-02T11:52:09Z"",
    ""updated_at"": null
  },
  ""entity"": {
    ""name"": ""my_super_sec_group"",
    ""rules"": [
      {
        ""protocol"": ""icmp"",
        ""destination"": ""0.0.0.0/0"",
        ""type"": 0,
        ""code"": 1
      },
      {
        ""protocol"": ""tcp"",
        ""destination"": ""0.0.0.0/0"",
        ""ports"": ""2048-3000"",
        ""log"": true
      },
      {
        ""protocol"": ""udp"",
        ""destination"": ""0.0.0.0/0"",
        ""ports"": ""53, 5353""
      },
      {
        ""protocol"": ""all"",
        ""destination"": ""0.0.0.0/0"",
        ""description"": ""This rule allows access to all ips and protocols""
      }
    ],
    ""running_default"": false,
    ""staging_default"": false,
    ""spaces_url"": ""/v2/security_groups/f49f4785-5217-4dab-b776-714a02515ef3/spaces""
  }
}";

            CreateSecurityGroupResponse obj = Utilities.DeserializeJson <CreateSecurityGroupResponse>(json);

            Assert.AreEqual("1dbeeb23-0f06-4ec4-946d-cc1d7b04047a", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
            Assert.AreEqual("/v2/security_groups/f49f4785-5217-4dab-b776-714a02515ef3", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
            Assert.AreEqual("2016-09-02T11:52:09Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
            Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
            Assert.AreEqual("my_super_sec_group", TestUtil.ToTestableString(obj.Name), true);
            Assert.AreEqual("false", TestUtil.ToTestableString(obj.RunningDefault), true);
            Assert.AreEqual("false", TestUtil.ToTestableString(obj.StagingDefault), true);
            Assert.AreEqual("/v2/security_groups/f49f4785-5217-4dab-b776-714a02515ef3/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
        }
Exemplo n.º 7
0
        public void TestCreateSecurityGroupResponse()
        {
            string json = @"{
  ""metadata"": {
    ""guid"": ""8b30c621-401c-4d4a-9d98-f12ebff95d33"",
    ""url"": ""/v2/security_groups/8b30c621-401c-4d4a-9d98-f12ebff95d33"",
    ""created_at"": ""2016-02-09T10:21:57Z"",
    ""updated_at"": null
  },
  ""entity"": {
    ""name"": ""my_super_sec_group"",
    ""rules"": [
      {
        ""protocol"": ""icmp"",
        ""destination"": ""0.0.0.0/0"",
        ""type"": 0,
        ""code"": 1
      },
      {
        ""protocol"": ""tcp"",
        ""destination"": ""0.0.0.0/0"",
        ""ports"": ""2048-3000"",
        ""log"": true
      },
      {
        ""protocol"": ""udp"",
        ""destination"": ""0.0.0.0/0"",
        ""ports"": ""53, 5353""
      },
      {
        ""protocol"": ""all"",
        ""destination"": ""0.0.0.0/0""
      }
    ],
    ""running_default"": false,
    ""staging_default"": false,
    ""spaces_url"": ""/v2/security_groups/8b30c621-401c-4d4a-9d98-f12ebff95d33/spaces""
  }
}";

            CreateSecurityGroupResponse obj = Utilities.DeserializeJson <CreateSecurityGroupResponse>(json);

            Assert.AreEqual("8b30c621-401c-4d4a-9d98-f12ebff95d33", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
            Assert.AreEqual("/v2/security_groups/8b30c621-401c-4d4a-9d98-f12ebff95d33", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
            Assert.AreEqual("2016-02-09T10:21:57Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
            Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
            Assert.AreEqual("my_super_sec_group", TestUtil.ToTestableString(obj.Name), true);
            Assert.AreEqual("false", TestUtil.ToTestableString(obj.RunningDefault), true);
            Assert.AreEqual("false", TestUtil.ToTestableString(obj.StagingDefault), true);
            Assert.AreEqual("/v2/security_groups/8b30c621-401c-4d4a-9d98-f12ebff95d33/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
        }
Exemplo n.º 8
0
        public void TestCreateSecurityGroupResponse()
        {
            string json = @"{
  ""metadata"": {
    ""guid"": ""0a129533-0482-4504-a78b-275f5916f7b1"",
    ""url"": ""/v2/security_groups/0a129533-0482-4504-a78b-275f5916f7b1"",
    ""created_at"": ""2015-04-16T12:04:17+00:00"",
    ""updated_at"": null
  },
  ""entity"": {
    ""name"": ""my_super_sec_group"",
    ""rules"": [
      {
        ""protocol"": ""icmp"",
        ""destination"": ""0.0.0.0/0"",
        ""type"": 0,
        ""code"": 1
      },
      {
        ""protocol"": ""tcp"",
        ""destination"": ""0.0.0.0/0"",
        ""ports"": ""2048-3000"",
        ""log"": true
      },
      {
        ""protocol"": ""udp"",
        ""destination"": ""0.0.0.0/0"",
        ""ports"": ""53, 5353""
      },
      {
        ""protocol"": ""all"",
        ""destination"": ""0.0.0.0/0""
      }
    ],
    ""running_default"": false,
    ""staging_default"": false,
    ""spaces_url"": ""/v2/security_groups/0a129533-0482-4504-a78b-275f5916f7b1/spaces""
  }
}";

            CreateSecurityGroupResponse obj = Utilities.DeserializeJson <CreateSecurityGroupResponse>(json);

            Assert.AreEqual("0a129533-0482-4504-a78b-275f5916f7b1", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
            Assert.AreEqual("/v2/security_groups/0a129533-0482-4504-a78b-275f5916f7b1", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
            Assert.AreEqual("2015-04-16T12:04:17+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
            Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
            Assert.AreEqual("my_super_sec_group", TestUtil.ToTestableString(obj.Name), true);
            Assert.AreEqual("false", TestUtil.ToTestableString(obj.RunningDefault), true);
            Assert.AreEqual("false", TestUtil.ToTestableString(obj.StagingDefault), true);
            Assert.AreEqual("/v2/security_groups/0a129533-0482-4504-a78b-275f5916f7b1/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
        }
Exemplo n.º 9
0
        public override AmazonWebServiceResponse Unmarshall(XmlUnmarshallerContext context)
        {
            CreateSecurityGroupResponse response = new CreateSecurityGroupResponse();

            int targetDepth = 2;

            while (context.Read())
            {
                if (context.IsStartElement || context.IsAttribute)
                {
                    if (context.TestExpression("groupId", targetDepth))
                    {
                        response.GroupId = StringUnmarshaller.GetInstance().Unmarshall(context);

                        continue;
                    }
                }
            }


            return(response);
        }