:doc:`MigrationHubStrategyRecommendations <../../migrationhubstrategy>` / Client / get_portfolio_preferences

*************************
get_portfolio_preferences
*************************



.. py:method:: MigrationHubStrategyRecommendations.Client.get_portfolio_preferences()

  

  Retrieves your migration and modernization preferences.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/migrationhubstrategy-2020-02-19/GetPortfolioPreferences>`_  


  **Request Syntax**
  ::

    response = client.get_portfolio_preferences()
    
    
  
  :rtype: dict
  :returns: 
    
    **Response Syntax**

    
    ::

      {
          'applicationMode': 'ALL'|'KNOWN'|'UNKNOWN',
          'applicationPreferences': {
              'managementPreference': {
                  'awsManagedResources': {
                      'targetDestination': [
                          'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate',
                      ]
                  },
                  'noPreference': {
                      'targetDestination': [
                          'None specified'|'AWS Elastic BeanStalk'|'AWS Fargate'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)',
                      ]
                  },
                  'selfManageResources': {
                      'targetDestination': [
                          'None specified'|'Amazon Elastic Cloud Compute (EC2)'|'Amazon Elastic Container Service (ECS)'|'Amazon Elastic Kubernetes Service (EKS)',
                      ]
                  }
              }
          },
          'databasePreferences': {
              'databaseManagementPreference': 'AWS-managed'|'Self-manage'|'No preference',
              'databaseMigrationPreference': {
                  'heterogeneous': {
                      'targetDatabaseEngine': [
                          'None specified'|'Amazon Aurora'|'AWS PostgreSQL'|'MySQL'|'Microsoft SQL Server'|'Oracle Database'|'MariaDB'|'SAP'|'Db2 LUW'|'MongoDB',
                      ]
                  },
                  'homogeneous': {
                      'targetDatabaseEngine': [
                          'None specified',
                      ]
                  },
                  'noPreference': {
                      'targetDatabaseEngine': [
                          'None specified'|'Amazon Aurora'|'AWS PostgreSQL'|'MySQL'|'Microsoft SQL Server'|'Oracle Database'|'MariaDB'|'SAP'|'Db2 LUW'|'MongoDB',
                      ]
                  }
              }
          },
          'prioritizeBusinessGoals': {
              'businessGoals': {
                  'licenseCostReduction': 123,
                  'modernizeInfrastructureWithCloudNativeTechnologies': 123,
                  'reduceOperationalOverheadWithManagedServices': 123,
                  'speedOfMigration': 123
              }
          }
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **applicationMode** *(string) --* 

        The classification for application component types.

        
      

      - **applicationPreferences** *(dict) --* 

        The transformation preferences for non-database applications.

        
        

        - **managementPreference** *(dict) --* 

          Application preferences that you specify to prefer managed environment.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``awsManagedResources``, ``noPreference``, ``selfManageResources``.     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'}


        
          

          - **awsManagedResources** *(dict) --* 

            Indicates interest in solutions that are managed by AWS.

            
            

            - **targetDestination** *(list) --* 

              The choice of application destination that you specify.

              
              

              - *(string) --* 
          
        
          

          - **noPreference** *(dict) --* 

            No specific preference.

            
            

            - **targetDestination** *(list) --* 

              The choice of application destination that you specify.

              
              

              - *(string) --* 
          
        
          

          - **selfManageResources** *(dict) --* 

            Indicates interest in managing your own resources on AWS.

            
            

            - **targetDestination** *(list) --* 

              Self-managed resources target destination.

              
              

              - *(string) --* 
          
        
      
    
      

      - **databasePreferences** *(dict) --* 

        The transformation preferences for database applications.

        
        

        - **databaseManagementPreference** *(string) --* 

          Specifies whether you're interested in self-managed databases or databases managed by AWS.

          
        

        - **databaseMigrationPreference** *(dict) --* 

          Specifies your preferred migration path.

          .. note::    This is a Tagged Union structure. Only one of the     following top level keys will be set: ``heterogeneous``, ``homogeneous``, ``noPreference``.     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'}


        
          

          - **heterogeneous** *(dict) --* 

            Indicates whether you are interested in moving from one type of database to another. For example, from SQL Server to Amazon Aurora MySQL-Compatible Edition.

            
            

            - **targetDatabaseEngine** *(list) --* 

              The target database engine for heterogeneous database migration preference.

              
              

              - *(string) --* 
          
        
          

          - **homogeneous** *(dict) --* 

            Indicates whether you are interested in moving to the same type of database into AWS. For example, from SQL Server in your environment to SQL Server on AWS.

            
            

            - **targetDatabaseEngine** *(list) --* 

              The target database engine for homogeneous database migration preferences.

              
              

              - *(string) --* 
          
        
          

          - **noPreference** *(dict) --* 

            Indicated that you do not prefer heterogeneous or homogeneous.

            
            

            - **targetDatabaseEngine** *(list) --* 

              The target database engine for database migration preference that you specify.

              
              

              - *(string) --* 
          
        
      
    
      

      - **prioritizeBusinessGoals** *(dict) --* 

        The rank of business goals based on priority.

        
        

        - **businessGoals** *(dict) --* 

          Rank of business goals based on priority.

          
          

          - **licenseCostReduction** *(integer) --* 

            Business goal to reduce license costs.

            
          

          - **modernizeInfrastructureWithCloudNativeTechnologies** *(integer) --* 

            Business goal to modernize infrastructure by moving to cloud native technologies.

            
          

          - **reduceOperationalOverheadWithManagedServices** *(integer) --* 

            Business goal to reduce the operational overhead on the team by moving into managed services.

            
          

          - **speedOfMigration** *(integer) --* 

            Business goal to achieve migration at a fast pace.

            
      
    
  
  **Exceptions**
  
  *   :py:class:`MigrationHubStrategyRecommendations.Client.exceptions.ResourceNotFoundException`

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

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

  
  *   :py:class:`MigrationHubStrategyRecommendations.Client.exceptions.InternalServerException`

  