o
    i                     @   s8   d dl mZmZmZmZmZ G dd deeeeeZdS )    )GetableAPIResourceCreateableAPIResourceDeletableAPIResourceUpdatableAPIResourceAddableAPISubResourcec                       sl   e Zd ZdZdZdZe fddZe fddZe fdd	Z	e fd
dZ
e fddZ  ZS )AzureIntegrationz1
    A wrapper around Azure integration API.
    integrationazurec                       t t| jdd| ji|S )z
        List all Datadog-Azure integrations available in your Datadog organization.

        >>> api.AzureIntegration.list()
        idN )superr   get_resource_idclsparams	__class__r   Q/home/ubuntu/.local/lib/python3.10/site-packages/datadog/api/azure_integration.pylist   s   zAzureIntegration.listc                    r
   )a  
        Add a new Azure integration config.

        >>> tenant_name = "<AZURE_TENANT_NAME>"
        >>> client_id = "<AZURE_CLIENT_ID>"
        >>> client_secret = "<AZURE_CLIENT_SECRET>"
        >>> host_filters = ["<KEY>:<VALUE>"]

        >>> api.AzureIntegration.create(tenant_name=tenant_name, client_id=client_id,         client_secret=client_secret,host_filters=host_filters)
        r   Nr   )r   r   creater   r   r   r   r   r       s   zAzureIntegration.createc                    s   t t| j| j|dS )z
        Delete a given Datadog-Azure integration.

        >>> tenant_name = "<AZURE_TENANT_NAME>"
        >>> client_id = "<AZURE_CLIENT_ID>"

        >>> api.AzureIntegration.delete(tenant_name=tenant_name, client_id=client_id)
        )r   body)r   r   deleter   )r   r   r   r   r   r   /   s   
zAzureIntegration.deletec                    s"   d| _ tt| jdd| ji|S )as  
        Update the defined list of host filters for a given Datadog-Azure integration. 
        >>> tenant_name = "<AZURE_TENANT_NAME>"
        >>> client_id = "<AZURE_CLIENT_ID>"
        >>> host_filters = "<KEY>:<VALUE>"

        >>> api.AzureIntegration.update_host_filters(tenant_name=tenant_name, client_id=client_id,             host_filters=host_filters)
        host_filtersr   Nr   )_sub_resource_namer   r   	add_itemsr   r   r   r   r   update_host_filters;   s   z$AzureIntegration.update_host_filtersc                    s"   i }t t| jd| j|d|S )a<  
        Update an Azure account configuration.

        >>> tenant_name = "<AZURE_TENANT_NAME>"
        >>> client_id = "<AZURE_CLIENT_ID>"
        >>> new_tenant_name = "<NEW_AZURE_TENANT_NAME>"
        >>> new_client_id = "<NEW_AZURE_CLIENT_ID>"
        >>> client_secret = "<AZURE_CLIENT_SECRET>"
        >>> host_filters = "<KEY>:<VALUE>"

        >>> api.AzureIntegration.update(tenant_name=tenant_name, client_id=client_id,         new_tenant_name=new_tenant_name, new_client_id=new_client_id,        client_secret=client_secret, host_filters=host_filters)
        )r   r   Nr   )r   r   updater   )r   r   r   r   r   r   r   J   s   zAzureIntegration.update)__name__
__module____qualname____doc___resource_namer   classmethodr   r   r   r   r   __classcell__r   r   r   r   r      s    r   N)datadog.api.resourcesr   r   r   r   r   r   r   r   r   r   <module>   s   
	
