:doc:`CloudWatchEvidently <../../evidently>` / Client / update_project

**************
update_project
**************



.. py:method:: CloudWatchEvidently.Client.update_project(**kwargs)

  

  Updates the description of an existing project.

   

  To create a new project, use `CreateProject <https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_CreateProject.html>`__.

   

  Don't use this operation to update the data storage options of a project. Instead, use `UpdateProjectDataDelivery <https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_UpdateProjectDataDelivery.html>`__.

   

  Don't use this operation to update the tags of a project. Instead, use `TagResource <https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_TagResource.html>`__.

  

  .. danger::

        This operation is deprecated and may not function as expected. This operation should not be used going forward and is only kept for the purpose of backwards compatiblity.


  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/evidently-2021-02-01/UpdateProject>`_  


  **Request Syntax**
  ::

    response = client.update_project(
        appConfigResource={
            'applicationId': 'string',
            'environmentId': 'string'
        },
        description='string',
        project='string'
    )
    
  :type appConfigResource: dict
  :param appConfigResource: 

    Use this parameter if the project will use client-side evaluation powered by AppConfig. Client-side evaluation allows your application to assign variations to user sessions locally instead of by calling the `EvaluateFeature <https://docs.aws.amazon.com/cloudwatchevidently/latest/APIReference/API_EvaluateFeature.html>`__ operation. This mitigates the latency and availability risks that come with an API call. allows you to

     

    This parameter is a structure that contains information about the AppConfig application that will be used for client-side evaluation.

    

  
    - **applicationId** *(string) --* 

      The ID of the AppConfig application to use for client-side evaluation.

      

    
    - **environmentId** *(string) --* 

      The ID of the AppConfig environment to use for client-side evaluation. This must be an environment that is within the application that you specify for ``applicationId``.

      

    
  
  :type description: string
  :param description: 

    An optional description of the project.

    

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

    The name or ARN of the project to update.

    

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

    
    ::

      {
          'project': {
              'activeExperimentCount': 123,
              'activeLaunchCount': 123,
              'appConfigResource': {
                  'applicationId': 'string',
                  'configurationProfileId': 'string',
                  'environmentId': 'string'
              },
              'arn': 'string',
              'createdTime': datetime(2015, 1, 1),
              'dataDelivery': {
                  'cloudWatchLogs': {
                      'logGroup': 'string'
                  },
                  's3Destination': {
                      'bucket': 'string',
                      'prefix': 'string'
                  }
              },
              'description': 'string',
              'experimentCount': 123,
              'featureCount': 123,
              'lastUpdatedTime': datetime(2015, 1, 1),
              'launchCount': 123,
              'name': 'string',
              'status': 'AVAILABLE'|'UPDATING',
              'tags': {
                  'string': 'string'
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **project** *(dict) --* 

        A structure containing information about the updated project.

        
        

        - **activeExperimentCount** *(integer) --* 

          The number of ongoing experiments currently in the project.

          
        

        - **activeLaunchCount** *(integer) --* 

          The number of ongoing launches currently in the project.

          
        

        - **appConfigResource** *(dict) --* 

          This structure defines the configuration of how your application integrates with AppConfig to run client-side evaluation.

          
          

          - **applicationId** *(string) --* 

            The ID of the AppConfig application to use for client-side evaluation.

            
          

          - **configurationProfileId** *(string) --* 

            The ID of the AppConfig profile to use for client-side evaluation.

            
          

          - **environmentId** *(string) --* 

            The ID of the AppConfig environment to use for client-side evaluation. This must be an environment that is within the application that you specify for ``applicationId``.

            
      
        

        - **arn** *(string) --* 

          The name or ARN of the project.

          
        

        - **createdTime** *(datetime) --* 

          The date and time that the project is created.

          
        

        - **dataDelivery** *(dict) --* 

          A structure that contains information about where Evidently is to store evaluation events for longer term storage.

          
          

          - **cloudWatchLogs** *(dict) --* 

            If the project stores evaluation events in CloudWatch Logs, this structure stores the log group name.

            
            

            - **logGroup** *(string) --* 

              The name of the log group where the project stores evaluation events.

              
        
          

          - **s3Destination** *(dict) --* 

            If the project stores evaluation events in an Amazon S3 bucket, this structure stores the bucket name and bucket prefix.

            
            

            - **bucket** *(string) --* 

              The name of the bucket in which Evidently stores evaluation events.

              
            

            - **prefix** *(string) --* 

              The bucket prefix in which Evidently stores evaluation events.

              
        
      
        

        - **description** *(string) --* 

          The user-entered description of the project.

          
        

        - **experimentCount** *(integer) --* 

          The number of experiments currently in the project. This includes all experiments that have been created and not deleted, whether they are ongoing or not.

          
        

        - **featureCount** *(integer) --* 

          The number of features currently in the project.

          
        

        - **lastUpdatedTime** *(datetime) --* 

          The date and time that the project was most recently updated.

          
        

        - **launchCount** *(integer) --* 

          The number of launches currently in the project. This includes all launches that have been created and not deleted, whether they are ongoing or not.

          
        

        - **name** *(string) --* 

          The name of the project.

          
        

        - **status** *(string) --* 

          The current state of the project.

          
        

        - **tags** *(dict) --* 

          The list of tag keys and values associated with this project.

          
          

          - *(string) --* 
            

            - *(string) --* 
      
    
    
  
  **Exceptions**
  
  *   :py:class:`CloudWatchEvidently.Client.exceptions.ValidationException`

  
  *   :py:class:`CloudWatchEvidently.Client.exceptions.ConflictException`

  
  *   :py:class:`CloudWatchEvidently.Client.exceptions.ServiceQuotaExceededException`

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

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

  