Ë
    daºixm ã                   ó(  — d Z ddlZddlmZ ddlmZ  ej                  e«      Z G d„ de«      Z	 G d„ d	e«      Z
 G d
„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Z G d„ de«      Zy)zStatuspage API wrapper.é    N)ÚEnumé   )ÚAtlassianRestAPIc                   ó   — e Zd ZdZdZdZy)ÚBrandingz*The main template your statuspage will useÚpremiumÚbasicN)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚPREMIUMÚBASIC© ó    úL/var/www/timesheet/venv/lib/python3.12/site-packages/atlassian/statuspage.pyr   r      s   „ Ù4à€GØ�Er   r   c                   ó$   — e Zd ZdZdZdZdZdZdZy)ÚSubscriberTypezThe type of subscriberÚemailÚsmsÚwebhookÚslackÚintegration_partnerN)	r
   r   r   r   ÚEMAILÚSMSÚWEBHOOKÚSLACKÚINTEGRATION_PARTNERr   r   r   r   r      s   „ Ù à€EØ
€CØ€GØ€EØ/Ñr   r   c                   ó    — e Zd ZdZdZdZdZdZy)ÚSubscriberStatezThe state of the subscriberÚactiveÚpendingÚquarantinedÚallN)r
   r   r   r   ÚACTIVEÚPENDINGÚQUARANTINEDÚALLr   r   r   r    r       s   „ Ù%à€FØ€GØ€KØ
�Cr   r    c                   ó    — e Zd ZdZdZdZdZdZy)Ú	SortFieldaO  The field to sort by

    Attributes
    ----------
    PRIMARY : str
        to indicate sorting by the identifying field
    CREATED_AT : str
        for sorting by creation timestamp
    QUARANTINED_AT : str
        for sorting by quarantine timestamp
    RELEVANCE : str
        which sorts by the relevancy of the search text
    ÚprimaryÚ
created_atÚquarantined_atÚ	relevanceN)r
   r   r   r   ÚPRIMARYÚ
CREATED_ATÚQUARANTINED_ATÚ	RELEVANCEr   r   r   r*   r*   %   s   „ ñð €GØ€JØ%€NØ�Ir   r*   c                   ó   — e Zd ZdZdZdZy)Ú	SortOrderzThe order to sort byÚascÚdescN)r
   r   r   r   ÚASCÚDESCr   r   r   r4   r4   :   s   „ Ùà
€CØ�Dr   r4   c                   ó0   — e Zd ZdZdZdZdZdZdZdZ	dZ
d	Zy
)ÚStatuszThe status of the incidentÚinvestigatingÚ
identifiedÚ
monitoringÚresolvedÚ	scheduledÚin_progressÚ	verifyingÚ	completedN)r
   r   r   r   ÚINVESTIGATINGÚ
IDENTIFIEDÚ
MONITORINGÚRESOLVEDÚ	SCHEDULEDÚIN_PROGRESSÚ	VERIFYINGÚ	COMPLETEDr   r   r   r:   r:   A   s-   „ Ù$à#€MØ€JØ€JØ€HØ€IØ€KØ€IØ�Ir   r:   c                   ó$   — e Zd ZdZdZdZdZdZdZy)ÚImpactzThe impact of the incidentÚcriticalÚmajorÚminorÚmaintenanceÚnoneN)	r
   r   r   r   ÚCRITICALÚMAJORÚMINORÚMAINTENANCEÚNONEr   r   r   rL   rL   N   s   „ Ù$à€HØ€EØ€EØ€KØ�Dr   rL   c                   ó$   — e Zd ZdZdZdZdZdZdZy)Ú	Transformz$The transform to apply to the metricÚaverageÚcountÚmaxÚminÚsumN)	r
   r   r   r   ÚAVERAGEÚCOUNTÚMAXÚMINÚSUMr   r   r   rX   rX   X   s   „ Ù.à€GØ€EØ
€CØ
€CØ
�Cr   rX   c                   ó$   — e Zd ZdZdZdZdZdZdZy)ÚMetricProviderTypezThe type of metric providerÚPingdomÚNewRelicÚLibratoÚDatadogÚSelfN)	r
   r   r   r   ÚPINGDOMÚ	NEW_RELICÚLIBRATOÚDATADOGÚSELFr   r   r   rd   rd   b   s   „ Ù%à€GØ€IØ€GØ€GØ�Dr   rd   c                   ó–  ‡ — e Zd ZdZˆ fd„Zd„ Zd„ Zd„ Zddd„Zd„ Z	d„ Z
