def validate_update_service_params()

in src/sfctl/custom_service.py [0:0]


def validate_update_service_params(stateless, stateful, target_rep_set_size,  # pylint: disable=too-many-arguments
                                   min_rep_set_size, rep_restart_wait,
                                   quorum_loss_wait, stand_by_replica_keep,
                                   instance_count, service_placement_time):
    """Validate update service parameters"""

    if sum([stateless, stateful]) != 1:
        raise CLIError('Must specify either stateful or stateless, not both')

    if stateless:
        if target_rep_set_size is not None:
            raise CLIError('Cannot specify target replica set size for '
                           'stateless service')
        if min_rep_set_size is not None:
            raise CLIError('Cannot specify minimum replica set size for '
                           'stateless service')
        if rep_restart_wait is not None:
            raise CLIError('Cannot specify replica restart wait duration '
                           'for stateless service')
        if quorum_loss_wait is not None:
            raise CLIError('Cannot specify quorum loss wait duration for '
                           'stateless service')
        if stand_by_replica_keep is not None:
            raise CLIError('Cannot specify standby replica keep duration for '
                           'stateless service')
        if service_placement_time is not None:
            raise CLIError('Cannot specify service placement time limit for '
                           'stateless service')
    if stateful:
        if instance_count is not None:
            raise CLIError('Cannot specify an instance count for a stateful '
                           'service')