code: def rolling_update(config=None, name=None, image=None, container_name=None, rc_new=None):
          
  
          if name is None:
              raise SyntaxError(
                  'K8sReplicationController: name: [ {0} ] cannot be None.'.format(name))
          if image is None and rc_new is None:
              raise SyntaxError(
                  "K8sReplicationController: please specify either 'image' or 'rc_new'")
          if container_name is not None and image is not None and rc_new is not None:
              raise SyntaxError(
                  'K8sReplicationController: rc_new is mutually exclusive with an (container_name, image) pair.')
  
          return K8sReplicationController._rolling_update_init(
              config=config,
              name=name,
              image=image,
              container_name=container_name,
              rc_new=rc_new)
docs: Performs a simple rolling update of a ReplicationController.
  
          See https://github.com/kubernetes/kubernetes/blob/master/docs/design/simple-rolling-update.md
          for algorithm details. We have modified it slightly to allow for keeping the same RC name
          between updates, which is not supported by default by kubectl.
  
          :param config: An instance of K8sConfig. If omitted, reads from ~/.kube/config.
  
          :param name: The name of the ReplicationController we want to update.
  
          :param image: The updated image version we want applied.
  
          :param container_name: The name of the container we're targeting for the update.
                 Required if more than one container is present.
  
          :param rc_new: An instance of K8sReplicationController with the new configuration to apply.
                 Mutually exclusive with [image, container_name] if specified.
  
          :return: