diff --git a/ops/charm.py b/ops/charm.py index c626d11da..472afa20d 100644 --- a/ops/charm.py +++ b/ops/charm.py @@ -18,6 +18,7 @@ import enum import logging import pathlib +import warnings from typing import ( TYPE_CHECKING, Any, @@ -359,6 +360,14 @@ class PreSeriesUpgradeEvent(HookEvent): .. jujuremoved:: 4.0 """ + def __init__(self, handle: 'Handle'): + warnings.warn( + 'pre-series-upgrade events will not be emitted from Juju 4.0 onwards', + DeprecationWarning, + stacklevel=2, + ) + super().__init__(handle) + class PostSeriesUpgradeEvent(HookEvent): """Event triggered after a series upgrade. @@ -375,6 +384,14 @@ class PostSeriesUpgradeEvent(HookEvent): .. jujuremoved:: 4.0 """ + def __init__(self, handle: 'Handle'): + warnings.warn( + 'post-series-upgrade events will not be emitted from Juju 4.0 onwards', + DeprecationWarning, + stacklevel=2, + ) + super().__init__(handle) + class LeaderElectedEvent(HookEvent): """Event triggered when a new leader has been elected. @@ -412,6 +429,15 @@ class CollectMetricsEvent(HookEvent): .. jujuremoved:: 4.0 """ + def __init__(self, handle: 'Handle'): + warnings.warn( + 'collect-metrics events will not be emitted from Juju 4.0 onwards - ' + 'consider using the Canonical Observability Stack', + DeprecationWarning, + stacklevel=2, + ) + super().__init__(handle) + def add_metrics( self, metrics: Mapping[str, Union[int, float]], labels: Optional[Mapping[str, str]] = None ):