:doc:`KafkaConnect <../../kafkaconnect>` / Client / create_custom_plugin

********************
create_custom_plugin
********************



.. py:method:: KafkaConnect.Client.create_custom_plugin(**kwargs)

  

  Creates a custom plugin using the specified properties.

  

  See also: `AWS API Documentation <https://docs.aws.amazon.com/goto/WebAPI/kafkaconnect-2021-09-14/CreateCustomPlugin>`_  


  **Request Syntax**
  ::

    response = client.create_custom_plugin(
        contentType='JAR'|'ZIP',
        description='string',
        location={
            's3Location': {
                'bucketArn': 'string',
                'fileKey': 'string',
                'objectVersion': 'string'
            }
        },
        name='string',
        tags={
            'string': 'string'
        }
    )
    
  :type contentType: string
  :param contentType: **[REQUIRED]** 

    The type of the plugin file.

    

  
  :type description: string
  :param description: 

    A summary description of the custom plugin.

    

  
  :type location: dict
  :param location: **[REQUIRED]** 

    Information about the location of a custom plugin.

    

  
    - **s3Location** *(dict) --* **[REQUIRED]** 

      The S3 bucket Amazon Resource Name (ARN), file key, and object version of the plugin file stored in Amazon S3.

      

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

        The Amazon Resource Name (ARN) of an S3 bucket.

        

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

        The file key for an object in an S3 bucket.

        

      
      - **objectVersion** *(string) --* 

        The version of an object in an S3 bucket.

        

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

    The name of the custom plugin.

    

  
  :type tags: dict
  :param tags: 

    The tags you want to attach to the custom plugin.

    

  
    - *(string) --* 

    
      - *(string) --* 

      


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

    
    ::

      {
          'customPluginArn': 'string',
          'customPluginState': 'CREATING'|'CREATE_FAILED'|'ACTIVE'|'UPDATING'|'UPDATE_FAILED'|'DELETING',
          'name': 'string',
          'revision': 123
      }
      
    **Response Structure**

    

    - *(dict) --* 
      

      - **customPluginArn** *(string) --* 

        The Amazon Resource Name (ARN) that Amazon assigned to the custom plugin.

        
      

      - **customPluginState** *(string) --* 

        The state of the custom plugin.

        
      

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

        The name of the custom plugin.

        
      

      - **revision** *(integer) --* 

        The revision of the custom plugin.

        
  
  **Exceptions**
  
  *   :py:class:`KafkaConnect.Client.exceptions.ConflictException`

  
  *   :py:class:`KafkaConnect.Client.exceptions.NotFoundException`

  
  *   :py:class:`KafkaConnect.Client.exceptions.BadRequestException`

  
  *   :py:class:`KafkaConnect.Client.exceptions.ForbiddenException`

  
  *   :py:class:`KafkaConnect.Client.exceptions.ServiceUnavailableException`

  
  *   :py:class:`KafkaConnect.Client.exceptions.TooManyRequestsException`

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

  
  *   :py:class:`KafkaConnect.Client.exceptions.InternalServerErrorException`

  