def assign_ipv6_addresses(NetworkInterfaceId=None, Ipv6Addresses=None,
    Ipv6AddressCount=None):
    """
    Assigns one or more IPv6 addresses to the specified network interface. You can specify one or more specific IPv6 addresses, or you can specify the number of IPv6 addresses to be automatically assigned from within the subnet's IPv6 CIDR block range. You can assign as many IPv6 addresses to a network interface as you can assign private IPv4 addresses, and the limit varies per instance type. For information, see IP Addresses Per Network Interface Per Instance Type in the Amazon Elastic Compute Cloud User Guide .
    See also: AWS API Documentation
    
    
    :example: response = client.assign_ipv6_addresses(
        NetworkInterfaceId='string',
        Ipv6Addresses=[
            'string',
        ],
        Ipv6AddressCount=123
    )
    
    
    :type NetworkInterfaceId: string
    :param NetworkInterfaceId: [REQUIRED]
            The ID of the network interface.
            

    :type Ipv6Addresses: list
    :param Ipv6Addresses: One or more specific IPv6 addresses to be assigned to the network interface. You can't use this option if you're specifying a number of IPv6 addresses.
            (string) --
            

    :type Ipv6AddressCount: integer
    :param Ipv6AddressCount: The number of IPv6 addresses to assign to the network interface. Amazon EC2 automatically selects the IPv6 addresses from the subnet range. You can't use this option if specifying specific IPv6 addresses.

    :rtype: dict
    :return: {
        'NetworkInterfaceId': 'string',
        'AssignedIpv6Addresses': [
            'string',
        ]
    }
    
    
    :returns: 
    (string) --
    
    """
    pass
