예제 #1
0
        /// <summary>
        /// 更新防火墙规则
        /// </summary>
        /// <param name="requestParams">请求参数.</param>
        /// <returns>返回对象<see cref="UCloudSDK.Models.UpdateSecurityGroupResponse"/></returns>
        public UpdateSecurityGroupResponse UpdateSecurityGroup(UpdateSecurityGroupRequest requestParams)
        {
            var request = new RestRequest(Method.GET);

            request.AddUObject(requestParams);
            return(Execute <UpdateSecurityGroupResponse>(request));
        }
        /// <summary>
        /// 变更实例安全组
        /// </summary>
        public UpdateSecurityGroupResponse UpdateSecurityGroup(UpdateSecurityGroupRequest updateSecurityGroupRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();

            urlParam.Add("instance_id", updateSecurityGroupRequest.InstanceId.ToString());
            string              urlPath  = HttpUtils.AddUrlPath("/v3/{project_id}/instances/{instance_id}/modify-security-group", urlParam);
            SdkRequest          request  = HttpUtils.InitSdkRequest(urlPath, "application/json", updateSecurityGroupRequest);
            HttpResponseMessage response = DoHttpRequestSync("POST", request);

            return(JsonUtils.DeSerialize <UpdateSecurityGroupResponse>(response));
        }
예제 #3
0
        /// <summary>
        /// 更新安全组
        /// </summary>
        public async Task <UpdateSecurityGroupResponse> UpdateSecurityGroupAsync(UpdateSecurityGroupRequest updateSecurityGroupRequest)
        {
            Dictionary <string, string> urlParam = new Dictionary <string, string>();

            urlParam.Add("security_group_id", updateSecurityGroupRequest.SecurityGroupId.ToString());
            string              urlPath  = HttpUtils.AddUrlPath("/v3/{project_id}/vpc/security-groups/{security_group_id}", urlParam);
            SdkRequest          request  = HttpUtils.InitSdkRequest(urlPath, "application/json", updateSecurityGroupRequest);
            HttpResponseMessage response = await DoHttpRequestAsync("PUT", request);

            return(JsonUtils.DeSerialize <UpdateSecurityGroupResponse>(response));
        }
예제 #4
0
        public void UpdateSecurityGroupTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""758f965e-d51f-4f1b-a1da-f66c5496d636"",
    ""url"": ""/v2/security_groups/5ac7b406-c910-40d0-ac65-1fcae90a918f"",
    ""created_at"": ""2016-09-02T11:52:05Z"",
    ""updated_at"": ""2016-09-02T11:52:10Z""
  },
  ""entity"": {
    ""name"": ""new_name"",
    ""rules"": [

    ],
    ""running_default"": false,
    ""staging_default"": false,
    ""spaces_url"": ""/v2/security_groups/5ac7b406-c910-40d0-ac65-1fcae90a918f/spaces""
  }
}";
                clients.JsonResponse = json;

                clients.ExpectedStatusCode = (HttpStatusCode)201;
                var cfClient = clients.CreateCloudFoundryClient();

                Guid?guid = Guid.NewGuid();

                UpdateSecurityGroupRequest value = new UpdateSecurityGroupRequest();


                var obj = cfClient.SecurityGroups.UpdateSecurityGroup(guid, value).Result;


                Assert.AreEqual("758f965e-d51f-4f1b-a1da-f66c5496d636", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/security_groups/5ac7b406-c910-40d0-ac65-1fcae90a918f", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2016-09-02T11:52:05Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("2016-09-02T11:52:10Z", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("new_name", 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/5ac7b406-c910-40d0-ac65-1fcae90a918f/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
            }
        }
