def METHOD_NAME(bastion_node, number_of_nodes, method):
    node_name = AG_HOST_NAME + "-rke2-airgap"
    # Create Airgap Node in AWS
    ag_nodes = AmazonWebServices().create_multiple_nodes(
        number_of_nodes, node_name, public_ip=False)
    for num, ag_node in enumerate(ag_nodes):
        # Copy relevant rke2 files to airgapped node
        ag_node_copy_files = \
            'scp -i "{0}.pem" -o StrictHostKeyChecking=no ./rke2 ' \
            '{1}@{2}:~/rke2'.format(bastion_node.ssh_key_name, AWS_USER,
                                    ag_node.private_ip_address)
        bastion_node.execute_command(ag_node_copy_files)
        ag_node_make_executable = \
            'sudo mv ./rke2 /usr/local/bin/rke2 && ' \
            'sudo chmod +x /usr/local/bin/rke2'
        run_command_on_airgap_node(bastion_node, ag_node,
                                   ag_node_make_executable)
        if method == 'private_registry':
            copy_certs_to_node(bastion_node, ag_node)
            prepare_registries_mirror_on_node(bastion_node, ag_node, 'rke2')
        elif method == 'system_default_registry':
            copy_certs_to_node(bastion_node, ag_node)
            trust_certs_on_node(bastion_node, ag_node)
        elif method == 'tarball+mirror':
            copy_certs_to_node(bastion_node, ag_node)
            prepare_registries_mirror_on_node(bastion_node, ag_node, 'rke2')
        else:
            copy_certs_to_node(bastion_node, ag_node)
            trust_certs_on_node(bastion_node, ag_node)
        if 'tarball' in method:
            add_tarball_to_node(bastion_node, ag_node,
                                'rke2-airgap-images.{}'.format(TARBALL_TYPE),
                                'rke2')
            if 'calico' in RKE2_SERVER_OPTIONS:
                add_tarball_to_node(
                    bastion_node, ag_node,
                    'rke2-airgap-images-calico.{}'.format(TARBALL_TYPE),
                    'rke2')
            if 'cilium' in RKE2_SERVER_OPTIONS:
                add_tarball_to_node(
                    bastion_node, ag_node,
                    'rke2-airgap-images-cilium.{}'.format(TARBALL_TYPE),
                    'rke2')
            if 'multus' in RKE2_SERVER_OPTIONS:
                add_tarball_to_node(
                    bastion_node, ag_node,
                    'rke2-airgap-images-multus.{}'.format(TARBALL_TYPE),
                    'rke2')
        print("Airgapped RKE2 Instance Details:\nNAME: {}-{}\nPRIVATE IP: {}\n"
              "".format(node_name, num, ag_node.private_ip_address))
    assert len(ag_nodes) == NUMBER_OF_INSTANCES
    print(
        '{} airgapped rke2 instance(s) created.\n'
        'Connect to these and run commands by connecting to bastion node, '
        'then connecting to these:\n'
        'ssh -i {}.pem {}@NODE_PRIVATE_IP'.format(
            NUMBER_OF_INSTANCES, bastion_node.ssh_key_name, AWS_USER))
    for ag_node in ag_nodes:
        assert ag_node.private_ip_address is not None
        assert ag_node.public_ip_address is None
    return ag_nodes