Repository: PrefectHQ/prefect

Issue:
`NameError: name 'ObjectAlreadyExists' is not defined` when updating an existing deployment with Python API
### First check

- [X] I added a descriptive title to this issue.
- [X] I used the GitHub search to find a similar issue and didn't find it.
- [X] I searched the Prefect documentation for this issue.
- [X] I checked that this issue is related to Prefect and not one of its dependencies.

### Bug summary

I was trying to apply an update to an already existing deployment **and work queue name**  with the Python API, but got the a `NameError` with the message `NameError: name 'ObjectAlreadyExists' is not defined`.

This seems to be related to the absence of an import statement `from prefect.exceptions import ObjectAlreadyExists` in the [`prefect.deployments`](https://github.com/PrefectHQ/prefect/blob/main/src/prefect/deployments.py) module.

### Reproduction

Could not provide a reproducible example.


### Error

```python3
Traceback (most recent call last):
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/client/orion.py", line 654, in create_work_queue
    response = await self._client.post("/work_queues/", json=data)
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/httpx/_client.py", line 1842, in post
    return await self.request(
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/httpx/_client.py", line 1527, in request
    return await self.send(request, auth=auth, follow_redirects=follow_redirects)
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/client/base.py", line 182, in send
    response.raise_for_status()
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/client/base.py", line 125, in raise_for_status
    raise PrefectHTTPStatusError.from_httpx_error(exc) from exc.__cause__
prefect.exceptions.PrefectHTTPStatusError: Client error '409 Conflict' for url 'http://************/api/work_queues/'
Response: {'detail': 'A work queue with this name already exists.'}
For more information check: https://httpstatuses.com/409

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/deployments.py", line 612, in apply
    res = await client.create_work_queue(name=self.work_queue_name)
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/client/orion.py", line 657, in create_work_queue
    raise prefect.exceptions.ObjectAlreadyExists(http_exc=e) from e
prefect.exceptions.ObjectAlreadyExists

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "implementar_fluxos.py", line 117, in <module>
    implementacao_id = implementacao.apply(
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/utilities/asyncutils.py", line 201, in coroutine_wrapper
    return run_async_in_new_loop(async_fn, *args, **kwargs)
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/utilities/asyncutils.py", line 152, in run_async_in_new_loop
    return anyio.run(partial(__fn, *args, **kwargs))
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/anyio/_core/_eventloop.py", line 70, in run
    return asynclib.run(func, *args, **backend_options)
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 292, in run
    return native_run(wrapper(), debug=debug)
  File "/usr/local/lib/python3.8/asyncio/runners.py", line 44, in run
    return loop.run_until_complete(main)
  File "/usr/local/lib/python3.8/asyncio/base_events.py", line 616, in run_until_complete
    return future.result()
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/anyio/_backends/_asyncio.py", line 287, in wrapper
    return await func(*args)
  File "/home/appuser/.cache/pypoetry/virtualenvs/impulsoetl-nhdmnNHN-py3.8/lib/python3.8/site-packages/prefect/deployments.py", line 613, in apply
    except ObjectAlreadyExists:
NameError: name 'ObjectAlreadyExists' is not defined
```


### Versions

```Text
Version:             2.6.4
API version:         0.8.2
Python version:      3.8.13
Git commit:          51e92dda
Built:               Thu, Oct 20, 2022 3:11 PM
OS/Arch:             linux/x86_64
Profile:             default
Server type:         hosted
```


### Additional context

_No response_


Discussion:

Resolving patch:
diff --git a/src/prefect/deployments.py b/src/prefect/deployments.py
--- a/src/prefect/deployments.py
+++ b/src/prefect/deployments.py
@@ -19,7 +19,7 @@
 from prefect.client.orion import OrionClient, get_client
 from prefect.client.utilities import inject_client
 from prefect.context import FlowRunContext, PrefectObjectRegistry
-from prefect.exceptions import BlockMissingCapabilities, ObjectNotFound
+from prefect.exceptions import BlockMissingCapabilities, ObjectAlreadyExists, ObjectNotFound
 from prefect.filesystems import LocalFileSystem
 from prefect.flows import Flow
 from prefect.infrastructure import Infrastructure, Process


Test patch: