|
117 | 117 | import org.cloudfoundry.client.v3.applications.ListApplicationRoutesRequest; |
118 | 118 | import org.cloudfoundry.client.v3.applications.ListApplicationsRequest; |
119 | 119 | import org.cloudfoundry.client.v3.applications.SetApplicationCurrentDropletRequest; |
| 120 | +import org.cloudfoundry.client.v3.applications.UpdateApplicationEnvironmentVariablesRequest; |
| 121 | +import org.cloudfoundry.client.v3.applications.UpdateApplicationEnvironmentVariablesResponse; |
120 | 122 | import org.cloudfoundry.client.v3.applications.UpdateApplicationFeatureRequest; |
121 | 123 | import org.cloudfoundry.client.v3.auditevents.AuditEventResource; |
122 | 124 | import org.cloudfoundry.client.v3.auditevents.ListAuditEventsRequest; |
@@ -624,22 +626,6 @@ public Mono<Void> scale(ScaleApplicationRequest request) { |
624 | 626 | .checkpoint(); |
625 | 627 | } |
626 | 628 |
|
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 | | - |
643 | 629 | @Override |
644 | 630 | public Mono<Void> setHealthCheck(SetApplicationHealthCheckRequest request) { |
645 | 631 | return getApplicationIdV3(request.getName()) |
@@ -694,15 +680,21 @@ public Mono<Void> terminateTask(TerminateApplicationTaskRequest request) { |
694 | 680 | } |
695 | 681 |
|
696 | 682 | @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()) |
699 | 685 | .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())) |
706 | 698 | .then() |
707 | 699 | .transform(OperationsLogging.log("Unset Application Environment Variable")) |
708 | 700 | .checkpoint(); |
@@ -2177,10 +2169,26 @@ private Mono<Void> requestUpdateApplicationV3( |
2177 | 2169 | .then(); |
2178 | 2170 | } |
2179 | 2171 |
|
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()); |
2184 | 2192 | } |
2185 | 2193 |
|
2186 | 2194 | private Mono<AbstractApplicationResource> requestUpdateApplicationHealthCheckType( |
|
0 commit comments