def undeploy(hash, &callback)
      hash[:remove_content] = hash.key?(:remove_content) ? hash[:remove_content] : true
      required = %i[resource_id feed_id deployment_name]
      check_pre_conditions hash, required, &callback

      hash[:destination_file_name] = hash[:deployment_name]

      operation_payload = prepare_payload_hash([:deployment_name], hash)
      invoke_operation_helper(operation_payload, 'UndeployApplication', &callback)
    end
def undeploy(hash, &callback)
      hash[:remove_content] = hash.key?(:remove_content) ? hash[:remove_content] : true
      required = %i[resource_id feed_id deployment_name]
      check_pre_conditions hash, required, &callback

      hash[:destination_file_name] = hash[:deployment_name]

      operation_payload = prepare_payload_hash([:deployment_name], hash)
      invoke_operation_helper(operation_payload, 'UndeployApplication', &callback)
    end
Undeploy a WildFly deployment

 @param [Hash] hash Arguments for deployment removal
 @option hash [String]  :resource_id ID of the WildFly server from which to undeploy the deployment
 @option hash [String]  :feed_id feed containing this resource
 @option hash [String]  :deployment_name name of deployment to undeploy
 @option hash [String]  :remove_content whether to remove the deployment content or not (default = true)
 @option hash [String]  :server_groups comma-separated list of server groups for the operation (default = ignored)

 @param callback [Block] callback that is run after the operation is done