UpdateProvisionedProductInput.java
package com.cloudforgeci.api.deploy.catalog;
import java.util.Map;
import java.util.Objects;
/**
* Inputs for {@link ServiceCatalogDeployer#update}.
*
* <p>{@code provisioningArtifactId} is nullable — omit it to update parameters on the currently-
* provisioned version rather than moving to a different one. {@code parameters} only supports
* explicit new values (mapped to {@code UpdateProvisioningParameter.value}); there is no way to
* pass {@code usePreviousValue} through this type — see {@link ServiceCatalogDeployer}'s class
* javadoc for why, and for what Service Catalog does with a parameter this update omits
* entirely (not verified against a real account).</p>
*/
public record UpdateProvisionedProductInput(
String provisionedProductId,
String provisioningArtifactId,
Map<String, String> parameters) {
public UpdateProvisionedProductInput {
Objects.requireNonNull(provisionedProductId, "provisionedProductId");
parameters = parameters == null ? Map.of() : Map.copyOf(parameters);
}
}