:doc:`DataSync <../../datasync>` / Client / update_location_object_storage

******************************
update_location_object_storage
******************************



.. py:method:: DataSync.Client.update_location_object_storage(**kwargs)

  

  Modifies the following configuration parameters of the object storage transfer location that you're using with DataSync.

   

  For more information, see `Configuring DataSync transfers with an object storage system <https://docs.aws.amazon.com/datasync/latest/userguide/create-object-location.html>`__.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datasync-2018-11-09/UpdateLocationObjectStorage>`_  


  **Request Syntax**
  ::

    response = client.update_location_object_storage(
        LocationArn='string',
        ServerPort=123,
        ServerProtocol='HTTPS'|'HTTP',
        Subdirectory='string',
        ServerHostname='string',
        AccessKey='string',
        SecretKey='string',
        AgentArns=[
            'string',
        ],
        ServerCertificate=b'bytes',
        CmkSecretConfig={
            'SecretArn': 'string',
            'KmsKeyArn': 'string'
        },
        CustomSecretConfig={
            'SecretArn': 'string',
            'SecretAccessRoleArn': 'string'
        }
    )
    
  :type LocationArn: string
  :param LocationArn: **[REQUIRED]** 

    Specifies the ARN of the object storage system location that you're updating.

    

  
  :type ServerPort: integer
  :param ServerPort: 

    Specifies the port that your object storage server accepts inbound network traffic on (for example, port 443).

    

  
  :type ServerProtocol: string
  :param ServerProtocol: 

    Specifies the protocol that your object storage server uses to communicate.

    

  
  :type Subdirectory: string
  :param Subdirectory: 

    Specifies the object prefix for your object storage server. If this is a source location, DataSync only copies objects with this prefix. If this is a destination location, DataSync writes all objects with this prefix.

    

  
  :type ServerHostname: string
  :param ServerHostname: 

    Specifies the domain name or IP address (IPv4 or IPv6) of the object storage server that your DataSync agent connects to.

    

  
  :type AccessKey: string
  :param AccessKey: 

    Specifies the access key (for example, a user name) if credentials are required to authenticate with the object storage server.

    

  
  :type SecretKey: string
  :param SecretKey: 

    Specifies the secret key (for example, a password) if credentials are required to authenticate with the object storage server.

     

    .. note::

      

      If you provide a secret using ``SecretKey``, but do not provide secret configuration details using ``CmkSecretConfig`` or ``CustomSecretConfig``, then DataSync stores the token using your Amazon Web Services account's Secrets Manager secret.

      

    

  
  :type AgentArns: list
  :param AgentArns: 

    (Optional) Specifies the Amazon Resource Names (ARNs) of the DataSync agents that can connect with your object storage system. If you are setting up an agentless cross-cloud transfer, you do not need to specify a value for this parameter.

     

    .. note::

      

      You cannot add or remove agents from a storage location after you initially create it.

      

    

  
    - *(string) --* 

    

  :type ServerCertificate: bytes
  :param ServerCertificate: 

    Specifies a certificate chain for DataSync to authenticate with your object storage system if the system uses a private or self-signed certificate authority (CA). You must specify a single ``.pem`` file with a full certificate chain (for example, ``file:///home/user/.ssh/object_storage_certificates.pem``).

     

    The certificate chain might include:

     

    
    * The object storage system's certificate
     
    * All intermediate certificates (if there are any)
     
    * The root certificate of the signing CA
    

     

    You can concatenate your certificates into a ``.pem`` file (which can be up to 32768 bytes before base64 encoding). The following example ``cat`` command creates an ``object_storage_certificates.pem`` file that includes three certificates:

     

    ``cat object_server_certificate.pem intermediate_certificate.pem ca_root_certificate.pem > object_storage_certificates.pem``

     

    To use this parameter, configure ``ServerProtocol`` to ``HTTPS``.

     

    Updating this parameter doesn't interfere with tasks that you have in progress.

    

  
  :type CmkSecretConfig: dict
  :param CmkSecretConfig: 

    Specifies configuration information for a DataSync-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.

    

  
    - **SecretArn** *(string) --* 

      Specifies the ARN for the DataSync-managed Secrets Manager secret that that is used to access a specific storage location. This property is generated by DataSync and is read-only. DataSync encrypts this secret with the KMS key that you specify for ``KmsKeyArn``.

      

    
    - **KmsKeyArn** *(string) --* 

      Specifies the ARN for the customer-managed KMS key that DataSync uses to encrypt the DataSync-managed secret stored for ``SecretArn``. DataSync provides this key to Secrets Manager.

      

    
  
  :type CustomSecretConfig: dict
  :param CustomSecretConfig: 

    Specifies configuration information for a customer-managed secret, such as an authentication token or set of credentials that DataSync uses to access a specific transfer location, and a customer-managed KMS key.

    

  
    - **SecretArn** *(string) --* 

      Specifies the ARN for an Secrets Manager secret.

      

    
    - **SecretAccessRoleArn** *(string) --* 

      Specifies the ARN for the Identity and Access Management role that DataSync uses to access the secret specified for ``SecretArn``.

      

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

    
    ::

      {}
      
    **Response Structure**

    

    - *(dict) --* 
  
  **Exceptions**
  
  *   :py:class:`DataSync.Client.exceptions.InvalidRequestException`

  
  *   :py:class:`DataSync.Client.exceptions.InternalException`

  