List of usage examples for com.amazonaws.services.ecs.model PlacementStrategy getType
public String getType()
The type of placement strategy.
From source file:com.netflix.spinnaker.clouddriver.ecs.deploy.validators.EcsCreateServerGroupDescriptionValidator.java
License:Apache License
@Override public void validate(List priorDescriptions, Object description, Errors errors) { CreateServerGroupDescription createServerGroupDescription = (CreateServerGroupDescription) description; validateCredentials(createServerGroupDescription, errors, "credentials"); validateCapacity(errors, createServerGroupDescription.getCapacity()); if (createServerGroupDescription.getAvailabilityZones() != null) { if (createServerGroupDescription.getAvailabilityZones().size() != 1) { rejectValue(errors, "availabilityZones", "must.have.only.one"); }/*from w w w .j a va2s . c om*/ } else { rejectValue(errors, "availabilityZones", "not.nullable"); } if (createServerGroupDescription.getPlacementStrategySequence() != null) { for (PlacementStrategy placementStrategy : createServerGroupDescription .getPlacementStrategySequence()) { PlacementStrategyType type; try { type = PlacementStrategyType.fromValue(placementStrategy.getType()); } catch (IllegalArgumentException e) { rejectValue(errors, "placementStrategySequence.type", "invalid"); continue; } switch (type) { case Random: break; case Spread: if (!SPREAD_VALUES.contains(placementStrategy.getField())) { rejectValue(errors, "placementStrategySequence.spread", "invalid"); } break; case Binpack: if (!BINPACK_VALUES.contains(placementStrategy.getField())) { rejectValue(errors, "placementStrategySequence.binpack", "invalid"); } break; } } } else { rejectValue(errors, "placementStrategySequence", "not.nullable"); } if (createServerGroupDescription.getAutoscalingPolicies() == null) { rejectValue(errors, "autoscalingPolicies", "not.nullable"); } if (createServerGroupDescription.getApplication() == null) { rejectValue(errors, "application", "not.nullable"); } if (createServerGroupDescription.getEcsClusterName() == null) { rejectValue(errors, "ecsClusterName", "not.nullable"); } if (createServerGroupDescription.getDockerImageAddress() == null) { rejectValue(errors, "dockerImageAddress", "not.nullable"); } if (createServerGroupDescription.getContainerPort() != null) { if (createServerGroupDescription.getContainerPort() < 0 || createServerGroupDescription.getContainerPort() > 65535) { rejectValue(errors, "containerPort", "invalid"); } } else { rejectValue(errors, "containerPort", "not.nullable"); } if (createServerGroupDescription.getComputeUnits() != null) { if (createServerGroupDescription.getComputeUnits() < 0) { rejectValue(errors, "computeUnits", "invalid"); } } else { rejectValue(errors, "computeUnits", "not.nullable"); } if (createServerGroupDescription.getReservedMemory() != null) { if (createServerGroupDescription.getReservedMemory() < 0) { rejectValue(errors, "reservedMemory", "invalid"); } } else { rejectValue(errors, "reservedMemory", "not.nullable"); } }