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

**********************
update_project_profile
**********************



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

  

  Updates a project profile.

  

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


  **Request Syntax**
  ::

    response = client.update_project_profile(
        domainIdentifier='string',
        identifier='string',
        name='string',
        description='string',
        status='ENABLED'|'DISABLED',
        projectResourceTags=[
            {
                'key': 'string',
                'value': 'string',
                'isValueEditable': True|False
            },
        ],
        allowCustomProjectResourceTags=True|False,
        projectResourceTagsDescription='string',
        environmentConfigurations=[
            {
                'name': 'string',
                'id': 'string',
                'environmentBlueprintId': 'string',
                'description': 'string',
                'deploymentMode': 'ON_CREATE'|'ON_DEMAND',
                'configurationParameters': {
                    'ssmPath': 'string',
                    'parameterOverrides': [
                        {
                            'name': 'string',
                            'value': 'string',
                            'isEditable': True|False
                        },
                    ],
                    'resolvedParameters': [
                        {
                            'name': 'string',
                            'value': 'string',
                            'isEditable': True|False
                        },
                    ]
                },
                'awsAccount': {
                    'awsAccountId': 'string',
                    'awsAccountIdPath': 'string'
                },
                'accountPools': [
                    'string',
                ],
                'awsRegion': {
                    'regionName': 'string',
                    'regionNamePath': 'string'
                },
                'deploymentOrder': 123
            },
        ],
        domainUnitIdentifier='string'
    )
    
  :type domainIdentifier: string
  :param domainIdentifier: **[REQUIRED]** 

    The ID of the domain where a project profile is to be updated.

    

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

    The ID of a project profile that is to be updated.

    

  
  :type name: string
  :param name: 

    The name of a project profile.

    

  
  :type description: string
  :param description: 

    The description of a project profile.

    

  
  :type status: string
  :param status: 

    The status of a project profile.

    

  
  :type projectResourceTags: list
  :param projectResourceTags: 

    The resource tags of the project profile.

    

  
    - *(dict) --* 

      The resource tag parameter of the project profile.

      

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

        The key of the resource tag parameter of the project profile.

        

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

        The value of the resource tag parameter key of the project profile.

        

      
      - **isValueEditable** *(boolean) --* **[REQUIRED]** 

        Specifies whether the value of the resource tag parameter of the project profile is editable at the project level.

        

      
    

  :type allowCustomProjectResourceTags: boolean
  :param allowCustomProjectResourceTags: 

    Specifies whether custom project resource tags are supported.

    

  
  :type projectResourceTagsDescription: string
  :param projectResourceTagsDescription: 

    Field viewable through the UI that provides a project user with the allowed resource tag specifications.

    

  
  :type environmentConfigurations: list
  :param environmentConfigurations: 

    The environment configurations of a project profile.

    

  
    - *(dict) --* 

      The configuration of an environment.

      

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

        The environment name.

        

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

        The environment ID.

        

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

        The environment blueprint ID.

        

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

        The environment description.

        

      
      - **deploymentMode** *(string) --* 

        The deployment mode of the environment.

        

      
      - **configurationParameters** *(dict) --* 

        The configuration parameters of the environment.

        

      
        - **ssmPath** *(string) --* 

          Ssm path environment configuration parameters.

          

        
        - **parameterOverrides** *(list) --* 

          The parameter overrides.

          

        
          - *(dict) --* 

            The environment configuration parameter.

            

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

              The name of the environment configuration parameter.

              

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

              The value of the environment configuration parameter.

              

            
            - **isEditable** *(boolean) --* 

              Specifies whether the environment parameter is editable.

              

            
          
      
        - **resolvedParameters** *(list) --* 

          The resolved environment configuration parameters.

          

        
          - *(dict) --* 

            The environment configuration parameter.

            

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

              The name of the environment configuration parameter.

              

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

              The value of the environment configuration parameter.

              

            
            - **isEditable** *(boolean) --* 

              Specifies whether the environment parameter is editable.

              

            
          
      
      
      - **awsAccount** *(dict) --* 

        The Amazon Web Services account of the environment.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``awsAccountId``, ``awsAccountIdPath``. 

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

          The account ID of a project.

          

        
        - **awsAccountIdPath** *(string) --* 

          The account ID path of a project.

          

        
      
      - **accountPools** *(list) --* 

        The account pools used by a custom project profile.

        

      
        - *(string) --* 

        
    
      - **awsRegion** *(dict) --* 

        The Amazon Web Services Region of the environment.

        .. note::    This is a Tagged Union structure. Only one of the     following top level keys can be set: ``regionName``, ``regionNamePath``. 

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

          The Amazon Web Services Region name.

          

        
        - **regionNamePath** *(string) --* 

          The region name path.

          

        
      
      - **deploymentOrder** *(integer) --* 

        The deployment order of the environment.

        

      
    

  :type domainUnitIdentifier: string
  :param domainUnitIdentifier: 

    The ID of the domain unit where a project profile is to be updated.

    

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

    
    ::

      {
          'domainId': 'string',
          'id': 'string',
          'name': 'string',
          'description': 'string',
          'status': 'ENABLED'|'DISABLED',
          'projectResourceTags': [
              {
                  'key': 'string',
                  'value': 'string',
                  'isValueEditable': True|False
              },
          ],
          'allowCustomProjectResourceTags': True|False,
          'projectResourceTagsDescription': 'string',
          'environmentConfigurations': [
              {
                  'name': 'string',
                  'id': 'string',
                  'environmentBlueprintId': 'string',
                  'description': 'string',
                  'deploymentMode': 'ON_CREATE'|'ON_DEMAND',
                  'configurationParameters': {
                      'ssmPath': 'string',
                      'parameterOverrides': [
                          {
                              'name': 'string',
                              'value': 'string',
                              'isEditable': True|False
                          },
                      ],
                      'resolvedParameters': [
                          {
                              'name': 'string',
                              'value': 'string',
                              'isEditable': True|False
                          },
                      ]
                  },
                  'awsAccount': {
                      'awsAccountId': 'string',
                      'awsAccountIdPath': 'string'
                  },
                  'accountPools': [
                      'string',
                  ],
                  'awsRegion': {
                      'regionName': 'string',
                      'regionNamePath': 'string'
                  },
                  'deploymentOrder': 123
              },
          ],
          'createdBy': 'string',
          'createdAt': datetime(2015, 1, 1),
          'lastUpdatedAt': datetime(2015, 1, 1),
          'domainUnitId': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The ID of the domain where project profile is to be updated.

        
      

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

        The ID of the project profile.

        
      

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

        The name of the project profile.

        
      

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

        The description of a project profile.

        
      

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

        The status of the project profile.

        
      

      - **projectResourceTags** *(list) --* 

        The resource tags of the project profile.

        
        

        - *(dict) --* 

          The resource tag parameter of the project profile.

          
          

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

            The key of the resource tag parameter of the project profile.

            
          

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

            The value of the resource tag parameter key of the project profile.

            
          

          - **isValueEditable** *(boolean) --* 

            Specifies whether the value of the resource tag parameter of the project profile is editable at the project level.

            
      
    
      

      - **allowCustomProjectResourceTags** *(boolean) --* 

        Specifies whether custom project resource tags are supported.

        
      

      - **projectResourceTagsDescription** *(string) --* 

        Field viewable through the UI that provides a project user with the allowed resource tag specifications.

        
      

      - **environmentConfigurations** *(list) --* 

        The environment configurations of a project profile.

        
        

        - *(dict) --* 

          The configuration of an environment.

          
          

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

            The environment name.

            
          

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

            The environment ID.

            
          

          - **environmentBlueprintId** *(string) --* 

            The environment blueprint ID.

            
          

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

            The environment description.

            
          

          - **deploymentMode** *(string) --* 

            The deployment mode of the environment.

            
          

          - **configurationParameters** *(dict) --* 

            The configuration parameters of the environment.

            
            

            - **ssmPath** *(string) --* 

              Ssm path environment configuration parameters.

              
            

            - **parameterOverrides** *(list) --* 

              The parameter overrides.

              
              

              - *(dict) --* 

                The environment configuration parameter.

                
                

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

                  The name of the environment configuration parameter.

                  
                

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

                  The value of the environment configuration parameter.

                  
                

                - **isEditable** *(boolean) --* 

                  Specifies whether the environment parameter is editable.

                  
            
          
            

            - **resolvedParameters** *(list) --* 

              The resolved environment configuration parameters.

              
              

              - *(dict) --* 

                The environment configuration parameter.

                
                

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

                  The name of the environment configuration parameter.

                  
                

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

                  The value of the environment configuration parameter.

                  
                

                - **isEditable** *(boolean) --* 

                  Specifies whether the environment parameter is editable.

                  
            
          
        
          

          - **awsAccount** *(dict) --* 

            The Amazon Web Services account of the environment.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``awsAccountId``, ``awsAccountIdPath``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

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

              The account ID of a project.

              
            

            - **awsAccountIdPath** *(string) --* 

              The account ID path of a project.

              
        
          

          - **accountPools** *(list) --* 

            The account pools used by a custom project profile.

            
            

            - *(string) --* 
        
          

          - **awsRegion** *(dict) --* 

            The Amazon Web Services Region of the environment.

            .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``regionName``, ``regionNamePath``.     If a client receives an unknown member it will     set ``SDK_UNKNOWN_MEMBER`` as the top level key,     which maps to the name or tag of the unknown     member. The structure of ``SDK_UNKNOWN_MEMBER`` is     as follows::

                        'SDK_UNKNOWN_MEMBER': {'name': 'UnknownMemberName'}


          
            

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

              The Amazon Web Services Region name.

              
            

            - **regionNamePath** *(string) --* 

              The region name path.

              
        
          

          - **deploymentOrder** *(integer) --* 

            The deployment order of the environment.

            
      
    
      

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

        The user who created a project profile.

        
      

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

        The timestamp at which a project profile is created.

        
      

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

        The timestamp at which a project profile was last updated.

        
      

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

        The domain unit ID of the project profile to be updated.

        
  
  **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`

  