docstr: Method: apply a custom resource object to install milvus
  Params:
      configs: a dict type of configurations that describe the properties of milvus to be deployed
      template: Optional. Pass the template file location if there is a template to apply
  Return: custom resource object instance
docstr_tok: ["Method",":","apply","a","custom","resource","object","to","install","milvus","Params",":","configs",":","a","dict","type","of","configurations","that","describe","the","properties","of","milvus","to","be","deployed","template",":","Optional",".","Pass","the","template","file","location","if","there","is","a","template","to","apply","Return",":","custom","resource","object","instance"]
code: def install(self, configs, template=None):
      """
      Method: apply a custom resource object to install milvus
      Params:
          configs: a dict type of configurations that describe the properties of milvus to be deployed
          template: Optional. Pass the template file location if there is a template to apply
      Return: custom resource object instance
      """
      new_configs = self._update_configs(configs, template)
      log.debug(new_configs)
      namespace = new_configs["metadata"].get("namespace", "default")
      # apply custom resource object to deploy milvus
      cus_res = CusResource(
          kind=self.plural,
          group=self.group,
          version=self.version,
          namespace=namespace,
      )
      log.info(
          f"install milvus with configs: {json.dumps(new_configs, indent=4)}"
      )
      return cus_res.create(new_configs)
  
file_path: milvus/tests/python_client/customize/milvus_operator.py
imports: import json
  import os
  import time
  from benedict import benedict
  from utils.util_log import test_log
  from common.cus_resource_opts import CustomResourceOperations
label_desc: Use image node_id 3 for calling the MilvusOperator obj's underlying member method code with example usage: obj.install(configs, template) and returns: cus_res