/// <summary> /// Create a Service Binding /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/250/service_bindings/create_a_service_binding.html"</para> /// </summary> public async Task <CreateServiceBindingResponse> CreateServiceBinding(CreateServiceBindingRequest value) { UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget); uriBuilder.Path = "/v2/service_bindings"; var client = this.GetHttpClient(); client.Uri = uriBuilder.Uri; client.Method = HttpMethod.Post; var authHeader = await BuildAuthenticationHeader(); if (!string.IsNullOrWhiteSpace(authHeader.Key)) { if (client.Headers.ContainsKey(authHeader.Key)) { client.Headers[authHeader.Key] = authHeader.Value; } else { client.Headers.Add(authHeader); } } client.ContentType = "application/x-www-form-urlencoded"; client.Content = ((string)JsonConvert.SerializeObject(value)).ConvertToStream(); var expectedReturnStatus = 201; var response = await this.SendAsync(client, expectedReturnStatus); return(Utilities.DeserializeJson <CreateServiceBindingResponse>(await response.ReadContentAsStringAsync())); }
private Task<CreateServiceBindingResponse> CustomServiceBinding(CloudController.V2.Client.Base.AbstractServiceBindingsEndpoint arg1, CreateServiceBindingRequest arg2) { return Task.Factory.StartNew<CreateServiceBindingResponse>(() => { return new CreateServiceBindingResponse() { EntityMetadata = new Metadata() }; }); }
public void CreateServiceBindingTest() { using (ShimsContext.Create()) { MockClients clients = new MockClients(); string json = @"{ ""metadata"": { ""guid"": ""fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"", ""url"": ""/v2/service_bindings/6632a82e-cec8-4286-885b-706bfa883edf"", ""created_at"": ""2016-09-02T11:52:10Z"", ""updated_at"": null }, ""entity"": { ""app_guid"": ""fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"", ""service_instance_guid"": ""fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"", ""credentials"": { ""creds-key-24"": ""creds-val-24"" }, ""binding_options"": { }, ""gateway_data"": null, ""gateway_name"": """", ""syslog_drain_url"": null, ""volume_mounts"": [ ], ""app_url"": ""/v2/apps/17eb5162-f77a-4366-8f22-c2329a3eb7a8"", ""service_instance_url"": ""/v2/user_provided_service_instances/d52d587d-ff9e-4a6c-b5f7-0c247a7f8f30"" } }"; clients.JsonResponse = json; clients.ExpectedStatusCode = (HttpStatusCode)201; var cfClient = clients.CreateCloudFoundryClient(); CreateServiceBindingRequest value = new CreateServiceBindingRequest(); var obj = cfClient.ServiceBindings.CreateServiceBinding(value).Result; Assert.AreEqual("fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true); Assert.AreEqual("/v2/service_bindings/6632a82e-cec8-4286-885b-706bfa883edf", TestUtil.ToTestableString(obj.EntityMetadata.Url), true); Assert.AreEqual("2016-09-02T11:52:10Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true); Assert.AreEqual("fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9", TestUtil.ToTestableString(obj.AppGuid), true); Assert.AreEqual("fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9", TestUtil.ToTestableString(obj.ServiceInstanceGuid), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayData), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayName), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.SyslogDrainUrl), true); Assert.AreEqual("/v2/apps/17eb5162-f77a-4366-8f22-c2329a3eb7a8", TestUtil.ToTestableString(obj.AppUrl), true); Assert.AreEqual("/v2/user_provided_service_instances/d52d587d-ff9e-4a6c-b5f7-0c247a7f8f30", TestUtil.ToTestableString(obj.ServiceInstanceUrl), true); } }
public void CreateServiceBindingTest() { using (ShimsContext.Create()) { MockClients clients = new MockClients(); string json = @"{ ""metadata"": { ""guid"": ""a358bc18-522f-4700-90b5-0e42d7efdff2"", ""url"": ""/v2/service_bindings/a358bc18-522f-4700-90b5-0e42d7efdff2"", ""created_at"": ""2016-02-09T10:21:53Z"", ""updated_at"": null }, ""entity"": { ""app_guid"": ""b214dfe6-743b-4c0a-9b03-b5ed6a866e9c"", ""service_instance_guid"": ""3deecd09-48ce-4a4b-9450-af316053bc1e"", ""credentials"": { ""creds-key-446"": ""creds-val-446"" }, ""binding_options"": { }, ""gateway_data"": null, ""gateway_name"": """", ""syslog_drain_url"": null, ""app_url"": ""/v2/apps/b214dfe6-743b-4c0a-9b03-b5ed6a866e9c"", ""service_instance_url"": ""/v2/user_provided_service_instances/3deecd09-48ce-4a4b-9450-af316053bc1e"" } }"; clients.JsonResponse = json; clients.ExpectedStatusCode = (HttpStatusCode)201; var cfClient = clients.CreateCloudFoundryClient(); CreateServiceBindingRequest value = new CreateServiceBindingRequest(); var obj = cfClient.ServiceBindings.CreateServiceBinding(value).Result; Assert.AreEqual("a358bc18-522f-4700-90b5-0e42d7efdff2", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true); Assert.AreEqual("/v2/service_bindings/a358bc18-522f-4700-90b5-0e42d7efdff2", TestUtil.ToTestableString(obj.EntityMetadata.Url), true); Assert.AreEqual("2016-02-09T10:21:53Z", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true); Assert.AreEqual("b214dfe6-743b-4c0a-9b03-b5ed6a866e9c", TestUtil.ToTestableString(obj.AppGuid), true); Assert.AreEqual("3deecd09-48ce-4a4b-9450-af316053bc1e", TestUtil.ToTestableString(obj.ServiceInstanceGuid), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayData), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayName), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.SyslogDrainUrl), true); Assert.AreEqual("/v2/apps/b214dfe6-743b-4c0a-9b03-b5ed6a866e9c", TestUtil.ToTestableString(obj.AppUrl), true); Assert.AreEqual("/v2/user_provided_service_instances/3deecd09-48ce-4a4b-9450-af316053bc1e", TestUtil.ToTestableString(obj.ServiceInstanceUrl), true); } }
public void CreateServiceBindingTest() { using (ShimsContext.Create()) { MockClients clients = new MockClients(); string json = @"{ ""metadata"": { ""guid"": ""f43be5e1-cea9-4061-b8c2-7556ea46e14c"", ""url"": ""/v2/service_bindings/f43be5e1-cea9-4061-b8c2-7556ea46e14c"", ""created_at"": ""2015-04-16T12:04:14+00:00"", ""updated_at"": null }, ""entity"": { ""app_guid"": ""f00a7716-66d9-43db-9e78-84eba6eafb56"", ""service_instance_guid"": ""efa04183-646b-4602-9ede-b6555287d8e7"", ""credentials"": { ""creds-key-23"": ""creds-val-23"" }, ""binding_options"": { }, ""gateway_data"": null, ""gateway_name"": """", ""syslog_drain_url"": null, ""app_url"": ""/v2/apps/f00a7716-66d9-43db-9e78-84eba6eafb56"", ""service_instance_url"": ""/v2/user_provided_service_instances/efa04183-646b-4602-9ede-b6555287d8e7"" } }"; clients.JsonResponse = json; clients.ExpectedStatusCode = (HttpStatusCode)201; var cfClient = clients.CreateCloudFoundryClient(); CreateServiceBindingRequest value = new CreateServiceBindingRequest(); var obj = cfClient.ServiceBindings.CreateServiceBinding(value).Result; Assert.AreEqual("f43be5e1-cea9-4061-b8c2-7556ea46e14c", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true); Assert.AreEqual("/v2/service_bindings/f43be5e1-cea9-4061-b8c2-7556ea46e14c", TestUtil.ToTestableString(obj.EntityMetadata.Url), true); Assert.AreEqual("2015-04-16T12:04:14+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true); Assert.AreEqual("f00a7716-66d9-43db-9e78-84eba6eafb56", TestUtil.ToTestableString(obj.AppGuid), true); Assert.AreEqual("efa04183-646b-4602-9ede-b6555287d8e7", TestUtil.ToTestableString(obj.ServiceInstanceGuid), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayData), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayName), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.SyslogDrainUrl), true); Assert.AreEqual("/v2/apps/f00a7716-66d9-43db-9e78-84eba6eafb56", TestUtil.ToTestableString(obj.AppUrl), true); Assert.AreEqual("/v2/user_provided_service_instances/efa04183-646b-4602-9ede-b6555287d8e7", TestUtil.ToTestableString(obj.ServiceInstanceUrl), true); } }
public override bool Execute() { logger = new Microsoft.Build.Utilities.TaskLoggingHelper(this); try { CloudFoundryClient client = InitClient(); logger.LogMessage("Binding services to app {0}", CFAppGuid); List <string> bindingGuids = new List <string>(); foreach (string serviceGuid in CFServicesGuids) { CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.AppGuid = new Guid(CFAppGuid); request.ServiceInstanceGuid = new Guid(serviceGuid); try { var result = client.ServiceBindings.CreateServiceBinding(request).Result; bindingGuids.Add(result.EntityMetadata.Guid); } catch (AggregateException ex) { foreach (Exception e in ex.Flatten().InnerExceptions) { if (e is CloudFoundryException) { logger.LogWarning(e.Message); } else { throw; } } } } CFBindingGuids = bindingGuids.ToArray(); } catch (AggregateException exception) { List <string> messages = new List <string>(); ErrorFormatter.FormatExceptionMessage(exception, messages); this.logger.LogError(string.Join(Environment.NewLine, messages)); return(false); } return(true); }
public void TestCreateServiceBindingRequest() { string json = @"{ ""service_instance_guid"": ""0cac3ac1-d421-4f20-ae51-07b3d183df54"", ""app_guid"": ""c31a055c-3a3c-4cd2-8135-d053bf638f41"" }"; CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.ServiceInstanceGuid = new Guid("0cac3ac1-d421-4f20-ae51-07b3d183df54"); request.AppGuid = new Guid("c31a055c-3a3c-4cd2-8135-d053bf638f41"); string result = JsonConvert.SerializeObject(request, Formatting.None); Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result); }
public void TestCreateServiceBindingRequest() { string json = @"{ ""service_instance_guid"": ""efa04183-646b-4602-9ede-b6555287d8e7"", ""app_guid"": ""f00a7716-66d9-43db-9e78-84eba6eafb56"" }"; CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.ServiceInstanceGuid = new Guid("efa04183-646b-4602-9ede-b6555287d8e7"); request.AppGuid = new Guid("f00a7716-66d9-43db-9e78-84eba6eafb56"); string result = JsonConvert.SerializeObject(request, Formatting.None); Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result); }
public void TestCreateServiceBindingRequest() { string json = @"{ ""service_instance_guid"": ""3deecd09-48ce-4a4b-9450-af316053bc1e"", ""app_guid"": ""b214dfe6-743b-4c0a-9b03-b5ed6a866e9c"" }"; CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.ServiceInstanceGuid = new Guid("3deecd09-48ce-4a4b-9450-af316053bc1e"); request.AppGuid = new Guid("b214dfe6-743b-4c0a-9b03-b5ed6a866e9c"); string result = JsonConvert.SerializeObject(request, Formatting.None); Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result); }
/// <summary> /// Create a Service Binding /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/250/service_bindings/create_a_service_binding.html"</para> /// </summary> public async Task <CreateServiceBindingResponse> CreateServiceBinding(CreateServiceBindingRequest value) { UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget); uriBuilder.Path = "/v2/service_bindings"; var client = this.GetHttpClient(); client.Uri = uriBuilder.Uri; client.Method = HttpMethod.Post; client.Content = ((string)JsonConvert.SerializeObject(value)).ConvertToStream(); var expectedReturnStatus = 201; var response = await this.SendAsync(client, expectedReturnStatus); return(Utilities.DeserializeJson <CreateServiceBindingResponse>(await response.Content.ReadAsStringAsync())); }
public void TestCreateServiceBindingRequest() { string json = @"{ ""service_instance_guid"": ""fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"", ""app_guid"": ""fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"", ""parameters"": { ""the_service_broker"": ""wants this object"" } }"; CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.ServiceInstanceGuid = new Guid("fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"); request.AppGuid = new Guid("fd2b7dda-e93c-4f5a-bf27-b4e875dbfce9"); request.Parameters = TestUtil.GetJsonDictonary(@"{""the_service_broker"":""wants this object""}"); string result = JsonConvert.SerializeObject(request, Formatting.None); Assert.AreEqual(TestUtil.ToUnformatedJsonString(json), result); }
public override bool Execute() { logger = new Microsoft.Build.Utilities.TaskLoggingHelper(this); CloudFoundryClient client = InitClient(); logger.LogMessage("Binding services to app {0}", CFAppGuid); List<string> bindingGuids = new List<string>(); foreach (string serviceGuid in CFServicesGuids) { CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.AppGuid = new Guid(CFAppGuid); request.ServiceInstanceGuid = new Guid(serviceGuid); try { var result = client.ServiceBindings.CreateServiceBinding(request).Result; bindingGuids.Add(result.EntityMetadata.Guid); } catch (AggregateException ex) { foreach (Exception e in ex.Flatten().InnerExceptions) { if (e is CloudFoundryException) { logger.LogWarning(e.Message); } else { throw; } } } } CFBindingGuids = bindingGuids.ToArray(); return true; }
public void CreateServiceBindingTest() { using (ShimsContext.Create()) { MockClients clients = new MockClients(); string json = @"{ ""metadata"": { ""guid"": ""8fdcdd9e-2992-4dfe-bc40-205c8122a97d"", ""url"": ""/v2/service_bindings/8fdcdd9e-2992-4dfe-bc40-205c8122a97d"", ""created_at"": ""2015-05-19T15:27:19+00:00"", ""updated_at"": null }, ""entity"": { ""app_guid"": ""c31a055c-3a3c-4cd2-8135-d053bf638f41"", ""service_instance_guid"": ""0cac3ac1-d421-4f20-ae51-07b3d183df54"", ""credentials"": { ""creds-key-435"": ""creds-val-435"" }, ""binding_options"": { }, ""gateway_data"": null, ""gateway_name"": """", ""syslog_drain_url"": null, ""app_url"": ""/v2/apps/c31a055c-3a3c-4cd2-8135-d053bf638f41"", ""service_instance_url"": ""/v2/user_provided_service_instances/0cac3ac1-d421-4f20-ae51-07b3d183df54"" } }"; clients.JsonResponse = json; clients.ExpectedStatusCode = (HttpStatusCode)201; var cfClient = clients.CreateCloudFoundryClient(); CreateServiceBindingRequest value = new CreateServiceBindingRequest(); var obj = cfClient.ServiceBindings.CreateServiceBinding(value).Result; Assert.AreEqual("8fdcdd9e-2992-4dfe-bc40-205c8122a97d", TestUtil.ToTestableString(obj.EntityMetadata.Guid), true); Assert.AreEqual("/v2/service_bindings/8fdcdd9e-2992-4dfe-bc40-205c8122a97d", TestUtil.ToTestableString(obj.EntityMetadata.Url), true); Assert.AreEqual("2015-05-19T15:27:19+00:00", TestUtil.ToTestableString(obj.EntityMetadata.CreatedAt), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.EntityMetadata.UpdatedAt), true); Assert.AreEqual("c31a055c-3a3c-4cd2-8135-d053bf638f41", TestUtil.ToTestableString(obj.AppGuid), true); Assert.AreEqual("0cac3ac1-d421-4f20-ae51-07b3d183df54", TestUtil.ToTestableString(obj.ServiceInstanceGuid), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayData), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.GatewayName), true); Assert.AreEqual("", TestUtil.ToTestableString(obj.SyslogDrainUrl), true); Assert.AreEqual("/v2/apps/c31a055c-3a3c-4cd2-8135-d053bf638f41", TestUtil.ToTestableString(obj.AppUrl), true); Assert.AreEqual("/v2/user_provided_service_instances/0cac3ac1-d421-4f20-ae51-07b3d183df54", TestUtil.ToTestableString(obj.ServiceInstanceUrl), true); } }
private Task <CreateServiceBindingResponse> CustomServiceBinding(CloudController.V2.Client.Base.AbstractServiceBindingsEndpoint arg1, CreateServiceBindingRequest arg2) { return(Task.Factory.StartNew <CreateServiceBindingResponse>(() => { return new CreateServiceBindingResponse() { EntityMetadata = new Metadata() }; })); }
public override bool Execute() { this.CFOrganization = this.CFOrganization.Trim(); this.CFSpace = this.CFSpace.Trim(); this.Logger = new TaskLogger(this); try { CloudFoundryClient client = InitClient(); var app = LoadAppFromManifest(); Guid?spaceGuid = null; if ((!string.IsNullOrWhiteSpace(this.CFSpace)) && (!string.IsNullOrWhiteSpace(this.CFOrganization))) { spaceGuid = Utils.GetSpaceGuid(client, this.Logger, this.CFOrganization, this.CFSpace); if (spaceGuid == null) { return(false); } } var appGuid = Utils.GetAppGuid(client, app.Name, spaceGuid.Value); if (appGuid.HasValue == false) { Logger.LogError("Could not find app {0} in space {1}", app.Name, this.CFSpace); return(false); } Logger.LogMessage("Binding services to app {0}", app.Name); List <string> bindingGuids = new List <string>(); if (app.Services != null) { foreach (string serviceName in app.Services) { var serviceGuid = Utils.GetServiceGuid(client, serviceName, spaceGuid.Value); if (serviceGuid.HasValue) { CreateServiceBindingRequest request = new CreateServiceBindingRequest(); request.AppGuid = appGuid.Value; request.ServiceInstanceGuid = serviceGuid.Value; try { var result = client.ServiceBindings.CreateServiceBinding(request).Result; bindingGuids.Add(result.EntityMetadata.Guid); } catch (AggregateException ex) { foreach (Exception e in ex.Flatten().InnerExceptions) { if (e is CloudFoundryException) { Logger.LogWarning(e.Message); } else { this.Logger.LogError("Bind Services failed", ex); return(false); } } } } else { Logger.LogError("Could not find service instance {0}", serviceName); } } this.CFBindingGuids = bindingGuids.ToArray(); } else { return(true); } } catch (Exception exception) { this.Logger.LogError("Bind Services failed", exception); return(false); } return(true); }
/// <summary> /// Create a Service Binding /// <para>For detailed information, see online documentation at: "http://apidocs.cloudfoundry.org/195/service_bindings/create_a_service_binding.html"</para> /// </summary> public async Task<CreateServiceBindingResponse> CreateServiceBinding(CreateServiceBindingRequest value) { UriBuilder uriBuilder = new UriBuilder(this.Client.CloudTarget); uriBuilder.Path = "/v2/service_bindings"; var client = this.GetHttpClient(); client.Uri = uriBuilder.Uri; client.Method = HttpMethod.Post; var authHeader = await BuildAuthenticationHeader(); if (!string.IsNullOrWhiteSpace(authHeader.Key)) { client.Headers.Add(authHeader); } 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<CreateServiceBindingResponse>(await response.ReadContentAsStringAsync()); }