예제 #5
0
        public void UpdateSecurityGroupTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""1930582f-3797-4e14-be2a-a134384a86c9"",
    ""url"": ""/v2/security_groups/1930582f-3797-4e14-be2a-a134384a86c9"",
    ""created_at"": ""2016-02-09T10:21:53Z"",
    ""updated_at"": ""2016-02-09T10:21:57Z""
  },
  ""entity"": {
    ""name"": ""new_name"",
    ""rules"": [

    ],
    ""running_default"": false,
    ""staging_default"": false,
    ""spaces_url"": ""/v2/security_groups/1930582f-3797-4e14-be2a-a134384a86c9/spaces""
  }
}";
                clients.JsonResponse = json;

                clients.ExpectedStatusCode = (HttpStatusCode)201;
                var cfClient = clients.CreateCloudFoundryClient();

                Guid?guid = Guid.NewGuid();

                UpdateSecurityGroupRequest value = new UpdateSecurityGroupRequest();


                var obj = cfClient.SecurityGroups.UpdateSecurityGroup(guid, value).Result;


                Assert.AreEqual("1930582f-3797-4e14-be2a-a134384a86c9", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/security_groups/1930582f-3797-4e14-be2a-a134384a86c9", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2016-02-09T10:21:53Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("2016-02-09T10:21:57Z", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("new_name", 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/1930582f-3797-4e14-be2a-a134384a86c9/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
            }
        }
        public void UpdateSecurityGroupTest()
        {
            using (ShimsContext.Create())
            {
                MockClients clients = new MockClients();

                string json = @"{
  ""metadata"": {
    ""guid"": ""e54fd17e-96b8-418c-bef8-ff2dbe1d7875"",
    ""url"": ""/v2/security_groups/e54fd17e-96b8-418c-bef8-ff2dbe1d7875"",
    ""created_at"": ""2015-04-16T12:04:14+00:00"",
    ""updated_at"": ""2015-04-16T12:04:17+00:00""
  },
  ""entity"": {
    ""name"": ""new_name"",
    ""rules"": [

    ],
    ""running_default"": false,
    ""staging_default"": false,
    ""spaces_url"": ""/v2/security_groups/e54fd17e-96b8-418c-bef8-ff2dbe1d7875/spaces""
  }
}";
                clients.JsonResponse = json;

                clients.ExpectedStatusCode = (HttpStatusCode)201;
                var cfClient = clients.CreateCloudFoundryClient();

                Guid?guid = Guid.NewGuid();

                UpdateSecurityGroupRequest value = new UpdateSecurityGroupRequest();


                var obj = cfClient.SecurityGroups.UpdateSecurityGroup(guid, value).Result;


                Assert.AreEqual("e54fd17e-96b8-418c-bef8-ff2dbe1d7875", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true);
                Assert.AreEqual("/v2/security_groups/e54fd17e-96b8-418c-bef8-ff2dbe1d7875", TestUtil.ToTestableString(obj.EntityMetadata.Url), true);
                Assert.AreEqual("2015-04-16T12:04:14+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true);
                Assert.AreEqual("2015-04-16T12:04:17+00:00", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true);
                Assert.AreEqual("new_name", 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/e54fd17e-96b8-418c-bef8-ff2dbe1d7875/spaces", TestUtil.ToTestableString(obj.SpacesUrl), true);
            }
        }
        public void TestUpdateSecurityGroupRequest()
        {
            string json = @"{
  ""name"": ""new_name"",
  ""rules"": [

  ]
}";

            UpdateSecurityGroupRequest request = new UpdateSecurityGroupRequest();

            request.Name = "new_name";
            request.Rules = Array.ConvertAll(TestUtil.GetJsonArray(@"[]"), (p => (Dictionary<string, dynamic>)p));

            string result = JsonConvert.SerializeObject(request, Formatting.None);
            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
        public void TestUpdateSecurityGroupRequest()
        {
            string json = @"{
  ""name"": ""new_name"",
  ""rules"": [

  ]
}";

            UpdateSecurityGroupRequest request = new UpdateSecurityGroupRequest();

            request.Name  = "new_name";
            request.Rules = Array.ConvertAll(TestUtil.GetJsonArray(@"[]"), (p => (Dictionary <string, dynamic>)p));

            string result = JsonConvert.SerializeObject(request, Formatting.None);

            Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result);
        }
예제 #9
0
        public void UpdateSecurityGroupTest()
        {
            NList rules = new NList();
            var   rule  = new SecurityGroupRule
            {
                Proto    = Proto.TCP.ToString(),
                Action   = RuleAction.ACCEPT.ToString(),
                Src_ip   = "0.0.0.0/0",
                Dst_port = "3389",
                Priority = (int)Priority.Low
            };

            rules.Add(rule.ToString());
            var entity   = new UpdateSecurityGroupRequest(Config.region, "15031", rules);
            var response = unet.UpdateSecurityGroup(entity);

            Assert.AreEqual(response.RetCode, 0);
        }
예제 #10
0
        /// <summary>
        /// Updating a Security Group
        /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/195/security_groups/updating_a_security_group.html"</para>
        /// </summary>
        public async Task <UpdateSecurityGroupResponse> UpdateSecurityGroup(Guid?guid, UpdateSecurityGroupRequest value)
        {
            UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget);

            uriBuilder.Path = string.Format(CultureInfo.InvariantCulture, "/v2/security_groups/{0}", guid);
            var client = this.GetHttpClient();

            client.Uri    = uriBuilder.Uri;
            client.Method = HttpMethod.Put;
            client.Headers.Add(await BuildAuthenticationHeader());
            client.ContentType = "application/x-www-form-urlencoded";
            client.Content     = JsonConvert.SerializeObject(value).ConvertToStream();
            var expectedReturnStatus = 201;
            var response             = await this.SendAsync(client, expectedReturnStatus);

            return(Utilities.DeserializeJson <UpdateSecurityGroupResponse>(await response.ReadContentAsStringAsync()));
        }