U vi @ sD d Z ddlmZmZmZ ddlmZmZmZm Z G dd de ZdS )zaLabels are a way to add visual metadata to dashboards, tasks, and other items in the InfluxDB UI. )ListDictUnion) LabelsServiceLabelCreateRequestLabelLabelUpdatec @ s e Zd ZdZdd Zdeeeeef edddZedd d Z e eef dddZeeed ddZe d dddZedddZe d dddZdS ) LabelsApiz-Implementation for '/api/v2/labels' endpoint.c C s || _ t|j| _dS )zInitialize defaults.N)Z_influxdb_clientr Z api_client_service)selfinfluxdb_client r R/opt/alt/python38/lib/python3.8/site-packages/influxdb_client/client/labels_api.py__init__ s zLabelsApi.__init__N)nameorg_id propertiesreturnc C s t |||d}| jj|djS )z Create a new label. :param name: label name :param org_id: organization id :param properties: optional label properties :return: created label )r r r )Zlabel_create_request)r r Zpost_labelslabel)r r r r Z label_requestr r r create_label s zLabelsApi.create_label)r c C s* t }|j|_|j|_| jj|j|djS )z Update an existing label name and properties. :param label: label :return: the updated label )label_idlabel_update)r r r r Zpatch_labels_ididr )r r r r r r update_label s zLabelsApi.update_labelc C s0 d}t |tr|}t |tr"|j}| jj|dS )zL Delete the label. :param label: label id or Label Nr ) isinstancestrr r r Zdelete_labels_id)r r r r r r delete_label( s zLabelsApi.delete_label)cloned_namer r c C s* d}|j dk r|j }| j|||jdS )z Create the new instance of the label as a copy existing label. :param cloned_name: new label name :param label: existing label :return: clonned Label N)r r r )r copyr r )r r r Zcloned_propertiesr r r clone_label8 s zLabelsApi.clone_labelr )r c K s | j jf |jS )zs Get all available labels. :key str org_id: The organization ID. :return: labels r Z get_labelslabels)r kwargsr r r find_labelsF s zLabelsApi.find_labelsr c C s | j j|djS )z\ Retrieve the label by id. :param label_id: :return: Label r )r Z get_labels_idr )r r r r r find_label_by_idP s zLabelsApi.find_label_by_idc C s | j j|djS )z Get the list of all labels for given organization. :param org_id: organization id :return: list of labels )r r! )r r r r r find_label_by_orgY s zLabelsApi.find_label_by_org)N)__name__ __module____qualname____doc__r r r r r r r r r r r$ r% r&