def validate_and_build_instance_groups()

in awscli/customizations/emr/instancegroupsutils.py [0:0]


def validate_and_build_instance_groups(
        instance_groups, instance_type, instance_count):
    if (instance_groups is None and instance_type is None):
        raise exceptions.MissingRequiredInstanceGroupsError

    if (instance_groups is not None and
        (instance_type is not None or
            instance_count is not None)):
        raise exceptions.InstanceGroupsValidationError

    if instance_groups is not None:
        return build_instance_groups(instance_groups)
    else:
        instance_groups = []
        master_ig = _build_instance_group(
            instance_type=instance_type,
            instance_count=1,
            instance_group_type="MASTER")
        instance_groups.append(master_ig)
        if instance_count is not None and int(instance_count) > 1:
            core_ig = _build_instance_group(
                instance_type=instance_type,
                instance_count=int(instance_count) - 1,
                instance_group_type="CORE")
            instance_groups.append(core_ig)

        return instance_groups