:doc:`QBusiness <../../qbusiness>` / Client / get_plugin

**********
get_plugin
**********



.. py:method:: QBusiness.Client.get_plugin(**kwargs)

  

  Gets information about an existing Amazon Q Business plugin.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/qbusiness-2023-11-27/GetPlugin>`_  


  **Request Syntax**
  ::

    response = client.get_plugin(
        applicationId='string',
        pluginId='string'
    )
    
  :type applicationId: string
  :param applicationId: **[REQUIRED]** 

    The identifier of the application which contains the plugin.

    

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

    The identifier of the plugin.

    

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

    
    ::

      {
          'applicationId': 'string',
          'pluginId': 'string',
          'displayName': 'string',
          'type': 'SERVICE_NOW'|'SALESFORCE'|'JIRA'|'ZENDESK'|'CUSTOM'|'QUICKSIGHT'|'SERVICENOW_NOW_PLATFORM'|'JIRA_CLOUD'|'SALESFORCE_CRM'|'ZENDESK_SUITE'|'ATLASSIAN_CONFLUENCE'|'GOOGLE_CALENDAR'|'MICROSOFT_TEAMS'|'MICROSOFT_EXCHANGE'|'PAGERDUTY_ADVANCE'|'SMARTSHEET'|'ASANA',
          'serverUrl': 'string',
          'authConfiguration': {
              'basicAuthConfiguration': {
                  'secretArn': 'string',
                  'roleArn': 'string'
              },
              'oAuth2ClientCredentialConfiguration': {
                  'secretArn': 'string',
                  'roleArn': 'string',
                  'authorizationUrl': 'string',
                  'tokenUrl': 'string'
              },
              'noAuthConfiguration': {},
              'idcAuthConfiguration': {
                  'idcApplicationArn': 'string',
                  'roleArn': 'string'
              }
          },
          'customPluginConfiguration': {
              'description': 'string',
              'apiSchemaType': 'OPEN_API_V3',
              'apiSchema': {
                  'payload': 'string',
                  's3': {
                      'bucket': 'string',
                      'key': 'string'
                  }
              }
          },
          'buildStatus': 'READY'|'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'UPDATE_IN_PROGRESS'|'UPDATE_FAILED'|'DELETE_IN_PROGRESS'|'DELETE_FAILED',
          'pluginArn': 'string',
          'state': 'ENABLED'|'DISABLED',
          'createdAt': datetime(2015, 1, 1),
          'updatedAt': datetime(2015, 1, 1)
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

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

        The identifier of the application which contains the plugin.

        
      

      - **pluginId** *(string) --* 

        The identifier of the plugin.

        
      

      - **displayName** *(string) --* 

        The name of the plugin.

        
      

      - **type** *(string) --* 

        The type of the plugin.

        
      

      - **serverUrl** *(string) --* 

        The source URL used for plugin configuration.

        
      

      - **authConfiguration** *(dict) --* 

        Authentication configuration information for an Amazon Q Business plugin.

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


      
        

        - **basicAuthConfiguration** *(dict) --* 

          Information about the basic authentication credentials used to configure a plugin.

          
          

          - **secretArn** *(string) --* 

            The ARN of the Secrets Manager secret that stores the basic authentication credentials used for plugin configuration..

            
          

          - **roleArn** *(string) --* 

            The ARN of an IAM role used by Amazon Q Business to access the basic authentication credentials stored in a Secrets Manager secret.

            
      
        

        - **oAuth2ClientCredentialConfiguration** *(dict) --* 

          Information about the OAuth 2.0 authentication credential/token used to configure a plugin.

          
          

          - **secretArn** *(string) --* 

            The ARN of the Secrets Manager secret that stores the OAuth 2.0 credentials/token used for plugin configuration.

            
          

          - **roleArn** *(string) --* 

            The ARN of an IAM role used by Amazon Q Business to access the OAuth 2.0 authentication credentials stored in a Secrets Manager secret.

            
          

          - **authorizationUrl** *(string) --* 

            The redirect URL required by the OAuth 2.0 protocol for Amazon Q Business to authenticate a plugin user through a third party authentication server.

            
          

          - **tokenUrl** *(string) --* 

            The URL required by the OAuth 2.0 protocol to exchange an end user authorization code for an access token.

            
      
        

        - **noAuthConfiguration** *(dict) --* 

          Information about invoking a custom plugin without any authentication.

          
      
        

        - **idcAuthConfiguration** *(dict) --* 

          Information about the IAM Identity Center Application used to configure authentication for a plugin.

          
          

          - **idcApplicationArn** *(string) --* 

            The Amazon Resource Name (ARN) of the IAM Identity Center Application used to configure authentication.

            
          

          - **roleArn** *(string) --* 

            The Amazon Resource Name (ARN) of the IAM role with permissions to perform actions on Amazon Web Services services on your behalf.

            
      
    
      

      - **customPluginConfiguration** *(dict) --* 

        Configuration information required to create a custom plugin.

        
        

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

          A description for your custom plugin configuration.

          
        

        - **apiSchemaType** *(string) --* 

          The type of OpenAPI schema to use.

          
        

        - **apiSchema** *(dict) --* 

          Contains either details about the S3 object containing the OpenAPI schema for the action group or the JSON or YAML-formatted payload defining the schema.

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


        
          

          - **payload** *(string) --* 

            The JSON or YAML-formatted payload defining the OpenAPI schema for a custom plugin.

            
          

          - **s3** *(dict) --* 

            Contains details about the S3 object containing the OpenAPI schema for a custom plugin. The schema could be in either JSON or YAML format.

            
            

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

              The name of the S3 bucket that contains the file.

              
            

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

              The name of the file.

              
        
      
    
      

      - **buildStatus** *(string) --* 

        The current status of a plugin. A plugin is modified asynchronously.

        
      

      - **pluginArn** *(string) --* 

        The Amazon Resource Name (ARN) of the role with permission to access resources needed to create the plugin.

        
      

      - **state** *(string) --* 

        The current state of the plugin.

        
      

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

        The timestamp for when the plugin was created.

        
      

      - **updatedAt** *(datetime) --* 

        The timestamp for when the plugin was last updated.

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

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

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

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

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

  