:doc:`Connect <../../connect>` / Client / update_instance_storage_config

******************************
update_instance_storage_config
******************************



.. py:method:: Connect.Client.update_instance_storage_config(**kwargs)

  

  This API is in preview release for Amazon Connect and is subject to change.

   

  Updates an existing configuration for a resource type. This API is idempotent.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/connect-2017-08-08/UpdateInstanceStorageConfig>`_  


  **Request Syntax**
  ::

    response = client.update_instance_storage_config(
        InstanceId='string',
        AssociationId='string',
        ResourceType='CHAT_TRANSCRIPTS'|'CALL_RECORDINGS'|'SCHEDULED_REPORTS'|'MEDIA_STREAMS'|'CONTACT_TRACE_RECORDS'|'AGENT_EVENTS'|'REAL_TIME_CONTACT_ANALYSIS_SEGMENTS'|'ATTACHMENTS'|'CONTACT_EVALUATIONS'|'SCREEN_RECORDINGS'|'REAL_TIME_CONTACT_ANALYSIS_CHAT_SEGMENTS'|'REAL_TIME_CONTACT_ANALYSIS_VOICE_SEGMENTS'|'EMAIL_MESSAGES',
        StorageConfig={
            'AssociationId': 'string',
            'StorageType': 'S3'|'KINESIS_VIDEO_STREAM'|'KINESIS_STREAM'|'KINESIS_FIREHOSE',
            'S3Config': {
                'BucketName': 'string',
                'BucketPrefix': 'string',
                'EncryptionConfig': {
                    'EncryptionType': 'KMS',
                    'KeyId': 'string'
                }
            },
            'KinesisVideoStreamConfig': {
                'Prefix': 'string',
                'RetentionPeriodHours': 123,
                'EncryptionConfig': {
                    'EncryptionType': 'KMS',
                    'KeyId': 'string'
                }
            },
            'KinesisStreamConfig': {
                'StreamArn': 'string'
            },
            'KinesisFirehoseConfig': {
                'FirehoseArn': 'string'
            }
        },
        ClientToken='string'
    )
    
  :type InstanceId: string
  :param InstanceId: **[REQUIRED]** 

    The identifier of the Amazon Connect instance. You can `find the instance ID <https://docs.aws.amazon.com/connect/latest/adminguide/find-instance-arn.html>`__ in the Amazon Resource Name (ARN) of the instance.

    

  
  :type AssociationId: string
  :param AssociationId: **[REQUIRED]** 

    The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

    

  
  :type ResourceType: string
  :param ResourceType: **[REQUIRED]** 

    A valid resource type.

    

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

    The storage configuration for the instance.

    

  
    - **AssociationId** *(string) --* 

      The existing association identifier that uniquely identifies the resource type and storage config for the given instance ID.

      

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

      A valid storage type.

      

    
    - **S3Config** *(dict) --* 

      The S3 bucket configuration.

      

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

        The S3 bucket name.

        

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

        The S3 bucket prefix.

        

      
      - **EncryptionConfig** *(dict) --* 

        The Amazon S3 encryption configuration.

        

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

          The type of encryption.

          

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

          The full ARN of the encryption key.

           

          .. note::

            

            Be sure to provide the full ARN of the encryption key, not just the ID.

             

            Amazon Connect supports only KMS keys with the default key spec of `SYMMETRIC_DEFAULT <https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default>`__.

            

          

        
      
    
    - **KinesisVideoStreamConfig** *(dict) --* 

      The configuration of the Kinesis video stream.

      

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

        The prefix of the video stream.

        

      
      - **RetentionPeriodHours** *(integer) --* **[REQUIRED]** 

        The number of hours data is retained in the stream. Kinesis Video Streams retains the data in a data store that is associated with the stream.

         

        The default value is 0, indicating that the stream does not persist data.

        

      
      - **EncryptionConfig** *(dict) --* **[REQUIRED]** 

        The encryption configuration.

        

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

          The type of encryption.

          

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

          The full ARN of the encryption key.

           

          .. note::

            

            Be sure to provide the full ARN of the encryption key, not just the ID.

             

            Amazon Connect supports only KMS keys with the default key spec of `SYMMETRIC_DEFAULT <https://docs.aws.amazon.com/kms/latest/developerguide/asymmetric-key-specs.html#key-spec-symmetric-default>`__.

            

          

        
      
    
    - **KinesisStreamConfig** *(dict) --* 

      The configuration of the Kinesis data stream.

      

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

        The Amazon Resource Name (ARN) of the data stream.

        

      
    
    - **KinesisFirehoseConfig** *(dict) --* 

      The configuration of the Kinesis Firehose delivery stream.

      

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

        The Amazon Resource Name (ARN) of the delivery stream.

        

      
    
  
  :type ClientToken: string
  :param ClientToken: 

    A unique, case-sensitive identifier that you provide to ensure the idempotency of the request. If not provided, the Amazon Web Services SDK populates this field. For more information about idempotency, see `Making retries safe with idempotent APIs <https://aws.amazon.com/builders-library/making-retries-safe-with-idempotent-APIs/>`__.

    This field is autopopulated if not provided.

  
  
  :returns: None
  **Exceptions**
  
  *   :py:class:`Connect.Client.exceptions.ResourceNotFoundException`

  
  *   :py:class:`Connect.Client.exceptions.InternalServiceException`

  
  *   :py:class:`Connect.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`Connect.Client.exceptions.InvalidParameterException`

  
  *   :py:class:`Connect.Client.exceptions.ThrottlingException`

  