:doc:`OpenSearchService <../../opensearch>` / Client / describe_packages

*****************
describe_packages
*****************



.. py:method:: OpenSearchService.Client.describe_packages(**kwargs)

  

  Describes all packages available to OpenSearch Service. For more information, see `Custom packages for Amazon OpenSearch Service <https://docs.aws.amazon.com/opensearch-service/latest/developerguide/custom-packages.html>`__.

  

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


  **Request Syntax**
  ::

    response = client.describe_packages(
        Filters=[
            {
                'Name': 'PackageID'|'PackageName'|'PackageStatus'|'PackageType'|'EngineVersion'|'PackageOwner',
                'Value': [
                    'string',
                ]
            },
        ],
        MaxResults=123,
        NextToken='string'
    )
    
  :type Filters: list
  :param Filters: 

    Only returns packages that match the ``DescribePackagesFilterList`` values.

    

  
    - *(dict) --* 

      A filter to apply to the ``DescribePackage`` response.

      

    
      - **Name** *(string) --* 

        Any field from ``PackageDetails``.

        

      
      - **Value** *(list) --* 

        A non-empty list of values for the specified filter field.

        

      
        - *(string) --* 

        
    
    

  :type MaxResults: integer
  :param MaxResults: 

    An optional parameter that specifies the maximum number of results to return. You can use ``nextToken`` to get the next page of results.

    

  
  :type NextToken: string
  :param NextToken: 

    If your initial ``DescribePackageFilters`` operation returns a ``nextToken``, you can include the returned ``nextToken`` in subsequent ``DescribePackageFilters`` operations, which returns results in the next page.

    

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

    
    ::

      {
          'PackageDetailsList': [
              {
                  'PackageID': 'string',
                  'PackageName': 'string',
                  'PackageType': 'TXT-DICTIONARY'|'ZIP-PLUGIN'|'PACKAGE-LICENSE'|'PACKAGE-CONFIG',
                  'PackageDescription': 'string',
                  'PackageStatus': 'COPYING'|'COPY_FAILED'|'VALIDATING'|'VALIDATION_FAILED'|'AVAILABLE'|'DELETING'|'DELETED'|'DELETE_FAILED',
                  'CreatedAt': datetime(2015, 1, 1),
                  'LastUpdatedAt': datetime(2015, 1, 1),
                  'AvailablePackageVersion': 'string',
                  'ErrorDetails': {
                      'ErrorType': 'string',
                      'ErrorMessage': 'string'
                  },
                  'EngineVersion': 'string',
                  'AvailablePluginProperties': {
                      'Name': 'string',
                      'Description': 'string',
                      'Version': 'string',
                      'ClassName': 'string',
                      'UncompressedSizeInBytes': 123
                  },
                  'AvailablePackageConfiguration': {
                      'LicenseRequirement': 'REQUIRED'|'OPTIONAL'|'NONE',
                      'LicenseFilepath': 'string',
                      'ConfigurationRequirement': 'REQUIRED'|'OPTIONAL'|'NONE',
                      'RequiresRestartForConfigurationUpdate': True|False
                  },
                  'AllowListedUserList': [
                      'string',
                  ],
                  'PackageOwner': 'string',
                  'PackageVendingOptions': {
                      'VendingEnabled': True|False
                  },
                  'PackageEncryptionOptions': {
                      'KmsKeyIdentifier': 'string',
                      'EncryptionEnabled': True|False
                  }
              },
          ],
          'NextToken': 'string'
      }
      
    **Response Structure**

    

    - *(dict) --* 

      Container for the response returned by the ``DescribePackages`` operation.

      
      

      - **PackageDetailsList** *(list) --* 

        Basic information about a package.

        
        

        - *(dict) --* 

          Basic information about a package.

          
          

          - **PackageID** *(string) --* 

            The unique identifier of the package.

            
          

          - **PackageName** *(string) --* 

            The user-specified name of the package.

            
          

          - **PackageType** *(string) --* 

            The type of package.

            
          

          - **PackageDescription** *(string) --* 

            User-specified description of the package.

            
          

          - **PackageStatus** *(string) --* 

            The current status of the package. The available options are ``AVAILABLE``, ``COPYING``, ``COPY_FAILED``, ``VALIDATNG``, ``VALIDATION_FAILED``, ``DELETING``, and ``DELETE_FAILED``.

            
          

          - **CreatedAt** *(datetime) --* 

            The timestamp when the package was created.

            
          

          - **LastUpdatedAt** *(datetime) --* 

            Date and time when the package was last updated.

            
          

          - **AvailablePackageVersion** *(string) --* 

            The package version.

            
          

          - **ErrorDetails** *(dict) --* 

            Additional information if the package is in an error state. Null otherwise.

            
            

            - **ErrorType** *(string) --* 

              The type of error that occurred.

              
            

            - **ErrorMessage** *(string) --* 

              A message describing the error.

              
        
          

          - **EngineVersion** *(string) --* 

            Version of OpenSearch or Elasticsearch, in the format Elasticsearch_X.Y or OpenSearch_X.Y. Defaults to the latest version of OpenSearch.

            
          

          - **AvailablePluginProperties** *(dict) --* 

            If the package is a ``ZIP-PLUGIN`` package, additional information about plugin properties.

            
            

            - **Name** *(string) --* 

              The name of the plugin.

              
            

            - **Description** *(string) --* 

              The description of the plugin.

              
            

            - **Version** *(string) --* 

              The version of the plugin.

              
            

            - **ClassName** *(string) --* 

              The name of the class to load.

              
            

            - **UncompressedSizeInBytes** *(integer) --* 

              The uncompressed size of the plugin.

              
        
          

          - **AvailablePackageConfiguration** *(dict) --* 

            This represents the available configuration parameters for the package.

            
            

            - **LicenseRequirement** *(string) --* 

              The license requirements for the package.

              
            

            - **LicenseFilepath** *(string) --* 

              The relative file path for the license associated with the package.

              
            

            - **ConfigurationRequirement** *(string) --* 

              The configuration requirements for the package.

              
            

            - **RequiresRestartForConfigurationUpdate** *(boolean) --* 

              This indicates whether a B/G deployment is required for updating the configuration that the plugin is prerequisite for.

              
        
          

          - **AllowListedUserList** *(list) --* 

            A list of users who are allowed to view and associate the package. This field is only visible to the owner of a package.

            
            

            - *(string) --* 
        
          

          - **PackageOwner** *(string) --* 

            The owner of the package who is allowed to create and update a package and add users to the package scope.

            
          

          - **PackageVendingOptions** *(dict) --* 

            Package Vending Options for a package.

            
            

            - **VendingEnabled** *(boolean) --* 

              Indicates whether the package vending feature is enabled, allowing the package to be used by other users.

              
        
          

          - **PackageEncryptionOptions** *(dict) --* 

            Encryption options for a package.

            
            

            - **KmsKeyIdentifier** *(string) --* 

              KMS key ID for encrypting the package.

              
            

            - **EncryptionEnabled** *(boolean) --* 

              Whether encryption is enabled for the package.

              
        
      
    
      

      - **NextToken** *(string) --* 

        When ``nextToken`` is returned, there are more results available. The value of ``nextToken`` is a unique pagination token for each page. Send the request again using the returned token to retrieve the next page.

        
  
  **Exceptions**
  
  *   :py:class:`OpenSearchService.Client.exceptions.BaseException`

  
  *   :py:class:`OpenSearchService.Client.exceptions.InternalException`

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

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

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

  