:doc:`DataZone <../../datazone>` / Client / update_project

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



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

  

  Updates the specified project in Amazon DataZone.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/datazone-2018-05-10/UpdateProject>`_  


  **Request Syntax**
  ::

    response = client.update_project(
        domainIdentifier='string',
        identifier='string',
        name='string',
        description='string',
        resourceTags={
            'string': 'string'
        },
        glossaryTerms=[
            'string',
        ],
        domainUnitId='string',
        environmentDeploymentDetails={
            'overallDeploymentStatus': 'PENDING_DEPLOYMENT'|'IN_PROGRESS'|'SUCCESSFUL'|'FAILED_VALIDATION'|'FAILED_DEPLOYMENT',
            'environmentFailureReasons': {
                'string': [
                    {
                        'code': 'string',
                        'message': 'string'
                    },
                ]
            }
        },
        userParameters=[
            {
                'environmentId': 'string',
                'environmentResolvedAccount': {
                    'awsAccountId': 'string',
                    'regionName': 'string',
                    'sourceAccountPoolId': 'string'
                },
                'environmentConfigurationName': 'string',
                'environmentParameters': [
                    {
                        'name': 'string',
                        'value': 'string'
                    },
                ]
            },
        ],
        projectProfileVersion='string'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The ID of the Amazon DataZone domain where a project is being updated.

    

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

    The identifier of the project that is to be updated.

    

  
  :type name: string
  :param name: 

    The name to be updated as part of the ``UpdateProject`` action.

    

  
  :type description: string
  :param description: 

    The description to be updated as part of the ``UpdateProject`` action.

    

  
  :type resourceTags: dict
  :param resourceTags: 

    The resource tags of the project.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


  :type glossaryTerms: list
  :param glossaryTerms: 

    The glossary terms to be updated as part of the ``UpdateProject`` action.

    

  
    - *(string) --* 

    

  :type domainUnitId: string
  :param domainUnitId: 

    The ID of the domain unit.

    

  
  :type environmentDeploymentDetails: dict
  :param environmentDeploymentDetails: 

    The environment deployment details of the project.

    

  
    - **overallDeploymentStatus** *(string) --* 

      The overall deployment status of the environment.

      

    
    - **environmentFailureReasons** *(dict) --* 

      Environment failure reasons.

      

    
      - *(string) --* 

      
        - *(list) --* 

        
          - *(dict) --* 

            The failure reasons for the environment deployment.

            

          
            - **code** *(string) --* 

              The error code for the failure reason for the environment deployment.

              

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

              The error message for the failure reason for the environment deployment.

              

            
          
      
  

  
  :type userParameters: list
  :param userParameters: 

    The user parameters of the project.

    

  
    - *(dict) --* 

      The environment configuration user parameters.

      

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

        The ID of the environment.

        

      
      - **environmentResolvedAccount** *(dict) --* 

        Specifies the account/Region that is to be used during project creation for a particular blueprint.

        

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

          The ID of the resolved account.

          

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

          The name of the resolved Region.

          

        
        - **sourceAccountPoolId** *(string) --* 

          The ID of the account pool.

          

        
      
      - **environmentConfigurationName** *(string) --* 

        The environment configuration name.

        

      
      - **environmentParameters** *(list) --* 

        The environment parameters.

        

      
        - *(dict) --* 

          The parameter details of an evironment profile.

          

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

            The name of an environment profile parameter.

            

          
          - **value** *(string) --* 

            The value of an environment profile parameter.

            

          
        
    
    

  :type projectProfileVersion: string
  :param projectProfileVersion: 

    The project profile version to which the project should be updated. You can only specify the following string for this parameter: ``latest``.

    

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

    
    ::

      {
          'domainId': 'string',
          'id': 'string',
          'name': 'string',
          'description': 'string',
          'projectStatus': 'ACTIVE'|'DELETING'|'DELETE_FAILED'|'UPDATING'|'UPDATE_FAILED'|'MOVING',
          'failureReasons': [
              {
                  'code': 'string',
                  'message': 'string'
              },
          ],
          'createdBy': 'string',
          'createdAt': datetime(2015, 1, 1),
          'lastUpdatedAt': datetime(2015, 1, 1),
          'resourceTags': [
              {
                  'key': 'string',
                  'value': 'string',
                  'source': 'PROJECT'|'PROJECT_PROFILE'
              },
          ],
          'glossaryTerms': [
              'string',
          ],
          'domainUnitId': 'string',
          'projectProfileId': 'string',
          'userParameters': [
              {
                  'environmentId': 'string',
                  'environmentResolvedAccount': {
                      'awsAccountId': 'string',
                      'regionName': 'string',
                      'sourceAccountPoolId': 'string'
                  },
                  'environmentConfigurationName': 'string',
                  'environmentParameters': [
                      {
                          'name': 'string',
                          'value': 'string'
                      },
                  ]
              },
          ],
          'environmentDeploymentDetails': {
              'overallDeploymentStatus': 'PENDING_DEPLOYMENT'|'IN_PROGRESS'|'SUCCESSFUL'|'FAILED_VALIDATION'|'FAILED_DEPLOYMENT',
              'environmentFailureReasons': {
                  'string': [
                      {
                          'code': 'string',
                          'message': 'string'
                      },
                  ]
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **domainId** *(string) --* 

        The identifier of the Amazon DataZone domain in which a project is updated.

        
      

      - **id** *(string) --* 

        The identifier of the project that is to be updated.

        
      

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

        The name of the project that is to be updated.

        
      

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

        The description of the project that is to be updated.

        
      

      - **projectStatus** *(string) --* 

        The status of the project.

        
      

      - **failureReasons** *(list) --* 

        Specifies the error message that is returned if the operation cannot be successfully completed.

        
        

        - *(dict) --* 

          Specifies the error message that is returned if the operation cannot be successfully completed.

          
          

          - **code** *(string) --* 

            The code of the project deletion error.

            
          

          - **message** *(string) --* 

            The message of the project deletion error.

            
      
    
      

      - **createdBy** *(string) --* 

        The Amazon DataZone user who created the project.

        
      

      - **createdAt** *(datetime) --* 

        The timestamp of when the project was created.

        
      

      - **lastUpdatedAt** *(datetime) --* 

        The timestamp of when the project was last updated.

        
      

      - **resourceTags** *(list) --* 

        The resource tags of the project.

        
        

        - *(dict) --* 

          The resource tag of the project.

          
          

          - **key** *(string) --* 

            The key of the resource tag of the project.

            
          

          - **value** *(string) --* 

            The value of the resource tag of the project.

            
          

          - **source** *(string) --* 

            The source of the resource tag of the project.

            
      
    
      

      - **glossaryTerms** *(list) --* 

        The glossary terms of the project that are to be updated.

        
        

        - *(string) --* 
    
      

      - **domainUnitId** *(string) --* 

        The ID of the domain unit.

        
      

      - **projectProfileId** *(string) --* 

        The ID of the project profile.

        
      

      - **userParameters** *(list) --* 

        The user parameters of the project.

        
        

        - *(dict) --* 

          The environment configuration user parameters.

          
          

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

            The ID of the environment.

            
          

          - **environmentResolvedAccount** *(dict) --* 

            Specifies the account/Region that is to be used during project creation for a particular blueprint.

            
            

            - **awsAccountId** *(string) --* 

              The ID of the resolved account.

              
            

            - **regionName** *(string) --* 

              The name of the resolved Region.

              
            

            - **sourceAccountPoolId** *(string) --* 

              The ID of the account pool.

              
        
          

          - **environmentConfigurationName** *(string) --* 

            The environment configuration name.

            
          

          - **environmentParameters** *(list) --* 

            The environment parameters.

            
            

            - *(dict) --* 

              The parameter details of an evironment profile.

              
              

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

                The name of an environment profile parameter.

                
              

              - **value** *(string) --* 

                The value of an environment profile parameter.

                
          
        
      
    
      

      - **environmentDeploymentDetails** *(dict) --* 

        The environment deployment details of the project.

        
        

        - **overallDeploymentStatus** *(string) --* 

          The overall deployment status of the environment.

          
        

        - **environmentFailureReasons** *(dict) --* 

          Environment failure reasons.

          
          

          - *(string) --* 
            

            - *(list) --* 
              

              - *(dict) --* 

                The failure reasons for the environment deployment.

                
                

                - **code** *(string) --* 

                  The error code for the failure reason for the environment deployment.

                  
                

                - **message** *(string) --* 

                  The error message for the failure reason for the environment deployment.

                  
            
          
      
    
    
  
  **Exceptions**
  
  *   :py:class:`DataZone.Client.exceptions.InternalServerException`

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

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

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

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

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

  
  *   :py:class:`DataZone.Client.exceptions.ValidationException`

  
  *   :py:class:`DataZone.Client.exceptions.UnauthorizedException`

  