@Override public void scale(String name, Map<String, String> labels, int desiredReplicas, long amount, TimeUnit timeUnit) throws InterruptedException { String sName = openshiftName(name); getDeploymentsByLabel(labels) .stream() .filter(d -> d.getMetadata().getName().equals(sName)) .map(d -> new DeploymentConfigBuilder(d).editSpec().withReplicas(desiredReplicas).endSpec().build()) .findAny().ifPresent(d -> openShiftClient.deploymentConfigs().createOrReplace(d)); }
@Override public void visit(DeploymentConfigBuilder item) { DeploymentConfigFluent.SpecNested<DeploymentConfigBuilder> spec = item.getSpec() == null ? item.withNewSpec() : item.editSpec(); DeploymentConfigSpecFluent.TemplateNested<DeploymentConfigFluent.SpecNested<DeploymentConfigBuilder>> template = spec.getTemplate() == null ? spec.withNewTemplate() : spec.editTemplate(); template.endTemplate().endSpec(); } });
@Override public void visit(DeploymentConfigBuilder item) { DeploymentConfigFluent.SpecNested<DeploymentConfigBuilder> spec = item.getSpec() == null ? item.withNewSpec() : item.editSpec(); DeploymentConfigSpecFluent.TemplateNested<DeploymentConfigFluent.SpecNested<DeploymentConfigBuilder>> template = spec.getTemplate() == null ? spec.withNewTemplate() : spec.editTemplate(); template.endTemplate().endSpec(); } });
@Override public HasMetadata convert(HasMetadata item, boolean trimImageInContainerSpec, boolean enableAutomaticTrigger) { if (item instanceof DeploymentConfig) { DeploymentConfig resource = (DeploymentConfig) item; if (openshiftDeployTimeoutSeconds != null && openshiftDeployTimeoutSeconds > 0) { DeploymentConfigBuilder builder = new DeploymentConfigBuilder(resource); DeploymentConfigFluent.SpecNested<DeploymentConfigBuilder> specBuilder; if (resource.getSpec() != null) { specBuilder = builder.editSpec(); } else { specBuilder = builder.withNewSpec(); } specBuilder.withNewStrategy().withType("Rolling"). withNewRollingParams().withTimeoutSeconds(openshiftDeployTimeoutSeconds).endRollingParams().endStrategy(); specBuilder.endSpec(); return builder.build(); } } return item; } }