Skip to content

Commit 85150d7

Browse files
committed
DefaultApplications: setEnvironmentVariable and unsetEnvironmentVariable use v3 api
1 parent 15d243f commit 85150d7

File tree

2 files changed

+40
-30
lines changed

2 files changed

+40
-30
lines changed

cloudfoundry-client/src/main/java/org/cloudfoundry/client/v3/applications/_UpdateApplicationEnvironmentVariablesRequest.java

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,14 +16,15 @@
1616

1717
package org.cloudfoundry.client.v3.applications;
1818

19+
import java.util.Map;
20+
1921
import com.fasterxml.jackson.annotation.JsonIgnore;
22+
import com.fasterxml.jackson.annotation.JsonInclude;
2023
import com.fasterxml.jackson.annotation.JsonProperty;
2124
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
2225
import org.cloudfoundry.AllowNulls;
2326
import org.immutables.value.Value;
2427

25-
import java.util.Map;
26-
2728
@JsonSerialize
2829
@Value.Immutable
2930
abstract class _UpdateApplicationEnvironmentVariablesRequest {
@@ -39,6 +40,7 @@ abstract class _UpdateApplicationEnvironmentVariablesRequest {
3940
*/
4041
@AllowNulls
4142
@JsonProperty("var")
43+
@JsonInclude(value = JsonInclude.Include.ALWAYS)
4244
abstract Map<String, String> getVars();
4345

4446
}

cloudfoundry-operations/src/main/java/org/cloudfoundry/operations/applications/DefaultApplications.java

Lines changed: 36 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,8 @@
117117
import org.cloudfoundry.client.v3.applications.ListApplicationRoutesRequest;
118118
import org.cloudfoundry.client.v3.applications.ListApplicationsRequest;
119119
import org.cloudfoundry.client.v3.applications.SetApplicationCurrentDropletRequest;
120+
import org.cloudfoundry.client.v3.applications.UpdateApplicationEnvironmentVariablesRequest;
121+
import org.cloudfoundry.client.v3.applications.UpdateApplicationEnvironmentVariablesResponse;
120122
import org.cloudfoundry.client.v3.applications.UpdateApplicationFeatureRequest;
121123
import org.cloudfoundry.client.v3.auditevents.AuditEventResource;
122124
import org.cloudfoundry.client.v3.auditevents.ListAuditEventsRequest;
@@ -624,22 +626,6 @@ public Mono<Void> scale(ScaleApplicationRequest request) {
624626
.checkpoint();
625627
}
626628

627-
@Override
628-
public Mono<Void> setEnvironmentVariable(SetEnvironmentVariableApplicationRequest request) {
629-
return getApplication(request.getName())
630-
.flatMap(
631-
resource ->
632-
requestUpdateApplicationEnvironment(
633-
ResourceUtils.getId(resource),
634-
addToEnvironment(
635-
getEnvironment(resource),
636-
request.getVariableName(),
637-
request.getVariableValue())))
638-
.then()
639-
.transform(OperationsLogging.log("Set Application Environment Variable"))
640-
.checkpoint();
641-
}
642-
643629
@Override
644630
public Mono<Void> setHealthCheck(SetApplicationHealthCheckRequest request) {
645631
return getApplicationIdV3(request.getName())
@@ -694,15 +680,21 @@ public Mono<Void> terminateTask(TerminateApplicationTaskRequest request) {
694680
}
695681

696682
@Override
697-
public Mono<Void> unsetEnvironmentVariable(UnsetEnvironmentVariableApplicationRequest request) {
698-
return getApplication(request.getName())
683+
public Mono<Void> setEnvironmentVariable(SetEnvironmentVariableApplicationRequest request) {
684+
return getApplicationIdV3(request.getName())
699685
.flatMap(
700-
resource ->
701-
requestUpdateApplicationEnvironment(
702-
ResourceUtils.getId(resource),
703-
removeFromEnvironment(
704-
getEnvironment(resource),
705-
request.getVariableName())))
686+
id ->
687+
requestSetEnvironmentVariable(
688+
id, request.getVariableName(), request.getVariableValue()))
689+
.then()
690+
.transform(OperationsLogging.log("Set Application Environment Variable"))
691+
.checkpoint();
692+
}
693+
694+
@Override
695+
public Mono<Void> unsetEnvironmentVariable(UnsetEnvironmentVariableApplicationRequest request) {
696+
return getApplicationIdV3(request.getName())
697+
.flatMap(id -> requestUnsetEnvironmentVariable(id, request.getVariableName()))
706698
.then()
707699
.transform(OperationsLogging.log("Unset Application Environment Variable"))
708700
.checkpoint();
@@ -2177,10 +2169,26 @@ private Mono<Void> requestUpdateApplicationV3(
21772169
.then();
21782170
}
21792171

2180-
private Mono<AbstractApplicationResource> requestUpdateApplicationEnvironment(
2181-
String applicationId, Map<String, Object> environment) {
2182-
return requestUpdateApplication(
2183-
applicationId, builder -> builder.environmentJsons(environment));
2172+
private Mono<UpdateApplicationEnvironmentVariablesResponse> requestSetEnvironmentVariable(
2173+
String applicationId, String name, String value) {
2174+
return this.cloudFoundryClient
2175+
.applicationsV3()
2176+
.updateEnvironmentVariables(
2177+
UpdateApplicationEnvironmentVariablesRequest.builder()
2178+
.applicationId(applicationId)
2179+
.var(name, value)
2180+
.build());
2181+
}
2182+
2183+
private Mono<UpdateApplicationEnvironmentVariablesResponse> requestUnsetEnvironmentVariable(
2184+
String applicationId, String name) {
2185+
return this.cloudFoundryClient
2186+
.applicationsV3()
2187+
.updateEnvironmentVariables(
2188+
UpdateApplicationEnvironmentVariablesRequest.builder()
2189+
.applicationId(applicationId)
2190+
.var(name, null)
2191+
.build());
21842192
}
21852193

21862194
private Mono<AbstractApplicationResource> requestUpdateApplicationHealthCheckType(

0 commit comments

Comments
 (0)