def register_target_with_maintenance_window(WindowId=None, ResourceType=
    None, Targets=None, OwnerInformation=None, ClientToken=None):
    """
    Registers a target with a Maintenance Window.
    See also: AWS API Documentation
    
    
    :example: response = client.register_target_with_maintenance_window(
        WindowId='string',
        ResourceType='INSTANCE',
        Targets=[
            {
                'Key': 'string',
                'Values': [
                    'string',
                ]
            },
        ],
        OwnerInformation='string',
        ClientToken='string'
    )
    
    
    :type WindowId: string
    :param WindowId: [REQUIRED]
            The ID of the Maintenance Window the target should be registered with.
            

    :type ResourceType: string
    :param ResourceType: [REQUIRED]
            The type of target being registered with the Maintenance Window.
            

    :type Targets: list
    :param Targets: [REQUIRED]
            The targets (either instances or tags). Instances are specified using Key=instanceids,Values=instanceid1,instanceid2. Tags are specified using Key=tag name,Values=tag value.
            (dict) --An array of search criteria that targets instances using a Key,Value combination that you specify. Targets is required if you don't provide one or more instance IDs in the call.
            Key (string) --User-defined criteria for sending commands that target instances that meet the criteria. Key can be tag:Amazon EC2 tagor InstanceIds. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command .
            Values (list) --User-defined criteria that maps to Key. For example, if you specified tag:ServerRole, you could specify value:WebServer to execute a command on instances that include Amazon EC2 tags of ServerRole,WebServer. For more information about how to send commands that target instances using Key,Value parameters, see Executing a Command Using Systems Manager Run Command .
            (string) --
            
            

    :type OwnerInformation: string
    :param OwnerInformation: User-provided value that will be included in any CloudWatch events raised while running tasks for these targets in this Maintenance Window.

    :type ClientToken: string
    :param ClientToken: User-provided idempotency token.
            This field is autopopulated if not provided.
            

    :rtype: dict
    :return: {
        'WindowTargetId': 'string'
    }
    
    
    """
    pass
