def create(<EOL>self, person_group_id, name=None, user_data=None, recognition_model="<STR_LIT>", custom_headers=None, raw=False, **operation_config):
body = models.MetaDataContract(name=name, user_data=user_data, recognition_model=recognition_model)<EOL>url = self.create.metadata['<STR_LIT:url>']<EOL>path_format_arguments = {<EOL>'<STR_LIT>': self._serialize.url("<STR_LIT>", self.config.endpoint, '<STR_LIT:str>', skip_quote=True),<EOL>'<STR_LIT>': self._serialize.url("<STR_LIT>", person_group_id, '<STR_LIT:str>', max_length=<NUM_LIT:64>, pattern=r'<STR_LIT>')<EOL>}<EOL>url = self._client.format_url(url, **path_format_arguments)<EOL>query_parameters = {}<EOL>header_parameters = {}<EOL>header_parameters['<STR_LIT:Content-Type>'] = '<STR_LIT>'<EOL>if custom_headers:<EOL><INDENT>header_parameters.update(custom_headers)<EOL><DEDENT>body_content = self._serialize.body(body, '<STR_LIT>')<EOL>request = self._client.put(url, query_parameters, header_parameters, body_content)<EOL>response = self._client.send(request, stream=False, **operation_config)<EOL>if response.status_code not in [<NUM_LIT:200>]:<EOL><INDENT>raise models.APIErrorException(self._deserialize, response)<EOL><DEDENT>if raw:<EOL><INDENT>client_raw_response = ClientRawResponse(None, response)<EOL>return client_raw_response<EOL><DEDENT>
Create a new person group with specified personGroupId, name,
        user-provided userData and recognitionModel.
        <br /> A person group is the container of the uploaded person data,
        including face images and face recognition features.
        <br /> After creation, use [PersonGroup Person -
        Create](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523c)
        to add persons into the group, and then call [PersonGroup -
        Train](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395249)
        to get this group ready for [Face -
        Identify](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239).
        <br /> The person's face, image, and userData will be stored on server
        until [PersonGroup Person -
        Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f3039523d)
        or [PersonGroup -
        Delete](/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395245)
        is called.
        <br />
        * Free-tier subscription quota: 1,000 person groups. Each holds up to
        1,000 persons.
        * S0-tier subscription quota: 1,000,000 person groups. Each holds up to
        10,000 persons.
        * to handle larger scale face identification problem, please consider
        using
        [LargePersonGroup](/docs/services/563879b61984550e40cbbe8d/operations/599acdee6ac60f11b48b5a9d).
        <br />
        'recognitionModel' should be specified to associate with this person
        group. The default value for 'recognitionModel' is 'recognition_01', if
        the latest model needed, please explicitly specify the model you need
        in this parameter. New faces that are added to an existing person group
        will use the recognition model that's already associated with the
        collection. Existing face features in a person group can't be updated
        to features extracted by another version of recognition model.
        .

        :param person_group_id: Id referencing a particular person group.
        :type person_group_id: str
        :param name: User defined name, maximum length is 128.
        :type name: str
        :param user_data: User specified data. Length should not exceed 16KB.
        :type user_data: str
        :param recognition_model: Possible values include: 'recognition_01',
         'recognition_02'
        :type recognition_model: str or
         ~azure.cognitiveservices.vision.face.models.RecognitionModel
        :param dict custom_headers: headers that will be added to the request
        :param bool raw: returns the direct response alongside the
         deserialized response
        :param operation_config: :ref:`Operation configuration
         overrides<msrest:optionsforoperations>`.
        :return: None or ClientRawResponse if raw=true
        :rtype: None or ~msrest.pipeline.ClientRawResponse
        :raises:
         :class:`APIErrorException<azure.cognitiveservices.vision.face.models.APIErrorException>`