anchor.diff:              C
       end.
   
  -osc_client_spec(Name) ->
  -    {[
  -      {{opt, <<"name">>}, Name},
  -      {{opt, <<"admin">>}, boolean},
  -      {{opt, <<"validator">>}, boolean},
  -      {{opt, <<"private_key">>}, boolean},
  -      {{opt, <<"json_class">>}, <<"Chef::ApiClient">>},
  -      {{opt, <<"chef_type">>}, <<"client">>},
  -      {{opt, <<"public_key">>}, {fun_match, {fun chef_object_base:valid_public_key/1, string, <<"Public Key must be a valid key.">>}}}
  -     ]}.
  -
  -oc_client_spec(Name) ->
  +client_spec(Name) ->
       {[
         {<<"name">>, Name},
         {<<"clientname">>, Name},
  
positive.code:       {{opt, <<"private_key">>}, boolean}
       ]}.
  
  %% If name is not in JSON, use the name from the URL. Otherwise, use the name in the JSON.
  osc_destination_name(Client, ReqName) ->
      Name = ej:get({<<"name">>}, Client),
      case {Name, ReqName} of
          {undefined, undefined} ->
              throw({both_missing, <<"name">>, <<"URL-NAME">>});
          {undefined, _} ->
              %% If the name is ommitted from the JSON then use what's in the URL
              {ReqName, ej:set({<<"name">>}, Client, ReqName)};
          {_, _} ->
              %% If both are present, leave as-is, because the user may be
              %% renaming (from name in URL to name in JSON).
              {Name, Client}
      end.
  
  -spec oc_destination_name(ej:json_object(), binary() | undefined) -> {binary(), ej:json_object()} | no_return().
  oc_destination_name(Client, ReqName) ->
      % Since either name or clientname is required (but not both), if only one is
      % passed, we will use it to set the other one
      Name = ej:get({<<"name">>}, Client),
  
negative.code: 
  %% @doc creates the json body for clients
  -spec assemble_client_ejson(#chef_client{}, binary()) -> ejson_term().
  assemble_client_ejson(#chef_client{name = Name, validator = Validator,
                                        public_key = PublicKey}, OrgName) ->
      Values = [{<<"name">>, value_or_default(Name, <<"">>)},
                {<<"clientname">>, value_or_default(Name, <<"">>)},
  