d	„ Zd
„ Zddd„Zd„ Zd„ Zd„ Zddd„Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zd„ Zddd„Zd„ Zd„ Zd„ Zd„ Zd„ Z d„ Z!d „ Z"d!„ Z#ddd"„Z$d#„ Z%ded$„Z&d%„ Z'dfd&„Z(d'„ Z)d(„ Z*ddd)„Z+d*„ Z,d+„ Z-d,„ Z.	 dfd-„Z/d.„ Z0d/„ Z1ddd0„Z2d1„ Z3ddd2„Z4ddd3„Z5ddd4„Z6ddd5„Z7ddd6„Z8d7„ Z9d8„ Z:d9„ Z;d:„ Z<d;„ Z=ddd<„Z>d=„ Z?d>„ Z@d?„ ZAd@„ ZBdA„ ZCdB„ ZDdC„ ZEdD„ ZFdE„ ZGdgdF„ZHdG„ ZIdH„ ZJdI„ ZKdhdJ„ZLdK„ ZMdL„ ZNdM„ ZOdN„ ZPdO„ ZQdgdP„ZRdQ„ ZSdR„ ZTdS„ ZUdhdT„ZVdU„ ZWdgdV„ZXdW„ ZYdX„ ZZdY„ Z[dZ„ Z\d[„ Z]d\„ Z^dgd]„Z_d^„ Z`d_„ Zad`„ Zbda„ Zcdb„ Zddc„ Zeˆ xZfS )iÚ
StatusPagezStatusPage API wrapper.c                 ó,   •— t        t        | �
  |i |¤Ž y )N)Úsuperrp   Ú__init__)ÚselfÚargsÚkwargsÚ	__class__s      €r   rs   zStatusPage.__init__o   s   ø€ ÜŒj˜$Ñ(¨$Ð9°&Ó9r   c                 ó(   — d}| j                  |«      S )aR  
        Get a list of pages

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info


        Notes
        -----
        Available fields: https://developer.statuspage.io/#operation/getPages

        Returns
        -------
        any
        zv1/pages©Úget)rt   Úurls     r   Úpage_list_pageszStatusPage.page_list_pagesr   s   € ð$ ˆØ�x‰x˜‹}Ðr   c                 ó.   — d|› �}| j                  |«      S )aµ  
        Get page information

        Parameters
        ----------
        page_id : str
            Your page unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info

        Notes
        -----
        Available fields: https://developer.statuspage.io/#operation/getPagesPageId

        Returns
        -------
        any
        ú	v1/pages/ry   ©rt   Úpage_idr{   s      r   Úget_pagezStatusPage.get_page‡   s   € ð, ˜'˜Ð#ˆØ�x‰x˜‹}Ðr   c                 ó6   — d|› �}| j                  |d|i¬«      S )aX  
        Update a page

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : dict[str,any]
            Your page values that you want to change

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info

        Notes
        -----
        Available fields: https://developer.statuspage.io/#operation/patchPagesPageId

        Description of fields:

        name : str
            The name of your page

        Returns
        -------
        any
        r~   Úpage©Údata©Úpatch)rt   r€   rƒ   r{   s       r   Úpage_updatezStatusPage.page_update    s'   € ð: ˜'˜Ð#ˆØ�z‰z˜# V¨T NˆzÓ3Ð3r   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )aq  
        Get a list of users

        Notes
        -----
        Available fields: https://developer.statuspage.io/#operation/getOrganizationsOrganizationIdUsers

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info

        Parameters
        ----------
        organization_id : str
            Unique organization ID
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.
        Returns
        -------
        any
        úv1/organizations/z/users©rƒ   Úper_page©Úparamsry   )rt   Úorganization_idrƒ   rŒ   r{   s        r   Úorganization_get_usersz!StatusPage.organization_get_usersÀ   s+   € ð2 " /Ð!2°&Ð9ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó4   — d|› d|› �}| j                  |«      S )a&  
        Get a user's permissions in organization

        Parameters
        ----------
        organization_id : str
            Unique organization ID
        user_id : str
            Unique user ID

        Notes
        -----
        Available fields: https://developer.statuspage.io/#operation/getOrganizationsOrganizationIdPermissionsUserId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info

        Returns
        -------
        any
        rŠ   ú/permissions/ry   )rt   r�   Úuser_idr{   s       r   Ú!organization_get_user_permissionsz,StatusPage.organization_get_user_permissionsÜ   s%   € ð0 " /Ð!2°-À¸yÐIˆØ�x‰x˜‹}Ðr   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )a‹  
        Update a user's role permissions. Payload should contain a mapping of pages to a set of the desired roles,
        if the page has Role Based Access Control. Otherwise, the pages should map to an empty hash.
        User will lose access to any pages omitted from the payload.

        Parameters
        ----------
        organization_id : str
            Unique organization ID
        user_id : str
            Unique user ID
        pages : dict[str, any]
            You can specify "page_configuration", "incident_manager" and "maintenance_manager" booleans here

        Notes
        -----
        Available fields: https://developer.statuspage.io/#operation/putOrganizationsOrganizationIdPermissionsUserId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info

        Examples
        --------
        >>> client = StatusPage(url="https://api.statuspage.io", token="YOUR-TOKEN")
        >>> client.organization_set_user_permissions(
        ...    "ORGANIZATION-ID",
        ...    "USER-ID",
        ...     {
        ...         "PAGE-ID": {
        ...             "page_configuration": True,
        ...             "incident_manager": True,
        ...             "maintenance_manager": True
        ...         }
        ...     }
        ... )

        Returns
        -------
        any
        rŠ   r’   Úpagesr„   r†   )rt   r�   r“   r–   r{   s        r   Ú!organization_set_user_permissionsz,StatusPage.organization_set_user_permissions÷   s0   € ðV " /Ð!2°-À¸yÐIˆØ�z‰z˜# W¨eÐ$4ˆzÓ5Ð5r   c                 ó0   — d|› d�}| j                  |«      S )aÖ  
        Get status embed config settings

        Parameters
        ----------
        page_id : str
            Your page unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exception.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdStatusEmbedConfig

        Returns
        -------
        any
        r~   ú/status_embed_configry   r   s      r   Úpage_get_embed_config_settingsz)StatusPage.page_get_embed_config_settings%  s!   € ð, ˜'˜Ð"6Ð7ˆØ�x‰x˜‹}Ðr   c                 ó2   — d|› d�}| j                  ||«      S )a  
        Update status embed config settings

        Parameters
        ----------
        page_id : str
            Your page unique ID
        status_embed_config : dict[str, any]

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Examples
        --------
        >>> client = StatusPage(url="https://api.statuspage.io", token="YOUR-TOKEN")
        >>> client.page_update_embed_config_settings(
        ...    "PAGE-ID",
        ...     {
        ...         "position": "string",
        ...         "incident_background_color": "string",
        ...         "incident_text_color": "string",
        ...         "maintenance_background_color": "string",
        ...         "maintenance_text_color": "string"
        ...     }
        ... )

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdStatusEmbedConfig

        Returns
        -------
        any
        r~   r™   r†   )rt   r€   Ústatus_embed_configr{   s       r   Ú!page_update_embed_config_settingsz,StatusPage.page_update_embed_config_settings>  s&   € ðJ ˜'˜Ð"6Ð7ˆØ�z‰z˜#Ð2Ó3Ð3r   c                 ó<   — d|› d�}| j                  ||||dœ¬«      S )a®  
        Get a list of page access users

        Parameters
        ----------
        page_id : str
            Your page unique ID
        email : str
            Email address to search for
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessUsers

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/page_access_users)r   rƒ   rŒ   r�   ry   )rt   r€   r   rƒ   rŒ   r{   s         r   Úpage_access_users_listz!StatusPage.page_access_users_listf  s-   € ð8 ˜'˜Ð"4Ð5ˆØ�x‰x˜¨e¸TÈxÑ$XˆxÓYÐYr   c                 ó4   — d|› d|› �}| j                  |«      S )a#  
        Get page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessUsersPageAccessUserId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/page_access_users/ry   ©rt   r€   Úpage_access_user_idr{   s       r   Úpage_get_access_userzStatusPage.page_get_access_user…  s'   € ð0 ˜'˜Ð"5Ð6IÐ5JÐKˆØ�x‰x˜‹}Ðr   c                 ó@   — d|› d|› �}| j                  ||||dœ¬«      S )af  
        Update page access user

        Warnings
        --------
        TODO: Fields that can be updated are undocumented as well as their descriptions.

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        external_login : str
            IDP login user id. Key is typically "uid".
        email : str
            Email address
        page_access_group_ids : list[str]
            Group IDs

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdPageAccessUsersPageAccessUserId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   )Úexternal_loginr   Úpage_access_group_idsr„   r†   )rt   r€   r¤   r§   r   r¨   r{   s          r   Úpage_set_access_userzStatusPage.page_set_access_user   s=   € ðD ˜'˜Ð"5Ð6IÐ5JÐKˆØ�z‰zØ¨À%ÐbwÑxð ó 
ð 	
r   c                 ó4   — d|› d|› �}| j                  |«      S )a1  
        Delete page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier

        Notes
        -----
        See available fields:
        https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessUsersPageAccessUserId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   ©Údeleter£   s       r   Úpage_delete_access_userz"StatusPage.page_delete_access_userÇ  s(   € ð2 ˜'˜Ð"5Ð6IÐ5JÐKˆØ�{‰{˜3ÓÐr   c                 ó@   — d|› d|› d�}| j                  |||dœ¬«      S )aï  
        Get components for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessUsersPageAccessUserIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   ú/componentsr‹   r�   ry   )rt   r€   r¤   rƒ   rŒ   r{   s         r   Úpage_get_components_access_userz*StatusPage.page_get_components_access_userã  s3   € ð: ˜'˜Ð"5Ð6IÐ5JÈ+ÐVˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )aª  
        Add components for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        component_ids : list[str]
            List of component codes to allow access to

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdPageAccessUsersPageAccessUserIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   r¯   Úcomponent_idsr„   r†   ©rt   r€   r¤   r²   r{   s        r   Úpage_add_components_access_userz*StatusPage.page_add_components_access_user  s3   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ+ÐVˆØ�z‰z˜# _°mÐ$DˆzÓEÐEr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a¯  
        Replace components for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        component_ids : list[str]
            List of component codes to allow access to

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdPageAccessUsersPageAccessUserIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   r¯   r²   r„   ©Úpostr³   s        r   Ú#page_replace_components_access_userz.StatusPage.page_replace_components_access_user!  s3   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ+ÐVˆØ�y‰y˜ O°]Ð#CˆyÓDÐDr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )aÚ  
        Delete components for page access user.

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        component_ids : list[str]
            List of components codes to remove. **If omitted, all components will be removed.**

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessUsersPageAccessUserIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   r¯   r²   r„   r«   r³   s        r   Ú"page_delete_components_access_userz-StatusPage.page_delete_components_access_user?  s3   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ+ÐVˆØ�{‰{˜3 o°}Ð%Eˆ{ÓFÐFr   c                 ó:   — d|› d|› d|› �}| j                  |«      S )aŸ  
        Delete components for page access user.

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        component_id : str
            Component identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessUsersPageAccessUserIdComponentsComponentId
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   ú/components/r«   )rt   r€   r¤   Úcomponent_idr{   s        r   Ú!page_delete_component_access_userz,StatusPage.page_delete_component_access_user]  s0   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ,ÐWcÐVdÐeˆØ�{‰{˜3ÓÐr   c                 ó6   — d|› d|› d�}| j                  |«      S )aK  
        Get metrics for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessUsersPageAccessUserIdMetrics
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   ú/metricsry   r£   s       r   Úpage_get_metrics_access_userz'StatusPage.page_get_metrics_access_user{  s)   € ð2 ˜'˜Ð"5Ð6IÐ5JÈ(ÐSˆØ�x‰x˜‹}Ðr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a�  
        Add metrics for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        metric_ids : list[str]
            List of metrics to add

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdPageAccessUsersPageAccessUserIdMetrics
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   rÀ   Ú
metric_idsr„   r†   ©rt   r€   r¤   rÃ   r{   s        r   Úpage_add_metrics_access_userz'StatusPage.page_add_metrics_access_user—  s3   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ(ÐSˆØ�z‰z˜# \°:Ð$>ˆzÓ?Ð?r   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a–  
        Replace metrics for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        metric_ids : list[str]
            List of metrics to replace

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdPageAccessUsersPageAccessUserIdMetrics
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   rÀ   rÃ   r„   r¶   rÄ   s        r   Ú page_replace_metrics_access_userz+StatusPage.page_replace_metrics_access_userµ  s3   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ(ÐSˆØ�y‰y˜ L°*Ð#=ˆyÓ>Ð>r   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a–  
        Delete metrics for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        metric_ids : list[str]
            List of metrics to remove

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessUsersPageAccessUserIdMetrics
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   rÀ   rÃ   r„   r«   rÄ   s        r   Úpage_delete_metrics_access_userz*StatusPage.page_delete_metrics_access_userÓ  s3   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ(ÐSˆØ�{‰{˜3 l°JÐ%?ˆ{Ó@Ð@r   c                 ó:   — d|› d|› d|› �}| j                  |«      S )a›  
        Delete metric for page access user

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_user_id : str
            Page Access User Identifier
        metric_id : str
            Identifier of metric requested

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessUsersPageAccessUserIdMetricsMetricId
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¢   ú	/metrics/r«   )rt   r€   r¤   Ú	metric_idr{   s        r   Úpage_delete_metric_access_userz)StatusPage.page_delete_metric_access_userñ  s0   € ð6 ˜'˜Ð"5Ð6IÐ5JÈ)ÐT]ÐS^Ð_ˆØ�{‰{˜3ÓÐr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )at  
        Get a list of page access groups

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessGroups

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/page_access_groupsr‹   r�   ry   ©rt   r€   rƒ   rŒ   r{   s        r   Úpage_get_access_groupsz!StatusPage.page_get_access_groups  s+   € ð4 ˜'˜Ð"5Ð6ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó4   — d|› d|› �}| j                  |«      S )a*  
        Get a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessGroupsPageAccessGroupId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/page_access_groups/ry   ©rt   r€   Úpage_access_group_idr{   s       r   Úpage_get_access_groupz StatusPage.page_get_access_group,  s'   € ð0 ˜'˜Ð"6Ð7KÐ6LÐMˆØ�x‰x˜‹}Ðr   c           
      óD   — d|› d�}| j                  |d|||||dœi¬«      S )aÁ  
        Create a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        name : str
            Name for this Group
        external_identifier : str
            Associates group with external group
        component_ids : list[str]
        metric_ids : list[str]
        page_access_user_ids : list[str]

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdPageAccessGroups

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÏ   Úpage_access_group©ÚnameÚexternal_identifierr²   rÃ   Úpage_access_user_idsr„   r¶   )rt   r€   rÚ   rÛ   r²   rÃ   rÜ   r{   s           r   Úpage_create_access_groupz#StatusPage.page_create_access_groupG  sH   € ð> ˜'˜Ð"5Ð6ˆØ�y‰yØà#Ø Ø+>Ø%2Ø",Ø,@ñ&ðð ó 
ð 	
r   c           
      óH   — d|› d|› �}| j                  |d|||||dœi¬«      S )a  
        Update a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier
        name : str
            Name for this Group
        external_identifier : str
            Associates group with external group
        component_ids : list[str]
        metric_ids : list[str]
        page_access_user_ids : list[str]

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdPageAccessGroupsPageAccessGroupId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   rØ   rÙ   r„   r†   )	rt   r€   rÕ   rÚ   rÛ   r²   rÃ   rÜ   r{   s	            r   Úpage_replace_access_groupz$StatusPage.page_replace_access_groupt  sO   € ðB ˜'˜Ð"6Ð7KÐ6LÐMˆØ�z‰zØà#Ø Ø+>Ø%2Ø",Ø,@ñ&ðð ó 
ð 	
r   c                 ó4   — d|› d|› �}| j                  |«      S )aE  
        Remove a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessGroupsPageAccessGroupId
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   r«   rÔ   s       r   Úpage_delete_access_groupz#StatusPage.page_delete_access_group£  s(   € ð2 ˜'˜Ð"6Ð7KÐ6LÐMˆØ�{‰{˜3ÓÐr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )ai  
        Add components to page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier
        component_ids : list[str]
            List of Component identifiers

        Notes
        -----
        See available fields: https://developer.statuspage.io/#tag/page-access-group-components

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   r¯   r²   r„   r†   ©rt   r€   rÕ   r²   r{   s        r   Ú#page_add_components_to_access_groupz.StatusPage.page_add_components_to_access_group¿  s3   € ð4 ˜'˜Ð"6Ð7KÐ6LÈKÐXˆØ�z‰z˜# _°mÐ$DˆzÓEÐEr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )aÄ  
        Replace components for a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier
        component_ids : list[str]
            List of components codes to set on the page access group

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdPageAccessGroupsPageAccessGroupIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   r¯   r²   r„   r¶   rã   s        r   Ú'page_replace_components_for_access_pagez2StatusPage.page_replace_components_for_access_pageÜ  s3   € ð6 ˜'˜Ð"6Ð7KÐ6LÈKÐXˆØ�y‰y˜ O°]Ð#CˆyÓDÐDr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )aª  
        Delete components for a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier
        component_ids : list[str]
            List of Component identifiers

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessGroupsPageAccessGroupIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   r¯   r²   r„   r«   rã   s        r   Ú&page_delete_components_for_access_pagez1StatusPage.page_delete_components_for_access_pageú  s3   € ð6 ˜'˜Ð"6Ð7KÐ6LÈKÐXˆØ�{‰{˜3 o°}Ð%Eˆ{ÓFÐFr   c                 ó:   — d|› d|› d|› �}| j                  |«      S )a§  
        Remove a component from a page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier
        component_id : str
            Component identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdPageAccessGroupsPageAccessGroupIdComponentsComponentId
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   r¼   r«   )rt   r€   rÕ   r½   r{   s        r   Ú%page_delete_component_for_access_pagez0StatusPage.page_delete_component_for_access_page  s0   € ð6 ˜'˜Ð"6Ð7KÐ6LÈLÐYeÐXfÐgˆØ�{‰{˜3ÓÐr   c                 ó@   — d|› d|› d�}| j                  |||dœ¬«      S )aó  
        Add components to page access group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page_access_group_id : str
            Page Access Group Identifier
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdPageAccessGroupsPageAccessGroupIdComponents
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rÓ   r¯   r‹   r�   ry   )rt   r€   rÕ   rƒ   rŒ   r{   s         r   Ú$page_get_components_for_access_groupz/StatusPage.page_get_components_for_access_group6  s3   € ð: ˜'˜Ð"6Ð7KÐ6LÈKÐXˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó4   — d|› d|› �}| j                  |«      S )a  
        Get a subscriber

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_id : str
            Subscriber identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdSubscribersSubscriberId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/subscribers/ry   ©rt   r€   Úsubscriber_idr{   s       r   Úpage_get_subscriberzStatusPage.page_get_subscriberV  s$   € ð0 ˜'˜ -°¨Ð?ˆØ�x‰x˜‹}Ðr   c                 óº   — d|› d�}i }|r0d|v r|d   |d<   d|v r|d   |d<   d|v r|d   |d<   d|v r|d   |d<   ||d	<   ||d
<   ||d<   | j                  ||¬«      S )a�  
        Get all subscribers

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.
        search_by : dict[str, any]
            What to search by.

            "q" : str
            If this is specified, search the contact information (email, endpoint, or phone number)
            for the provided value. This parameter doesn't support searching for Slack subscribers.

            "subscriber_type" : SubscriberType
            If this is specified, only return subscribers of the specified type.

            "subscriber_state" : SubscriberState
            If this is specified, only return subscribers of the specified state.
            Specify state "all" to find subscribers in any states.

            "sort_field" : SortField
            The field on which to sort the results.

        sort_direction : SortOrder
            The direction in which to sort the results.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdSubscribers

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/subscribersÚqÚsubscriber_typeÚtypeÚsubscriber_stateÚstateÚ
sort_fieldÚsort_directionrƒ   rŒ   r�   ry   )rt   r€   Ú	search_byrú   rƒ   rŒ   r{   rŽ   s           r   Úpage_get_subscriberszStatusPage.page_get_subscribersq  s¦   € ðZ ˜'˜ ,Ð/ˆàˆáØ�iÑØ'¨™n��s‘Ø  IÑ-Ø!*Ð+<Ñ!=��v‘Ø! YÑ.Ø"+Ð,>Ñ"?��w‘Ø˜yÑ(Ø'0°Ñ'>��|Ñ$à#1ˆÐÑ Øˆˆv‰Ø%ˆˆzÑà�x‰x˜ FˆxÓ+Ð+r   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )a™  
        Update a subscriber

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_id : str
            Subscriber identifier
        component_ids : list[str]
            A list of component ids for which the subscriber should receive updates for.
            Components must be an array with at least one element if it is passed at all.
            Each component must belong to the page indicated in the path.
            To set the subscriber to be subscribed to all components on the page, exclude this parameter.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdSubscribersSubscriberId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rî   r²   r„   r†   )rt   r€   rð   r²   r{   s        r   Úpage_update_subscriberz!StatusPage.page_update_subscriber²  s.   € ð: ˜'˜ -°¨Ð?ˆØ�z‰z˜# _°mÐ$DˆzÓEÐEr   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )a®  
        Unsubscribe a subscriber

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_id : str
            Subscriber identifier
        skip_unsubscription_notifications : bool
            If true, the subscriber will not receive an email notification when they are unsubscribed.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdSubscribersSubscriberId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rî   Ú!skip_unsubscription_notificationsr�   r«   )rt   r€   rð   r   r{   s        r   Úpage_unsubscribe_subscriberz&StatusPage.page_unsubscribe_subscriberÒ  s0   € ð4 ˜'˜ -°¨Ð?ˆØ�{‰{˜3Ð(KÐMnÐ'oˆ{ÓpÐpr   c                 ó6   — d|› d|› d�}| j                  |«      S )aL  
        Resend confirmation email to a subscriber

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_id : str
            Subscriber identifier

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdSubscribersSubscriberIdResendConfirmation
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   rî   ú/resend_confirmationr¶   rï   s       r   Ú$page_resend_confirmation_subscribersz/StatusPage.page_resend_confirmation_subscribersï  s'   € ð2 ˜'˜ -°¨Ð>RÐSˆØ�y‰y˜‹~Ðr   c                 ó8   — d|› d�}| j                  |d|i¬«      S )a¼  
        Create a subscriber

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber : dict[str, any]
            Subscriber object. You can specify email, endpoint, phone_country, phone_number,
            skip_confirmation_notification, page_access_user and component_ids. Check notes for all available fields.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdSubscribers

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ró   Ú
subscriberr„   r¶   )rt   r€   r  r{   s       r   Úpage_create_subscriberz!StatusPage.page_create_subscriber  s*   € ð2 ˜'˜ ,Ð/ˆØ�y‰y˜ L°*Ð#=ˆyÓ>Ð>r   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )a�  
        Get a list of unsubscribed subscribers

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            Page offset to fetch. Defaults to 1.
        per_page : int
            Number of results to return per page. Defaults to 100.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdSubscribersUnsubscribed

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/unsubscribedr‹   r�   ry   rÐ   s        r   Úpage_get_list_unsubscribedz%StatusPage.page_get_list_unsubscribed'  s*   € ð4 ˜'˜ -Ð0ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )a	  
        Count subscribers by type

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_type : SubscriberType
            If this is specified, only return subscribers of the specified type.
        subscriber_state : SubscriberState
            If this is specified, only return subscribers of the specified state.
            Specify state "all" to find subscribers in any states.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdSubscribersCount

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/subscribers/count)rö   rø   r�   ry   )rt   r€   rõ   r÷   r{   s        r   Úpage_count_subscribers_by_typez)StatusPage.page_count_subscribers_by_typeD  s,   € ð6 ˜'˜Ð"4Ð5ˆØ�x‰x˜¨_ÐGWÑ$XˆxÓYÐYr   c                 ó0   — d|› d�}| j                  |«      S )aê  
        Get a histogram of subscribers with state

        Parameters
        ----------
        page_id : str
            Your page unique ID

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdSubscribersHistogramByState

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/subscribers/histogramry   r   s      r   Ú,page_get_histogram_of_subscribers_with_statez7StatusPage.page_get_histogram_of_subscribers_with_stateb  s!   € ð, ˜'˜Ð"8Ð9ˆØ�x‰x˜‹}Ðr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )a²  
        Reactivate a list of quarantined subscribers

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_ids : list[str]
            A list of subscriber ids to reactivate.
        subscriber_type : SubscriberType
            If this is present, only reactivate subscribers of this type.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdSubscribersReactivate

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/subscribers/reactivate)Úsubscribersrö   r„   r¶   )rt   r€   Úsubscriber_idsrõ   r{   s        r   Úpage_reactivate_subscribersz&StatusPage.page_reactivate_subscribers{  s+   € ð4 ˜'˜Ð"9Ð:ˆØ�y‰y˜°>È?Ñ#[ˆyÓ\Ð\r   c                 ó<   — d|› d�}| j                  ||||dœ¬«      S )a´  
        Unsubscribe a list of subscribers

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_ids : str | list[str]
            The array of subscriber codes to unsubscribe (limited to 100),
            or "all" to unsubscribe all subscribers if the number of subscribers is less than 100.
        subscriber_type : SubscriberType
            If this is present, only unsubscribe subscribers of this type.
        skip_unsubscription_notification : bool
            If this is true, do not send an unsubscription notification to the subscriber.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdSubscribersUnsubscribe

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/subscribers/unsubscribe)r  rö   Ú skip_unsubscription_notificationr„   r¶   )rt   r€   r  rõ   r  r{   s         r   Úpage_unsubscribe_subscribersz'StatusPage.page_unsubscribe_subscribers˜  s:   € ð> ˜'˜Ð":Ð;ˆØ�y‰yØà-Ø'Ø4Tñð ó 
ð 	
r   c                 ó8   — d|› d�}| j                  |d|i¬«      S )a÷  
        Resend confirmation emails to a list of subscribers

        Parameters
        ----------
        page_id : str
            Your page unique ID
        subscriber_ids : str | list[str]
            The array of subscriber codes to resend confirmations for,
            or "all" to resend confirmations to all subscribers.
            Only unconfirmed email subscribers will receive this notification.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdSubscribersResendConfirmation

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z /subscribers/resend_confirmationr  r„   r¶   )rt   r€   r  r{   s       r   Ú(page_resend_confirmations_to_subscribersz3StatusPage.page_resend_confirmations_to_subscribersÁ  s+   € ð4 ˜'˜Ð"BÐCˆØ�y‰y˜ M°>Ð#BˆyÓCÐCr   c                 ó8   — d|› d�}| j                  |d|i¬«      S )aH  
        Create a template. "name", "title" and "body" is required in the template.

        Parameters
        ----------
        page_id : str
            Your page unique ID
        template : dict[str, any]
            The template to create

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdIncidentTemplates


        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/incident_templatesÚtemplater„   r¶   )rt   r€   r  r{   s       r   Úpage_create_templatezStatusPage.page_create_templateÞ  s+   € ð2 ˜'˜Ð"5Ð6ˆØ�y‰y˜ J°Ð#9ˆyÓ:Ð:r   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )a>  
        Get a list of templates

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of templates to return per page. Defaults to 100.
            If this is set to 0, a default and maximum limit of 100
            will be imposed and this endpoint will return paginated data
            even if this query parameter is not provided.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentTemplates

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r  r‹   r�   ry   rÐ   s        r   Úpage_get_templateszStatusPage.page_get_templatesú  ó+   € ð: ˜'˜Ð"5Ð6ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó8   — d|› d�}| j                  |d|i¬«      S )a,  
        Create an incident. "name" is required in the incident.

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident : dict[str, any]
            The incident to create

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdIncidents

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú
/incidentsÚincidentr„   r¶   )rt   r€   r   r{   s       r   Úpage_create_incidentzStatusPage.page_create_incident  s*   € ð0 ˜'˜ *Ð-ˆØ�y‰y˜ J°Ð#9ˆyÓ:Ð:r   c                 ó<   — d|› d�}| j                  ||||dœ¬«      S )a  
        Get a list of incidents

        Parameters
        ----------
        page_id : str
            Your page unique ID
        q : str
            The search query to filter incidents by. If this is specified, search for the text query string in
            the incident's name, status, postmortem_body, and incident_updates fields.
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of incidents to return per page. Defaults to 100.
            If this is set to 0, a default and maximum limit of 100
            will be imposed and this endpoint will return paginated data
            even if this query parameter is not provided.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidents

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r  )rô   rƒ   rŒ   r�   ry   )rt   r€   rô   rƒ   rŒ   r{   s         r   Úpage_list_incidentszStatusPage.page_list_incidents5  s-   € ð@ ˜'˜ *Ð-ˆØ�x‰x˜¨!°TÀxÑ$PˆxÓQÐQr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )aT  
        Get a list of active maintenances

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of maintenances to return per page. Defaults to 100.
            If this is set to 0, a default and maximum limit of 100
            will be imposed and this endpoint will return paginated data
            even if this query parameter is not provided.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsActiveMaintenance

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/incidents/active_maintenancer‹   r�   ry   rÐ   s        r   Úpage_list_active_maintenancesz(StatusPage.page_list_active_maintenancesX  s+   € ð: ˜'˜Ð"?Ð@ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )aG  
        Get a list of upcoming incidents

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of incidents to return per page. Defaults to 100.
            If this is set to 0, a default and maximum limit of 100
            will be imposed and this endpoint will return paginated data
            even if this query parameter is not provided.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsUpcoming

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/incidents/upcomingr‹   r�   ry   rÐ   s        r   Úpage_list_upcoming_incidentsz'StatusPage.page_list_upcoming_incidentsx  r  r   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )aI  
        Get a list of scheduled incidents

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of incidents to return per page. Defaults to 100.
            If this is set to 0, a default and maximum limit of 100
            will be imposed and this endpoint will return paginated data
            even if this query parameter is not provided.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsScheduled

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/incidents/scheduledr‹   r�   ry   rÐ   s        r   Úpage_list_scheduled_incidentsz(StatusPage.page_list_scheduled_incidents˜  s+   € ð: ˜'˜Ð"6Ð7ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )aK  
        Get a list of unresolved incidents

        Parameters
        ----------
        page_id : str
            Your page unique ID
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of incidents to return per page. Defaults to 100.
            If this is set to 0, a default and maximum limit of 100
            will be imposed and this endpoint will return paginated data
            even if this query parameter is not provided.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsUnresolved

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   z/incidents/unresolvedr‹   r�   ry   rÐ   s        r   Úpage_list_unresolved_incidentsz)StatusPage.page_list_unresolved_incidents¸  s+   € ð: ˜'˜Ð"7Ð8ˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó4   — d|› d|› �}| j                  |«      S )a€  
        Delete an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   ú/incidents/r«   ©rt   r€   Úincident_idr{   s       r   Úpage_delete_incidentzStatusPage.page_delete_incidentØ  s%   € ð( ˜'˜ +¨k¨]Ð;ˆØ�{‰{˜3ÓÐr   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )aT  
        Update an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        incident : dict[str, any]
            The incident data to update

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdIncidentsIncidentId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  r   r„   r†   )rt   r€   r/  r   r{   s        r   Úpage_update_incidentzStatusPage.page_update_incidentï  s.   € ð4 ˜'˜ +¨k¨]Ð;ˆØ�z‰z˜# Z°Ð$:ˆzÓ;Ð;r   c                 ó4   — d|› d|› �}| j                  |«      S )a  
        Get an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsIncidentId

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  ry   r.  s       r   Úpage_get_incidentzStatusPage.page_get_incident  s$   € ð0 ˜'˜ +¨k¨]Ð;ˆØ�x‰x˜‹}Ðr   c                 óB   — d|› d|› d|› �}| j                  |d|i¬«      S )að  
        Update a previous incident update

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        incident_update_id : str
            The incident update unique ID
        incident_update : dict[str, any]
            The incident update data to update

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdIncidentsIncidentIdIncidentUpdatesIncidentUpdateId
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  z/incidents_update/Úincident_updater„   r†   )rt   r€   r/  Úincident_update_idr6  r{   s         r   Úpage_update_incident_updatesz'StatusPage.page_update_incident_updates'  s8   € ð: ˜'˜ +¨k¨]Ð:LÐM_ÐL`ÐaˆØ�z‰z˜#Ð%6¸Ð$HˆzÓIÐIr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )as  
        Create a subscriber for an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        subscriber : dict[str, any]
            The subscriber data to create

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdIncidentsIncidentIdSubscribers

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  ró   r  r„   r¶   )rt   r€   r/  r  r{   s        r   Úpage_create_incident_subscriberz*StatusPage.page_create_incident_subscriberG  s0   € ð4 ˜'˜ +¨k¨]¸,ÐGˆØ�y‰y˜ L°*Ð#=ˆyÓ>Ð>r   c                 ó@   — d|› d|› d�}| j                  |||dœ¬«      S )aÕ  
        Get a list of subscribers for an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        page : int
            The page offset to return. Defaults to 1.
        per_page : int
            The number of subscribers to return per page. Defaults to 100.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsIncidentIdSubscribers

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  ró   r‹   r�   ry   )rt   r€   r/  rƒ   rŒ   r{   s         r   Úpage_list_incident_subscribersz)StatusPage.page_list_incident_subscribersd  s0   € ð8 ˜'˜ +¨k¨]¸,ÐGˆØ�x‰x˜¨T¸xÑ$HˆxÓIÐIr   c                 ó:   — d|› d|› d|› �}| j                  |«      S )aØ  
        Unsubscribe a subscriber from an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        subscriber_id : str
            The subscriber unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  rî   r«   ©rt   r€   r/  rð   r{   s        r   Ú$page_unsubscribe_incident_subscriberz/StatusPage.page_unsubscribe_incident_subscriberƒ  s+   € ð, ˜'˜ +¨k¨]¸-ÈÀÐWˆØ�{‰{˜3ÓÐr   c                 ó:   — d|› d|› d|› �}| j                  |«      S )aƒ  
        Get a subscriber for an incident

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        subscriber_id : str
            The subscriber unique ID

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsIncidentIdSubscribersSubscriberId
        # noqa: E501

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  rî   ry   r>  s        r   Úpage_get_incident_subscriberz'StatusPage.page_get_incident_subscriberœ  s*   € ð6 ˜'˜ +¨k¨]¸-ÈÀÐWˆØ�x‰x˜‹}Ðr   c                 ó<   — d|› d|› d|› d�}| j                  |«      S )a  
        Resend the confirmation email for a subscriber

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        subscriber_id : str
            The subscriber unique ID

        Warnings
        --------
        Only returns 201 code

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  rî   r  r¶   r>  s        r   Ú,page_resend_confirmation_incident_subscriberz7StatusPage.page_resend_confirmation_incident_subscriberº  s-   € ð4 ˜'˜ +¨k¨]¸-ÈÀÐVjÐkˆØ�y‰y˜‹~Ðr   c                 ó6   — d|› d|› d�}| j                  |«      S )a  
        Get a postmortem

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdIncidentsIncidentIdPostmortem

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  ú/postmortemry   r.  s       r   Úpage_get_postmortemzStatusPage.page_get_postmortem×  s&   € ð0 ˜'˜ +¨k¨]¸+ÐFˆØ�x‰x˜‹}Ðr   c                 óB   — d|› d|› d�}| j                  |dd|ii¬«      S )aV  
        Create a postmortem

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        postmortem : str
            Body of Postmortem to create.

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdIncidentsIncidentIdPostmortem

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r-  rE  Ú
postmortemÚ
body_draftr„   r¶   ©rt   r€   r/  rH  r{   s        r   Úpage_create_postmortemz!StatusPage.page_create_postmortemò  s5   € ð4 ˜'˜ +¨k¨]¸+ÐFˆØ�y‰y˜ L°<ÀÐ2LÐ#MˆyÓNÐNr   c                 ó6   — d|› d|› d�}| j                  |«      S )a  
        Delete a postmortem

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdIncidentsIncidentIdPostmortem

        Returns
        -------
        any
        r~   r-  rE  r«   r.  s       r   Úpage_delete_postmortemz!StatusPage.page_delete_postmortem  s'   € ð0 ˜'˜ +¨k¨]¸+ÐFˆØ�{‰{˜3ÓÐr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a×  
        Publish a postmortem

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID
        postmortem : dict[str, any]
            Body of Postmortem to publish
            Available fields: "notify_twitter", "notify_subscribers", and "custom_tweet"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdIncidentsIncidentIdPostmortemPublish
        # noqa: E501

        Returns
        -------
        any
        r~   r-  z/postmortem/publishrH  r„   r¶   rJ  s        r   Úpage_publish_postmortemz"StatusPage.page_publish_postmortem*  s1   € ð8 ˜'˜ +¨k¨]Ð:MÐNˆØ�y‰y˜ L°*Ð#=ˆyÓ>Ð>r   c                 ó6   — d|› d|› d�}| j                  |«      S )a.  
        Revert a postmortem

        Parameters
        ----------
        page_id : str
            Your page unique ID
        incident_id : str
            The incident unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/putPagesPageIdIncidentsIncidentIdPostmortemRevert
        # noqa: E501

        Returns
        -------
        any
        r~   r-  z/postmortem/revertr¶   r.  s       r   Úpage_revert_postmortemz!StatusPage.page_revert_postmortemI  s'   € ð2 ˜'˜ +¨k¨]Ð:LÐMˆØ�y‰y˜‹~Ðr   c                 ó8   — d|› d�}| j                  |d|i¬«      S )a—  
        Create a component

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component : dict[str, any]
            The component to create
            Available fields: "name", "description", "status", "group_id", "showcase", "only_show_if_degraded",
            and "start_date"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdComponents

        Returns
        -------
        any
        r~   r¯   Ú	componentr„   r¶   )rt   r€   rS  r{   s       r   Úpage_create_componentz StatusPage.page_create_componente  s*   € ð4 ˜'˜ +Ð.ˆØ�y‰y˜ K°Ð#;ˆyÓ<Ð<r   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )ab  
        Get all components

        Parameters
        ----------
        page_id : str
            Your page unique ID
        per_page : int
            Number of components to return per page (default is 100)
        page : int
            Page number to return (default is 1)

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdComponents

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r¯   ©rŒ   rƒ   r�   ry   ©rt   r€   rŒ   rƒ   r{   s        r   Úpage_get_componentszStatusPage.page_get_components‚  s*   € ð4 ˜'˜ +Ð.ˆØ�x‰x˜°À4Ñ$HˆxÓIÐIr   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )aS  
        Update a component

        Warnings
        --------
        If "group_id" is Null then the component will be removed from a group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID
        component : dict[str, any]
            The component to update
            Available fields: "name", "description", "status", "group_id", "showcase", "only_show_if_degraded",
            and "start_date"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdComponentsComponentId

        Returns
        -------
        any
        r~   r¼   rS  r„   r†   )rt   r€   r½   rS  r{   s        r   Úpage_update_componentz StatusPage.page_update_componentŸ  s/   € ð@ ˜'˜ ,¨|¨nÐ=ˆØ�z‰z˜# [°)Ð$<ˆzÓ=Ð=r   c                 ó4   — d|› d|› �}| j                  |«      S )a  
        Delete a component

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdComponentsComponentId

        Returns
        -------
        any
        r~   r¼   r«   ©rt   r€   r½   r{   s       r   Úpage_delete_componentz StatusPage.page_delete_componentÂ  s%   € ð0 ˜'˜ ,¨|¨nÐ=ˆØ�{‰{˜3ÓÐr   c                 ó4   — d|› d|› �}| j                  |«      S )a	  
        Get a component

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdComponentsComponentId

        Returns
        -------
        any
        r~   r¼   ry   r\  s       r   Úpage_get_componentzStatusPage.page_get_componentÝ  s$   € ð0 ˜'˜ ,¨|¨nÐ=ˆØ�x‰x˜‹}Ðr   c                 óZ   — d|› d|› d�}i }|�||d<   |�||d<   | j                  ||¬«      S )aš  
        Get a component's uptime

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID
        start : str
            The start date for uptime calculation
            (defaults to the component's start_date field or 90 days ago, whichever is more recent).
            The maximum supported date range is six calendar months.
            If the year is given, the date defaults to the first day of the year.
            If the year and month are given, the start date defaults to the first day of that month.
            The earliest supported date is January 1, 1970.
        end : str
            The end date for uptime calculation (defaults to today in the page's time zone).
            The maximum supported date range is six calendar months.
            If the year is given, the date defaults to the last day of the year.
            If the year and month are given, the date defaults to the last day of that month.
            The earliest supported date is January 1, 1970.

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdComponentsComponentIdUptime

        Returns
        -------
        any
        r~   r¼   ú/uptimeÚstartÚendr�   ry   )rt   r€   r½   rb  rc  r{   rŽ   s          r   Úpage_get_uptime_componentz$StatusPage.page_get_uptime_componentø  sN   € ðJ ˜'˜ ,¨|¨n¸GÐDˆàˆØÐØ#ˆF�7‰OØˆ?ØˆF�5‰Mà�x‰x˜ FˆxÓ+Ð+r   c                 ó6   — d|› d|› d�}| j                  |«      S )aE  
        Remove access users from a component

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdComponentsComponentIdPageAccessUsers
        # noqa: E501

        Returns
        -------
        any
        r~   r¼   rŸ   r«   r\  s       r   Ú'page_remove_access_users_from_componentz2StatusPage.page_remove_access_users_from_component'	  s(   € ð2 ˜'˜ ,¨|¨nÐ<NÐOˆØ�{‰{˜3ÓÐr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a„  
        Add access users to a component

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID
        page_access_user_ids : list[str]
            The users to add

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdComponentsComponentIdPageAccessUsers
        # noqa: E501

        Returns
        -------
        any
        r~   r¼   rŸ   rÜ   r„   r¶   )rt   r€   r½   rÜ   r{   s        r   Ú"page_add_access_users_to_componentz-StatusPage.page_add_access_users_to_componentC	  s3   € ð6 ˜'˜ ,¨|¨nÐ<NÐOˆØ�y‰y˜Ð$:Ð<PÐ#QˆyÓRÐRr   c                 ó6   — d|› d|› d�}| j                  |«      S )aB  
        Remove access users from a group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdComponentsComponentIdPageAccessGroups
        # noqa: E501

        Returns
        -------
        any
        r~   r¼   rÏ   r«   r\  s       r   Ú#page_remove_access_users_from_groupz.StatusPage.page_remove_access_users_from_groupa	  s(   € ð2 ˜'˜ ,¨|¨nÐ<OÐPˆØ�{‰{˜3ÓÐr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a�  
        Add page access groups to a component

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_id : str
            The component unique ID
        page_access_group_ids : list[str]
            The groups to add

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdComponentsComponentIdPageAccessGroups
        # noqa: E501

        Returns
        -------
        any
        r~   r¼   rÏ   r¨   r„   r¶   )rt   r€   r½   r¨   r{   s        r   Úpage_add_access_users_to_groupz)StatusPage.page_add_access_users_to_group}	  s3   € ð6 ˜'˜ ,¨|¨nÐ<OÐPˆØ�y‰y˜Ð$;Ð=RÐ#SˆyÓTÐTr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )aº  
        Create a component group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        description : str
            The description of the component group
        components_group : dick[str, any]
            The components to add to the group
            Available fields: "components" (array of strings), "name"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdComponentGroups

        Returns
        -------
        any
        r~   ú/component_groups)ÚdescriptionÚcomponents_groupr„   r¶   )rt   r€   ro  rp  r{   s        r   Úpage_create_component_groupz&StatusPage.page_create_component_group›	  s,   € ð6 ˜'˜Ð"3Ð4ˆØ�y‰y˜°;ÐTdÑ#eˆyÓfÐfr   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )as  
        Get a list of component groups

        Parameters
        ----------
        page_id : str
            Your page unique ID
        per_page : int
            The number of results to return per page (defaults to 100)
        page : int
            The page to return (defaults to 1)

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdComponentGroups

        Returns
        -------
        any
        r~   rn  rV  r�   ry   rW  s        r   Ú!page_get_list_of_component_groupsz,StatusPage.page_get_list_of_component_groups¹	  s+   € ð4 ˜'˜Ð"3Ð4ˆØ�x‰x˜°À4Ñ$HˆxÓIÐIr   c                 ó>   — d|› d|› �}| j                  |||dœ¬«      S )aú  
        Update a component group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_group_id : str
            Component group identifier
        description : str
            The description of the component group
        component_group : dict[str, any]
            The components to update
            Available fields: "name", "components" (array of strings)

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdComponentGroupsId

        Returns
        -------
        any
        r~   ú/component_groups/)ro  Úcomponent_groupr„   r†   )rt   r€   Úcomponent_group_idro  rv  r{   s         r   Úpage_update_component_groupz&StatusPage.page_update_component_groupÖ	  s2   € ð: ˜'˜Ð"4Ð5GÐ4HÐIˆØ�z‰z˜#°KÐTcÑ$dˆzÓeÐer   c                 ó4   — d|› d|› �}| j                  |«      S )a  
        Delete a component group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_group_id : str
            Component group identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdComponentGroupsId

        Returns
        -------
        any
        r~   ru  r«   ©rt   r€   rw  r{   s       r   Úpage_delete_component_groupz&StatusPage.page_delete_component_groupö	  s(   € ð0 ˜'˜Ð"4Ð5GÐ4HÐIˆØ�{‰{˜3ÓÐr   c                 ó4   — d|› d|› �}| j                  |«      S )a  
        Get a component group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_group_id : str
            Component group identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdComponentGroupsId

        Returns
        -------
        any
        r~   ru  ry   rz  s       r   Úpage_get_component_groupz#StatusPage.page_get_component_group
  s'   € ð0 ˜'˜Ð"4Ð5GÐ4HÐIˆØ�x‰x˜‹}Ðr   c                 óZ   — d|› d|› d�}i }|�||d<   |�||d<   | j                  ||¬«      S )a×  
        Get uptime for a component group

        Parameters
        ----------
        page_id : str
            Your page unique ID
        component_group_id : str
            Component group identifier
        start : str
            The start date for uptime calculation
            (defaults to the date of the component in the group with the earliest start_date,
            or 90 days ago, whichever is more recent).
            The maximum supported date range is six calendar months.
            If the year is given, the date defaults to the first day of the year.
            If the year and month are given, the start date defaults to the first day of that month.
            The earliest supported date is January 1, 1970.
        end : str
            The end date for uptime calculation (defaults to today in the page's time zone).
            The maximum supported date range is six calendar months.
            If the year is given, the date defaults to the last day of the year.
            If the year and month are given, the date defaults to the last day of that month.
            The earliest supported date is January 1, 1970.

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdComponentGroupsIdUptime

        Returns
        -------
        any
        r~   ru  ra  rb  rc  r�   ry   )rt   r€   rw  rb  rc  r{   rŽ   s          r   Ú#page_get_uptime_for_component_groupz.StatusPage.page_get_uptime_for_component_group,
  sQ   € ðL ˜'˜Ð"4Ð5GÐ4HÈÐPˆàˆØÐØ#ˆF�7‰OØˆ?ØˆF�5‰Mà�x‰x˜ FˆxÓ+Ð+r   c                 ó8   — d|› d�}| j                  |d|i¬«      S )a¦  
        Add data points to a metric

        Parameters
        ----------
        page_id : str
            Your page unique ID
        data : dict[str, any]
            The data points to add
            Requires "metric_id", which specifies identifier to add data to
            In "metric_id" you should have array of "timestamp" and "value"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdMetricsData

        Returns
        -------
        any
        r~   z/metrics/datar…   r„   r¶   )rt   r€   r…   r{   s       r   Úpage_add_data_points_to_metricz)StatusPage.page_add_data_points_to_metric\
  s)   € ð4 ˜'˜ -Ð0ˆØ�y‰y˜ F¨D >ˆyÓ2Ð2r   c                 ó:   — d|› d�}| j                  |||dœ¬«      S )ab  
        Get a list of metrics

        Parameters
        ----------
        page_id : str
            Your page unique ID
        per_page : int
            The number of results to return per page (defaults to 100)
        page : int
            The page to return (defaults to 1)

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdMetrics

        Returns
        -------
        any
        r~   rÀ   rV  r�   ry   rW  s        r   Úpage_get_list_of_metricsz#StatusPage.page_get_list_of_metricsy
  s*   € ð4 ˜'˜ (Ð+ˆØ�x‰x˜°À4Ñ$HˆxÓIÐIr   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )a  
        Update a metric

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_id : str
            Metric identifier
        metric : dict[str, any]
            The metric to update

            Available fields in metric: "name", "metric_identifier"
            "name" - Name of metric,
            "metric_identifier" - Metric Display identifier used to look up the metric data from the provider

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdMetricsMetricId

        Returns
        -------
        any
        r~   rË   Úmetricr„   r†   ©rt   r€   rÌ   r…  r{   s        r   Úpage_update_metriczStatusPage.page_update_metric–
  ó.   € ð< ˜'˜ )¨I¨;Ð7ˆØ�z‰z˜# X¨vÐ$6ˆzÓ7Ð7r   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )a  
        Update metric data

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_id : str
            Metric identifier
        metric : dict[str, any]
            The metric to update

            Available fields in metric: "name", "metric_identifier"
            "name" - Name of metric,
            "metric_identifier" - Metric Display identifier used to look up the metric data from the provider

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/patchPagesPageIdMetricsMetricId

        Returns
        -------
        any
        r~   rË   r…  r„   r†   r†  s        r   Úpage_update_metric_dataz"StatusPage.page_update_metric_data·
  rˆ  r   c                 ó4   — d|› d|› �}| j                  |«      S )aý  
        Delete a metric

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_id : str
            Metric identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdMetricsMetricId

        Returns
        -------
        any
        r~   rË   r«   ©rt   r€   rÌ   r{   s       r   Úpage_delete_metriczStatusPage.page_delete_metricØ
  s%   € ð0 ˜'˜ )¨I¨;Ð7ˆØ�{‰{˜3ÓÐr   c                 ó4   — d|› d|› �}| j                  |«      S )a÷  
        Get a metric

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_id : str
            Metric identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdMetricsMetricId

        Returns
        -------
        any
        r~   rË   ry   rŒ  s       r   Úpage_get_metriczStatusPage.page_get_metricó
  s$   € ð0 ˜'˜ )¨I¨;Ð7ˆØ�x‰x˜‹}Ðr   c                 ó6   — d|› d|› d�}| j                  |«      S )a	  
        Reset data for a metric

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_id : str
            Metric identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/deletePagesPageIdMetricsMetricIdData

        Returns
        -------
        any
        r~   rË   ú/datar«   rŒ  s       r   Úpage_reset_data_for_metricz%StatusPage.page_reset_data_for_metric  s'   € ð0 ˜'˜ )¨I¨;°eÐ<ˆØ�{‰{˜3ÓÐr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )al  
        Add data to a metric

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_id : str
            Metric identifier
        data : dict[str, any]
            The data to add

            Requires "timestamp" and "value"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdMetricsMetricIdData

        Returns
        -------
        any
        r~   rË   r‘  r…   r„   r¶   )rt   r€   rÌ   r…   r{   s        r   Úpage_add_data_to_metricz"StatusPage.page_add_data_to_metric)  s/   € ð8 ˜'˜ )¨I¨;°eÐ<ˆØ�y‰y˜ F¨D >ˆyÓ2Ð2r   c                 ó@   — d|› d|› d�}| j                  |||dœ¬«      S )aí  
        List metrics for a metric provider

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_provider_id : str
            Metric provider identifier
        per_page : int
            The number of results to return per page (defaults to 100)
        page : int
            The page to return (defaults to 1)

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdMetricsProvidersMetricsProviderIdMetrics
        # noqa: E501

        Returns
        -------
        any
        r~   ú/metrics_providers/rÀ   rV  r�   ry   )rt   r€   Úmetric_provider_idrŒ   rƒ   r{   s         r   Ú$page_list_metric_for_metric_providerz/StatusPage.page_list_metric_for_metric_providerH  s3   € ð: ˜'˜Ð"5Ð6HÐ5IÈÐRˆØ�x‰x˜°À4Ñ$HˆxÓIÐIr   c                 ó>   — d|› d|› d�}| j                  |d|i¬«      S )a®  
        Create a metric for a metric provider

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_provider_id : str
            Metric provider identifier
        metric : dict[str, any]
            The metric to create

            Available fields in metric: "name", "metric_identifier", "transform", "suffix",
            "y_axis_min", "y_axis_max", "y_axis_hidden", "display",
            "decimal_places", "tooltip_description"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdMetricsProvidersMetricsProviderIdMetrics
        # noqa: E501

        Descriptions of the fields that can be added to the metric:
            "name" - Name of metric,

            "metric_identifier" - The identifier used to look up the metric data from the provider

            "transform" - The transform to apply to metric before pulling into Statuspage.
            See transform enum for available values

            "suffix" - Suffix to describe the units on the graph

            "y_axis_min" - Minimum value for the y-axis

            "y_axis_max" - Maximum value for the y-axis

            "y_axis_hidden" - Should the values on the y-axis be hidden on render

            "display" - Should the metric be displayed on the status page

            "decimal_places" - How many decimal places to render on the graph

            "tooltip_description" - Description to show on the tooltip

        Returns
        -------
        any
        r~   r–  rÀ   r…  r„   r¶   )rt   r€   r—  r…  r{   s        r   Ú&page_create_metric_for_metric_providerz1StatusPage.page_create_metric_for_metric_providerh  s4   € ðj ˜'˜Ð"5Ð6HÐ5IÈÐRˆØ�y‰y˜ H¨fÐ#5ˆyÓ6Ð6r   c                 ó0   — d|› d�}| j                  |«      S )aÓ  
        Get a list of metric providers

        Parameters
        ----------
        page_id : str
            Your page unique ID
        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdMetricsProviders

        Returns
        -------
        any
        r~   ú/metrics_providersry   r   s      r   Úpage_list_metric_providersz%StatusPage.page_list_metric_providers   s!   € ð* ˜'˜Ð"4Ð5ˆØ�x‰x˜‹}Ðr   c                 ó8   — d|› d�}| j                  |d|i¬«      S )al  
        Create a metric provider

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_provider : dict[str, any]
            The metric provider to create

            Available fields in metric_provider: "email", "password", "api_key", "api_token",
            "application_key", "type", "metric_base_uri"

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/postPagesPageIdMetricsProviders

        Descriptions of the fields that can be added to the metric_provider:
            "email" - Required by the Librato metrics provider

            "password" - Just a password!

            "api_key" - Required by the Datadog and NewRelic type metrics providers

            "api_token" - Required by the Librato, Datadog and Pingdom type metrics providers

            "application_key" - Required by the Pingdom-type metrics provider

            "type" - The type of metrics provider. See MetricProviderType enum for available values

            "metric_base_uri" - The base URI for the metrics provider.
            Required by the Datadog and NewRelic type metrics providers.


        Returns
        -------
        any
        r~   rœ  Úmetric_providerr„   r¶   )rt   r€   rŸ  r{   s       r   Úpage_create_metric_providerz&StatusPage.page_create_metric_provider¸  s-   € ðX ˜'˜Ð"4Ð5ˆØ�y‰y˜Ð$5°Ð#GˆyÓHÐHr   c                 ó4   — d|› d|› �}| j                  |«      S )a$  
        Get a metric provider

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_provider_id : str
            Metric provider identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdMetricsProvidersMetricsProviderId

        Returns
        -------
        any
        r~   r–  ry   ©rt   r€   r—  r{   s       r   Úpage_get_metric_providerz#StatusPage.page_get_metric_providerç  s'   € ð0 ˜'˜Ð"5Ð6HÐ5IÐJˆØ�x‰x˜‹}Ðr   c                 ó<   — d|› d|› �}| j                  |d|i¬«      S )a  
        Update a metric provider

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_provider_id : str
            Metric provider identifier
        metric_provider : dict[str, any]
            Metric provider to update


        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Notes
        -----
        See available fields: https://developer.statuspage.io/#operation/getPagesPageIdMetricsProvidersMetricsProviderId

        Available fields in metric_provider: "type", "metric_base_uri"

        Descriptions of the fields that can be added to the metric_provider:
            "type" - The type of metrics provider. See MetricProviderType enum for available values

            "metric_base_uri" - The base URI for the metrics provider.
            Required by the Datadog and NewRelic type metrics providers.

        Returns
        -------
        any
        r~   r–  rŸ  r„   r†   )rt   r€   r—  rŸ  r{   s        r   Úpage_update_metric_providerz&StatusPage.page_update_metric_provider  s3   € ðF ˜'˜Ð"5Ð6HÐ5IÐJˆØ�z‰z˜#Ð%6¸Ð$HˆzÓIÐIr   c                 ó4   — d|› d|› �}| j                  |«      S )a‘  
        Delete a metric provider

        Parameters
        ----------
        page_id : str
            Your page unique ID
        metric_provider_id : str
            Metric provider identifier

        Raises
        ------
        requests.exceptions.HTTPError
            Use `json.loads(exceptions.response.content)` to get API error info

        Returns
        -------
        any
        r~   r–  r«   r¢  s       r   Úpage_delete_metric_providerz&StatusPage.page_delete_metric_provider(  s(   € ð( ˜'˜Ð"5Ð6HÐ5IÐJˆØ�{‰{˜3ÓÐr   )r   éd   )Nr5   r   r¨  )F)r¨  r   )NN)gr
   r   r   r   rs   r|   r�   rˆ   r�   r”   r—   rš   r�   r    r¥   r©   r­   r°   r´   r¸   rº   r¾   rÁ   rÅ   rÇ   rÉ   rÍ   rÑ   rÖ   rÝ   rß   rá   rä   ræ   rè   rê   rì   rñ   rü   rþ   r  r  r  r	  r  r  r  r  r  r  r  r!  r#  r%  r'  r)  r+  r0  r2  r4  r8  r:  r<  r?  rA  rC  rF  rK  rM  rO  rQ  rT  rX  rZ  r]  r_  rd  rf  rh  rj  rl  rq  rs  rx  r{  r}  r  r�  rƒ  r‡  rŠ  r�  r�  r’  r”  r˜  rš  r�  r   r£  r¥  r§  Ú__classcell__)rw   s   @r   rp   rp   l   s9  ø„ Ù!ô:òò*ò24ó@Jò8ò6,6ò\ò2&4óPZò>ò6%
òN ó8Jò@Fò<Eò<Gò< ò<ò8@ò<?ò<Aò< ó<Jò:ò6+
òZ-
ò^ ò8Fò:Eò<Gò< ó<Jò@ó6?,òBFó@qò:ò8?ó8Jò:Zò<ò2]ð< Z_ó'
òRDò:;ó8Jò@;ó6!RóFJó@Jó@Jó@Jò@ ò.<ò:ò6Jò@?ó:Jò> ò2ò<ò:ò6Oò: ò6?ò>ò8=ó:Jò:!>òF ò6ó6-,ò^ ò8Sò< ò8Uò<gó<Jò:fò@ ò6ó6.,ò`3ó:Jò:8òB8òB ò6ò6 ò63ó>Jò@67òpò0-Iò^ò6$JöL r   rp   )r   ÚloggingÚenumr   Úrest_clientr   Ú	getLoggerr
   Úlogr   r   r    r*   r4   r:   rL   rX   rd   rp   r   r   r   ú<module>r¯     sž   ðá Û Ý å )à€g×Ñ˜Ó!€ôˆtô ô0�Tô 0ô�dô ô�ô ô*�ô ô
ˆTô 
ôˆTô ô�ô ô˜ô ôQ/ Ð!õ Q/ r   