:doc:`KinesisVideo <../../kinesisvideo>` / Client / update_media_storage_configuration

**********************************
update_media_storage_configuration
**********************************



.. py:method:: KinesisVideo.Client.update_media_storage_configuration(**kwargs)

  

  Associates a ``SignalingChannel`` to a stream to store the media. There are two signaling modes that you can specify :

   

  
  * If ``StorageStatus`` is enabled, the data will be stored in the ``StreamARN`` provided. In order for WebRTC Ingestion to work, the stream must have data retention enabled.
   
  * If ``StorageStatus`` is disabled, no data will be stored, and the ``StreamARN`` parameter will not be needed.
  

   

  .. warning::

     

    If ``StorageStatus`` is enabled, direct peer-to-peer (master-viewer) connections no longer occur. Peers connect directly to the storage session. You must call the ``JoinStorageSession`` API to trigger an SDP offer send and establish a connection between a peer and the storage session.

    

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/kinesisvideo-2017-09-30/UpdateMediaStorageConfiguration>`_  


  **Request Syntax**
  ::

    response = client.update_media_storage_configuration(
        ChannelARN='string',
        MediaStorageConfiguration={
            'StreamARN': 'string',
            'Status': 'ENABLED'|'DISABLED'
        }
    )
    
  :type ChannelARN: string
  :param ChannelARN: **[REQUIRED]** 

    The Amazon Resource Name (ARN) of the channel.

    

  
  :type MediaStorageConfiguration: dict
  :param MediaStorageConfiguration: **[REQUIRED]** 

    A structure that encapsulates, or contains, the media storage configuration properties.

    

  
    - **StreamARN** *(string) --* 

      The Amazon Resource Name (ARN) of the stream.

      

    
    - **Status** *(string) --* **[REQUIRED]** 

      The status of the media storage configuration.

      

    
  
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`KinesisVideo.Client.exceptions.ResourceInUseException`

  
  *   :py:class:`KinesisVideo.Client.exceptions.InvalidArgumentException`

  
  *   :py:class:`KinesisVideo.Client.exceptions.ClientLimitExceededException`

  
  *   :py:class:`KinesisVideo.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`KinesisVideo.Client.exceptions.AccessDeniedException`

  
  *   :py:class:`KinesisVideo.Client.exceptions.NoDataRetentionException`

  